Laravel4のインストール
関連記事:
[CentOS 6.6]PHP5.5のインストール
Laravelに関する本が出たので購入。電子出版による本はすでにあったが、紙媒体では初のLaravel本だと思う。
本に従ってvirtualbox上のCentoOS 6.6 でLaravelプロジェクトを作成してみた。
最初に本の内容に入る前に、Laravelで必須なPHPのmbstringがインストールされていなかったので、以下のようにyumでインストールした。
yum --enablerepo=remi --enablerepo=remi-php55 install php-mbstring
ここから本の内容に従った作業。
現在、Laravelの最新バージョンは5だが、今回はバージョン4の環境を作る。今後、触るかもしれないWEBアプリがバージョン4で作られているので。
Lravelの取得
LaravelのインストールはPHPやPostgreSQLの「インストール」とは違うような気がする。プロジェクトをごとにLaravelの環境を作ると考えた方が合っている?
composerコマンドを下記を実行すると、指定したディレクトリに必要なファイルが用意される。ディレクトリ名はプロジェクトのディレクトリを指定する。絶対でも相対でもよい。
composer create-project laravel/laravel <ディレクトリ名> 4.2.*
今回はディレクトリをドキュメントルートのサブディレクトリ /var/www/html/ltest とした。
# composer create-project laravel/laravel /var/www/html/ltest 4.2.*
Warning: This development build of composer is over 30 days old. It is recommended to update it by running "/usr/local/bin/composer self-update" to get the latest version.
Installing laravel/laravel (v4.2.11)
- Installing laravel/laravel (v4.2.11)
Downloading: 100%
Created project in /var/www/html/ltest
Loading composer repositories with package information
Installing dependencies (including require-dev)
- Installing symfony/translation (v2.5.11)
Downloading: 100%
<中略>
laravel/framework suggests installing doctrine/dbal (Allow renaming columns and dropping SQLite columns.)
Writing lock file
Generating autoload files
Generating optimized class loader
Compiling common classes
Compiling views
Application key [**********************] set successfully.
#
「composerをアップデートしろ」的なワーニングが出たが、コマンドはたぶん正常に完了。
インストールの最後に表示される "Application key" は app/config/app.php が返す配列のキーが "key" という要素の値に保存されている。
プロジェクトのディレクトリは以下のような構成となる。
app ├─commands ├─config ├─controllers ├─database │ ├─migrations │ └─seeds ├─lang ├─models ├─start ├─storage ├─tests └─views bootstrap public vendor
上記のディレクトリの中で app/storage 以下はLaravelがファイルを保存できるように、以下のコマンドでパーミッションを777に変更しておく。
chmod -R 777 storage
プロジェクトのディレクトリをLinuxのユーザのホームディレクトリの配下、例えば /home/hoge/ltest とかにすると、SELinuxのせいで色々と面倒らしい。
バーチャルホストの設定
作成したプロジェクトのディレクトリ配下のpublicディレクトリがドキュメントルートとなるので、ここをドキュメントルートとするバーチャルホストの設定をする。
まず、httpd.conf の以下の2箇所を変更。
変更前: #ServerName www.example.com:80 変更後: ServerName www.into1st.jp:80
変更前: #NameVirtualHost *:80 変更後: NameVirtualHost *:80
ServerNameについてはコメントになってればいいと書いてあるWEB上の記事もあったが、こうしないと以下のようなワーニングが出力された。
# service httpd restart httpd を停止中: [ OK ] httpd を起動中: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerNameCentOS 6.6のApacheでは設定ファイルは /etc/httpd/conf/httpd.conf である。この設定ファイルの中で /etc/httpd/conf.d/*.conf を読み込むようになっている。よって、バーチャルホストの設定として以下の3ファイルを /etc/httpd/conf.d に作成する。ファイル名は適当に決めた。
virtualhost-undefinedhost.conf は未定義のホスト名でアクセスされた場合にアクセスを拒否するための設定。
<VirtualHost *:80>
ServerName any
<Location />
Require all denied
</Location>
</VirtualHost>
virtualhost-main.conf はメインのホスト名の設定。/var/www/html をドキュメントルートとする。
<VirtualHost *:80>
ServerName www.into1st.jp
DocumentRoot /var/www/html
</VirtualHost>
virtualhost-virtual01.conf はLaravel4のプロジェクト用バーチャルホストの設定。
<VirtualHost *:80>
ServerName www.ltest.jp
DocumentRoot /var/www/html/ltest/public
ErrorLog logs/virtual-error_log
CustomLog logs/virtual-access_log combined env=!no_log
</VirtualHost>
これで、httpd を再起動すればOK、のはず。しかしまだワーニングが。
# service httpd restart httpd を停止中: [ OK ] httpd を起動中: Warning: DocumentRoot [/var/www/html/ltest/public] does not exist
SELinuxが原因らしい。面倒だなSELinux。
ちゃんと対応するなら /var/www/html/ltest/public にSELinuxのラベルの設定を行うらしいのだが、その対応はいつかすることにして、今回は一時的にSELinuxを無効にして再起動。
# getenforce Enforcing # setenforce 0 # getenforce Permissive # service httpd restart httpd を停止中: [ OK ] httpd を起動中: [ OK ]
これでサーバ側の設定は完了。
DNSの設定変更は面倒なので、クライアントPCのhostsファイルにバーチャルホストの設定に記述したドメインを以下のように追記する。
<サーバのIPアドレス> www.into1st.jp www.ltest.jp
これで http://www.ltest.jp/ にアクセスすると "You hava arrived." と表示される。
長かった^^;
参考書籍:
![]() | Laravelエキスパート養成読本[モダンな開発を実現するPHPフレームワーク!] (Software Design plus) 川瀬 裕久 古川 文生 松尾 大 竹澤 有貴 小山 哲志 新原 雅司 技術評論社 2015-04-21 売り上げランキング : 4108 Amazonで詳しく見る by G-Tools |
参考ページ:Laravelについて
インストール 4.2.0 Laravel
CentOS 6.5 + PHP 5.6 + MySQL 5.6 + laravel4 環境を作る(part 2)|OISのブログ|株式会社オリエンタルインフォーメイションサービス
CentOS 6.6 で Laravel4 を使う準備 - Qiita
CentOS 6.5 + nginx 1.6.1 + Laravel 4.2のインストールメモ - Qiita
PHP - Laravel 4のインストール - Qiita
参考ページ:バーチャルホストについて
バーチャルホスト設定 - CentOSで自宅サーバー構築
11 | 5月 | 2013 | 其未来.com
複数のドメインを運営する (バーチャルホスト) - Linux で自宅サーバ [ Home Server Technical. ]
参考ページ:SELinuxについて
[CentOS][Apache]SELinux有効下でのドキュメントルートの変更 | ごった煮 - tips about programming and building a server
SELinuxを有効にしているときにありがちなpermission denied - kgbu's diary
SELinuxを無効化する | Smart
« Excelで就業時間を計算する式を考えた | Main | 「ペルソナ4 ザ・ゴールデン」クリア »
「PHP」カテゴリの記事
- PHPStorm 2018.1.7 に更新(2018.12.09)
- PHPメモ051:includeとrequireの使い分け(2015.06.19)
- CakePHPのインストール(2015.06.14)
- PHPからPDOでPostgreSQLに接続する(2015.06.09)
- PHPでメールを送信したら一部のOutlookで受信したメールでヘッダがおかしくなった(2015.05.31)
「Linux」カテゴリの記事
- CakePHPのインストール(2015.06.14)
- PHPからPDOでPostgreSQLに接続する(2015.06.09)
- Laravel4のインストール(2015.05.06)
- URLリライトの復習その2(2015.04.07)
- composerのインストール(2015.04.01)
The comments to this entry are closed.

![Laravelエキスパート養成読本[モダンな開発を実現するPHPフレームワーク!] (Software Design plus)](http://ecx.images-amazon.com/images/I/61tpe696zdL._SL160_.jpg)

Comments