wordpress④サーバーを変える(1)

先日やっと出来たwordpressですが、いままで立てていたところからさくらのVPSに引っ越しさせることにしました。

 

今回はその手順についてご説明します:)
まあ正しい手順というより、自分がやった設定ですね。

 

1、ルートパスの変更

いつものように作っていただいたさくらのVPSのパスワードを使ってルートユーザーがログインできない・・・
どうしようもないので、rootパスワードを変えることにしました。
方法は、VPSのコンソールパネル→リモートコンソール→シングルユーザーモードにしてパスワードの変更!

 

 

 

2、ssh接続が出来ない=リモートマシン間でのコピーが出来ない

一番最初に立てたインスタンスにログインして、このコマンドを打ちました
#   scp -r /var/www/html  お引越し先のホスト名:
ssh: connect to host www7058uo.sakura.ne.jp port 22: Connection timed out lost connection

ポートが開いていないことが分かったのでiptableを確認しました。
# /sbin/iptables -L -n --line
22はおっけーでしたので、お引越し先のも同じように確認。すると・・・

Chain INPUT (policy ACCEPT)

target     prot opt source               destination        
 
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination        
 
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
 
空っぽです。調べてみたところ、さくらのVPSはデフォルトでのiptableの設定がなされていないことがわかりました。
iptableの設定をする必要があります。
 
 
 
 
 

3、ポートを開く

# vi /etc/sysconfig/iptables
この中に、IPテーブルの情報を書きます。最初はリモートコンソールからぱちぱち打っていたのですが、リモートコンソールが何度か固まってしまって悲しくなってきたのでテラタームから入力。いや、コピぺをしました。

*filter

:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]

-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# SSH, HTTP, FTP1, FTP2, MySQL
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT

再起動
# /etc/rc.d/init.d/iptables reatart
書き終わったら内容がきちんと反映されているかを見てみます。
# iptables -L
はい、おっけーです:)

 

 

 

4、apache

ご存じのとおりお引越し先は空っぽですので、移動させたファイルがきちんと動けるように環境をまた整えてあげる必要があります。

アパッチをインストー
# yum install httpd

設定ファイルをいじります。
もしものときのために、デフォルトのものをコピー
# cp /etc/httpd/conf/httpd.cponf $HOME
編集をはじめます。
# vi /etc/httpd/conf/httpd.conf

そのあとはこちらを参考に設定を変えていきます。
http://akabeko.me/blog/2010/09/%E3%81%95%E3%81%8F%E3%82%89%E3%81%AEvps%E3%82%92%E4%BD%BF%E3%81%84%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B-4/

これでリナックスの設定は引っ越し先と引っ越し元、どちらもおわりました。
早速sshを試してみましたが、できませんでした。

 

brg4141

 

クラウドスタックの方からファイアウォールの設定を変更。0.0.0.0/0でtcpの22を許可。
再び試してみると、

[root@***~]# ssh お引越しもと
The authenticity of host 'お引越しもと)' can't be established.
RSA key fingerprint is 4e:92:44:3a:54:78:13:84:07:4a:ff:d3:09:36:03:e5.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '202.228.225.42' (RSA) to the list of known hosts.
root@202.228.225.42's password:
Last login: Mon Apr 14 11:05:46 2014 from 219.117.239.161.static.zoot.jp
[root@***** ~]#

できたできた~:)
[root@***** ~]# ls
a.out install.log server.xml wp-config.php
anaconda-ks.cfg install.log.syslog wordpress

 

 

5、mysql

さてあとはmysql
# yum install mysql-server
Loaded plugins: fastestmirror
Determining fastest mirrors
* base: www.ftp.ne.jp
* extras: www.ftp.ne.jp
* updates: www.ftp.ne.jp



Complete!
# cd $HOME
mysqlの設定内容のコピーを念のためにとりました
# cp /etc/my.conf .
内容を変更していきます
# vi /etc/my.conf
このページのとおり設定しました

 

再起動しても動くように設定
# chkconfig mysqld on

今どのようにうごいているかの確認
# chkconfig --list mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off

起動
# /etc/rc.d/init.d/mysqld start
Starting mysqld: [ OK ]

mysqlのルートパスワードを設定
# mysqladmin -u root password 'パスワード'
# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is ___
Server version: 5.1.73 Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

そのあとはワードプレス用のデータベースを作ります。

> create database wordpress;

> use wordpress;

> grant all on wordpress.* to wpadmin@localhost identified by 'パスワード'
パスワードを打つ時には'これ'が必要です。

 

 

 

6、scp

コピーをします
# scp -r root@wordpress(引っ越し元): /var/www/html root@www(引っ越し先):/var/www/html

ssh: Could not resolve hostname wordpress: Name or service not known
cp: cannot copy a directory, `/var/www/html', into itself, `/var/www/html/html'
The authenticity of host 'www' can't be established.
RSA key fingerprint is c8:9d:9c:ab:ef:83:90:41:ba:87:bd:4e:b8:f9:81:f4.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'www' (RSA) to the list of known hosts.
root@www's password:
.tcshrc 100% 129 0.1KB/s 00:00
my.cnf 100% 251 0.3KB/s 00:00


