天天看點

在Linux下安裝郵件伺服器Qmail(一)

我還未測試,收藏

在Linux下安裝郵件伺服器Qmail

功能清單

SMTP伺服器:SMTP-AUTH認證(Plain,Login,CRAM-MD5)TLS(SSL)支援

POP3伺服器:CRAM-MD5APOP和SSL支援

IMAP伺服器:TLS(SSL)支援

病毒和垃圾郵件檢測

自動回複

郵件清單

Web管理

通過Web顯示統計資訊

WebMail

MRTG

安裝準備

安裝環境

這個安裝過程基本上你隻需要複制粘貼就可以完成.我在RedHat上安裝成功其他系統還沒試過.

為了友善安裝我在安裝Redhat3.0時選了apache、php、mysql注意 mysql-devel和mysql-server開發包一定要裝上.另外大家在安裝LINUX時一定要裝上軟體開發和核心開發兩個軟體組這樣可以避免不必要的由于編譯環境的問題而導緻的安裝問題這點對于LINUX 新手猶為重要。安裝系統後一般另需安裝php-mysql這個包在安裝光碟第三張。AS3.0安裝後并沒有mysql-server軟體包需自行下載下傳安裝為友善大家mysql-server軟體包我已經與所有軟體放在一個包中。

要确認下面的軟體是否已經安裝

rpm -q httpd

rpm -q php

rpm -q php-mysql

rpm -q mysql

rpm -q mysql-server

rpm -q mysql-devel

rpm -q gdbm

rpm -q gdbm-devel

rpm -q openssl

rpm -q openssl-devel

rpm -q stunnel

rpm -q krb5-devel

如果你還沒有安裝, 請先安裝它們. 你可以到安裝CD光牒或是在這裡找到它們的RPM包 http://www.rpmfind.net.

啟動mysql server:

# /etc/rc.d/init.d/mysqld start

設定mysql root密碼

# mysqladmin -u root password ‘xukixu’(設定你的密碼)

mysql的頭檔案和庫檔案分别在/usr/include/mysql和/usr/lib/mysql。

安裝完Redhat3.0後修改/etc/httpd/conf/httpd.conf使web服務正常啟用為mysql添加root使用者的密碼。如果設定了防火牆要打開伺服器的www 80、smtp 25和pop3 110三個端口。

檢查DNS設定

在開始之前確定正确設定了DNS MX記錄.例如使用"domain.com"作為郵件域對MX記錄進行測試

在Linux下

# host -t mx domain.com

domain.com. mail is handled by 10 mail.domain.com.

# host -t a mail.domain.com

mail.domain.com. has address xxx.xxx.xxx.xxx

在Windows下

C:\>nslookup

Default Server: ns.domain.com

Address: xxx.xxx.xxx.xxx

>set type=mx

>domain.com

domain.com MX preference = 10, mail exchanger = mail.domain.com

mail.domain.com internet address = xxx.xxx.xxx.xxx

>exit

解除安裝已有的郵件系統

确認沒有SMTP/POP/IMAP服務在運作:

/etc/init.d/sendmail stop

netstat -na | grep 25

netstat -na | grep 110

netstat -na | grep 143

ntsysv

删除已有的SMTP/POP/IMAP軟體:

rpm -e --nodeps sendmail

rpm -e --nodeps postfix

下載下傳軟體

文中所用的軟體

netqmail-1.05.tar.gz

daemontools-0.76.tar.gz

daemontools-0.76.errno.patch

autorespond-2.0.5.tar.gz

toaster-scripts-0.6.tar.gz

qmail-toaster-0.6-1.patch.bz2

ezmlm-0.53.tar.gz

ezmlm-idx-0.42.tar.gz

courier-imap-2.2.2.20040207.tar.bz2

igenus_2.0.2_20040901_release.tgz

mysql-server-3.23.58-1.i386.rpm

qmailadmin-1.2.3.tar.gz

chkuser-0.6.mysql.patch

ucspi-tcp-0.88.a_record.patch

ucspi-tcp-0.88.errno.patch

ucspi-tcp-0.88.nobase.patch

ucspi-tcp-0.88.tar.gz

