PHPフレームワーク「Laravel4」の環境を Vagrant, CentOS 6.6
PHP, Laravel4 の環境構築
PHPフレームワークでは、CakePHPが熱いって思っていたら(2年位前の頭ですw)、最近はLaravel4(ララベル)が熱いんですよ、ハゲさん!って言われてしまったのでまず環境構築から初めてみます。
⇒と思って、Laravel4 インストする方法書いたら… 禿さん! Laravel5 じゃないのかよ?!と言われてしまった・・・orz
Laravel4 動作環境(2015/03/12現在)
最新の Laravel を使用する場合は、PHP のバージョンも気にしないといけないとこが玉に傷。というのも CentOS 6.6 で標準レポジトリからインストールされるのは、php v5.3.3 ですのでここだけ注意すること。
ソフトウェア | バージョン |
---|---|
Laravel4 | 4.2.17 |
PHP | 5.4 以上 |
apache, Nginx | |
database | 任意 |
環境構築
以下の構成で環境を構築してみます。
ソフトウェア | バージョン |
---|---|
Laravel4 | 4.2.17 |
PHP | 5.6.6 |
Apache | 2.2 |
MySQL | 5.6 |
こんな Varagnt でw
さくっと作って立ち上げときます。
config.vm.define :web do |web|
web.vm.network :private_network, ip: "192.168.11.200"
web.vm.provider "virtualbox" do |v|
v.customize ["modifyvm", :id, "--memory", 512]
end
end
PHP のインストール
epel から php 5.6系を取得しインストールします。Laravel4 は、mcrypt も必要とのことなのでその他に使いそうなライブラリと一緒にインスコします。
# 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
# yum --enablerepo=remi,remi-php56 install php php-common
# 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
インスコが終わったら、php -v
または、yum info php
にて 5.6系がインストールされていることを確認しておきます。
Apache のインストール
いつものごとくのコマンドで導入する。
# yum -y install httpd
# chkconfig httpd on
# service httpd start
phpinfo でphpの状態を確認する。下記コマンドを実行し http://localhost/phpinfo.php
で叩いてみて真っ白の画面でなければok。
# echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php
MySQL のインストール
とりあえずインストールしておきます(^^
ひととおりの物がインスコされます。
# yum -y install http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
# yum -y install mysql-community-server
とりあえず立ち上げときます。
# chkconfig mysqld on
# service mysqld start
laravel のインストール
最新版をインストールします。あとコマンドラインのパッケージも導入できるように同時にインストールしてみます。
Composerのインストール
なんだか Laravel4 は、Composer っていうパッケージ管理プログラムを使うらしく、まずこれをインストールするとこから初めます。
# curl -sS https://getcomposer.org/installer | php
# mv composer.phar /usr/local/bin/composer
パスを追加します。.bashrc
に追加しておくといいことありますね。
# export PATH=$PATH:/usr/local/bin
コマンドラインで使用できる laravel をインストール
結構、インストールに時間がかかります。気長に待つとしますかね・・・。
# composer global require "laravel/installer=~1.1"
パスを追加します。.bashrc
に追加しておくといいことありますね。
# export PATH=$PATH:$HOME/.composer/vendor/bin
laravel4 をインストール(プロジェクトの作成)
最新版+日本語化されたコメントのlaravel4 をインストールしてみます。
/var/www/html/
配下にインストールしないこと。ってまあわかりますよね。あとこちらも初回は symfony とかいろいろとパッケージダウンロードされるので結構時間かかります。
# composer create-project "laravel-ja/laravel=~4.2" /var/www/laravel4-site/ --prefer-dist
ビルトインサーバを使って起動してみる
とりあえず「細けー設定はどーでもいいから立ち上がるのか?」ってことで laravel をweb起動できるか確認です。
ちなみに vmつかってるときは、 --host
でIPをしっかり指定しないとアクセスできない(http://localhost になるんで)そこんとこは注意すること。あと -port
はデフォルトで、8080 使うのでこちらも適当に違う値にしておきます。
※ laravel.jp では アルチザンと読むそうです。
# cd /var/www/laravel4-site
# php artisan serve --host="192.168.11.200" --port="9090"
または
# php artisan serve --host="0.0.0.0" --port="9090"
↑↑の画面表示された?よね?(汗)
Apache で laravel4 のプロジェクトを動かす
Apache(もしくは Nginx)で laravel プロジェクトを動かす場合は、virtualhost で指定するそうです。ですので /etc/httpd/conf.d/
に以下のファイルをさくっと作り、httpd を再起動します。
Listen 9999
NameVirtualHost 192.168.11.200:9999
<VirtualHost 192.168.11.200:9999>
ServerName laravel4-site
DocumentRoot /var/www/laravel4-site/public/
<Directory "/var/www/laravel4-site/">
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
httpd を再起動して…。http://192.168.11.200:9999/
にアクセスすると、オレンジ色のいつも…あれ?「Error in exception handler.」になりますね。
laravel/storage に書き込み権限が無い場合に出力されるエラーらしいので、権限を付与してあげます。
# cd /var/www/laravel4-site
# chmod -R 777 app/storage/
# chown -R apache:apache app/storage
として http://192.168.11.200:9999/
にアクセスすると、オレンジ色のいつも画面がでますよね?
laravel の初期設定
動作に問題ないっぽいですが初期設定するのを忘れていたので後付けでやっておきます。あと設定ファイルは必ずバックアップするようにしましょう。
app.php の変更箇所は、5か所(key は自動生成されるけど・・・)あります。
# cd /var/www/laravel4-site/app/config
# cp app.php app.php.old
# vi app.php
'debug' => true,
'url' => 'http://192.168.11.200',
'timezone' => 'Asia/Tokyo',
'locale' => 'ja',
'key' => 'a0000GOlufqLFLe6OaLFcbFzsoAnxcRm',
データベースの設定は、次回にね!
ところでバージョンおいくつなの??
プロジェクトのあるディレクトリで以下のようにするとバージョンがわかります。
# cd /var/www/laravel4-site
# php artisan --version
Laravel Framework version 4.2.17
参考にさせて頂きましたサイト様
初めてのLaravel(PHP Framework)
最新鋭のPHPフレームワーク「Laravel4」でWeb開発 | (1)導入編
Discussion