さくらのレンタルサーバ:Laravelをインストールする方法をわかりやすく解説

時計 2023.10.21 / 時計

さくらのレンタルサーバ:Laravelをインストールする方法をわかりやすく解説

記事ではさくらのレンタルサーバLaravelインストールする方法について解説していきます。

LaravelはPHPフレームワークであり、現在では最も人気のあるPHPフレームワークです。Laravelで作成したWebアプリケーションを本番環境で動かしたい場合、サーバーの選択肢の一つとして「さくらのレンタルサーバ」が出てくる方が多いでしょう。

ぜひ本記事を通して、数あるレンタルサーバーの中でも特に人気がある「さくらのレンタルサーバ」にLaravelをインストールして動作させる方法について理解を深めてください。

さくらのレンタルサーバにインストールするLaravelはLaravel10です。

Windows端末にLaravelをインストールして開発環境を構築する方法を知りたい方は以下記事をご参照ください。

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」をクリックします。

Tera Termでさくらのレンタルサーバに接続

画面上に以下英文が表示されればログインは成功しています。

Welcome to FreeBSD!

%

ここからはLinuxコマンドを使ってサーバー操作を行っていきます。

Laravelインストール前の事前設定

PHPのバージョン確認

さくらのレンタルサーバでは使用するPHPのバージョンをコントロールパネルから設定できます。さくらのレンタルサーバのコントロールパネルにログインしたら、左ペインから「スクリプト設定」を選択し、「言語バージョン」をクリックしてください。

さくらのレンタルサーバ:言語バージョン

右ペインに表示される「言語バージョン」より現在のPHPのバージョンが確認できます。最新のLaravel10をサーバーにインストールする場合はPHP8.1以上が必要になるので、最新のバージョンを入れておくことをお勧めします(2023年10月現在ではPHP8.1が最新)。

さくらのレンタルサーバ:PHPバージョンの設定

PHP設定を選択したら「保存」を押して設定を更新しましょう。

ドメインの登録

これからインストールするLaravelアプリケーションを公開できるように、さくらのレンタルサーバにドメインを登録しておきます。ドメインは事前にさくらインターネットやお名前ドットコムなどから取得しておきましょう。

さくらのレンタルサーバにドメインを登録する方法は以下の通りです。ここではお名前ドットコムで取得したドメインを追加する流れを解説しています。

  1. さくらのレンタルサーバのコントロールパネルから、「ドメイン/SSL」<「ドメイン/SSL」をクリックする
  2. さくらのレンタルサーバ:「ドメイン/SSL」<「ドメイン/SSL」をクリック
  3. ドメイン新規追加をクリックする
  4. さくらのレンタルサーバ:ドメイン新規追加をクリックする
  5. 取得したドメインの種類で合致する選択をクリックする(ここではお名前ドットコムで取得したドメインなので「他社で取得したドメインを移管せずに使う」の追加をクリック)
  6. さくらのレンタルサーバ:お名前ドットコムで取得したドメインなので「他社で取得したドメインを移管せずに使う」の追加をクリック
  7. ドメイン名を入力して「追加」をクリックする
  8. さくらのレンタルサーバ:ドメイン名を入力して「追加」をクリックする

上記の方法でさくらのレンタルサーバにドメインを追加することができます。

ネームサーバーの設定

お名前ドットコムなど他社で取得したドメインを利用する場合はネームサーバーを以下のように変更してください

  1. ネームサーバー1:ns1.dns.ne.jp
  2. ネームサーバー2:ns2.dns.ne.jp

ドメインのSSL設定

