DigiCert証明書の正規代理店株式会社アールエムエス
DigiCert サーバー証明書利用団体
  1. ホーム
  2. サポート
  3. インストール方法
  4. Apache confファイルと証明書インストール

Apache confファイルと証明書インストール

Apache Webサーバーで証明書を利用する場合は、すべての種類の証明書(SSL Plus/WildCard Plus/マルチドメイン証明書/EV SSL Plus/EVマルチドメイン証明書)で同じ手順で証明書のインストールを行います。
証明書のインストールはApacheの設定ファイルに利用する証明書情報を記載することで行われます。
以下では、Apacheの設定ファイルを編集し、SSL/TLS証明書をインストールする方法を、順を追って説明します。
一般に、Apacheの設定ファイルの編集はroot権限で行います。

重要:編集の前に必ずApache設定ファイルのバックアップを保存してください。

1. サーバーに証明書ファイルを保存

当社から納品した証明書(例:your_domain_name.crt)と中間証明書(DigiCertCA.crt)をサーバーに保存します。
保存するディレクトリは /etc/pki/tls/certs のような既存のディレクトリ以外でも構いません。

SSL Plus/1年あたり30,000円から
サーバー台数無制限で利用可能 DigiCert(デジサート)企業認証SSL/TLS スマホ対応 国内最安値でご提供

2. Apacheの設定ファイルを特定

Apacheのバージョン、インストール方法、OS等の条件により、Apacheの設定ファイルの名前・ディレクトリは異なります。
以下に代表的な例を列記しますので参考にしてください。

多くの場合、Apacheの設定ファイルは /etc/httpd 以下に置かれます。
メインの設定ファイルは httpd.conf(例:/etc/httpd/conf/httpd.conf)です。
各ドメインの設定はこのファイル内の <VirtualHost> ブロックで行われます。
しかし、httpアクセスの設定は httpd.conf で行い、httpsの設定は ssl.conf(例:/etc/httpd/conf.d/ssl.conf)で行うのも一般的です。
そのほかにも /etc/httpd/vhosts.d/ や /etc/httpd/sites/ のようなディレクトリに設定ファイルが置かれることもあります。
一般的には <VirtualHost> ブロックはそれらの設定ファイルの最後の部分に記載されています。

テキストエディタで設定ファイルを開き、証明書を利用しようとしているホスト名のhttpアクセスについて指定されている、<VirtualHost>ブロックを見つけてください。
<VirtualHost> ブロックはホスト名ごとに作られます。 <VirtualHost> で始まり </VirtualHost> で終わるブロックです。
http アクセスについて指定されている場合は、<VirtualHost xxx.xxx.xxx.xxx:80> や <VirtualHost *:80> のように記載されています。
そのブロック内に「ServerName」として記載されているのがホスト名です。

「80」とホスト名をキーワードにして証明書を利用しようとしているホスト名の<VirtualHost>ブロックを見つけます。
もし、見つからない場合は、 Apache でのホスト設定ができていない可能性が大ですので、コントロールパネルなどを使って、ホスト設定を行う必要があるかもしれません。
<VirtualHost xxx.xxx.xxx.xxx:443> や <VirtualHost *:443> として指定されているブロックで、対象ホスト名のものが見つかった場合は、以下の「3. http の <VirtualHost> ブロックをコピー」は行わないで「4. SSLを利用するドメインの <VirtualHost> ブロックの編集」に進んでください。

WildCard Plus/1年あたり98,500円から
ひとつの証明書でホスト名数・サーバー台数無制限で利用可能 DigiCert(デジサート)企業認証SSL/TLS 国内最安値でご提供

3. httpの <VirtualHost> ブロックをコピー

httpの <VirtualHost> ブロックをコピーして、https 設定が行われている設定ファイルの最後の部分に貼り付けます。
https設定が行われている設定ファイルの代表的なものは httpd.conf(例:/etc/httpd/conf/httpd.conf)や ssl.conf(例:/etc/httpd/conf.d/ssl.conf)です。

4. SSLを利用するドメインの <VirtualHost> ブロックの編集

ブロックを貼り付けて作成した場合は、まず以下を行います。

  1. <VirtualHost xxx.xxx.xxx.xxx:80> の記述を <VirtualHost xxx.xxx.xxx.xxx:443> に変更します。
  2. SSLEngine on という1行の記述を追加します。

以下は、非常に単純化したSSL virtual host設定例です。
太文字で表示されている部分がSSLに固有の部分です。

