ウェブサイト(ホームページ)制作会社が大人の事情で変わったり、レンタルサーバー会社から新サーバーに移行しますと連絡がくるなどなど、サーバーの引越しというのは、この業界につきものです。
サーバとサーバー 伸ばし棒について
末尾の「ー」が必要か不要かは、JIS Z8301規格に定められています。以前は、3音以上の場合、語尾に「ー」はつけないというルールがあったので不要でした。
しかし、2019年にJIS規格に改訂が入り、「ー」をつけることになりました。ただし、慣用に応じて「ー」は省いてOKというルールがあります。そのためか、IPA(独立行政法人 情報処理推進機構)のサイトでは、「サーバ」表記です。
引越し前に確認するべきこと
まず現行サーバーで動いているものが何かを確認します。
代表的なものは以下です。
- ホームページ
- メールサービス
- CMS
- その他システム
- データベース
- cron
伏兵はcronです!別の会社から引き継ぐ場合や現担当者がいる場合、確認しておきましょう。
今回はよくあるWordPressが設置されており、メールサービスを使用しているケースを例に挙げます。
内容はボリューミーになってしまうので、今回はWorpdressに関連してお話します。
何から移行するべきか
WordPressが設置されており、メールサービスを使用しているケースだと、Worpressを先に移行するようにしています。
なぜなら、事前に動作テストをしっかり行うためです。また、クライアントのスケジュールに影響することがありないので、こちらのペースで作業ができます。
メールサービスの移行は、メールソフトなどの設定が必要になり、クライアントと細かなスケジュール調整をする必要があります。それにPOPとIMAPの話からしないといけないケースが多いです。最近では、Outlook(classic)とOutlook(new)により、さらなる混乱を招いてる気がします。
WordPressの移行とトラブル
WordPressの移行は、簡単なケースと難しいケースの両方があります。
中小企業のウェブサイトの移行で、バックエンドまわりを主戦場とするようなサーバーエンジニアが作業を担当するケースは、経験上稀です。
オンプレでサーバーを管理しているような企業でもウェブはちょっと…というエンジニアの方も多いです。
Webコーダーだったり、レンタルサーバーぐらいなら触れるけど、AWSはちょっと….というスキルの人が作業を担当することがほとんどでしょう。
そのため、稀に想定外のトラブルが発生することがあります。
今回はあくまでも移行なので、性能が下位のサーバーから上位のサーバーに移行するケースです。
よくあるトラブル
- PHPのバージョンが異なる
- 容量制限でSQLファイルがインポートできない(通常)
稀に出くわすトラブル
- MySQLのバージョンが違う
- phpMyAdminがない
- 容量制限でSQLファイルがインポートできない(さくらのレンタルサーバー)
WordPressの基本的な移行の流れ
移行に際し、基本的な流れは以下となります。
1と2はバックアップデータにもなるので、複製等しておきましょう。
- 現行サーバーのWordpress関連のデータをすべてダウンロード
- 現行サーバーのデータベースをエクスポート
- 移行先サーバーへWordpressのデータをすべてアップロード
- 移行先サーバーへデータベースを全てインポート
- データベースのwp-optionの値を切り替える
- wp-config.phpの内容を変更する
- WordPressのパーマリンクを更新
- 動作確認
- DNSの切り替え
1.現行サーバーのWordpress関連のデータをすべてダウンロード

FTPクライアントソフト(以下、FTP)を使い、現行サーバーに接続し、Wordpressのデータをすべてダウンロードします。
.htaccessなど、隠しファイルも一緒にダウンロードしましょう。
2.現行サーバーのデータベースをエクスポート

phpMyAdminなどで、現行サイトで使用しているデータベースのデータを全てエクスポートします。
エクスポート方法は、詳細を選択します。
フォーマットはSQL形式で、必要に応じて、ZIP形式やGZIP形式に圧縮してください。
3.移行先サーバーへWordpressのデータをすべてアップロード

FTPで移行先のサーバーへ接続し、ダウンロードしたWordpressのデータをすべてをアップロードします。
.htaccessなどの隠しファイルには、パスなのなどが記載されている場合があるので、事前に確認するようにしましょう。
4.移行先サーバーへデータベースを全てインポート

移行先のサーバーに新しいデータベース作成してください。
レンタルサーバーの場合、サーバーのコントロールパネルから作成できることがほとんどです。
データベース作成後、phpMyAdminなどで、エクスポートしたデータベースのデータ(SQLファイル)を全てインポートします。
ファイル制限に引っかかった場合やエラーが出た場合、後述の内容を参考にしてください。
5.データベースのwp_optionの値を切り替える

インポートが正常に完了したら、wp_optionの内容を書き換える必要があります。
※wp_の部分は変更できるので、別のになっている場合があります。

wp-optionの項目にsiteurlとhomeという名前の項目があります。
インポートした時点では、現行サイトのURLとWordpressを設置しているディレクトまでのURLが入力されています。
最終的に移行後のウェブサイトのURLになりますが、テスト段階では、ここに移行先のURLを入力してください。
6.wp-config.phpの内容を書き換える

