PHPの今一番イケてるフレームワーク、laravelをとりあえず動く状態にする方法のメモ。
ゴール
- laravelが動く状態にする
前提条件
- Amazon Linux AMI
- WebサーバとPHPは導入済みとする
webサーバとPHPを導入していない場合は、以下参照。この投稿は以下のもののあと行ったものです。
EC2にnginx+php(php-fpm socket)環境を最速で構築 - Qiita
インストール
composerの導入
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
必要なモジュールの導入
以下はよくつかわれそうなもののみです。
sudo yum -y install php56-mysqlnd php56-devel php56-mbstring php56-mcrypt php56-pdo -y
ちなみにlaravelは以下の環境が必須です。
PHP >= 5.4
Mcrypt PHP Extension
OpenSSL PHP Extension
Mbstring PHP Extension
Tokenizer PHP Extension
laravelインストーラーの導入
composer global require "laravel/installer=~1.1"
chmod +x ~/.composer/vendor/bin/laravel
laravelのディレクトリの作成
コマンド一発でやってくれる
composer create-project laravel/laravel hogehoge --prefer-dist
Crafting application...
Generating optimized class loader
Compiling common classes
Application key [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] set successfully.
Application ready! Build something amazing.
# ~/.composer/vendor/bin/にPATH通して以下でも可能
$ laravel new hogehoge
パーミッションを変更しておきます。
chmod 777 hogehoge/storage hogehoge/vendor
Apache/nginxの設定
URLにindex.phpを含まないpretty なURLにする設定のため、以下を追加します。
DocumentRootは、hogehoge/publicになります。
Apacheの場合
効かない場合は、AllowOverrideの設定をチェック
hogehoge/public/.htaccess
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
nginx
/etc/nginx/nginx.conf
location / {
try_files $uri $uri/ /index.php?$query_string;
}
表示確認
ルートのURLにアクセスしてみて、以下のようなページが表示されればOKです!
参考