web-dev-qa-db-ja.com

対話せずにCertbot letsencryptをインストールする

新しくインストールされたサーバーでプロジェクト全体のインフラストラクチャをブートストラップするbashスクリプトを書いていて、letcecrypt certbotを使用してsslインストールを構成したいと思います。行を実行した後:

certbot --nginx -d $( get_server_name ) -d www.$( get_server_name ).com

質問がいくつか出てきます。一部のパラメータを引数または何かとして渡しながら、対話なしでcertbotを実行できますか?

20
Laimonas Sutkus

次のオプションを追加して、certbotを「サイレント」で実行できます。

--non-interactive --agree-tos -m [email protected]

設定オプションの完全なリストはここにあります:

https://certbot.eff.org/docs/using.html

21
match

BertまたはShellスクリプトを使用して無料のSSL証明書を生成するプロセスを自動化するのに役立つCertbotによって提供される インラインフラグと「サブコマンド」 (それらのニックネーム)がいくつかあります。

@matchで言及されている最も関連性の高いフラグは次のとおりです。

--non-interactive

ただし、実際にはこのフラグはあまり役立たないため、あまり役に立ちません。たとえば、スクリプトから欠落している重要なフラグがある場合でも、証明書の生成は失敗します。率直に言って、私はCertbotが上記のフラグをキャンセルする方が良いと思います。

必要な最小フラグは次のとおりです。

  1. --agree-tos
  2. --register-unsafely-without-email ...または... -m [email protected]
  3. -d www.example.com

また、どのタイプのLet's Encrypt インストーラプラグイン (環境)も指定する必要があります。たとえば、WordPress Webサーバーの場合、Certbotがパブリックルートを介して所有権を簡単に確認できるように「webroot」を選択する必要があります(/.well-known*へのアクセスがブロックされていないことを確認してください):

--webroot -w /var/www/html/

以下は、SSL証明書をインストールするための完全なコマンド SlickStackで使用 です。

## install Certbot SSL certificate ##
certbot certonly --noninteractive --webroot --agree-tos --register-unsafely-without-email -d ${SITE_DOMAIN} -w /var/www/html/
2
jessuppi