2026年11月8日

2026年11月8日

WordPressのマルチドメインSSL証明書の設定方法

はじめに

WordPressサイトで複数のドメインを管理する場合、各ドメインに対して個別のSSL証明書を設定することが求められます。マルチドメインSSL証明書の導入はセキュリティとユーザーエクスペリエンスの向上に重要な役割を果たします。

症状・背景

このテーマが必要になる主な場面:

  • <サイトが複数のドメインで運用されている>
  • <各ドメインに対して個別のSSL証明書を使用したい>
  • <セキュリティ上の要件として全ての通信を暗号化する必要がある>

手順・設定方法

ステップ1: SSL証明書の取得とインストール

# OpenSSLを使用してCSR(署名要求)を作成します
openssl req -newkey rsa:2048 -nodes -keyout example.com.key -out example.com.csr

# ドメインを所有していることを確認するためにDNSレコードを追加します
dig +short TXT @ns1.example.com _acme-challenge.example.com

# Let's EncryptからSSL証明書を取得します
certbot certonly --webroot --webroot-path=/var/www/html -d example.com,www.example.com

ステップ2: Apacheの設定ファイルの編集

# SSL設定ファイルを開きます
nano /etc/apache2/sites-available/example.com-le-ssl.conf

# マルチドメインSSLを有効にするためのVirtualHost設定を追加します
<VirtualHost *:443>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/html
    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
</VirtualHost>

ステップ3: WordPressのwp-config.phpファイルを編集

# wp-config.phpを開きます
nano /var/www/html/wp-config.php

# 安全なコネクションのみを使用するように設定します
define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL_LOGIN', true);

# マルチドメインに対応させるためのフィルタを追加します
add_filter( 'siteurl', 'ssl_site_url', 10, 2 );
function ssl_site_url($url,$request){
    return str_replace("http://","https://",$url);
}

ステップ4: 統合とテスト

# Apache設定を有効化し、サービスを再起動します
a2enmod rewrite headers ssl
systemctl restart apache2

# SSL証明書の更新スクリプトを作成し、定期実行に登録します
crontab -e
0 1 * * * /usr/bin/certbot renew --quiet && systemctl reload apache2

注意事項

  • <ドメイン間でSSL証明書が正しく共有されていることを確認してください>
  • <すべての通信がHTTPS経由であることを確認してください>
  • <セキュリティ上の問題を避けるために、不必要なHTTPアクセスは禁止するように設定しましょう>

まとめ

1. <キー1>: SSL証明書の取得とインストール

2. <キー2>: Apacheの設定ファイルの編集

3. <キー3>: WordPressのwp-config.phpファイルを編集

4. <キー4>: 統合とテスト

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ
▲