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
Vagrantで仮想マシンを立ち上げるコマンド
vagrantは簡単に仮想マシンを立てることができるソフトウェアです。
今回はvagrantを使って仮想マシンを立ち上げるコマンドを備忘録としてまとめてみました。
動作環境
Mac OS 10.13.1
Vagrant 2.0.1
VirtualBox 5.2.2
前提
- VagrantとVirtualBoxはインストール済
インストール方法については下記を参照してください
ドットインストール:ローカル開発環境の構築 [macOS編]
仮想マシンをまとめるフォルダを作成
今回はホームディレクトリに仮想マシンを複数作成することを想定として、
Vagrantフォルダを作成します。
$ cd $ mkdir Vagrant
仮想マシンを作るフォルダを作成
次に仮想マシンを作成するフォルダを作成します。
先程作成したVagrantフォルダ内に入り作成します。
$ cd Vagrant $ mkdir MyCentOS
仮想マシン設定用のVagrantfileを作成
Vagrantfileは仮想マシンを立ち上げる際に必要となる設定などを記述するファイルです。
MyCentOSフォルダの中に入りVagrantfileを作成します。
今回はCentOS7.1を使用します。
$ cd MyCentOS
$ vagrant init bento/centos-7.1
bentoとはvagrantのOSイメージ(Box)です。
Vagrant box bento/centos-7.1 - Vagrant Cloud
vagrantファイルを編集
今回はファイルの中身を見ることなく、コマンドで編集を行います。
仮想マシンのIPアドレスは192.168.33.10とします。
$ sed -i '' -e 's/# config.vm.network "private_network", ip: "192.168.33.10"/config.vm.network "private_network", ip: "192.168.33.10"/' Vagrantfile
仮想マシンの起動
仮想マシンを立ち上げます。
$ vagrant up
以上で仮想マシンの立ち上げは完了となります。
仮想マシンの状態を確認
仮想マシンが正常に立ち上がったかどうか確認しましょう。
下記のようにrunningと出力されれば正常に起動できています。
$ vagrant status Current machine states: default running (virtualbox) The VM is running. To stop this VM, you can run `vagrant halt` to shut it down forcefully, or you can run `vagrant suspend` to simply suspend the virtual machine. In either case, to restart it again, simply run `vagrant up`.
仮想マシンにログイン
作成した仮想マシンにログインしましょう
$ vagrant ssh
[vagrant@localhost ~]$ と表示されていればログインできています。
作業の流れは以上で完了となります。
ログアウトしたければ下記で外に出られます。
$ exit
vagrantの便利なコマンド
# 仮想マシンを終了して起動(リロード) $ vagrant reload # 終了 $ vagrant halt # 破棄 $ vagrant destroy
さいごに
以上でVagrantで仮想サーバの立ち上げを行いましたが、
次は仮想環境の構築を行います。
こちらの記事で紹介していますので、よろしければどうぞ〜