こんなエラーがでて困った
Failed to renew certificate ai-chan-fan-site.me with error: The manual plugin is not working; there may be problems with your existing configuration.
The error was: PluginError('An authentication script must be provided with --manual-auth-hook when using the manual plugin non-interactively.')
解決方法(コレダメ)
sudo certbot certonly --manual -d ドメイン名でできるのだ
そのあとに
sudo certbot renewしよう
追記(2025年11月23日) 解決方法
要はこのエラーは「おみゃあマニュアルで証明書発行したから、『更新しろ』と言われてもどうやってやればいいかわかんないよ?」
という意味です。
ならば簡単、マニュアルでしなければ良い。
(マニュアルでしたいならACMEプロトコルを理解して更新するアプリを自作してくださいまし)
2種類の認証方法
「おいCertbot、rumiserver.comの証明書を発行しろ」と言っても、
「お前そのドメインの所有者なの?」という話になります。
これはCertbotが疑っている訳ではなく、Let'sEncryptなどの
認証局が疑っています、
貴様が他人のドメインで悪いことをしようとする犯罪者であるということを。
朗報です、貴様が身の潔白を証明する手段は2つあります!
1・HTTP経由で証明する
2・DNSのTXTレコードで証明する
1の方法では、Apache2やNGINXなどのウェブサーバーをセットアップする必要があります。
この方法のメリットは
・即時反映される
・DNSのAPIなどを考えなくて良い
デメリットは
・HTTPサーバーが必要である
2の方法では、DNSのAPIについて考える必要があります、
しかし、それさえできればスマートに行うことができます。
2のデメリットは、DNSには浸透という概念があること。
これは、DNSが何故かレコードをキャッシュするというキチガイみたいな設計をしているためです。
(パフォーマンスは確かに向上しますが、わたしは否定的です。)
この記事ではDNSのみ説明します。
DNSのTXTレコードで証明する
まず、どこのDNSを使っているかで話が変わります。
ここではCloudFlareのDNSという前提で進めます。
他のDNSでもググればやり方でてきます。
CloudFlareのAPIキーを獲得する
まずはCloudFlareのダッシュボードを開きましょう。

そしたら、→を開きましょう。
をクリックします。
「API トークン テンプレート」という項目がありますね?ここに「ゾーンDNSを編集する」という行があります。
をクリックしましょう。

ゾーンリソースには、「アカウントにある全てのゾーン」を選択し、あなたのアカウントを選択します。
次へ進めていけば、APIキーが発行されます。
APIキーは
必ずメモしてください。
iniファイルを作成
おそらく、Certbotはrootで扱うと思うので、rootに切り替えます。
sudo bash
さて、お好きなエディタで「/root/cloudflare.ini」を作成し編集してください。
ファイル名は何でも良いです。
内容は以下のようにしてください。
dns_cloudflare_api_token = トークン
には、先程メモしたトークンを張り付けてください。
次に、そのファイルのPERMISSIONを600にしておきましょう。
chmod 600 /root/cloudflare.ini
さて、おそらくPythonとpipは入っていることでしょう。
Certbot用のCloudFlare拡張を入れます。
pip install --upgrade cloudflare==2.19.* --break-system-packages
証明書発行
「rumiserver.com」にはあなたのドメインを入れてください。
certbot certonly --dns-cloudflare --dns-cloudflare-credentials /root/cloudflare.ini --dns-cloudflare-propagation-seconds 60 -d rumiserver.com -d *.rumiserver.com
これで証明書が発行されます!おめでと!()
更新できるかチェックする
certbot renew --dry-run
これでエラーがでなければ成功です。
(
--dry-runはテストできる機能です)
さあ、あとは
certbot renewをcrontabにでも登録するだけです。