ページ更新日:2023/05/13
ApacheへSSL証明書をインストールする手順について。
OpenSSLでCSR作成 や CSR作成ツール でCSRを作成します。
SSL証明書のご注文 から、CSRを張り付けてオーダーいただきます。
審査(DV証明書はドメイン確認のみ)完了後にSSL証明書が発行されます。
Apache(2.4.8より前のバージョン)では、httpd.conf (ssl.conf) の重要な設定値は次の3つです。
SSLCertificateKeyFile:秘密鍵のファイルを指定
SSLCertificateFile:サーバー証明書のファイルを指定
SSLCertificateChainFile:中間証明書のファイルを指定(中間証明書が無い場合は省略可)
Apache(2.4.8以降のバージョン)では、httpd.conf (ssl.conf) の重要な設定値は次の2つです。
SSLCertificateKeyFile:秘密鍵のファイルを指定
SSLCertificateFile:サーバー証明書のファイルを指定
※Apache 2.4.8以降では SSLCertificateChainFileが廃止となり、SSLCertificateFile でSSL証明書と中間証明書を重ねて設定します(詳細は下記)。
以下のような設定を httpd.conf (ssl.conf) などに追加します。
すでに ssl.conf などに VirtualHost 443 ポートが設定済であれば、それを次のように変更します。
<VirtualHost (IPアドレス):443> SSLEngine on SSLProtocol all -SSLv2 -SSLv3 SSLHonorCipherOrder on SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS SSLCertificateKeyFile /root/sslfiles/server.key SSLCertificateFile /root/sslfiles/server.crt SSLCertificateChainFile /root/sslfiles/server.chain ## Apache 2.4.8以降は不要で、SSLCertificateFile にSSL証明書と中間証明書を重ねて指定する ServerAdmin (設定値) DocumentRoot (設定値) ServerName (設定値) ErrorLog (設定値) CustomLog (設定値) </VirtualHost>
なお、上記の設定例では「POODLE」脆弱性対策としてSSL3を無効にしています。
また、秘密鍵などのファイル(上記の/root/sslfiles/*)は、rootユーザーのみでしか参照できないように chown root:root および chmod 400 しておくことが推奨です。
Apache 2.4.8 以降では、SSLCertificateFile で指定するファイルに、SSL証明書と中間証明書を次のように重ねて設定します。
上:SSL証明書
下:中間証明書
※クロスルート証明書を設定する場合には、中間証明書の下にさらに重ねて設定します。
OS環境にあわせて、次のようなコマンドを入力して、Apacheをサービスリスタートします。
# systemctl restart apache2.service
または
# /etc/rc.d/init.d/httpd restart
など。
リスタート前に、次のコマンドで設定ファイルに構文エラーがないかを事前確認することもできます。
# apachectl -t