ローカル(Windows)に、Laravel の開発環境を構築する手順を紹介しました。
次は、共有サーバーに、Laravel の本番環境を構築する手順を紹介します。
ここでは、ConoHa サーバーを例に紹介しますが、他のサーバーでも対応する内容は変わりません。
ConoHa には、Laravel のテンプレートが準備されているから、そんな説明必要ないと思われた方もいると思います。
そうです、ConoHa では、以下の記事の通り、テンプレートが準備されています。
私も、この記事を見て、Laravel 環境が簡単に構築できると思い「ConoHa WING」を契約しました。
しかし、よーく見てみると、テンプレートが準備されているのは「ConoHa VPS」!!!
「ConoHa WING」には、そんなテンプレートは準備されていません。
○ VPS
× WING
なんという、凡ミス・・・
契約しなおすという事も考えましたが、「ConoHa WING」でも簡単にできるだろうという甘い考えで、とりあえず、構築することにしました。
実際に作業を始めてみると、全く情報が無い!
その為、かなり苦労しました・・・
が、何とか環境を構築できたので、その手順を紹介したいと思います。
実際にやらなければいけない事は、非常に少ないので、30分もあればできると思います。
「Conoha Wing」を使った Laravel 環境の構築手順
- Composer のインストール
- Laravel のインストール
- ルーティング設定
Laravel 環境の構築
事前準備
環境構築を行うには、SSH での接続が必要になります。
以下の記事を参考に、SSH アカウントを作成してください。
また、独自ドメインを取得していることを前提に記載していますので、取得していない方は、
【初心者向け】ブログ(ワードプレス)の始め方を分かりやすく紹介!【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>
これで、全て完了です!
お疲れ様でした。