こざさのぶろぐ

アプリケーション開発における備忘録や思ったこと

VagrantでPHP7.1 + MySQL5.7の仮想環境を構築する

vagrantとは簡単に仮想マシンを立てることができるソフトウェアです。
こちらの記事は下の記事の続きとなります。

sasdfe.hatenablog.com

動作環境

Mac OS 10.13.1
Vagrant 2.0.1
VirtualBox 5.2.2
仮想環境のOSはCentOS 7.1

前提

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にてApachePHPMySQLのバージョン確認を行います

[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サーバは正常に動作しています。

f:id:sasdfe:20171212005628p:plain

もしアクセスして表示されない場合、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フォルダを作成します。

$ 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で仮想サーバの立ち上げを行いましたが、
次は仮想環境の構築を行います。
こちらの記事で紹介していますので、よろしければどうぞ〜

sasdfe.hatenablog.com