正直、かなり甘く見ていました。

やろうとしたこと

a.hoge.comというサブドメインでNextcloudを立ち上げて運用していたのですが、唐突にexample.comというネイキッドドメインで運用しようとしたのがきっかけ。

当初の手順

  1. DBバックアップ
  2. 設定ファイルバックアップ(apacheバーチャルサイトとNextcloudのconfファイル)
  3. 新DNSレコード変更
  4. apacheバーチャルサイトのURL変更およびSSL証明書の差し替え
  5. NextcloudのconfファイルのURL変更
  6. Apache / PHP-FPM再起動

まではすんなりいきました。

URL変更後の苦行

Nextcloudは単なるファイルストレージではなく、統合コラボスイート。非常に多岐にわたって運用していたんだと改めて痛感。

  • デスクトップクライアント
  • スマートフォンアプリ
  • ブックマークの変更

がそれなりにヘビー。それ以上にヘビーだったのが

  • 高性能バックエンド
  • AppAPI

の設定変更を忘れていたことでした。

DBと参照ディレクトリ変更の更なる苦行

また、動作確認後、「DBの向き先とNextcloud格納ディレクトリが新ドメインに即していない」ことがわかり、

  1. apacheのconfファイルをいったん無効化
  2. 再度DBバックアップ(サイト名などを変えていたため)
  3. DB及びユーザー新規作成作成
  4. 再バックアップしていたDBから新DBにデータ流し込み
  5. Nextcloud格納ディレクトリを-pirオプションをつけてコピー&リネーム
  6. Nextcloudのconfigを修正。DBのユーザ名とDB名を新しく作成したDBに変更
  7. ログ格納ディレクトリを新規作成、www-dataに所有者変更
  8. apacheのconfファイルの格納ディレクトリとログ格納ディレクトリの向き先変更
  9. /etc/logrotate.d配下のローテーションを新しいログ格納ディレクトリに変更
  10. apacheのconfファイル有効化
  11. apache再起動
  12. Nextcloudのcronを新ディレクトリに合わせる

までやって、完全移行が完成しました。

「サーバリプレースとどう違うのか」レベルではありましたが、うまくいって良かったです。

詳細な手順は相当なボリュームになりそうなので、様子を見て描いていきます。