laravel サーバー(ロリポップ)での環境構築方法


サーバー(ロリポップ)で環境構築方法

確認環境:
laravel 5.4
ロリポップ スタンダードプラン
php >= 5.6.4
mysql 5.6

前提

・ロリポップのスタンダードプラン以上に契約しておく
(エコノミー、ライトプランだと、SSHが使えない。)
・サブドメインが使えるように契約しておく。
・ローカルでlaravelが使えるようにしておく。

手順1:SSHを有効にする

ロリポップのサイトにアクセスして、
サーバーの管理・設定 ー> ssh を選択する。
SSH を有効にする。


手順2:サブドメインの設定

サーバーの管理・設定 ー> サブドメイン設定 を選択する。
laravelのプロジェクト名のサブドメインを作る。
例)blog サブドメインを作る。






追記:公開フォルダは blog/public を指定するのが良いです。

 

手順3:PHP 7.1設定

laravel 5.4 は、PHP >= 5.6.4
laravel 5.5 は、PHP >= 7.0.0
なので、
サーバーの管理・設定 ー> PHP設定 を選択する。
PHPの設定を7.1にする。
例)blog サブドメインをPHP 7.1にする。





手順4:SSHでサーバーにアクセスする

<Macの場合>

ターミナルでサーバーにアクセスする。
ssh [アカウント名]@[サーバー名] -p[ポート番号]
例)
ssh sunnyday.jp-0gravity000@ssh415.lolipop.jp -p2222

この後、パスワードを聞かれるので入力する。
macのターミナルなら、パスワードのコピペができます。
ssh の接続に成功したら、こんな感じになります。



ssh を終了するときは、exit と入力します。

<Windowsの場合>

Tera Termでサーバーにアクセスします。
ホスト名:[サーバー名]
ポート:2222
サービス:SSH
を選択し、OKを押します。



次に、
「ブレインパスワードを使う」を選択し、
ユーザー名とパスフレーズを入力します。
パスフレーズはコピペできます。



手順5:ディレクトリを移動する

pwd
で、今いる場所を確認。
例)

/home/users/2/sunnyday.jp-0gravity000



ls
で、ファイル、フォルダを確認すると、web があるはず。
cd web
で、ディレクトリの移動。
/home/users/2/[アカウント名]/web
例)
/home/users/2/sunnyday.jp-0gravity000/web

に移動する。
ここにlaravelをインストールします。

手順6:composerのインストール

laravelを使うためには、composerのインストールが必要です。
このへんのページを参考にして、サーバーに、composerをインストールします。
https://laravel.com/docs/5.4
https://getcomposer.org/
https://getcomposer.org/doc/00-intro.md#installation-linux-unix-osx
https://getcomposer.org/doc/00-intro.md#installation-windows
https://getcomposer.org/download/

注意する点は、ロリポップでは
/usr/local/php7.1/bin/php
を指定することです。
この場所にversion7.1のphpがありますが、パスの通し方がわかりませんでした。。
なので、パスを指定しています。
ローカルにもcomposerをインストールします。

手順7:laravelのインストール

composerのインストールが完了したら、
composer.phar
が作成されていることを確認します。
以下のコマンドで、サーバーにlaravelをインストールします。

/usr/local/php7.1/bin/php composer.phar create-project --prefer-dist laravel/laravel [プロジェクト名] "5.4.*"

ここで指定する、プロジェクト名は、上記の手順2で作ったサブドメイン名と合わせます。
なお、手順2でサブドメインを作った時に、サブドメイン名のフォルダが作成されますが、
これは一旦、削除して、laravelをインストールしてください。
ローカルも同様にlaravelをインストールします。

手順8:FTPツールでファイル転送

インストールできたら、FTPツールを使って、ローカルにインストールでできたファイル(「vendor」フォルダ以外)を丸ごと、サーバーにアップロードします。
FTPツールは、mac なら FileZilla、windows なら FFFTP がおすすめです。

ユーザー設定 ー> アカウント情報 を選択する。
■ サーバー情報 を確認する。
FTPツールの接続設定で、ここらへんの設定を使う。





FTPツールでファイルのアップロードが完了したら、
以下にアクセスして表示の確認する。
http://[プロジェクト名].[サブドメイン名]/public
例)
http://blog.0gravity000.link/public/

補足:
手順2で公開フォルダを blog/public と指定した場合は、
http://[プロジェクト名].[サブドメイン名]
例)
http://blog.0gravity000.link

にアクセスしてください。

以下のような画面が表示されれば、インストールが上手くできてます。



ロリポップでは、HerokuやGDPのようにデプロイができないので、
こんな感じで、ローカルとサーバーを手動で同期させています。
あとは、ローカルで編集したファイルをFTPツールでサーバーへアップロード
を繰り返し行います。

手順9:データベースの作成

上記の手順で、MVCモデルの「V」と「C」にあたる部分は環境が整いましたので、
あとは、「M」にあたる部分の環境構築として、データベースの設定を行います。

ロリポップのサイトにアクセスして、
サーバーの管理・設定 ー> データベース を選択し、作成ボタンを押します。



以下の設定を行い、作成ボタンを押します。
作成するサーバー:任意に選択
データベース名:Laravelのプロジェクト名を連想させる名前がよいと思います。
接続パスワード:任意


手順10:.envファイルの設定

データベースを作成したら、プロジェクト名フォルダの直下にある「.env」ファイルの
以下の箇所を編集します。

DB_CONNECTION=mysql
DB_HOST=[手順9で指定した、サーバー名]
DB_PORT=3306
DB_DATABASE=[手順9で指定した、データベース名]
DB_USERNAME=[ロリポップのデータベースユーザー名]
DB_PASSWORD=[手順9で指定した、接続パスワード]

ローカルで編集、FTPツールでサーバーにアップロードします。

手順11:artisan migrateする。

手順4の通り、SSHでサーバーに接続して、laravelのプロジェクトフォルダに移動して、
以下のコマンドを実行します。

/usr/local/php7.1/bin/php artisan migrate
laravelは、データベースの設定を何もしなくても、上記コマンドを実行すると、
デフォルトで以下の3つテーブルが作成されます。

migrations
password_resets
users

なお、
Illuminate\Database\QueryException エラーが出た場合はこちらの記事の対処をしてください。
MySQL5.6だと、以下のエラーが出るようです。

laravel migrate エラー Illuminate\Database\QueryException
 

手順12:phpMyAdminを確認する。

サーバーの管理・設定 ー> データベース を選択し、
手順9で、作成した、データベースの右側にある、操作するボタンを押します。



phpMyAdminの画面がでますので、
手順9で設定した、
ユーザ名、パスワード、サーバー名を選択し、実行ボタンを押します。
手順11の3つのデータベースが作成されていれば、成功です。



あとは、laravelで自由に、データベースを操作していきます。