วันนี้ มีโจทย์ให้ทำ SMTP เพิ่มเติมครับ โดยให้สามารถ ใช้งาน
- Cyrus_sasl2.1.23 + Cyrus_sasl_authd_v2.1.25 + openldap ได้
เริ่มเลยผมใช้กับ Cyrus sasl version 2.1.23 นะครับ
เหมือนว่าลง ใช้ กับ version 2.1.25 แล้วไม่สามารถทำการ authentication ได้
เลยทดลอง downgrade cyrus_sasl ลงมาเป็น 2.1.23 ก็ใช้งานได้ครับผม
เริ่มจาก Install OS = FreeBSD 8.2 Amd 64 bit ครับ
อัฟเดท port ให้เรียบร้อยซะ
#portsnap fetch
#portsnap extract
เริ่มทำการ install postfix ผมใช้ version 2.7 ครับ เลยใช้ option "PCRE, SASL2,TLS,OPENLDAP"
#make config
#cd /usr/ports/mail/postfix27
#make install clean
ทำการลง clamav version ใหม่ล่าสุด ณ เวลานี้ clamav 0.97.4
#cd /usr/ports/security/clamav
#make install clean
ทำการลง Spam Assasin เพื่อตรวจเชค Spam ครับผม
#cd /usr/ports/japanese/p5-Mail-SpamAssassin
#make install clean
ทำการลง Amavisd-new เพื่อเป็นตัวจัดการ clamav และ spam
#cd /usr/ports/security/amavisd-new
#make install clean
ทำการลง Perl module ที่จำเป็นต้องใช้งาน
#perl -MCPAN -e shell
>install Net::LDAP
>install DBI
>install DBD::mysql
เสร็จแล้วทำการลง DBD-mysql ของ perl ครับ
#cd /usr/ports/databases/p5-DBD-mysql50
#make install clean
ทำการลง Cyrus sasl version 2.1.23 นะครับ
#cd /usr/ports/security/cyrus-sasl2
#make install clean
ทำการลง Cyrus_sasl_saslauth เพื่อใช้ authen กับ LDAP
#cd /usr/ports/security/cyrus-sasl2-saslauthd
#make config
เลือก openldap
#make install clean
ทำการลง openldap client เพื่อ connect openldap server
#cd /usr/ports/net/openldap24-client
choose ""fetch"" only
#make install clean
ทำการ config "main.cf" และ "master.cf" ตามแบบฉบับ อิอิ
#cd /usr/local/etc/postfix
#cp main.cf /home/golf/backup_config/main.cf_beforema_20120218
#cp master.cf /home/golf/backup_config/master.cf_beforema_20120218
Restart postfix service ซะหน่อย
#/usr/local/etc/rc.d/postfix restart
เพิ่ม config ข้างล่างนี้ไปยังไฟล์
#vi /usr/local/lib/sasl2/smtpd.conf
#cp /usr/local/lib/sasl2/smtpd.conf /usr/lib/sasl2/smtpd.conf
###### Begin copy ########
# with this postfix use SASL to permit
# relay be sure that you use SMTP-AUTH over TLS
# /etc/postfix/sasl/smtpd.conf
pwcheck_method: saslauthd
saslauthd_path: /var/run/saslauthd/mux
saslauthd_version: 2
mech_list: LOGIN
###### End copy ########
ทำการ config ให้ cyrus_saslauth ทำงานกับ ldap ตอน start service ทุกครั้ง
#cd /usr/local/etc/rc.d
#vi saslauthd
เปลี่ยนจาก
saslauthd_flags=${saslauthd_flags:-""-a pam""} # Flags to saslauthd program
เป็น
saslauthd_flags=${saslauthd_flags:-""-a ldap -O /usr/local/etc/saslauthd.conf""} # Flags to saslauthd program"
ทำการ restart service cyrus_saslauthd 1 รอบ
#/usr/local/etc/rc.d/saslauthd restart
เชคดูว่าเริ่มทำงานกับ ldapป่ะ
#ps auxw | grep sasl
ต้องขึ้นเป็น
root 70084 0.0 0.3 18860 3372 ?? Is Tue01PM 0:00.00 /usr/local/sbin/saslauthd -a ldap -O /usr/local/etc/saslauthd.conf
root 70085 0.0 0.3 18860 3372 ?? I Tue01PM 0:00.00 /usr/local/sbin/saslauthd -a ldap -O /usr/local/etc/saslauthd.conf
root 70086 0.0 0.3 18860 2932 ?? I Tue01PM 0:00.00 /usr/local/sbin/saslauthd -a ldap -O /usr/local/etc/saslauthd.conf
root 70087 0.0 0.3 18860 2928 ?? I Tue01PM 0:00.00 /usr/local/sbin/saslauthd -a ldap -O /usr/local/etc/saslauthd.conf
root 70088 0.0 0.3 18860 2928 ?? I Tue01PM 0:00.00 /usr/local/sbin/saslauthd -a ldap -O /usr/local/etc/saslauthd.conf
ทำการ test authen ด้วย LDAP ผ่าน command testsaslauthd
#testsaslauthd -u
golftest@xxxx.co.th -p XxXxXxX
ถ้าเจอข้อความแบบข้างล่างแสดงว่า ทำงานได้แล้ววววว
0: OK ""Success.""
สุดท้ายลองเทสผ่าน outlook แล้ว ใช้งาน Outgoing authentication email ด้วยนะครับ ก็จะใช้งานผ่าน saslauth ได้ปกติ