はじめに
今回は、さくらのレンタルサーバーでLaravelの環境を構築し、Webアプリを公開する手順をまとめました。
さくらのレンタルサーバーですが、SSH接続しコマンドの実行もでき、Laravelが稼働する環境を作成することができます。
月額費用も固定で、コスパもよく、Webアプリケーションを公開する環境としてはオススメです。
新規申込方法については以下の記事を参考にしてください。
また、Laravelの環境を構築するにあたって、SSH接続する必要があります。
以下の記事を参考に、設定を行ってください。
他にも私のブログで、Laravelについて解説している記事がありますのでご覧ください。
【紹介】個人開発
私の個人開発ですがQuiphaというサービスを開発しました。(Laravel, Vue3など)
良かったら、会員登録して動作を試してみて下さい。
また、Laravel 9 実践入門という書籍を出版しました。
Kindle Unlimitedを契約している方であれば、読み放題で無料でご覧いただくことができます。
環境
さくらのレンタルサーバーについて
さくらのレンタルサーバーは、個人から企業まで幅広い層の顧客に対応したサーバーを提供しています。
その安定性やサポート体制、セキュリティ面での信頼性が高く評価されており、広く利用されています。
2022年2月16日にリリースされた新サーバーでは、SSD化をはじめとした機材の刷新によって、従来サーバーと比較して5倍の高速化を実現したとのことです。
さくらのレンタルサーバへの申し込みは以下からできます。
一番安いプランで、月額128円から利用できます。

SSHの接続もでき、無料のSSLや独自ドメインの運用も可能です。
例えば、PHPのLaravelで開発したWebアプリケーションを公開することもできます。
バージョン確認
さくらのレンタルサーバーにSSHで接続します。
まずはデフォルトでインストールされている各種バージョンを確認しましょう。
PHP
PHPが使えるようになっており、バージョンは以下でした。
% php -v
PHP 8.0.27 (cli) (built: Feb 14 2023 09:07:25) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.27, Copyright (c) Zend Technologies
with Zend OPcache v8.0.27, Copyright (c), by Zend Technologies
さくらのレンタルサーバーでは、現時点でPHP8.0までしか対応していません。

最新のバージョンであるLaravel10は、PHP8.1以降にのみ対応であり、使用できない点に注意です。
他
ComposerとNPMはインストールされていませんでした。
Laravel環境構築
それではLaravel環境を構築していきます。
Composerインストール
公式の手順通り、以下のコマンドを実行します。
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');"
binフォルダに移動しました。
% mkdir bin
% mv composer.phar bin/composer
パスが通っているため、以下のコマンドでComposerが使えます。
% composer -V
Composer version 2.5.5 2023-03-21 11:50:05
NPMのインストール
さくらのレンタルサーバーにNPMをインストールする手順は、以下の記事を参考にしてください。
Laravelプロジェクトの作成
プロジェクト作成
さくらのレンタルサーバー上で新規のLaravelプロジェクトを作成してみます。
ホームの直下に適当なディレクトリを作成し、新規でLaravelのサンプルプロジェクトを作成します。
$ mkdir laravel-project
$ cd laravel-project/
$ composer create-project laravel/laravel sample-project --prefer-dist
Composerで管理しているパッケージもインストールされますので、composer install
は不要です。
Laravelのバージョンを確認しましょう。
$ cd sample-project/
$ php artisan -V
Laravel Framework 9.52.6
設定ファイルの変更
プロジェクト直下の.envファイルを適宜修正します。(一部抜粋)
..
APP_ENV=production
APP_DEBUG=false
APP_URL=https://初期ドメイン
公開ディレクトリの設定
Laravelプロジェクト直下のpublicフォルダを、公開フォルダに配置します。
シンボリックリンクを貼りますが、以下は例です。
ln -s $HOME/laravel-project/sample-project/public $HOME/www/laravel
ブラウザから以下のURLにアクセスしてみましょう。
https://初期ドメイン/laravel/
Laravelの起動画面が表示されました。

Nodeパッケージのインストールとビルド
プロジェクト直下で以下のコマンドを実行し、NPMパッケージをインストールします。
$ npm install
以下のコマンドでトランスパイルを行います。(JS/CSSをビルド)
最新のLaravelはViteに置き換わっておりますので、本番環境とし以下を指定しました。
$ npm run build
以下のようにkilledされ、実行されませんでした。
$ npm run build
> build
> vite build
Killed
優先度を下げて実行してみました。
$ nice -n 20 npm run build
> build
> vite build
vite v4.3.1 building for production...
✓ 49 modules transformed.
public/build/manifest.json 0.25 kB │ gzip: 0.13 kB
public/build/assets/app-4ed993c7.js 0.00 kB │ gzip: 0.02 kB
public/build/assets/app-8857f610.js 101.26 kB │ gzip: 37.97 kB
✓ built in 972ms
プロジェクト直下のpublicフォルダにjs/cssが出力されます。
./public/build/assets/app.xxx.css
./public/build/assets/app.xxx.js
./public/build/manifest.json
Viteについては以下の記事にもまとめました。
データベースの設定
データベースへ接続してみましょう。
さくらのサーバーコントロールパネルから、データベースを選択します。

新規追加をクリックします。

データベース名を指定して、作成します。

Laravelのプロジェクトの直下にある、.envファイルを以下のように編集します。
DB_CONNECTION=mysql
DB_HOST=xxx.db.sakura.ne.jp
DB_PORT=3306
DB_DATABASE=作成したデータベース名
DB_USERNAME=設定したユーザ名
DB_PASSWORD=設定したパスワード
以下のコマンドを実行します。
.envのAPP_ENVを「production」にしていたため、以下の確認メッセージが表示されますが、「yes」を入力します。
$ php artisan migrate
**************************************
* Application In Production! *
**************************************
Do you really wish to run this command? (yes/no) [no]:
>
以下のようなメッセージが表示されれば、正常に実行完了です。
INFO Preparing database.
Creating migration table ......................................... 15ms DONE
INFO Running migrations.
2014_10_12_000000_create_users_table ............................. 47ms DONE
2014_10_12_100000_create_password_resets_table ................... 20ms DONE
2019_08_19_000000_create_failed_jobs_table ....................... 18ms DONE
2019_12_14_000001_create_personal_access_tokens_table ............ 31ms DONE
phpMyAdminを開き、テーブルが作成されていることを確認しましょう。

参考
ConoHa WINGの例も参考にしてください。
エックスサーバーの例も参考にしてください。
さいごに
Laravelで作成したWebアプリケーションを、さくらのレンタルサーバーで構築し公開する手順をまとめました。
最初の構築は少し手間ですが、レンタルサーバーでも構築することができ、運用も楽です。
また、GitHubからデプロイすることも可能です。
是非試してみてください。
さくらのレンタルサーバへの申し込みは以下からできます。
他にも私のブログで、Laravelについて解説している記事がありますのでご覧ください。
コメント