どうも、こんにちわ。
最近、格安レンタルサーバーにLaravelをインストールするという記事を書いているのですが、今回はこれまで紹介したXserver
やさくらのレンタルサーバ
と同様、人気のレンタルサーバーであるヘテムルのベーシックプランにLaravelをインストールする方法を紹介したいと思います。
なお、Laravelをインストールできる他の格安レンタルサーバーを含めた一覧記事はこちら。
環境
今回の環境は以下の通り。
今回の環境
- Mac OSX
- ヘテムル ベーシックプラン
- Laravel 5.5
また、さくらのホスト名は仮に「ssh-example.heteml.net」と仮定します。
ヘテムルにSSHで接続する
では、まずヘテムルのレンタルサーバーにSSH接続をしていきましょう。
SSHアカウントの作成
ヘテムルでは、SSH接続する場合は「SSHアカウント」を作成する必要があります。
SSHアカウントの作成は、コントロールパネルにログインして、「SSH アカウント」→「SSHを利用する」で作成可能です。
「SSHを利用する」ボタンをクリックすると、SSH接続に必要な下記の情報が表示されるのでメモっておきます。下の画像の黒塗り部分ですね。
SSH接続情報
- ユーザー名
- サーバー
- 接続ポート
- パスワード
なお、環境の章で記載した通りサーバー(ホスト名)に関しては、仮に「ssh-example.heteml.net」としたいと思います。
秘密鍵の生成
SSHアカウントの作成が完了したら、基本的にはSSH接続ができるようになっているのですが、今回は他のレンタルサーバーの時と同様、別途秘密鍵を生成してSSH接続する方法で試してみたいと思います。また、今回のMacのターミナルを使って生成する方法になるのでWindowsの方は適宜生成してください。
では、まず下記コマンドで「.ssh」ディレクトリに移動します。
$ cd ~/.ssh
移動したら、下記コマンドフォーマットで秘密鍵を生成します。
$ ssh-keygen -t rsa -C メールアドレス -f ファイル名
今回は下記のように「id_rsa_heteml」と命名します。
$ ssh-keygen -t rsa -C example@example.com -f id_rsa_heteml
生成時にパスフレーズの作成を求められますので適切なパスフレーズを2回入力して、こちらもメモっておきます。
生成が完了したら、下記コマンドで問題なく鍵が生成されているか確認しておきます。
$ ls | grep "id_rsa_heteml"
id_rsa_heteml
id_rsa_heteml.pub
これで鍵の生成は完了です。
configファイルの編集
鍵ファイルを生成したら、生成した鍵ファイルを使用するように「/.ssh/config」ファイルに下記を追記して保存します。
Host ssh-example.heteml.net
HostName ssh-example.heteml.net
User example
Port 2222
IdentityFile ~/.ssh/id_rsa_heteml
TCPKeepAlive yes
IdentitiesOnly yes
公開鍵をヘテムルに登録
Configファイルを編集したら、先ほど生成した公開鍵(id_rsa_heteml.pub)を下記コマンドでヘテムルのレンタルサーバーに「authorized_keys」として登録します。
$ scp ~/.ssh/id_rsa_heteml.pub ssh-example.heteml.net:~/authorized_keys
アクセス時にパスワードを求められると思うので、先ほどSSHアカウント作成時に発行されたパスワードを入力します。
実行して、公開鍵が表示されれば公開鍵の登録は完了です。
SSH接続
では、ここで実際に下記コマンドでSSHでヘテムルサーバーに接続してみます。
$ ssh example@ssh-example.heteml.net
ここでも接続時にパスフレーズを求められるので、SSHアカウント作成時に発行されたパスワードを入力します。
パスフレーズを入力すれば接続すると思うので、ログインしたらhomeディレクトリの内容を下記コマンドで確かめます。
$ ls -a
. .. .bash_history authorized_keys web
先ほど登録した公開鍵(authorized_keys)があることが確認できますね。
確認したら、下記コマンドで「.ssh」ディレクトリを生成します。
$ mkdir .ssh
続いて、authorized_keysを作成した.sshディレクトリに移動します。
$ mv authorized_keys .ssh/authorized_keys
念の為、確認します。
$ ls .ssh
authorized_keys
移動していることが確認できますね。
そしたら、authorized_keysのパーミッションを600に変更しましょう。
$ chmod 600 .ssh/authorized_keys
変更したら、一旦ヘテムルサーバーからログアウトします。
$ exit
そして再度ログイン。
$ ssh example@ssh-example.heteml.net
今度は、SSHアカウントのパスフレーズではなく、秘密鍵のパスフレーズを求められると思いますので、先ほど鍵を生成した際に設定したパスフレーズを入力します。
問題なければ秘密鍵でのSSH接続の成功です。
ヘテムルにLaravelをインストール
では、本題のLaralveのインストールになります。
PHPバージョンの確認
まずは、お決まりのPHPのバージョン確認といきたいところですが、ヘテムルの場合は初期状態ではPHPのパスが通っていないので、phpコマンドで操作できません。
試しに下記のようにコマンドを叩いても「command not found」になると思います。
$ php -v
-bash: php: command not found
ということで、パスを通したいと思います。
とりあえず、現時点で最新のバージョン7.1.14にパスを通したいと思います。
まずは、「.bash_profile」をviコマンドかなにかで適当に開きます。
$ vi ~/.bash_profile
開いたら下記のコードを追記して保存します。
PATH=\$PATH:/bin:/usr/bin:/usr/local/php7.1/bin/
export PATH
そして、変更した内容を下記コマンドで反映します。
$ source ~/.bash_profile
反映させたら、phpコマンドが有効になっているか確認します。
$ php -v
PHP 7.1.14 (cli) (built: Feb 13 2018 16:49:16) ( NTS )
問題なく有効化できました。
Composerのインストール
続いて、これもお決まりですけど、Laravelのインストールに必要なComposerを下記コマンドでインストールします。
$ curl -sS https://getcomposer.org/installer | php
インストールが完了したら下記コマンドで正常にインストールされているか確認します。
$ php composer.phar -V
Composer version 1.8.5 2019-04-09 17:46:47
上記のようにバージョン名が表示されてあれば問題なくインストール完了です。
本来はComposerにもパスを通してあげた方が使い勝手がいいのですが今回は割愛します。
Laravelのインストール
ここまできたら、実際にLaravelをインストールしていきます。
Xserverやさくらのレンタルサーバーでは、現時点で最新のバージョン5.8をインストールしましたが、ヘテムルの場合はPHPのバージョンが7.1.14なので、バージョン5.5をインストールしたいと思います。
ちなみに、Laravel5.6以上はPHP7.1.3以上が必要になります。
$ php composer.phar create-project "laravel/laravel=5.5.*"
インストールが完了したら「Laravel」というディレクトリができていると思います。
$ ls | grep "laravel"
laravel
問題なく生成されていれば、下記コマンドでLaravelディレクトリに移動します。
$ cd laravel
laravel
とりあえず試しにartisanコマンドでLaravelのバージョンを確認して動作するか試してみます。
$ php artisan -V
Laravel Framework 5.5.45
上記のようにバージョン名が表示されれば大丈夫です。
続いて、下記コマンドで「storage」と「bootstrap/cache」のパーミッションをそれぞれ変更します。
$ chmod -R 777 storage
$ chmod -R 775 bootstrap/cache
シンボリックリンクの作成
これでLaravelのインストールは完了ですが、さくらのレンタルサーバーの記事でも説明しましたが、現在はホームディレクトリにインストールしただけなので、公開ディレクトリとLaravelのディレクトリを関連付けしていきます。
ヘテムルの場合は、「web」というディレクトリが公開ディレクトリとして設定されていますが、webディレクトリは削除できないので、webディレクトリに何か適当にディレクトリを作成して、そこにシンボリックリンクを貼っていきます。
今回は、仮に「laravel」というディレクトリとします。
つまり「web/laravel」ディレクトリと「laravel/public」のシンボリックリンクを作成して公開するわけです。
ということで下記コマンドを実行します。なお、実際に「web/laravel」ディレクトリを作成してしまった場合は削除しておいてください。
$ ln -s ~/laravel/public ~/web/laravel
これでシンボリックリンクが作成されるので、「ドメイン/laravel」や「web/laravel」ディレクトリに関連付いたドメインにアクセスすることで、Laravelの画面が表示されるかと思います。
これで完了です。
まとめ
ということで、今回はXserver
とさくらのレンタルサーバ
に続き、ヘテムル(ベーシックプラン)にLaravelをインストールする方法を紹介させていただきました。
てことで、今回はここまで!また!