Chinaunix首页 | 论坛 | 博客
  • 博客访问: 11483874
  • 博文数量: 48
  • 博客积分: 7017
  • 博客等级: 少将
  • 技术积分: 2073
  • 用 户 组: 普通用户
  • 注册时间: 2006-08-24 09:50
文章分类

全部博文(48)

文章存档

2011年(4)

2010年(15)

2009年(15)

2008年(14)

我的朋友

分类: LINUX

2008-04-18 12:32:34

一.下载软件到/root目录下。
  postfix:
  cyrus-sasl:
目前稳定和最新版本:
cyrus-sasl-2.1.22.tar.gz
postfix-2.5.1.tar.gz
 
二.安装cyrus-sasl2版本
 
1.将下载的软件解压并安装略。
[root@linux cyrus-sasl-2.1.22]# ./configure \
> --prefix=/usr/local/mail/cyrus-sasl2 --enable-login --enable-plain\
> --enable-pwcheck --with-saslauthd=/var/run
# 注意上面的語法!!那個 \ 是跳脫字元喔!後面直接 Enter !
# 不要接任何空白或者是 tab 按鍵!
# 至於那個 pwcheck 的項目,就是要用來做為密碼確認的一個咚咚囉!
[root@linux cyrus-sasl-2.1.22]# make clean && make
[root@linux cyrus-sasl-2.1.22]# make install
# 上面三個步驟會花去一些時間,請耐心等待~
# 而由於我們剛剛設定了 --prefix=/usr/local/cyrus-sasl2 這個參數,
# 所以, make install 之後,我們有用的函式庫會在 
# /usr/local/cyrus-sasl2/lib/sasl2 這個路徑當中,但是, cyrus 程式
# 會主動去找 /usr/lib/sasl2 這個目錄!所以,我們必需要做連結檔!
# 才可以讓未來我們的 postfix 可以直接找的到我們所要的函式庫喔!
 
[root@linux saslauthd]# cd /usr/lib
[root@linux lib]# ln -s /usr/local/mail/cyrus-sasl2/lib/* .
[root@linux lib]# cd /usr/lib/sasl2
[root@linux sasl2]# echo 'pwcheck_method:saslauthd' > smtpd.conf
[root@linux sasl2]# echo 'mech_list:plain login' >> smtpd.conf
# 注意了!一般來說, Postfix 會使用 SASL 這個函式庫裡面相關的設定檔,
# /usr/lib/sasl2/smtpd.conf 這個檔案的設定就是 Postfix 的預設使用 SASL 的
# 參數檔案,與 1.5.xx 版本不太相同的地方是, 2.xx 版本使用不同的機制:
auxprop :使用 sasldb2 這個共享資料庫,同樣需要使用共享密碼檔案喔!
     所以一般來說,單純的 Postfix 比較少使用這種機制;
saslauthd:使用 saslauthd 這個 daemon 進行認證的工作,所以幾乎
     不需要其他的設定值哪,指定 saslauthd 就好啦! ^_^
pwcheck :使用與 1.5 版相似的認證 daemon ,不過在 2.xx 版本裡面這個模式
     支援度比較沒有這麼好的啦,所以請愛用 saslauthd 囉!
# 我們使用 SASL 預設的 saslauthd 這支程式做為密碼認證的 daemon。
# 至於 mech_list:plain login 是列出支援的認證機制的意思,我們使用的
# 是極為簡單的 login 與 plain 兩種機制而已!
 
2.建立一些需要的參數:
[root@linux sasl2]# vi /etc/man.config
# 新增底下這一行之後,未來我們就可以透過 man 這個工具來查詢 sasl 
# 相關的指令的用法了!而不需要修改任何咚咚!不過要注意的是,
# 這個檔案在每個 Linux distributions 當中不見得相同,例如 Open Linux 
# 檔名是 /etc/man.conf 呢!
MANPATH /usr/local/cyrus-sasl2/man
3.檢驗 saslauthd 這支程式是否可行!
# 在 cyrus-sasl 的原始碼裡面提供了一支小程式用來判斷 saslauthd 的認證機制
# 是否成功的啟動了,這個小程式就是 testsaslauthd 囉!在剛剛原始碼目錄下,
# 所以你可以這樣做:

[root@linux sasl2]#/usr/local/mail/cyrus-sasl2/sbin/saslauthd -a shadow
 
# 執行之後, saslauthd 的 PID 會被紀錄到 /var/run/mux.pid 這個檔案!

[root@linux sasl2]# cd /root/cyrus-sasl-2.1.22/saslauthd/
[root@linux saslauthd]# make testsaslauthd
 
