AWS上のUbuntuをアップグレードしたときの手順を記録しておく。
注意)アップグレード後、phpが動かなくなってしまった。5の設定変更を実施したら再び動くようになった。
1.ファイアウォールの確認と設定
do-release-upgradeをリモートで実行し、アップグレード作業を行う場合は、1022 portの使用が推奨されている。ファイアウォールを実行している場合、事前にportの開放を行う。
sudo ufw allow 1022/tcp comment 'Temp open port ssh tcp port 1022 for upgrade'
2.セキュリティグループの設定
セキュリティグループのインバウンドルールに1022 portの許可を追加する。アップグレード作業にしか使わないportであるため、アクセス範囲は可能な限り狭く設定する。
3.アップグレードコマンドの実行
sudo do-release-upgrade
スクリプトの実行後、サーバーを再起動する。
4.Tera Termでログイン出来るようにする
Ubuntu 22ではssh-rsaが無効になっているため、Tera Termを使ってログインすることが出来ない。そこで下記のコマンドを実行して、ssh-rsaを有効にする。(Tera Termが使えないだけで、他の手段であればログイン出来る。Powershellや他のLinuxサーバーのsshコマンドでログインする。)
sudo su -
cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_org
sed -i '1s/^/PubkeyAcceptedAlgorithms=+ssh-rsa\n/' /etc/ssh/sshd_config
grep PubkeyAcceptedAlgorithms /etc/ssh/sshd_config
systemctl restart ssh.service
5.php8.1を有効にする
Ubuntu 22ではphp7.4が削除され、php 8.1が標準になっている。以下のコマンドでphp7.4の設定を削除して、php8.1を有効にする。
sudo a2dismod php7.4
sudo a2enmod php8.1
sudo service apache2 restart
6.セキュリティグループの設定
セキュリティグループのインバウンドルールの1022 portの許可を削除する。