4 ステップ VPS Web サーバー: Debian、Apache、Certbot、Let's Encrypt!
どういうわけか、これらのcertbotコマンドをどうしても覚えられないんです。ブックマークしました! –raindog308
導入

Debian、Apache、Certbot、Let's Encryptはウェブサイト構築によく使われています。しかし、初心者にとって問題となるのは、設定方法に関するシンプルで明確な手順書を見つけるのが難しいことです。ここでは、まさに必要なシンプルな手順を紹介します。わずか数分で、安全な接続で提供される基本的なウェブサイトを構築できます。
シンプルなレシピをリストアップした後、それを見つけるのがどれほど大変だったかについて話し合います。その後、レシピをステップごとに詳しく説明し、最後に有効なLet's Encrypt証明書を備えた動作するサーバーを構築します。
シンプルなレシピ
レシピはこちら。たった4ステップです。
root@vaporvps ~ # apt-get update
root@vaporvps ~ # apt-get upgrade
root@vaporvps ~ # apt-get install apache2 certbot python3-certbot-apache
root@vaporvps ~ # certbot --apache
レシピを見つけるのは難しい
初心者にとってレシピを見つけるのがどれほど難しいかを確認するために、探すのに妥当と思われる場所をいくつか確認してみましょう。まず、Debian WikiのLet's Encryptページを見てみましょう。このページはDebianの現在のバージョン11をカバーしていません。また、必要なインストールコマンドも明確に示されていません。
Let's Encryptの「Getting Started」ページを確認すると、 Certbotのサイトにアクセスしてカスタマイズされた手順を確認するように指示されています。リンク先のCertbotのページでは、 Debian 11は選択肢に含まれていません。

