wordpress DB引っ越し

wordpress DB引っ越し

cloud9 のDBを引っ越すため
Amazon Linux 側で mysql のDBを作成します

mysql -u root -p

で mysql にログインし
引っ越し用DBを作成します

create database wptheme;

次にユーザとパスワードの設定

grant all on wptheme.* to wptheme@localhost identified by 'パスワード';

次に設定を反映します

flush privileges;

これで引っ越し用DBを作成できたので
次にインポートするデータを書き換えます

URLが cloud9 のものなので
これを移行するドメインのURLに書き換えます

vim の置き換えを使うと簡単にできるので

:%s/https:\/\/original-theme-snowpooll.c9users.io/http:\/\/wp.snowpool.info/
g

で書き換えます

次に phpmyadmin にログインします

http://ドメイン名/phpmyadmin/
でアクセスして
mysql root ユーザのパスワードでログインします

ログインしたら作成したDBをクリックし
インポートをクリックし
アップロードファイルにチェックを入れ
参照をクリックします

ファイルを選択したら
実行をクリックします

問題なく成功するとメッセージが表示されます

次に cloud9 のwordpress のフォルダをダウンロードします
ダウンロードしたファイルは
tar.gz に圧縮されてダウンロードされます

しかし、このままだと wordpress の設定ファイルの
wp-config.php の中身が
cloud9 のままなので設定を変更します

変更する場所は、24行目あたりの

define('DB_NAME', 'c9');

/** MySQL database username */
define('DB_USER', getenv('C9_USER'));

/** MySQL database password */
define('DB_PASSWORD', '');

/** MySQL hostname */
define('DB_HOST', getenv('IP'));

の部分です

これを

define('DB_NAME', 'wptheme');

/** MySQL database username */
define('DB_USER', 'wptheme');

/** MySQL database password */
define('DB_PASSWORD', 'パスワード');

/** MySQL hostname */
define('DB_HOST', 'localhost');

というように作成したDBに合うように書き換えます

次に、このファイルを AmazonLinux にアップロードします

端末から scp コマンドで転送できるので
EC2にファイルアップロード/ダウンロード
http://qiita.com/mikoto/items/4273cd35dce254727363
を参考にアップロードします

 scp -i pemのパス アップロード対象ファイルパス ec2-user@host:~/

がその構文になります

今回、転送したファイルは
wp-admin[+21].tar.gz
ですが、解凍して サブドメインディレクトリに移動します

sudo tar zxvf wp-admin\[+21\].tar.gz -C /var/www/html/wp.snowpool.info/

で展開します

tar コマンドで tar.gz 圧縮ファイルを展開
-C オプションで展開先を指定しています

今回はサブドメインのディレクトリにしました

ただし、このままアクセスしてもCSSなどが適用されていないため

chown -R apache:apache /var/www/html/wp.snowpool.info/

で権限を変更します

次に

cd /var/www/html/wp.snowpool.info/

でディレクトリ移動

 sudo vim wp-config.php

で編集します

最終行に

define('WP_HOME','http://wp.snowpool.info/');
define('WP_SITEURL','http://wp.snowpool.info/');

を追記します

これはURLやドメイン変更してデザインなどが反映されないときに対処する方法です

詳しくは
サイト URL の変更
https://wpdocs.osdn.jp/%E3%82%B5%E3%82%A4%E3%83%88_URL_%E3%81%AE%E5%A4%89%E6%9B%B4
を参考に

次に .htaccess の変更を行います

sudo vim .htaccess

でファイルを作成

内容を

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress

とします

これでもダメなので
設定を見直しました
どうやら virtualhost 設定で
AllowOverride All にしないとダメみたいなので
この設定をします

なお
AllowOverrideは
タグで囲まないと使用できません

そのままやると

Starting httpd: Syntax error on line 1024 of /etc/httpd/conf/httpd.conf:
AllowOverride not allowed here
                                                           [FAILED]

となります

このため

#追記ドメイン用
<VirtualHost *:80>
DocumentRoot /var/www/html/wp.snowpool.info
ServerName wp.snowpool.info
<Directory "/var/www/html/wp.snowpool.info">
AllowOverride All
</Directory>
</VirtualHost>

として保存し

/etc/init.d/httpd restart

で再起動すれば無事に反映されます

もし、これでもダメな場合、
インポートしたDBのサイトURLが違っている可能性があるため
一度

mysql -u root -p

でログインし

drop database wordpressのDB名;

で削除し、URLを修正後、再度 phpmyadmin でインポートし直します

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です