acme.sh

提供: ArchWiki
ナビゲーションに移動 検索に移動

acme.sh シェルスクリプトだけで書かれた ACME クライアントです。ACME プロトコルを完全に実装しており、例えば IPv6 やワイルドカード証明書などをサポートしています。

インストール

acme.sh パッケージをインストールします。スタンドアロンモードを使用する場合は、socat をインストールします。

使用方法

このパッケージは man ページを提供しませんが、使い方は wiki に書いてあります。acme.sh --help を実行すると、コマンドとパラメータの長いリストが出力されます。

基本的には 3 つのステップがあります。

  1. 証明書の発行を依頼する。
  2. 発行された証明書をインストールし、使えるようにする。
  3. 証明書を長期的に維持する。

以下の例で説明します。

新しい証明書を発行

-d オプションで任意のドメインを指定することができます。

ヒント: acme.sh は2021年8月1日から ZeroSSL をデフォルト CA として使用しているため、LetsEncrypt をデフォルト CA として指定するとよいでしょう。

acme.sh スクリプトは、さまざまなモードをサポートしています。指定するモードとオプションの例は次のとおりです。

  • Webroot モード:
$ acme.sh --issue -d example.com -d www.example.com -d cp.example.com -d '*.example.com' -w /home/wwwroot/example.com
  • スタンドアロンモード。ウェブサーバーが動作していない場合は --standalone をつけてスタンドアロンモードにします:
$ acme.sh --issue --standalone -d example.com -d www.example.com -d cp.example.com
  • Nginx モード:
$ acme.sh --issue --nginx -d example.com -d www.example.com -d cp.example.com
  • DNS モード (詳しくは official wiki を参照してください):
$ acme.sh --issue -d example.com -d '*.example.com' --dns dns_he

プロジェクトの wiki には さらに多くの例が掲載されています。

Apache/Nginx などに証明書をインストールする

Nginx:

$ acme.sh --install-cert -d example.com --key-file '/path/to/keyfile/in/nginx/example.key' --fullchain-file '/path/to/fullchain/nginx/example.cer' --reloadcmd "systemctl force-reload nginx"

Apache:

$ acme.sh --install-cert -d example.com --cert-file '/path/to/certfile/in/apache/example.cer' --key-file '/path/to/keyfile/in/apache/example.key' --fullchain-file '/path/to/fullchain/certfile/apache/example.fullchain.cer' --reloadcmd "systemctl force-reload nginx apache2"

証明書の維持

証明書は 60 日ごとに更新されます。acme.sh を定期的に実行するために、systemd timer を設定することができます。

参照

  • ドキュメントは、Project homepagewiki があります。
  • acme-tiny はいくつかの関連するユーティリティと、その他の一般的な ACME ドキュメントを提供します。
  • lacme は小さな ACME クライアントで、プロセスの分離と最小限の特権を念頭に置いて書かれています。
翻訳ステータス: このページは en:Acme.sh の翻訳バージョンです。最後の翻訳日は 2022-07-07 です。もし英語版に 変更 があれば、翻訳の同期を手伝うことができます。