POSTFIX+SASL2支援通過MySQL認證安裝手記

來源:互聯網
上載者:User
 

POSTFIX+SASL2安裝手記 近一周來一直在安裝POSTFIX+SASL2並通過MYSQL完成認證,直到下午才獲得初步成功,將步驟和經驗總結如下:確定版本號碼:cyrus-sasl-2.1.22postfix-2.2.11.tar.gz 1、 mysql已安裝 跳過2、 SASL安裝到sasl.2.1.22目錄下執行:./configure --disable-anon --enable-login --enable-plain --enable-sql --with-mysql=/usr/nn_lamps/mysql --with-mysql-includes=/usr/nn_lamps/mysql/include/mysql --with-mysql-libs=/usr/nn_lamps/mysql/lib/mysql --enable-sample --with-plugindir=/usr/local/lib/sasl2MakeMake install Install完成後可以先在/usr/local/lib/sasl2 目錄下touch smtpd.conf pluginviewer.conf這些設定檔都是相應的App應用調用sasl2庫時用到的 Touch完檔案後建立串連ln -s /usr/local/lib/sasl2 /usr/lib/sasl2 3、安裝 POSTFIX先將mysql的lib目錄加入 /etc/ld.so.conf然後執行ldconfig 告訴系統庫尋找目錄然後在postfix代碼目錄下執行make makefiles 'CCARGS=-DHAS_MYSQL -I/usr/nn_lamps/mysql/include/mysql-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/local/include/sasl''AUXLIBS=-L/usr/nn_lamps/mysql/lib/mysql -lmysqlclient -lm -lz-L/usr/local/lib -lsasl2'MakeMake install 一路斷行符號如果make過程出現mysqlclient.so什麼庫沒找到,那一定是上一步庫目錄沒設定好,先設定好後重來 接下來對主要的設定檔進行配置main.cfsmtpd_sasl_auth_enable = yessmtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated rejectbroken_sasl_auth_clients = yessmtpd_sasl_application_name = smtpdsmtpd_helo_required = yessmtpd_delay_reject=no /usr/local/lib/sasl2/smtpd.confpwcheck_method:auxpropauxprop_plugin:sqlsql_select:select clear from users where id='%u@%r' and enabled=1sql_engine:mysqlsql_hostnames:192.168.1.137sql_user:mailsql_passwd:apasswordsql_database:maildb 到這裡已經安裝完成一個支援SASL認證的POSTFIX了可以用TELNET 192.168.1.250 25進行測試AUTH PLAIN dmlydHVhbHVzZXJAY25nbnUub3JnAHZpcnR1YWx1c2VyQGNuZ251Lm9yZwB0ZXN0cHc==或者AUTH LOGIN334 VXNlcm5hbWU6dmlydHVhbHVzZXJAY25nbnUub3Jn334 UGFzc3dvcmQ6dGVzdHB3當返回SUCCESS即代表成功如果出錯,則要從多方面尋找原因,首先應從/var/log/maillog入手,從log中尋找蛛絲馬跡,如果log不夠詳細,還可以將master.cf中啟動smtpd那一行的設定後面將smtpd的啟動參數加-v,這樣可以獲得更多的程式資訊,如下:======================================================================# service type private unpriv chroot wakeup maxproc command + args#               (yes)   (yes)   (yes)   (never) (100)# ======================================================================smtp      inet n       -       n       -       -       smtpd -v 從LOG中可以看到一些錯誤的發生原因,比如是因為沒有機制引起還是認證失敗,如果是沒有認證機制一般是POSTFIX配置問題,沒有找到相應的庫或者設定檔,特別注意該配置:smtpd_sasl_application_name = smtpd此配置是告訴POSTFIX調用SALS庫時尋找smtpd.conf的重要設定(註:POSTFIX2.3版本後將此設定更改為smtpd_sasl_path)如果是認證失敗,那要分析是沒有連上資料庫還是連上後登陸驗證不通過還是其他原因。這時候資料庫日誌就起作用了,可以通過尋找資料庫日誌,或者抓取與資料庫通訊的包來分析。今天我就是通過抓取通訊包發現設定檔的一些配置錯誤,如密碼設定等,更正後,終於成功認證。   BTW:sasl有一個pluginviewer的工具可以查看當前裝了哪些auxprop plugin,相當好用,他主要在於載入當前已經load的plugin,所以要在/usr/lib/sasl2目錄下建立pluginviewer.conf 加入一行sql_select=dummy 再運行pluginviewer 即可看到sql plugin已載入經驗總結,要多看代碼目錄下的doc目錄下的文檔, configure之前先configure --help得到最準確的協助資訊。因為只有代碼以及附帶的doc才是最可信賴最準確的。網路上寫的文章難免存在筆誤,就象我寫的這篇,因為時間和記憶丟失的原因,實際描述的步驟很可能就跟我當時操作的時候有所偏差,所以源碼包才是你最好的老師 有關POSTFIX SASL2的問題歡迎通過 renjiahui@gmail.com與我交流

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.