0390postfix.htm
来自「鸟哥LINUX 学习课本」· HTM 代码 · 共 1,009 行 · 第 1/5 页
HTM
1,009 行
<br>很简单吧!这样就搞定了 Red Hat 9 的 Postfix 啰!(<i><font color="#000066">注意,Mandrake 与 Red Hat 不同版本所使用的 Cyrus SASL 机制并不相同喔!在 Mandrake当中预设是 pwcheck 而在 Red Hat 则预设使用 sasldb 这个验证机制!并且,由于Red Hat 9 在编译 postfix 的时候使用的是 SASL version 1 ,所以无法使用 saslauthd这个好用的机制,鸟哥认为,您最好使用 Tarball 来安装您的 Postfix 在您的Red Hat 9 上面喔!</font></i>)<br> <br><hr width="100%"><a name="package_tarball"></a><font size="+1" color="#000099">使用Tarball 安装完整的 Postfix + POP3 + SMTP + Procmail (适用任何版本的 Linux喔!)</font><br> <br>以 Tarball 安装 Postfix 也不困难,比起 sendmail 来说,要简单的很多喔!我们这里选择的主要套件有:<ul><li><a href="http://linux.vbird.org/download/index.php#sendmail_postfix">cyrus-sasl-2.1.12.tar.gz</a></li><li><a href="http://linux.vbird.org/download/index.php#sendmail_postfix">postfix-2.0.4.tar.gz</a></li></ul>至于 procmail 与 imap 两个套件都使用 Linux distribution 提供的 RPM 版本就好了,不需要额外的改装啊!那么底下就来谈一谈怎么安装吧!(<i><font color="#000066">注:Cyrus SASL 与 Cyrus SASL2 这两个不同版本的 SASL 函式库放置的目录并不相同,所以你可以分别安装cyrus version 1 与 version 2 喔!在鸟哥的案例当中,还不会发生问题就是了!另外,如果您是Red Hat 9 的使用者,由于 Red Hat 9 已经提供了 Cyrus SASL version 2 了,所以您可以直接略过Cyrus SASL 的安装部分,直接到 Postfix 2.xx 的安装呢!</font></i>)<br> <a name="package_tarball_cyrus"></a><table bgcolor="#000000" border="1" cols="1" width="550"><tbody><tr><td><center><b><font color="#cccccc" face="SimSun">安装 Cyrus SASL 2.xx版本!</font></b></center><font size="-1" color="#cccccc" face="SimSun">1. 首先将数据解压缩(假设您将我们网站的档案捉到/root 底下了!)</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]# </font><b><font color="#ffff00">cd /usr/local/src</font></b></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testsrc]# </font><b><font color="#ffff00">tar -zxvf /root/cyrus-sasl-2.1.12.tar.gz</font></b></font><br><font size="-1" color="#ff6666" face="SimSun">.....(略).....最后建立一个cyrus-sasl-2.1.12 的目录</font><font color="#cccccc"></font><p><font size="-1" color="#cccccc" face="SimSun">2. 再来就是设定你的cyrus SASL 的参数以及编译啰!</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testsrc]# </font><b><font color="#ffff00">cd cyrus-sasl-2.1.12</font></b></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testcyrus-sasl-2.1.12]# </font><b><font color="#ffff00">./configure  \</font></b></font><br><b><font size="-1" face="SimSun"><font color="#ffffff">> </font><font color="#ffff00">--prefix=/usr/local/cyrus-sasl2--enable-login --enable-plain \</font></font></b><br><b><font size="-1" face="SimSun"><font color="#ffffff">></font><font color="#ffff00">--enable-pwcheck --with-saslauthd=/var/run \</font></font></b><br><font size="-1" color="#ff6666" face="SimSun"># 注意上面的语法!!那个\ 是跳脱字符喔!后面直接 Enter !</font><br><font size="-1" color="#ff6666" face="SimSun"># 不要接任何空白或者是tab 按键!若有问题,请到 <a href="http://linux.vbird.org/linux_basic/0320bash.php">Shell</a>看看!</font><br><font size="-1" color="#ff6666" face="SimSun"># 至于那个pwcheck 的项目,就是要用来做为密码确认的一个咚咚啰!</font></p><p><font size="-1" face="SimSun"><font color="#ffffff">[root@test cyrus-sasl-2.1.12]#<b></b></font><b><font color="#ffff00">makeclean && make</font></b></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testcyrus-sasl-2.1.12]# </font><b><font color="#ffff00">make install</font></b></font><br><font size="-1" color="#ff6666" face="SimSun"># 上面三个步骤会花去一些时间,请耐心等待~</font><br><font size="-1" face="SimSun"><font color="#ff6666"># 而由于我们刚刚设定了</font><font color="#ffccff">--prefix=/usr/local/cyrus-sasl2</font><font color="#ff6666">这个参数,</font></font><br><font size="-1" color="#ff6666" face="SimSun"># 所以, makeinstall 之后,我们有用的函式库会在 </font><br><font size="-1" face="SimSun"><font color="#ff6666">#</font><font color="#ffccff">/usr/local/cyrus-sasl2/lib/sasl2 </font><font color="#ff6666">这个路径当中,但是,cyrus 程序</font></font><br><font size="-1" face="SimSun"><font color="#ff6666"># 会主动去找</font><b><font color="#ffccff">/usr/lib/sasl2</font></b><font color="#ff6666">这个目录!所以,我们必需要做连结档!</font></font><br><font size="-1" color="#ff6666" face="SimSun"># 才可以让未来我们的postfix 可以直接找的到我们所要的函式库喔!</font></p><p><font size="-1" face="SimSun"><font color="#ffffff">[root@test cyrus-sasl-2.1.12]#</font><b><font color="#ffff00">cd/usr/lib</font></b></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testlib]#</font><font color="#ffff00"> <b>ln -s /usr/local/cyrus-sasl2/lib/*.</b></font></font><br><font size="-1" color="#ff6666" face="SimSun"># 这样就建立起连结档啰!很简单吧!^_^不过要注意喔,</font><br><font size="-1" color="#ff6666" face="SimSun"># 上面这一行最后面那个小数点『.』不要忘记加了!</font><font color="#cccccc"></font></p><p><font size="-1" color="#cccccc" face="SimSun">3. 准备建立Postfix 与 cyrus SASL 使用的简易设定档:</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testlib]#<b> </b></font><b><font color="#ffff00">cd /usr/lib/sasl2</font></b></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testsasl2]#<b> </b></font><b><font color="#ffff00">echo 'pwcheck_method: saslauthd'> smtpd.conf </font></b></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testsasl2]# </font><b><font color="#ffff00">echo 'mech_list:plain login' >>  smtpd.conf </font></b></font><br><font size="-1" color="#ff6666" face="SimSun"># 注意了!一般来说,Postfix 会使用 SASL 这个函式库里面相关的设定档,</font><br><font size="-1" face="SimSun"><font color="#ff6666">#</font><font color="#ffccff">/usr/lib/sasl2/smtpd.conf </font><font color="#ff6666">这个档案的设定就是Postfix 的预设使用 SASL 的</font></font><br><font size="-1" color="#ff6666" face="SimSun"># 参数档案,与1.5.xx 版本不太相同的地方是, 2.xx 版本使用不同的机制:</font><br><font size="-1" color="#ffccff" face="SimSun">auxprop :使用sasldb2 这个共享数据库,同样需要使用共享密码档案喔!</font><br><font size="-1" color="#ffccff" face="SimSun"> 所以一般来说,单纯的 Postfix 比较少使用这种机制;</font><br><font size="-1" color="#ffccff" face="SimSun">saslauthd:使用saslauthd 这个 daemon 进行认证的工作,所以几乎</font><br><font size="-1" color="#ffccff" face="SimSun"> 不需要其它的设定值哪,指定 saslauthd 就好啦! ^_^</font><br><font size="-1" color="#ffccff" face="SimSun">pwcheck :使用与1.5 版相似的认证 daemon ,不过在 2.xx 版本里面这个模式</font><br><font size="-1" color="#ffccff" face="SimSun"> 支持度比较没有这么好的啦,所以请爱用 saslauthd 啰!</font><br><font size="-1" color="#ff6666" face="SimSun"># 我们使用SASL 预设的 saslauthd 这支程序做为密码认证的 daemon。</font><br><font size="-1" face="SimSun"><font color="#ff6666"># 至于 </font><b><font color="#ffccff">mech_list:plainlogin </font></b><font color="#ff6666">是列出支持的认证机制的意思,我们使用的</font></font><br><font size="-1" color="#ff6666" face="SimSun"># 是极为简单的login 与 plain 两种机制而已!</font><font color="#cccccc"></font></p><p><font size="-1" color="#cccccc" face="SimSun">4. 建立一些需要的参数:</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testsasl2]# </font><b><font color="#ffff00">vi /etc/man.config</font></b></font><br><font size="-1" color="#ff6666" face="SimSun"># 新增底下这一行之后,未来我们就可以透过man 这个工具来查询 sasl </font><br><font size="-1" color="#ff6666" face="SimSun"># 相关的指令的用法了!而不需要修改任何咚咚!不过要注意的是,</font><br><font size="-1" color="#ff6666" face="SimSun"># 这个档案在每个Linux distributions 当中不见得相同,例如 Open Linux </font><br><font size="-1" color="#ff6666" face="SimSun"># 檔名是 /etc/man.conf呢!</font><br><font size="-1" color="#ffff00" face="SimSun">MANPATH /usr/local/cyrus-sasl2/man</font><font color="#cccccc"></font></p><p><font size="-1" color="#cccccc" face="SimSun">5. 检验 saslauthd这支程序是否可行!</font><br><font size="-1" color="#ff6666" face="SimSun"># 在 cyrus-sasl的原始码里面提供了一支小程序用来判断 saslauthd 的认证机制</font><br><font size="-1" color="#ff6666" face="SimSun"># 是否成功的启动了,这个小程序就是testsaslauthd 啰!在刚刚原始码目录下,</font><br><font size="-1" color="#ff6666" face="SimSun"># 所以你可以这样做:</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testsasl2]#</font><font color="#ffff00"> <b>/usr/local/cyrus-sasl2/sbin/saslauthd-a shadow</b></font></font><br><font size="-1" color="#ff6666" face="SimSun"># 执行之后,saslauthd 的 PID 会被纪录到 /var/run/mux.pid 这个档案!</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testsasl2]#</font><font color="#ffff00"> <b>cd /usr/local/src/cyrus-sasl-2.1.12/saslauthd/</b></font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testsaslauthd]#</font><font color="#ffff00"> <b>make testsaslauthd</b></font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testsaslauthd]#</font><font color="#ffff00"> <b>./testsaslauthd -u userID -p'yours.passwd'</b></font></font><br><font size="-1" color="#ffffff" face="SimSun">0: OK "Success."</font><br><font size="-1" color="#ff6666" face="SimSun"># 若显示 OK的话!那么就是成功啦!很好!我喜欢~</font><font color="#cccccc"></font></p><p><font size="-1" color="#cccccc" face="SimSun">6. 设定开机时启动</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root @testsaslauthd]# </font><b><font color="#ffff00">vi /etc/rc.d/rc.local</font></b></font><br><font size="-1" color="#ff6666" face="SimSun"># 加入这一行:</font><br><font size="-1" color="#ffff00" face="SimSun">/usr/local/cyrus-sasl2/sbin/saslauthd-a shadow</font></p></td></tr></tbody></table> <table bgcolor="#000000" border="1" cols="1" width="570"><tbody><tr><td><center><b><font color="#cccccc" face="SimSun">安装 Postfix 2.xx版本!</font></b></center><font size="-1" color="#cccccc" face="SimSun">0. 先确认有没有这个档案存在!因为我们的Postfix 会使用到很多数据库啊!</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]# </font><b><font color="#ffff00">locate pcre.h | grep include</font></b></font><br><font size="-1" color="#ffffff" face="SimSun">/usr/include/pcre.h</font><br><font size="-1" color="#ff6666" face="SimSun"># 这个档案也有可能存在于/usr/include/pcre/pcre.h 里面!不要担心,存在就好了</font><br><font size="-1" color="#ff6666" face="SimSun"># 如果没有存在的话,例如Mandrake 9.0 预设状态可能并不会主动安装这个套件,</font><br><font size="-1" color="#ff6666" face="SimSun"># 请自行拿出原版光盘,安装MDK 的 libpcre0xxxx 档案,至于 redhat 等</font><br><font size="-1" color="#ff6666" face="SimSun"># 其它版本,请自行安装pcre 相关的套件吧!在 Red Hat 9 则是需要</font><br><font size="-1" color="#ff6666" face="SimSun"># pcre-devel这个套件喔! ( apt-get install pcre-devel)</font><font color="#cccccc"></font><p><font size="-1" color="#cccccc" face="SimSun">1. 首先将数据解压缩(假设您将我们网站的档案捉到/root 底下了!)</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]#<b> </b></font><b><font color="#ffff00">cd /usr/local/src</font></b></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testsrc]# </font><b><font color="#ffff00">tar -zxvf /root/postfix-2.0.4.tar.gz</font></b></font><br><font size="-1" color="#ff6666" face="SimSun">.....(略).....最后建立一个postfix-2.0.4 的目录</font><font color="#cccccc"></font></p><p><font size="-1" color="#cccccc" face="SimSun">2. 清除规则并且建立新的使用SMTP 的规则给 postfix</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testsrc]# </font><b><font color="#ffff00">cd /usr/local/src/postfix-2.0.4</font></b></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testpostfix-2.0.4]# </font><font color="#ffff00"><b>make tidy</b>  </font><font color="#ffccff">#清除规则</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testpostfix-2.0.4]# </font><b><font color="#ffff00">make makefiles CCARGS="-DUSE_SASL_AUTH\</font></b></font><br><b><font size="-1" face="SimSun"><font color="#ffffff">></font><font color="#ffff00"> -I/usr/local/cyrus-sasl2/include/sasl/"  \</font></font></b>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?