ブログサーバーのリプレース(CentOS6.10 -> CentOS7.7)

サーバー移転先について

ブログを始めた当初にいくつか検討して、さくらインターネットのVPSを借りて、そのまま使い続けていましたが、CentOS6(現在CentOS6.10)だとライブラリの更新も厳しくなってきました。

このブログはそもそもアクセスがほぼ無いので、移行期間中はブログを停止していても良かったんですが、個人的なメモとか色々(?)入ってるので、ダウンタイムゼロで移転する為にサーバー移転という選択をしました。
停止してOSを変更すれば余計なお金はかかりませんが、移行するのと手間はあまり変わらないので。
(余計なお金 = 移行中はVPSが2つ必要になる)

AWSに移そうかなとも考えましたが、色々やりだすと結局VPSの方が安いのでさくらインターネットのVPSをもう一つ追加(CentOS7.7)して、そちらに移すことにしました。

CentOS7セットアップ

OS自体の設定は、詳細はググれば色々でてくるので割愛。
– 公開鍵を登録してパスワードログインを無効化
– ファイヤーウォール設定(80/443をopen)

構成によって必要なミドルウェアは変わりますが、このブログは
nginx / MariaDB / php-fpm
で動いています。

# yum update

// epel/remiの追加
# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

// php7.3とライブラリ追加
# yum install httpd
# yum install --disablerepo=* --enablerepo=epel,remi,remi-safe,remi-php73 php php-cli php-mbstring php-mysql php-pecl-apc php-fpm
# yum install libedit-devel libtiff libxml2-devel
# yum install libraqm
# yum install --disablerepo=* --enablerepo=epel,remi,remi-safe,remi-php73 php-devel php-pdo php-gd php-xml php-mcrypt
# yum install --disablerepo=* --enablerepo=epel,remi,remi-safe,remi-php73 php-zip
# yum install ImageMagick
# yum install --disablerepo=* --enablerepo=epel,remi,remi-safe,remi-php73 php-imagick

// MariaDB
# curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
# yum install MariaDB-server MariaDB-client

// Nginx
# yum install nginx

依存モジュールがいくつかあったので、雑に貼りましたがこんな感じで。

お約束のOS起動時に自動起動するようにしときます。

# systemctl enable php-fpm
# systemctl enable mariadb
# systemctl enable nginx

WordPressを移動

ドメインの変更はしないので、データはすべてそのまま使います。
まずは旧サーバーのデータをdump。

$ mysqldump -A > all.sql

圧縮しときます。別に何でもいいですがzipで。

$ zip sql.zip all.sql

そして旧サーバーのWordPressもまるっと圧縮しときます。
wp_rootはWordPressを入れていたディレクトリです。

$ zip data.zip wp_root

新サーバーに転送。

scp sql.zip root@xxx.xxx.xxx.xxx:/home/wordpress
scp data.zip root@xxx.xxx.xxx.xxx:/home/wordpress 

新サーバーのIP: xxx.xxx.xxx.xxx
新サーバーのdir指定: /home/wordpress

これでデータを新サーバーに移動できました。

新サーバーで解凍します。

unzip sql.zip
unzip data.zip

nginxのconfigとかもscpで飛ばしても良かったんですが、たいした設定はしてないので旧サーバーからコピペ。
php-fpmのconfigも同様にコピペ。

動作確認

DNSの切り替え前に、新サーバーで動いているのが確認します。
ローカル端末(つまり自分のPC)にhosts設定して新サーバーが見えるようにした状態でアクセス。
何から何まで移動したので無事に動いているようなのでDNSを切り替え。

キャッシュが効いてるので浸透にしばらくかかりそうですが、このエントリーは新サーバーで投稿したので、このブログが見えたら新サーバーです!

最後に

GWの暇つぶしに移転を進めていましたが、早々に移転してしまったので、GW中はチューニングとかしようかな。
細かい設定とかは別エントリーで。