CentOS8でサーバー構築 - 5.バーチャルホスト・BASIC認証の設定(Apache2.4)

バーチャルホスト
 dev.kowloonet.local
ドキュメントルートは
 /home/dev
で設定する。
DNSは内部向けにBINDで dev.kowloonet.local でアクセスできるようにしてあります。
独自ドメインを取得していて外部のDNSサーバーを利用している場合は
コントロールパネルなどから設定が必要です。
CentOS8でサーバー構築 - 4.内部向けDNSサーバー(BIND)

バーチャルホストの設定

未定義バーチャルホストの接続を拒否
# vi /etc/httpd/conf.d/virtualhost-00.conf
<VirtualHost _default_:80>
    ServerName any
    <Location />
        Require all denied
    </Location>
</VirtualHost>
バーチャルホスト設定
# vi /etc/httpd/conf.d/virtualhost-dev.conf
<VirtualHost *:80>
    ServerName dev.kowloonet.local
    DocumentRoot /home/dev
    <Directory /home/dev>
      Options FollowSymLinks
      DirectoryIndex index.html index.php
      AllowOverride All
      Require all granted
    </Directory>
</VirtualHost>
Apache再起動
# systemctl restart httpd

BASIC認証の設定

先程追加したバーチャルホストに対してBASIC認証をかける。
バーチャルホスト追加
# vi /etc/httpd/conf.d/virtualhost-dev.conf
<VirtualHost *:80>
    ServerName dev.kowloonet.local
    DocumentRoot /home/dev
    # Auth Basic
    <Directory /home/dev>
      Options FollowSymLinks
      DirectoryIndex index.html index.php
      AllowOverride All
      AuthType Basic
      AuthName "Basic Authentication"
      AuthUserFile /etc/httpd/conf/.htpasswd_dev
      require valid-user
    </Directory>
</VirtualHost>
htpasswdファイル作成(新規で作成)
# htpasswd -c /etc/httpd/conf/.htpasswd_dev ユーザ名
New password:
Re-type new password:
Adding password for user ユーザ名
htpasswdファイル作成(ユーザを追加)
# htpasswd /etc/httpd/conf/.htpasswd_dev ユーザ名
Apache再起動
# systemctl restart httpd
ログファイルを別にしたい場合
<VirtualHost *:80>
    ServerName dev.kowloonet.local
    DocumentRoot /home/dev
    ErrorLog logs/dev.kowloonet.local-error_log
    CustomLog logs/dev.kowloonet.local-access_log combined env=!no_log
    <Directory /home/dev>
      Options FollowSymLinks
      DirectoryIndex index.html index.php
      AllowOverride All
      Require all granted
    </Directory>
</VirtualHost>