他社サーバーですと仕様がまちまちなので、通常は本番環境も当社サーバーでお願いしているのですが、今回はどうしてもという事で、お名前.comのレンタルサーバーRSプランに乗せました。
お名前.comレンタルサーバーへファイル転送
ファイル群は以下のような流れで転送しました。
- お名前.comのレンタルサーバーコントロールパネルにログイン
- 「サーバー」-「SSH」からKeyを発行
- SSHの詳細画面から以下を取得してRLoginに設定をして接続(これは不要かもしれません。詳細は下記参照)
- Key名
- ホスト名
- ポート番号
- ユーザー名
- パブリックキー(ダウンロード)
- FileZilla(SFTP)でファイル転送
お名前.comのレンタルサーバーに初めて入りましたが、ドキュメントルートが以下のように特殊です。
$ pwd
/home/rXXXXXXX/public_html
$ ls -al
dr-xr-xr-x 5 rXXXXXXX rXXXXXXX 5 Mar 27 11:40 .
drwx--x---+ 11 rXXXXXXX rXXXXXXX 16 Apr 23 02:10 ..
drwxr-xr-x 3 rXXXXXXX rXXXXXXX 3 Mar 26 19:17 XXXXXXXXXXXX.onamaeweb.jp
drwxr-xr-x 3 rXXXXXXX rXXXXXXX 3 Mar 29 13:27 my-domain01.com
drwxr-xr-x 6 rXXXXXXX rXXXXXXX 23 Apr 30 12:58 my-domain02.com
当然のことながらsuコマンドは使えませんが、全てのファイルとディレクトリのオーナーがログインユーザー(自分自身)になっているので問題なさそうです。
今回はmy-domain02.comをドキュメントルートにしたかったので、いったん退避させてディレクトリごと作ろうと思ったらエラーが発生しました。
$ mv my-domain02.com my-domain02.com.old
mv: cannot move 'my-domain02.com' to 'my-domain02.com.old': Permission denied
良く見たらpublic_htmlには書き込み権限がありませんね。
$ pwd
/home/rXXXXXXX/public_html
$ ls -al
dr-xr-xr-x 5 rXXXXXXX rXXXXXXX 5 Mar 27 11:40 .
ということで、RLoginは無くても良いのですが、私は黒い画面を見ていると安心するんです。
my-domain02.comディレクトリの中身をきれいに消して、FileZillaでSFTP経由で転送しました。
wp-config.phpの一部変更が必要
wp-config.phpは以下を書き換えて転送しました。
- WP_CACHE_KEY_SALTを追加
define('WP_CACHE_KEY_SALT', 'XXXXXXXXXXXX');
- SSLログインを追加
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === "https") { $_SERVER['HTTPS'] = 'on'; define('FORCE_SSL_LOGIN', true); define('FORCE_SSL_ADMIN', true); }
コントロールパネルから一旦WordPressを構築して、出力されたwp-config.phpを参考にするのが良いかもしれません。
お名前.comデータベースへインポート
続いてMySQLのデータベースをインポートしますがこれが少し厄介でした。
- お名前.comのレンタルサーバーコントロールパネルにログイン
- 「データベース」-「phpMyAdmin」
- phpMyAdminにログイン
自社の開発環境で構築したWordPressのデータベースのバックアップをあらかじめ準備しておき、それをインポートメニューから実行してみましたが、長いこと待たされた挙句にエラーが出まくりでテーブル4つしか作成されず…。
詳細をいろいろ変えて何度チャレンジしても変化なし。
phpMyAdminって過去に数回しか使ったことがなくて、今回もmysqldumpコマンドで出力したsqlを流し込もうとしたのがいけなかったようです。
試しに開発環境にもphpMyAdminを入れてエクスポートしたファイルを指定したら一瞬でインポートされました。
データベースのドメイン部分を置換
あとは私の大好きなSearch-Replace-DB-jpを使ってデータベースのドメイン部分を置換して完了です。
Search-Replace-DB-jpについては以下の記事をご参照ください。