よちよち歩きのLinux(Debianによる開発環境の構築)

Apache2.4のインストールと設定

1.Apache2.4のインストール

Debian11.6で、Apache2をインストールする。

root@debian11:~# apt install apache2

インストールしたApache2のバージョンを確認

root@debian11:~# apachectl -v
Server version: Apache/2.4.54 (Debian)


2.Apache2のバージョンによる設定ファイルの違い

2.1 Apache2.2(Debian4版)とApache2.4(Debian11版)の比較

Apache2.2
Debian4版
Apache2.4
Debian11版
内容・違い
apache2.conf apache2.conf 主要なapache2設定ファイル
apache2.4、2.2共に設定ファイルの構成を設定している。
---- conf-available/ 利用可能なconfigファイルを収納するディレクトリー
Apache2.4で新設
conf.d/ conf-enabled/

現在有効なconfigファイルを収納するディレクトリー
ファイルはconf-available/のシンボリックリンク

conf-available/はApache2.4で新設、Apache2.2はcomf.d/

mods-available/ mods-available/ 利用可能なモジュールファイルを収納するディレクトリー
mods-enabled/ mods-enabled/ 現在有効なモジュールファイルを収納するディレクトリー
ファイルはmods-availableのシンボリックリンク
sites-available/ sites-available/ 利用可能なWebサイトの固有設定を収納するディレクター
sites-enabled/ sites-enabled/ 現在有効なWebサイトの固有設定を収納するディレクター
ファイルはsites-availableのシンボリックリンク
conf.d/charset conf-enabled/charset.conf デフォルト文字セットの設定ファイル
Apache2.4はconf-enabled/に、Apache2.2はconf.d/に収納
conf.d/security conf-enabled/security.conf

セキュリティの設定ファイル
Apache2.4はconf-enabled/に、Apache2.2はconf.d/に収納

envvars envvars 環境変数の設定ファイル
---- magic ファイルの種類を識別するファイル。Apache2.4で新設
ports.conf ports.conf Listen 80、Listen 443 を設定ファイル
httpd.conf ---- Apache2.4は省略、Apach2.2は空のhttpd.confあり

2.2 configファイル、modファイル、siteファイルを、有効、無効にするコマンド

  config モジュール サイト
有効にする a2enconf a2enmod a2ensite
無効にする a2disconf a2dismod adissite

3.Apache2.4の設定

3.1 Apache.confの設定

デフォルトの設定で、変更なし。

<参考>コメントの#がついていない行(有効行)を抽出する。


3.2 conf-enabled/のconfファイルの設定

①charset.confの設定

root@debian11:/etc/apache2# vi ./conf-available/charset.conf

AddDefaultCharset UTF-8 ←コメントを外し有効化


②security.confの設定

root@debian11:/etc/apache2# cat ./conf-available/security.conf

---------------------------
<Directory /> ←コメントを外し有効化
AllowOverride None ←コメントを外す有効化
Require all denied ←コメントを外す有効化
</Directory> ←コメントを外す有効化
----------------------------
# Set to one of: Full | OS | Minimal | Minor | Major | Prod
# where Full conveys the most information, and Prod the least
#ServerTokens Minimal
#ServerTokens OS ←コメントを付け無効化
#ServerTokens Full
ServerTokens Prod ←1行追加し、Prodに設定
-----------------------------
ServerSignature Off ←コメントを外し有効化
#ServerSignature On ←コメントを付け無効化


3.3 Apache2が正常に機能しているかテスト

①Apache2を再起動

root@debian11:~# systemctl restart apache2.service


②ゲストDebianのブラウザFierfoxで表示を確認

Urlは、http://localhost/ と入力。「Apache2 Debian Default Page」が表示された。
正常に機能している


3.4 ホストWindowsのブラウザEdgeで表示する。

Urlは、http://localhost:8080/と入力する。「Apache2 Debian Default Page」が表示された。


4.VirtualHostの設定と確認

4.1 VirtualHostを作成する。

ディレクトリ「sites-available/」下に、ファイル「11-linuxe」を作成する。
ファイル「11-linuxe.conf」にVirtualHost「linux」を記述する。

root@debian11:/etc/apache2# vi sites-available/11-linux.conf


4.2 サイトの設定

「11-linux.conf」を現在有効なサイトにする

root@debian11:/etc/apache2# a2ensite 11-linux.conf


「000-default.conf」を利用可能なサイトにする。

root@debian11:/etc/apache2# a2dissite 000-default.conf


4.3 Apache2を再起動する。正常に機能していることが確認できる。

systemctl restart apache2.service


5.Basic認証とDigest認証

Basic認証は、auth_basicモジュールを使用する。Debian11では、auth_basicモジュールがデフォルトで使用できるように、mods-enable/ディレクトリに設定されている。

Digest認証は、auth_digestモジュールを使用する。Debian11では、auth_digestモジュールはmode-available/ディレクトリにあり、使用する場合はa2enmodコマンドで使用できるようにする。

Basic認証とDigest認証の設定の仕方は、Apache2の設定(3)に記述している。