MTAは、俺もsendmail、qmail、postfixといくつか扱ってきたがsendmail互換と言えば、このeximの右に出る物は無いであろう。 まあ、特筆するところはsendmailより多分セキュリティ的に安全であると言うこと。sendmailみたいな脆弱性はeximにはほとん ど無い。それと、設置が非常に簡単であること。特に初心者には使いやすいMTAではないだろうか?しかし、後は特に何が良いと言うことは無いので少し寂しいところである。 今回はそのeximをセットアップしたので説明したい。eximに関しては、あまり他のサイトに情報がないのでこの情報は貴重かもしれない。
マシン : PC/AT互換機
インストールOS : VineLinux 2.6R
注: 確か、FreeBSDにはPORTSの中に入っていたような記憶がある。
1.ソースをゲットする
まず、eximの オフィシャルサイト でソースをゲットする。執筆時点(2003/11現在)では、 exim-4.24.tar.gz が最新のソースであった。したがって、このバージョンのソースで以下説明する。
2.ソースの展開
[root@yh /etc]# cd /usr/local/src
[root@yh /etc]# tar zxvf exim-4.24.tar.gz
[root@yh /etc]# chown -R root.root exim-4.24
3.コンパイル&ビルド
[root@yh /etc]# cd exim-4.24
[root@yh /etc]# cp src/EDITME Local/Makefile
空ファイルを作る。
[root@yh /etc]# touch Local/eximon.conf
Local/Makefileを変更する。mailユーザとmailグループを明記する。
[root@yh /etc]# vi Local/Makefile
省略
EXIM_USER=mail
# EXIM_GROUP=
EXIM_GROUP=mail
省略
[root@yh /etc]# make
[root@yh /etc]# make install
4.eximの設定
1) Linuxの場合 exim.confを作る。
[root@yh /etc]# ln -sf /usr/exim/configure /etc/exim.conf
[root@yh /etc]# vi /etc/exim.conf
省略
primary_hostname = hoge.hogehoge.net ← メル鯖のFQDN
省略
domainlist local_domains = mail.hogehoge.net : hogehoge.net ← メールサーバのドメイン名(メルアドの@マークの右側のドメイン名)
省略
relay_to_domains = kozupon.com : xxxxxxxxx.com ← 他のサーバのリレーを許可する 繋げる場合はコロン(:)で繋げる
省略
hostlist relay_from_hosts = 127.0.0.1 : 192.168.0.0/24 ← リレーを許可するホスト名もしくはネットワークアドレス名、ドメイン名を書く、繋げる場合はコロン(:)で区切る
qualify_domain = hogehoge.net ← quality_domain はドメインが省略された場合に追加される。デフォルトはprimary_hostname の値
省略
ログの在処は、デフォルトが /var/spool/exim/log の中にmainlogとpaniclogが作られる。この設定で一応のところリレーを許可しない設定となる。
2) FreeBSDの場合(Portsからインストした場合)
FreeBSDの場合は、
bash-2.05b# cd /usr/local/etc/exim
とりあえず、デフォルト設定ファイルを作る。
bash-2.05b# cp configure.default configure
コピーして作ったconfigureというファイルが設定ファイルとなる。重要なところを記述する。設定内容は、以下のようにLinuxの場合と同じ。
bash-2.05b# vi /usr/local/etc/exim/configure
省略
primary_hostname = hoge.hogehoge.net ← メル鯖のFQDN
省略
domainlist local_domains = mail.hogehoge.net : hogehoge.net ← メールサーバのドメイン名(メルアドの@マークの右側のドメイン名)
省略
relay_to_domains = kozupon.com : ******.com ← 他のサーバのリレーを許可する 繋げる場合はコロン(:)で繋げる
省略
hostlist relay_from_hosts = 127.0.0.1 : 192.168.0.0/24 ← リレーを許可するホスト名もしくはドメイン名を書く、繋げる場合はコロン(:)で区切る
qualify_domain = hogehoge.net ← quality_domain はドメインが省略された場合に追加される。デフォルトはprimary_hostname の値
省略
ログの在処は、デフォルトが /var/log/exim の中にmainlogとpaniclogとrejectlogが作られる。設定内容は、以下のようにLinuxの場合と同じ。
3) sendmailとの置き換え
● FreeBSDの場合
/etc/mail/mailer.confを変更する(FreeBSDのみ) FreeBSDの場合は、/etc/mail/mailer.conf内の記述を書き換えることによって、sendmail、mailq等のコマンドの置き換えが出来る。
bash-2.05b# vi /etc/mail/mailer.conf
# $FreeBSD: src/etc/mail/mailer.conf,v 1.3 2002/04/05 04:25:12 gshapiro Exp $
#
# Execute the “real” sendmail program, named /usr/libexec/sendmail/sendmail
#
#sendmail /usr/libexec/sendmail/sendmail
sendmail /usr/local/sbin/exim
#send-mail /usr/libexec/sendmail/sendmail
send-mail /usr/local/sbin/exim
#mailq /usr/libexec/sendmail/sendmail
mailq /usr/local/sbin/exim -bp
#newaliases /usr/libexec/sendmail/sendmail
newaliases /usr/bin/true
#hoststat /usr/libexec/sendmail/sendmail
#purgestat /usr/libexec/sendmail/sendmail
次に、FreeBSDでは定期的にroot宛へシステムチェックのメールが送られてくるが、eximはこのチェックスクリプトの中にeximが対応してないコマンドオプションがあるのであらかじめ抑止する。具体的に以下のように/etcにperiodic.confを 作り、一行追加する。
bash-2.05b# vi /etc/periodic.conf
daily_status_include_submit_mailq=”NO”
● Linuxの場合
Linuxの場合は、FreeBSDのように便利なmailer.confのようなファイルがないので以下ようにsendmailをぶっ殺して、 シンボルリンクでごまかそう!
[root@yh /etc]# mv /usr/sbin/sendmail /usr/sbin/sendmail.old
[root@yh /etc]# chmod 0 /usr/sbin/sendmail.old
[root@yh /etc]# ln -s /usr/exim/bin/exim /usr/sbin/sendmail
このように、eximをsendmailとしてシンボルリンクする。
5.テスト
あとは、mailコマンドでテストしてうまく行ったらしめたもの\(^o^)/。
例えば、
# mail -s test test@test.xx.jp
test test
ctrl+D
これでうまくいったらOKよ(^o^)。
以上
コメント