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
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を試してみましたが、できませんでした。
クラウドスタックの方からファイアウォールの設定を変更。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.
そのあとはワードプレス用のデータベースを作ります。
> 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を試してみました。はい、できませんでした。
そこで、データベースのなかがどうなっているか確認をしました。
まず引っ越し元のmysqlのwordpress用のデータベース。
+-----------------------+
| 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
なんとなくこれが原因ではないような気がしてきたので、もう一度開いてみた。
さっきはそんなページありませんと言われたのに、パーミッションになっている。
ではパーミッションを設定しよう。
[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