今回、仕事でサーバーの移転をすることになり、自分でやってみました。
なぜサーバーのグレードダウンを行うのかという疑問はさておき、初心者向けにサーバー移行の方法をまとめてみましたのでご覧ください。
ちょっとした用語(飛ばしてOK)
サーバーを移転するにあたっては以下の内容を理解しておく必要があります。
- 静的サイトと動的サイトの違い
- 構成ファイル
- MySQLとは?
何やら聞きなれない言葉が出てきましたが、ボクもかなりの素人ですので詳細については良く分かりません。
もしかしたら理解したと思っている意味も違うかもしれません。
それでもサイトの移転はできましたのでご心配なく♪
それではひとつずつ順に説明していきます。
静的サイトと動的サイトの違い
簡単に説明をすると「いつも同じ表示をするのが静的サイト」で「アクセスのたびに変化するのが動的サイト」です。
何が違うのかというと、静的サイトはHTMLの記述通りに表示されるのに対し、動的サイトはデータベースを参照しているからです。
違う言い方をすることもできます。
静的サイトは誰にでも同じように表示するのに対し、動的サイトはアクセスしてきたユーザー毎に形(内容)が変わるサイトと理解してもらえればよいでしょうか。
今回移転したサイトはワードプレスでいわゆる動的サイトです。
構成ファイル
サイトの構成を行っているファイルは多岐に渡ります。
ワードプレスのテーマファイルや画像ファイル、ページごとに生成されたファイルなどです。
これら全てをダウンロードし、新しいサーバーへ移設する必要があります。
ちなみにサイト移転に関し何がどういったファイルなのかを理解する必要はありません。
MySQLとは?
MySQLとは世界で最も利用されているデータベースを管理するシステムのことです。
ワードプレスはMySQLでデータベースを管理しているので、このデータベースも移行してやる必要があります。
なお、MySQLも何なのか理解する必要はないです。
サイト移行のイメージ
それではいよいよサーバーの移行です。
簡単な流れを記載しておきます。
- FTPソフトを使ってサイトの構成ファイルをローカル(デスクトップなど)にダウンロード
- 移設元サーバーのホームページからMySQLをエクスポート
- 同じ名前のドメインを用意する
- 移設先サーバーと用意したドメインを紐づける
- wp-config.phpファイルの内容を書き換える
- FTPソフトを使ってサイトの構成ファイルを公開フォルダにアップロード
- 移設先サーバーのホームページからMySQLをインポート
FTPソフトは無料から有料まで様々なものが出回っていますが、ボクはFFFTPという無料のソフトを利用しています。
エックスサーバーでの作業
ではこれから実際にサイトの移行をやっていきます。
まずはエックスサーバー側でやることから説明していきます。
構成ファイルをFTPソフトでダウンロードする
エックスサーバーのサーバーパネルにログインします。
FTPアカウント設定を開き、対象ドメインの右側の「選択する」をクリックします。
クリック先のFTPアカウント設定を開くと以下の画面が出てきますので必要事項をメモします。
続いてFTPソフトを開き新規ホストを設定します(FFFTPで説明します)。
- ホストの設定名⇒自分が分かる名前でOK
- ホスト名⇒FTPサーバー(ホスト)名
- ユーザー名⇒ユーザー名(アカウント名)
- パスワード/パスフレーズ⇒サーバーパネルのパスワードと同じ値
を入力すればサーバー内に入ることが出来ます。
FFFTPの右側の移設対象ドメイン名のファイルを見つけたらデスクトップなどにドラック&ドロップします(ダウンロードが開始されます)。
ここでひとつ注意点があります。
ダウンロード時(アップロード時も)にうまくダウンロードがされない時があります。
あまり詳しくないですが、FTPソフトは他者からのサーバー攻撃を防ぐためにファイルを暗号化しているみたいで、それが原因でダウンロードがうまくいかないことがあるみたいです。
もしうまくダウンロードされなかったら、接続画面で設定変更(暗号化を無効)できますので一旦試してみてください(終わったら必ず元に戻しましょう)。
MySQLをエクスポートする
つづいてエックスサーバーでのMySQLのエクスポートです。
サーバーパネルにログインし、MySQL設定を選びます。
続いてMySQLバックアップを選択すると次の画像のような画面になります。
ここでエクスポートしたいデータベースの右側にある「エクスポートを実行」すればOKです。
ただ、ここで壁にぶち当たります。
それは「どのデータベースが対象のモノか分からない」ということです。
上記画像で黒塗りしている箇所がデータベース名になりますが、「データベース名=ドメイン名」ではないのでどのデータベースをエクスポートしてよいか分からないんですよね。
ここで役立つのがwp-config.phpというファイルです。
さきほどダウンロードした構成ファイルのpublic_htmlというフォルダの中にwp-config.phpがありますので開きます。
ここにデータベース名が記載されています。
「WordPressのためのデータベース名」というのがそうです。
ロリポップ側の作業
ここまで来ればエックスサーバー側の作業は終了です。
道半ばといったところでしょうか。
続いてドメインを用意します。
ドメインを用意し移設先サーバーと紐づける
少し勘違いしやすいところなので説明すると、既にドメインは取得しているのでもう一度取得する必要はありません。
最初にドメインを取得したときと同様にサーバーと紐づけするだけです。
今回の移設先サーバー(ロリポップ)で説明していきます。
ロリポップのユーザー専用ページにログインし、独自ドメイン⇒独自ドメイン設定を選択します。
つづいてドメイン名を入力し公開(アップロード)フォルダを入力(分かりやすい名前でOK)します。
このドメインをロリポップのサーバーに紐づけるために取得したドメイン先のホームページにいきます。
ボクはお名前.comで取得したのでお名前.comで説明します。
ドメインNaviにログインしNavi TOPから対象ドメインの右側にあるネームサーバーの「変更する」をクリックします。
「他のネームサーバーを利用」を選択しロリポップのネームサーバーを入力すればOKです。
ロリポップのネームサーバーは共通ですので、以下を入力すればドメインを紐づけることが出来ます。
- プライマリネームサーバー uns01.lolipop.jp
- セカンダリネームサーバー uns02.lolipop.jp
構成ファイルをアップロード
次にワードプレスの構成ファイルをアップロードする作業です。
ただ、そのままアップロードをすればよいという訳ではなく、少し内容を書き換えてやる必要があります。
サーバーの移転はここで躓く人が多いようです。
wp-config.phpファイルの内容を書き換え
まずはwp-config.phpを編集します。
ちなみにですがWindowsの標準装備であるメモ帳などでの編集は絶対にしてはいけません。
メモ帳などで編集すると余計なタグなどが書き込まれてしまうので、専用の編集エディタを利用するようにしてください。
ボクはTeraPadという無料のエディタを使用しています。
⇒TeraPadを入手する
さきほども出てきましたが、エディタでwp-config.phpを開くとこんな画面が出てきます。
この内容を全てロリポップ用に書き換える必要があります。
ロリポップのユーザー専用ページにログインしWEBツール⇒データベースと進み、対象のデータベースの右側にある「操作する」ボタンをクリックします。
すると以下の画面が出てきます。
- WordPress のためのデータベース名⇒データベース名
- MySQL データベースのユーザー名⇒ユーザー名
- MySQL データベースのパスワード⇒パスワード確認をクリックして確認
- MySQL のホスト名⇒サーバー
上記のようにそれぞれの項目をwp-config.phpで書き換えます。
.htaccessを編集する
もうひとつ編集するファイルがあります。それは.htaccessです。
おそらくですが、.htaccessを編集する必要があるのはエックスサーバーを介したサーバー移行のみのようですが、もしかしたら他のサーバー同士でも必要なのかも知れません。
.htaccessを開きます(public_htmlフォルダ内にあります)。
黒塗りにしている箇所はエックスサーバーのアドレスが入っています。
これをそのままロリポップで使用してしまうとエラーが発生してしまうので、必要の無い記述部分を無効化します。
無効化するには1~4行目それぞれの頭に「#」を記述すればOKです。
ここまで出来たらいよいよ構成ファイルのアップロードです。
ロリポップのサーバーに構成ファイルをアップロードする
まずはエックスサーバー同様、ロリポップのサーバーにFTPで入れるように設定します。
ロリポップのユーザー専用ページににログインしアカウント情報をクリックすれば情報を得られます。
- ホストの設定名⇒自分が分かる名前でOK
- ホスト名⇒FTPSサーバー
- ユーザー名⇒FTP・WebDAVアカウント
- パスワード/パスフレーズ⇒表示をクリックすれば見れます
これでロリポップのサーバーにFTPソフトで入ることが出来ますので、対象ドメインの公開フォルダ内にダウンロードしておいた構成ファイルをアップロードします。
環境にもよりますが結構時間がかかる場合があります。
MySQLをインポート
いよいよ最後の作業です。
エックスサーバーからエクスポートしたMySQLを今度はロリポップのサバーにインポートを行います。
ロリポップのユーザー専用ページにログインし、WEBツール⇒データベースと進みます。
ここに記載されているデータベースホストをメモしておきます(後で使います)。
対象のデータベース右側の「操作する」をクリックします。
データベースの詳細画面が表示されますので、ユーザー名とパスワードもメモしておきます。
下部の「phpMyAdminを開く」をクリックします。
パスワードの入力が求められますので、さきほどメモした内容を入力します(サーバーは選択方式)。
phpMyAdminにログイン出来たら、左側のメニューに対象のデータベースがありますのでクリックします。
画面上部のインポートを選択し、エックスサーバーでエクスポートしたMySQLをインポートします。
以上でサーバーの移設は完了です。お疲れさまでした。
サイト移転・サーバー移設のまとめ
簡単と言いながらもかなり長くなってしまいました。
ボク自身はじめての作業だったので、サイト移転だけで丸3日を費やしてしまいました。
というのも、そもそも「サイト移転はある程度の知識がないとできない」から、サイト移転などでググっても専門用語やらがいっぱい出てきて良く理解できなかったんですよね。
また、「このくらいは知ってるでしょ」という前提のもとで書かれていることが多く、初歩的なことも知らないボクは3日間という膨大な作業を費やしてしまいました。
でも自分自身で調べて実践することで、サイト移転に関する知識は3日前と比べて圧倒的につきました。
なるべく分かりやすく書いたつもりですがそれでも壁にぶつかった時は、それぞれのサーバーのサポートセンターに電話してみるとかなり親切に教えてくれますので是非活用してみてくださいね。