vagrantでLAMP環境構築

#作業ディレクトリの作成

```shell
mkdir dev-centos     //作業ディレクトリの作成
cd dev-centos　　　　//作業ディレクトリに移動
```
#boxの追加
Vagrantbox.esに習いこの手順で行います。

```
 $ vagrant box add {title} {url}
 $ vagrant init {title}
 $ vagrant up
```
今回はCentOS6.7を使います。

```
vagrant box add centos67 https://dl.dropboxusercontent.com/u/51478659/vagrant/morungos-centos67.box
```
1時間近くかかります。
他のOSやバージョンを使いたい場合はここから
[http://www.vagrantbox.es/](http://www.vagrantbox.es/)

ダウンロードが完了したら
`vagrant box list`
で`box`を確認しましょう。
`centos67         (virtualbox, 0)`とでればOKです。

`vagrant init centos67`
でカレントディレクトリにvagrantfileが生成されます。

##Vagrantfileをいじる
vimを使います。
コマンドはこちらを参考に
[よく使う Vim のコマンドまとめ](http://qiita.com/hide/items/5bfe5b322872c61a6896)

`vim Vagrantfile`

`/`で以下を検索し修正

```
# config.vm.network "private_network", ip: "192.168.33.10"
↓
config.vm.network "private_network", ip: "192.168.33.10"　　//コメントを外す
```
変更して
`:wq`もしくは`ZZ`で保存して終了

##vagrantの起動
`vagrant up`でvagrantを立ち上げ、

`vagrant ssh`で起動
`[vagrant@localhost ~]$`となれば成功です。

`cat /etc/redhat-release`
でCentOSを確認してみましょう。
ちゃんと`CentOS release 6.7 (Final)`と確認出来ると思います。

#CentOSのもろもろを設定する
##OSのアップデート
ここから権限の高い操作が続くので`root`権限で作業をします。
`sudo -s`

`[root@localhost vagrant]#`となればOK
`#`になってるのが`root`ユーザーです。

`yum update`

`[y/N]`と聞かれたら`y`で進みます。
まあまあ時間かかります。
ターミナルが色々インストールしてる画面を眺めながら気長に待ちましょう。

##CentOSの日本語化
`vi /etc/sysconfig/i18n`
viが立ち上がるので、
`LANG="ja_JP.UTF-8”`
に変更

```
LANG="ja_JP.UTF-8"
SYSFONT="latarcyrheb-sun16"
```
になればOK

##ファイヤーウォールを切っておく
仮想環境で使うのでファイヤーウォールは切っておきます。

```
service iptables stop     # ファイアウォールを停止

chkconfig iptables off    # ファイアウォールの自動起動を停止
```

##vagrantを再起動
ここで念の為に一度vagrantを再起動する。

`exit`でrootを抜け、更に`exit`でvagrantを抜けて以下を実行

```
vagrant reload
```

また`vagrant ssh`でログイン
`sudo -s`でrootユーザーに


##WEBサーバのインストール
Appacheのインストール

```
yum -y install httpd
```
webサーバーの起動

```
service httpd start
```

サーバーが常に自動起動になるように設定

```
chkconfig httpd on
```
vagrantのipアドレスにアクセスし、apacheの初期ページがでてればOK
http://192.168.33.10/

##PHPをインストール
まずremiリポジトリの追加します。
remiリポジトリの追加にはepelリポジトリが必要なので、合わせて導入していきます。

epelリポジトリの追加

```
yum install epel-release
```

remiリポジトリの追加

```
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
```

phpのインストール

```
yum install -y --enablerepo=remi,remi-php56 php php-devel php-pear php-mbstring php-xml php-mcrypt php-gd php-pecl-xdebug php-opcache php-pecl-apcu php-fpm php-phpunit-PHPUnit php-mysqlnd
```
`php -v`で確認して見ましょう

```
[root@localhost vagrant]# php -v
PHP 5.6.22 (cli) (built: May 26 2016 14:49:35)
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
    with Xdebug v2.4.0, Copyright (c) 2002-2016, by Derick Rethans
```

##php.iniの変更
まずはバックアップ

```
cp /etc/php.ini /etc/php.ini.org
```
php.iniを開く

```
vi  /etc/php.ini
```
以下を`/`で検索して変更

```
;error_log = php_erros.log
　　↓　
error_log = /var/log/php_errors.log
```
```
;mbstring.language = Japanese
　　↓
mbstring.language = Japanese
```
```
;mbstring.internal_encoding = EUC-JP
  ↓
mbstring.internal_encoding = UTF-8
```
```
;mbstring.http_input = auto
　↓
mbstring.http_input = auto
```
```
;mbstring.detect_order = auto
　↓
mbstring.detect_order = auto
```
```
expose_php = on
↓
expose_php = off
```
```
;date.timezone = 
　↓
date.timezone = Asia/Tokyo
```
設定を有効にする

```
service httpd restart
```

phpの動作確認


```
vi /var/www/html/info.php
```

```/var/www/html/info.php
<?php 
  phpinfo(); 
```
ブラウザで確認
http://192.168.33.10/info.php


## MySQLのインストール
```
# yum install mysql-server
```
なにか聞かれたら```y```で進む

## my.cnfの変更
まずはバックアップ

```
# cp /etc/my.cnf /etc/my.cnf.org
```


設定ファイルを開く

```
# vim /etc/my.cnf
```
```my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

character_set_server=utf8
default-storage-engine=InnoDB
innodb_file_per_table
[mysql]
default-character-set=utf8
[mysqldump]
default-character-set=utf8



[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
```
こちらは[ドットインストール](http://dotinstall.com/lessons/basic_sakura_vps/8016)を参照

mysqlを起動

```
# service mysqld start
```