このハウツーでは、ACMEプロトコルとCertbotクライアントを使用してApacheとNginxのSSL.comで自動証明書のインストールと更新を設定する方法について説明します。
ご注意: SSHアクセスが必要になります
sudo
これらの指示に従うためのWebサーバーの特権。ご注意:
他の多くの ACME クライアントを使用できます。 Kubernetescert-manager、SSL.com の ACME サービスを使用します。
アクメ4j クライアントは、このリポジトリで SSL.com ACME サービスを使用できるようになりました。 https://github.com/SSLcom/acme4j
他の Certbot ACME クライアント以外の手順については、ソフトウェア プロバイダーのドキュメントを参照してください。
他の多くの ACME クライアントを使用できます。 Kubernetescert-manager、SSL.com の ACME サービスを使用します。
アクメ4j クライアントは、このリポジトリで SSL.com ACME サービスを使用できるようになりました。 https://github.com/SSLcom/acme4j
他の Certbot ACME クライアント以外の手順については、ソフトウェア プロバイダーのドキュメントを参照してください。
Certbotをインストールし、ACME資格情報を取得します
- WebサーバーにSSHで接続します。
- の現在のバージョンを確認してください Certbot、ApacheおよびNginxプラグインとともに、Webサーバーにインストールされます。
- あなたがまだ スナップインストール、次のコマンドを使用してインストールできます。
sudo snap install --classic certbot
- If
/snap/bin/
あなたの中にはありませんPATH
、追加するか、次のようなコマンドを実行する必要もあります。sudo ln -s / snap / bin / certbot / usr / bin / certbot
- あなたがまだ スナップインストール、次のコマンドを使用してインストールできます。
- SSL.comアカウントからACME資格情報を取得します。
Apacheのインストールと自動化
このようなコマンドを使用して、Apacheにインストールします。 すべて大文字の値を実際の値に置き換えます。
sudo certbot --apache --email EMAIL-ADDRESS --agree-tos --no-eff-email --config-dir /etc/ssl-com --logs-dir /var/log/ssl-com --eab -kid ACCOUNT-KEY --eab-hmac-key HMAC-KEY --server https://acme.ssl.com/sslcom-dv-ecc -d DOMAIN.NAME
コマンドの内訳:
sudo certbot
実行しますcertbot
スーパーユーザー権限を持つコマンド。--apache
Apacheで使用する証明書をインストールすることを指定します。--email EMAIL-ADDRESS
登録メールアドレスを提供します。 複数のアドレスをコンマで区切って指定できます。--agree-tos
(オプション)ACMEサブスクライバー契約に同意します。 インタラクティブに同意したい場合は、これを省略できます。--no-eff-email
(オプション)は、EメールアドレスをEFFと共有したくないことを示します。 これを省略すると、メールアドレスを共有するオプションが表示されます。--config-dir /etc/ssl-com
(オプション)構成ディレクトリを設定します。--logs-dir /var/log/ssl-com
(オプション)ログのディレクトリを設定します。--eab-kid ACCOUNT-KEY
アカウントキーを指定します。--eab-hmac-key HMAC-KEY
HMACキーを指定します。--server https://acme.ssl.com/sslcom-dv-ecc
SSL.comのACMEサーバーを指定します。-d DOMAIN.NAME
証明書がカバーするドメイン名を指定します。
ご注意: Certbot 2.0.0 以降では、デフォルトで新しい証明書の ECDSA が生成されます。 上記のコマンドは、ECDSA キーペアと証明書用です。 代わりに RSA キーを使用するには:
- 以下のスクリーンショットに示すように、ジョブタイプを
--server
コマンドの値https://acme.ssl.com/sslcom-dv-rsa
.
ご注意: あなたが使用することができます
-d DOMAIN.NAME
証明書にドメイン名を追加するには、コマンドで複数回オプションを選択します。 に関する情報をご覧ください 証明書の種類と請求 ドメイン名のさまざまな組み合わせがどのようにマッピングされるかを確認する SSL.com証明書の種類 およびそれに対応する価格。上記を初めて実行したとき
certbot
コマンドを実行すると、ACME アカウント情報がコンピューターの構成ディレクトリ (/etc/ssl-com
上記のコマンドで。 今後の certbot の実行では、 --eab-hmac-key
と --eab-kid
これは、certbot がローカルに保存されたアカウント情報を優先してそれらを無視するためです。
コンピューターの ACME 証明書の注文を別の SSL.com アカウントに関連付ける必要がある場合は、次のコマンドを使用してコンピューターからこのアカウント情報を削除する必要があります。 sudo rm -r /etc/ssl-com/accounts/acme.ssl.com
(または、オプションを省略した場合 --config-dir
オプション、 sudo rm -r /etc/letsencrypt/accounts/acme.ssl.com
).
コマンドを実行すると、次のような出力が表示されます。
デバッグログを/var/log/ssl-com/letsencrypt.logに保存します選択したプラグイン:オーセンティケーターapache、インストーラーapache新しい証明書の取得次のチャレンジを実行します:DOMAIN.NAMEのhttp-01チャレンジ検証を待っています...チャレンジをクリーンアップします/etc/apache2/sites-available/DOMAIN-le-ssl.confにSSLvhostを作成しました。VirtualHostへの証明書の展開/etc/apache2/sites-available/DOMAIN-le-ssl.conf使用可能なサイトの有効化:/ etc / apache2 sites-available / DOMAIN-le-ssl.conf / etc / apache2 / sites-enabled / DOMAIN.NAME.confのvhostを/etc/apache2/sites-available/DOMAIN-le-ssl.confのsslvhostにリダイレクトします--- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - おめでとう! これで、https://DOMAIN.NAMEが正常に有効になりました。 -
Certbotは、このようなcrontabファイルも作成し、30日以内に有効期限が切れるcertbotがインストールした証明書を非インタラクティブに自動更新します。
$ cat /etc/cron.d/certbot#/etc/cron.d/certbot:certbotパッケージのcrontabエントリ##アップストリームでは、30日に0回更新を試みることをお勧めします##最終的に、これは証明書を検証する機会になります#持っていません '取り消された場合など。更新は、有効期限が12日以内の場合にのみ発生します。 # # 重要な注意点! #initシステムとしてsystemdを実行している場合、このcronジョブは実行されません。 systemdを実行している場合、#cronjob.timer関数がこのcronjobよりも優先されます。 #詳細については、systemd.timerのマンページを参照するか、systemctl show#certbot.timerを使用してください。 SHELL = / bin / sh PATH = / usr / local / sbin:/ usr / local / bin:/ sbin:/ bin:/ usr / sbin:/ usr / bin 43200 * / XNUMX * * * root test -x / usr / bin / certbot -a \! -d / run / systemd / system && perl -e'sleep int(rand(XNUMX)) '&& certbot -q renew
ご注意: すべてSSL /TLS SSL.comによってACMEを介して発行された証明書の有効期間はXNUMX年です。
Nginxのインストールと自動化
Nginxの場合は、単に --nginx
for --apache
上記のコマンドで:
sudo certbot --nginx --email EMAIL-ADDRESS --agree-tos --no-eff-email --config-dir /etc/ssl-com --logs-dir /var/log/ssl-com --eab -kid ACCOUNT-KEY --eab-hmac-key HMAC-KEY --server https://acme.ssl.com/sslcom-dv-ecc -d DOMAIN.NAME
ご注意: Certbot 2.0.0 以降では、デフォルトで新しい証明書の ECDSA が生成されます。 上記のコマンドは、ECDSA キーペアと証明書用です。 代わりに RSA キーを使用するには:
- 以下のスクリーンショットに示すように、ジョブタイプを
--server
コマンドの値https://acme.ssl.com/sslcom-dv-rsa
.
手動で更新を強制する
有効期限が切れる前に証明書を手動で更新する場合は、次のコマンドを使用します。
certbot 更新 --force-renewal --cert-name DOMAIN.NAME
SSL.comは多種多様な SSL /TLS サーバー証明書 HTTPSWebサイトの場合。