vpopmail-5.4.7.tar.gz

vqadmin-2.3.6.tar.gz

Mail-SpamAssassin-3.0.1.tar.gz

clamav-0.80.tar.gz

qmail-scanner-1.22.tgz

qms-analog-0.3.4.tar.gz

maildrop-1.7.0.tar.bz2

tnef-1.2.3.1.tar.gz

qmailanalog-0.70.tar.gz

qmailanalog-0.70.errno.patch

qlogtools-3.1.tar.gz

qlogtools_errno.patch

zlib-1.1.4.tar.gz

libpng-1.2.7.tar.gz

gd-1.8.3.tar.gz

mrtg-2.10.15.tar.gz

qmailmrtg7-4.0.tar.gz

igenus_admin_0.1.tgz

isoqlog-2.1.1.tar.gz

我把下文中所提到的軟體打成了一個包,下載下傳位址為:http://www.xuki.org/qmail_2.0.tar.g...莞鋈訟肮甙傘?

tar -xzf netqmail-1.05.tar.gz

cd netqmail-1.05

./collate.sh

注意./collate.sh這一步不要忘

--------------------------------------------------------------------------------

安裝軟體

daemontools

daemontools是一個收集管理UNIX程序的工具.用它來監聽qmail-send,qmail-smtpd,qmail-pop3d.

安裝

cd /home/pkg

tar -zxvf daemontools-0.76.tar.gz

cd admin/daemontools-0.76

patch -p1 < /home/pkg/netqmail-1.05/other-patches/daemontools-0.76.errno.patch

package/install

# 驗證daemontools已經正常運作

sleep 5

ps ax | grep svscan

ucspi-tcp

ucspi-tcp包括tcpserver和tcpclient,一個指令行工具來建立client-server應用程式.

tar zxvf ucspi-tcp-0.88.tar.gz

cd ucspi-tcp-0.88

patch -p1 < ../ucspi-tcp-0.88.a_record.patch

patch -p1 < ../ucspi-tcp-0.88.errno.patch

patch -p1 < ../ucspi-tcp-0.88.nobase.patch

make

make setup check

qmail

這個toaster更新檔是下面這幾個更新檔的組合:

smtp auth 0.4.2

qmail-queue (to allow for virus scanners)

maildir++ patch

support oversize dns packets (not necessary if you use dnscache)

mfcheck (check that the envelope sender has a dns entry)

tarpit delay

qregex (regular expression matching in badmailfrom and badmailto)

big concurrency (set the spawn limit above 255)

安裝:

mkdir /var/qmail

groupadd nofiles

useradd -g nofiles -d /var/qmail/alias alias

useradd -g nofiles -d /var/qmail qmaild

useradd -g nofiles -d /var/qmail qmaill

useradd -g nofiles -d /var/qmail qmailp

groupadd qmail

useradd -g qmail -d /var/qmail qmailq

useradd -g qmail -d /var/qmail qmailr

useradd -g qmail -d /var/qmail qmails

# 在這裡把vpopmail使用者也加上

groupadd -g 89 vchkpw

useradd -u 89 -g vchkpw vpopmail

tar -xzf toaster-scripts-0.6.tar.gz

cd netqmail-1.05/

bunzip2 -c ../qmail-toaster-0.6-1.patch.bz2 | patch -p0

# 注:在RedHat上需要為TLS更新檔連結一個include檔案:

ln -s /usr/kerberos/include/com_err.h /usr/kerberos/include/krb5.h \

/usr/kerberos/include/profile.h /usr/include/

# 用你自己的主機名代替下面的mail.domain.com

./config-fast mail.domain.com

cd /var/qmail/alias

touch .qmail-postmaster .qmail-mailer-daemon .qmail-root

chmod 644 /var/qmail/alias/.qmail*

cd -

echo 1 > /var/qmail/control/mfcheck

echo ./Maildir/ >/var/qmail/control/defaultdelivery

make cert

# 按提示輸入公司資訊

make tmprsadh

# 注:這裡可能要多等一會

# 用"crontab -e"在crontab裡增加下面這條每天晚上更新temp keys

01 01 * * * /var/qmail/bin/update_tmprsadh > /dev/null 2>&1

