概要
- GCEの無料枠ありインスタンス
f1-micro
でWordPressを動かしたい -
f1-micro
がDebian 9.5だったので、Dockerのdebian:9.5ベースのコンテナでWordPressが動くようなansible playbookを書いてみる
バージョン情報
- Ansible 2.7.0
- Debian 9.5
- MariaDB 10.1.26
- nginx 1.10.3
- PHP 7.0.30
- (ホスト)Mac 10.13.6, Docker for Mac 18.06.1
成果物
ansible-examplesではRHELベースでのplaybookしかなかった。Debian向けのPlaybookについては現在PRが出ているがマージされていない。 PRのコードを動かしたところいくつか動かなかった点があったので修正したのが上記のコード。
ハマった点
nginx, php-fpmが起動しない
以下のようなハンドラを定義したもののserviceモジュールがnginxを起動してくれず。
- name: restart nginx
service: name=nginx state=restarted enabled=yes
非推奨な方法だがcommandを利用して起動するようにした。
- name: restart nginx
command: service nginx restart
php-fpmについても同様。
- name: restart php-fpm
command: service php7.0-fpm start
参考文献
https://stackoverflow.com/questions/30162528/ansible-service-restart-failed
今後の課題
- HTTPS化の設定
- GCEではDockerコンテナをデプロイする形で動かすことができるので、Dockerで構築する方法と比べてより便利な方法を本番で採用したい。