概要
VagrantのCentOS7.3に開発環境をAnsibleで構築します。
環境
- PHP7
- Ruby
- Python
- Nginx
- MySQL5.7
- Redis
- Mailcatcher
構築
ベストプラクティスをある程度模倣した形のディレクトリです。
github - my-ansible-vagrantにソースを上げているので中身はそちらをご参照ください。
Vagrantfileはこんな感じです。
vagrant provisionでプロビジョニングを実行できます。
追記
php-fpmの設定がおかしい??
nginxでphp7を使うにはphp-fpmとかいうCGIをかます必要があるらしいのですが、これがハマりやすかったです。500エラーが出た時などは、このあたりを設定を見直すと解決するかもです。
VAGRANTにてCENTOS7にNGINX+PHP-FPM+PHP7でLARAVELの開発環境構築(前編)
Vagrantfileに指定したipアドレスにアクセスできない
構築できたものの、Vagrantfileに指定したipにアクセスできずに結構ハマりました。 以下の記事を参考にipの設定を見直したり、firewalldの設定を調整したら何とか解決できました。 (vagrant1.9.0のバグを踏んでしまっていたのが原因だったみたいです。)
- [Vagrant]Vagrantfileで指定したipアドレスでアクセスができない場合の対応
- Vagrantでpingが通らない!ゆえにVagrantネットワークを学び直したよ
- vagrant + centos7 でprivate_networkで設定したIPに接続ができない
- Vagrant で CentOS7 + PHP + MySQL の仮想環境を構築する
所感
CentOS7はそれまでのOSバージョンと異なる部分が結構あるのですが、その対応にはそんなにハマりませんでした。 むしろ、MySQL5.7の対応にハマりました。 とりあえず動くきますが、まだまだ改善の余地があるかと思います。
参考
- github - MiyaseTakurou/vagrant_ansible_laravel ーベストプラクティスのディレクトリ構成が分かりやすかったです。
- vagrant + ansible + CentOS7.0 + VirtualBox 環境で仮想マシンを良い感じに初期化する
- CentOS7でansibleを使ってnginx+wordpressを構築
- Vagrant+ansibleでLAMP環境構築(4)
- AnsibleでVagrantのubuntu16.04環境にPHP7とNginxをインストールする
- Vagrant + Ansible でCentOSにRubyの環境構築してみる。
- ansible mysql5.7
- Mysql 5.7 on Ansible
- Redisをいじくり倒す環境をVagrant+Ansibleで構築する
- AnsibleでRedisの2.5以降のバージョンをインストールするPlaybook
- github - heybigname/ansible