為qmail服務建立監控目錄和日志檔案:

mkdir -p /var/qmail/supervise/qmail-send/log

mkdir -p /var/qmail/supervise/qmail-smtpd/log

mkdir -p /var/qmail/supervise/qmail-pop3d/log

mkdir -p /var/qmail/supervise/qmail-pop3ds/log

chmod +t /var/qmail/supervise/qmail-send

chmod +t /var/qmail/supervise/qmail-smtpd

chmod +t /var/qmail/supervise/qmail-pop3d/log

chmod +t /var/qmail/supervise/qmail-pop3ds/log

cp /home/pkg/toaster-scripts-0.6/send.run /var/qmail/supervise/qmail-send/run

cp /home/pkg/toaster-scripts-0.6/send.log.run /var/qmail/supervise/qmail-send/log/run

cp /home/pkg/toaster-scripts-0.6/smtpd.run /var/qmail/supervise/qmail-smtpd/run

cp /home/pkg/toaster-scripts-0.6/smtpd.log.run /var/qmail/supervise/qmail-smtpd/log/run

cp /home/pkg/toaster-scripts-0.6/pop3d.run /var/qmail/supervise/qmail-pop3d/run

cp /home/pkg/toaster-scripts-0.6/pop3d.log.run /var/qmail/supervise/qmail-pop3d/log/run

cp /home/pkg/toaster-scripts-0.6/pop3ds.run /var/qmail/supervise/qmail-pop3ds/run

cp /home/pkg/toaster-scripts-0.6/pop3ds.log.run /var/qmail/supervise/qmail-pop3ds/log/run

echo 20 > /var/qmail/control/concurrencyincoming

chmod 644 /var/qmail/control/concurrencyincoming

chmod 755 /var/qmail/supervise/qmail-send/run

chmod 755 /var/qmail/supervise/qmail-send/log/run

chmod 755 /var/qmail/supervise/qmail-smtpd/run

chmod 755 /var/qmail/supervise/qmail-smtpd/log/run

chmod 755 /var/qmail/supervise/qmail-pop3d/run

chmod 755 /var/qmail/supervise/qmail-pop3d/log/run

chmod 755 /var/qmail/supervise/qmail-pop3ds/run

chmod 755 /var/qmail/supervise/qmail-pop3ds/log/run

mkdir -p /var/log/qmail/smtpd

mkdir -p /var/log/qmail/pop3d

mkdir -p /var/log/qmail/pop3ds

chown -R qmaill /var/log/qmail

啟動腳本:

cp /home/pkg/toaster-scripts-0.6/rc /var/qmail/

cp /home/pkg/toaster-scripts-0.6/qmailctl /var/qmail/bin/

chmod 755 /var/qmail/rc

chmod 755 /var/qmail/bin/qmailctl

ln -s /var/qmail/bin/qmailctl /usr/bin

ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail

ln -s /var/qmail/bin/sendmail /usr/lib/sendmail

# 用daemontools來啟動qmail-send和qmail-smtpd

ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service

指令:

# 啟動停止重新開機檢視隊列等

qmailctl start|stop|restart|doqueue|flush|reload|stat|pause|cont|cdb|queue|help

# 檢查服務

netstat -an | grep 25

ps -ef | grep qmail

ps -efl | grep "service errors" | grep -v grep

日志

/var/log/maillog

/var/log/qmail/current

/var/log/qmail/pop3d/current

/var/log/qmail/pop3ds/current

/var/log/qmail/smtpd/current

我建議重新回顧一下剛才我們所做的步驟以熟悉對qmail的安裝. 下面我們将開始vpopmail的安裝.

vpopmail

vpopmail是一個以qmail為基礎的虛拟域管理包

vpopmail的使用者群組我們前邊已經建立了

配置:

mkdir -p /home/vpopmail/etc

# 設定預設域紅色部份改成你要設定的域。

echo "domain.com" > /home/vpopmail/etc/defaultdomain

# 設定smtp規則關閉open relays

echo '127.0.0.1:allow,RELAYCLIENT=""' > /home/vpopmail/etc/tcp.smtp

