どうも、こんにちわ。
格安レンタルサーバーにLaravelをインストールしてみるシリーズ、今回はロリポップ!
になります。
ロリポップも国内最大級の利用者数を誇るレンタルサーバーの1つなので、実際に利用している方もいるのではないでしょうか?そんなロリポップにもLaravelをインストールしていきましょう。
なお、Laravelをインストールできる他の格安レンタルサーバーを含めた一覧記事はこちら。
環境
今回の環境は以下の通り。
今回の環境
- Mac OSX
- ロリポップ スタンダードプラン
- Laravel 5.8
ロリポップにSSHで接続する
ということで、早速Laravelをインストールしていきますが、まずはこれまで紹介した他のレンタルサーバーと同様、SSH接続をしていきます。
SSHの有効化
ロリポップでSSHを利用する場合は、まずコントロールパネルでSSHを有効化しなければなりません。この辺は以前紹介したエックスサーバーの時と同じですね。
SSHの有効化は、ロリポップのコントロールパネルにログインして「サーバーの管理・設定」→「SSH」でSSH設定ページへ行き、「SSHを有効にする」ボタンをクリックすることで有効化できます。
SSHを有効化すると、SSH接続に必要な下記の情報が表示されるのでメモっておきます。
SSH接続情報
- サーバー
- アカウント
- 接続ポート
- パスワード
なお、今回のホスト名は仮に「ssh999.pya.jp」、アカウント名は「pya.jp-example」と仮定します。
秘密鍵の生成
さて、SSHを有効化したらオリジナルの秘密鍵を生成して、鍵認証でSSH接続できるようにしていきます。環境はMacのターミナルになるので他の環境の方は適宜生成してください。
では、まず下記コマンドで「.ssh」ディレクトリに移動します。
$ cd ~/.ssh
移動したら、下記コマンドフォーマットで秘密鍵を生成します。メールアドレスとファイル名の箇所は自身の環境に合わせて適当なものを設定してください。
$ ssh-keygen -t rsa -C メールアドレス -f ファイル名
今回は下記のようにファイル名を「id_rsa_lolipop」と命名します。
$ ssh-keygen -t rsa -C example@example.com -f id_rsa_lolipop
生成時にパスフレーズの作成を求められますので適切なパスフレーズを2回入力して、こちらも忘れないようにメモっておきましょう。
生成したら下記コマンドで問題なく生成されているか確認しておきます。
$ ls | grep "id_rsa_lolipop"
id_rsa_lolipop
id_rsa_lolipop.pub
これで鍵の生成は完了です。
configファイルの編集
鍵ファイルを生成したら、生成した鍵ファイルを使用するように「/.ssh/config」ファイルに下記を追記して保存します。
Host ssh999.lolipop.jp
HostName ssh999.lolipop.jp
User pya.jp-example
Port 2222
IdentityFile ~/.ssh/id_rsa_lolipop
TCPKeepAlive yes
IdentitiesOnly yes
公開鍵をロリポップに登録
Configファイルを編集したら、先ほど生成した公開鍵(id_rsa_lolipop.pub)をロリポップのサーバーに「authorized_keys」として登録します。
$ scp ~/.ssh/id_rsa_lolipop.pub ssh999.lolipop.jp:~/authorized_keys
アクセス時にパスワードを求められると思うのでSSHを有効化した際に発行されたパスワードを入力します。
特にエラー等、表示されなければ問題なく公開鍵が「authorized_keys」として登録されます。
SSH接続
公開鍵をロリポップサーバーに登録したら、一旦SSH接続をします。
$ ssh pya.jp-example@ssh999.lolipop.jp
接続時にパスフレーズを求められるので、先ほどと同じくSSHを有効化した際に発行されたパスワードを入力します。
パスフレーズを入力すれば接続すると思うので、ログインしたらユーザーアカウントディレクトリの内容を下記コマンドで確かめます。
$ ls -a
. .. authorized_keys web
先ほど登録した公開鍵(authorized_keys)が存在することが確認できますね。
そしたら、この公開鍵を「.ssh」ディレクトリに移動していきます。
まずは、下記コマンドで「.ssh」ディレクトリを生成。
$ mkdir .ssh
続いて、公開鍵をsshディレクトリに移動します。
$ mv authorized_keys .ssh/authorized_keys
念の為、確認します。
$ ls .ssh
authorized_keys
これで移動は完了です。
そしたら、authorized_keysのパーミッションを600に変更します。
$ chmod 600 .ssh/authorized_keys
変更したら一旦サーバーからログアウトします。
$ exit
そして再度ログイン。
$ ssh pya.jp-example@ssh999.lolipop.jp
今度は、先ほど生成した秘密鍵のパスフレーズが求められると思いますので、鍵を生成した際に設定したパスフレーズを入力します。
問題なければ秘密鍵でのSSH接続の成功です。
ロリポップにLaravelをインストール
SSHでの接続が問題なくできることを確認したら、Laravelをインストールしていきます。
PHPバージョンの確認
まずは、他のサーバーの時と同じくPHPのバージョン確認します。
$ php -v
PHP 5.5.35 (cli) (built: Jun 7 2017 17:38:06)
ロリポップの場合は初期設定のPHPのバージョンは現時点(2019年4月現在)で上記のとおり、5.5.35のようです。比較的新しいLaravelはPHP7以上を求められるので、PHPのバージョンを変更します。
まずは、ロリポップで使用できるPHPのバージョンを下記コマンドで確認します。
$ find /usr/local/php*/bin/php
/usr/local/php5.3/bin/php
/usr/local/php5.4/bin/php
/usr/local/php5.5/bin/php
/usr/local/php5.6/bin/php
/usr/local/php7.1/bin/php
現時点では、PHP7.1系が最新のバージョンのようなので、そのバージョンを使えるようにしていきます。
では、「.bash_profile」ファイルを作成してパスを通していきます。
$ vi ~/.bash_profile
開いたら下記のコードを追記して保存します。
PATH=/usr/local/php7.1/bin:$PATH
export PATH
変更した内容を下記コマンドで反映します。
$ source ~/.bash_profile
反映させたら、phpのバージョンを確認します。
$ php -v
PHP 7.1.5 (cli) (built: Jul 10 2017 18:03:20) ( NTS )
問題なくパスが変更されて、PHP7.1系のバージョンが適用されていることがこれで確認できますね。
Composerのインストール
続いて、毎度おなじみComposerを下記コマンドでインストールします。
$ curl -sS https://getcomposer.org/installer | php
下記コマンドで正常にインストールされているか確認しましょう。
$ php composer.phar -V
Composer version 1.8.5 2019-04-09 17:46:47
上記のようにバージョン名が表示されてあれば問題ありません。
Laravelのインストール
では、実際にLaravelをインストールしていきます。
先ほど適用したPHPのバージョンは、7.1.5なので現時点で最新のLaravel5.8(PHP7.1.3以上)がインストールできるので下記コマンドでインストールしてみましょう。
$ php composer.phar create-project "laravel/laravel=5.8.*"
ちなみに、ロリポップのスタンダードだとメモリが足りないのかインストールが何度も中断しました。何度も繰り返しているうちにようやくインストールに成功しました。
とりあえずインストールが完了したら、Laravelディレクトリが出来ていると思うので下記コマンドでLaravelディレクトリに移動します。
$ cd laravel
laravel
試しにartisanコマンドで動作確認をします。
$ php artisan -V
Laravel Framework 5.8.14
上記のようにバージョン名が表示されれば大丈夫です。
続いて、下記コマンドで「storage」と「bootstrap/cache」のパーミッションをそれぞれ変更しておきます。
$ chmod -R 777 storage
$ chmod -R 775 bootstrap/cache
シンボリックリンクの作成
これでLaravelのインストールは完了です。
続いて、Laravelを公開するべく他のレンタルサーバーと同様、シンボリックリンクを作成していきます。
今回は、仮に「example.com」というドメインで公開ディレクトリが「laravel」となっていると仮定します。
まず、公開ディレクトリが存在する場合は削除します。
$ rm -rf ~/web/laravel
そしたら、下記コマンドでlaravelの公開ディレクトリとシンボリックリンクで紐付けます。
$ ln -s ~/laravel/public ~/web/laravel
これで「example.com」にアクセスすればLaravelの画面が表示されるかと思います。
これで一通り完了です。
まとめ
ということで、今回は格安レンタルサーバーにLaravelをインストールするシリーズの第4弾として、ロリポップのスタンダードプランにLaravelをインストールする方法を紹介させていただきました。
まあ、とりあえずインストール自体はできましたが、実際に運用していくとなると難しい面があるかもしれませんね。
てことで、今回はここまで!また!
PHPをバージョン指定してパスを通す件です。
ロリポップサーバのアップデート https://lolipop.jp/bakusoku/ を実施する前の環境でPHP7.3のパスを通すために
PATH=/usr/local/php7.3/bin:$PATH
と記述して利用していましたが、上記アップデートを実施するとターミナルには「-bash: php: コマンドが見つかりません」と出るようになりました。アップデート後はPHP7.1以前と上記のパス表記が利用できなくなり、7.3と7.4のパスは以下のように切り替える必要があるようです。
/usr/local/php/7.3/bin/php
/usr/local/php/7.4/bin/php
ロリポップのPHP設定ページ https://lolipop.jp/manual/user/php-setting/ にも、SSHでのPHPのパスの表記で7.3および7.4はパス表記が違うことがわかりました。
.bash_profileの表記を切り替えることで利用可能となりました。