#navi(CentOS51でバックアップサーバ)
*インストールと基本設定 [#s66c41e7]
#contents
** 主なアプリとコンテンツ [#rf4bfbe7]
-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
** コピー方法 [#ee64b778]
- 現在のサーバ側で、各ディレクリー/ファイルを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が絡んでいないコンテンツは正常に動作する。
** アプリソフト [#ebaa596f]
- MySQLインストールは、前回同様実施。手順はwikiの記事のとおり。パスワード設定、不要なDB削除などを忘れずに。
- なお、 /etc/my.conf のコピーを忘れたので、その設定(文字コード関連)も忘れずに。詳細は前回のwiki参照
- データベースの移行には、「phpMyadmin」を使ってきたが、これは html/配下に含まれているので、あらめてのインストール作業は不要。ただし、php-mysqlがインストールされていないと起動しないので、忘れずにインストールすること!
[root@kuraric51 ~]# yum -y install php-mysql
** Wordpressのデータ移行 [#aee8c7b3]
- 前回同様、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の移行 [#x443d422]
** OpenPNEの移行 ーー mysqldump を使う! [#x443d422]
- これは初挑戦だが、インポートでいきなりこけた(^^;)
エラー!!
恐らくあまりにも大きなファイルをアップロードしようとしました。
- Wordpress と同じ手順で行くと思ったら、ファイルサイズが桁違いの大きさ
wordpress 700KB少々
openpne 8MBを超え
- さぁ、弱ったぞというわけで、ネット検索。答えはあった。[[mysqldumpでバックアップ&復元>http://phpspot.net/php/pgmysqldump%82%C5%83o%83b%83N%83A%83b%83v%81%95%95%9C%8C%B3.html]]
- mysqldump というコマンドがあった。基本的な使い方は、
&ref(mysqldump.jpg);&br;&br;
- これを使ってみたら、一発だった。
- ①現サーバ側
まず、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設定を忘れずに! [#t011f1b4]
- 新しくサーバを構築した場合、OpenPNE用のcron登録(デイリーニュース配信等の定期作業等)設定は引き継がれていない。
- 面倒でも、再度コマンドを実行して、同じ内容で登録しておくこと。
[root@kuraric51 www]# crontab -e
- 詳細は[[CentOS5で新サーバ構築/(8)OpenPNEのインストール]]の『・OpenPNE用のcron登録』を参照
** 接続試験 [#q7ef8da2]
** 接続試験では、hostsの修正も忘れずに! [#q7ef8da2]
- パソコンから接続試験するためには、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
================
- これを書き換えておかないと、どっちのサーバに接続しているのか分からんことに。
- というわけで、またひとつ新しいことを覚えました(^^)
#navi(CentOS51でバックアップサーバ)