MacのWEB開発環境をVagrantにしたついでにPHPのバージョン7を導入した。PHP7は実行速度がPHP5の2倍以上になる場合があるらしく、私の使っているレンサバも対応しているので導入メリットは大きい。このように気楽にサーバ環境を試せるのは、まさにVagrantのおかげだ。
自分の備忘録にもなるように一連の手順を記事にしておく。
CentOS6.7セットアップ
VirtualBoxとVagrantのインストール後、Vagrantの作業フォルダを作成して、そこで操作。 CentOSは6.7を利用。Vagrantfileの内容はご自由に。
[osx]$ vagrant box add https://atlas.hashicorp.com/rafacas/centos67-plain
[osx]$ vagrant init rafacas/centos67-plain
#Vagrantfile変更箇所
# config.vm.network "private_network", ip: "192.168.33.10"
config.vm.network "private_network", ip: "192.168.33.10"
# config.vm.synced_folder "../data", "/vagrant_data"
config.vm.synced_folder ".", "/var/www/html",
:owner => "vagrant",
:group => "vagrant",
:mount_options => ["dmode=777,fmode=755"]
[osx]$ vagrant up
[osx]$ vagrant ssh
CentOSにSSHでログインしたら、すぐyumのアップデート。 その後、WEBアクセスが可能になるようにファイアーウォール解除。
[centos]$ sudo yum -y update
[centos]$ sudo service iptables stop
[centos]$ sudo chkconfig iptables off
Apache 2.2.15
Apacheインストール。現時点で2.2.15が入りました。
[centos]$ sudo yum -y install httpd
[centos]$ sudo service httpd start
[centos]$ sudo vi /etc/httpd/conf/httpd.conf
#httpd.conf変更箇所
<Directory "/var/www/html">
AllowOverride All // .htaccessを有効に
EnableMMAP Off // 静的ファイルがキャッシュされる問題の対応
EnableSendfile Off // 静的ファイルがキャッシュされる問題の対応
</Directory>
[centos]$ sudo chkconfig httpd on
この時点でブラウザからApache Test Pageが見えない場合はSELinuxを無効にしてvagrant reload。この記事で利用しているBoxであるrafacas/centos67-plainは最初からdisabledになっていた。
[centos]$ sudo vi /etc/selinux/config
SELINUX=enforcing
SELINUX=disabled
MySQL 5.6.29
CentOS6はMySQL5.1がデフォルトなので、rpmを追加してMySQL5.6をインストール。
[centos]$ sudo yum -y install http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
[centos]$ sudo sudo yum -y install mysql mysql-server mysql-devel mysql-utilities
[centos]$ sudo service mysqld start
[centos]$ sudo /usr/bin/mysql_secure_installation
[centos]$ sudo chkconfig mysqld on
一応ログインテスト。
[centos]$ mysql -u root -p
PHP 7.0.2
CentOS6はphp5.3がデフォルトなので、rpmを追加してPHP7.0をインストール。PearのPagerは個人的に必要なだけなので、いらない人はphp70w-pearもいらない。
[centos]$ sudo rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
[centos]$ sudo yum install -y php70w php70w-devel php70w-intl php70w-mysql php70w-mbstring php70w-gd php70w-pear php70w-mcrypt
[centos]$ sudo pear install Pager
[centos]$ sudo pear install Cache_Lite
[centos]$ sudo cp /etc/php.ini /etc/php.ini.org
[centos]$ sudo vi /etc/php.ini
#php.ini変更箇所
include_path = ".:/usr/share/pear" // pearのpathは各自違うかも
mbstring.language = Japanese
date.timezone = Asia/Tokyo
expose_php = Off
display_errors = On
post_max_size = 32M
upload_max_filesize = 32M
max_execution_time = 300
[centos]$sudo service httpd restart
phpMyAdmin 4.5.4.1
最新のphpMyAdminをインストール。基本的にはダウンロードして展開後、config.inc.phpを触っているだけなので、Mac側からGUIで行っても問題なし。
[centos]$ wget https://files.phpmyadmin.net/phpMyAdmin/4.5.4.1/phpMyAdmin-4.5.4.1-all-languages.tar.gz
[centos]$ tar zxvf phpMyAdmin-4.5.4.1-all-languages.tar.gz
[centos]$ rm -f phpMyAdmin-4.5.4.1-all-languages.tar.gz
[centos]$ mv phpMyAdmin-4.5.4.1-all-languages /var/www/html/phpMyAdmin
[centos]$ cp /var/www/html/phpMyAdmin/config.sample.inc.php /var/www/html/phpMyAdmin/config.inc.php
[centos]$ vi /var/www/html/phpMyAdmin/config.inc.php
#config.inc.php変更箇所
#パスフレーズ設定
$cfg['blowfish_secret'] = 'passphrase';
#下記を追記
$cfg['Lang'] = 'ja-utf-8';
$cfg['DefaultLang'] = 'ja-utf-8';
$cfg['DefaultCharset'] = 'utf-8';
$cfg['CheckConfigurationPermissions'] = false; // vagrantの場合はVagrantfileのfmodeを666とかにしてると思うのでこれ入れとかないとパーミッション甘すぎるってエラーがでます
上記を順番に実行していけば、mysql_secure_installationで設定したパスワードでphpMyAdminにログインできる。この環境でWordPressも正常に動作しています。