apache2 設定
2023/12/14 15:04
対象は、Raspbian GNU/Linux 12 (bookworm) になります。
apache2 インストール
パッケージインストール
Debian 系の Apache パッケージ名は apache2 になります。apache2 のインストール有無を確認して、インストールを実行します。
$ sudo apt list apache2 $ sudo apt -y install apache2 apache2-doc $ sudo apt -y autoremove
Apache2 バージョン情報非表示
必要に応じて apache2 のバージョン情報を非表示にします。$ grep -i includeoptional /etc/apache2/apache2.conf IncludeOptional mods-enabled/*.load IncludeOptional mods-enabled/*.conf IncludeOptional conf-enabled/*.conf IncludeOptional sites-enabled/*.conf $ cd /etc/apache2/conf-available $ sudo cp -p security.conf{,_$(date +%Y%m%d)} $ sudo vi security.conf (書き換え) $ sudo diff security.conf{,_$(date +%Y%m%d)} 25c25 < #ServerTokens OS --- > ServerTokens OS 27d26 < ServerTokens Prod 36,37c35,36 < ServerSignature Off < #ServerSignature On --- > #ServerSignature Off > ServerSignature On $
Apache2 設定反映
$ sudo apachectl configtest $ sudo systemctl reload apache2
configtest メッセージ
以下のメッセージが表示されることがあります。AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this messagefully qualified domain name (FQDN) が特定できない、というメッセージなので、特定する設定を入れてあげます。
いくつか方法はあるのですが、ここではシンプルな力技でいきます。
$ sudo vi /etc/apache2/conf-available/fqdn.conf $ cat /etc/apache2/conf-available/fqdn.conf ServerName example.jp $ sudo a2enconf
apache2 モジュールインストール
apache2 を入れた後、必要に応じてモジュールも追加インストールする必要があります。以下のモジュールを追加インストールします。
項目 | 説明 | 備考 | |
---|---|---|---|
cgid | cgi を作動させるためのモジュール | ||
RewriteEngine | Rewrite Engine を利用するためのモジュール | ||
remoteip | ログの出力先変更等で IP アドレスを利用するためのモジュール |
cgid
モジュール確認
モジュールがインストールされていることを確認します。$ a2query -m cgid cgid (enabled by site administrator)デフォルトで有効化されるはずですが、モジュールがインストールされていなければ a2enmod で cgid を有効にします。
モジュールの有効化
モジュールを有効化します。$ sudo a2enmod cgid Module cgid already enabled
RewriteEngine
モジュール確認
モジュールがインストールされていることを確認します。$ a2query -m rewrite rewrite (enabled by site administrator)モジュールがインストールされていなければ a2enmod で rewrite を有効にします。
モジュールの有効化
モジュールを有効化します。$ sudo a2enmod rewrite Module rewrite already enabled
remoteip
モジュール確認
モジュールがインストールされていることを確認します。$ a2query -m remoteip remoteip (enabled by site administrator)モジュールがインストールされていなければ a2enmod で rewrite を有効にします。
モジュールの有効化
モジュールを有効化します。$ sudo a2enmod remoteip Module remoteip already enabled
モジュール設定の有効化
$ sudo apachectl configtest $ sudo systemctl reload apache2