正直、かなり甘く見ていました。
やろうとしたこと
a.hoge.comというサブドメインでNextcloudを立ち上げて運用していたのですが、唐突にexample.comというネイキッドドメインで運用しようとしたのがきっかけ。
当初の手順
- DBバックアップ
- 設定ファイルバックアップ(apacheバーチャルサイトとNextcloudのconfファイル)
- 新DNSレコード変更
- apacheバーチャルサイトのURL変更およびSSL証明書の差し替え
- NextcloudのconfファイルのURL変更
- Apache / PHP-FPM再起動
まではすんなりいきました。
URL変更後の苦行
Nextcloudは単なるファイルストレージではなく、統合コラボスイート。非常に多岐にわたって運用していたんだと改めて痛感。
- デスクトップクライアント
- スマートフォンアプリ
- ブックマークの変更
がそれなりにヘビー。それ以上にヘビーだったのが
- 高性能バックエンド
- AppAPI
の設定変更を忘れていたことでした。
DBと参照ディレクトリ変更の更なる苦行
また、動作確認後、「DBの向き先とNextcloud格納ディレクトリが新ドメインに即していない」ことがわかり、
- apacheのconfファイルをいったん無効化
- 再度DBバックアップ(サイト名などを変えていたため)
- DB及びユーザー新規作成作成
- 再バックアップしていたDBから新DBにデータ流し込み
- Nextcloud格納ディレクトリを
-pirオプションをつけてコピー&リネーム - Nextcloudのconfigを修正。DBのユーザ名とDB名を新しく作成したDBに変更
- ログ格納ディレクトリを新規作成、
www-dataに所有者変更 - apacheのconfファイルの格納ディレクトリとログ格納ディレクトリの向き先変更
/etc/logrotate.d配下のローテーションを新しいログ格納ディレクトリに変更- apacheのconfファイル有効化
- apache再起動
- Nextcloudのcronを新ディレクトリに合わせる
までやって、完全移行が完成しました。
「サーバリプレースとどう違うのか」レベルではありましたが、うまくいって良かったです。
詳細な手順は相当なボリュームになりそうなので、様子を見て描いていきます。