cd ~vpopmail/etc ; tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp

# 設定MySQL資訊第一個vpopmail是帳号xukixu為密碼第二個vpopmail是資料庫

echo "localhost|0|vpopmail|xukixu|vpopmail" > ~vpopmail/etc/vpopmail.mysql

chmod 640 ~vpopmail/etc/vpopmail.mysql

chown -R vpopmail.vchkpw /home/vpopmail/etc

# 在MySQL裡添加vpopmail的帳号

/usr/local/mysql/bin/mysql -uroot --pxukixu

CREATE DATABASE vpopmail;

GRANT select,insert,update,delete,create,drop ON vpopmail.*

TO vpopmail@localhost IDENTIFIED BY 'xukixu';

FLUSH PRIVILEGES;

QUIT

cd /home/pkg/

tar zxvf vpopmail-5.4.7.tar.gz

cd vpopmail-5.4.7

.

# 帶資料庫支援

./configure --enable-auth-module=mysql \

--enable-incdir=/usr/include/mysql \

--enable-libdir=/usr/lib/mysql \

--enable-mysql-logging \

--enable-mysql-limits \

--enable-valias \

--enable-logging=y

make install-strip

管理:

echo 'export PATH=$PATH:/home/vpopmail/bin' >> /etc/profile

source /etc/profile

# 添加域紅色部份前面是域名後面是管理者(postmaster)密碼

vadddomain domain.com xukixu

# 添加使用者紅色部份為注解不用輸入

vadduser -q 10485760S(郵箱大小) [email protected](郵箱帳号) 1234(密碼)

vmoduser -c 許靖(郵箱描述) [email protected]

# 設定郵箱容量達到90%的警告資訊

vi /home/vpopmail/domains/.quotawarn.msg

From: 郵箱管理者

Reply-To: [email protected]

To: 郵箱使用者

Subject: 郵箱空間警告

Mime-Version: 1.0

Content-Type: text/html; charset=gb2312

Content-Transfer-Encoding: base64

您的郵箱空間已經達到90%.如果想繼續使用請删除一些信件.

如果需要幫助,請聯系郵箱管理者:

Email : [email protected]

# 設定郵箱已滿的警告資訊

echo "郵件被拒絕,使用者的郵箱空間已滿." > /home/vpopmail/domains/.over-quota.msg

cp /home/pkg/toaster-scripts-0.6/vpopmailctl /var/qmail/bin

ln -s /var/qmail/bin/vpopmailctl /usr/bin

chmod 755 /var/qmail/bin/vpopmailctl

# 用daemontools來啟動qmail-pop3d和qmail-pop3ds

ln -s /var/qmail/supervise/qmail-pop3d /service

ln -s /var/qmail/supervise/qmail-pop3ds /service

vpopmailctl start|stop|restart|stat|pause|cont|help

netstat -an | grep 110

更新檔:

cd /home/pkg/netqmail-1.05/netqmail-1.05

patch -p0 < /home/pkg/chkuser-0.6.mysql.patch

# 如果資料庫是自定義安裝的還要把libmysqlclient.a複制到指定位置

mkdir -p /usr/local/mysql/lib/mysql/

cp /usr/local/mysql/lib/libmysqlclient.a /usr/local/mysql/lib/mysql/

make clean

qmailctl stop

qmailctl start

安裝選項參考:

vpopmail 5.4.7

------------------------------------

vpopmail directory = /home/vpopmail

uid = 89

gid = 89

roaming users = OFF --disable-roaming-users (default)

password learning = OFF --disable-learn-passwords (default)

md5 passwords = ON --enable-md5-passwords (default)

file locking = ON --enable-file-locking (default)

vdelivermail fsync = OFF --disable-file-sync (default)

make seekable = ON --enable-make-seekable (default)

clear passwd = ON --enable-clear-passwd (default)

user dir hashing = ON --enable-users-big-dir (default)

address extensions = OFF --disable-qmail-ext (default)

ip alias = OFF --disable-ip-alias-domains (default)

domain quotas = OFF --disable-domainquotas (default)

auth module = mysql --enable-auth-module=mysql

mysql replication = OFF --disable-mysql-replication (default)

