VagrantでMacにPHP+MySQL環境を構築する

Vagrant

MAMPのPHPのバージョンを上げようとしたら、apacheが起動しない、という症状に見舞われた。
MAMPは結構こけたりするそうなので、そろそろ卒業しようかと、Vagrant+VitualBoxで仮想サーバを立ち上げて、Apache、PHP、MySQLを動作させるまでをメモしてみます。

▼この記事をほぼ書き終わってから、以下ページを見つけました。ものすごく少ない工数で同じことが実現できそうです。。
Vagrantを使ってローカルでWordPressを立ち上げる | Dress Cording

インストール先

Mac osx10.9.4

virtualboxのインストール

ここからダウンロードして、ファイル解凍、指示に従いながらインストールします。
Downloads – Oracle VM VirtualBox

vagrantのインストール

ここからダウンロードして、ファイル解凍、指示に従いながらインストールします。
Download Vagrant – Vagrant

Boxの取得・起動

Boxという、仮想マシン起動の際にベースとなるイメージファイルを以下コマンドで取得して、初期化まで行います。

#CentOS6.5をcentos65というbox名で取得
vagrant init centos65 https://github.com/2creatives/vagrant-centos/releases/download/v6.5.3/centos65-x86_64-20140116.box

完了するまで数分かかります。

#取得済のboxの確認
vagrant box list

指定したbox名が表示されればOKです

#ネットワーク設定

Vagrantfileという設定ファイルを編集して、作成した仮想マシンに適当なipアドレスを割り当てます。

vi Vagrantfile

#config.vm.network :private_network, ip: “192.168.33.10”

config.vm.network :private_network, ip: “192.168.33.10”

コメントアウトを外して、有効にします。

#VagrantとVirtualboxを起動
vagrant up

#起動した仮想サーバへSSHでログイン
vagrant ssh

サーバに入れました。

rootになる場合、初期パスワードは「vagrant」です。

#仮想サーバの終了をするとき
vagrant halt

CentOSの初期設定

#yumアップデート
sudo yum update -y

#名前解決に時間がかかってしまうかもしれない問題を回避のため
sudo vi /etc/resolv.conf
追記する
options single-request-reopen

#ローカルの開発環境のため、iptableを停止しておく
sudo service iptables stop

#マシン再起動時に、iptableは起動させない
sudo chkconfig iptables off

#停止していることを確認
sudo chkconfig –list iptables

iptables 0:off 1:off 2:off 3:off 4:off 5:off 6:off

webサーバをインストールする

#インストールされているパッケージを一覧で確認
yum list installed

#webサーバがインストールされているかを確認
yum list installed | grep httpd

なにも表示されなければ、未インストール状態。

#webサーバをインストールする
sudo yum install -y httpd

#webサーバを起動
sudo service httpd start

#マシン再起動時に、webサーバも起動させる
sudo chkconfig httpd on

#Vagrantfile の記述で有効にした、ipアドレスにブラウザでアクセスしてみる
apahceのページが表示されればOK

#公開ディレクトリにファイルアップできるように権限変更
sudo chown -R vagrant:vagrant /var/www/html

#sftpソフトでアクセスしてみる
ホスト: Vagrantfile で有効にしたIPアドレス
ユーザ:vagrant
パスワード:vagrant

これで、SFTPソフトでログインできるようになる。

PHPをインストールする

#wgetをインストールする
sudo yum -y install wget

#epelのリポジトリを追加
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

#remiのリポジトリを追加
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

#epelのパッケージをインストール
sudo rpm -Uvh epel-release-6-8.noarch.rpm

#remiのパッケージをインストール
sudo rpm -Uvh remi-release-6.rpm

#epelのリポジトリの設定を変更

sudo vi /etc/yum.repos.d/epel.repo

[epel]
enabled=1

enabled=0

リポジトリが常時ではなく、一時的に利用できる、という設定に変更しました。

#phpの各パッケージをインストール
sudo yum –enablerepo=remi install -y php php-devel php-mysql php-mbstring php-gd

#phpのバージョン確認
php -v

PHP 5.4.3がインストールされた

#phpの設定
sudo vi /etc/php.ini

-追記、コメントアウトを外して有効にしたもの

error_log = /var/log/php.log
mbstring.internal_encoding = UTF-8
mbstring.language = Japanese
mbstring.http_input = auto
mbstring.detect_order = auto
expose_php = Off
date.timezone = Asia/Tokyo

#サーバ再起動して、PHPの設定を有効にする
sudo service httpd restart

MySQLインストール

#MySQLのインストール
sudo yum install -y –enablerepo=remi mysql-server

#設定変更
sudo vi /etc/my.cnf

▼以下を追記する
[mysqld]

character-set-server=utf8
default-storage-engine=InnoDB
innodb_file_per_table

[mysql]
default-character-set=utf8

[mysqldump]
default-character-set=utf8

#MySQLを起動する
sudo service mysqld start

#セキュリティの初期設定
/usr/bin/mysql_secure_installation

rootパスワードを設定、その他は全てyes

#マシン起動時に、MySQLも起動させる
sudo chkconfig mysqld on

#ログイン
mysql -u root -p

設定したrootパスワードを入力して、ログインできることを確認します。

以上で、ローカル環境でPHP+MySQLを利用できるようになりました。

参考にしました

Vagrant日本語ドキュメント
ローカル開発環境の構築 (全13回) – プログラミングならドットインストール
macにvagrantでcentoOS環境構築 – Qiita
[CentOS] MySQLサーバーのインストールを行うの巻 ~mysql_secure_installationを使ってみよう~ » TrippyBoyの愉快な日々

実践 Vagrant
実践 Vagrant
posted with amazlet at 14.07.20
Mitchell Hashimoto
オライリージャパン
売り上げランキング: 165,446
スポンサーリンク

シェアする

フォローして更新を受け取る

スポンサーリンク

コメント

  1. […] サイトの掲載しているサンプルはすべて手元の環境で動作を試してから、その画面キャプチャやコードを貼付けるようにしています。 手元の環境はMac+Vagrant上で動かしています。 […]