Blog

64 位主机可以发邮件了

最近趁着春节假期,捣鼓了一把 VPS,主要是想架设 OpenVPN,不过目前还没有成功。我几年前还在用 Ramhost 的时候,在上面架设成功过一次,当时人在加拿大,日常用不着翻墙,纯粹是试验,所以也没有记录细节。现在再弄,就又有些云里雾里了。最好的成绩是能连接上,从 ip38.com 里能看到 IP 地址来自这一块变成了我的 VPS 主机所在地,但是上不了网,没有数据。其它的情况就是连接不上,说是握手错误。从网上找到一些论坛,也没有解决,更不知道默认的端口有没有被封锁 🙁

除此之外,之前的 VPS 也该整理了。我有些后悔从 Ubuntu 12.04 LTS 升级到 13.04 版本了,现在试着升级到 13.10 不成功,升级后 Apache 没法启动了,不升级的话旧版本又不知道出了什么问题,太慢,ssh 登陆后总要登上那么五、六秒钟才能出现提示符。早知道做这种系统升级困难当初就应该坚守 LTS 不动摇,我于是又切换会了 12.04 这个 Profile,把博客等数据库也都转移了一下。结果立竿见影,我的邮箱的 blog 标签马上就又一次收到了信息。这个标签是我专门过滤 WordPress 给我发的维护邮件,有了评论什么的我马上就可以直到。我换到 64 位的主机后就再也没有收到过邮件了,所以我真想就这么用会 12.04 版本。可惜我的 12.04 LTS Profile 也有些奇怪的问题,比如登陆后 bash 载入不正常,我制定的 aliases 都失效了,ls 显示也没有了颜色,必须我手动运行一下 bash 才恢复正常,或者是进入 screen 也算是正常了。中间哪里出问题了,我也找不出来。试着重新建立用户,反而把过去的一些权限给弄坏了。

无奈之下我只好重新建立一个 Profile。因为我觉得 Ubuntu 的大升级对我来说有点“重口”,我想要一个可以完全平滑升级的系统。Gentoo 用作服务器有点超前,ArchLinux 我又没用过,最后只好选择了 Debian 7.3。Linode 在最新的发行版选择中,Debian 只有 64 位版的,而且 Linode 自己也说推荐使用 64 位版的,我就被蛊惑的选择了 64 位版。进入了之后我发现依旧不能发邮件,而且 OpenVPN 也没有配置好。所以今天早上,我重新创建了一个 Profile,选择了老版本的 32 位的 Debian 7。反正 Debian 升级保守,我用 apt-get 手动升级的办法也能保持最新,不用去追求副版本号的不同。在配置它的过程中,我由于忘了在运行旧的 Profile 的时候就打开我的 wiki 上的 VPS 配置页面,于是切换回了 64 位的 Debian 7.3 Profile 中。期间又看到了 Linode 关于邮件系统的描写,除了 Postfix 之外,更轻量的、我过去用的 Exim4 也有一篇文章,我照着配置了一遍。这篇文章也给了我信心,因为 Linode 自己也认为 64 位的主机发邮件也没问题。虽然结果我还是没有成功发送邮件,但这篇文章的末尾给了我很好的思路。

文章的结尾说了测试邮件可以正常发送的方法,就是这么一行命令:

echo "This is a test." | mail -s Testing someone@somedomain.com

我过去一直是去 WordPress 里发表一篇评论看看有没有收到邮件的,或者是去 PHP 探针里发送邮件试试的,而命令行发邮件的方法我还没有学会。这次试验了一次命令行,马上就从终端看到了错误信息,这样子解决问题的思路就有了。我发现原来是几个目录的权限有问题,Exim4 居然无法访问它们,比如 /var/spool/exim4,还有它自己的 log 目录。把这些目录的所有人和组改成 Debian-exim 后,发送邮件成功了。真是一个超级大的进步!

说实在的,我对于在服务器上用 64 位的系统是有些顾虑的。最早来源于 Site5 的共享主机。那时候我用的还是 Movable Type 系统,它需要一个名为 ImageMagick 的 Perl 模块来处理图像。当时我们买的 Site5 主机就是 64 位的,我通过跟客服交流,就是 64 位服务器的兼容性问题。当时觉得这个功能不是特别重要,我就没有迁移到 32 位主机。关键是当时是跟别人合租的,我也不好擅自做决定。后来我也遇到了 64 位服务器无法发出邮件的情况,一次次的经验积累下来让我有了“64 位主机不能正常发邮件”这个印象。到了今天总算是打破了。

没有评论

Leave a Reply