mysql logging = ON --enable-mysql-logging

mysql limits = ON --enable-mysql-limits

MySQL valias = ON --enable-valias

auth inc = -I/usr/include/mysql

auth lib = -L/usr/lib/mysql -lmysqlclient -lz -lm

system passwords = OFF --disable-passwd (default)

pop syslog = log success and errors including passwords

--enable-logging=v

auth logging = ON --enable-auth-logging (default)

one domain per SQL table = --disable-many-domains

#POP3和SMTP測試

用outlook測試qmail的smtp和pop3是否正常注意由于vpopmail支援虛拟域名是以在outlook中設定郵件帳号時使用者名後要加上域名如[email protected]。smtp是帶認證的在outlook中也要作相應設定。建議先測試正常後再進行下一步安裝。如果qmail 出現問題可檢視mysql中的vpopmail資料庫/var/log下的mysqld和maillog日志記錄這樣容易很快找出問題。

courier-imap

Courier-IMAP支援IMAP/SIMAP通路

tar -xjf courier-imap-2.2.2.20040207.tar.bz2

cd courier-imap-2.2.2.20040207

# 作為vpopmail使用者進行安裝

chown -R vpopmail:vchkpw ../courier-imap-2.2.2.20040207

su vpopmail

./configure --with-redhat

# 注:Redhat使用者需要使用"--with-redhat"選項

exit

make install-configure

cp courier-imap.sysvinit /etc/rc.d/init.d/courier-imap

chmod 755 /etc/rc.d/init.d/courier-imap

chkconfig --add courier-imap

# 修改檔案/usr/lib/courier-imap/etc/authdaemonrc

authmodulelist="authvchkpw"

# 修改檔案/usr/lib/courier-imap/etc/imapd

IMAPDSTART=YES

# 修改檔案/usr/lib/courier-imap/etc/imapd-ssl

IMAPDSSLSTART=YES

啟動:

/etc/rc.d/init.d/courier-imap start

autorespond

Autorespond是一個自動回複工具可以很好的與qmailadmin配合使用

tar -xvzf autorespond-2.0.5.tar.gz

cd autorespond-2.0.5

make install

ezmlm

exmlm是一個快速強大的郵件清單程式可以通過qmailadmin對其進行配置

1.注意為了啟用maillist的MySQL支援你必須首先

建立mysql管理使用者Ex:user:ezmlm,pass:ezmlm

# mysql -u root –pxukixu

>use mysql;

>insert into user values('localhost','ezmlm','','y','y','y','y','y','y','y','y','y','y','y','y','y', 'y');

>update user set password=password('ezmlm') where user='ezmlm';

>FLUSH PRIVILEGES;

>exit;

建庫(Ex:database:ezmlm)

# mysqladmin -u root -pxukixu create ezmlm

2.安裝:

tar -xvzf ezmlm-0.53.tar.gz

tar -xvzf ezmlm-idx-0.42.tar.gz

