0390postfix.htm

来自「鸟哥LINUX 学习课本」· HTM 代码 · 共 1,009 行 · 第 1/5 页

HTM
1,009
字号
<br><b><font size="-1" face="SimSun"><font color="#ffffff">&gt;</font><font color="#ffff00">&#160;AUXLIBS="-L/usr/local/cyrus-sasl2/lib -lsasl2"</font></font></b><br><font size="-1" face="SimSun"><font color="#ff6666"># 上面的动作在建立Makefile 啰!其中那个 -CCARGS 后面接的 </font><font color="#ffccff">-DUSE_SASL_AUHT</font></font><br><font size="-1" face="SimSun"><font color="#ff6666">#</font><font color="#ffccff">-I/usr/local/cyrus-sasl2/include/sasl</font><font color="#ff6666"> 其中</font><font color="#ffccff">-I 后面的路径就是 SASL2 的</font></font><br><font size="-1" face="SimSun"><font color="#ff6666">#</font><font color="#ffccff">函式库所在的目录喔</font><font color="#ff6666">!请依照您安装的 sasl2 目录所在而定!</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testpostfix-2.0.4]# </font><b><font color="#ffff00">make</font></b></font><br><font size="-1" color="#ff6666" face="SimSun"># 就是开始编译啦!过程有点久喔!如果有出现任何Error 时,</font><br><font size="-1" color="#ff6666" face="SimSun"># 请将 error仔细的查看一下吧!通常最大的原因都是一些</font><br><font size="-1" color="#ff6666" face="SimSun"># include 档案没有安装,也就是某些重要的套件没有安装之故,</font><br><a name="RedHat_sasl"></a><font size="-1" color="#ff6666" face="SimSun">#例如 pcre.h 这个档案就是一个例子啰!</font><br><font size="-1" face="SimSun"><font color="#ff6666">#</font><font color="#ffccff">解决的方法就是将该缺乏的套件安装进去系统啦!</font></font><br><font size="-1" color="#ff6666" face="SimSun"># 如果是 RedHat 9 的话,可以这样下达指令:</font><br><font size="-1" face="SimSun"><font color="#ff6666"># </font><font color="#ffccff">makemakefiles CCARGS="-DUSE_SASL_AUTH -I/usr/include/sasl" \</font></font><br><font size="-1" face="SimSun"><font color="#ff6666"># </font><font color="#ffccff">AUXLIBS="-L/usr/lib/sasl2-lsasl2"</font></font><br><font size="-1" color="#ff6666" face="SimSun"># 因为 RedHat 9 的 SASL2 路径在 /usr/include/sasl ,这里要特别的强调,</font><br><font size="-1" color="#ff6666" face="SimSun"># 否则由于Red Hed 9 同时提供 Cyrus SASL 1.5.x 以及 2.x.x 的版本,</font><br><font size="-1" color="#ff6666" face="SimSun"># 可能会造成程序的误判,那么很可能会出现下列的错误喔:</font><br><font size="-1" face="SimSun"><font color="#ff6666"># </font><b><font color="#ffccff">fatal:SASL per-connection security setup</font></b><font color="#ffffff">&#160;</font></font><br><font size="-1" color="#ff6666" face="SimSun"># 上面的错误讯息出现在/var/log/maillog 中!</font><font color="#cccccc" face="SimSun"></font></p><p><font size="-1" color="#cccccc" face="SimSun">3. 安装前准备工作:</font><br><font size="-1" color="#ff6666" face="SimSun"># 如果您的系统是由sendmail 要改换到 Postfix 的话,你不需要移除 sendmail ,</font><br><font size="-1" color="#ff6666" face="SimSun"># 不过却需要进行一些小手术喔!</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testpostfix-2.0.4]# </font><b><font color="#ffff00">mv /usr/sbin/sendmail /usr/sbin/sendmail.OFF</font></b></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testpostfix-2.0.4]# </font><b><font color="#ffff00">mv /usr/bin/newaliases/usr/bin/newaliases.OFF</font></b></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testpostfix-2.0.4]# </font><b><font color="#ffff00">mv /usr/bin/mailq /usr/bin/mailq.OFF</font></b></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testpostfix-2.0.4]#</font><font color="#ffff00"> <b>chmod 755 /usr/sbin/sendmail.OFF\</b></font></font><br><font size="-1" face="SimSun"><font color="#ffffff">&gt;&#160;</font><font color="#ffff00"><b>/usr/bin/newaliases.OFF /usr/bin/mailq.OFF</b></font></font></p><p><font size="-1" color="#ff6666" face="SimSun"># 此外,还需要建立一个名为postdrop 的群组与 postfix 的使用者喔!</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testpostfix-2.0.4]#</font><font color="#ffff00"> <b>groupadd -r postdrop</b></font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testpostfix-2.0.4]#</font><font color="#ffff00"> <b>useradd -r -s /bin/falsepostfix</b></font></font><br><font size="-1" color="#ff6666" face="SimSun"># 建立一个系统数据账号吶!</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testpostfix-2.0.4]# </font><b><font color="#ffff00">echo 'postfix:&#160; root'&gt;&gt; /etc/aliases</font></b></font><br><font size="-1" color="#ff6666" face="SimSun"># 请注意,如果您之前安装过sendmail 的话,那么不同版本的 sendmail 他的</font><br><font size="-1" color="#ff6666" face="SimSun">aliases 放置的目录并不相同,所以上面这行指令请依您的主机来设定!</font><font color="#cccccc"></font></p><p><font size="-1" color="#cccccc" face="SimSun">4. 开始安装Postfix 到 /etc/postfix 这个目录下:</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testpostfix-2.0.4]#</font><font color="#ffff00"> <b>make install</b></font></font><br><font size="-1" color="#ff6666" face="SimSun"># 底下会出现一大堆的问题集,不管如何,几乎按下enter 就对啦!</font><br><font size="-1" color="#ff6666" face="SimSun"># 除了底下这两个问题(最后两个)可以选择将readme 档案存下来喔!</font><br><font size="-1" color="#ffffff" face="SimSun">Please specifythe destination directory for the Postfix sample</font><br><font size="-1" color="#ffffff" face="SimSun">configurationfiles.</font><br><font size="-1" face="SimSun"><font color="#ffffff">sample_directory:[/etc/postfix] </font><b><font color="#ffff00">/etc/postfix/sample</font></b></font></p><p><font size="-1" color="#ffffff" face="SimSun">Please specifythe destination directory for the Postfix README</font><br><font size="-1" color="#ffffff" face="SimSun">files. Specify"no" if you do not want to install these files.</font><br><font size="-1" face="SimSun"><font color="#ffffff">readme_directory:[no] </font><b><font color="#ffff00">/etc/postfix/readme_files</font></b></font></p><p><font size="-1" color="#ff6666" face="SimSun"># 这样就安装成功啦!接下来请开始查阅<a href="#server">主机的设定</a>那一节啰!</font></p></td></tr></tbody></table>&nbsp;</blockquote><hr width="100%"><a name="server"></a><font size="+1" color="#000099">主机的设定</font><ul>安装完毕 postfix 之后,接着下来就是设定了!同样的,在设定主机之前,有几个东西是您必需先取得的喔:<br> <ol><li><font color="#000066">具有合法的 hostname ,或者是经过授权的 DNS 主机来设定您自己的主机名称(hostname);</font></li><li><font color="#000066">您的 hostname 最好拥有一个 MX 的纪录(record);</font></li><li><font color="#000066">至少一定要了解到什么是 Relay 的问题,以及规划一下您所想要开放relay 的网域;</font></li></ol> <br>你至少需要有这些数据才行吶!好了,我先假设一下我的案例好了:<br> <ol><li><font color="#000066">我的 hostname 为 vbird.adsldns.org;</font></li><li><font color="#000066">我的 hostname 还有个别名为 www.vbird.adsldns.org,也就是说, vbird.adsldns.org 与 www.vbird.adsldns.org 都指向同一个 IP;</font></li><li><font color="#000066">我的 domain name 为 adsldns.org ;</font></li><li><font color="#000066">我预计开放的 relay 网域为 vbird.org 这个网域,与内部的192.168.1.0/24 这个网域,还要可以使用 access 这个档案的设定功能!</font></li></ol> <br>开始来了解 postfix 啰! ^_^<br> <br><hr width="100%"><a name="server_cons"></a><font size="+1" color="#000099">Postfix的结构</font><br> <br>在主机的设定之前我们得先了解一下 postfix 的整体构造,以方便以后来处理我们的档案吶!所以底下我们会先针对postfix 这个套件的结构做个简单的说明,然后再针对各个设定项目来进行说明啰!Postfix的设定档几乎完全都在 /etc/postfix 里面,至于执行档则在 /usr/sbin 里面,我们分别来谈一谈几个主要的注意事项吧!<br> <ul><li><font color="#000099">设定档</font>:<font color="#000066">Postfix 的设定档都在/etc/postfix 里面</font>,主要的设定档有:</li></ul> <ul><ul><li><b><font color="#000066" face="SimSun">/etc/postfix/main.cf </font></b>:这个就是最重要的postfix 的设定档了!等一下我们谈到的设定都在这个档案里面进行修改的动作!基本上,他本身就是一个简单的说明文件档啦!不过,要注意的是,在你修改完成了main.cf 之后,请记得『<font color="#000066">一定要重新 reload 或重新 restartpostfix 才行</font>!』</li></ul> <ul><li><b><font color="#000066" face="SimSun">/etc/postfix/master.cf</font></b>:这个档案是另外一个重要的postfix 设定档!他主要是规定了 postfix 每个程序的运作参数!</li></ul> <ul><li><b><font color="#000066" face="SimSun">/etc/postfix/access</font></b>:这个档案与 sendmail 的 access 是相同的!都是用来做为 relay 或者是 deny某些 IP 与 hostname 的档案!不过,要启用他还是得要修改 main.cf 才行!</li></ul> <ul><li><b><font color="#000066" face="SimSun">/etc/postfix/aliases</font></b>: 这个档案与 sendmail 的 aliases 也是相同的!同样的可以做为别名之用,所以您可以回头去翻一翻这个档案的用法喔!</li></ul> <ul><li><b><font color="#000066" face="SimSun">/etc/postfix/pcre_table regexp_tablerelocated</font></b> : 这几个档案可以做为邮件的过滤之用喔!可以使用正规表示法来进行邮件过滤(filter)的规则,呵呵!会使用这几个档案,或许连procmail 也不需要使用了呢! ^_^</li></ul> <li><font color="#000099">执行档</font>:Postfix 的执行档可不少啊!约略提几个主要的执行档吧!</li><br> <ul><li><b><font color="#000066" face="SimSun">/usr/sbin/postfix</font></b>:这就是postfix 的主要执行档案啦!启动与简单的关闭 postfix 可以使用:</li><ul><font color="#000066" face="SimSun">postfix check :检查 postfix相关的档案、权限等是否正确!</font><br><font color="#000066" face="SimSun">postfix start :开始 postfix的执行</font><br><font color="#000066" face="SimSun">postfix stop&#160; :关闭postfix</font><br><font color="#000066" face="SimSun">postfix flush :强制将目前正在邮件队列的邮件寄出!</font><br><font color="#000066" face="SimSun">postfix reload:重新读入设定档,也就是/etc/postfix/main.cf</font></ul>要注意的是,每次更动了 /etc/postfix/main.cf 之后,一定需要执行 postfixreload 喔!<br> <li><b><font color="#000066" face="SimSun">/usr/sbin/postalias</font></b>:这个指令是sendmail 的 newaliases 啦!他可以用来将上面提到的设定档&#160; aliases 制作成为postfix 看的懂得『数据库』格式化档案!由于一般来说,我们都是使用

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?