本文へスキップ
重要 SSL/TLS証明書 47日間ルール正式決定 — ACME自動更新の導入を推奨しております。 Phase 2(100日へ短縮)まで 306日
300,000枚 累計発行
17,206社 利用中
19年 運営
24時間365日 自動発行
AApache HTTP Server

Apache への SSL/TLS 証明書インストール

Apache 2.4 系の mod_ssl を使った SSL/TLS 証明書のインストール手順。2026年版の推奨設定(TLS 1.3 / HTTP/2 / HSTS)も含めて解説します。

🛠️ 事前準備

  • SSL ストアから取得した サーバ証明書example.com.crt
  • CSR 作成時の 秘密鍵example.com.key
  • 中間 CA 証明書(認証局から提供)
  • Apache 2.4 系がインストール済み、mod_ssl が有効化済み
⚠️ 中間 CA 証明書のインストール漏れに注意 中間 CA 証明書がインストールされていないと、一部のブラウザ・モバイル端末で警告が表示されます。

📋 手順

  1. 証明書ファイルの配置

    $ sudo mkdir -p /etc/httpd/ssl
    $ sudo cp example.com.crt /etc/httpd/ssl/
    $ sudo cp example.com.key /etc/httpd/ssl/
    $ sudo cp intermediate.crt /etc/httpd/ssl/
    $ sudo chmod 644 /etc/httpd/ssl/example.com.crt
    $ sudo chmod 600 /etc/httpd/ssl/example.com.key
    $ sudo chmod 644 /etc/httpd/ssl/intermediate.crt
  2. Apache 設定ファイルの編集

    /etc/httpd/conf.d/ssl.conf(2026年推奨設定)
    <VirtualHost *:443>
        ServerName example.com
        ServerAlias www.example.com
        DocumentRoot /var/www/html
    
        SSLEngine on
        SSLCertificateFile      /etc/httpd/ssl/example.com.crt
        SSLCertificateKeyFile   /etc/httpd/ssl/example.com.key
        SSLCertificateChainFile /etc/httpd/ssl/intermediate.crt
    
        SSLProtocol             -all +TLSv1.2 +TLSv1.3
        SSLCipherSuite          HIGH:!aNULL:!MD5:!3DES
        SSLHonorCipherOrder     off
    
        Protocols h2 http/1.1
    
        Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
        Header always set X-Content-Type-Options "nosniff"
        Header always set X-Frame-Options "SAMEORIGIN"
    </VirtualHost>
    
    <VirtualHost *:80>
        ServerName example.com
        Redirect permanent / https://example.com/
    </VirtualHost>
  3. 設定ファイルの構文チェック

    $ sudo apachectl configtest
    Syntax OK
  4. Apache の再起動

    $ sudo systemctl restart httpd
  5. 動作確認

    $ openssl s_client -connect example.com:443 -servername example.com < /dev/null
    ✅ SSL Labs でテスト SSL Labs SSL TestA 評価以上を目指しましょう。

❓ よくあるご質問

Q. ブラウザに「保護されていません」と表示されます

主な原因:中間CA証明書のインストール漏れ、コモンネーム不一致、混在コンテンツ。詳しくは トラブルシューティング をご参照ください。

Q. HTTP/2 を有効化したい

Apache 2.4.17 以降で mod_http2 を有効化し、Protocols h2 http/1.1 を設定。HTTPS でのみ動作。

Q. 47日ルール時代の運用が大変です

ACME 自動更新の導入を強く推奨certbot 使い方 をご参照ください。