CentOS 6.5 + PHP 5.6 + MySQL 5.6 + laravel4 環境を作る(part 2)

こんにちわ、ほげ系リーマンのほげPGです。今回はlaravelのインストールまで頑張ります。
1、Apache 2.2のインストール
# yum -y install httpd
パッケージ httpd-2.2.15-39.el6.centos.x86_64 はインストール済みか最新バージョンです
何もしません
ハ、yum update でインストールされていた模様。
とりあえず、起動して確認。
# service httpd start
Firefoxより、http://localhost を表示
windows PCからもアクセスしたいので、ファイアウォールを設定しておく。
WWWをチェック、適用押下。
Windows PCからブラウザでVM(192.168.253.128)を開く。
一応自動起動にしておく
# chkconfig httpd on
2、PHP 5.6のインストール
・デフォルトではphp5.3になってしまうので、リポジトリを追加する。
# rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
・phpのインストール
# yum –enablerepo=remi,remi-php56 install php php-common
インストール対象のphpが5.6になっていることを確認してyを選択
途中、警告がでるかもしれませんが、yを選択
laravelで使うmcryptをインストール
# yum -y install libmcrypt
# yum -y –enablerepo=remi,remi-php56 install php-mcrypt
使いそうなライブラリをインストール
# yum -y –enablerepo=remi,remi-php56 install php-pecl-apcu php-pdo php-gd php-mysqlnd php-mbstring php-pecl-mongo
・確認1 phpバージョン確認
# php -v
PHP 5.6 と出ていればOK
・確認2 apacheにphpとmcryptが認識されているか確認する
# service httpd restart
# echo “<?php phpinfo();” > /var/www/html/info.php
ブラウザよりhttp://localhost/info.phpを参照
mcryptがあるのを確認
3、MySQL 5.6のインストール
・MySQLのリポジトリを追加
# yum -y install http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
※OSが異なる場合はhttp://repo.mysql.com/より適当に選択する
・serverをインストール 依存関係を見てくれるのでserver, client, libs, commonが自動で入る
# yum -y install mysql-community-server
・自動起動設定+起動
# chkconfig mysqld on
# service mysqld restart
・確認
# mysql -u root
※バージョン確認はMySQLプロンプト上で select version(); もしくは status でも確認できます。
4、laravel4のインストール
・laravelインストールで使うcomposer のダウンロード
# curl -sS https://getcomposer.org/installer | php
・composer で動くように設定
# mv composer.phar /usr/local/bin/composer
・確認
# composer
※/usr/local/binにパスが通っていない場合は以下を実行
# export PATH=$PATH:/usr/local/bin
・プロジェクト作成&インスオール
# composer create-project laravel/laravel /var/www/hogeweb-site/ –prefer-dist
これで /var/www/hogeweb-site にプロジェクトが作成されます。
・apache の設定
laravelはdocumentrootを指定する必要があるので、VirtualHostとして設定する。これでもし既存システムがあったときでも共存可能。
# vi /etc/httpd/conf.d/hogeweb-site.conf
<VirtualHost *:80> DocumentRoot /var/www/hogeweb-site/public/ ServerName hogeweb-site <Directory "/var/www/hogeweb-site/"> AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
apacheの再起動
# service httpd restart
すると、以下のエラー;
httpd を起動中: Warning: DocumentRoot [/var/www/hogeweb-site/public/] does not exist
httpd: Could not reliably determine the server’s fully qualified domain name, using localhost.localdomain for ServerName
原因は、/var/www/hogeweb-site/public/ が見えていないのと、ServerNameディレクティブが設定されていないため。
/var/www/hogeweb-site/public/ が見えていないのはSELinuxが原因と思われるのでSELinuxを無効化する。
# setenforce 0
httpd.confにServerNameを設定する。
# vi /etc/httpd/conf/httpd.conf
ServerName hogeweb-site.ois-yokohama.co.jp:80
apacheの再起動
# service httpd restart
確認
PC上のhostsに以下を追加
192.168.253.128 hogeweb-site
ブラウザから以下のURLを開く
http://hogeweb-site/
「Error in exception handler.」ページ;
laravel/storageに書き込み権限を与えるのをわすれていたので、与える。
# chmod -R 777 /var/www/hogeweb-site/app/storage/
一応再起動して、ブラウザから以下のURLを開く
http://hogeweb-site/
無事起動!
せっかくなのでほげって見る。
# vi /var/www/hogeweb-site/app/routes.php
ファイルの最後に以下を追加
Route::get('hoge', function() { return 'Are you hoge?'; });
ブラウザより以下を開く。
http://hogeweb-site/hoge/
ほげ!
次回はlaravelで画像投稿アプリを作ってみる予定