手順を見つけると、多くの場合snapd が推奨されます。snapdは賛否両論あり、自動アップデート機能やその他の理由から、多くの人が snapd を好んでいません。
シンプルで分かりやすい手順を見つけるのが大変だったので、25230にレシピを掲載することにしました。ApacheとCertbotをインストールしてみましょう!ほんの数秒でLet's Encrypt証明書付きのウェブサイトが完成します。
インストールレシピのステップ実行
まず、OS を更新します。
root@vaporvps ~ # apt-get update
[、、、、[
root@vaporvps ~ # apt-get アップグレード
[、、、]
root@vaporvps ~ #
次に、Apache、Certbot、および Apache 用の Certbot 拡張機能をインストールします。
root@vaporvps ~ # apt-get install apache2 certbot python3-certbot-apache
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
apache2-bin apache2-data apache2-utils augeas-lenses libapr1 libaprutil1
libaprutil1-dbd-sqlite3 libaprutil1-ldap libaugeas0 liblua5.3-0 python3-acme
python3-augeas python3-certbot python3-cffi-backend python3-configargparse
python3-configobj python3-cryptography python3-distro python3-josepy
python3-openssl python3-parsedatetime python3-requests-toolbelt python3-rfc3339
python3-tz python3-zope.component python3-zope.event python3-zope.hookable
python3-zope.interface
Suggested packages:
apache2-doc apache2-suexec-pristine | apache2-suexec-custom www-browser
augeas-doc python3-certbot-nginx python-certbot-doc augeas-tools python-acme-doc
python-certbot-apache-doc python-configobj-doc python-cryptography-doc
python3-cryptography-vectors python-openssl-doc python3-openssl-dbg
Recommended packages:
ssl-cert python3-icu
The following NEW packages will be installed:
apache2 apache2-bin apache2-data apache2-utils augeas-lenses certbot libapr1
libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libaugeas0 liblua5.3-0
python3-acme python3-augeas python3-certbot python3-certbot-apache
python3-cffi-backend python3-configargparse python3-configobj
python3-cryptography python3-distro python3-josepy python3-openssl
python3-parsedatetime python3-requests-toolbelt python3-rfc3339 python3-tz
python3-zope.component python3-zope.event python3-zope.hookable
python3-zope.interface
0 upgraded, 31 newly installed, 0 to remove and 1 not upgraded.
Need to get 4,403 kB of archives.
After this operation, 16.9 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
[. . . ]
root@vaporvps ~ #
インストールされるパッケージの数がすごいですね!🤩
http://$Server_IP でサーバーのIPアドレス(数値)にアクセスすると、Apacheが動作していることを確認できます。もちろん、まだhttps接続ではありません!証明書を取得する必要があります。
証明書を取得しましょう!
この簡単なコマンドを実行します。質問されたら答えてください。
root@vaporvps ~ # certbot --apache
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices)
(Enter 'c' to cancel): [email protected]
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
利用規約をお読みください
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf。
ACMEサーバーに登録するには同意する必要があります。同意しますか?
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
(はい)es/(いいえ)o: はい
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
最初の証明書が発行されたら、
電子フロンティア財団(Electronic Frontier Foundation)にあなたのメールアドレスを共有してください。
Let's Encryptプロジェクトのパートナーであり、
Certbotを開発していますか?Webの暗号化に関する私たちの取り組みについてメールでお知らせします。
EFF のニュース、キャンペーン、デジタルの自由をサポートする方法。
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
(はい)es/(いいえ)o: はい
アカウントを登録しました。
設定ファイルに名前が見つかりません。ドメインを入力してください。
名前(カンマまたはスペースで区切る)(キャンセルするには「c」を入力してください): vaporvps.com
vaporvps.com の証明書の申請
次の課題を実行します。
vaporvps.com の http-01 チャレンジ
Apache書き換えモジュールを有効にしました
検証を待っています…
課題の解決
/etc/apache2/sites-available/000-default-le-ssl.conf に SSL vhost を作成しました
Apache socache_shmcbモジュールを有効にしました
Apache SSLモジュールを有効にしました
仮想ホスト /etc/apache2/sites-available/000-default-le-ssl.conf に証明書を展開する
利用可能なサイトを有効にする: /etc/apache2/sites-available/000-default-le-ssl.conf
Apache書き換えモジュールを有効にしました
/etc/apache2/sites-enabled/000-default.conf の vhost を /etc/apache2/sites-available/000-default-le-ssl.conf の ssl vhost にリダイレクトします
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
おめでとうございます!https://vaporvps.com の有効化に成功しました。
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
EFF メーリング リスト (メール: [email protected]) に登録してください。
メールアドレスが無効であるため、EFFメーリングリストへの登録ができませんでした。後ほどhttps://act.eff.orgにアクセスして再度お試しください。
重要な注意事項:
– おめでとうございます!証明書とチェーンは次の場所に保存されました:
/etc/letsencrypt/live/vaporvps.com/fullchain.pem
キーファイルは次の場所に保存されています:
/etc/letsencrypt/live/vaporvps.com/privkey.pem
証明書は2022年9月6日に失効します。新しい証明書または
将来この証明書の修正版が必要な場合は、
certbotを「certonly」オプションで再度実行します。非対話的に
すべての証明書を更新するには、「certbot renew」を実行します。
– Certbot が気に入ったら、次の方法で私たちの活動をサポートすることをご検討ください。
ISRG / Let's Encrypt への寄付: https://letsencrypt.org/donate
EFFへの寄付: https://eff.org/donate-le
root@vaporvps ~ #
うまくいきましたか?
https://vaporvps.com にアクセスしてセキュリティ証明書を確認しましょう。有効です!

index.htmlファイルを独自のコードに置き換える
Apache2 Debianのデフォルトページを独自のコードに置き換えることができます。これで、VPSから安全な接続を介して提供される基本的なウェブサイトが完成しました。

注記
なぜメールが受信されなかったのか分かりません。以前はいつも正常に受信できたのに。もしかしたら、すでに登録されているからかもしれません。