今回はUbuntuのVPS上で、 Certbot を使って Let's EncryptワイルドカードSSL証明書(*.slicks.site)を取得した際の手順をまとめました。


■構築環境: Ubuntu 24.04 LTS

1. Certbotのインストール

まずは、Certbotをインストールします。

sudo apt update
sudo apt install -y certbot python3-certbot-nginx

2. ワイルドカード証明書の発行(DNS認証)

ワイルドカード証明書の取得にはDNS認証が必要です。以下のコマンドを実行します。

sudo certbot certonly --manual --preferred-challenges dns -d slicks.site -d '*.slicks.site'

3. DNS TXTレコードの追加

Certbotを実行すると、次のようなメッセージが表示されます。

Please deploy a DNS TXT record under the name:

_acme-challenge.slicks.site.

with the following value:

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

指定された「_acme-challenge.slicks.site」という名前で、「XXX...」というTXTレコードをDNSの管理画面(お名前.com、Cloudflareなど)で追加します。

DNS反映の確認方法

DNSレコードが反映されたかどうかは以下のツールで確認できます。


DNSに反映されるまで数分~数十分かかる場合があります。反映が確認できたらCertbotの画面でEnterキーを押して次に進みます。

4. 複数のTXTレコードを求められる場合

Certbotから2つ目のTXTレコードを追加するように指示される場合があります。その際は1つ目を削除せずに追加してください。

(This must be set up in addition to the previous challenges; do not remove,
replace, or undo the previous challenge tasks yet.)

2つ目も同様に追加し、反映後、再びEnterキーを押します。

5. 証明書の取得完了

成功すると以下のようなメッセージが表示されます。

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/slicks.site/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/slicks.site/privkey.pem
This certificate expires on 2025-07-13.
These files will be updated when the certificate renews.

6. Nginx設定(SSL対応)

取得した証明書をNginxに設定します。

server {
    listen 80;
    server_name slicks.site *.slicks.site;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name slicks.site *.slicks.site;

    ssl_certificate /etc/letsencrypt/live/slicks.site/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/slicks.site/privkey.pem;

    root /home/your-path/public;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/phpX.X-fpm.sock;
    }
}

設定後はNginxをリロードします。

sudo nginx -t && sudo systemctl reload nginx

注意点(自動更新について)

今回の方法では証明書の自動更新ができません。期限が近づいたら、再度同じ手順を繰り返す必要があります。


以上がワイルドカード証明書取得の手順です。これで安全なHTTPS環境が整いました!