Laravel12をレンタルサーバーにデプロイする方法についてまとめました。
GitHub からデプロイして公開する場合の注意点や、Node.js が使えない環境での対処法も含めて解説します。
さくらレンタルサーバーで Laravel を動かす準備
必要な条件
GitHub から
git pull
できる環境composer
が使えることPHP 8.2 以上が利用可能であること
Laravel 12 は PHP 8.2 以上必須なので、まずは PHP バージョンを確認しましょう。
PHP バージョンをディレクトリ単位で切り替える
古くから契約している場合、サーバーの PHP バージョンが 7.x のままかもしれません。
その場合でも、公開ディレクトリ単位で PHP のバージョンを変更できます。
設定方法
.htaccess
Action myphp-script /php.cgi
AddHandler myphp-script .php .html
php.cgi
#!/bin/sh
exec /usr/local/php/8.2/bin/php-cgi
この 2 ファイルを Laravel 公開ディレクトリのルートに設置すれば、そのディレクトリだけ PHP 8.2 を利用できます。
注意点として、php.cgiのパーミンションをチェックしましょう。
755で正常に動作します。
Composer をセットアップする
さくらレンタルサーバーには composer が入っていませんが、自分のユーザー領域に簡単に導入できます。
# ホームディレクトリへ
cd ~
# bin ディレクトリを作成
mkdir bin
# composer をダウンロード
curl -sS https://getcomposer.org/installer | php
# 移動
mv composer.phar bin/composer
# パスを通す(.cshrc や .bashrc に追加)
set path = (/sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin $HOME/bin)
# 動作確認
composer -V
Node.js が使えない環境での対応
さくらレンタルサーバーでは Node.js を利用できないため、npm run build
をサーバー上で実行することはできません。
そのため、ローカルでビルドして GitHub に成果物を含める必要があります。
.gitignore
の修正
通常の Laravel プロジェクトでは、以下の行が .gitignore
に入っています。
/public/build
手順の流れ
ローカルでビルド
npm install npm run build
生成された
public/build/
を GitHub に pushサーバーで
git pull
→composer install
これで、Node.js が使えない環境でも Laravel 12 が正しく動作します。
デプロイの最終手順(まとめ)
サーバーに
git pull
composer install --no-dev --optimize-autoloader
npm run build
はローカルで済ませてpublic/build/
を Git に含める
さらに、GitHub の Webhook を設定すれば、自動デプロイも可能です。
まとめ
Laravel 12 を さくらレンタルサーバーにデプロイするには PHP 8.2 が必須
ディレクトリ単位で PHP バージョンを切り替えることが可能
composer はユーザー領域にインストールすれば利用可能
Node.js が使えないため、ビルド済み
public/build/
を GitHub に含める必要あり
この方法を使えば、VPS やクラウドを使わなくても、さくらレンタルサーバーで最新の Laravel を動かすことができます。