Apacheでのバーチャルホスト有効化
183行目 「#LoadModule vhost_alias_module modules/mod_vhost_alias.so」 コメントアウトを削除
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
↓
LoadModule vhost_alias_module modules/mod_vhost_alias.so510行目 「#Include conf/extra/httpd-vhosts.conf」 コメントアウトを削除
#Include conf/extra/httpd-vhosts.conf
↓
Include conf/extra/httpd-vhosts.conf23行目以降を適宜変更していきます
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "${SRVROOT}/docs/dummy-host.example.com"
ServerName dummy-host.example.com
ServerAlias www.dummy-host.example.com
ErrorLog "logs/dummy-host.example.com-error.log"
CustomLog "logs/dummy-host.example.com-access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "${SRVROOT}/docs/dummy-host2.example.com"
ServerName dummy-host2.example.com
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>↓
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "c:/srv/html"
ServerName localhost
ServerAlias www.dummy-host.example.com
ErrorLog "logs/dummy-host.example.com-error.log"
CustomLog "logs/dummy-host.example.com-access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "c:/srv/html/test"
ServerName test
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>編集が必要なのは2か所
・DocumentRoot Webフォルダまでのパス
・ServerName ドメイン名 「http://localhost」 や 「http://test」 など
※「localhost」や「test」の部分がドメイン名になります
<VirtualHost *:80>
DocumentRoot "c:/srv/html/phpmyadmin"
ServerName phpmyadmin
</VirtualHost>上記を下部に追加することで 「http://phpmyadmin」でアクセスできるようになります
※「phpmyadmin」など複数のドメインを追加するには「hosts」の追加も必要です
好きなドメインを好きなだけ増やすことも可能です
※自身のPC内でのみ
SSLでのバーチャルホスト有効化
デフォルトエリアの編集
※このエリアを編集しないと、いくら複数のドメインを追加しても反映されません
121行目 <VirtualHost default:443> があることを確認124行目 DocumentRoot “${SRVROOT}/htdocs”
125行目 ServerName www.example.com:443
144行目 SSLCertificateFile “${SRVROOT}/conf/server.crt”
154行目 SSLCertificateKeyFile “${SRVROOT}/conf/server.key”
の部分を変更します
DocumentRoot "${SRVROOT}/htdocs"
ServerName www.example.com:443
↓
DocumentRoot "c:/srv/html"
ServerName localhost
SSLCertificateFile "${SRVROOT}/conf/server.crt"
↓
SSLCertificateFile "c:/srv/SSL/server.crt"
SSLCertificateKeyFile "${SRVROOT}/conf/server.key"
↓
SSLCertificateKeyFile "c:/srv/SSL/server.key"DocumentRoot Webフォルダまでのパス
ServerName ドメイン名
「SSLCertificateFile」「SSLCertificateKeyFile」は Windows11 Apache+PHP+ SSL化 で作成した 証明書 までのパス
バーチャルホストエリアを追加
<VirtualHost *:443>
DocumentRoot "c:/srv/html"
ServerName localhost
SSLEngine on
SSLCertificateFile "c:/srv/SSL/server.crt"
SSLCertificateKeyFile "c:/srv/SSL/server.key"
</VirtualHost>
<VirtualHost *:443>
DocumentRoot "C:/srv/html/test"
ServerName test
SSLEngine on
SSLCertificateFile "c:/srv/SSL/server.crt"
SSLCertificateKeyFile "c:/srv/SSL/server.key"
</VirtualHost>※デフォルトエリアと同じ「localhost」エリアも必ず追加
「DocumentRoot」 と 「ServerName」 は 「httpd-vhost.conf」 と同じにする
末尾に
<VirtualHost *:443>
DocumentRoot "c:/srv/html/phpmyadmin"
ServerName phpmyadmin
SSLEngine on
SSLCertificateFile "c:/srv/SSL/server.crt"
SSLCertificateKeyFile "c:/srv/SSL/server.key"
</VirtualHost>を追加することで「https://phpmyadin」でアクセスができるようになります(この時点ではアクセスエラーになります)
Windowsの「hosts」に追加
ここからWindows内部の編集になります。自己責任でお願いします
メモ帳を「管理者として実行」
「hosts」を開く
c:/Windows/System32/drivers/etc/hosts以下を追加
127.0.0.1 localhost //既にある場合は以下を追加
127.0.0.1 test
127.0.0.1 phpmyadmin //phpmyadminを追加した場合hosts を保存したら一旦PCを再起動
SSL証明書を書き換える
こちらと同じやり方になりますが、一部追加しながら書き換えが必要になります
SSL設定ファイルの編集
末尾にて
[ SAN ]
subjectAltName = @alt_names
[ alt_names ]
DNS.1 = localhostは、既に書かれていると思うので、SSLに追加したいドメインを追加していきます
[ SAN ]
subjectAltName = @alt_names
[ alt_names ]
DNS.1 = localhost
DNS.2 = test
DNS.3 = phpmyadmin //お好みで※追加するドメインの順番にも注意 特に「hosts」と同じにする
サーバー証明書を作成
Apache+PHP SSL化 証明書を作成 以降と同じ作業をします
もし、エラーが出る場合は「c:/serv/SSL/server.key」と「c:/srv/SSL/server.crt」を削除して再度試してみてください
「新しい証明書の認証」 まで進めます
※古い証明書の削除も忘れないように
動作確認
年の為、PCを再起動
ブラウザで「https://localhost」や「https://test」 などにアクセスしエラーがでなければ成功です




コメント