ワイルドカード証明書・マルチドメイン証明書の設定 Apache

ワイルドカード証明書・マルチドメイン証明書をApacheにインストールする手順です。

手順は、以下を前提に記載していますので、適宜、読み替えてください。

秘密鍵の保存ディレクトリ /etc/httpd/conf.d/
SSL証明書の保存ディレクトリ /etc/httpd/conf.d/
SSLの設定ファイル /etc/httpd/conf.d/ssl.conf

証明書と中間証明書をローカルに保存

証明書と中間証明書は、メールで届きます。マイページ内で、ダウンロードすることもできます。
—–BEGIN CERTIFICATE—– から —–END CERTIFICATE—– までをテキストエディタに貼り付け、任意のファイル名で保存します。

  • サーバ証明書ファイル名
    example2015.crt
  • 中間証明書ファイル名
    inter2015.crt
    • クロスルート4階層にしたい場合、中間証明書を上に、クロスルート証明書を下に貼り付けて、1つのファイルに保存してください。
  • 結合ファイル名
    example.2015.bundle.crt

SSL証明書と中間証明書の結合は、以下のようにテキストエディタに貼り付け、任意のファイル名で保存します。

-----BEGIN CERTIFICATE-----
SSL証明書
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
中間証明書
-----END CERTIFICATE-----

証明書と中間証明書をサーバに保存(インストール)

証明書ファイルと中間証明書ファイルを以下のディレクトリに保存します。

  • 証明書ファイル
    /etc/httpd/conf.d/example.2015.crt
  • 中間証明書ファイル
    /etc/httpd/conf.d/inter.2015.crt
  • 結合ファイル(中間証明書が指定できない場合)
    /etc/httpd/conf.d/example.2015.bundle.crt

SSL設定ファイルを編集、保存します。

SSL設定ファイルにアクセスします。

vi /etc/httpd/conf.d/ssl.conf

以下の設定は、一例ですので、お客様のサーバ環境に応じて、置き換えてください。

NameVirtualHost *:443

<VirtualHost *:443>
DocumentRoot "/var/www/html"
ServerName www.example.com:443
SSLCertificateFile /etc/httpd/conf.d/example.2015.crt
SSLCertificateKeyFile /etc/httpd/conf.d/example.2015.key
SSLCertificateChainFile /etc/httpd/conf.d/inter.2015.crt
</VirtualHost>

<VirtualHost *:443>
DocumentRoot "/var/www/user1"
ServerName user1.example.com:443
SSLCertificateFile /etc/httpd/conf.d/example.2015.crt
SSLCertificateKeyFile /etc/httpd/conf.d/example.2015.key
SSLCertificateChainFile /etc/httpd/conf.d/inter.2015.crt
</VirtualHost>

<VirtualHost *:443>
DocumentRoot "/var/www/user2"
ServerName user2.example.com:443
SSLCertificateFile /etc/httpd/conf.d/example.2015.crt
SSLCertificateKeyFile /etc/httpd/conf.d/example.2015.key
SSLCertificateChainFile /etc/httpd/conf.d/inter.2015.crt
</VirtualHost>

中間証明書が指定できない場合

NameVirtualHost *:443

<VirtualHost *:443>
DocumentRoot "/var/www/html"
ServerName www.example.com:443
SSLCertificateFile /etc/httpd/conf.d/example.2015.bundle.crt
SSLCertificateKeyFile /etc/httpd/conf.d/example.2015.key
</VirtualHost>

<VirtualHost *:443>
DocumentRoot "/var/www/user1"
ServerName user1.example.com:443
SSLCertificateFile /etc/httpd/conf.d/example.2015.bundle.crt
SSLCertificateKeyFile /etc/httpd/conf.d/example.2015.key
</VirtualHost>

<VirtualHost *:443>
DocumentRoot "/var/www/user2"
ServerName user2.example.com:443
SSLCertificateFile /etc/httpd/conf.d/example.2015.bundle.crt
SSLCertificateKeyFile /etc/httpd/conf.d/example.2015.key
</VirtualHost>

IPアドレス別にSSL証明書を設定する場合、<VirtualHost *:443> に個別のIPアドレスを設定してください。その際、NameVirtualHostは不要です。

<VirtualHost 172.32.255.100:443>
DocumentRoot "/var/www/html"
ServerName www.example.com:443
SSLCertificateFile /etc/httpd/conf.d/example.2015.crt
SSLCertificateKeyFile /etc/httpd/conf.d/example.2015.key
SSLCertificateChainFile /etc/httpd/conf.d/inter.2015.crt
</VirtualHost>

<VirtualHost 172.32.255.101:443>
DocumentRoot "/var/www/user1"
ServerName user1.example.com:443
SSLCertificateFile /etc/httpd/conf.d/example.2015.crt
SSLCertificateKeyFile /etc/httpd/conf.d/example.2015.key
SSLCertificateChainFile /etc/httpd/conf.d/inter.2015.crt
</VirtualHost>

<VirtualHost 172.32.255.102:443>
DocumentRoot "/var/www/user2"
ServerName user2.example.com:443
SSLCertificateFile /etc/httpd/conf.d/example.2015.crt
SSLCertificateKeyFile /etc/httpd/conf.d/example.2015.key
SSLCertificateChainFile /etc/httpd/conf.d/inter.2015.crt
</VirtualHost>

設定の反映

サーバを再起動し、設定を反映します。以下のいずれかで、再起動させます。

systemctl restart httpd
service httpd restart

秘密鍵作成時にパスフレーズを設定した場合、”Enter PEM pass phrase” とパスフレーズの入力を求められます。設定したパスフレーズを入力してください。

秘密鍵ファイルと証明書ファイルのバックアップ

秘密鍵と証明書の組み合せが、SSL 暗号化通信に利用する鍵ペアとなりますので、鍵ペアのバックアップをしてください。ウェブサーバ再構築の場合などに必要になります。

vi /etc/httpd/conf.d/example.2015.key
vi /etc/httpd/conf.d/example.2015.crt
vi /etc/httpd/conf.d/example.2015.bundle.crt

コピー&ペーストで、秘密鍵と証明書のバックアップをサーバ外に保存してください。

インストールチェック

以下のインストールチェックサイトで、チェックを行ってください。コモドの証明書も以下のサイトでチェックできます。

一般的なウェブサーバでの基本的な手順を記載していますので、参考資料として確認してください。記載内容は、証明書インストールを保証するものではありません。
詳細は、レンタルサーバ会社、サーバマニュアルで確認してください。

Total 0 Votes:
0

Tell us how can we improve this post?

+ = Verify Human or Spambot ?