さくらのレンタルサーバ:Laravelをインストールする方法をわかりやすく解説
2023.10.21 /
本記事ではさくらのレンタルサーバにLaravelをインストールする方法について解説していきます。
LaravelはPHPフレームワークであり、現在では最も人気のあるPHPフレームワークです。Laravelで作成したWebアプリケーションを本番環境で動かしたい場合、サーバーの選択肢の一つとして「さくらのレンタルサーバ」が出てくる方が多いでしょう。
ぜひ本記事を通して、数あるレンタルサーバーの中でも特に人気がある「さくらのレンタルサーバ」にLaravelをインストールして動作させる方法について理解を深めてください。
さくらのレンタルサーバにインストールするLaravelはLaravel10です。
Windows端末にLaravelをインストールして開発環境を構築する方法を知りたい方は以下記事をご参照ください。
【Laravel】Windowsにインストールして開発環境を構築する方法
SSHでさくらのレンタルサーバにアクセスする方法
SSHとは
さくらのレンタルサーバにアクセスするためにSSHクライアントを使用します。
SSHとは
SSH(Secure Shell)とはインターネット経由で遠隔地にあるサーバーに安全に接続し、遠隔操作するための手段(プロトコル)です。
SSHはLinux系OSではデフォルトで導入されており、通信データは暗号化されるので安全にサーバー操作が行えます。
SSHによるサーバーアクセスにはSSHクライアントソフトを利用しますので、端末にソフトウェアをインストールする必要があります。
SSHを利用するにはさくらのレンタルサーバでスタンダードプラン以上の契約が必要です
パソコンにSSHクライアントソフトがインストールされていなければインストールしてください。ここでは「Tera Term」という無料ソフトウェアを使ってサーバーにSSH接続します。
SSHに必要な情報
SSHクライアントソフトでさくらのレンタルサーバに接続するには以下接続情報が必要になります。
必要な情報 | 説明 |
---|---|
サーバー名 | 初期ドメイン。〇〇.sakura.ne.jpというドメイン名 |
ユーザー名 | 初期ドメインのアカウント名。office54.sakura.ne.jpであればoffice54がユーザー名 |
パスワード | サーバーのパスワード |
プロトコル | SSH2 |
ポート番号 | 22 |
サーバー名はさくらのレンタルサーバ契約時に設定しています。次図の画面で入力したのがユーザー名となります。
上記の接続情報を使ってさくらのレンタルサーバにSSH接続を行います。
SSHでさくらのレンタルサーバにアクセスする
実際にTera Termを使ってさくらのレンタルサーバに接続してみます。Tera Termを起動すると「新しい接続」画面が表示されますので、ホストには「サーバー名」、TCPポートには「22」、サービスに「SSH」をチェックしてバージョンに「SSH2」を選択したら「OK」をクリックします。
画面上に以下英文が表示されればログインは成功しています。
Welcome to FreeBSD!
%
ここからはLinuxコマンドを使ってサーバー操作を行っていきます。
Laravelインストール前の事前設定
PHPのバージョン確認
さくらのレンタルサーバでは使用するPHPのバージョンをコントロールパネルから設定できます。さくらのレンタルサーバのコントロールパネルにログインしたら、左ペインから「スクリプト設定」を選択し、「言語バージョン」をクリックしてください。
右ペインに表示される「言語バージョン」より現在のPHPのバージョンが確認できます。最新のLaravel10をサーバーにインストールする場合はPHP8.1以上が必要になるので、最新のバージョンを入れておくことをお勧めします(2023年10月現在ではPHP8.1が最新)。
PHP設定を選択したら「保存」を押して設定を更新しましょう。
ドメインの登録
これからインストールするLaravelアプリケーションを公開できるように、さくらのレンタルサーバにドメインを登録しておきます。ドメインは事前にさくらインターネットやお名前ドットコムなどから取得しておきましょう。
さくらのレンタルサーバにドメインを登録する方法は以下の通りです。ここではお名前ドットコムで取得したドメインを追加する流れを解説しています。
- さくらのレンタルサーバのコントロールパネルから、「ドメイン/SSL」<「ドメイン/SSL」をクリックする
- ドメイン新規追加をクリックする
- 取得したドメインの種類で合致する選択をクリックする(ここではお名前ドットコムで取得したドメインなので「他社で取得したドメインを移管せずに使う」の追加をクリック)
- ドメイン名を入力して「追加」をクリックする
上記の方法でさくらのレンタルサーバにドメインを追加することができます。
お名前ドットコムなど他社で取得したドメインを利用する場合はネームサーバーを以下のように変更してください
- ネームサーバー1:ns1.dns.ne.jp
- ネームサーバー2:ns2.dns.ne.jp
ドメインのSSL設定
SSLの証明書登録を行ってhttpsを有効にします。以下の流れで対象のドメインのSSLを有効にしましょう。ここでは無料で利用できる「Let’s Encrypt」を使います。
- さくらのレンタルサーバのコントロールパネルから、「ドメイン/SSL」<「ドメイン/SSL」をクリックする
- 表示されたドメイン一覧から、対象のドメイン欄にある「SSL」をクリックする
- SSL証明書登録画面で「登録設定を始める」をクリックする
- Let’s Encryptの「利用する」をクリックする
- 利用ポリシーの同意をチェックし、「無料SSLを設定する」をクリックする
上記の流れでSSL証明書の発行手続きは完了です。SSL証明書が発行されるまでは数十分から数時間かかるため、発行されるまで待機する必要があります。
SSL証明書が発行されるとメールで「発行のお知らせ」が届きます。無事発行できたら自動的にSSL設定は有効になっています。
データベースの作成
さくらのレンタルサーバではデータベースとしてMySQLが利用できます。
データベースとは大量のデータを蓄積して、いつでも・好きな時に・簡単にデータを利用可能なシステムです。データベースのデータは条件指定してデータを抽出したり、並び替えなど様々な操作が可能です。
データベースとは?機能と特徴(SQLite、MySQL、TinyDB)
さくらのレンタルサーバでは以下の流れでMySQL上にデータベースを作成できます。
- さくらのレンタルサーバのコントロールパネルから、「Webサイト/データ」<「データベース」をクリックする
- 新規追加をクリックする
- データベース名や接続用パスワードなどを入力して「作成する」をクリックする
上記の流れでさくらのレンタルサーバにMySQLのデータベースを作成することができます。
Laravelをさくらのレンタルサーバにインストールする方法
Composerのインストール
Laraveをサーバーにインストールするために使用する「Composer」をインストールします。
Composerとは
ComposerとはPHPのライブラリ依存性管理ツールです。Composerはライブラリやパッケージの依存関係の管理などを行い、システムが問題なく動く環境を構築する役割をしています。
例えばライブラリAを利用する場合、先にライブラリBをインストールする必要があるといったことが頻繁にあります。これをライブラリの依存といいます。
この依存関係をComposerは管理しており、依存関係にあるライブラリをまとめてインストールしてくれます。
そのためComposerを使ってLaravelをインストールすることで、問題なく動く環境が構築されるということです。
まずはホームディレクトリに移動するために以下コマンドを実行します。
% cd ~
現在のディレクトリは以下コマンドで確認できます。
% pwd
/home/username
次にbinディレクトリを作成します。
% mkdir bin
作成したbinディレクトリに移動するため以下コマンドを実行します。
% cd bin
次にComposerをダウンロードします。ダウンロードするための最新のスクリプトは「Download Composer」から確認してください。2023年10月現在に記載されていた以下スクリプトを実行します。
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'e21205b207c3ff031906575712edab6f13eb0b361f2085f1f1237b7126d785e826a450292b6cfd1d64d92e6563bbde02') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
実行後に現在のディレクトリ内に「composer.phar」というファイルが作成されています。
% ls
composer.phar
次に以下コマンドを実行してcomposer.pharのファイル名を変更します。
% mv composer.phar composer
% ls
composer
ホームディレクトリに移動し、再構築のため「rehash」コマンドを実行、そしてcomposerコマンドが実行できることを確認しましょう。
% cd ~
% rehash
% composer -V
Composer version 2.6.5
Laravelのインストール
Laravelをさくらのレンタルサーバにインストール(Laravelのプロジェクト作成)します。インストールコマンドを実行する前にインストール先のフォルダに移動しましょう。ここでは「/home/username/www」に移動してインストールします。
cd /home/username/www
Laravelのインストールコマンドを実行します。ここではoffice54というプロジェクトを作成します。
composer create-project laravel/laravel office54
次図のように「Application key set successfully.」と表示されればインストールが完了です。
現在のディレクトリの中に先ほど指定したプロジェクト名のディレクトリが作成されています。
% ls
office54
プロジェクトに移動してLaravelのバージョン確認をしてみてください。
% cd office54
% php artisan -V
Laravel Framework 10.28.0
上記コマンドにより最新のLaravel10がインストールされていることがわかりました。
Webアプリケーションの公開設定
このままではドメインにアクセスしてもLaravelで作成したWebアプリケーションにアクセスできません。ドメインにアクセスしたときにプロジェクトのpublicにアクセスするようにコントロールパネルから公開フォルダの設定をする必要があります。
まずドメイン/SSLページを開き、対象のドメインから「設定」をクリックします。
表示されたドメイン設定画面で作成したプロジェクト内のpublicをWeb公開フォルダに指定し、「保存する」をクリックします。
上記の設定を行った後にドメインにアクセスし、次図の画面が表示すればLaravelアプリケーションの公開設定も完了です。
設定ファイル(.envファイル)の編集
プロジェクトのルートディレクトリに環境設定ファイル「.env」があります。.envファイルにはLaravelアプリケーションの環境に関する様々な設定が記述されており、開発環境や本番環境の切り替えやデータベース接続設定などが行えます。
さくらのレンタルサーバは本番環境という位置づけなので、環境設定ファイルには本番向けの設定に変更する必要があります。
URLとデバック設定
.envファイルに記述されている「APP_URL」と「APP_DEBUG」を以下のように変更します。
APP_DEBUG=false
APP_URL=https://office54.net
Linuxでファイルを編集する場合はvimコマンドなどを使ってください。今回ですと「vim .env」で編集画面に移動します。
本番環境なのでデバック設定(APP_DEBUG)はtrueからfalseにして、URL設定(APP_URL)はhttps://ドメイン名に書き換えましょう。
データベース設定
「Laravelインストール前の事前設定」で作成したMySQLのデータベースに接続する設定を行います。
環境設定ファイル.envには「DB_」で始まる設定項目が6つあります。これらの設定項目にデータベース作成時に設定したパスワードなどを以下の通りに入力します。
DB_CONNECTION=mysql
DB_HOST=mysql○○.ユーザー名.sakura.ne.jp
DB_PORT=3306
DB_DATABASE=データベース名
DB_USERNAME=ユーザー名
DB_PASSWORD=接続先パスワード
DB_HOSTにはmysql○○.ユーザー名.sakura.ne.jpというデータベースサーバーを指定します
コントロールパネルのデータベースページからもパスワード以外は確認することができます。
上記設定が完了したら、正常にデータベースに接続できるか「php artisan db」を実行してみましょう。
% php artisan db
…
…
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
UserName@mysql〇〇.UserName.sakura.ne.jp [UserName_〇〇]>
エラー表示ではなく、上記のように表示されていればデータベース設定は問題ないです。この状態であればマイグレーションを実行して、マイグレーションファイルを元にデータベースにテーブルが作成されます。
マイグレーションとはデータベースのスキーマ(構造)を管理するための機能です。データベーススキーマをコードで表現し、それをデータベースに反映することができます。つまりマイグレーションはテーブル作成や定義変更(カラムの変更・追加・削除など)を管理する機能ということです。
【Laravel】マイグレーションとは(migration):テーブル作成について
セキュリティ設定
環境設定ファイル.envはこのままでは外部から中身を閲覧することができてしまいます。データベースパスワードなど見られることは避けたいので、外部からアクセスできないように設定していきます。
プロジェクトのルートディレクトリに「.htaccess」を作成して、以下の設定を記述してください。
<Files .env>
deny from all
</Files>
これにより外部から.envを閲覧することを制限することができます。