こんにちは。京野です。
実は、ゴールデンウイークに立て続けに、他人から依頼されたものを含み、2日間で全3件、以下のサーバー移転をしました。
「さくらサーバー」→「エックスサーバー」
「ロリポップ」 →「エックスサーバー」
ブログはWordPressを使っているんですけど、そのWordPressのブログの移転です。
2015年にもサーバー移転したんですけど、今回のほうがしっかりできました。
https://leemanparadise.com/neta/post-2617/
記憶もしっかりしているうちにと思って、移転の顛末記を書きました。
とりあえず、「ロリポップ」から「エックスサーバー」に移転する場合の方法を書きます。
まぁ、どのサーバーから移転するのもそんなに変わらないんですけどね。
レッツゴー・ウンチキスト♪
ロリポップにFTPソフトで接続して、WordPressのデータを全てDLする
まず、FTPソフトの設定。
私は無料のFTPソフトFlieZilla(ふぁいるじら)を使っています。
いろいろ使ったけど、このソフトが一番エラーが起こらなくてお薦め。無料です。
http://www.vector.co.jp/soft/dl/winnt/net/se493400.html
FTPソフトの設定をする(FlieZillaの設定)
FileZillaの設定は、ロリポップにログインし、「アカウント情報」の「サーバー情報を見る」
この「サーバー情報」で、見るべきは
2行目 FTPSサーバー (ホスト)
4行目 FTP・WebDAVアカウント(ユーザー)
5行目 FTP・WebDAVパスワード(パスワード)
※5行目パスワード「▶表示」ボタンを押すと、パスワードが表示されます。
FileZillaでは下記のように入れます
ホスト…usersXXX.lolipop.jp
プロトコル…FTP ファイル転送プロトコル
暗号化…使用可能なら明示的なFTP over TLSを使用
ログオンの種類…通常
ユーザー…lolipop.jp-*********************
パスワード…パスワード
FileZillaでFTP接続できない理由(.ftpaccessの設定)
※接続ができなかった場合は、この項目がためになるかもしれません。
上記設定をきちんとしているのにサーバーにログインできないことがあります。
私もできませんでした。
なぜ、できなかったか。試行錯誤してわかったのは
「.ftpaccess」
というファイルのせいでした。
以前、ロリポップは大量にサーバー内のデータが荒らされ、データを書き換えられたことがあり、ロリポップから「セキュリティレベルをあげるように」と指示があり、対策を施したことがありました。
それが「.ftpaccess」の設定でした。
この設定は何かというと、FTP接続されるIPアドレスを制限する設定です。
具体的には、この名前のファイルの中に書いてある「allow」と指定したIPアドレスの接続を拒否し、それ以外から接続の試みがあっても、接続を拒否する(all deny)ものです。
なので、繋がらない場合は、先程の「サーバー情報」の
.ftpaccess
ファイルがあるかを確認しましょう。
確認するためには、サーバー情報を見ます。
この「ロリポップ!FTP」の「▶ログイン」ボタンを押しましょう。
webで自分のサーバーに接続できます。
ファイルやディレクトリが見えてきます。
このなかに
.ftpaccess
があれば、これを見てみましょう。
私の場合は、こんな感じで書いてありました。(IPアドレスはダミーです)
# BEGIN Lolipop [ http://lolipop.jp/manual/user/ftpaccess/ ]
Order Allow,Deny
Allow from ***.222.11.22
Deny from all
# END Lolipop
なので、このファイルに
Allow from ***.***.***.***
というふうに自分のIPアドレスを書き加えればOKです。
自分のIPアドレスを知る方法
自分のIPアドレスを知るには、
確認くん
http://www.ugtop.com/spill.shtml
を使いましょう。
ここに
「あなたのIPアドレス」
と書かれている
XXX.XXX.XXX.XXX
があなたが接続している場所のIPアドレスです。コピーしましょう。
自分のIPアドレスを、.ftpaccessに書き込む
自分のIPアドレスを調べたら、それを先程の
.ftpaccessファイル
に書き込みます。
# BEGIN Lolipop [ http://lolipop.jp/manual/user/ftpaccess/ ]
Order Allow,Deny
Allow from ***.222.11.22
Allow from XXX.XXX.XXX.XXX
Deny from all
# END Lolipop
※追記した部分を赤で表記しました。
こんなふうに書き込んだら「保存する」のボタンを押すのを忘れずに。
もし.ftpaccessファイルがあり、自分のIPアドレスを追加しても接続できなかった場合、あるいは今日は繋がったけど後日繋がらなくなった場合
動的にIPアドレスが変わるプロバイダをお使いの場合や、モバイルルータやスマホのテザリングとかで接続している場合などは、しょっちゅうIPアドレスが変わるので、固定IPアドレスでない場合は、このファイルを使ってセキュリティ対策をすることは適切ではないと思います。
その場合、この.ftpaccessファイルを削除してしまうのも一つの方法です。
セキュリティレベルは下がりますので、あくまで自己責任で。
なお、詳しい.ftpaccessファイルの設置の仕方については下記が参考になります。
https://www.xserver.ne.jp/manual/man_ftp_ftpaccess.php
ロリポップからWordPressのファイルをすべてローカルにダウンロードする
FileZillaから自分のロリポップサーバーのweb領域に接続できたでしょうか。
私の場合、与えられた領域に直にWordPressがインストールされていました。
複数WordPressをインストールする場合、それだと宜しくないので、その中にフォルダを作って分けたほうがいいでしょうね。今更ですけど。
「wp-admin」「wp-content」「wp-includes」あたりのフォルダが見えるのがWordPressのインストールされているフォルダになります。
さて、そのフォルダごと、自分のwebページに置いてあるファイルをすべてローカル(自分のPC)にダウンロードしましょう。
私は今後保存することも考えて、外付けHDDにフォルダを作って、そこにダウンロードしました。(USB3.0接続のハードディスクだと速くて快適です。)
全てを選択してドラック&ドロップ。
非常にカンタンです♪
サーバーにアップしている量が多いと、これだけで1時間ほどかかりますので、気長に待ちましょう。
ロリポップのMySQLからデータファイルをすべてダウンロードする
ロリポップのMySQLサーバーにアクセスするための準備
WordPressの場合、MySQL(まいえすきゅーえる)というデータ管理システムをインストールしたデータサーバにもデータを入れています。
このデータサーバからもデータをDLする必要があります。
ロリポップのトップページから
「WEBツール」→「データベース」をクリック。
ここから自分のデータベースを選びます。
どれか忘れた場合は、今、ダウンロードしているルートにあるファイルの中の
wp-config.php
を開きましょう。
開くのはエディタで。私は秀丸エディタを使っています。
無料のお薦めソフトはatomです。
プロもコードを書くときに使う本格的なものなので、atomを入れるのがおすすめです。
以前、私の記事でSchooのHTML講座の話題のときに、スクショだけ使いました。
プロっぽくて格好いいです。
https://atom.io/
さてwp-config.phpを開くと
上のような記述のところがあります。
ここに、WordPressがMySQLサーバーに接続するときに必要なログインアカウントです。
ここを見ればOKです。
データベース名は DB_NAME と書かれているものです。
上記写真だとLA************と書かれているところです。
それが、現在のブログで使われているデータベースになります。
さて、先程のデータベース一覧をもう一度みて、そのデータベースの右側にある、
「▶操作する」のボタンを押します。
画面が遷移して、データベースを扱うことができます。
「phpMyAdmin」(ぴーえいちぴー・まいあどみん)へのページが開きます。
このphpMyAdminというのは、MySQLを扱うためのクライアントツールです。
このときに、ユーザ名とパスワード両方が必要になります。
またサーバーも選ばないとなりません。
サーバー、ユーザー名、パスワードはメモ帳にコピーしておきましょう。
パスワードは「▶パスワード確認」を押して表示させます。
サーバ名:mysql***.phy.lolipop.jp
ユーザ名:LA*********
パスワード:***
サーバーを選び忘れやすいので、注意。
ロリポップのMySQLサーバーから、phpMyAdminを使ってデータファイルをDLする
最初に、画面左上で自分のデータベースの名前が書かれたものを選びましょう。
データベース名を忘れたら、先程も言いましたけど、wp-config.phpを開くと
DB_NAME
に書かれています。
そうしたら「エクスポート」のタブを選択「詳細」を選びましょう。
「生成オプション」の「DROP TABLE ~」という行にチェックを入れましょう。
あとは、デフォルトのままでOKです。
幾つかのチェックをしたら、あとは「実行」
これでMySQLデータサーバーのデータファイルがDLできました。
このダウンロードした*.sql形式のファイルは後で使います。
先程、FTPでごっそりDLしたWordPressの各ファイルと、このsqlファイルがあれば、いつでもホームページは復活します。定期的にバックアップをとっておくといいですね。
エックスサーバーへ、独自ドメインの追加
Xサーバーに移転したいドメイン(○○○.comなど)を追加します。
この独自ドメインの追加をすることで、エックスサーバーの領域に、ドメイン名のフォルダとドメイン名のweb領域が作られます。
厳密に言えば、ドメインを所持していなくても追加をすることはできますが、作っても意味がないです。
私の場合、自分のドメイン名を手打ちしたので、気づかずに1文字間違って登録してしまって「あれ??おかしいぞ」と無駄に時間を使ってしまったので、ドメイン名を間違えないように気をつけましょう。
エックスサーバーのサーバーパネルにログイン。
「ドメイン設定」→「ドメインの追加設定」
「ドメインの追加(確認)」→「ドメインの追加(確定)」
http://の部分は不要です。
WordPressデータをアップするフォルダ(場所)は「public_html」だ!
ちなみに、エックスサーバーのwebに表示させる場合、ドメイン(○○○.comとする)を登録すると、こういうフォルダが自動的に作成されます。
/home/(Xサーバー契約時に決めた)サーバーID/○○○.com/public_html/
home の下位にサーバID、その下位にドメインが入り、その下位の
public_html
がホームページデータのアップロード先になります。
ここ!重要です!!
全てのWordPressファイルはこのpublic_htmlの下に入れることになります。
エックスサーバーで設定をするときには「設定対象ドメイン」で
今後、エックスサーバーで設定をするときには、ドメインを設定してからやりましょう。
サーバーパネルの左下、
「設定対象ドメイン」
で移行の受け皿とするドメインを指定しておきます。
エックスサーバーにMySQL(データベース)を追加
ここでは、データベースサーバーの「箱」を作るイメージです。
箱に入れるもの、データベースそのものは後で入れます。
データベースのMySQL設定をクリック
「MySQL追加」→「MySQLデータベースの追加(確認)」→
ここで画面が遷移します。
「MySQLデータベースの追加(確定)」
を押す前に、「MySQLデータベース名」をメモ帳やエディタ等にコピペしておきましょう。
あとで、wp-config.phpに記載しますので。
なお、データベース名は(契約時のID)「文字_任意の文字」となります。つまり、アンダーバーや、その前の文字も含めてデータベース名になります。
MySQLデータベース名を(A)としておきます。
MySQLのデータベースの「ユーザ」追加
先程のデータベースが使えるユーザを追加します。
※既存のユーザーにアクセス権を付与してもいいですが、ここでは新たに設定します。
「MySQLユーザ追加」→項目を入れる→「MySQLユーザの追加(確認)」→「MySQLユーザーの追加(確定)」
これもあとで、wp-config.phpに記載するデータになりますので、メモ帳にコピペです。
MySQLユーザID…(B)としておきます。
MySQLパスワード…(C)としておきます。
そしてもう1つ、MySQLのホスト情報も必要です。
MySQLのホスト名は、「MySQL設定」→「MySQL一覧」のタブで開き、一番下に
「MySQL5.5情報」の項目の中に書かれています。この中の2行目です。
MySQLホスト名…(D)としておきます。
MySQLのデータベースユーザーにアクセス権付与
「MySQL一覧」タブを押し、「アクセス権未所有ユーザ」の中から、アクセス権を与えるユーザーを「▼」ボタンを押して選択。「追加」を押して、アクセス権付与。
このアクセス権を与えないと、先程メモしたユーザーがログインできないことになるので、きちんとアクセス権を与えてください。
エックスサーバーにWordPressデータをアップロードするためにFTPアカウントの作成
エックスサーバーの契約がまだの方は契約をしちゃいましょう。
私は、X10という契約にしています。
FTPアカウント設定をします。
今、申込みをしたばかりでエックスサーバーのホスト名などが不明の場合は
【Xserver】■重要■ サーバーアカウント設定完了のお知らせ (試用期間)
というメールを探してみてください。
その中の「▼サーバーアカウント情報」という項目に
「FTPホスト」
「FTPユーザー」
「FTPパスワード」
の3つが記入されています。
FileZillaに入力してサーバーにFTP接続しましょう。
すでに契約済みの方は、
ここをクリック、
設定対象ドメインを設定したいものにして、
「FTPアカウントの追加(確認)」
画面遷移して
「FTPアカウントの作成(確定)」
で、FTPアカウントが作成されます。
ここでメモすべきは先程同様
「ホスト」
「ユーザー」
「パスワード」
の3つです。それぞれを確認する場合には、FTPアカウント設定から。
上記は、ダミーのデータです(加工してあります)が、例えば上記であれば
①ホスト sv1222.xserver.jp
②ユーザー 先ほど決めたFTPアカウント(メールアドレス形式)
③パスワード 先ほど自分で決めたパスワード
なお、上記ピンクで囲ったIDやパスワードでもアクセスできます。
ただし、ピンクは全てにアクセスできるので、一部のブログのみのアクセス権を管理者に付与したい時などには、この方法でやりましょう。
上記のようにFileZillaに入力してサーバーにFTP接続しましょう。
エックスサーバーにFTP接続して目的のフォルダを開いてindex.htmlを消す
エックスサーバーの場合、ドメイン名の下にある
public_htmlが目的のフォルダです。
この中に入っている、
index.html
を消します。最初にやっておきましょう。
右クリック→削除 で消しましょう。
【豆知識】indexというファイルは、そのサイトにアクセスがあったときに最初に表示されるファイルです。
WordPressではindex.phpというファイルがそれです。ですが、エックスサーバーにはpublic_htmlフォルダに最初からindex.htmlがあります。
index.html
と
index.php
が共存した場合、index.htmlが優先する(正確にはサーバーの.htaccessの記述により優先順を変更可能)ので、このindex.htmlがあるかぎり、WordPressのサイトが表示されないことになってしまいます。
エックスサーバーがこのファイルを自動生成するのは、index.htmlファイルがないと直接フォルダ(ディレクトリ)の中身のファイルが見られてしまうからなのだと思いますけど、WordPressを使う際にはindex.htmlがあるとWordPressが使えなくなるので、必ず削除します。
エックスサーバーにWordPressのデータ(ロリポップからFTPでローカルに落としたデータ)をアップロード
さて、大事なので何度も書きますがエックスサーバーの場合、ドメイン名の下にある
public_html
がWordPressのデータをアップすべきフォルダになります。
ドメイン名のフォルダに直接入れないように注意!!
public_htmlを開いてから、そこに入れましょう。
時間がかかりますが待ちましょう。
エックスサーバーの「public_html」の中にある「wp-config.php」を書き換え
先ほどアップしたpublic_htmlのフォルダの中に直で入っているwp-config.phpのファイルを変更します。エディタで開いてください。
(持ってない方はしつこいですが無料のatomがお薦め)
さて、少し前にメモした(A)~(D)のデータがここで必要です。
いずれも、MySQLのログインに関するデータです。
WordPressはMySQLというデータベースサーバーの情報を読み出し、webページとして作成するので、WordPressの中には必ずMySQLのデータベース名、ユーザ名、パスワード、ホスト名が必要になるのです。
それぞれの項目はシングルクォーテーションで囲います。
ここを間違えると、ブログが開かなくなります。変なスペースなど入れないように気をつけてやりましょう。
エックスサーバーにロリポップMySQLからDLした、MySQLのデータをアップロード
phpMyAdminにアクセスして、MySQLにデータを入れていきます。
ここで、IDとパスワードを求められますが、これはMySQLのパスワードです。
つまり、先ほどwp-config.phpに記載したものと同様です。
先程の(B)IDと(C)パスワードということになります。
左上でデータベースを選択→「インポート」タブを開く。
インポートするファイルの「ファイルを選択」でロリポップのMySQLからphpMyAdminを使ってダウンロードした「*.sql」ファイルをここで選択します。
そして、右下「実行する」でアップロードします。
上記の案内が出たらインポート終了。
テキストデータだけだからなのか、早いですよね。思いの他。
さあ、これでサーバーの中身は終わったはずです!
ネームサーバー切り替えは絶対に最後に行おう!
これまで幾つかの「移転ブログ」を見てきたんですけど、このネームサーバーをいつ変更するかについて結構テキトーなんですけど
絶対にネームサーバーの切り替えは最後にしましょう!
事前に、本当に移動先のサーバーでうまく動いているかの動作確認が必須です。
2つの方法があります。エックスサーバーならばやり方1でいいと思います。
私は両方やってみました。
(hostsファイルをいじる方法は少し高度です。)
やりかた1:動作確認URLで動作確認
エックスサーバーでは「動作確認URL」がもらえます。
サーバーパネルの「ドメイン」にある「動作確認URL」をクリック
「動作確認URL設定の追加」タブ→ドメインを選択→「動作確認URL設定の追加(確定)」でURLを発行してもらう。
URLの発行を依頼してから発行されるまで30分ぐらい時間がかかります。
この新しいサイトできちんと動いていたらOKです!
やりかた2:hostsファイルを設定する
その他、WordPressを移行する際、PCにある「hosts」ファイルの設定をすれば、強制的に新サイトにアクセスし、確認ができます。
hostsファイルのある場所
Windows 10
C:\Windows\System32\drivers\etc\hosts
Windows 8 / Windows 8.1
C:\Windows\System32\drivers\etc\hosts
Windows 7
C:\Windows\System32\drivers\etc\hosts
Windows Vista
C:\Windows\System32\drivers\etc\hosts
hostsファイルは上書き禁止になっているので、管理者権限でログインし、あるいはファイルのプロパティを現在のユーザーで「書き込み可」にしてからhostsファイルを変更する必要があります。
上記が「何を言っているのかさっぱり」というのであればいじらないほうがいいと思います。
ちなみに、hostsファイルはエディタで開きます。
さて、hostsファイルをいじる前に、アクセスしたいWordPressのサーバー情報を調べておきましょう。
サーバーパネルを開き、「アカウント」→「サーバー情報」を開きます。
この「サーバー情報」のところに
サーバー番号 sv****
ホスト名 sv****.xserver.jp
IPアドレス ***.***.***.***
というふうに書いてあります。このIPアドレスが重要です。
あとは
hostsファイルを開いて一番下の行に以下を付け足します
***.***.***.*** ○○○.com
***.***.***.*** は先ほど調べたサーバーのIPアドレス
○○○.comは自分のドメイン
書き方の注意点は、IPアドレスと、ドメインの間に「半角」のスペース(またはタブ)を入れること。
スペースの場合、「半角」じゃないとダメです。
***.***.***.*** ○○○.com
hostsファイルで設定した内容はどういうことかというと、
「○○○.comとブラウザに打ち込まれたら、エックスサーバーのIPアドレスに飛べ」
ということです。
詳細は、下記のリンクが参考になります。
https://www.xserver.ne.jp/manual/man_domain_checkproxy.php#hosts
以上で、動作確認がOKであれば、最後にネームサーバーの切り替えを行います。
ブログのトップページ以外が404エラーで表示されない場合の対策
さて、以上で終わったはずなのですが、今回移管した3つのブログのうち1つだけで起こった現象なのですが、移管後にページを見ると、トップページは普通に表示されるのですが、その後ブログのデータを見ようとすると、すべて
404エラー
が出てしまって、表示されないということがありました。
いろいろ調べたところ、
.htaccess
の設定ができていないことが原因でした。
具体的に言うと、WordPressをアップロードした
public_html
フォルダの中に
.htaccess
というファイルがあると思います。
この.htaccessファイルの中に、WordPressを使うよって宣言をしてあげないとだめなようです。
この.htaccessファイルが無かったり、あっても何も書いていない場合は、下記を付け加えてください。
# BEGIN WordPress <IfModule mod_rewrite.c>; RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
最後に行う、ネームサーバーの切り替え
ネームサーバーの切り替えは、自分のドメインを管理しているサイトで行います。
通常は、ドメインを取得した会社が管理をやっていることが多いです。
ムームードメインとお名前ドットコムについて書いてみます。
【ムームードメインの場合】
ムームードメインの場合。まず、ログインします。
ドメイン一覧→ドメインを選択→ネームサーバ設定変更
→「GMOペパボ以外 のネームサーバを使用する」
を選び、下記をぶち込んでやります。(ns1.xserver.jp…を入れます)
ネームサーバー1 ns1.xserver.jp
ネームサーバー2 ns2.xserver.jp
ネームサーバー3 ns3.xserver.jp
ネームサーバー4 ns4.xserver.jp
ネームサーバー5 ns5.xserver.jp
最後に
「ネームサーバ設定変更」
ボタンを押す。確認がでるので「OK」を押して完了。
実際に完了するまで、2~3日かかることがあります。
(と、良く言われますが、私の場合1日もかからずに新たなサイトに接続できていたりします。)
【お名前.comの場合】
ドメインNaviにログイン→
「Navi TOP」タブ→
移管したいドメイン名の一番右の「ネームサーバー」列の「変更する」ボタンを押す→
「登録内容は正しいので~」→
「他のネームサーバーを利用」
ネームサーバー情報を入れる
ネームサーバー1 ns1.xserver.jp
ネームサーバー2 ns2.xserver.jp
ネームサーバー3 ns3.xserver.jp
ネームサーバー4 ns4.xserver.jp
ネームサーバー5 ns5.xserver.jp
「確認画面へ進む」→(画面遷移)「設定する」でOK!
サーバー移転終了!!
おつかれさまでした!!!!!
サーバー移転って、気が重くて私もやるのが嫌なんですけど、やるときに一気にやってしまうとノウハウが溜まっていいです。ぜひ、やってみてください!
今回はあえて時間をかけてやりかたを自分のためも含めて残しておきました。
みなさんがこの記事を見てできたとか、できなかったとか、わかりにくかった、等をコメントで書いていただけると本当にうれしいです。
ブログランキング
コメントを残す