|
各サーバーソフトの設定 |
2014年1月14日 開始 | 2014年2月9日 更新 |
目的は、ふだんはバックサップサーバーとして稼働しておき、メインサーバーに異常があったときすぐに切り替えて代行できるようにということなのですが、ハード的な異常や元のOSそのものがこけた場合は、同じマシン上なのでこちらも動かない可能性も高く、あまり意味ないかも。半分遊びということで。
DNSサーバー bind9
データサーバー MySQL
以下、ちがったところについて今後のためにメモ。
ネットワークファイルシステム NFS
でも以下のようにNFS3でつなぐとちゃんとユーザ:グループは取得できます。
その後調べてみたら、NFS4ではドメイン名込みのユーザ名が使われるため、マシンのドメイン名が違うとだめだということです。
問題のドメインを設定するファイルは /etc/idmapd.conf。
/etc/idmapd.conf の Domain の記述は、こちらのマシン(Vinelinux6)では
これでは各マシンが固有のドメイン名で運用されている場合(その方が多いと思う)、NFS4はそのままではだめだということ。実際のドメイン名はどうあれ、NFS上のドメイン名だけ "localdomain" にでも統一するしかありません。
で、他のマシン2台含めて全部のマシンの /etc/idmapd.conf の Domain を
マシンのドメイン名がいちいち異なるのはありえることなのに何でこんな仕様にしたのだろう。
セキュリティー確保のために 「NFSDomain というのを独自に設定しろ~! これが異なれば全くつながらないぞ~。」 というのならまだ少しわかるが。
HTTPサーバー apache2
phpモジュールを使う場合、動作モードを worker から prefork に変更しなくてはなりません。
# alternatives --config apache2
で、prefork を指定。
FTPサーバー vsftpd
CentOSと同じに設定したが、なぜかログインできない。vsftpdの設定をいくら見直してもおかしなところはなく、最初しばらくわからなかった。
結局、ユーザ登録のログインシェルの問題であった。ログインシェルをCentOSと同じ/sbin/nologinで登録するとログインできない。だからといってftpだけのために必要のないシェルへのログインまで許可するのはセキュリティー上好ましくない。
少し試したらシェルを/bin/falseに指定するとvsftpdにログインできる。これでいくことにした。
この違いはどこからくるのかというと、たぶん/etc/shellsのちがい。
CentOSでは
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh
/bin/sh
/bin/false
Vine にも /sbin/nologin はちゃんとあるので、Vine の /etc/shells に /sbin/nologin を登録すればいいとは思うが、各々のOSの設定を尊重しておこう。
メールサーバー
clamav-0.98.1, clamav-milter-0.98.1 をインストール。
PostfixとDovecotについてはCentOSと同様。
clamav関係、設定ファイルは3つ。変更したところのみ記載。
/etc/clamd.conf
LogFile /var/log/clamav/clamd.log …標準のログの場所にしておいた方がわかりやすい。
LogRotate yes …LogFileMaxSize(default 1M)が有効なら自動的に有効になるようだが明示的に。
LocalSocket /var/run/clamav/clamd.sock …CentOSに合わせた。
SelfCheck 21600 …あまり頻繁だとログが鬱陶しいしその必要もないようだ。
/etc/clamav-milter.conf
MilterSocket unix:/var/run/clamav/clamav-milter.socket …clamd.sockに合わせておく。
MilterSocketGroup mail …メール配送プロセスのグループ。
MilterSocketMode 660 …mailグループが書き込めるように。
ClamdSocket unix:/var/run/clamav/clamd.sock …clamd.confの設定に合わせる。
AddHeader Yes …Virusチェックしたことをヘッダーに付加。
ReportHostname vine.iroribata.net …Virusチェックしたメールサーバー名。
/etc/freshclam.conf
UpdateLogFile /var/log/clamav/freshclam.log …clamd.logに合わせておく。
LogRotate yes …LogFileMaxSize(default 1M)が有効なら自動的に有効になるようだが明示的に。
そしてpostfixの設定に以下追加。
/etc/postfix/main.cf
non_smtpd_milters = unix:/var/run/clamav/clamav-milter.socket …非SMTPメールにも適用。
milter_default_action = accept …Milterアプリケーションエラー時のアクション。素通しするしかない。
receive_override_options = no_address_mappings …アドレス操作せず元のアドレスを保持。(ウイルスチェックでの必要性をいまいち理解してはいない。)
といったところ。