Ubuntu 15.04上折腾OpenSMTPD
Ubuntu 15.04上本来是有OpenSMTPD的安装包的,但是在我试图安装时报错,而且它用的是OpenSMTPD 5.4.2,比OpenBSD上的5.7.1版本低,于是我决定下载源码自己编译。
不过在编译之前先要安装一些软件:
apt-get update apt-get install libevent libevent-dev automake autoconf bison libtool libdb
然后再编译、安装libasr库:
wget https://opensmtpd.org/archives/libasr-1.0.2.tar.gz tar zxf libasr-1.0.2.tar.gz cd libasr-1.0.2 ./configure && make && make install
完成之后,开始编译opensmtpd
wget http://www.opensmtpd.org/archives/opensmtpd-portable-latest.tar.gz tar zxf opensmtpd-portable-latest.tar.gz cd opensmtpd ./configure --with-asr=/usr/local make && make install
然后要添加两个用户:
useradd -d /tmp -s /bin/false _smtpq useradd -d /tmp -s /bin/false _smtpd
然后创建/var/empty目录,如果你机器上没有的话
接下来就是创建/编辑/etc/smtpd.conf配置文件了。这里我就不再详述它的配置语法了。
再接下来,可以用smtpd -n来检查配置文件的语法是否正确。没有问题的话就可以启动起来试试看:
/usr/sbin/smtpd -f /etc/smtpd.conf
如果有问题的话,可以加上“d”参数来打开排除选项,看看问题的细节。
我最后折腾下来,opensmtpd每次接受到外发邮件的时候子进程都会崩溃,无法发送。目前还没找到是可执行程序的问题,配置问题还是权限问题。由于是手工编译,自行添加相关用户账户,权限问题的可能性不小。
另:目前apt-get install opensmtpd又可用了
2015.08.26更新:
- Ubuntu 15.04中通过repo安装的opensmtpd一直会有崩溃现象
- 试了一下最新的opensmtpd 5.7.1 portable版本,按照上面的方式编译不再有崩溃现象
- 自己编译的OpenSMTPD,默认用户为_smtpd和_smtpq,需要自行创建并配置相应的权限
- 我使用的配置选项为:
./configure --with-asr=/usr/local --with-privsep-user=opensmtpd \ --with-queue-user=opensmtpq \ --with-ca-file=/etc/ssl/certs/ca-certificates.crt