デビアンな生活 etch

デビアンな生活

日本語コンソールベースのDebianTIPS集として始めたが、結局LXDEになってしまった。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ftpサーバ

軽く高速と言われるvsftpdで設定
# aptitude
> vsftpd
# vi /etc/vsftpd.conf
> anonymous_enable=NO
> local_enable=YES
> write_enable =YES
設定ファイルを変更して終了。
もちろん、iptablesを変更して、ftpポートを内部LANに対して開放しておく。
ネットワークカメラでは、何故かアクディブモードにしないと書き込みができなかった。
pasv_promiscuous=YESの設定が必要なのかもしれないが、とりあえずこのままで。
スポンサーサイト

バックアップ

バックアップには、引き続き差分バックアップができるdarを使用して、スクリプトを作成。
# aptitude
> dar

/etc/cron.dailyにバックアップスクリプトを入れておけば完璧です。当然、/optは別のハードディスクドライブに割り当ています。
# cat > /etc/cron.daily/backup-daily
#!/bin/sh
# backup script
do_dar() {
SAVEPATH=$1 ; TARGET=$2
if test `date +\%d` = 01 ; then
if test -a ${SAVEPATHi}.1.dar ; then
cp -a ${SAVEPATH}.1.dar ${SAVEPATH}`date +\%m`.1.dar
fi
fi
case `date +\%w` in
0)
dar -j -R / -c "$SAVEPATH"0 $TARGET
mv "$SAVEPATH"0.1.dar "$SAVEPATH".1.dar
;;
*)
dar -j -R / -c "$SAVEPATH"`date +\%w` -A $SAVEPATH $TARGET
;;
esac
}
# main
do_dar /opt/etc "-g etc -g root"
do_dar /opt/home "-g home"
do_dar /opt/var "-g var"
exit 0
^d

darの基本的使い方は以下の通り
# dar -c /opt/test -z -R / -g var -P var/run
これで、/opt/test.1.darにgzipで圧縮されたアーカイブができます。
-cがアーカイブ名、-Rが基準ディレクトリ、-gが対象ディレクトリ、-Pが除外ディレクトリ、-zがgzip圧縮です。

# dar -c /opt/new -y -R / -g var -A /opt/test
これで、testからの差分アーカイブができます。
-jがbzip2圧縮、-Aが参照アーカイブです。
bzip2はgzipよりも圧縮率に優れており、Athlon1Gでは圧縮時間も短く、便利です。darのフルバックアップは、tarとサイズはほぼ同じですが、実行時間はやや短縮しています。また、差分バックアップすると、ほんとに高速で快適です。

# dar -l /opt/new -as
これで、実際に保存されている内容が確認できます。

# dar -x /opt/new -g var/log
これで、logディレクトリが展開できます。

FTPサーバ

いままで、避けていたが、ネットワークカメラのために必要となった。
いろいろなパッケージが用意されているが、wu-ftpdは昔の定番、proftpdは今の定番、pure-ftpdはそれに替わりうるもの様であったが、軽く高速と言われるvsftpdにした。
# aptitude
> vsftpd
これで、ほぼ完了
# vi /etc/vsftpd.conf
> anonymous_enable=NO
> local_enable=YES
> write_enable =YES
設定ファイルの変更
その後、iptablesも変更して、ftpポートを内部LANに対して開放しておく。
これで、とりあえず完成。

sysklogd

sysklogdは、/etc/syslog.confで設定されているが、debianでは、出力が細かく分けられている。
syslogとauth.logに大きく分けられて出力されているので、uucp.logなどの出力を分けることが不要なであれば、コメントアウトできる。
ログローティションは、/etc/cron.daily/sysklogdと、/etc/cron.weekly/sysklogdで行っている。
ファイルリストはsyslogd-listfilesで、/etc/syslog.confを解析して、作成している。
/etc/logrotate.confは関係ないので、注意。
/etc/cron.daily/sysklogdを変更し、syslogの保存期間を7日から60日に延長。
> savelog -g adm -m 640 -u root -c 60 $LOG > /dev/null

パッケージ管理

aptitudeも慣れると便利。
しかし、画面がどんどんサブ画面になっていくのがわかりにくい。
ENTERでInformationを表示した後は、適時qでPackages画面に戻っておかなければならない。画面上部のガイドを見ると、dの連続押しで、どんどんdependsのサブ画面がネストしていくのがわかる。ほとんどバグのような仕様と思う。
dselectと違って、reinstallの機能があるが、やはりコマンドラインもすてがたい。listの編集で、パッケージの一括管理もできる。
# dpkg --get-selections > list
# vi list
# dpkg --set-selections < list
# apt-get dselect-update

