🍖
AmazonLinux2023にLet'sEncryptを導入
毎回つまづくLet'sEncrypt、ようやく慣れたと思ったらAL2023は
やれFedoraベースになったとか
やれyumじゃなくてdnf使いましょうとか
やれamazon-linux-extrasが無くなったとか
まーた色々変わっちゃうのか〜。
そもそもcertbotの公式にAL版(2も2023も)のマニュアルが無い
毎回2個目のセレクタ何選んだらいいんか分からん。
My HTTP website is running ◯◯ on ◯◯
AL2023はFedoraでいいのかなーとか思ったりしてるけど
適当に選んで結局別サイトに流れて解決するパターンが多い。
毎回この作業コスト考えたらACM使えば良くない...?
導入手順
覚えたら楽だから10回でダメなら100回やって覚えるスタンス
install snapd
最初のつまづきポイント
$ dnf install snapd
No match for argument: snapd
Error: Unable to find a match: snapd
当然のように入らんキエー。
結局正解が見つからなかったのでsnapd諦めてpip経由でやる。
install certbot by pip
Pythonは専門外なので1行目は多分virtual-env的なコマンドなんだろう。
$ python3 -m venv /opt/certbot/
$ /opt/certbot/bin/pip install --upgrade pip
$ /opt/certbot/bin/pip install certbot certbot-apache
3個目のコマンドでcertbot-apacheが入らないよエラー。
OSError: ctypes.util.find_library() did not manage to locate a library called 'augeas'
ライブラリ足りないみたいなのでインストール
$ dnf install augeas-libs
リトライ。
$ /opt/certbot/bin/pip install certbot-apache
〜略〜
Successfully built python-augeas
Installing collected packages: python-augeas, certbot-apache
Successfully installed certbot-apache-2.6.0 python-augeas-1.1.0
入ったのでcertbotでLet's Let'sEncrypt
先に諸々準備
浮かれポンチで certbot --apache
とかやっても
80番ポートがリッスンされてないよ〜とかなっちゃうのでますapacheの設定をしましょう。
VirtualHostのファイル設定
$ vi /etc/httpd/conf.d/vhost.conf
# ↓追加
<VirtualHost *:80>
VirtualDocumentRoot /var/www/html
ServerName acerola.omsubi.jp:80
ErrorLog /var/log/httpd/vhost_error_log
CustomLog /var/log/httpd/vhost_access_log combined
</VirtualHost>
# ↑追加
$ httpd -t
Syntax OK
$ service httpd graceful
mod_ssl入れてる?
$ dnf install mod_ssl
認証作業
あとは質問に答えていくだけ。
$ certbot --apache
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Could not find ssl_module; not disabling session tickets.
Which names would you like to activate HTTPS for?
We recommend selecting either all domains, or all domains in a VirtualHost/server block.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: acerola.omsubi.jp
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel):
Congratulations! が出たら完了。
apacheのリロードしないと適用されなかった気がするけどしないでも行けてた。
certbotコマンドはミスりまくったら制限に引っかかってしまうので準備万端にしてから挑みましょう。
おわり。
Discussion