cp -rf ezmlm-idx-0.42/* ezmlm-0.53/

cd ezmlm-0.53

patch < idx.patch

chmod u+x makelang

make mysql #MySQL 支援

make man

make ch_GB #漢字GB2312支援

修改conf-sqlcc檔案

内容為-I/usr/include/mysql

修改conf-sqlld

内容為 -L/usr/lib/mysql -lmysqlclient -lnsl -lm -lz

修改conf-bin

第一行/var/qmail/bin/ezmlm

修改conf-man

第一行/var/qmail/man

修改conf-qmail

第一行/var/qmail

# make setup

3.在你建立一個基于MySQL的maillist之前你必須保證ezmlm庫中已存在一個對應的表

Ex:你想建一個基于MySQL的maillist:testlist

# /var/qmail/bin/ezmlm/ezmlm-mktab -d testlist | mysql -uezmlm -pezmlm -f ezmlm

這樣就在ezmlm庫中為testlist建立了一系列相關表格

+------------------------+

| Tables |

| testlist |

| testlist_allow |

| testlist_allow_slog |

| testlist_cookie |

| testlist_deny |

| testlist_deny_slog |

| testlist_digest |

| testlist_digest_cookie |

| testlist_digest_mlog |

| testlist_digest_slog |

| testlist_mlog |

| testlist_mod |

| testlist_mod_slog |

| testlist_slog |

你可以用一下指令察看

# mysqlshow -u root -pxukixu ezmlm

qmailadmin

qmailadmin除了不能添加删除虛拟域外,幾乎可以完成所有的虛拟域管理

tar -xvzf qmailadmin-1.2.3.tar.gz

cd qmailadmin-1.2.3

./configure --enable-htmldir=/var/www/html \

--enable-cgibindir=/var/www/cgi-bin \

--enable-vpopuser=vpopmail \

--enable-autoresponder-bin=/usr/bin \

--enable-ezmlmdir=/var/qmail/bin/ezmlm \

--enable-maxusersperpage=20 \

--enable-maxaliasesperpage=20 \

--enable-modify-quota \

--enable-domain-autofill

cd /usr/local/share/qmailadmin/lang

mv en en.bak

cp zh-cn en

qmailadmin 1.2.3

---------------------------------------

cgi-bin dir = /var/www/cgi-bin

html dir = /var/www/html

p_w_picpath dir = /var/www/html/p_w_picpaths/qmailadmin

p_w_picpath URL = /p_w_picpaths/qmailadmin

template dir = /usr/local/share/qmailadmin

qmail dir = /var/qmail

vpopmail dir = /home/vpopmail

autorespond dir = /usr/bin

ezmlm dir = /usr/local/bin/ezmlm

ezmlm idx = yes

mysql for ezmlm = yes

help = no

modify quota = yes

domain autofill = yes

modify spam check = no

安裝并運作igenus

1.到http://www.igenus.org下載下傳最新的安裝...901_release.tgz

#tar zxvf igenus_2.0.2_20040901_release.tgz -C /var/www/

#cd /var/www/

#rm -rf html/

#mv igenus html

2.建temp檔案夾

cd /var/www/html/

#mkdir temp

#chmod -R 0755 temp

#chown -R vpopmail:vchkpw temp

#mkdir /home/netdisk

#chmod -R 0755 /home/netdisk

#chown -R vpopmail:vchkpw /home/netdisk

#chmod -R 0755 /var/www/html/

#chown -R vpopmail:vchkpw /var/www/html/

3.修改httpd.conf

#vi /etc/httpd/conf/httpd.conf

Group vchkpw

User vpopmail

DocumentRoot "/var/www/html/"

AddDefaultCharset GB2312 //使預設頁面為中文

#/etc/rc.d/init.d/httpd restart //重新開機apache使修改生效

4.修改config_inc.php檔案

# cd /var/www/html/igenus/config

# vi config_inc.php

$CFG_BASEPATH = "/var/www/html/igenus"; \改成你安裝的目錄

$CFG_MYSQL_HOST = 'localhost';

$CFG_MYSQL_USER = 'vpopmail'; \vpopmail通路mysql的帳号

$CFG_MYSQL_PASS = 'xukixu'; \vpopmail通路mysql的密碼

$CFG_MYSQL_DB = 'vpopmail'; \資料庫

$CFG_TEMP = $CFG_BASEPATh."/temp"; \改成你安裝的目錄的目前目錄下

5.重新編制Mysql資料庫表格

删除之前建立的域名

#/home/vpopmail/bin/vdeldomain domain.com

alter table vpopmail.vpopmail drop primary key;

alter table vpopmail.vpopmail add column pw_id int(5) unsigned NOT NULL PRIMARY KEY auto_increment;

alter table vpopmail.vpopmail add KEY pw_name (pw_name,pw_domain);

編輯/var/www/html/docs/iGENUS.sql

# phpMyAdmin SQL Dump

# version 2.5.3

# http://www.phpmyadmin.net

#

# Host: localhost

# Generation Time: Jun 04, 2004 at 11:26 AM

# Server version: 3.23.55

# PHP Version: 4.3.0

# Database : `vpopmail`

# --------------------------------------------------------

# Table structure for table `address`

use vpopmail; //加入這一行

CREATE TABLE `address` (

`id` int(11) unsigned NOT NULL auto_increment,

`pw_id` int(5) NOT NULL default '0',

`name` varchar(64) NOT NULL default '',

`email` varchar(128) NOT NULL default '',

UNIQUE KEY `id` (`id`),

KEY `pw_id` (`pw_id`)

) TYPE=MyISAM PACK_KEYS=1 ;

删除建立'lastauth'表部份。

運作

#mysql -u root -pxukixu </var/www/html/docs/iGENUS.sql 導入資料表。

6. 設定igenus 定義允許上傳下載下傳的郵件的大小

編輯/etc/php.ini

max_execution_time=60

memory_limit=20M

post_max_size = 10M

file_uploads=on

upload_max_filesize=10M

register_globals=On

session.bug_compat_42=0

session.bug_compat_warn=0

sendmail_path = /var/qmail/bin/qmail-inject

7編輯/etc/http/conf/httpd.conf

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

DirectoryIndex index.php index.html

NameVirtualHost *:80

<VirtualHost *:80>

ServerName mail.domain.net

DocumentRoot /var/www/html

</VirtualHost>

重新開機apache:

#service httpd restart

8.如果需要用vadddomain和vadduser添加新域名和新使用者。

最後打開浏覽器輸入http://domain.com/就可以通路網站了。

9.Qmail限制附件的大小

在/var/qmail/control/databytes 檔案中設定附件的大小可以實作對qmail附件大小的限制一般安裝完成後這個檔案是沒有的你可以自己建立。

smtp方式是以qmail的databytes作限制的

建立databytes并設定郵件最大為4m

# echo 4000000 >/var/qmail/control/databyte

10.限制單域的郵箱數量

vi /home/vpopmail/domains/domain.com/.qmailadmin-limits

maxpopaccounts 200

default_quota 52428800s

chmod 700 /home/vpopmail/domains/domain.com/.qmailadmin-limits

chwod vpopmail:vchkpw /home/vpopmail/domains/domain.com/.qmailadmin-limits

這樣就把郵箱總數限制在200個每個郵箱為50M了

11.用qmail封mailfrom

vi/var/qmail/control/badmailfrom

這個控制檔案實作拒收郵件功能的每一個位址要單獨一行。而且不用重起qmail就能生效。例如

[email protected] -----限制一個特定的使用者

@sina.com -----限制整個域中的郵件

安裝并運作iGenus_Admin

iGenus_Admin安裝

#下載下傳

從www.igenus.org 下載下傳igenus_admin的安裝檔案igenus_admin_0.1.tgz到/home/pkg

#安裝

tar -xzvf igenus_admin_0.1.tgz -C /var/www/html/

#設定

vi /var/www/html/admin/includes/config_inc.php

<?php

/*-

* iGENUS webmail

*

* Copyright (c) 1999-2002 by iGENUS Org.

* All rights reserved.

* Author: Wu Qiong <[email protected]>

* $Id: config_inc.php,v 1.11 2004/03/23 13:59:12 wuqiong Exp $

*/

