PHP8.4を導入する過程で、apache2が導入された模様。
UbuntuではApacheの名称がhttpdではなくapache2になる。
Apacheサービスを起動させる
systemctl status apache2
Apacheのサービスがアクティブでないため、アクティブにするための下準備をする。
「/etc/apache2/ports.conf」に書かれたポート番号を変更すると「systemctl status apache2」で起動できるようになる。
# Listen 80
Listen 8080
Apache導入後のシンタックスエラーの原因は「/etc/apache2/envvars」に書かれた定義ファイルがまだ読み込まれていないから。
source /etc/apache2/envvars
設定ファイルを読み込めばシンタックスエラーが消える。
systemctl enable apache2
サーバーにログインするたびに「source /etc/apache2/envvars」しないといけないので、自動起動設定の有効になっていないかも?と思い、実行して様子みることに。
→enableにしても毎回エラーが出てしまうので、対策を考える。bashrcとかに入れとけばいい?
初期ページ用のVirtualHostの設定
「/etc/apache2/sites-available/000-default.conf」から初期ページ用のVirtualHostのポート番号だけでも変更しておく。
# <VirtualHost *:80>
<VirtualHost *:8080>
その他の設定
AllowOverrideの設定を変える(htaccessを使えるようにする)
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
「/etc/apache2/apache2.conf」の初期設定では「AllowOverride None」になっている。Noneだとhtaccessは使えない。
AllowOverrideの値を変えてhtaccessの使用許可と、htaccessから認証・リダイレクトやエラーページの指定・ディレクトリインデックスを設定できるようにする。
<Directory />
Options FollowSymLinks
AllowOverride AuthConfig FileInfo Indexes
Require all denied
</Directory>