wordpress DB引っ越し
cloud9 のDBを引っ越すため
Amazon Linux 側で mysql のDBを作成します
1 | mysql -u root -p |
で mysql にログインし
引っ越し用DBを作成します
1 | create database wptheme; |
次にユーザとパスワードの設定
1 | grant all on wptheme.* to wptheme@localhost identified by 'パスワード' ; |
次に設定を反映します
1 | flush privileges ; |
これで引っ越し用DBを作成できたので
次にインポートするデータを書き換えます
URLが cloud9 のものなので
これを移行するドメインのURLに書き換えます
vim の置き換えを使うと簡単にできるので
1 2 | :%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行目あたりの
1 2 3 4 5 6 7 8 9 10 | 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' )); |
の部分です
これを
1 2 3 4 5 6 7 8 9 10 | 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
を参考にアップロードします
1 | scp -i pemのパス アップロード対象ファイルパス ec2-user@host:~/ |
がその構文になります
今回、転送したファイルは
wp-admin[+21].tar.gz
ですが、解凍して サブドメインディレクトリに移動します
1 | sudo tar zxvf wp-admin\[+21\]. tar .gz -C /var/www/html/wp .snowpool.info/ |
で展開します
tar コマンドで tar.gz 圧縮ファイルを展開
-C オプションで展開先を指定しています
今回はサブドメインのディレクトリにしました
ただし、このままアクセスしてもCSSなどが適用されていないため
1 | chown -R apache:apache /var/www/html/wp .snowpool.info/ |
で権限を変更します
次に
1 | cd /var/www/html/wp .snowpool.info/ |
でディレクトリ移動
1 | sudo vim wp-config.php |
で編集します
最終行に
1 2 |
を追記します
これは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 の変更を行います
1 | sudo vim .htaccess |
でファイルを作成
内容を
1 2 3 4 5 6 7 | # BEGIN WordPress RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index .php [L] # END WordPress |
とします
これでもダメなので
設定を見直しました
どうやら virtualhost 設定で
AllowOverride All にしないとダメみたいなので
この設定をします
なお
AllowOverrideは
そのままやると
1 2 3 | Starting httpd: Syntax error on line 1024 of /etc/httpd/conf/httpd .conf: AllowOverride not allowed here [FAILED] |
となります
このため
1 2 3 4 5 6 7 8 | #追記ドメイン用 <VirtualHost *:80> DocumentRoot /var/www/html/wp .snowpool.info ServerName wp.snowpool.info <Directory "/var/www/html/wp.snowpool.info" > AllowOverride All < /Directory > < /VirtualHost > |
として保存し
1 | /etc/init .d /httpd restart |
で再起動すれば無事に反映されます
もし、これでもダメな場合、
インポートしたDBのサイトURLが違っている可能性があるため
一度
1 | mysql -u root -p |
でログインし
1 | drop database wordpressのDB名; |
で削除し、URLを修正後、再度 phpmyadmin でインポートし直します