インストールされるファイルの一覧の出力も便利
# dpkg -L memtest86+

deborphanをインストールしておくと、不要なパッケージをさらに削除できる。
# aptget --purge remove `deborphan`

ダイナミックDNS

WebDAVに外部からアクセスするために、ダイナミックDNSを利用しています。
無料のDNSサービスのうち、DynDNS(www.dyndns.com)に登録。IPの更新の用クライアントは、Debianにあるのでインストール。
# aptitude
> ddclinet
> プロトコルは、dyndns2に。その他の質問にも回答してインストール終了。

Bフレッツをルータ越しに使用しているので、このままではIPがローカルとなるので、設定を変更。
# vi /etc/ddclient.conf
> use=if, if=eth1をコメントアウトして
> use=webを追加する
更新間隔の初期設定は5分になっているので、/etc/default/ddclientを編集して、更新間隔を10分に変更。

外部から利用するためには、BフレッツのCTUを設定変更しておく必要がある。
https://ctu.fletsnet.com/CtuC101/init.doで、CTUにログインして、ファイアウォール設定の詳細設定で、80と443ポートを開放。
その後、詳細設定の静的アドレス変換設定(ポート指定)で、80と443ポートをサーバに振り分ける。              

DynDNSの設定がうまくできているかどうかは、外部から確認する必要がある。DNSの確認だけなら、http://www.the-cloak.comなどのWeb-Base Proxyがお手軽。       

バックアップ

データのバックアップは常に大事ですが、時間がかかる上に、ディスク容量にも限りがあります。DVDバックアップでは管理が大変なので、windows機では、RAID1でミラーリングしています。linuxではSoftware RAIDも使えますが、cronによる定期バックアップをした方が柔軟で効率よくバックアップできます。バックアップにはtarも使えますが、差分バックアップができるdarが便利です。
# aptitude
> dar

# dar -c /opt/test -z -R / -g var -P var/run
これで、/opt/test.1.darにgzipで圧縮されたアーカイブができます。
-cがアーカイブ名、-Rが基準ディレクトリ、-gが対象ディレクトリ、-Pが除外ディレクトリ、-zがgzip圧縮です。

# dar -c /opt/new -y -R / -g var -A /opt/test
これで、testからの差分アーカイブができます。
-jがbzip2圧縮、-Aが参照アーカイブです。
bzip2はgzipよりも圧縮率に優れており、Athlon1Gでは圧縮時間も短く、便利です。darのフルバックアップは、tarとサイズはほぼ同じですが、実行時間はやや短縮しています。また、差分バックアップすると、ほんとに高速で快適です。

# dar -l /opt/new -as
これで、実際に保存されている内容が確認できます。

# dar -x /opt/new -g var/log
これで、logディレクトリが展開できます。

/etc/cron.dailyに下記のようなバックアップスクリプトを入れておけば完璧です。当然、/optは別のハードディスクドライブに割り当ています。



#!/bin/sh
#
# differential backup every day, full backup on Sunday, keep an archive every month
#
do_dar() {
SAVEPATH=$1 ; TARGET=$2 ; OPTI="-w -Q -y -R /"
if test -a ${SAVEPATH}.1.dar ; then
CONDI=`date +\%w`
else
CONDI=0
fi
case $CONDI in
0)
dar $OPTI -c ${SAVEPATH}${CONDI} $TARGET
mv ${SAVEPATH}${CONDI}.1.dar ${SAVEPATH}.1.dar
;;
*)
dar $OPTI -c ${SAVEPATH}${CONDI} $TARGET -A $SAVEPATH
;;
esac
if test `date +\%d` = 01 ; then
cp -a ${SAVEPATH}.1.dar ${SAVEPATH}`date +\%m`.1.dar
fi
}

# main
do_dar /opt/etc "-g etc -g root"
do_dar /opt/home "-g home"
do_dar /opt/var "-g var"
exit 0


samba

