2023-01-12(TH) Basic認証を無くして手動更新。成功
そもそも本当にBasic認証なのかを確かめるために.htaccessをリネームして更新テスト→更新成功。
よって、結局4月12日まで証明書が有効になったと思う。
/usr/bin/certbot renew
/etc/letsencrypt/live/ドメイン
更新日付確認 で、更新されたことを確認。
と言うのは、
Renewing an existing certificate for mydomain.com
Failed to renew certificate mydomain.com with error: Could not bind TCP port 80 because it is already in use by another process on this system (such as a web server). Please stop the program in question and then try again.
という、Basic認証と関係なさそうなエラーメッセージだったからです。
よって、Basic認証を回避する仕組みを付け加えておくのが良さそうです。
こちらを参考に設定を見直してみます。
mydomain.com/.well-known
にブラウザからBasic認証なしでアクセス可能な状態でした。
.well-known/.htaccess
を見ても、
Satisfy any
order allow,deny
allow from all
なのでアクセスできるようになっているはずです。
今回は.confではなく.htaccessで設定したので。
更にこちらによると、
.well-known/acme-challenge
という、.wlell-known の下にディレクトリが作られるという事のようです。
となると、ディレクトリが作れなくてエラーになっていたのかもしれません。
取りあえず、chmod で.well-knownを変更しておきました。
パーミッションエラーなんじゃない?ってことで。
これでディレクトリを作れるようになってエラーが出なくなるのではないかな?
2022-10-31(MO) 30秒後に再起動設定にして今度試してみる予定
取りあえず再起動してみるとOKだった。
# ./xampp stop
Stopping XAMPP for Linux 5.6.33-0…
XAMPP: Stopping Apache…ok.
XAMPP: Stopping MySQL…ok.
XAMPP: Stopping ProFTPD…ok.
# ./xampp status
Version: XAMPP for Linux 5.6.33-0
Apache is not running.
MySQL is not running.
ProFTPD is not running.
# ./xampp status
Version: XAMPP for Linux 5.6.33-0
Apache is running.
MySQL is running.
ProFTPD is running.
2022-10-30(SU)Systemdを設定して様子を見ます。
Restart=always
RestartSec=30s
2022-10-27(TH)分からない。今回も手動でサーバーを止めて更新した。また2か月後に検討する
今回やったことは、いろいろだけどRestartSecを使ってサーバーを一定時間停止すればいいじゃないかという事。
だが、RestartSecを指定しても自動で起動しなかった。なぜだか不明。
取りあえず解決するために手動で止めた。
Restart=always
なので、手動で止めても再起動されるはずなだが・・・今回やったこと。
/etc/systemd/system# vi xampp.service
Restart=always
RestartSec=30s
sudo systemctl daemon-reload
/usr/bin/certbot renew
いや、これが効いていないと思う。なんか変だな。
sudo systemctl daemon-reload
再起動で効いた。
この辺も検討必要。
次回の検討。この辺りが怪しいのではないか?
/usr/bin/certbot renew \
–pre-hook “/opt/lampp/xampp stop” \
–dry-run
ーーーーーー
systemctl –version
systemd 229
+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ -LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN
2022-08-18(TH)再設定中
/usr/bin/certbot renew
Failed to renew certificate xxxxxxxxxx with error: Could not bind TCP port 80 because it is already in use by another process on this system (such as a web server). Please stop the program in question and then try again.
80ポートがつながらない。確かに。
443はつながる。
80にもつながっている。
となるとやはり .well-known の関係ではないか?
こちらを参考に.htaccess を設定した。
mkdir .well-known
vi .htaccess
Require all granted
:wq
vi index.html
test
:wq
http://xxxxxxxxxxxxxxxxxx/.well-known/
にアクセスしてベーシック認証が無しで表示できることを確認。
こちらと同じ内容になっているのだと思う。
対処法はやはりWebサーバーを落としてやり直し。
snap 版のLet’s encrypt になった時にSystemdのタイマーを使うようになっていました。
内容
systemctl list-timers
木 2022-08-18 21:56:00 JST 10h left 木 2022-08-18 05:11:06 JST 6h ago snap.certbot.renew.timer snap.certbot.renew.service
タイマーの設定。参考
cd /etc/systemd/system/
設定内容。参考
ExecStart ExecStartPre ExecStartPos ExecStopPost
等を調べます。要は実行前にWebサーバーをストップしてやればいいのでは?
/opt/lampp# ./lampp stop
よく分からないが、
ExecStartPre でサーバー停止。
ExecStopPost でサーバー起動。してやればいいのではないか??
てか、apacheサーバーが停止できない。
そうか、サービスでRestart alwaysにしてあるんだった。
取りあえずalwaysを外して考えることにします。
sudo systemctl daemon-reload
/usr/bin/certbot renew
とりあえず手動で更新させました。よってまた三か月後に考えます。
:/etc/letsencrypt/live/ドメイン
更新日付確認
で、xamppのサービスもalwaysに戻しておかないと・・・・
[Service]
Restart=always
RestartSec=30
この辺が参考になるかもしれない???
多分これでとりあえずできるんじゃあないかな?参考
——————————-
2022-06-04
Let’s Encrypt certificate expiration notice for domain
ベーシック認証停止
mv .htaccess .htaccess_sv
ベーシック認証の関係かと思って調査しましたが、違うエラーだったようです。
/usr/bin/certbot renew
Could not bind TCP port 80 because it is already in use by another process on this system (such as a web server). Please stop the program in question and then try again.
80ポートが使われているエラー。
アパッチを停止
/opt/lampp# ./lampp stop
/usr/bin/certbot renew
正常に更新されたようです。
:/etc/letsencrypt/live/ドメイン
更新日付確認
ベーシック認証も戻しました。
ベーシック認証が問題だったのかは不明なままです。これに関しては次回更新まで待ちます。