さくらのレンタルサーバーに、laravelのプロジェクトを公開する方法をシェア。
意外と詰まってしまった部分があったので、備忘。
まずはサーバにsshログイン
まずはサーバにログイン。
macならターミナル、windowsならテラタームなどから、sshコマンドでサーバにログインする。
その際必要になるのがサーバへのログイン情報。
さくらサーバに契約すると、契約者の情報がつらつら書いてある、
下記のようなメールが届いているはずだ。
その中の<<契約サービス接続情報>>と書いてある部分がsshログインに使う情報だ。

sshコマンドを使ってログインする。
ssh FTPアカウント@FTPサーバ名
#パスワード
サーバパスワード
入力後、以下のように表示されればログイン完了

composerのインストール
次はcomposerと呼ばれる、phpのパッケージ管理ツールをインストールする。
laravelをインストールするのにcomposerを使うためだ。
まずはcomposerをインストールする階層に移動。
場所はホームディレクトリにする人が多い。
cd 任意のディレクトリ
そうしたら下記コマンドでcomposerをダウンロード。
curl -sS https://getcomposer.org/installer | php
完了後、composer.pharがあるはずなので、確認。

こいつを下記コマンドでインストール。
php composer.phar
上記のような表示がされれば成功。
laravelプロジェクトをgitからclone
公開したいプロジェクトを、さくらサーバで設定してあるドキュメントルート以下に配置する。
gitからcloneしてくる。
git clone プロジェクトURL
ここまでできたら動いてくれても良さそうなものだが、実はまだこのままだと動かない。
vendorディレクトリの作成
無事クローンできたら、プロジェクトの中に移動してディレクトリ構成を覗こう。
cd プロジェクト名
ls -l
結論から言うとlaravelに本来あるはずの「vendor」ディレクトリが存在しない。
venderはlaravelでは核となるプログラム。
下記コマンドでvendorを作ることができる※。
php ../composer.phar install
※composer.pharのパスに注意。
composer.pharが存在するディレクトリを相対パスで指定しています(../をつけています)。
ls -l

無事、vendorディレクトリができていればOK.
.envファイルの作成
最後に確認するのが.envファイル。
なぜか上記手順だとこのファイルが作成されない。
筆者はこれが作成されていないことに気がつかず、
ずっと500 internal server errorと戦うハメになった。
プロジェクト直下で以下のコマンド。
ls -la
.env.exampleは存在しているが、.envは存在しない。
.env.exampleをコピーして、.envを作成する。
cp .env.example .env
できた。
keyの作成
.envも作ったらブラウザから、アクセス、すると
エラー。。
しかし落ち着こう、エラーよく読むと、下記コマンドを打てと書いてある。
打ってみる。
php artisan key:generate
すると
アプリケーションキーはセットされましたと書かれた。
OKっぽい。
storage以下の権限
最後に、プロジェクト直下のstorageディレクトリ以下の権限に注意したい。
何やらユーザ権限の問題で、デフォルトの権限だとうまく動かないことがある、
筆者はローカルのlaravelをapacheで起動した時にこれが原因で動かなかった。
と言うわけで、プロジェクト直下にて下記コマンド。
chmod -R 777 storage
ちょっとガバガバすぎかな?757とかでも良いかもしれない。。
とりあえずここまでやればまあ動くっしょ
筆者のは上記で動いてます。
コメントを残す