協栄興業のWeb・メール環境を再編する【第1回】-- AIと進める移行プロジェクト、その全体像
このところ、関係会社である協栄興業株式会社のWebサイトとメール環境の移行を進めています。
最初の目的は、それほど複雑なものではありませんでした。
複数に分かれていたサーバー環境を整理し、既存のWordPressサイトと業務メールを、新しい環境へ安全に移すこと。
ところが実際に作業を始めると、単なる「サーバーのお引っ越し」では終わりませんでした。
Webサイトについては、移行をきっかけに情報の見せ方そのものを考え直し、最終的には不動産サイト 「NAMIKI PROPERTY」 へと再編。
メールについても、過去のメールを失うことなく移行するため、事前の調査、認証確認、バックアップ、移行テストなどを段階的に進めることになりました。
そして今回の作業では、ChatGPTとClaude Codeという2つのAIも、それぞれ役割を分けながら利用しています。
シリーズ第1回では、まずこの移行プロジェクトがどのように始まり、どこまで広がっていったのかをまとめます。
始まりは、サーバー環境の整理
協栄興業では、Webサイトと独自ドメインのメールを長く運用してきました。
一方、Namiki Associatesでも別のサーバー環境を利用しています。
そこで今回、今後の管理を考えて、これらの環境をできるだけ整理することにしました。
ただし、Webサイトとメールでは性質が大きく異なります。
WordPressは、新しい環境へあらかじめコピーし、仮の環境で十分に動作確認してから本番へ切り替えることができます。
メールはそうはいきません。
移行作業中にも新しいメールが届きますし、過去のメールやフォルダーも業務上重要なデータです。
そこで最初から、
Webとメールを一度に動かさない
ことにしました。
一つずつ調査・移行し、確認してから次へ進む方針です。
Webサイトは先に「仮住所」へ
Webサイトについては、既存のWordPressをいきなり新しい本番環境で動かすのではなく、新しいサーバー側に仮の環境を用意しました。
そこへ既存サイトを移し、
- WordPress本体とファイル
- データベース
- 画像
- 内部リンク
- プラグイン
- 表示
- SEO関連情報
などを確認していきます。
WordPressについても、ブラウザで「表示されたからOK」とするのではなく、WP-CLIを使って基本情報を確認しました。
wp core version
wp option get home
wp option get siteurl
特に home と siteurl は、仮環境から正式ドメインへ切り替える際にも重要になります。
つまり、本番切替日に初めて新しいサイトを作るのではなく、新しい環境に動作確認済みのサイトを先に用意しておく考え方です。
これによって、本番切替時に行う作業をできるだけ少なくします。
ところが、「そのまま移すだけでいいのか?」
Webサイトを移している途中で、別の課題が見えてきました。
協栄興業だけでなく、共栄産業、湘南興発産業など、関連する複数の法人・所有者が衣笠周辺で不動産を所有・運営しています。
利用する方から見れば、
「どの法人が所有しているか」
よりも、
「どんな建物があり、現在どう使われているのか」
の方が分かりやすいのではないか。
それなら、法人ごとの会社サイトとして見せるより、物件を中心に整理した方がよいのではないか。
そこから生まれたのが、
NAMIKI PROPERTY
という考え方でした。
「衣笠とともに、不動産を育てる。」
NAMIKI PROPERTYでは、現在運営している物件だけでなく、再整備中の建物や、街と建物の歴史も少しずつ記録していくことにしました。
サイトの言葉は、
衣笠とともに、不動産を育てる。
としました。
一般的な不動産ポータルサイトのように、大量の物件を並べることを目的にはしていません。
自分たちが実際に所有・運営している建物について、
現在 → 歴史 → 再整備 → 次の活用
まで、長い時間軸で残していけるサイトを目指しています。
結果として、当初は「協栄興業のホームページを新しいサーバーへ移す」という作業だったものが、不動産サイトそのものを再設計するプロジェクトへ変わっていきました。
メールはWebとは別に、慎重に準備
一方、メール環境はWebとは別工程として進めています。
今回、IMAPメールの移行には imapsync を利用することにしました。
作業機としてLinux Mintを使用し、まず導入したimapsyncそのものを確認します。
imapsync --version
しかし、ツールが動いたからといって、そのまま本番メールの同期を始めるわけではありません。
まず旧メール環境に対して、
- 接続できるか
- 実際のアカウントで認証できるか
- IMAPSで通信できるか
- TLS証明書に問題がないか
などを確認しました。実際に旧環境へのアカウント認証とTLS確認を行った段階でも、本番同期やDNS変更などには進まず、一度停止しています。
TLS証明書の確認には、例えば次のような方法があります。
openssl s_client -connect <mail-server>:993 \
-servername <mail-server>
実際のサーバー名などは、この記事では公開しません。
さらに作業環境自体に問題がないことも確認します。
sudo systemctl --failed
今回の確認では、重大なシステム障害がないことを確認したうえで、次の工程へ進めました。
そして、ここまで確認しても、
この段階ではまだ本番メールの同期は行いません。
ここが今回かなり大切にしているところです。
「できる」ことと「実行する」ことを分ける
技術的に実行可能だと分かったからといって、その場ですぐ本番変更まで進む必要はありません。
今回の基本的な進め方は、
調査
↓
テスト
↓
結果確認
↓
一旦停止
↓
人間が承認
↓
次の工程
です。
メールのように失敗時の影響が大きいものほど、この区切りを意識しています。
少し時間はかかりますが、問題が発生した場合にも「どの工程までは正常だったか」を把握しやすくなります。
AIに全部任せない
今回のもう一つの特徴が、ChatGPTとClaude Codeを併用していることです。
ただし、「AIにサーバー移行を全部やってもらった」という使い方ではありません。
おおまかには、次のように役割を分けています。
ChatGPT
- 全体設計
- 作業手順の整理
- リスクの洗い出し
- Webサイトの構成や文章
- Claude Codeへの作業指示の整理
- 作業結果のレビュー
Claude Code
- 実環境の調査
- バックアップ
- LinuxやWordPress上での実作業
- WP-CLI等を使った確認
- diffや動作結果の検証
- 技術的な作業記録
人間
- 最終判断と承認
- パスワードなど秘密情報の入力
- 実際の画面確認
- 公開する情報の判断
- 写真撮影
- 想定外の状況で進むか止まるかの判断
特にパスワードなどの秘密情報については、必要な場面で人間が入力し、AIへそのまま渡さない運用にしています。
AIを利用することと、すべてをAIに任せることは別です。
便利な部分はAIに任せながら、重要な判断と秘密情報は人間側に残しています。
「何をしなかったか」も記録する
最近の作業で意識するようになったことが、もう一つあります。
それは、
実施しなかったことも記録する
ことです。
例えば、
- この段階では本番メール同期をしていない
- DNSやMXレコードを変更していない
- メールを削除していない
- 公開設定には触れていない
- 問題が見つかった場合は勝手に修正せず停止した
といったことです。
作業記録というと「何をしたか」ばかりを書きがちですが、本番環境では**「何にはまだ触れていないのか」も重要な情報**になります。
後日別のPCから作業を再開したり、別のAIへ作業を引き継いだりする場合にも、この記録が安全なチェックポイントになります。
単なる移行ではなくなった
振り返ってみると、最初は、
「サーバー環境を整理しよう」
という話でした。
それが、
WordPressを安全に移す
↓
サイトの構成を考え直す
↓
NAMIKI PROPERTYを作る
↓
問い合わせ環境を整える
↓
メール移行環境を作る
↓
バックアップや安全な作業手順も整える
ところまで広がりました。
単なるサーバー移行というより、会社の小さなIT基盤を一度整理し直すプロジェクトになったように思います。
小さな会社ですから、大規模なIT部門があるわけではありません。
だからこそ、自分たちで理解できる範囲から一つずつ整え、AIにも手伝ってもらいながら、人間が最後の判断をする。
そんな進め方も、今の時代には一つの方法なのかもしれません。
次回へ
第1回では、今回のプロジェクト全体を振り返りました。
第2回では、協栄興業の既存WordPressサイトの移行が、なぜNAMIKI PROPERTYという新しいサイトへ発展したのか。
実際のサイト画面や写真も交えながら、WordPress移行とWebサイト再編についてもう少し詳しく紹介する予定です。
そして第3回では、業務メールをどのようにバックアップし、検証し、安全に新しい環境へ移したのか。
本番移行まで完了したところで、実際の作業記録としてまとめたいと思います。
ご注意
本記事は、当社環境で実際に行った作業を記録したものです。掲載しているコマンドや設定内容は、すべての環境で同じ結果になることを保証するものではありません。
サーバー、WordPress、メール、DNS等の設定変更を行う際は、事前に十分なバックアップを取得し、ご自身の環境や契約内容を確認したうえで実施してください。
また、セキュリティ上、実際のサーバー名、IPアドレス、アカウント名、ディレクトリ構成、認証情報等は一部省略・一般化しています。


