ブログサーバーのリプレース(CentOS7.9 -> AlmaLinux 9.5)
サーバー入れ替え
前回と同じような感じですが、今回はOSの変更です。
そもそもCentOS 7系は既にサポートが切れてるので、CentOSのまま行くのであればStream 9系、もしくはAlmaLinux 9系か、Rocky Linux 9系あたりへの変更が候補になりそう。
ただ個人的に普段から使っているAlmaLinuxにしようと思います。
ってことで、元のVPSと同じスペック(CPU:2Core/Mem:1GB/SSD:50GB)のVPSを借りることにしました。
前回も同様の事を書きましたが、さくらのVPSはOSのインストール(入れ替え)が可能なので必要なデータを全部DLして、OS入れ替え、データの入れ直しで、1つのVPS(今使ってるVPS)だけ完結もできますが、ダウンタイムをゼロで移行したかったので新しくVPSを借りて移行完了後に前のVPSは解約する予定です。
(旧VPSも年払いにしているので残り期間でOSを入れ替えて遊ぶ可能性もありますが)
AlmaLinuxセットアップ
VPS起動時にスタートアップスクリプトが選択できたので、スワップを1Gほど追加しました。
(メモリ1Gのプランでもほぼアクセスがない当ブログ(php-fpm/MySQL/Nginx)を動かすには十分ですが、セットアップ時のインストール等々でOOM-killerが発動しまくる為)
とりあえずphp8.4とmysql8.4にしようと思います。
(どちらも8.4なのは偶然です😀)
前のサーバーはyumでインストールしていましたが、最近はdnfが主流のようなのでdnfで。
# epel追加 dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm # remi追加 dnf install http://rpms.famillecollet.com/enterprise/remi-release-9.rpm # 利用可能なphpを確認 dnf module list php # remi-8.4の有効化 dnf -y module reset php && dnf -y module enable php:remi-8.4 # php8.4(と必要なライブラリ)インストール dnf install php php-cli php-mbstring php-mysql php-pecl-apcu php-fpm dnf install libedit-devel libtiff libxml2-devel libraqm dnf install php-devel php-pdo php-gd php-xml php-mcrypt php-zip dnf install ImageMagick dnf install php-imagick # mysql-community追加 dnf install https://dev.mysql.com/get/mysql84-community-release-el9-1.noarch.rpm # mysqlインストール dnf install mysql-community-server # nginxインストール dnf install nginx # 自動起動 systemctl enable php-fpm systemctl enable nginx systemctl enable mysqld
WordPressデータの移植
こちらは前回の教訓が活きました。
mysqldump
文字コードを指定してdumpします。
mysqldump wordpress_db --default-character-set=utf8mb4 > wordpress.sql
zipで圧縮
zip wordpress.zip wordpress.sql zip -r wp_root.zip wp_root
新サーバーに転送
scp wordpress.zip wordpress@xxx.xxx.xxx.xxx:/home/wordpress scp wp_root.zip wordpress@xxx.xxx.xxx.xxx:/home/wordpress
新サーバーのユーザー@IP: wordpress@xxx.xxx.xxx.xxx
新サーバーのdir指定: /home/wordpress
新サーバーで解答
unzip wordpress.zip unzip wp_root.zip
nginx/php-fpmの設定を移植
ここも前回同様に前のサーバーからコピペしました。
大した設定はしてないので。。
Let’s Encrypt設定
前はインストールが色々と面倒だったんですが、snapdでサクっとできました。
# snapdインストール dnf install snapd # snapd起動 systemctl start snapd # シンボリックリンク追加 ln -s /var/lib/snapd/snap /snap # certbotインストール snap install certbot --classic # シンボリックリンク追加 ln -s /snap/bin/certbot /usr/bin/certbot # 発行 certbot certonly --webroot -w /var/www/html -d blog.mitsuto.com # snapdの自動起動 systemctl enable snapd # cronに追加 crontab -e # 毎月1日の朝4時に更新/nginx再起動 00 04 01 * * certbot renew && systemctl restart nginx
DNSを切り替えたのでこのエントリーが見えていれば新サーバーです😀
正月休み中にリプレースをしようと思っていたので完了できて良かった~✨