C-RTX BLOG

Webやネットワークなどなど

Laravel5をさくらのレンタルサーバで動かす(ライトプラン)

   

PHPのフレームワークであるLaravel5をさくらのレンタルサーバのライトプランで動かしてみた。ファイルのアップロードにはFTPを使用する。ライトプランで動かすのはオススメしないが動かしてみたかったので。Lumenも同じような手順で動かせると思う。

注意!

ライトプランではsshによるリモートログインとデータベースにMySQLを利用することができない。そのため、データベースを使う場合はSQLite3を使用し、あらかじめ「composer update」や「php artisan migrate」などをローカル環境でしておく必要がある。

環境

  • さくらのレンタルサーバ(ライトプラン)
  • Laravel 5.1

準備

Laravel5をさくらのレンタルサーバ(ライトプラン)で動かすための準備を行う。

PHPのバージョンを5.6に変更

最近のLaravel5ではPHPのバージョン5.9.9以上が要求されるため、さくらのレンタルサーバのコントロールパネルでPHPのバージョンを変更する。

サーバコントロールパネルにログインしたら、左側にあるメニューの「アプリケーションの設定」の「PHPのバージョン選択」をクリックする。

スクリーンショット 2015-09-22 17.09.50

PHPのバージョン選択の画面になったら、新しいバージョンを「PHP 5.6」にして、変更ボタンをクリックする。

スクリーンショット 2015-09-22 17.09.35

現在のバージョンが「PHP 5.6」になっていたら、設定完了。

スクリーンショット 2015-09-22 17.16.38

Laravel5を使ったプロジェクトのアップロード

Laravel5を使ったプロジェクトをお好きなFTPクライアント(Filezillaなど)を使って、ホームディレクトリ(wwwではなく、FTPクライアントでログインしたばかりの場所:/home/{アカウント名}/)に保存する。FTPの接続情報(サーバ名、アカウント、パスワード)は、さくらより送られてくる仮登録完了メールに記載されている。なお、初期フォルダwwwは指定しないこと。

今回、プロジェクトのディレクトリ名は「laravel_project」とする。パスは以下の通り。

/home/{アカウント名}/laravel_project

ファイル数が多いためなのか、転送制限にかかるのか、アップロードに時間がとにかくかかるので、気長に待つ。他には、zipファイルなどにまとめてアップロードしてから解凍するという方法もあるが、ここでは説明しない。

アップロード後は以下のようなファイル構成になる。

スクリーンショット 2015-09-23 23.26.48

Laravelプロジェクトの公開

ここまでの手順でホームディレクトリにLaravelのプロジェクト「laravel_project」がインストールされていると思う。次は公開の手順に進む。

サブディレクトリにはしたくない

通常、Laravelではpublicディレクトリを公開するDocument Rootと設定する。しかし、レンタルサーバでは好きなディレクトリを設定できず、wwwディレクトリ固定となっている。しかし、今回は以下のようなURLでアクセスしたい。

http://{アカウント名}.sakura.ne.jp/
※ http://{アカウント名}.sakura.ne.jp/publicなどのサブディレクトリではない

ここからローカルでの作業に戻る。

publicディレクトリの中身をコピー(ローカルでの作業)

ローカルにある「laravel_project」の中にある「public」にディレクトリをPC内の適当な場所にコピーする。ここではコピーしたディレクトリを「public_tmp」とする。

「public_tmp」の中身は最終的にレンタルサーバの「www」ディレクトリの中ににアップロードするということを念頭に、次に「public_tmp」の中の「.htaccess」と「index.php」を編集する。

public_tmp/.htaccessの編集(ローカルでの作業)

さくらのレンタルサーバでは.htaccessのOptionsが許可されていないようなので、コピーした「public_tmp」内の「.htaccess」をviなどのテキストエディタで編集してOptionsを指定している箇所を削除する。「.htaccess」は不可視ファイルになっている。

スクリーンショット 2015-09-22 19.41.31.htaccess(編集前)

スクリーンショット 2015-09-22 19.41.49.htaccess(Options削除後)

public_tmp/index.phpの編集(ローカルでの作業)

index.php はレンタルサーバのwwwディレクトリに置くので、index.phpも編集して「laravel_project」へのパスを修正する必要がある。テキストエディタなどでindex.phpを編集する。ここでは「laravel_project」のパスを相対パスで記述しているが、絶対パスで記述してもいい。

スクリーンショット 2015-09-22 19.50.52index.php(編集前)

スクリーンショット 2015-09-22 19.51.45index.php(編集後:laravel_projectの場所を相対パスで指定する場合)

public_tmpの中身をサーバーのwwwの中に全てアップロード

ここまでできたら、あとは「public_tmp」の中身をFTPでサーバーの「www」ディレクトリの中に全てアップロードする。「.htaccess」は不可視ファイルなのでアップロードを忘れないように注意すること。また、自分で元々publicディレクトリに追加していたファイル(cssやjsファイルなど)がある場合、それらのアップロードも忘れないように注意すること。

スクリーンショット 2015-09-23 23.47.49

元々の「laravel_project/public」ディレクトリは使用せず、「www」をpublicディレクトリとして使うことになるわけだ。

設定完了!ブラウザから開いてみる

これまでの手順でLaravelプロジェクトの公開ができているはずなので、ブラウザでアクセスしてみて見事表示されたら完了。

スクリーンショット 2015-09-22 19.56.44

 

 - Laravel ,