php環境構築(Vagrant + VirtualBox + php5.6 + Apache2+ MySQL5.6)

#PHP環境構築
##事前準備
###vagrantとvirtualboxをインストール
Vagrantの公式サイトからインストーラをダウンロードする
https://www.vagrantup.com/downloads.html

VirtualBoxの公式サイトからインストーラをダウンロードする
https://www.virtualbox.org/wiki/Downloads

###VirtualBoxへBoxの追加

まずは、使用したいOSを選択する。
http://www.vagrantbox.es/
使用するBOXが決まったら、以下のようにする

vagrant box add VM名 boxファイルURL
↓
vagrant box add centos6.5 https://github.com/2creatives/vagrant-centos/releases/download/v6.5.3/centos65-x86_64-20140116.box

vagrant box list でかつて登録していたBOXを表示する

listに追加されていることを確認したら、Vagrantfileの作成を行います。

###Vagrantfile作成および編集
vagrant init Box名
↓
vagrant init centos6.5

これでVagrantfileが作成されるので、編集を行います。
※vagrantとlocalの同期をする方法：http://qiita.com/i_am_207/items/79af7485937f2f42d70f

まずは、難しいことなしに、sshで入れるようにするだけにします。
vim Vagrantfile
※ vimが入っていなければ、viでもエディタ編集でも可です。
　 vimをWindowsにインストールしたい場合はこちら

vimで開いたら、
:set nu
で行番号を表示します。

29行目にある
\#config.vm.network "private_network", ip: "192.168.33.10"
\#のコメントアウトをはずします。
xキーで削除できます。

できたら、Shiftを押しながらZキーを2回押す。

これができたら、
vagrant up
とコマンドを叩き、仮想環境を起動させます。

ここまでできたら、
windowsは、teratermなどでsshする
MACは、ターミナルからvagrant sshする
※ユーザは、vagrant
　パスフレーズも、vagrant
仮想環境内に入ったら、
sudo suを実行して、rootユーザに変更する

###CentOSの日本語化
以下のコマンドを叩く
yum -y groupinstall "Japanese Support"
スクリーンとキーボードの日本語化
vi /etc/sysconfig/i18n
ja_JP.UTF-8

日本語キーボードを利用している場合は、続いて以下を実施します
vi /etc/sysconfig/keyboard
KEYTABLE="jp106"
MODEL="jp106"
LAYOUT="jp"
KEYBOARDTYPE="pc"

マシンをリブートする
reboot

先に、yumをアプデを行う。
yum -y update

## LAMP環境の構築

めんどくさいので、suでrootユーザに変更する。
パスワードは、vagrant
sudo suでも可

###MySQL5.6のインストール
すでにMySQLがあるか確認
[root@localhost vagrant]# yum list installed | grep mysql
mysql-libs.x86_64                 5.1.73-8.el6_8                    

5.1があるので削除する
yum -y erase mysql-libs

epelリポジトリの登録
rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

remiリポジトリの登録
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

mysql-communityの登録
yum install -y http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm

MySQLのインストール
yum install -y mysql mysql-server mysql-devel 

phpmyadminもいれておく
yum install -y --enablerepo=remi,remi-php56 phpMyAdmin

バージョンを確認する
[root@localhost vagrant]# mysql --version
mysql  Ver 14.14 Distrib 5.6.35, for Linux (x86_64) using  EditLine wrapper

起動できるか確認してみる
[root@localhost vagrant]# service mysqld start
Starting MySQL. SUCCESS!
サクセスがでればOK

できたら、rootパスワードを設定します
/usr/bin/mysqladmin -u root password 'new-password'
↓
EX)
/usr/bin/mysqladmin -u root password 'root'

###PHPのインストールする
依存関係のあるパッケージのインストール
yum install -y --enablerepo=epel libmcrypt libtidy

インストール！
[root@localhost vagrant]# yum install -y --enablerepo=remi,remi-php56 php php-devel php-pear php-mbstring php-pdo php-gd php-zip php-xml php-fpm php-mcrypt php-mysqlnd php-pecl-apcu php-pecl-zendopcache

バージョン確認
[root@localhost vagrant]# php -v
PHP 5.6.30 (cli) (built: Jan 19 2017 08:09:42)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

###xdebugのインストール
[vagrant@localhost ~]$ sudo yum -y install --enablerepo=remi-php56 php-devel php-pear

sudo pecl install xdebug
?(略)?
Build process completed successfully
Installing '/usr/lib64/php/modules/xdebug.so'
install ok: channel://pecl.php.net/xdebug-2.3.2
configuration option "php_ini" is not set to php.ini location
You should add "zend_extension=xdebug.so" to php.ini

xdebugは、インストール完了後に、エクステンションのパスが出力されるので
必ずメモしておく

※今回の場合は、/usr/lib64/php/modules/xdebug.soこれである

次は、インストールしたXdebugを有効化します。

sudo vi /etc/php.ini

以下を追記する。
[xdebug]
zend_extension="/usr/lib64/php/modules/xdebug.so"
xdebug.remote_autostart=1
xdebug.remote_enable=1
xdebug.remote_host=10.0.2.2
xdebug.remote_port=9000

php.iniでXdebugのエントリが表示されれば有効化完了です。
$ php -i | grep xdebug
xdebug
xdebug support => enabled
?(略)?

vagrantとeclipseの設定方法は、こちら：http://qiita.com/i_am_207/items/187997769eca63da1788

###Apache2のインストール

apacheをインストールする
yum -y install httpd httpd-devel
インストールができたら確認する
[root@localhost vagrant]# httpd -v
Server version: Apache/2.2.15 (Unix)
Server built:   Jan 12 2017 17:09:39
上記になれば、apache2ができたので終わり。

apacheを起動してみる
[root@localhost vagrant]# service httpd start
httpd starten: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
                                                           [  OK  ]


###自動起動設定

apacheの自動起動設定
chkconfig httpd on

以上が環境設定です。