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 のような既存のディレクトリ以外でも構いません。
サーバー台数無制限で利用可能 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」として記載されているのがホスト名です。
もし、見つからない場合は、 Apache でのホスト設定ができていない可能性が大ですので、コントロールパネルなどを使って、ホスト設定を行う必要があるかもしれません。
<VirtualHost xxx.xxx.xxx.xxx:443> や <VirtualHost *:443> として指定されているブロックで、対象ホスト名のものが見つかった場合は、以下の「3. http の <VirtualHost> ブロックをコピー」は行わないで「4. SSLを利用するドメインの <VirtualHost> ブロックの編集」に進んでください。
ひとつの証明書でホスト名数・サーバー台数無制限で利用可能 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> ブロックの編集
ブロックを貼り付けて作成した場合は、まず以下を行います。
- <VirtualHost xxx.xxx.xxx.xxx:80> の記述を <VirtualHost xxx.xxx.xxx.xxx:443> に変更します。
- SSLEngine on という1行の記述を追加します。
以下は、非常に単純化したSSL virtual host設定例です。
太文字で表示されている部分がSSLに固有の部分です。
ブロックを貼り付けて作成した場合も、すでに443ブロックが存在した場合も、使用する証明書・秘密鍵・中間証明書を指定します。
- SSLCertificateFile: 証明書のファイル名(例えば:your_domain_name.crt)をフルパスで指定します。
- SSLCertificateKeyFile: 秘密鍵のファイル名をフルパスで指定します。秘密鍵はCSRを作成したディレクトリに作成されています。
- SSLCertificateChainFile: 中間証明書のファイル名をフルパスで指定します。ファイル名は DigiCertCA.crt です。
5. 再起動前にApacheの設定をチェック
Apacheの再起動の前には、必ず以下の設定チェックコマンドを実行してください。
設定ファイルに文法的誤りがある状態で再起動を行うと、Apacheが停止したままになる可能性が大です。
以下のコマンドのチェックは十分条件ではありませんが、少なくともこのチェックはパスしなければならない必要条件です。
コマンドを実行し文法の誤りが見つかった場合は、誤りが指摘されます。
# apachectl configtest
緑のアドレスバーでサイトの信頼性向上 DigiCert(デジサート) EV SSL/TLS サーバー台数無制限 国内最安値でご提供
6. Apacheの再起動
以下のコマンド実行で、Apacheを再起動しSSLを有効にすることができます。
# apachectl stop # apachectl start
こうした場合は、/etc/rc.d/init.d/httpd 等の Apache の起動スクリプトの内容を確認し、サーバー再起動時にも Apache が正常に起動できる設定になっているかを確認してください。
設定ファイル内に <IfDefine SSL> と </IfDefine> で囲まれたブロックがある場合は、この二つのタグをコメントアウトすることで、起動スクリプトを変更しないでも正常な起動を期待できます。
これで起動するようであれば、追加した443の <VirtualHost> ブロック内の記述に原因があることが確定できます。起動しない場合はバックアップした設定ファイルを利用してください。
error_log は /www/logs、/var/log/httpd 等に保存されます。
7. ブラウザから確認
ブラウザからサイトにhttpsを指定してアクセスし、「保護された通信」鍵アイコンなどがURLバーに表示されれば証明書は正しくインストールされています。
正しくインストールされていない場合は、警告のメッセージや警告のアイコンが表示されます。
証明書が正しくインストールされていない場合の表示はブラウザごとに異なります。以下ではFireFoxを例に説明していますがお使いのブラウザでも必要な証明書情報は取得できます。環境に合わせた手順で証明書情報を取得してください。
Windowsサーバーにおすすめ 最大25ホスト名まで対応 DigiCert(デジサート) 企業認証SSL/TLS 国内最安値でご提供