サーバ引越し作業の記録。skoji.jpおよび、sandbox.skoji.jpを新たなサーバに引越した。ただ引っ越すだけでなく、次の変更を行った。

  • CentOS7からUbuntu 18.04 LTSに変更
  • MastodonをDockerで動かさない

0. さくらのVPSにUbuntu 16.04 LTSをインストール

1. sshポート変更・ファイアウォールの設定変更

sudo vi /etc/ssh/sshd_config
sudo systemctl restart ssh
sudo rm /etc/iptables/iptables.rules
sudo ufw enable
sudo ufw allow <ssh port>
sudo ufw allow 80
sudo ufw allow 443
sudo ufw default deny

2. 18.04 LTSにアップグレード

# update 16.04 LTS
sudo apt update && sudo apt dist-upgrade && sudo apt autoremove
# check LTS version is selected
sudo vi /etc/update-manager/release-upgrades
# do update
sudo do-release-upgrade -d

3. nginxインストール

  • Ubuntu 17.10用をインストール

4. IPv6有効化

さくらのVPSはIPv6はデフォルトではオフになっているので有効にする。

4. nginx設定などのコピー

旧マシンからnginx設定や、/usr/shar/nginx/html以下の静的なコンテンツをコピーする。Let’s encryptは再設定する。

5. Mastodon設置

最新の設置ガイドに基づいて設置する。Nginxの設定、DBの初期化、Adminの作成などはスキップする。また、この時点ではまだ起動しない。

この時、ubuntu 18.04 LTSでは次のことに留意する。

  • libgdbm3ではなくlibgdbm5を入れる
  • nodejsのrepository設定にはsetup_6.xではなくsetup_8.xを使う

6. 旧サーバからのDBコピー

旧サーバでDBのバックアップを取る。

docker-compose stop web streaming sidekiq redis
docker exec mastodon_db_1 pg_dumpall -U postgres > ./backup.sql

backup.sqlを新サーバにscpなどでコピーした上でレストアする。

psql -U postgres -f backup.sql

redisは、旧サーバの<mastodonのディレクトリ>/redis/dump.rdbを新サーバの/var/lib/redis/にコピーする

7. 旧サーバのmedia fileコピー

<mastodonのディレクトリ>/public/system/以下を新サーバ同じ場所にscpなどでコピーする。

8. Mastodonのサービスを起動する

これで動くはず。