AnsibleでVPSにLAMP環境を自動構築
前回ではAnsibleとvagrantでローカル環境構築の方法を記載しましたが、
今回はVPSでのLAMP環境の構築の自動化をやってみました。
今回の開発環境と手順は
ローカル環境(MAC)からServerMan@VPS上にLAMP環境の自動構築の方法になります。
もちろんVPS側にAnsibleをインストールして自動構築の方法もありますが
今回は前者の方法でのご説明をします。
事前準備
■vpsにssh接続が可能になっていること
■ローカル環境ににAnsibleのインストール済であること
ansibleを作業ディレクトリとします
/Users/example/ansible
inventryfileファイルの作成
今回はhostsというファイル名で作成
[web]
2x.1xx.9x.xxx:sshポート番号 ansible_ssh_private_key_file=~/.ssh/id_rsa
VPSに公開鍵認証を使用している場合は鍵を指定します。
playbookの作成
今回はplaybook.ymlというファイル名で作成
---
- hosts: web
user: VPSのユーザー名
sudo: yes
tasks:
- yum: name=vim state=latest
- name: install apache
yum: name=httpd state=present
- name: start apache and enabled
service: name=httpd state=started enabled=yes
- name: set epel repository
shell: rpm -Uvh --force http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
- name: set remi repository
command: sudo rpm -Uvh --force http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
- name: install php packages
yum: name={{item}} enablerepo=remi,epel state=present
with_items:
- php
- php-pear
- php-devel
- php-mbstring
- php-pdo
- php-mysql
- php-gd
- php-xdebug
notify:
- restart apache
- name: install mysql
yum: name={{ item }} enablerepo=remi,epel state=installed
with_items:
- mysql-server
- MySQL-python
notify:
- start mysql
handlers:
- name: restart apache
service: name=httpd state=restarted enabled=yes #enabled=yes 自動起動
- name: start mysql
service: name=mysqld state=started enabled=yes
- name: mysql set password
command: mysqladmin -u root password "{{ mysql_root_pw }}" #passwordの設定
流れとしては
vimのインストール
apacheのインストール
phpのインストール
mysqlのインストール
mysqlのユーザーのパスワード設定
となっています。
ではローカル環境からAnsibleでVPSに接続可能かどうかのチェックをしてみます。
ansibleディレクトリ上で
ansible -m ping web -i hosts -u ユーザー名
ユーザー名はVPSのユーザー名となります。
rootユーザーでのログインを禁止している場合はrootでログインできないので注意です。
2x.1xx.9x.xxx | success >> {
"changed": false,
"ping": "pong"
}
上記のようなレスポンスが返ってきたら接続は成功です。
それではいよいよ自動構築します。
ansible-playbook -i hosts -vv playbook.yml -u ユーザー名 --ask-sudo-pass
ssh接続のパスワードを入力する必要がありますので入力したらあとはAnsibleさんがすべてやってくれます。
......略
2x.1xx.9x.xxx : ok=8 changed=2 unreachable=0 failed=0
こんな感じにunreachable=0ならとりあえず成功してます。
Author And Source
この問題について(AnsibleでVPSにLAMP環境を自動構築), 我々は、より多くの情報をここで見つけました https://qiita.com/3104k/items/f6969578fcfcc9b8ca00著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .