ブログサーバーのリプレース(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中はチューニングとかしようかな。
細かい設定とかは別エントリーで。