コンテンツにスキップ

導入と設定の全体的な流れ

利用開始前の準備(登録担当者からのEAB情報の入手やポート80番の確認)が完了したら、実際のサーバでの作業を開始します。 ここでは、新規サーバへの導入フローと、既存の手動運用からの安全な移行方法について解説します。


1. 新規サーバへの導入フロー

1-1. クライアントツールの選定

お使いの環境に合わせて、適切なACMEクライアントを選びます。

  • Linux (Ubuntu, CentOS等) をお使いの方:
    • Certbot: 最も標準的で情報量が多いツールです。
    • acme.sh: 軽量で依存関係が少なく、簡単に導入できるツールです。
  • Windows Server (IIS) をお使いの方:
    • win-acme: IIS環境向けに特化し、GUIメニューで全てが完結するツールです。

1-2. 設定の全体像

選んだクライアントツールを利用して、以下のステップで設定を進めます。(具体的なコマンド等は各ツールのガイドを参照してください)

  1. ツールのインストール: サーバにクライアントソフトを導入します。
  2. アカウント登録: 手元にある EAB Credential を用いて、UPKIサーバに管理者の登録を行います。
  3. 証明書の発行: ドメイン名を指定して証明書を発行します(HTTP-01チャレンジを利用する場合、ここで80番ポートの通信が行われます)。
  4. Webサーバへの適用: 発行された証明書をWebサーバ(Apache, NGINX, IISなど)に読み込ませます。

2. 既存の手動運用からACMEへの移行(切り替え)

すでに手動で証明書(CSR)を作成・更新して稼働しているサーバをACMEによる自動運用に切り替える場合、以下の「安全でダウンタイムの無いアプローチ」を推奨します。

初心者向けの推奨アプローチ

既存の「古い秘密鍵」を無理に流用してACMEに引き継がせようとするのは、設定が複雑になりトラブルの原因となります。 以下の手順で完全に新しい鍵と証明書を並行して取得し、最後にWebサーバの設定だけを書き換える手法が最も安全です。

  1. 稼働したまま取得: 現在のWebサーバ(ApacheやNginxなど)を稼働させたまま、ACMEクライアントを使って「新規に」証明書と秘密鍵を取得します。
  2. ⚠️ よくある失敗事項(ポート競合): 既存のWebサーバが動いている状態で、ACMEクライアントの「スタンドアロンモード(クライアント自身が簡易Webサーバになるモード)」を使用すると、ポート80番の奪い合い(競合エラー)になり失敗します。稼働中のサーバでは、WebrootプラグインApache/Nginxプラグイン を使用して取得するようにしてください。
  3. 設定ファイルの書き換え: Webサーバの設定ファイル(httpd.confnginx.conf)を開き、証明書と秘密鍵を参照しているパス(場所)を、ACMEツールが新しく生成したパスに書き換えます。
  4. 💡 パス指定と権限のヒント: パスはACMEクライアントが自動生成した新しいファイル(またはシンボリックリンク)を正確に指すように記述してください。また、Webサーバープロセスがこれらのファイルを読み取れるよう、パーミッション(読み取り権限)が適切であることを確認します。
  5. 設定のテストと切り替え: Webサーバーをいきなり再起動せず、まずは設定ファイルの構文チェック(例: nginx -tapachectl configtest)を行い、エラーがないことを確認した上で、サーバーの再起動(またはリロード)を実行します。この瞬間から新しい証明書での通信に切り替わり、ダウンタイムなしでの移行が完了します。

3. 次のステップ

無事に設定が完了したら、証明書の自動更新が確実に動作するよう、テストや監視の設定を行います。 詳細は以下の運用ページをご覧ください。