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 でインポートし直します

AWS に phpmyadmin インストール

AWS に phpmyadmin と インストール

cloud9 からのデータをインポートするときに便利なので
phpmyadmin をインストールします

epel レポジトリを使い、インストールします

yum --enablerepo=epel install -y phpMyAdmin

次に設定ファイルを書き換えますが
apache のバージョンにより書き換える場所が変わるので

httpd -v

でバージョン確認をしておきます

確認方法については
Apacheのバージョン確認方法

を参考にさせていただきました

 vim /etc/httpd/conf.d/phpMyAdmin.conf

でファイルを開きます

最初の設定だと

   Allow from 127.0.0.1

というように25行目に設定されていて
外部接続不能になっています

なので
どこでもアクセス可能にしたいのなら

   Allow from 127.0.0.1 all

とすればどれでもアクセス可能になります

さすがにこれだとセキュリティリスクがありそうなので
AWSへのSSHログイン制限を許可したIPのみ
アクセス可能にします

これはAWSのセキュリティグループのSSH で設定した
IPを使います

phpmyad

このIPを追記します

   Allow from 127.0.0.1 SSH可能なIP

すると Y!mobile ではアクセスできるけど
スマホからではアクセスできない
という状態にできます

あとは設定反映のため

/etc/init.d/httpd restart

を実行し httpd を再起動します

これで
http://ドメイン名/phpmyadmin/
とするとアクセスできるようになります

ログインするときのユーザ名とパスワードは
以前に設定した mysql の root ユーザと
rootパスワードになります

phpmyad2

AWS バーチャルホスト設定 その2

AWS バーチャルホスト設定 その2

お名前.com でサブドメインの取得ができたので
次に
AWS での設定を行います

まず ssh でログインします

ssh -i 鍵ファイル名.pem ec2-user@パブリックDNS名

でアクセスします

もし、接続できないときには
セキュリティグループのアクセス可能なIPアドレスを確認
Y!mobile のような回線の場合
IPが変更されていてアクセスできない可能性があります

sshログインできたら
httpd.conf の編集をします

sudo su -

で root 権限で編集していきます

vim /etc/httpd/conf/httpd.conf 

で編集します

最終行に追記します


NameVirtualHost *:80
#元ドメイン
<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName snowpool.info
</VirtualHost>

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

として :wq で保存します

次に、追加ドメインのためのディレクトリを作成します

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

ここへテストファイルをおいて、実際にみれるかテストします

 vim /var/www/html/wp.snowpool.info/index.html

でファイルを作成します

内容は

hello

としておきます

これで準備できたので apache を再起動します

/etc/init.d/httpd restart

これで
元のドメインでアクセスして
追加ドメインでアクセスできれば成功です

vh

vh2

次回は cloud9 からデータ移行のために phpmyadmin をインストールします

aws バーチャルホスト設定その1

aws バーチャルホスト設定

まず Y!mobile からアクセスする場合
IP制限をつけていると
グローバルIPが変更になったときにつなげられないので
AWS EC2 にアクセスし
ssh 接続可能な IP をマイIPに変更

これでアクセス可能になるので

次に、サブドメインの設定

お名前.com でドメインを取得しているので
ログイン後
ドメイン設定タブをクリック

スクリーンショット 2016-02-28 19.06.00

次に
DNS関連機能の設定をクリック

スクリーンショット 2016-02-28 19.12.53

設定したいドメインにチェックを入れ
次にすすむをクリック

スクリーンショット 2016-02-28 19.15.44

次にDNSレコード設定を利用する の
設定するをクリック

スクリーンショット 2016-02-28 19.25.13

次にTYPE を A から CNAME に変更します
そしてホスト名に追加したサブドメイン
今回なら wp を追記します

VALUE には取得しているドメインを入力します

スクリーンショット 2016-02-28 19.40.22

ここまでできたら
追加をクリックします

これでサブドメインが追加されたので
確認画面にすすむをクリックします

スクリーンショット 2016-02-28 19.41.46

サブドメインが追加できているのを確認できたら
設定する
をクリックします

スクリーンショット 2016-02-28 19.42.42

これでサブドメインの設定ができたので
次に aws のほうを設定します

wordpress 公開準備(sql ファイルのエクスポート)

wordpress 公開準備(sql ファイルのエクスポート)

まず cloud9 で作成した wordpress のデータを
エクスポートします

これは

mysqldump DB名 > DB名.sql

で sql ファイルとして出力します

DB名は
wp-config.php に書かれているので

define('DB_NAME', 'DB名');

となっているところを探します

私の場合24行目あたりにありました

 mysqldump DB名 > wptheme.sql

としてsql ファイルに書き出します

次に cloud9 でできたwptheme.sql を右クリックし
Download を選択
これで sql ファイルをダウンロードできます

次回は お名前.com でサブドメインを取得します