VagrantでPHP7.1 + MySQL5.7の仮想環境を構築する
vagrantとは簡単に仮想マシンを立てることができるソフトウェアです。
こちらの記事は下の記事の続きとなります。
動作環境
Mac OS 10.13.1
Vagrant 2.0.1
VirtualBox 5.2.2
仮想環境のOSはCentOS 7.1
前提
- VagrantとVirtualBoxはインストール済
- Vagrantを使って仮想サーバの構築は完了している
1.プロビジョニングを設定
Vagrantにはプロビジョニングと呼ばれる機能があります。
この機能を用いることで、コマンドを多く入力することなく仮想環境の構築ができます。
プロビジョニングとは、サーバがサービスを提供できるようにするまでの一連の作業のことを言います。
もっと詳しく知りたい場合は下記リンクを参照してください。
Vagrant入門 – プロビジョニング (Provisioning) | WEB ARCH LABO
Vagrantfileを開いて設定を追加します。
$ vi Vagrantfile
Vagrantfileに下記を追記
config.vm.provision :shell, :path => "provision.sh"
こちらの設定を追加することで、provision.shがプロビジョニング実行されます。
また、provision.shをVagrantfileとおなじフォルダ内に作成し、中身を記述します
$ vi provision.sh
provision.shの中身
#Apache sudo yum -y install httpd sudo systemctl start httpd.service sudo systemctl enable httpd.service #firewalld sudo systemctl start firewalld.service sudo systemctl enable firewalld.service sudo firewall-cmd --zone=public --add-port=80/tcp --permanent sudo firewall-cmd --zone=public --add-port=443/tcp --permanent sudo firewall-cmd --reload #MariaDB sudo yum -y remove mariadb* sudo rm -rf /var/lib/mysql/ #wget sudo yum -y install wget #vim sudo yum -y install vim #MySQL sudo wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm sudo rpm -Uvh mysql57-community-release-el7-11.noarch.rpm sudo sed -i 's/enabled=1/enabled=0/g' /etc/yum.repos.d/mysql-community.repo sudo yum -y --enablerepo=mysql57-community install mysql-community-server sudo systemctl start mysqld.service sudo systemctl enable mysqld.service #PHP sudo yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm sudo yum -y --enablerepo=remi-php71 install php php-mysql php-mbstring php-intl php-xml sudo systemctl restart httpd.service # chmod sudo chmod -R 777 /var/www/html
2.プロビジョニングの実行
$ vagrant provision
たまに警告が発生しますが、たしかめてみて大丈夫そうなら飛ばしましょう。
3.インストールの確認
仮想環境にssh接続を行い、インストールが正常に行われたか確認します。
$ vagrant ssh
VagrantにてApache、PHP、MySQLのバージョン確認を行います
[vagrant@localhost ~]$ httpd -v Server version: Apache/2.4.6 (CentOS) Server built: Oct 19 2017 20:39:16 [vagrant@localhost ~]$ php -v PHP 7.1.12 (cli) (built: Dec 1 2017 13:53:12) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies [vagrant@localhost ~]$ mysqld --version mysqld Ver 5.7.20 for Linux on x86_64 (MySQL Community Server (GPL))
このように表示されていればOKです。
4.Webサーバの確認
PHPファイルをサーバに作成して、Webサーバが正常に動作しているか確認します
[vagrant@localhost ~]$ echo "<?php phpinfo(); ?>" >> /var/www/html/index.php
http://192.168.33.10/index.phpにブラウザでアクセスして下記のような画面が表示されていれば、
Webサーバは正常に動作しています。
もしアクセスして表示されない場合、vagrantのリロードを実施後再度確かめてみてください
$ vagrant reload
参考になった記事
下記ブログは大変参考になりました。
記載内容はほぼ類似していますが、今回PHP7.1の環境を構築したかったのでこちらの記事を作成しました。
fnya.cocolog-nifty.com