FTP経由でのバックアップ 

2006年03月09日(木) 21時14分
tarを使う。

1、Law-web1の/usr/backupにhome.tar.gzを作成

law-web1#cd /usr/backup
law-web1#tar zcvf /usr/backup/home.tar.gz /home/


2、law-web1の/usr/backup/home.tar.gzにlaw-web2からFTPでアクセス

law-web2#cd /usr/backup
law-web2#ftp law-web.cc.sophia.ac.jp
ftp>cd /usr/backup
ftp>get home.tar.gz

これで、Law-web2の/usr/backup以下にhome.tar.gzができた

3、解凍

念のため、

law-web2#pwd
/usr/backup

で現在のカレントディレクトリがhome.tar.gzのある場所か確認。

law-web2#tar zxvf /usr/backup/home.tar.gz -C /
"-C"オプションで解凍先を指定できる。

Tips on Proftpd&SSHD 

2006年03月08日(水) 12時20分
(1)ProFTPd
攻撃耐性のため、ProFTPのバージョン情報を表示させないようにすると幸せになれる。
デフォルトだと、ログインの際に、
「220 ProFTPD *** Server (Law-webFTPServer) [133.12.123.161]」
・・・とFTP鯖のバージョン情報が出て、脆弱性がモロバレとか。

これつき、% vi /usr/local/etc/proftpd.conf  で以下の一行を加えると
ServerIdent on " law-web 1.6beta"
「220 law-web 1.6beta」
のように嘘っこのバージョン情報が表示できます。ぜひやってみて下さい。

(2)SSHd
% vi /etc/ssh/sshd_config
Protocol 2,1
ってやると、SSH ver1 もサポートされて、TeraTerm からログインできる。

アカウント情報の移行 

2006年03月08日(水) 12時05分
ユーザIDの移行は、

/etc/passwd
/etc/master.passwd

/etc/pwd.db
/etc/spwd.db

をコピーすればOK!

グループ情報は、
/etc/group
をコピーするわけだが、OSのバージョンや環境によってアプリがグループ情報を勝手に作成してることがあるので、単純に上書きするとよくない。

よって、
#cat /etc/group | less
で必要なグループ情報を見ながら、同じグループID(GID)でグループを作ってやる。

Law-webのグループ構成は:
admin(1000)
itcommittee(2000)
circle(3000)
htroot(4000)

たとえばitcommitteeグループをGID2000で作成したい場合、
#pw -n itcommittee -g 2000
とやる。

過去問DB等の文字化け 

