KUSANAGIにphpMyAdminをインストールしてバックアップデータをインポートする 【KUSANAGI 移行日誌07】

  • このエントリーをはてなブックマークに追加

【KUSANAGI 移行日誌シリーズ】の一覧はこちら

ここまでIDCFのクラウドサーバーにWordPressをインストールするところまで進んできました。
次の作業はKUSANAGIに移行予定のサイトのDBを反映させるためにphpMyAdminをインストールさせてデータベースを増やせるようにします。
(コマンドでできるとか言っちゃダメ。。。著者には難しい。。。。)

さあ、まずは今回の作業手順です。

  1. phpMyAdminをダウンロードしてドキュメントルートへアップする
  2. セキュリティを高めるためにphpMyAdminへのアクセスを固定IPで制限する
  3. 検証サイトのDBデータをインポートする
  4. WordPress用のDBユーザーにインポートしたDBへのアクセス権限を与える
  5. インポートしたDB内のデータを検証用に変更する


1. phpMyAdminをダウンロードしてドキュメントルートへアップする

まずはDBをphpMyAdminから編集できるようにインストール作業を行いましょう。

公式サイトからダウンロードします。
https://www.phpmyadmin.net

2017.04.29 時点ではバージョンは 4.7.0 でした。
サイト右上のダウンロードボタンからダウンロードします。
ダウンロードが完了したら、ドキュメントルートへアップロードします。

さて、アップロードはどうする?ってことになるかとは思いますが、SFTP接続ができるFTPソフトを使用します。

接続情報は下記です。

項目 内容
ftp サーバーのIPアドレス
ポート ファイアウォール設定で指定したポート番号(例: 22)
user root
pw IDCFからメールで通達のあったPW
SSH KEY 仮想サーバーを作成する時に指定したSSH Keyファイル

上記を指定すれば root 権限でSFTP接続できます。
FTPソフトで接続したら下記のドキュメントルート直下にアップロードします。
/home/kusanagi/【プロファイル名】/DocumentRoot/

アップロードが完了したらディレクトリ名を phpmyadmin などに書き換えましょう。
phpMyAdminへ実際にアクセスしてみて正常に動作しているか確認しましょう。

無事正常に表示されたら次の作業へ

2. セキュリティを高めるためにphpMyAdminへのアクセスを固定IPで制限する

固定IPを持っている方はphpMyAdminをアップロードできたら、IPアドレスでのアクセス制限を掛けてセキュリティを高めましょう。
※固定IPを持っていない方はこの工程はスキップしてください。

通常のApacheサーバーでは htaccess ファイルなどに書き込みますが、KUSANAGIをインストールする時に nginx を指定しているので、confファイルを編集して設定します。

/etc/nginx/conf.d/【プロファイル名】_http.conf

confファイルは上記にあるものを編集します。

server {
	## server 最下部に下記を追加 ## 
	location /phpmyadmin {
		allow 自分のIP;
		deny all;
	}
}

上記のコードのように server の中に様々な設定がされています。
この最後にIP制限のコードを追加して指定アドレスのみのアクセスに制限しましょう。

作業完了したら保存して終了です。

実際にアクセス制限がかかっているか確認するにはスマホなどからwi-fiに接続せずにLTEなどからアクセスしてみて制限がかかっているか確認してみるのが良いでしょう。

3. 検証サイトのDBデータをインポートする

phpMyAdminへログイン

phpMyAdminのインストールが完了したら、移行前のWordPressサイトのデータベースをコピーします。
データベースからsqlデータをエクスポートするには、インストールしているサーバーのphpMyAdminからエクスポートするか、BackWPupなどのバックアッププラグインなどからsqlファイルをバックアップして取得してください。

先程インストールしたphpMyAdminにアクセスしてログインします。
ユーザー名・パスワードは ユーザー名を root 、パスワードは KUSANAGIの初期設定時に設定したrootパスワードを使用しましょう。
(新規追加はルート権限がいる為)

移行用に新規データベースを作成する

ログインしてサイドバーの New からDB新規作成画面を表示して、新規データベース名を入力。
照合順序は utf8mb4_general_ci を指定して「作成」でDB作成します。

作成が完了したらサイドバーに作成したDB名が追加されているのでDB名をクリックしてDBの編集画面に移ります。
DB編集画面が表示されたら上部のタブメニュー「インポート」からバックアップしたsqlファイルをインポートします。

無事インポートしたsql がテーブルに反映されているのを確認して完了です。

4. インポートしたデータベースのアクセス権限を設定する

このままだとインポートしたデータベースは作成したrootユーザーしか操作権限がないので、操作権限をKUSANAGIのユーザーへも割り当てます。

root権限でログインしたままphpMyAdminのホーム画面へ行き、タブメニューの User accounts を表示します。
そこにKUSANAGI WordPress用のユーザーアカウントがありますので、該当ユーザーアカウントの Edit Privileges で編集画面へ

ユーザー設定画面に遷移したら、タブメニュー下にある4つの項目の中かから データベース を選択し、 Add privileges on the following database からDBの編集権限を与えるDB名を選択して実行します。

該当DBの編集権限をどこまで与えるかの設定画面に遷移しました。
こちらのチェック項目は Check all を選択して全ての編集権限を付与させて実行します。

これでDBの編集権限を与える工程は完了です。

5. インポートしたDB内のデータを検証用に変更する

上記で検証用のDBに実際のデータをインポートしましたが、まだDB内のデータ自体は本サイトのURLなどになっており、このままでは懸賞サイトを正常に表示できません。
なのでこのサイトURLのデータを一斉置換します。

よくWordPressのサイト移設時に、サイトURLやディレクトリが変更になることってありますよね。
移設時にはDBをエクスポートしてテキストエディタで一斉置換したりとか作業を行う方も多いと思います。

しかし!!!!!

sqlファイルの中身を見てみると各データの前とかに s:37 とかのよくわからない物が入っていますよね?
これはデータの内容をシリアライズしてあって、データの文字列の長さを示します。
ここまでは一斉置換なんてできませんよね。

この作業を一発でやってくれるツールが有るのです。
その名も「 Search and Replace for WordPress Databases Script 」!!
このツールを使用してDB内のデータを一斉置換しますが、作業内容は下記のブログの内容が一番わかり易いと思うので下記を参考に置換してください。

WordPress移行時にURLをSQLで直接一括置換はダメ! 「Search and Replace for WordPress Databases Script」を使おう
https://www.infoscoop.org/blogjp/2014/08/14/use-search-and-replace-for-wordpress-when-moving/

上記のブログを参考にDB内のサイトURLを変更完了したらデータベースの設定は完了です。
※初期状態では置換するDBがKUSANAGIでの初期DBになっているため必ず移行用に作成したDBに変更すること。

  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。