L

VPSにデプロイして公開する

Laravelアプリをレンタルサーバー(VPS)に載せて公開するまでの流れを、初心者向けに全体像から解説します。

広告枠(記事上)— 本番では AdSense 広告が表示されます

いよいよ最後の単元です。前の単元で準備したアプリを、実際のサーバーに載せて公開します。ここでは、自由度の高い VPS(仮想専用サーバー) に公開する流れを、全体像からつかみます。

公開先にはいくつか選択肢があります。本単元は最も汎用的な VPS を例にしますが、「コードをサーバーに置き、設定して、Webサーバーから見えるようにする」という大きな流れはどこでも同じです。

デプロイの全体像

やることは、大きく次の4ステップです。

① コードをサーバーに置く
② 依存をインストールし、設定する(前の単元の準備)
③ Webサーバー(Nginx等)の公開先を public/ に向ける
④ ファイルの権限を整える

順に見ていきましょう。

① コードをサーバーに置く

サーバーにSSHで接続し、Gitでコードを取得するのが一般的です。

git clone https://github.com/あなたのユーザー名/リポジトリ.git
cd リポジトリ

SSH接続やサーバーの初期設定は、契約したサーバーの案内に従ってください。ここではコードを置いた後の流れに集中します。

② インストールと設定

前の単元で学んだ準備を、このサーバー上で行います。

composer install --optimize-autoloader --no-dev
cp .env.example .env      # 本番用に編集(APP_DEBUG=false 等)
php artisan key:generate
php artisan migrate --force
npm install && npm run build
php artisan config:cache && php artisan route:cache && php artisan view:cache

③ 公開先を public/ に向ける(重要)

ここが初心者のつまずきポイントです。Laravelで外部に公開してよいのは、プロジェクト直下の public/ フォルダだけです。.env やソースコードが置かれた他のフォルダは、外から直接見えてはいけません。

そこで、Webサーバー(Nginx など)の「公開フォルダ(ドキュメントルート)」を、プロジェクトの public/ に設定します。Nginx の設定例です。

server {
    server_name あなたのドメイン;
    root /var/www/リポジトリ/public;   # ← public を指す

    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/run/php/php-fpm.sock;  # 環境に合わせる
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
    }
}

root.../public を指していることが肝心です。

④ ファイルの権限を整える

Laravel は、ログやキャッシュを storage/bootstrap/cache/ に書き込みます。Webサーバーがここに書き込めるよう、権限を与えます。

chmod -R 775 storage bootstrap/cache

権限の所有者(ユーザー/グループ)は、サーバーの構成に合わせて設定してください。「画面が真っ白/500エラー」の多くは、この権限不足か APP_DEBUG=false でエラーが隠れているのが原因です。

更新のたびにやること

コードを更新したら、サーバーで次を実行するのが基本の流れです。

git pull
composer install --optimize-autoloader --no-dev
php artisan migrate --force
npm run build
php artisan config:cache && php artisan route:cache && php artisan view:cache

毎回同じなので、慣れてきたらスクリプト化して1コマンドにまとめると安全で楽になります。

おつかれさまでした

これで、環境構築からデプロイまで一通りを学びきりました。あなたはもう、Laravel で「作って・動かして・公開する」流れを自分の手で実行できます。あとは、作りたいものを作りながら、各章を辞書のように読み返してください。学習はここからが本番です。

まとめ

  • デプロイは「①コードを置く → ②インストール・設定 → ③public/を公開 → ④権限」の流れ。
  • 公開してよいのは public/ だけ。Webサーバーの rootpublic/ に向ける。
  • storagebootstrap/cache に書き込み権限を与える。
  • 更新時の手順は毎回同じなので、スクリプト化すると安全。
  • 全カリキュラム修了です。おつかれさまでした!
広告枠(記事下)— 本番では AdSense 広告が表示されます