<VirtualHost xxx.xxx.xxx.xxx:443> DocumentRoot /var/www/html2 ServerName www.yourdomain.com SSLEngine on SSLCertificateFile /path/to/your_domain_name.crt SSLCertificateKeyFile /path/to/your_private.key SSLCertificateChainFile /path/to/DigiCertCA.crt </VirtualHost>

ブロックを貼り付けて作成した場合も、すでに443ブロックが存在した場合も、使用する証明書・秘密鍵・中間証明書を指定します。

  • SSLCertificateFile: 証明書のファイル名(例えば:your_domain_name.crt)をフルパスで指定します。
  • SSLCertificateKeyFile: 秘密鍵のファイル名をフルパスで指定します。秘密鍵はCSRを作成したディレクトリに作成されています。
  • SSLCertificateChainFile: 中間証明書のファイル名をフルパスで指定します。ファイル名は DigiCertCA.crt です。

5. 再起動前にApacheの設定をチェック

Apacheの再起動の前には、必ず以下の設定チェックコマンドを実行してください。
設定ファイルに文法的誤りがある状態で再起動を行うと、Apacheが停止したままになる可能性が大です。
以下のコマンドのチェックは十分条件ではありませんが、少なくともこのチェックはパスしなければならない必要条件です。
コマンドを実行し文法の誤りが見つかった場合は、誤りが指摘されます。

インストールされているApacheによっては、コマンドがapachectlではなくapache2ctlの可能性があります。
# apachectl configtest
EV SSL Plus/1年あたり32,500円から
緑のアドレスバーでサイトの信頼性向上 DigiCert(デジサート) EV SSL/TLS サーバー台数無制限 国内最安値でご提供

6. Apacheの再起動

以下のコマンド実行で、Apacheを再起動しSSLを有効にすることができます。

# apachectl stop
# apachectl start
再起動しないトラブルシューティング
startssl
「apachectl start」ではApacheが起動せず、「apachectl startssl」で起動するケースがあります。
こうした場合は、/etc/rc.d/init.d/httpd 等の Apache の起動スクリプトの内容を確認し、サーバー再起動時にも Apache が正常に起動できる設定になっているかを確認してください。
設定ファイル内に <IfDefine SSL> と </IfDefine> で囲まれたブロックがある場合は、この二つのタグをコメントアウトすることで、起動スクリプトを変更しないでも正常な起動を期待できます。
切り分け
Apacheが再起動しない場合、追加した443の <VirtualHost> ブロックをコメントアウトした後、起動コマンド「apachectl start」を実行してください。
これで起動するようであれば、追加した443の <VirtualHost> ブロック内の記述に原因があることが確定できます。起動しない場合はバックアップした設定ファイルを利用してください。
error_log
「apachectl configtest」では正常と判断されたのにApacheが起動しない場合は、error_logに原因発見の手がかりが残されていることがあります。
error_log は /www/logs、/var/log/httpd 等に保存されます。

7. ブラウザから確認

ブラウザからサイトにhttpsを指定してアクセスし、「保護された通信」鍵アイコンなどがURLバーに表示されれば証明書は正しくインストールされています。
正しくインストールされていない場合は、警告のメッセージや警告のアイコンが表示されます。

ブラウザを利用したトラブルシューティング

証明書が正しくインストールされていない場合の表示はブラウザごとに異なります。以下ではFireFoxを例に説明していますがお使いのブラウザでも必要な証明書情報は取得できます。環境に合わせた手順で証明書情報を取得してください。

例:FireFoxの場合

「安全な接続ではありません」と表示されます。この場合、

  1. 「エラー内容」ボタンをクリックすると、画面にエラー原因の概要が表示されます。
    より詳しい情報を取得するためには、「例外を追加...」ボタンをクリックしてください。「セキュリティ例外の追加」ウィンドウが表示されます。
  2. 「証明書を取得」ボタンをクリックします。問題点か表示されます。
    より詳しい情報を取得するためには「表示」ボタンをクリックし、利用されている証明書の情報を取得し以下をチェックしてください。
    • 「発行対象の一般名称(CN)」は意図したものになっていますか
    • 「発行者の一般名称(CN)」はDigiCertになっていますか
    • 「証明書の有効期間」は正しいですか
マルチドメイン証明書/1年あたり56,500円から
Windowsサーバーにおすすめ 最大25ホスト名まで対応 DigiCert(デジサート) 企業認証SSL/TLS 国内最安値でご提供
SSL サーバ証明書とは?
30日間テスト証明書
30日間返金保証制度あり!
コードサイニング証明書
ドキュメントサイニング証明書
デジタル証明書ニュース
HTTPS入門
digicert.comトピックス&ニュース