2006年03月04日(土) 1時51分
過去問DBや業績リスト等が文字化けする件について、
Apache2+PHP5+MySQL4.1環境で日本語が文字化けする現象は割とメジャーなようで、ソースに手を入れる方法もあるみたい。(゚Д゚;∬アワワ・・・

せんだいの つくった PHPを かいぞうするなんて とんでもない!

てゆうか以前の環境では問題なく動いていたんだから、その原因を追究したほうがいいよなあ・・・。

tarコマンドを使ったバックアップ(2) 

2006年03月02日(木) 19時32分
2、マウント

まず、マウントポイントをLaw-web2上に作成する。
僕は/(ルート)上に/lawwebというディレクトリを作って、そこにマウントすることにした。
law-web2#mkdir /lawweb

さらに、旧HDDを上書きしたくないので、
#mount -o rdonly /dev/ad2s1e /lawweb
というように、 "-o rdonly"をつける。

すると、/dev/ad2s1e(旧Law-webの/home)がLaw-web2上の/lawwebに読み出し専用でマウントできる。

3、データのコピー
普通にファイルをコピーする分にはcpコマンドがある。なので、
law-web2#cp -rd /lawweb /home
(-rdはDIRごとコピーするオプション ・・かな?)
とすればいいと思うだろうけど、これはだめ。

これだと、ファイルをコピーした君がrootで入っていた場合、コピー先に出来たファイルの所有者がみんなrootになってしまい、所有者情報が壊れる。

そこで、tarコマンドを使ってディレクトリのコピーをする


カレントディレクトリ以下の全てのファイルを/tmpにコピーする。
hogehoge% tar cf - . | (cd /tmp; tar vxf -)


を参考に、
law-web2#cd /lawweb
law-web2#tar cf - . | (cd /home; tar vxf -)

とする。
これで/lawweb以下にマウントされた、旧Law-webの/home が、 Law-web2の/homeに所有者情報ごとコピーされた。

以後は、マウント元とコピー先を変えていけば同じ要領でバックアップが出来る。

ただし、MySQLのデーターベースだけはMySQLのコマンドでコピーする必要があるので、別セクションを参照してほしい。

tarコマンドを使ったバックアップ 

2006年03月02日(木) 19時10分
Law-web1ユーザデータ(/home)を、Law-web2に移行する、という想定で考える。
なお、Law-web1を「旧Law-web」、単に「Law-web」と記述することがある。
Law-web2を「新Law-web」と記述することがある。

1、どのスライスをマウントすべきか

旧Law-webのHDDをつないで、
law-web2#ls /dev/ad*
で、つながってるIDEドライブ一覧が見れる。

ドライブレターが上の順から、
ad0*
ad1*
ad2*

 ・
って感じで認識されてるので、以前Law-webの環境でどう認識されていたかを頼りに、何をマウントするのか見極める。

たとえば、以前の環境で

law-web1#df -h
Size Used Mounted on
/dev/ad0s1a 1000M 50M /
/dev/ad1s1e 75G 3.5G /home
/dev/ad0s1f 1008M 6.0K /tmp
/dev/ad0s1g 61G 3.9G /usr
/dev/ad0s1e 9.8G 1.5G /var
profs 4.0K 4.0K /proc

ってなってたら、このHDDをLaw-web2につないでみると、

/dev/ad1s1a 1000M 50M /
/dev/ad2s1e 75G 3.5G /home
/dev/ad1s1f 1008M 6.0K /tmp
/dev/ad1s1g 61G 3.9G /usr
/dev/ad1s1e 9.8G 1.5G /var
profs 4.0K 4.0K /proc

って感じで見えるようになる。
ad0→ad1
ad1→ad2
これはLaw-web2のシステムドライブが1台つながってる場合の話だね。
Law-web2のシステムドライブががad0として認識されるから、ひとつづつ繰り上がってるわけだ。
(続く)

MySQLバックアップ&リストア 

2006年03月02日(木) 17時24分
mysqldumpで、
以下に過去問DBのバックアップをとる。

law-web1#cd /home/admin/yoshik-a
law-web1#mysqldump --password='' -A > allbackup.sql

こうしてできたallbackup.sqlをFTPでダウンロードして、Law-web2の適当なところ(たとえば/home/admin/yoshik-a/)にアップロードする。

そして、Law-web2に展開するわけだが、その前に過去問DB用の空のデーターベースを作成しなければならない。

保坂さんのメール
「5.mysqlでelawという名前のデータベースを作成し
CREATE文を流し込みました。(データベース作成とCREATE文は
/home/itcommittee/community/public_html/elaw_sql.txt

law-web# pwd
/home/itcommittee/community/public_html
law-web# mysql -u root < elaw_sql.txt


を解読してみる。

Law-web2上で
1、まず、elawという名前でDBを作成
law-web2#mysqladmin -u root -p create elaw
2、保坂さんのCREATE文とやらを流し込む(何やらDBを作ってくれる模様)
law-web2# cd /home/itcommittee/community/public_html
law-web2# mysql -u root < elaw_sql.txt
3、前にアップロードしていた過去問DBのデータをレストア
law-web2#mysql elaw < /home/admin/yoshik-a/allbackup.sql

これでいけるはず。。。

MySQLその2 

2006年03月02日(木) 3時32分
どうやらportsから入れるにしても文字コードをsjisに指定していれないといけない。
simisinのマニュアルを参考に、XOOPSの動作までこれでいけるかな??

参考

MySQLインスコ 

2006年03月02日(木) 1時39分
とりあえず、前回の復旧手順どおり、
「MySQL→Apache2→PHP5のインストール(連携動作確認)、Apacheの設定ファイル修正」でいきます。

そのために、PHPとApache2のアンインストール。
PHPについて
#cd /usr/ports/lang/php5
#make deinstall clean
Apache2について
#cd /usr/ports/www/apache2
#make deinstall clean
またApache2をいれるので、/usr/local/etc/apache2ディレクトリは残しておく。

そして、MySQLを入れる。
試しに、Law-web2にコマンドmysqlを打ってみる。すると、
Can't connect to local MySQL server through socket '/tmp/mysql.sock'
とでてMySQLは起動しない。

(参考)によると、これはLaw-web2のなかでMySQLサーバが動いていないのが原因らしい。
MySQLってのは、サーバーのなかにMySQLサーバってのがさらにあって、そいつがデータベースからデータをとってきて、ApacheなりWWWサーバーに渡してるイメージ。
だから、mysqlコマンドで”ログイン”して、メンテナンスするのだ。

とりあえず、Law-web1のMySQLのバージョンを
Law-web#mysqladmin version と入力して調べると、

Server version 4.1.7-log
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /tmp/mysql.sock
Uptime: 11 hours 16 min 34 sec

と出て、4.1.7とわかった。

そこで、
law-web2#cd /usr/ports/database/mysql41-server
law-web2#make install clean
とやる。

今後は、過去のMLを参考に、文字コードの設定、MySQLユーザの作成などをする。(参考)

Law-web1で
#ps ax | grep mysqld

でmysqldが動いてるか分かる。どのユーザで動いてるかは、パラメータ加えれば教えてくれそう。

ToDo
DBバックアップ
先代の設定。やっとなに書いてあるか分かるようになってきた・・・。

昔のML 

2006年03月01日(水) 23時06分
「サーバ班作業報告だけ流しておきます。
復旧工程
1.cvsupをインストールしてまずportsを最新版にした後に、pkgupgrade(アプリ
の追加・削除管理ソフト)をインストール。
2.freebsd_updateをインストール&実行してFreeBSD4.10を最新版に。
3.MySQL→Apache2→PHP5のインストール(連携動作確認)、Apacheの設定ファイ
ル修正。
4.ProFTPのインストールと設定
5./homeのバックアップを復元し、ユーザIDの再発行
6.セキュリティ設定(/etc/hosts.allowなど)
7.NFSでlaw-webとのフォルダ共有&自動バックアップ設定
8.NTPDateで時間同期鯖設定
9.その他アップデート
のうち今3まで来ています。3のMySQLまでやりました。
3が追われば後は細かいところなのかなという感じも・・

一応私的ですが作業ログ
http://pweb.cc.sophia.ac.jp/~sumire-t/unix/FreeBSD.html

これと平行してマニュアル化作業も行っています。


ということで、124589は終わったw 順番めちゃくちゃやねん。
というか、MySQLを先に入れないといけなかったのね。(ノ∀`)アチャー
これはApache2入れ直しかも。設定ファイルだけばっくうpして・・・。

つか、誰か工程3についてkwsk!