2022年8月、ホームページを全面リニューアルしました! 情報を分かりやすくお伝えできるサイト作りを目指してまいります。

sendmail互換のMTA 、eximをインストする!

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^)。

以上

コメント