[root@linux saslauthd]# ./testsaslauthd -u userID -p 'yours.passwd'
0: OK "Success."
# 若顯示 OK 的話!那麼就是成功啦!很好!我喜歡~
4.設定開機時啟動
[root@linux saslauthd]# vi /etc/rc.local
# 加入這一行:
/usr/local/cyrus-sasl2/sbin/saslauthd -a shadow
三.安裝 Postfix 2.xx 版本!
1. 先確認有沒有這個檔案存在!因為我們的 Postfix 會使用到很多資料庫啊!
[root@linux ~]# locate pcre.h | grep include
/usr/include/pcre.h
# 這個檔案也有可能存在於 /usr/include/pcre/pcre.h 裡面!不要擔心,存在就好了
# 如果沒有存在的話,例如 Mandrake 9.0 預設狀態可能並不會主動安裝這個套件,
# 請自行拿出原版光碟,安裝 MDK 的 libpcre0xxxx 檔案,至於 redhat 等
# 其他版本,請自行安裝 pcre 相關的套件吧!在 Red Hat 9 則是需要
# pcre-devel 這個套件喔! ( apt-get install pcre-devel)
2.将postfix解压略
3.清除規則並且建立新的使用 SMTP 的規則給 postfix
[root@linux ~]# cd /root/postfix-2.5.1
[root@linux postfix-2.5.1]# make tidy  # 清除規則
 

[root@linux postfix-2.5.1]# make makefiles CCARGS="-DUSE_SASL_AUTH -I/usr/local/mail/cyrus-sasl2/include/sasl/" AUXLIBS="-L/usr/local/mail/cyrus-sasl2/lib -lsasl2"
 
# 上面的動作在建立 Makefile 囉!其中那個 -CCARGS 後面接的 -DUSE_SASL_AUHT
# -I/usr/local/cyrus-sasl2/include/sasl 其中 -I 後面的路徑就是 SASL2 的
# 函式庫所在的目錄喔!請依照您安裝的 sasl2 目錄所在而定!
[root@linux postfix-2.5.1]# make
 
# 就是開始編譯啦!過程有點久喔!如果有出現任何 Error 時,
# 請將 error 仔細的查看一下吧!通常最大的原因都是一些
# include 檔案沒有安裝,也就是某些重要的套件沒有安裝之故,
# 例如 pcre.h 這個檔案就是一個例子囉!
# 解決的方法就是將該缺乏的套件安裝進去系統啦!
# 如果是 Red Hat 9 的話,可以這樣下達指令:
# make makefiles CCARGS="-DUSE_SASL_AUTH -I/usr/include/sasl" \
# AUXLIBS="-L/usr/lib/sasl2 -lsasl2"
# 因為 Red Hat 9 的 SASL2 路徑在 /usr/include/sasl ,這裡要特別的強調,
# 否則由於 Red Hed 9 同時提供 Cyrus SASL 1.5.x 以及 2.x.x 的版本,
# 可能會造成程式的誤判,那麼很可能會出現下列的錯誤喔:
# fatal: SASL per-connection security setup 
# 上面的錯誤訊息出現在 /var/log/maillog 中!
4.安装前的准备工作
 
mv /usr/sbin/sendmail /usr/sbin/sendmail.OFF
mv /usr/bin/newaliases /usr/bin/newaliases.OFF
mv /usr/bin/mailq /usr/bin/mailq.OFF
chmod 755 /usr/sbin/sendmail.OFF /usr/bin/newaliases.OFF /usr/bin/mailq.OFF
# 此外,還需要建立一個名為 postdrop 的群組與 postfix 的使用者喔!

groupadd -r postdrop
useradd -r -s /bin/false postfix

# 建立一個系統資料帳號吶!
echo 'postfix:  root' >> /etc/aliases
# 請注意,如果您之前安裝過 sendmail 的話,那麼不同版本的 sendmail 他的
aliases 放置的目錄並不相同,所以上面這行指令請依您的主機來設定!
5.開始安裝 Postfix 到 /etc/postfix 這個目錄下:

make install
# 底下會出現一大堆的問題集,不管如何,幾乎按下 enter 就對啦!
# 除了底下這兩個問題(最後兩個)可以選擇將 readme 檔案存下來喔!
Please specify the destination directory for the Postfix sample

configuration files.
sample_directory: [/etc/postfix] /etc/postfix/sample

Please specify the destination directory for the Postfix README
files. Specify "no" if you do not want to install these files.
readme_directory: [no] /etc/postfix/readme_files

# 這樣就安裝成功啦!接下來請開始查閱 那一節囉!

 

阅读(2584) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~