メニュー

2-7 Apache導入と初期設定

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>