【PHP】共有サーバーに Laravel の本番環境を構築する【ConoHa WING】

ConoHa WING

ローカル(Windows)に、Laravel の開発環境を構築する手順を紹介しました。

【PHP】Laravel 開発環境の構築(Windows版)

次は、共有サーバーに、Laravel の本番環境を構築する手順を紹介します。

ここでは、ConoHa サーバーを例に紹介しますが、他のサーバーでも対応する内容は変わりません。

ConoHa には、Laravel のテンプレートが準備されているから、そんな説明必要ないと思われた方もいると思います。

そうです、ConoHa では、以下の記事の通り、テンプレートが準備されています。

【更新情報】[VPS] テンプレートイメージ「Laravel」の追加、「Webmin」の更新|VPSならConoHa
【更新情報】 テンプレートイメージ「Laravel」の追加、「Webmin」の更新

私も、この記事を見て、Laravel 環境が簡単に構築できると思い「ConoHa WING」を契約しました。

しかし、よーく見てみると、テンプレートが準備されているのは「ConoHa VPS」!!!

ConoHa WING」には、そんなテンプレートは準備されていません。

○ VPS

× WING

なんという、凡ミス・・・

契約しなおすという事も考えましたが、「ConoHa WING」でも簡単にできるだろうという甘い考えで、とりあえず、構築することにしました。

実際に作業を始めてみると、全く情報が無い!

その為、かなり苦労しました・・・

が、何とか環境を構築できたので、その手順を紹介したいと思います。

実際にやらなければいけない事は、非常に少ないので、30分もあればできると思います。

スポンサーリンク

「Conoha Wing」を使った Laravel 環境の構築手順

  • Composer のインストール
  • Laravel のインストール
  • ルーティング設定

Laravel 環境の構築

事前準備

環境構築を行うには、SSH での接続が必要になります。

以下の記事を参考に、SSH アカウントを作成してください。

SSHアカウントを作成する|ConoHa WINGサポート
ConoHa WINGのご利用ガイド、FAQなどの各種サポート情報をご案内しています。ConoHa WINGは便利なご利用ガイドと専任スタッフのサポートで安心してご利用いただけます。

また、独自ドメインを取得していることを前提に記載していますので、取得していない方は、

【初心者向け】ブログ(ワードプレス)の始め方を分かりやすく紹介!【ConoHa WING】

を参考に、独自ドメインを取得しておいてください。

Composer のインストール

Laravel をインストールするには、Composer が必要です。

しかし、ConoHa WING は、共有サーバー!

管理者(root)権限が無いので、少し工夫する必要があります。

まずは、SSH でサーバーへログインし、以下のコマンドを実行してください。


$ cd ~/public_html/

$ mkdir tmp

$ cd tmp/

$ curl -sS https://getcomposer.org/installer | php

$ ./composer.phar self-update

これで、Composer のインストールは、完了です。

Laravel のインストール

まず、Laravel のインストーラーをインストールします。


$ cd ~/tmp/

$ ./composer.phar require "laravel/installer=~1.1"

$ ./composer.phar update "laravel/installer" --prefer-dist

次は、実際の Laravel 本体のインストールです。

その前に、ConoHa WING では、サイトを登録した段階で、そのドメインのディレクトリが作成されています。

なので、まず、そのディレクトリを削除してから、インストールします。


$ cd ~/public_html/

$ rm -rf [独自ドメイン名]

$ cd ../tmp/

$ ./composer.phar create-project laravel/laravel ../[独自ドメイン名] --prefer-dist

これで、Laravel がインストールできました。

稀に、ディレクトリの書き込み権限が、違っている場合があるので、以下のコマンドも実行してください。


$ cd ../[独自ドメイン名]

$ chmod -R 777 storage

$ chmod -R 777 bootstrap/cache

ルーティング設定

ここからが、共有サーバーで独自に設定しなければいけない、超重要な設定です!

Laravel のインストールが完了した段階で、Web サイトへアクセスすれば表示されそうですよね?

しかし、管理者(root)権限が無いので、Web サーバーの設定が変更できません。

なので、Laravel で読み込まれるべきファイル(public/index.php)を、読み込むように設定できないのです。

では、どうするか?

シンボリックリンクを張って、強制的に読み込ませます!


$ cd ~/public_html/[独自ドメイン名]

$ ln -s public/index.php index.php

これで、Web サイト(独自ドメイン)へアクセスすると、Laravel の TOP 画面が表示されるようになります。

しかし、これで終わりではありません。

例えば、Laravel で Test という名前のコントローラーを作成すると、

https://xxxx.co.jp/test

のような URL になりますが、今のままの設定だと 404 エラーが表示されます。

そこで、.htaccess ファイルを作成して、これも強制的に読み込む先を変更します。


$ cd ~/public_html/[独自ドメイン名]

$ vi .htaccess

ファイルの内容


<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

これで、全て完了です!

お疲れ様でした。

コメント