Apache 2.4系で「NameVirtualHost」のエラー

RHEL8系のRockyLinux8 で、Apacheの有効しているモジュールを確認しようとしたら、「NameVirtualHost has no effect and will be removed in the next release /etc/httpd/conf.d/vhosts/vhosts.conf:1」とエラーが上がっていました

$ sudo apachectl -M 
AH00548: NameVirtualHost has no effect and will be removed in the next release /etc/httpd/conf.d/vhosts/vhosts.conf:1

調べてみると、Apache2.4系からは「NameVirtualHost」ディレクティブは不要になりました。その為「NameVirtualHost *:80」の記載が必要なくなりました。

Apache以前のバージョン(2.2など)では、NameVirtualHostディレクティブを使用して、下記のように仮想ホストの名前解決を行うIPアドレスとポートを指定する必要がありました

# apache 2.2系
NameVirtualHost *:80

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/example
    # 他の設定...
</VirtualHost>

Apache 2.4以降では、下記のように「NameVirtualHost *:80」の記載が必要なくなりました。

Copy code
<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/example
    # 他の設定...
</VirtualHost>