出来ません。少しずつ変えてscpコマンドをいくつか打ってみました。
正解はこれ!

# scp -r root@引っ越し元IP:/var/www/html/info.php root@引っ越し先ホスト名:/var/www/html
# scp -r root@引っ越し元IP:/var/www/html/wordpress root@引っ越し先ホスト名:/var/www/html
# scp -r root@引っ越し元IP:/var/www/html/wp-config.php.BAK root@引っ越し先ホスト名:/var/www/html

原因と解決法は以下の通りです
・root@saitou-wordpressがだめだった理由は、名前解決をしていないから。
・:と/の間はあけない。
・ファイルを一つづつお引越しさせてあげる。

 

これで完成したのだと思い、www/wordpressを試してみました。はい、できませんでした。

 

 

そこで、データベースのなかがどうなっているか確認をしました。

まず引っ越し元のmysqlwordpress用のデータベース。

+-----------------------+
| Tables_in_wordpress |
+-----------------------+
| wp_commentmeta |
| wp_comments |
| wp_links |
| wp_options |
| wp_postmeta |
| wp_posts |
| wp_term_relationships |
| wp_term_taxonomy |
| wp_terms |
| wp_usermeta |
| wp_users |
+-----------------------+
11 rows in set (0.00 sec)

CF:使用コマンド
mysql -u root -p
show databases;
use wordpress;
show tables;

はいっている。

 

次、お引越し先
Empty set (0.00 sec)

からっぽ。

 

じゃあテーブルをコピーすればいいのかな。
とりあえず何か調べてみよう。

適当にぐぐって出てきたものを読んでみました。
これとかこれとか。そこで属性の存在を知る。属性とは?⇒http://www.dbonline.jp/mysql/type/index3.html

 

なんとなくこれが原因ではないような気がしてきたので、もう一度開いてみた。
brg4151

 

さっきはそんなページありませんと言われたのに、パーミッションになっている。
ではパーミッションを設定しよう。

[root@www]# ls -lF
total 56
drwxr-xr-x 4 root root 4096 Apr 15 12:50 html/
-rw-r--r-- 1 root root 34418 Apr 15 10:38 httpd.conf
-rw-r--r-- 1 root root 20 Apr 15 13:08 info.php
-rw-r--r-- 1 root root 251 Apr 15 10:38 my.cnf
drwxrwxrwx 5 root root 4096 Apr 15 13:12 wordpress/
-rw-r--r-- 1 root root 439 Apr 15 13:42 wp-config.php.BAK

 

全部read出来ているのに、なにがだめなのだろうか。
さてと、学校にいってきます。

 

[root@www]# chmod 606 wp-config.php.BAK
[root@www]# ls -lF
total 56
drwxr-xr-x 4 root root 4096 Apr 15 12:50 html/
-rw-r--r-- 1 root root 34418 Apr 15 10:38 httpd.conf
-rw-r--r-- 1 root root 20 Apr 15 13:08 info.php
-rw-r--r-- 1 root root 251 Apr 15 10:38 my.cnf
drwxrwxrwx 5 root root 4096 Apr 15 13:12 wordpress/
-rw----rw- 1 root root 439 Apr 15 13:42 wp-config.php.BAK
[root@]# chmod 755 wp-config.php.BAK
[root@]# ls -lF
total 56
drwxr-xr-x 4 root root 4096 Apr 15 12:50 html/
-rw-r--r-- 1 root root 34418 Apr 15 10:38 httpd.conf
-rw-r--r-- 1 root root 20 Apr 15 13:08 info.php
-rw-r--r-- 1 root root 251 Apr 15 10:38 my.cnf
drwxrwxrwx 5 root root 4096 Apr 15 13:12 wordpress/
-rwxr-xr-x 1 root root 439 Apr 15 13:42 wp-config.php.BAK*
[root@]# chmod 444 wp-config.php.BAK
[root@]# ls -lF
total 56
drwxr-xr-x 4 root root 4096 Apr 15 12:50 html/
-rw-r--r-- 1 root root 34418 Apr 15 10:38 httpd.conf
-rw-r--r-- 1 root root 20 Apr 15 13:08 info.php
-rw-r--r-- 1 root root 251 Apr 15 10:38 my.cnf
drwxrwxrwx 5 root root 4096 Apr 15 13:12 wordpress/
-r--r--r-- 1 root root 439 Apr 15 13:42 wp-config.php.BAK

 

 

ーつづくー

 

 

 

 

参考ページ

sshでログインできないときに疑うべき点
http://dev.satake7.net/posts/292

Linuxサーバーでファイアウォールの設定
http://software.fujitsu.com/jp/manual/manualfiles/M070125/J2X13110/05Z200/inst03/inst0076.html

さくらのVPSを使い始める3-iptableを設定する
http://akabeko.me/blog/2010/09/%E3%81%95%E3%81%8F%E3%82%89%E3%81%AEvps-%E3%82%92%E4%BD%BF%E3%81%84%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B-3/

さくらのVPSでrootパスワードを忘れたときに再設定を行う方法
http://d.hatena.ne.jp/takeru-c/20110413/1302657243