SSLの証明書登録を行ってhttpsを有効にします。以下の流れで対象のドメインのSSLを有効にしましょう。ここでは無料で利用できる「Let’s Encrypt」を使います。

  1. さくらのレンタルサーバのコントロールパネルから、「ドメイン/SSL」<「ドメイン/SSL」をクリックする
  2. さくらのレンタルサーバ:「ドメイン/SSL」<「ドメイン/SSL」をクリック
  3. 表示されたドメイン一覧から、対象のドメイン欄にある「SSL」をクリックする
  4. さくらのレンタルサーバ:対象のドメイン欄にある「SSL」をクリック
  5. SSL証明書登録画面で「登録設定を始める」をクリックする
  6. さくらのレンタルサーバ:SSL証明書登録画面で「登録設定を始める」をクリック
  7. Let’s Encryptの「利用する」をクリックする
  8. さくらのレンタルサーバ:Let’s Encryptの「利用する」をクリック
  9. 利用ポリシーの同意をチェックし、「無料SSLを設定する」をクリックする
  10. さくらのレンタルサーバ:利用ポリシーの同意をチェックし、「無料SSLを設定する」をクリック

上記の流れでSSL証明書の発行手続きは完了です。SSL証明書が発行されるまでは数十分から数時間かかるため、発行されるまで待機する必要があります。

SSL証明書が発行されるとメールで「発行のお知らせ」が届きます。無事発行できたら自動的にSSL設定は有効になっています。

さくらのレンタルサーバ:SSL証明書の発行

データベースの作成

さくらのレンタルサーバではデータベースとしてMySQLが利用できます。

IT用語の確認

データベースとは大量のデータを蓄積して、いつでも・好きな時に・簡単にデータを利用可能なシステムです。データベースのデータは条件指定してデータを抽出したり、並び替えなど様々な操作が可能です。

さくらのレンタルサーバでは以下の流れでMySQL上にデータベースを作成できます。

  1. さくらのレンタルサーバのコントロールパネルから、「Webサイト/データ」<「データベース」をクリックする
  2. さくらのレンタルサーバ:さくらのレンタルサーバのコントロールパネルから、「Webサイト/データ」<「データベース」をクリック
  3. 新規追加をクリックする
  4. さくらのレンタルサーバ:新規追加をクリックする
  5. データベース名や接続用パスワードなどを入力して「作成する」をクリックする

上記の流れでさくらのレンタルサーバに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.」と表示されればインストールが完了です。

さくらのレンタルサーバ:Laravelのインストール完了

現在のディレクトリの中に先ほど指定したプロジェクト名のディレクトリが作成されています。

% ls
office54

プロジェクトに移動してLaravelのバージョン確認をしてみてください。

% cd office54
% php artisan -V
Laravel Framework 10.28.0

上記コマンドにより最新のLaravel10がインストールされていることがわかりました。

Webアプリケーションの公開設定

このままではドメインにアクセスしてもLaravelで作成したWebアプリケーションにアクセスできません。ドメインにアクセスしたときにプロジェクトのpublicにアクセスするようにコントロールパネルから公開フォルダの設定をする必要があります。

まずドメイン/SSLページを開き、対象のドメインから「設定」をクリックします。

さくらのレンタルサーバ:ドメインから設定をクリック

表示されたドメイン設定画面で作成したプロジェクト内のpublicをWeb公開フォルダに指定し、「保存する」をクリックします。

さくらのレンタルサーバ:Web公開フォルダの指定

上記の設定を行った後にドメインにアクセスし、次図の画面が表示すればLaravelアプリケーションの公開設定も完了です。

さくらのレンタルサーバ: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=接続先パスワード
POINT

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用語の確認

マイグレーションとはデータベースのスキーマ(構造)を管理するための機能です。データベーススキーマをコードで表現し、それをデータベースに反映することができます。つまりマイグレーションはテーブル作成や定義変更(カラムの変更・追加・削除など)を管理する機能ということです。

セキュリティ設定

環境設定ファイル.envはこのままでは外部から中身を閲覧することができてしまいます。データベースパスワードなど見られることは避けたいので、外部からアクセスできないように設定していきます。

プロジェクトのルートディレクトリに「.htaccess」を作成して、以下の設定を記述してください。

<Files .env>
 deny from all
</Files>

これにより外部から.envを閲覧することを制限することができます。