こんにちわ。あともう少しで10連休ですが、連休はどこも出かけずゆっくりする予定です。
という、どうでもいい個人的な話しは置いといて、今回は日頃からお世話になっているレンタルサーバーのエックスサーバー
にLaravelをインストールする方法を紹介したいと思います。
なお、Laravelをインストールできる格安レンタルサーバーの一覧はこちら。
環境
今回の環境は以下の通り。
今回の環境
- Mac OSX
- エックスサーバー X10プラン
- Laravel 5.8
サーバーにSSHで接続する
では、早速Laravelをインストールしていきましょう。
SSH設定を有効化
まずは、Laravelをインストールするためにも、XserverにSSHでログインするのですが、Xserverの場合、事前にコントロールパネルでSSH設定を「ON」にしておく必要があります。
まず、管理画面にログインの上、下図の「SSH設定」をクリックします。
次に下図のONボタンをクリックして設定を有効化します。
秘密鍵の生成
SSHを有効化したら、続いて秘密鍵を生成します。
xserverでは、秘密鍵の生成ツールも用意されているのでせっかくなのでそれを使用してみます。
先ほどSSHを有効化したページに「公開鍵認証用鍵ペアの生成」というタブがあるので、そちらをクリックしてパスワードを入力して、「確認画面へ進む」ボタンをクリックします。
確認画面が表示されたら右下の「生成する」ボタンをクリックすると「サーバーID.key」というファイルがダウンロードされると思います。
続いて、ダウンロードされたファイルをテキストエディタなどで開いて、ファイルに記載されている文字列を全てコピーして、先ほど鍵を生成したページの「公開鍵登録・設定」タブを選択して表示されるテキストエリアにペーストして鍵を登録します。
これで鍵の生成と公開鍵の設定は完了です。
SSH接続
鍵の設定が完了したら、実際にSSHでサーバーに接続してみます。
まず、先ほどダウンロードした鍵ファイル(サーバーID.key)を、任意の場所に移動します。今回はMacなのでホームディレクトリの.sshディレクトリに移動します。
移動したら、下記コマンドで分かりやすい名前に変更します。今回は「id_rsa_xserver」と命名したいと思います。
$ mv ~/.ssh/サーバーID.key ~/.ssh/id_rsa_xserver
名前を変更したら下記の通りパーミッションも変更しておきます。
$ chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa_xserver
ここまで設定が済んだら、ようやくSSH接続になります。下記コマンドで接続できるかと思います。(サーバーIDの箇所は適宜ご自身の環境に合わせて変更してください)
$ ssh -l サーバーID -i ~/.ssh/id_rsa_xserver サーバーID.xsrv.jp -p 10022
接続時にパスフレーズを求められると思うので、鍵を生成した時に設定したパスフレーズを入力してください。
XserverにLaravelをインストール
SSHログインしたら、自身のホーム環境(/home/サーバーID)にLaravelをインストールしていきます。
PHPのバージョンを変更
まずは、今回インストールするLaravel5.8はPHPのバージョン7以上が必要になるのでPHPのバージョンを変更します。
下記コマンドで利用可能なPHPのバージョンを確認します。
$ find /opt/php-*/bin -type f -name 'php'
7以上のバージョンがいくつか表示されると思うので、適当に変更します。今回は7.2.6に変更したいと思います。
変更方法は、まずホーム環境にbinディレクトリを生成します。
$ mkdir $HOME/bin
続いて、生成したbinディレクトリに下記コマンドでシンボリックリンクを作成します。
$ ln -s /opt/php-7.2.6/bin/php $HOME/bin/php
次にパスを変更します。
.bash_profileファイルを下記コマンドで開きます。
$ vi $home/.bash_profile
開いたら、「PATH=$PATH:$HOME/bin」という記述があると思うので、そこを「PATH=$HOME/bin:$PATH」に変更して保存します。
保存したら、下記コマンドでパスを反映させます。
$ source ~/.bashrc
これで変更は完了です。下記コマンドでバージョンの確認をしておきましょう。
$ php -v
PHP 7.2.6 (cli) (built: May 30 2018 21:41:35) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
問題なく変更されていればバージョン名などが表示されると思います。
Composerのインストール
続いて、Laravelのインストールに必要なComposerを下記コマンドでインストールします。
$ curl -sS https://getcomposer.org/installer | php
インストールが完了したら下記コマンドで正常にインストールされてあるか確認します。
$ composer -V
バージョン名が表示されてあれば問題なくインストールできています。
Laravelのインストール
では、ようやく今回の本題であるLaravelをインストールしていきます。
Homeディレクトリに移動して、下記コマンドでインストールします。今回は5.8系のバージョンをインストールします。
$ php composer.phar create-project "laravel/laravel=5.8.*"
インストールが完了したらHome環境に「Laravel」というディレクトリが出来ていると思います。下記コマンドで念のため確認しておきましょう。
$ ls | grep "laravel"
laravel
インストールが完了したら、下記コマンドでLaravelディレクトリに移動します。
$ cd laravel
laravel
移動したら、下記コマンドで「storage」と「bootstrap/cache」のパーミッションをそれぞれ変更します。
$ chmod -R 777 storage
$ chmod -R 775 bootstrap/cache
シンボリックリンクの作成
現時点では、Home環境にLaravelをインストールしただけなので、Webサービスを展開したいドメインにアクセスしても何も表示されないと思います。そこで展開したいドメインのパブリックディレクトリとLaravelのパブリックディレクトリをシンボリックリンクで紐付けます。
例えば、「laravel.example.com」というサブドメインで展開したい場合は、まずXserver側でサブドメインを追加します。サブドメインはサーバーパネルの「サブドメイン設定」から追加することができます。
サブドメインを追加すると、「$HOME/example.com/public_html」配下に「Laravel」というディレクトリが出来ていると思いますので、一旦このディレクトリを削除します。
削除したら、下記コマンドでインストールしたLaravelの公開ディレクトリとサブドメインを紐付けます。
ln -s $HOME/laravel/public $HOME/example.com/public_html/laravel
これでシンボリックリンクが作成されるので、該当URL(ここではlaravel.example.com)にアクセスするとLaravelの画面が表示されるかと思います。
これで完了です。
まとめ
ということで、今回はXserverにLaravelをインストールする方法を紹介させていただきました。
SSH接続の設定から考えると何気にステップが多いですが、やってみるとなんてことありません。小規模で個人情報を使用しないようなサービスであればXserverのようなレンタルサーバーでもLaravelを使ってWebサービスを運営していくのも有効だと思うので参考になれば。
てことで、今回はここまで!また!
[…] エックスサーバー(Xserver)にLaravelをインストールする方法 […]
[…] | 実践的Web開発メソッド実践的Web開発メソッド 参考 エックスサーバー(Xserver)にLaravelをインストールする方法 | 84LIFEブ… 参考 laravel サーバー(XSERVER)で環境構築方法 – Programing NotePrograming […]