postfix + cyrus-sasl + dovecot + SquirrelMail part1

OS:Cent OS 4.4 (final)

這是本人第一次寫關於linux相關軟體套件安裝

寫不好或有什麼不對的地方再請大家指教!

由於本人的需求是要從linux compile指定路徑

再把整個套件放到enbedded system上面使用

所以沒有使用yum or rpm之類的tool

首先從cyrus-開始:

小弟是用cyrus-sasl-2.1.12.tar.gz(認證工具)大家可以去http://linux.vbird.org/download/index.php#sendmail_postfix 以下我把cyrus-sasl-2.1.12.tar.gz放在/usr/local/src

(作者強調放哪個路徑都可以,只是你要記住)

1 tar -zxvf cyrus-sasl-2.1.12.tar.gz

2  cd cyrus-sasl

3  ./configure –prefix=/usr/local/cyrus-sasl2 \

    (prefix ← 儲存路徑 default是/usr/local)

    –disable-pwcheck –disable-cram –disable-digest \

    –disable-krb4 –disable-gssapi –disable-anon \

    –with-saslauthd=/var/run/saslauthd \

   (此處是啟動saslauthd產生pid所放的位置,需自行建立)

    –enable-login –enable-plain

   (這裡只想用login-plain認證不過好像還是digest和cram做認證)

4 make && make install

5cd /usr/lib

