LaravelのサイトをUbuntu20+Apache2にデプロイ

Laravel
スポンサーリンク


Laravelで構築したサイトをUbuntu20+Apache2環境にデプロイする際に色々と時間がかかったので今後のためにメモしておきます。

今回の環境はこちらです。

Ubuntu

$ cat /etc/issue
Ubuntu 20.04.5 LTS \n \l

Apache

$ apachectl -v
Server version: Apache/2.4.41 (Ubuntu)
Server built:   2022-06-14T13:30:55
スポンサーリンク

Apache2のドキュメントルート変更

修正する2つのファイル
/etc/apache2/apache2.conf
/etc/apache2/sites-available/000-default.conf
$ sudo vi /etc/apache2/apache2.conf

下記を追加します。
Laravelをインストールしたパスを記載します。
AllowoverrideをAllにしてインストールしたLaravelのpublicフォルダにある.htaccessを許可します。

<Directory /home/ユーザ名/アプリ名/public/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>
$ sudo vi /etc/apache2/sites-available/000-default.conf

ドキュメントルートに先ほどと同じくLaravelをインストールしたパスを記載します。

<VirtualHost *:80>
        :
        :
        :
        DocumentRoot /home/ユーザ名/アプリ名/public
        :
        :
</VirtualHost>

mod_rewrite有効化

今までの設定でブラウザでサイトにアクセスしてみると404エラーになってしまいました。
原因はmod_rewriteが有効になっていなかったからでした。
デフォルトでは有効になっていないことに気付くのに時間がかかりました。

$ sudo a2enmod rewrite

Apache2を再起動します。

$ sudo systemctl restart apache2