CentOS51でバックアップサーバ/(2)コンテンツ移行
Last-modified: 2008-07-10 (木) 11:33:32 (5788d)
インストールと基本設定 †
主なアプリとコンテンツ †
- OSインストールで入れ物ができて、アプリとコンテンツを移行してサーバとして完成させる。毎度のことながら、主な内容は、
- トップページ類(html)
- 掲示板関係(CGI)
- wiki(pukiwiki)
- Blog(Wordpress+MySQL)
- SNS(OpenPNE+MySQL)
- データベース以外は、丸コピーで問題ない。文字コードに関しては、前回苦労してutf-8に変換済みなので、その点は楽。
- ターゲットとなるディレクトリーは以下のとおり
/var/www/html/ /var/www/cgi-bin/ /var/www/OpenPNE/
- 設定関係のファイルも、忘れずにコピーしておく
/etc/httpd/conf/httpd.conf /etc/php.ini /var/www/.htpasswd
コピー方法 †
- 現在のサーバ側で、各ディレクリー/ファイルをtarで圧縮
- WinSCPを使って、端末を経由して、新サーバへコピー
- 新サーバ側で、圧縮ファイルをそれぞれ解凍する
現サーバ側:各ターゲットの上位のDIRに移動して、圧縮 [root@kuraric5 ~]# cd /var/www [root@kuraric5 www]# tar cvf html_bak20080316.tar html/ (以下同様に) [eizo@kuraric5 ~]$ ls -l 20080316bak/ 合計 766160 -rw-r--r-- 1 root root 22056960 3月 17 11:21 OpenPNE_bak20080317.tar -rw-r--r-- 1 root root 2457600 3月 16 15:21 cgi-bin_bak20080316.tar -rw-r--r-- 1 root root 759142400 3月 16 15:21 html_bak20080316.tar -rw-r--r-- 1 root root 10240 3月 17 11:19 htpasswd_bak20080317.tar -rw-r--r-- 1 root root 40960 3月 16 15:33 httpd_conf_bak20080316.tar -rw-r--r-- 1 root root 51200 3月 16 15:29 php_ini.tar
- html/関係をまとめると、結構なサイズのファイルになり転送も時間がかかるが、まぁ、イメージデータも多いのでしょうがないということで。
新サーバ側:同じDIRで、解凍 [root@kuraric51 ~]# cd /var/www [root@kuraric51 www]tar xvf html_bak20080316.tar
- ただし、例によって、デフォルトでファイアウオールが起動しているので、これを解除する。また、httpd.confを変更した場合は、httpdの再起動が必要。これはは忘れずに。
[root@kuraric51 ~]# chkconfig --list iptables iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off [root@kuraric51 ~]# chkconfig iptables off [root@kuraric51 ~]# chkconfig --list iptables iptables 0:off 1:off 2:off 3:off 4:off 5:off 6:off [root@kuraric51 ~]# /etc/rc.d/init.d/httpd restart httpd を停止中: [ OK ] httpd を起動中: [ OK ]
- 以上で、トップページ、掲示板、wiki等のMySQLが絡んでいないコンテンツは正常に動作する。
アプリソフト †
- MySQLインストールは、前回同様実施。手順はwikiの記事のとおり。パスワード設定、不要なDB削除などを忘れずに。
- なお、 /etc/my.conf のコピーを忘れたので、その設定(文字コード関連)も忘れずに。詳細は前回のwiki参照
- データベースの移行には、「phpMyadmin」を使ってきたが、これは html/配下に含まれているので、あらめてのインストール作業は不要。ただし、php-mysqlがインストールされていないと起動しないので、忘れずにインストールすること!
[root@kuraric51 ~]# yum -y install php-mysql
Wordpressのデータ移行 †
- 前回同様、phpMYadminを使って、「エクスポート」「インポート」する。 手順は、前回と同じだが、文字コードの変換は不要。
- インポート時の注意事項としては、あらかじめ新サーバ側で、Wordpressが使用するデータベースとユーザを作成しておく必要がある。さもないと、インポート時にエラーとなってしまう。
- 前回どうだったか忘れた? (Wordpress自体のインストールやセットアップをやったので、その点が違うといえば違うかな。。。)
[root@kuraric51 ~]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 9 to server version: 3.23.58 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> grant all on *.* to kurari identified by 'kurari'; ←ユーザ作成、パスワード設定 Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> create database wordpress; ← データベース作成 Query OK, 1 row affected (0.02 sec)
- これで、あっけなくWordpress は完了!
OpenPNEの移行 ーー mysqldump を使う! †
- これは初挑戦だが、インポートでいきなりこけた(^^;)
エラー!! 恐らくあまりにも大きなファイルをアップロードしようとしました。
- Wordpress と同じ手順で行くと思ったら、ファイルサイズが桁違いの大きさ
wordpress 700KB少々 openpne 8MBを超え
- さぁ、弱ったぞというわけで、ネット検索。答えはあった。mysqldumpでバックアップ&復元
- mysqldump というコマンドがあった。基本的な使い方は、
- これを使ってみたら、一発だった。
- ①現サーバ側
まず、dump 保存先に注意! [root@kuraric5 www]# mysqldump -u root -p管理者パスワード openpne > openpne_dump20080317 [root@kuraric5 www]# ls OpenPNE error icons html openpne_dump20080317 cgi-bin
- ②WinSCPで、端末経由で新サーバにコピーする
- ③新サーバ側:
(1)まず、OpenPNE用のユーザとデータベースを作成しておく [root@kuraric51 www]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 to server version: 5.0.22 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> CREATE DATABASE `openpne` DEFAULT CHARACTER SET utf8; Query OK, 1 row affected (0.00 sec) mysql> exit Bye (2)続いて、リストア実行 [root@kuraric51 www]# mysql -u root -p管理者パスワード openpne < /home/eizo/openpne_dump20080317 (3)URLの調整 /sns/で接続できるように [root@kuraric51 www]# echo "Alias /sns /var/www/OpenPNE/public_html" > /etc/httpd/conf.d/openpne.conf (4)httpdとmysqldを再起動する [root@kuraric51 www]# /etc/rc.d/init.d/httpd restart httpd を停止中: [ OK ] httpd を起動中: [ OK ] [root@kuraric51 www]# /etc/rc.d/init.d/mysqld restart MySQL を停止中: [ OK ] MySQL を起動中: [ OK ]
- とまぁ、いとも簡単でした。データ移行するだけなら、phpmyadminより簡単だった。Wordpressもこの手でいけると思うが、まだ試してはいない。
cron設定を忘れずに! †
- 新しくサーバを構築した場合、OpenPNE用のcron登録(デイリーニュース配信等の定期作業等)設定は引き継がれていない。
- 面倒でも、再度コマンドを実行して、同じ内容で登録しておくこと。
[root@kuraric51 www]# crontab -e
- 詳細はCentOS5で新サーバ構築/(8)OpenPNEのインストールの『・OpenPNE用のcron登録』を参照
接続試験では、hostsの修正も忘れずに! †
- パソコンから接続試験するためには、hostsファイルの設定変更が必要
C:\WINDOWS\system32\drivers\etc\hosts ================ 192.168.1.230 kurarinet.com #kurari_C51 2008/3/17 #192.168.1.250 kurarinet.com #kurari_C50 ================
- これを書き換えておかないと、どっちのサーバに接続しているのか分からんことに。
- というわけで、またひとつ新しいことを覚えました(^^)