6 ln -s /usr/local/cyrus-sasl2/lib/* .   <======有一個小數點喔(這是將cyrus-sasl與linux libary做連結) 7 cd /usr/local/cyrus-sasl2/lib/sasl2

echo ‘pwcheck_method: saslauthd’ > smtpd.conf

9 echo ‘mech_list:plain login’ >> smtpd.con

smtpd.conf 這個檔案的設定就是 的預設使用 SASL 的

10 vi /etc/man.conf

11 MANPATH /usr/local/cyrus-sasl2/man (在最底下加上這一行)

第10跟11是為了讓man可以查到sasl指令的用法

12 mkdir -p /var/run/saslauthd

13 /usr/local/cyrus-sasl2/sbin/saslauthd -a shadow

可以使用man saslautd查詢有哪些認證

/usr/local/src/cyrus-sasl-2.1.12/saslauthd/

(這裡是進入你解壓縮出來的那個folder喔不是安裝的那個)15 make testsaslauthd

16 ./testsaslauthd -u userID -p yours.passwd

0: OK “Success.”
若顯示 OK 的話!那麼就是成功啦!

ps.要啟動saslauthd -a shadow才可以做testsaslautd喔

若要開機啟動的話 vi /etc/rc.d/rc.local加入這一行:
usr/local/cyrus-sasl2/sbin/saslauthd -a shadow

記住可以man saslauthd看一下有支援哪些認證shadow只是其中一支

依你們所需選擇再從裡面從中修改吧!

来自:http://tw.myblog.yahoo.com/iverson-005/article?mid=353&prev=353&l=a&fid=28

Share

COPY……

有很多东西都是要自己去学习的.看到什么新东西都想去尝试一下.亲自体验感受,我对新的事物也特别的感兴趣.自己没有用过,尝过,没见过的都想去试一试.

eg:工作中的尝试,新的软件都想去试一下,玩玩.但不会十分的投入.
eg:生活中的尝试,看到从来没有见过的,或是有见过的没有吃过的都想去尝试一下.

看到别人做的事情都想去学.可是学又学不精…真不知道要什么说自己才好呢?总觉的自己没有那个心里.总在说自己没有那个恒心吧.做事都是三分热度七分看心情.这个呀.就是这样.没办法……这几天看着Blog一天天的研究也想做一个像样的来.可不知道要什么做.到处COPY,看到不错的就拿来主意.

Share

一个人的生活

总在想一个人的生活是好呢.还是差呢?

在不同人的身上.都是不一样的.同样的我也是有不同的想法.

现在可以过着自己简单而舒适的生活.过着自己一直追求的生活方式.

一个人的简单.无所顾忌的去做自己想做的事.不需要太多的理由去证明什么…….

一个人的简单.思想路线走的路也不会那么复杂,每做好一件事.只要向前走,不需要再回头…….

一个人的简单.生活的自由,无他人的束缚,自由发挥,走的路也许会是那么的曲折.但还是不能停下…….

简单的一个人.不想去饭馆.只好回家—>自己炒菜做饭.

生活中的小菜….

   

Share

什么是专业

这几天在看有着postfix的文档.在大陆写的这些文档都是千篇一律,都是COPY来的.也没有什么一些配置的问题的解答.要想要如何可以写一个认人可以看的懂.而又容易理解的文档呢.但所先我要都懂的这些才行.所以不断的去查看这些资料.并在机器上测试.
有一些网友他本身在一些公司里,可能是公司的分工很细,所以他们只负责一方面的工作.如装系统的只装系统.安装配置系统,还有后期的维护方面的.但不知道他们从每个人的工作方面能学到什么呢?可以说是这方面的真正””,还是要一个人从头到尾一个人都能处理的来叫””. 也不管那么多.只知道现在自己要学的东西还不够.工作方面的技术还需要加强.这就是我现在的目标.

Share

郵件伺服器Part-6:MySPAM

前情提要:郵件伺服器Part-5:OpenWebMail

系統使用CentOS 5.1
郵件伺服器全系列:+++Procmail+Postgrey+Mailscanner+Spamassassin+ClamAV+Mailscanner-mrtg+MailWatch+Openwebmail+MySPAM


MySPAM會蒐集判定為SPAM的郵件於資料庫中,排程定時寄發清單通知信於使用者,除可節省傳遞垃圾郵件的流量外,更可供於使用者重送誤判郵件、自訂過濾規則及白名單。

MySPAM官網http://www.teatime.com.tw/
MySPAM程式下載http://www.teatime.com.tw/~tommy/myspam/myspam.tgz


1.安裝需求套件PHP、MySQL
若皆無可以yum安裝

yum -y install php mysql mysql-server php-mysql php-gd php-mbstring


2.下載MySPAM程式

cd /usr/local/src/
wget http://www.teatime.com.tw/~tommy/myspam/myspam.tgz


3.解壓縮myspam程式

tar zxvf myspam.tgz


4.移動解開的目錄到網頁目錄

cp /usr/local/src/myspam-0.0.4a /var/www/html/myspam


5.下載Smarty

elinks http://www.smarty.net/download.php

下載Smarty-2.6.19.tar.gz

6.解壓縮Smarty程式

tar zxvf Smarty-2.6.19.tar.gz


7.移動Smarty程式
將解開的libs目錄移動到 /var/www/html/myspam/web/libs
將解開的misc目錄移動到 /var/www/html/myspam/web/misc

8.配置Smarty環境

mkdir /var/www/html/myspam/web/configs
mkdir /var/www/html/myspam/web/cache
mkdir /var/www/html/myspam/web/templates
mkdir /var/www/html/myspam/web/templates_c
mkdir /var/spool/myspam/notspam/

chmod -R 700 /var/www/html/myspam/web/configs
chmod -R 700 /var/www/html/myspam/web/cache
chmod -R 700 /var/www/html/myspam/web/templates
chmod -R 700 /var/www/html/myspam/web/templates_c

chown nobody:nobody /var/www/html/myspam/web/templates_c


將web下*.tpl檔案移到/templates下

cp /var/www/html/myspam/web/*.tpl /var/www/html/myspam/web/templates/


9.建立資料庫

cd /var/www/html/myspam/
mysql -u root -p (進入mysql指令模式,輸入root密碼進入)
create database spam1; (建立spam1資料庫)
use spam1; (進入spam1資料庫)
/. db.sql (匯入資料表,/請打反方向)
exit (離開)



10.修改MySPAM設定

vim /var/www/html/myspam/web/config.php


/ database
$dbhost = ‘localhost’;
$dbuser =’root’;
$dbpass = ‘xxxxxxxx’;
$dbname =’spam1′;
//SMTP
$smtp_server = ‘localhost’;
$smtp_port = 25;
//POP3
$pop3_server = ‘localhost’;
$pop3_port = 110;
$mydomain = ‘your_domain_name’;
(Email Domain)
$spam_url = ‘http://your_myspam_website’; (MySPAM 的 URL)
$notspam_path = ‘/var/spool/myspam/notspam/’; (誤判信件的存放路徑)
$pagesize = 15; (每頁顯示的數量)
$keep_days = 30; (資料保留的日數)
$debug = false; (除錯用)


11.修改MySPAM首頁設定

vim /var/www/html/myspam/web/index.php


require_once(‘/var/www/html/myspam/web/config.php’);
require_once(‘libs/Smarty.class.php’);
require_once(‘/var/www/html/myspam/web/lang.php’);
require_once(‘/var/www/html/myspam/web/sendmail.php’);


12.設定MySPAM網頁

vim /etc/httpd/conf.d/myspam.conf


Alias /myspam /var/www/html/myspam/web

<Location /myspam>
Order allow,deny
allow from all
# AddDefaultCharset Big5
</Location>



13.設定procmail

vim /etc/procmailrc


#MAILDIR=/var/
LOGFILE=/var/log/procmail/procmail.log

:0
* ^X-Spam-Status: Yes

{
:0:
* ! ^X-MySPAM: YES
/usr/bin/php -Cq /var/www/html/myspam/web/index.php save_spam
}

:0b
* ^X-Spam-Flag: YES
$DEFAULT

:0
* ^X-MySPAM: YES
$DEFAULT


14.排程自動學習

vim /var/www/html/myspam/notspam


sa-learn –ham /var/spool/myspam/notspam/*
rm -f /var/spool/myspam/notspam/*


vim /etc/crontab


0 1 * * * root /var/www/html/myspam/notspam
(每天凌晨一點學習)


15.排程通知

vim /var/www/html/myspam/send_notify.sh


cd /var/www/html/myspam/web
/usr/bin/php -Cq index.php send_notify


vim /etc/crontab


0 9-18 * * 1-5 root /var/www/html/myspam/send_notify.sh
(每週一至五 0900~1800每小時發送一次)


備註:
◎發生重送信件Header錯誤時,修改save.php,在74行左右
原本是:

$aHeader = array();
$cnt = 0;
while (feof($fp) == 0) {
$buf = fgets($fp, 4096);
if ($body) {
$content .= $buf;
continue;
}
if (strncasecmp(‘Delivered-To:’, $buf, 13) == 0) continue;


改成:

$aHeader = array();
$cnt = 0;
$first = true;
while (feof($fp) == 0) {
$buf = fgets($fp, 4096);
if ($first) {
$first = false;
if (strncasecmp(‘From ‘, $buf, 5) == 0) continue;
}
if ($body) {
$content .= $buf;
continue;
}
if (strncasecmp(‘Delivered-To:’, $buf, 13) == 0) continue;


◎無法抓取信件大小時,修改save.php

$size = 0;
while (feof($fp) == 0) {
$buf = fgets($fp, 4096);
$size += strlen($buf);
本文来自:唉呦~MIS先生
Share

郵件伺服器Part-5:OpenWebMail

情提要:郵件伺服器 Part-4:MailWatch

系統使用CentOS 5.1
郵件伺服器全系列:+++Procmail+Postgrey+Mailscanner+Spamassassin+ClamAV+Mailscanner-mrtg+MailWatch+Openwebmail+MySPAM


OpenWebMail為一功能強大的網頁郵件程式,可提供使用在無郵件軟體時,可以瀏覽器收發郵件。

1.安裝apache2

yum install httpd mod_ssl
chkconfig httpd on
service httpd start


2.安裝相關元件

yum install perl-suidperl gcc gcc-c++ elinks


3.下載openwebmail元件

cd /var/www
elinks turtle.ee.ncku.edu.tw/openwebmail/download/current
下載openwebmail-current.tar.gz


cd /usr/local/src
elinks turtle.ee.ncku.edu.tw/openwebmail/download/packages
下載CGI.pm-3.05.tar.gz
MIME-Base64-3.01.tar.gz
Text-Iconv-1.2.tar.gz
libiconv-1.9.1.tar.gz
libnet-1.19.tar.gz


4.安裝CGI.pm套件

cd /usr/local/src
tar -zxvf CGI.pm-3.05.tar.gz
cd CGI.pm-3.05
perl Makefile.PL
make
make install


5.安裝MIME-Base64套件

cd /usr/local/src
tar -zxvf MIME-Base64-3.01.tar.gz
cd MIME-Base64-3.01
perl Makefile.PL
make
make install


6.安裝libnet套件

cd /usr/local/src
tar -zxvf libnet-1.19.tar.gz
cd libnet-1.19
perl Makefile.PL (詢問時回答no)
make
make install


7.安裝Text-Iconv-1.2套件

cd /usr/local/src
tar -zxvf libiconv-1.9.1.tar.gz
cd libiconv-1.9.1
./configure
make
make install

cd /usr/local/src
tar -zxvf Text-Iconv-1.2.tar.gz
cd Text-Iconv-1.2
perl Makefile.PL
make
make test
make install


8.解壓縮openwebmail

cd /var/www
tar -zxvBpf openwebmail-current.tar.gz
mv data/openwebmail html/
rm -rf openwebmail-current.tar.gz data


9.修改openwebmail密碼檔

cd /var/www/cgi-bin/openwebmail
cp etc/defaults/auth_unix.conf etc/auth_unix.conf
vim etc/auth_unix.conf


passwdfile_encrypted /etc/shadow
passwdmkdb none


10.修改openwebmail安裝設定檔

vim etc/openwebmail.conf


mailspooldir /var/spool/
ow_cgidir /var/www/cgi-bin/openwebmail

ow_htmldir /var/www/html/openwebmail
ow_htmlurl /openwebmail

spellcheck /usr/bin/ispell


11.初始化openwebmail

cd /var/www/cgi-bin/openwebmail/
cp etc/defaults/dbm.conf etc/
vim etc/dbm.conf


dbm_ext .db
dbmopen_ext .db
dbmopen_haslock no


/var/www/cgi-bin/openwebmail/openwebmail-tool.pl –init
cp /var/www/cgi-bin/openwebmail/misc/patches/iconv.pl.fake /var/www/cgi-bin/openwebmail/shares/iconv.pl

chown -R root:root /var/www/html/
chown -R root:root /var/www/cgi-bin/
chmod -R 777 /var/www/cgi-bin/openwebmail/etc/sessions


12.修改suidperl

cd /var/www/cgi-bin/openwebmail
perl misc/tools/wrapsuid/wrapsuid.pl /var/www/cgi-bin/openwebmail/
chmod 4555 /usr/bin/suidperl


13.新增openwebmail log

touch /var/log/openwebmail.log
chown root:apache /var/log/openwebmail.log


14.重新啟動apache2

service httpd restart


15.修改index

cp /var/www/html/openwebmail/redirect.html /var/www/html/index.html



唉呦~MIS先生

Share