EC2のApacheサーバーにNext/Reactの静的ビルドファイルを公開する際にはまったので、備忘録として記載する。
SELinuxがデフォルトで有効
AL2023ではデフォルトでSELinux(Security-Enhanced Linux)が有効になっている。
有効な状態では、システム上のアプリケーション、プロセス、ファイルに対するアクセスが制限される。
確認コマンドは下記
sestatus
無効化するには、下記ファイルを修正する。
sudo emacs /etc/selinux/config
#SELINUX=permissive
SELINUX=disabled
ファイルを修正後、EC2を再起動する必要がある。
.htaccessを有効化&定義
Apache httpdの設定ファイル(/etc/httpd/conf/httpd.conf
)を下記のように修正する。
これで、/var/www/htmlのフォルダ/ファイルへのアクセスが有効化される。
次に/var/www/html
直下に.htaccessを作成する。
.htaccess
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.html [P,QSA,L]
サーバーを再起動する
sudo systemctl restart httpd
これでNext/ReactのWebサイトへアクセス可能かブラウザから確認する。
もしアクセスできなかった場合は、下記コマンドでサーバーログを確認する。
sudo tail -f /var/log/httpd/error_log
sudo tail -f /var/log/httpd/ssl_error_log
参考文献