導入と設定の全体的な流れ
利用開始前の準備(登録担当者からのEAB情報の入手やポート80番の確認)が完了したら、実際のサーバでの作業を開始します。 ここでは、新規サーバへの導入フローと、既存の手動運用からの安全な移行方法について解説します。
1. 新規サーバへの導入フロー
1-1. クライアントツールの選定
お使いの環境に合わせて、適切なACMEクライアントを選びます。
- Linux (Ubuntu, CentOS等) をお使いの方:
- Windows Server (IIS) をお使いの方:
- win-acme: IIS環境向けに特化し、GUIメニューで全てが完結するツールです。
1-2. 設定の全体像
選んだクライアントツールを利用して、以下のステップで設定を進めます。(具体的なコマンド等は各ツールのガイドを参照してください)
- ツールのインストール: サーバにクライアントソフトを導入します。
- アカウント登録: 手元にある EAB Credential を用いて、UPKIサーバに管理者の登録を行います。
- 証明書の発行: ドメイン名を指定して証明書を発行します(HTTP-01チャレンジを利用する場合、ここで80番ポートの通信が行われます)。
- Webサーバへの適用: 発行された証明書をWebサーバ(Apache, NGINX, IISなど)に読み込ませます。
2. 既存の手動運用からACMEへの移行(切り替え)
すでに手動で証明書(CSR)を作成・更新して稼働しているサーバをACMEによる自動運用に切り替える場合、以下の「安全でダウンタイムの無いアプローチ」を推奨します。
初心者向けの推奨アプローチ
既存の「古い秘密鍵」を無理に流用してACMEに引き継がせようとするのは、設定が複雑になりトラブルの原因となります。 以下の手順で完全に新しい鍵と証明書を並行して取得し、最後にWebサーバの設定だけを書き換える手法が最も安全です。
- 稼働したまま取得: 現在のWebサーバ(ApacheやNginxなど)を稼働させたまま、ACMEクライアントを使って「新規に」証明書と秘密鍵を取得します。
- ⚠️ よくある失敗事項(ポート競合): 既存のWebサーバが動いている状態で、ACMEクライアントの「スタンドアロンモード(クライアント自身が簡易Webサーバになるモード)」を使用すると、ポート80番の奪い合い(競合エラー)になり失敗します。稼働中のサーバでは、Webrootプラグイン や Apache/Nginxプラグイン を使用して取得するようにしてください。
- 設定ファイルの書き換え: Webサーバの設定ファイル(
httpd.confやnginx.conf)を開き、証明書と秘密鍵を参照しているパス(場所)を、ACMEツールが新しく生成したパスに書き換えます。 - 💡 パス指定と権限のヒント: パスはACMEクライアントが自動生成した新しいファイル(またはシンボリックリンク)を正確に指すように記述してください。また、Webサーバープロセスがこれらのファイルを読み取れるよう、パーミッション(読み取り権限)が適切であることを確認します。
- 設定のテストと切り替え: Webサーバーをいきなり再起動せず、まずは設定ファイルの構文チェック(例:
nginx -tやapachectl configtest)を行い、エラーがないことを確認した上で、サーバーの再起動(またはリロード)を実行します。この瞬間から新しい証明書での通信に切り替わり、ダウンタイムなしでの移行が完了します。
3. 次のステップ
無事に設定が完了したら、証明書の自動更新が確実に動作するよう、テストや監視の設定を行います。 詳細は以下の運用ページをご覧ください。