以下の内容はhttps://souiunogaii.hatenablog.com/entry/mydns-certbotより取得しました。


MyDNSでLet’s Encryptのワイルドカード証明書を自動更新する方法

※[PR]当ブログの記事の中にはプロモーションが含まれています。

・MyDNSでLet’s Encryptワイルドカード証明書を自動更新する方法を知りたい。
・具体的な手順を詳しく教えてほしい。

こういった疑問に答えます。

本記事の内容

  1. MyDNSでLet’s Encryptワイルドカード証明書を自動更新する方法

サトナカ (@souiunogaii)

この記事を書いている私は、某SIerに勤務しながら、
WEB系エンジニア・インフラエンジニアに憧れて、プログラミングおよびインフラ技術の勉強をしています。

こういった私が、解説していきます。

私が実機で試したコマンドや画像を載せて書いています。
記事の信頼性担保に繋がると思います。

MyDNSでLet’s Encryptワイルドカード証明書を自動更新する方法

Let’s Encryptサーバー証明書の更新時の認証方式に、DNS認証を利用する際に、TXTレコードの更新が必要になりますが、
MyDNSではそのためのAPIが用意されています。

https://github.com/disco-v8/DirectEdit/

github.com

手順その①:PHPスクリプトのダウンロード

GitHubの使い方に沿って進めていきます。

まず、必要なファイルをダウンロードします。

ダウンロード

wget 'https://github.com/disco-v8/DirectEdit/archive/master.zip' -O DirectEdit-master.zip

解凍

unzip ./DirectEdit-master.zip

パーミッションの変更

chmod 700 ./*.php
chmod 600 ./*.conf

手順その②:confファイルの編集

vi txtedit.conf
<?php
// ------------------------------------------------------------
// 
// txtedit.conf
// 
// ------------------------------------------------------------
?>
<?php
    $MYDNSJP_URL       = 'https://www.mydns.jp/directedit.html';
    $MYDNSJP_MASTERID  = 'mydns●●●●●●';   ←MyDNSのマスターID
    $MYDNSJP_MASTERPWD = 'XXXXXXXXX';   ←MyDNSのパスワード
    $MYDNSJP_DOMAIN = '○○○○○.mydns.jp';   ←MyDNSのドメイン名
?>

手順その③:Let's Encrypto(certbot)のサーバー証明書の更新

certbot certonly --manual \
--preferred-challenges=dns \
--manual-auth-hook /ディレクトリ名/DirectEdit-master/txtregist.php \
--manual-cleanup-hook /ディレクトリ名/DirectEdit-master/txtdelete.php \
-d ○○○○○.mydns.jp -d *.○○○○○.mydns.jp \   ←MyDNSのドメイン名、2つ目はワイルドカード指定
--server https://acme-v02.api.letsencrypt.org/directory \
--agree-tos -m ○○○○○@△△△ \   ←メールアドレス

GitHubの使い方には --manual-public-ip-logging-ok のコマンドが書かれていますが、
このオプションは廃止されているみたいで、警告がでるので消しました。

手順その④:cronで自動実行するように設定

certbot certonly --manual 
--preferred-challenges=dns 
--manual-auth-hook /ディレクトリ名/DirectEdit-master/txtregist.php 
--manual-cleanup-hook /ディレクトリ名/DirectEdit-master/txtdelete.php 
-d ○○○○○.mydns.jp -d *.○○○○○.mydns.jp 
--server https://acme-v02.api.letsencrypt.org/directory 
--agree-tos -m ○○○○○@△△△ 
--keep-until-expiring

--keep-until-expiring を付けておきました。




以上の内容はhttps://souiunogaii.hatenablog.com/entry/mydns-certbotより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14