if(!defined("INCLUDE_CONFIG_OK")) {

define("INCLUDE_CONFIG_OK","TRUE");

/* gid flags defind by vpopmail.h */

// define('NO_PASSWD_CHNG',0x01);

define('NO_POP', 0x02);

define('NO_WEBMAIL', 0x04);

// define('NO_IMAP', 0x08);

// define('BOUNCE_MAIL', 0x10);

// define('NO_RELAY', 0x20);

// define('NO_DIALUP', 0x40);

// define('V_USER0', 0x080);

// define('V_USER1', 0x100);

// define('V_USER2', 0x200);

// define('V_USER3', 0x400);

define('NO_SMTP', 0x800);

// define('QA_ADMIN', 0x1000);

$CFG_VPOPMAIL_HOST = "localhost";

$CFG_VPOPMAIL_USER = "vpopmail"; \改為你的帳号

$CFG_VPOPMAIL_PASS = "vpopmail"; \改為你的密碼

$CFG_VPOPMAIL_DB = "vpopmail";

$CFG_VPOPMAIL_TABLE = "vpopmail";

$CFG_ADMIN_TABLE = "admin";

$CFG_LAGESITE = true;

$CFG_NUMOFPAGE = 20;

$CFG_MAILBOX['inbox'] = ".";

$CFG_MAILBOX['outbox'] = ".Outbox";

$CFG_MAILBOX['draft'] = ".Draft";

$CFG_MAILBOX['trash'] = ".Trash";

$CFG_VPOPMAIL_PATH = "/home/vpopmail"; \改為你的vpopmail安裝目錄 

// $CFG_VPOPMAIL_PATH = "/home2/vpopmail";

$CFG_SYSADMIN_NAME = "Admin";

$CFG_SYSADMIN_PASSWD= '$GvmONIcoSwBB.mEoP3KJ5Zda7ioV0';

$CFG_SYSADMIN_PASSWD_FILE = $CFG_VPOPMAIL_PATH . "/etc/syspasswd.dat";

$CFG_TIMEOUT = 600;

$CFG_IGENUS_ADM = "iGENUS郵件系統管理";

$CFG_TEMPLATE_PATH = "template/";

}