メイン機がWindows XPなので、sambaサーバは必須です。
sambaは、sargeからetchでは、3.0.14a-3から3.0.24-6になっただけであり、ほぼそのままです。
# aptitude
> samba
# vi /etc/samba/smb.conf
> [global]で文字コードをセット
> dos charset = CP932
> unix charset = UTF8
> display charset = UTF8
# smbpasswd -a user
> ユーザ登録をして、パスワードを設定
/etc/samba/smb.confでunix password sync = yesを設定していても、rootで、ユーザのパスワードを変更した場合は、unix passwdは変更されない。

バーチャルホスト

apache2では、バーチャルサーバが設定できる。
以下の設定で複数のDNSを使い分けられるので便利
ただし、ServerNameが一致しないときは、最初のVirtualHostに割り当てられてしまう。どうも、_default_がうまく設定できない。

NameVirtual Host *:80

ServerName test.local.net
DocumetRoot "var/www/test"


ServerName run.local.net
DocumetRoot "var/www/run"

NameVirutal Host *:443

ServerName ssl.local.net
DocumetRoot "var/www/ssl"


WebDAVのSSL接続

セキュリティのため、SSL接続に変更
apache2.2では、apache2-ssl-certificateがないの、自分で設定。設定の方法は、よしだメモの通り
http://d.hatena.ne.jp/rudeboyjet/20070124/
# aptitude
> opensslのインストール
# vi /etc/ssl/openssl.cnf
> [usr_cert]セクションのnsCertType=serverのコメントアウトを外す
> [v3_ca]セクションのnsCertType=sslCA,emailCAのコメントアウトを外す
# cd /usr/lib/ssl/misc/

2回目に作成するときは、rm -rf demoCAで以前のファイルを消去しておく。
# ./CA.sh -newca
CA certificate filename (or enter to create) Enter
Enter PEM pass phrase: 適当にパスフレーズ入力
Verifying - Enter PEM pass phrase: パスフレーズ繰り返し入力
Country Name (2 letter code) [AU]: JP
State or Province Name (full name) [Some-State]: 県名
Locality Name (eg, city) []: 市名
Organization Name (eg, company) [Internet Widgits Pty Ltd]: Enter
Organizational Unit Name (eg, section) []: Enter
Common Name (eg, YOUR name) []: web.test.comなどのドメイン名を入れる
Email Address []: Enter
A challenge password []: Enter
An optional company name []: Enter
Enter pass phrase for ./demoCA/private/./cakey.pem: パスフレーズを繰り返す

# openssl rsa -in ./demoCA/private/cakey.pem -out ./demoCA/private/cakey.pem
Enter pass phrase for cakey.pem: パスフレーズを入れる
# openssl x509 -in ./demoCA/cacert.pem -out ./demoCA/cacert.crt
# openssl x509 -inform pem -in ./demoCA/cacert.pem -outform der -out ./demoCA/cacert.der
cakey.pemは、認証局の秘密鍵。cacert.pemは、認証局の証明書。
cacert.derは、セキュリティ証明書で、ダウンロードできる場所にコピーし、ブラウザにをインストールする。

apache2の設定
# mkdir /etc/apache2/ssl
# cd /usr/lib/ssl/misc/demoCa
# cp cacert.crt /etc/apache2/ssl
# cp private/cakey.pem /etc/apache2/ssl

# cp /usr/share/doc/apache2.2-commmon/examples/apache2/extra/httpd-ssl.conf /etc/apache2/sites-available/ssl.conf
# vi /etc/apache2/sites-available/ssl.conf
> バーチャルホストの設定
NameVirtualHost *:443

> ドキュメントルートの変更
DocumentRoot "/var/www/"
> SSLキーの設定
SSLCertificateFile /etc/apache2/ssl/cacert.crt
SSLCertificateKeyFile /etc/apache2/ssl/cakey.pem
>
の前に挿入
Include /etc/apache2/sites-available/dav.conf
> ログの拡張子が_logになっているので、logrotateのため、.logに変更
# vi /etc/apache2/sites-available/default
> バーチャルホストの設定
NameVirtualHost *:80

> ドキュメントルートの変更
DocumentRoot /var/www/pub
> RedirectMatch ^/$ /apache2-default/のコメントアウト
# mv /var/www/apache2-default /var/www/pub
# a2dissite dav.conf
# a2enmod ssl
# a2ensite ssl.conf
# /etc/init.d/apache2 reload

Windowsから、SSL接続のDAVを確認

参考リンク: SSLによる安全なWebサイト作り
次のページ

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。