【環境構築】Apache2.4のSSLでVirtualHostを設定する手順(ポートベース)

Apache2.4のSSLでVirtualHostを設定する手順

前提条件

vagrantのcentos8イメージで仮想環境を構築し、その環境上で実施しています。
SSLの設定はすでにできているものとします。

SSLの設定は以下を参考にしてください。
参考 【環境構築】Apache2.4でSSLを設定する手順

Apache2.4のSSLでVirtualHostを設定する手順

開発環境を複数用意するためにポートベースのバーチャルホストを作成したいので、手順をまとめました。
デフォルトのHTTPSポート「443」に加え「444」でも接続できるようにバーチャルホストを設定します。

1.firewallの設定

444のポートを開けておきます。

firewall-cmd --add-port=444/tcp --zone=public --permanent
firewall-cmd --reload

2.ssl.confの設定

/etc/httpd/conf.d/ssl.confを開くと最初から443の設定があるので、それを参考に444の設定を追加します。


Listen 443 https //←既存
Listen 444 https //←追加

~省略~

//↓以下追加(デフォルトの「<VirtualHost _default_:443>」の記述を参考に)
<VirtualHost *:444>
    ServerName sample_server
    DocumentRoot /var/www/html/sample/ //←ドキュメントルートにしたいディレクトリを指定
    SSLEngine on
    SSLCertificateFile /etc/pki/tls/certs/localhost.crt
    SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
    <Directory "/var/www/html/sample/"> //←ドキュメントルートと合わせる
        Order allow,deny
        Options FollowSymlinks Includes
        Allow from all
        Require all granted
        AllowOverride all
    </Directory>
</VirtualHost>

3.Apacheの再起動&確認

Apacheを再起動します。

systemctl restart httpd

最後にブラウザで「https://【IPアドレス】:443」と、「https://【IPアドレス】:444」の両方でアクセスできればOKです。
2つのバーチャルホストのドキュメントルートに何かテストファイルをおいてみて、ブラウザで表示してみるとわかりやすいです。