wordpress直下のディレクトリにあるwp-config.phpにデータベースの接続先が書かれています。
以下の項目を移行先のデータベースの内容に書き換えます。
DB_NAME:データベースの名前
DB_USER:データベースに接続するユーザー名
DB_PASSWORD:ユーザー名に対するパスワード
DB_HOST:データベースの接続先サーバー
ここまでの作業を行うことで、移行先のサーバーでトップページが表示され、Wordpressのダッシュボード(管理画面)にログインできるようになります。
wp-login.phpにアクセスしましょう。
7.Wordpressのパーマリンクを更新

ダッシュボードにログイン後、パーマリンクの更新を行います。
移行データがそのまま引き継がれていますが、1度だけ変更を保存ボタンを押す必要があります。
これにより各ページが見れるようになります。
8.動作確認
各ページがエラーが出ていないかの確認やフォームの動作確認を行います。
これで動作確認は完了します。
9.DNSの切り替え
まず、5.データベースのwp-optionの値を切り替えるに一旦戻り、wp_optionに入力されているURLをあるべきURLに変更する必要があります。
その後、DNSの切り替えを行います。
これは、ドメインが向いているサーバーの切り替え作業です。
メールサービスと合わせて使用されていたりする場合、メールも合わせて切り替わってしまうので注意が必要です。
ウェブサイトとメールサービスなどが切り分けて管理されている場合、Aレコードの向き先を変えるだけで完了します。
これは少しややこしいので、後日別コラムで解説します。
WordPressの移行でよくあるトラブル
上記の方法で、Wordpressの移行はだいたい行えますが、予期せぬトラブルに合うことがあります。
いくつかご紹介します。
PHPのバージョンが異なる
現行サーバーはPHP 7系統、移行先の新サーバーはPHP8系統といった形で、PHPのバージョン上がるケースです。
PHPのバージョンが異なることで、なくなる関数や非推奨となる関数があります。
なくなった関数については、動作しなくなるので、別の関数や処理方法を変更するなど、プログラムを修正する必要があります。
特にテーマファイルやプライグインでエラーが発生することがあります。
事前に移行先と同じバージョンのPHPが動作するローカル環境を構築して、動作確認と必要な箇所を修正しましょう。
昔から契約されているサーバーだと、今でもPHP5.3だったりするので、修正箇所が多かったりします。
WordPress自体のアップデートも必要です。
なお、移行先サーバーのPHPのバージョンが変更できるのであれば、セキュリティの観点からもできるだけ新しいバージョンのPHPを選択しましょう。
ちなみに令和の時代でもPHP4が元気に動いているサーバーもあります。
容量制限でSQLファイルがインポートできない(通常)
ブラウザ機能を使ったアップロードに容量制限があるケースです。
htaccessファイルを編集したり、php.iniの設定を変更することで対応可能です。
それでも解決しない場合、後述するSFTPを使った方法が有効です。
phpMyAdminがない
知らないと焦ってしまうのですが、phpMyAdminが用意されていないサーバーがあります。
サーバーにない場合、基本的にダウンロードしてきて、FTPでアップロードすることで、使えるようになります。
データベースのインポート完了後、セキュリティの観点からサーバー上のphpMyAdminを削除するのが望ましいです。
容量制限でSQLファイルがインポートできない(さくらのレンタルサーバー)
htaccessファイルを編集しても反映されなかったり、php.iniを修正できない場合に有効です。
さくらのレンタルサーバーには、ファイルのアップロードに制限がかかっており、これ以上の容量をアップロードしたい場合、サポートに問い合わせてと書かれています。
しかし、今日必ずアップロードしなければいけない金曜の夜20時というケースはあるでしょう。
Windowsの場合は、MS-DOSプロント。macOSの場合は、ターミナルを使用します。
それぞれを使い、SFTPでサーバーに接続して、SQLファイルをアップロードし、データベースにインポートすることができます。
詳細はここには記載しませんが、SFTPで接続することで、容量制限を超えて、アップロードとインポートをすることができます。
インポート後は、phpMyAdminで操作することもできます。
MySQLのバージョンが違う
MySQLのバージョンが異なるため、データベースが正常にインポートできないケースです。
現行サーバーのバージョンをアップすると影響が出るので、ややこしくなるケースもあります。
時間はかかりますが、ローカル環境でMySQLの現行バージョンを用意し、ちょっとずつバージョンをあげて、移行先のバージョンに近付けていく方法が有効です。
まとめ
サーバー移行といっても影響があるものがたくさんあったります。
WordPressのようなCMSだけでなく、CGIによるフォーム。
LaravelやCakePHPなどのフレームワークを使ったシステムなど、単純な移行作業では済まないものを多いです。
メールサービスが絡むと日常業務にも影響ができます。
アルファスでは、ウェブサイトやメールだけでなく、多くのサーバー移行を行ってきました。
また、AWSの構築など、一般的なレンタルサーバー以外のサーバーの仕事もしています。
WordPressの移行だけでなく、サーバーまわりで、お困りの方はぜひご相談ください。