Skip to content

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更新:

  1. Ubuntu 15.04中通过repo安装的opensmtpd一直会有崩溃现象
  2. 试了一下最新的opensmtpd 5.7.1 portable版本,按照上面的方式编译不再有崩溃现象
  3. 自己编译的OpenSMTPD,默认用户为_smtpd和_smtpq,需要自行创建并配置相应的权限
  4. 我使用的配置选项为:
    ./configure --with-asr=/usr/local --with-privsep-user=opensmtpd \
    --with-queue-user=opensmtpq \
    --with-ca-file=/etc/ssl/certs/ca-certificates.crt

 

 

Avatar

专业Linux/Unix/Windows系统管理员,开源技术爱好者。对操作系统底层技术,TCP/IP协议栈以及信息系统安全有强烈兴趣。电脑技术之外,则喜欢书法,古典诗词,数码摄影和背包行。

Sidebar