vagrantにLAMP(PHP5.5,Mysql5.5)+mroonga構築

vagrantcentos6.5環境で Apache + PHP5.5+ Mysql5.5 + mroong環境を構築したので備忘録的にメモ

vagrantのboxファイルを取得

http://www.vagrantbox.es/ からCentOS 6.5 x86_64を取得

$ vagrant box add "centos65" "https://github.com/2creatives/vagrant-centos/releases/download/v6.5.3/centos65-x86_64-20140116.box"

Vagrantfileの作成

$ vagrant init centos65
適当なディレクトリを作成しそのディレクトリで上記コマンドを実行し Vagrantfileを作成

Vagrantfileの修正

そのままだと書き込み権限でエラーが出るので修正 Vagrantfileの42行目付近に以下を追記

config.vm.synced_folder "./", "/var/www", id: "vagrant-root", :nfs => false,
    :owner => "vagrant",
    :group => "www-data",
    :mount_options => ["dmode=777,fmode=777"]

ここからはvagrant内で実行

yumアップデート

パッケージのアップデート

$ sudo yum -y update

サーバーの時刻を日本時間に変更する

  1. /etc/localtimeを置き換える
$ sudo cp /usr/share/zoneinfo/Japan /etc/localtime
  1. /etc/sysconfig/clockにZONEを追記
    ZONE="Asia/Tokyo"

3.ntpサーバーをで時刻を自動設定
NTPのインストール

$ sudo yum -y install ntp

サーバから時刻を取得

$ sudo ntpdate ntp.nict.jp

自動的に時刻同期させる
/etc/ntp.confの編集
22行目付近

server 0.centos.pool.ntp.org
server 1.centos.pool.ntp.org
server 2.centos.pool.ntp.org

上記箇所を、以下に編集

server -4 ntp.nict.jp
server -4 ntp1.jst.mfeed.ad.jp
server -4 ntp2.jst.mfeed.ad.jp
server -4 ntp3.jst.mfeed.ad.jp

NTPサーバ起動と自動起動

$ sudo service ntpd start
$ sudo chkconfig ntpd on

Apacheのインストールと設定

Apacheをインストール

$ sudo yum -y install httpd

/etc/httpd/conf/httpd.confの編集
Apacheの設定ファイルを修正し.htaccessの許可とサーバー名を指定し CSSの更新が反映されないことを防ぐ為にsendfileを無効化 また、サーバー名を指定しないと起動した時に警告が表示される

276行目付近
#ServerName www.example.com:80
↑記載がある箇所に下記を追記しサーバー名を指定
ServerName 127.0.0.1

338行目付近
AllowOverride None
↑上記を下記に変更し「.htaccess」を許可
AllowOverride All


476行目付近
EnableSendfile Off

Apache起動と自動起動

$ sudo service httpd start
$ sudo chkconfig httpd on

PHP5.5のインストール と設定

1.yumでインストールするためepelとremiレポジトリを追加

$ sudo rpm -ivh http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/5/x86_64/epel-release-5-4.noarch.rpm
$ sudo rpm -ivh rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm

2.PHP5.5インストール

$ sudo yum -y install --enablerepo=remi --enablerepo=remi-php55 php php-devel php-mbstring php-mcrypt php-mysql php-phpunit-PHPUnit php-pecl-xdebug php-cli

3./etc/php.iniの編集
var_dumpの結果を省略せずに表示させる
以下を追記

xdebug.var_display_max_children = -1
xdebug.var_display_max_data = -1
xdebug.var_display_max_depth = -1

timezoneをセット
872行目付近に以下を追記

date.timezone = Asia/Tokyo

PHPエラーを表示
469行目付近に以下を追記

display_errors = On

PHPの設定を有効にするためApacheを再起動

$ sudo service httpd restart

Mysqlとmroongaのインストール

基本的には公式サイトの通りにインストール http://mroonga.org/ja/docs/install.html#centos-6

$ sudo yum -y install centos-release-SCL
$ sudo rpm -ivh http://packages.groonga.org/centos/groonga-release-1.1.0-1.noarch.rpm
$ sudo yum -y makecache
$ sudo yum -y install mysql55-mysql-server
$ sudo /etc/init.d/mysql55-mysqld start
$ sudo yum install mysql55-mroonga

mysqlコマンドをインストール

$ sudo yum -y install mysql55 mysql

/etc/my.cnfを編集
7行目付近に以下を追記しMySQLサーバーの文字コードUTF-8にする

character-set-server = utf8

MySQL初期設定

$ /opt/rh/mysql55/root/usr/bin/mysql_secure_installation

基本的には空ENTERで問題無いが、MySQLWORKBENCH等リモートアクセスしたい場合は以下の項目は「n」とする

Disallow root login remotely?

MySQL自動起動

$ sudo chkconfig mysql55-mysqld on

以上でインストールと環境設定は完了