?>

儲存退出

touch /etc/syspasswd.dat

chown -R vpopmail.vchkpw /var/www/html

chmod -R 755 /var/www/html

#登入設定頁面

http;//domain.com/admin/sys/

使用者:Admin密碼Admin來登入.注意A要大寫..這個管理帳号密碼登入後可以改的

登入後,首先點"更新資料庫"你就會看見你的域名啦.然後點"編輯"把"登入權限 該域管理者Postmaster有權登入進行使用者管理"這一項打勾,确認後,就可以用

http;//domain.com/admin/

來登入管理了。

vqadmin

vqadmin是一個基于web 的控制通道. 它允許系統管理者可以執行root使用者才能進行的操作.

tar -zxf vqadmin-2.3.6.tar.gz

cd vqadmin-2.3.6

vi db_owner.c

static const char *host="localhost";

static const char *user="vpopmail";

static const char *passwd="xukixu"; /* NULL for no password */

static const char *db="vpopmail";

./configure --enable-mysql=y

編輯資料庫加入domain_owner表

mysql -uroot -pxukixu

use vpopmail;

CREATE TABLE domain_owner (

domain CHAR(64) NOT NULL,

owner CHAR(32) NOT NULL,

PRIMARY KEY(domain, owner)

);

現在我們需要将下面幾行添加到httpd.conf檔案中:

vi /etc/httpd/conf/httpd.conf

<Directory "/var/www/cgi-bin/vqadmin">

deny from all

Options ExecCGI

AllowOverride AuthConfig

Order deny,allow

</Directory>

儲存檔案并退出.

cd /var/www/cgi-bin/vqadmin

chown nobody .htaccess

chmod 600 .htaccess

# 建立一個管理帳号及密碼

htpasswd -bc /etc/httpd/conf/vqadmin.passwd admin(帳号) adminpass(密碼)

chown nobody.nobody /etc/httpd/conf/vqadmin.passwd

chmod 644 /etc/httpd/conf/vqadmin.passwd

chown -R vpopmail.vchkpw /var/www/cgi-bin

#編輯.htaccess

vi .htaccess

AuthType Basic

AuthUserFile /etc/httpd/conf/vqadmin.passwd

AuthName vQadmin

require valid-user

satisfy any

service httpd restart

在你的浏覽器上測試一下安裝結果:

http://www.domain.com/cgi-bin/vqadmin/vqadmin.cgi

SpamAssassin

安裝 SpamAssassin

Spam是一個讓人讨厭的字眼. 大部分的人都不喜歡它. 如果你想保護自己免受spam, 你就需要安裝SpamAssassin.

安裝SpamAssassin 要用到Time-HiRes、Digest-SHA1、HTML-Parser和HTML-Tagset. 如果你沒有安裝的話,必須首先安裝它,此檔案均在RHAS3安裝CD光牒第二和第三張中。對應的軟體包為

perl-Time-HiRes-1.38-3.i386.rpm

perl-Digest-SHA1-2.01-15.1.i386.rpm

perl-HTML-Parser-3.26-17.i386.rpm

perl-HTML-Tagset-3.03-28.noarch.rpm

繼續閱讀