2008年5月アーカイブ

 proftpdもインスト-ルできましたので、少し元に戻って、デ-タベ-スのバックアップのcronでの仕掛けに戻りました。

 scpコマンドを公開鍵を使って、パスワ-ドなしにする方法がちょっと難しかったです。結局、SSH2でログインする方法でやってみました。
 ここを参考にさせてもらいました。→ここ

 

<クライアント 192.168.2.35 側の設定>


$ cd /root/test/.ssh
$ ssh-keygen -t dsa(パスフレ-ズ入力なしで)
$ scp -p id_dsa.pub root@192.168.2.32:.ssh/
ログインパスワ-ドを入力して公開鍵をサ-バ側へコピ-

<サ-バ- 192.168.2.32 側の設定>


$mkdir /root/.ssh
$ cd /root/.ssh
$ touch authorized_keys2
$ chmod 600 authorized_keys2
$ cat id_dsa.pub >>authorized_keys2
server$ rm id_dsa.pub


 これで、無事パスワ-ド認証なしで接続できるようになりました。SSH1での設定もいくつかのサイトを見て試してみたのですが、うまくいきませんでした。(自分の設定が悪かったのでしょうが、どこが悪いのかが分からなかったので...)

 次に、シェルスクリプトを作成(汗 こんな感じにしてみました。

 

#!bin/bash
mysqldump --user=test --password=***** test TABLE1 TABLE2 > /root/test/test_DUMP.sql
tar -czf /root/test/test_DUMP.sql.tar.gz /root/test/test_DUMP.sql
scp /root/test/test_DUMP.sql.tar.gz 192.168.2.32:~/test
rm -rf /root/test/test_DUMP.sql
rm -rf /root/test/test_DUMP.sql.tar.gz

 

 これを、cronに設定し、テストで実行してみました。
 これで、無事にサ-バ-に圧縮ア-カイブされたsqlデ-タが転送されてました。

 大体ですが、こんなとこまではできるようになりました

 

 追加で、ファイル名にタイムスタンプをつけて、複数のファイルをバックアップできるようにしました。

 

#!bin/bash
mysqldump --user=test --password=***** test TABLE1 TABLE2 > /root/test/test_DUMP.sql
timestamp=`date +%Y%m%d%H%M`
tar -czf /root/test/test_DUMP$timestamp.sql.tar.gz /root/test/test_DUMP.sql
scp /root/test/test_DUMP$timestamp.sql.tar.gz 192.168.2.32:~/test
rm -rf /root/test/test_DUMP.sql
rm -rf /root/test/test_DUMP$timestamp.sql.tar.gz

 訂正。上記スクリプトだと、全てルートからの作業になるので、問題あり。作業ディレクトリなどを絡めたスクリプトを書き直す予定。

 CentOSにFTPサーバーをインストールしました。

 ProFTPDというサーバーです。CentOSの標準のリポジトリには、ProFTPDが登録されていないので、yumやrpmではインストールできません。追加リポジトリがあるにはあるのですが、公開鍵をインポートしたりとか色々面倒(というか途中で挫折した)ので、ソースからビルドすることに。こっからが長いのですが...。

 インストールには、この辺を参考にさせてもらいました。

http://c-atwork.com/modules/smartsection/item.php?itemid=29

(使えるねっとフォーラムでお世話になっている、kvex様のページ)

 

http://nagano.cool.ne.jp/maxpower1600/server/linux/proftpd/proftpd1.3.0_install.html

 

 手順としては、以下の通り。

cd /usr/local/src/  →作業ディレクトリに移動
wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.1.tar.gz  →ProFTPDの公式ページから最新のソースをダウンロード(現在は、1.3.1)
tar xzf proftpd-1.3.1.tar.gz  →解凍
cd proftpd-1.3.1  →ソースのディレクトリに移動
./ configure  →コンパイル準備作業
make  →コンパイル
make install →インストール

 

 ProFTPDの設定ファイルは、/usr/local/etc/proftpd.confなので、これを環境に合わせて変更する。(詳細は後述)

単純にスタンドアローンで起動するなら、

/usr/local/sbin/proftpd

で起動させることもできるが、起動スクリプトも用意されている。

/usr/local/src/proftpd-1.3.0/contrib/dist/rpm/proftpd.init.d

を、コピーして、そのまま、/etc/init.dにつっこめば、

service proftpd start/restart/stop

で起動/再起動/停止ができます。

 

 Linuxには、xinetdというスーパーサーバーデーモンがあります。そのサービスに要求があった時だけそのサービスを起動させるというもの。サーバーのCPUやメモリをセーブするのに便利なデーモンということです。そのxinetd経由でProFTPDを起動する場合は、上記作業に追加が必要。xinetdがインストールされていなければ、インストールが必要です。

 xinetdのインストールは、yumで行えるので簡単。

yum install xintetd

service xinetd start で、起動。

次に、ProFTPDの設定を変更します。

/usr/local/etc/proftpd.confの中の、サーバータイプの部分、

ServerType standalone を

ServerType inetd    に変更

xinetd用の起動スクリプトも用意されているので、これをコピー。

/usr/local/src/proftpd-1.3.1/contrib/dist/rpm/xinetdをproftpdにリネームして、

/etc/xinetd.dにつっこむ。

すると、ftpに要求があるときだけ、proftpdが起動するようになる。

 

 その後、色々やっているうちに、メモ記載が遅れてしまった。とても覚えていないので、ピックアップでメモ。

 

※当時の記憶がぶっ飛んでましたが、色々やっているうちに、思い出しました。CentOS5では、カーネルがappletalkに対応していないらしく、結局インストールしても、動作させることはできませんでした。 CentOS5では、カーネルがAppleTalkには対応してませんので、AFP over TCPでファイル共有をかけます。ファイルサーバー発見は、IPアドレスで検索かけるようにしましたが、OpenSLPをインストールすると、AppleTalkがなくてもセレクタに表示されるようになるようです。(これはまだやったことありません)

 

 MacOS9からサーバーを利用する為には、netatalkが必要。netatalkはパッチをあてないと、文字化けする。

 参考にさせてもらったのは、このサイト→

http://www003.upp.so-net.ne.jp/hat/netatalk/andsamba.html

 

 ものすごく詳しく書いてあります。詳しすぎるので、インストールにたどり着くまで結構時間がかかった覚えが...。

 インストールのコマンドは以下の通り

yum install gcc
yum install libdb4.2++-dev
wget netatalk-2.0.3-newer-db.patch.gz
wget http://jaist.dl.sourceforge.net/sourceforge/netatalk/netatalk-2.0.3.tar.bz2
tar xvf netatalk-2.0.3.tar.bz2
zcat netatalk-2.0.3-newer-db.patch.gz | patch -p0
cd netatalk-2.0.3/
./configure --enable-debian
make
make install

 

最近CJKパッチが一本化になったので、(以前より)楽になりました。

順に説明していきます。

インストールのオプション選択にもよりますが、CentOSの最小インストールでは、Cコンパイラがインストールされてませんので、gccをインストールします。

netatalkはBerkeley DBを必要とするので、それをインストールします。

CJKパッチを手に入れ、本体を手に入れます。解凍後、本体にパッチをあててから、configure、make、make installと、お約束の手順を踏むととりあえず、インストールはできます。

 

設定内容、方法は、上記サイトをご覧いただいた方が正確かと思います。

 

その後、DebianOSにもnetatalkをインストールすることにしました。Debianについては、上記サイトで、Debian用にすでにパッチを用意してくれているパッケージを配布してくれているので、そちらを使うと便利です。また、暗号化パスワードにも対応しているようです。

こちらのパッケージは、Debian4.0(Etch)対応で、Debian5.0(Lenny)は未対応のようです。Lennyにもnetatlk入れる実験もしてみましたが、カーネルはAppleTalk未対応のような気がします(AFPバージョンがでなかったような...)。

http://www003.upp.so-net.ne.jp/hat/netatalk/debian40.html

起動スクリプトは、

/etc/init.d/netatalk

ではなく、

/etc/init.d/atalk

でした。

 

何度か書き直してますので、とっちらかってますが、とりあえず、こんなとこです。