Vagrant + Ansible로 LAMP 환경 구축
소개
지금 입니다만, 오랜만에 로컬에 LAMP 환경을 구축할 기회가 있었으므로 순서등을 메모합니다.
준비
다음을 설치합니다.
Ansible을 사용하고 싶으므로 Homebrew로 설치해 둡니다.
$ brew install ansible
Vagrant
작업 디렉토리를 준비하여 Vagrantfile을 만듭니다.
# 作業ディレクトリの作成
$ mkdir /path/to/work/dir
$ cd /path/to/work/dir
# Vagrantfile の作成
$ vagrant init
box는 Vagrant Cloud에서 제공하는 것을 사용합니다. 이번에는
centos/7
를 사용합니다. IP 주소는 기본적으로 192.168.33.10
입니다.Vagrant.configure("2") do |config|
config.vm.box = "centos/7"
config.vm.define "hoge" do |node|
config.vm.network "private_network", ip: "192.168.33.10"
config.vm.synced_folder "data", "/vagrant", create: true
end
end
이대로
vagrant up
하면 아마 공유 폴더 근처에서 이끼. 이유는 VirtualBox Guest Additions 버전이 맞지 않기 때문입니다. 그래서, 그것을 좋은 느낌으로 해주는 Vagrant 플러그인을 설치합니다.$ vagrant plugin install vagrant-vbguest
이제
vagrant up
그러면 우선 CentOS 환경이 완성됩니다. 덧붙여서 작성한 환경에 로그인할 때는 vagrant ssh
이어도 됩니다만 vagrant ssh-connfig
하면 ssh 로 접속하기 위한 정보가 출력됩니다. ~/.ssh/config
에 쓰면 ssh default
같은 느낌으로 로그인할 수 있습니다.Ansible
이번에는 손쉽게 LAMP 환경을 구축하고 싶기 때문에, AP 서버나 DB 서버등은 개별적으로 준비하지 않습니다.
Vagrantfile이 있는 곳에 provisioning 디렉토리를 만들고 그 안에 playbook.yml로 만듭니다. 정보로서는 낡습니다만, 예전에 참고했던 기사 에 근거해 playbook 를 작성해 갑니다.
- hosts: playground
become: yes
tasks:
- name: system update
yum:
name: '*'
state: latest
- name: install tools
yum:
name:
- wget
- vim
- git
- name: install repos
yum:
name:
- epel-release
- https://rpms.remirepo.net/enterprise/remi-release-7.rpm
state: present
- name: disable repos
replace:
path: /etc/yum.repos.d/{{item}}
regexp: 'enabled *= *1'
replace: 'enabled=0'
loop:
- epel.repo
- remi.repo
- remi-php70.repo
- name: install packages
yum:
name:
- httpd-devel
- php
- php-devel
- php-mbstring
- php-mysqlnd
- php-pdo
- mariadb-server
enablerepo: "epel,remi-php70"
- name: start httpd
service:
name: httpd
state: started
enabled: yes
- name: start mariadb
service:
name: mariadb
state: started
enabled: yes
이제
vagrant provision
그러면 httpd/php/mariadb가 설치된 환경이 구축됩니다.브라우저에서
http://192.168.33.10
로 이동하여 테스트 페이지가 표시되면 OK입니다.Reference
이 문제에 관하여(Vagrant + Ansible로 LAMP 환경 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/aluceps/items/9eab16573b3797fc7edc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)