さくらレンタルサーバーでLaravel5.1が動くようになるまでにしたこと
2017-05-15「さくらレンタルサーバー Laravel」で検索すると様々な内容がでてきますが、実際に自分でやった内容についてまとめておきたいと思います。
前提
環境
- さくらレンタルサーバー (スタンダードプラン)
- PHP5.6 (5.6以上であればOK)
- MySQL5.5
運用方法
ドメインを追加して、そこで運用
具体的には、さくらのコントロールパネルから hogehoge.hoge というドメインを追加して、指定フォルダを /home/{アカウント名}/www/hoge/public/
にします。
やったこと
Laravelプロジェクトの作成
まずはLaravelプロジェクトの作成についてですが、これについては既に他の方々が書かれている内容の通りに進めれば大丈夫です。(ここは丸投げで)
簡単な流れだけ書いておきます。
- さくらレンタルサーバーに composer をインストールする
- composer を使用して Laravelプロジェクト を作成する
以上です。(ざっくりと)
僕が参考にさせていただいたのは下記の記事です。ありがとうございました。
さくらのレンタルサーバー Laravel5 インストール
上記記事では /home/{アカウント名}/
配下にプロジェクトを作成していますが、前提条件で書きました通り、 /home/{アカウント名}/www/
配下に hoge
というプロジェクトを作るという形で話を進めます。
ということで、上記記事で書かれている「publicディレクトリのコピー」は不要です。
.htaccessの内容変更
まず、よく書かれている public/.htaccess
の修正内容です。
Laravelプロジェクトをインストールした状態からの差分は以下のとおりです。
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
+ RewriteBase /
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
さくらレンタルサーバーでLaravelを動かす記事でよく書かれているのが
Options -MultiViews
部分をコメントアウトする
という内容ですが、今年の3月中旬以降、以下のようにさくらレンタルサーバーにてApacheのシステム設定変更があり、 .htaccess
内で、条件付きではありますが Options
の指定が可能になっています。
※1 .htaccess にて Options が設定可能になります。 自動インデックス機能がデフォルトで無効となります。 詳細な情報は後日公開いたします。 2017年02月28日追記 Options では、All,FollowSymLinks 以外の機能が設定可能です。
DB設定
基本的には .env
の内容変更となります。
APP_ENV=local
APP_DEBUG=true
APP_KEY=***********************************
DB_CONNECTION=mysql
- DB_HOST=127.0.0.1
+ DB_HOST=mysql***.db.sakura.ne.jp // コントロールパネル > データベースの設定 で確認
- DB_DATABASE=homestead
+ DB_USERNAME=hogehogeid
- DB_PASSWORD=homestead
+ DB_PASSWORD=hogehogepass
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
.env
の内容変更で接続自体は可能になりますが、php artisan migrate
コマンドを実行した際に作成されるテーブルの照合順序を変更する場合は、config/database.php
内での指定が必要です。
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
- 'collation' => 'utf8_unicode_ci',
+ 'collation' => 'utf8_general_ci',
'prefix' => '',
'strict' => false,
],
assets
ディレクトリ
css
や js
などを格納する assets
ディレクトリですが、デフォルトでは resources/assets
に設置されています。
が、 blade
に用意されている assets()
メソッドで参照するのは public
ディレクトリ配下ということなので、 resources/assets
については使用せず、 public/assets
を新たに作成して、そこに css
や js
を格納していきます。
まとめ
assets
ディレクトリを新たに作成したこと以外は、インストール時のディレクトリ構造を変更する必要はありませんでした。
.htaccess
についても、さくらレンタルサーバーのApacheシステム変更によりコメントアウトをする必要がなくなりました。追記は必要ですが。
DB設定についても既に多くの方が書いておられる内容、および公式ドキュメントに書かれている内容ですが、照合順序についてはマイグレーションでテーブルを作ったあとに発覚したので、もし変更される方は注意してください。
comments powered by Disqus