[インストール] Apache 2.x + mod_ssl + OpenSSL(新規・更新)

最終更新:2024年11月29日

本マニュアルは、手順をご案内するものです。コマンドの意味等につきましては、各情報サイトや参考書籍等でご確認ください。

※弊社では以下の手順にて動作検証をおこなった際の一例をご紹介しており、動作を保証するものではございません。本手順について内容の変更等や誤りがあった場合、弊社では一切の責任を負いかねることを予めご了承ください。 詳細は各アプリケーションのドキュメント等をご参照ください。

※Apacheはオープンソースのアプリケーションです。脆弱性などの問題がないか、随時情報を確認いただき、万一問題が発見された場合は、該当サービスの停止や、対応パッチがリリースされている場合は速やかに適用するなど、運用には十分ご注意ください。

※2020年8月14日にクイック認証SSLの中間CA証明書が新しくなりました。以降発行される証明書(再発行と更新も含まれる)は新しい中間CA証明書とともにインストールする必要がありますのでご注意ください。

動画でもインストール手順についてご案内しております。

※本例では以下環境を前提としています。お客様の環境に合わせて、ファイル名やパス等を任意に読み替えてご覧ください。

コモンネーム ssl.globalsign.com
confディレクトリまでのパス /etc/httpd/conf/
SSL設定用confファイル /etc/httpd/conf.d/ssl.conf
証明書の保存ディレクトリ /etc/httpd/conf/ssl.crt/
サーバ証明書ファイル名 ssl.globalsign.com.crt
中間CA証明書ファイル名 dvcacert.cer

更新または乗り換えのお客様

証明書の更新方法は以下の方法があります。
・既存の「証明書」「秘密鍵」のファイル名を引き続き使用する。
・「証明書」「秘密鍵」のファイル名を新たにし、confファイルで新ファイル名を記載する。
いずれの方法を取っていただいても問題ございませんが、前者の場合ファイルを上書きしてしまいますと、復旧できませんのでご注意ください。
また、新証明書が反映するのは、以下手順の最後のApache再起動後となります。

  1. 契約者、技術担当者宛に送信しております「サーバ証明書発行のお知らせ」メール本文から「◆証明書」のデータ
    (-----BEGIN CERTIFICATE----- から -----END CERTIFICATE-----まで)をコピーしてサーバに保存します。
    ※GSパネルにログインし、「サーバ証明書」タブにある「証明書一覧」メニューから取得をすることもできます。

    保存先の例
    /etc/httpd/conf/ssl.crt/ssl.globalsign.com.crt

    更新のお客様

    引き続き同じファイル名をご利用になる場合は、元の証明書ファイルをリネームするなどでバックアップを取ってから、同一ファイル名で保存します。秘密鍵を新たに作成している場合は、新しい秘密鍵が従来のファイル名となるよう設定します。

    リネームコマンドの例: mv [旧ファイル名] [新ファイル名]

  2. メールから「◆中間CA証明書」のデータ(-----BEGIN CERTIFICATE----- から -----END CERTIFICATE----- まで)をコピーしてサーバに保存します。

    保存先の例
    /etc/httpd/conf/ssl.crt/dvcacert.cer
  3. Apacheの設定ファイル ssl.confにSSLの設定を行います。
    ※赤字表記の部分は記載例ですので、お客様の環境によって読み替えてください。
    ※本例はVirtualHostでサイトを運用している場合を前提としています。VirtualHostでサイトをご利用ではない場合、VirtualHostの外に証明書を設定いただいて問題ございません。

    <VirtualHost xxx.xxx.xxx.xxx:443>
    DocumentRoot "/var/www/html"
    ServerName ssl.globalsign.com
    SSLEngine on
    SSLCertificateChainFile /etc/httpd/conf/ssl.crt/dvcacert.cer
    SSLCertificateFile /etc/httpd/conf/ssl.crt/ssl.globalsign.com.crt
    SSLCertificateKeyFile /etc/httpd/conf/ssl.key/ssl.globalsign.com.key
    </VirtualHost>

    ※「SSLCertificateChainFile」の行は中間CA証明書の設定です。

    ※ワイルドカード証明書をご利用の場合、VirtualHostの前の行にNameVirtualHostを設定してください。
    例: NameVirtualHost xxx.xxx.xxx.xxx:443

    更新または乗り換えのお客様

    ファイル名を変更せずご利用になる場合、confファイルの修正は必要ありません。今回新たなファイル名で設定いただく場合は、ファイル名を修正してください。

    Apache 2.4.8以降をご利用の場合

    Apache 2.4.8以降の場合、SSLCertificateChainFileが廃止となりました。
    中間CA証明書はサーバ証明書と結合して、SSLCertificateFileに設定してください。
    参考情報:http://httpd.apache.org/docs/2.4/mod/mod_ssl.html#sslcertificatechainfile

  4. Apacheのデーモンを再起動し、変更した設定を反映させます。
    ※毎回、起動の際に秘密鍵のパスフレーズの入力が必要になります。restartでは、正常に読み込まれない場合がありますので、stop、startコマンドのご利用をお勧めいたします。

    # apachectl stop
    # apachectl start

    ※ご利用の環境によっては、コマンド(apachectl startssl、httpd start)が異なる場合がございます。

  5. SSL通信に問題がないか確認してください。

    https://コモンネーム/

    PCブラウザでは、中間CA証明書がインストールされていない場合でも、自動的にそれを補完するため、エラーが出ないものがあります。正しくインストールされているか確認するには、opensslコマンドが有効です。(SSL接続時の証明書情報をopensslコマンドで確認したい。)

    ※一部のバージョンにおいて、中間CA証明書が認識されない問題があるようです。認識されない場合は以下情報をご参考ください。
    Apacheで中間CA証明書を設定したが認識されない。

    ※秘密鍵と証明書はペアでバックアップを取る必要がございます。
    パスフレーズが設定されている場合は、こちらもお忘れにならないようご注意ください。
    パスフレーズを忘れた場合、apacheを起動できなくなりますので、新しく秘密鍵、CSRを生成いただき、証明書を再発行する必要があります。
    再発行のお手続き

補足

[ ] の部分はお客様の環境に合わせて読み替えてください。

1. 秘密鍵の内容を確認
# openssl rsa -text -noout -in /[FilePath]/[KeyFile]

2. 秘密鍵のパスフレーズを解除
(Windows版のApacheでは、秘密鍵のパスフレーズを解除する必要があります。)
# cp /[FilePath]/[KeyFile] /[FilePath]/[KeyFile].org (元ファイルのバックアップ)
# openssl rsa -in /[FilePath]/[KeyFile] -out /[FilePath]/[KeyFile]

3. CSRの内容を確認
# openssl req -text -noout -in /[FilePath]/[CSR]

4. 証明書の内容を確認
# openssl x509 -text -noout -in /[FilePath]/[CertFile]