0
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Laravel】デプロイ時の公開フォルダの設定(さくらのレンタルサーバー使用)

Last updated at Posted at 2023-01-19

困った事

  • 久しぶりにLaravelアプリをさくらのレンタルサーバーにデプロイしようと思い、2年ほど前の自分の記事「さくらのレンタルサーバでLaravelアプリをデプロイしてみた(Qiita)」を参考に作業していたら、以下のようにハマった。
  • アプリの公開のために、サーバー上のLaravelプロジェクトのpublicを参照するシンボリックリンクを公開フォルダに置いたが、ルートURLがhttp://www.初期ドメイン/public/publicと、publicはつくし、なぜか2回繰り返されてしまった。前回はそんなことなかったのに。
  • ルートURLが不適切なことから、プロジェクト内のルーティングもおかしなことになって正常に動作しなかった。
  • 前回はそんなことなかったので、色々なサイトを見ながら、色々試した結果、丸1日かけて解決できた。

結論

  • 公開フォルダの設定を、シンボリックリンクを含めたところまで適切に設定する必要があった。
  • さくらのレンタルサーバーでは、初期ドメインの公開フォルダはwwwディレクトリに固定されているため、シンボリックリンクを含めることができない。
  • 同サーバーでは、追加でドメインを作成すれば公開フォルダをwww以下で自由に設定できる。新規ドメインでシンボリックリンクまでを含めるようにしたところ、正常にルートURLを設定できるようになった。

実例

  • アプリ名:my-app
  • アプリのパス:~/laravel-projects/my-app
  • さくらのレンタルサーバーでは、追加料金無しでさくらインターネットのサブドメインを2個まで登録できる。
  • 手順
    1. 任意のドメインを登録する。今回はpink-green-yellow.skr.jpというドメインを追加登録する。
      サーバーのコントロールパネルから、Web公開フォルダを~/www/pink-green-yellow/publicに設定する。
      wwwディレクトリ下にpink-green-yellowディレクトリを作成し、シンボリックリンクを貼る。
    2. さくらサーバーのコントロールパネルから、追加したドメインのWeb公開フォルダを~/www/my-appと設定する。
    3. 2で設定した公開フォルダにあうように、シンボリックリンクをwwwフォルダ下に作る。
      サーバー上でのコマンド
      % ln -s ~/laravel-projects/my-app/public ~/www/my-app
      
    4. https://www.pink-green-yellow.skr.jpにアクセスして、ルート画面が表示されれば成功。

その他

  • .htaccessを編集している記事があり、少し試そうとしたがしっかり理解できているわけではないので、あまりいじりたくはなかった。結果、.htaccessはいじらずに解決できたので良かった。
0
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?