さくらのレンタルサーバでLaravelを動かす方法
今回はさくらのレンタルサーバでLaravelの環境を構築する方法を説明します。
Composerのインストール
Laravelのインストールや管理にはComposerが必要なのでインストールを行います。
まず、SSHでさくらのレンタルサーバへログインします。
ログインしたら「cd ~」でホームディレクトリに移動します。例えばユーザ名がabcなら/home/abcに移動します(pwdコマンドで確認できます)。そして「cd bin」でbinフォルダに移動します。
次にComposerをダウンロードします。以下のページからダウンロードに使用するコマンドを取得できます。
Download Composer Latest: v2.5.5
記事執筆時点では以下のようなスクリプトでした。
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
このスクリプトを、SSHでログインしているターミナルにコピペで貼り付けて実行します。実行したら現在いるフォルダの中に composer.phar というファイルが生成できていると思います。(lsコマンドで確認できます)
そうしたら、以下のコマンドでファイル名を変更します。
mv composer.phar composer
cd コマンドで再度ホームディレクトリに戻ります。composer about コマンドを実行して、以下のようにバージョン情報などが表示されたら成功です。
Laravelのインストール
次にLaravelをインストールしたいディレクトリに移動します。今回は例として、以下のフォルダにインストールします。
/home/<ユーザー名>/www/website/<ドメイン名>
インストールしたいフォルダーに移動したら、以下のコマンドを実行します。(末尾のピリオドに注意!)
composer create-project laravel/laravel:^<バージョン> .
以下のようにインストールが始まります。
以下のように表示されればインストール完了です。(バージョンによって表示は違います)
ドメインの設定
次にドメインの設定を行います。インストールしたディレクトリの中のpublicフォルダをルートに指定し、ドメインの設定を行って下さい。
設定したドメインにアクセスし、以下のような画面が出ればインストール完了です。
しかし、このままではドメイン関連でエラーが起きてしまうかもしれないので、.envファイルを編集します。インストールしたディレクトリで 「vim .env」を実行し、vimで編集を行います。ファイルの上部にある、以下の設定の中のAPP_URLをインストールしたドメインに書き換えます(例: APP_URL=https://example.com (空白を開けないこと))。
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:<ランダムな文字列>
APP_DEBUG=true
APP_URL=https://example.com
データベースの設定
Laravelではデータベースを使うことが多いと思うので、データベースの設定を行います。さくらのレンタルサーバの公式マニュアルに従ってデータベースを作成します。
データベースの作成・追加・削除・パスワード再設定をしたい | さくらのサポート情報
作成できたら、「ドメインの設定」の最後に編集を行った.envファイルを再度開きます。DBと書かれたところの項目を、以下を参考に書き換えます。
DB_CONNECTION=mysql
DB_HOST=mysql○○.<ユーザー名>.sakura.ne.jp
DB_PORT=3306
DB_DATABASE=<ユーザー名>_DB名
DB_USERNAME=<ユーザー名>
DB_PASSWORD=<パスワード>
書き換えができたら保存を行い、以下のコマンドを実行して接続を確認します。
php artisan db
コマンドを実行した際に「ERROR 2003 (HY000): Can't connect to MySQL server on」等のエラーが出た場合は正常に接続できていないので、設定を再度確認して下さい。正常に接続できた場合は以下のような表示が出ます。
これが出ていればデータベースの設定は完了です。(migration等もできると思います)
セキュリティ設定
現在の設定では、.envファイルのURLを直接指定すると、ファイルの中身を見ることができてしまいます。.envファイルにはデータベースのパスワードなど、公開しては良くない情報が記載されていますので、外部からアクセスできないように設定します。
具体的には、.envファイルと同じディレクトリに.htaccessファイルを設置し、そこに.envファイルへのアクセスを拒否する設定を書き込みます。まずは「vim .htaccess」を実行し、vimで編集を行います。そして、.htaccessファイルに以下の設定を書き込んでください。
<Files .env>
deny from all
</Files>
まとめ
今回はさくらのレンタルサーバでComposerを使ってLaravelのインストールを行いました。レンタルサーバーでSSHで接続し、コマンドで簡単にLaravelをインストールできるのは結構珍しいと思います。非常に使いやすいので、Laravelをホストしたいと考えている方はぜひさくらのレンタルサーバをご検討ください!