1-21.21.3鯖 のバックアップソース(No.5)

鯖としての設定

*apache2 [#f231e387]
システム→Synapticよりapache2を選択し適用する。適用後ブラウザでhttp://localhostで起動していることを確認。他マシーンからもhttp://IPアドレスで確認。

*php [#mbe25d49]
システム→Synapticよりphpを選択し適用する。php8.1.2がインストールされる。
 $ php -v
でバージョン確認。/var/www/html下にtest.phpを以下の内容で作成し、http://localhost/test.phpで確認。
 <?php phpinfo(); ?>

*mysql [#bd8a86c7]
システム→Synapticよりmysql-serverを選択し適用する。
 $ mysql --version
でバージョン確認。

*virtualmin 1[#a4bb6744]
virtualmin.comからのinstall.shでインストールできるかと思っていた。だってUbuntu22.04べーすだから。しかしUnsupported operating systemらしい。manualでインストールするしかない。webminを入れてからということ。

*webmin [#a25fc21f]
最新バージョンを確認して、debをダウンロード。そして
 sudo apt install ./webmin_2.xxx_all.deb -y
ちなみに、Synapticの窓はちゃんと閉じておきましょう。

*DDNS [#we461d94]
いつの間にかieserverが死んでいた。なので別のところでDDNS NOWで取ろうとしたら実はもう取っていた。なるほど、ここは無期限なのね。

*DDNS更新 [#lafa7b44]
DDNS NOWのマニュアルにはcron使って
 0-59 * * * * wget -O DDNSNow_update.log "https://f5.si/update.php?domain=ユーザ名&password=パスワードもしくはAPIトークン"
 0-59 * * * * wget -O DDNSNow_update.log "https://v6.f5.si/update.php?domain=ユーザ名&password=パスワードもしくはAPIトークン"
等と記載があった。毎分やる必要あるかなあ、ということで1時間毎にするか、あるいは1日毎にするか。1日毎ならatコマンドで十分な気もする。sleepしてwgetして0時0分に自分をatするシェルスクリプトでも書いて…と思っていたけど結局cronで1時間毎にwgetすることにした。

*HTTPS [#hf6f45e1]
まずは、ルータを設定してTCP 80番だけではなく443番も鯖に行くようにポートマップ設定

*certbot (Let's Encrypt) [#g0620495]
時代はオレオレ証明書ではなくLet's Encryptらしい。しかも超簡単にできる。
 $ sudo vi /etc/apache2/sites-available/000-default.conf
でServerAdmin, ServerNameを記述。ServerNameはDDNS NOWのxxxx.f5.siで良い。apache2再起動
 $ sudo service apache2 restart
次にsynapticでcertbotを検索し、certbotとpython3-certbot-apacheをインストール。そしたらcertbot起動
 $ sudo certbot --apache
メッセージに従いメアドや規約やサービスのY/N入力。それだけ。
SSL証明書は90日期限で以前はcronで更新とか必要だが、上で設定すると自動更新の機能も入る。
 $ sudo systemctl status certbot.timer
で確認可能。
しかしこの自動更新とwebminの設定繋げることができるのか?あーwebminの中からlets encryptやらなきゃダメだった?