【Mac+Vagrant】CentOS6にPHP7 + phpMyAdmin

Vagrant Logo

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で行っても問題なし。

phpMyAdminのスクリーンショットphpMyAdmin

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