qmail服務架設


安裝qmail具體步驟:php

須要的安裝包,可從http://shupp.org/toaster/#download下載node

mkdir /usr/local/srcmysql

cd /usr/local/srclinux

wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
wget http://shupp.org/software/netqmail-1.05.tar.gz
wget http://shupp.org/patches/qmail-toaster-0.8.3.patch.bz2
wget http://shupp.org/software/vpopmail-5.4.13.tar.gz
wget http://shupp.org/patches/vpopmail-5.4.13-cumulative-1.patch
wget http://shupp.org/software/autorespond-2.0.4.tar.gz
wget http://shupp.org/patches/autorespond-2.0.4-2.0.5.patch
wget http://shupp.org/software/qmailadmin-1.2.10.tar.gz
wget http://shupp.org/software/qmailadmin-help-1.0.8.tar.gz
wget http://shupp.org/software/courier-imap-4.1.0.tar.bz2
wget http://shupp.org/software/courier-authlib-0.58.tar.bz2
wget http://shupp.org/software/quota_usage-1.3.1-1.2.7.tar.gz
wget http://shupp.org/software/toaster-scripts-0.8.1.tar.gzweb

 


確認環境:rpm -qa |grep g++ gcc-g++ gdbm gdbm-devel openssl openssl-devel stunnel krb5-devel bzip2 bzip2-devel 若是缺什麼,就用隨機盤安裝上(須要安裝的開發包,不然編譯失敗)sql

      

2、正文(安裝lamp,利用源代碼包安裝或rpm安裝均可,作實驗利用yum安裝方式)shell

 

# 一、安裝mysqlapache

       # 到 http://www.mysql.org/下載最新版的mysql,此安裝時爲5.0.19session

       # 按照mysql安裝說明安裝以下dom

shell> groupadd mysql

     shell> useradd -g mysql mysql

     shell> cd /usr/local

     shell> gunzip < src/mysql-standard-5.0.19-linux-i686.tar.gz | tar xvf -

     shell> ln -s mysql-standard-5.0.19-linux-i686 mysql

     shell> cd mysql

     shell> scripts/mysql_install_db --user=mysql

     shell> chown -R root  .

     shell> chown -R mysql data

     shell> chgrp -R mysql .

     shell> bin/mysqld_safe --user=mysql &

       # 而後使mysql隨系統一塊兒啓動

cp support-files/mysql.server /etc/init.d/mysql

chkconfig –add mysql

 

# 如今給mysql的root用戶設定密碼

./bin/mysqladmin -uroot -password 'mysql'(紅色文字爲密碼,本身設定)

 

       # 二、安裝apache

       # 下載:由http://www.apache.com/ 下載最新版

wget http://httpd.apache.org/download.cgi/httpd-2.2.3.tar.gz

groupadd www

useradd -g www www

       tar –zxvf httpd-2.2.3.tar.gz

       ./configure --prefix=/usr/local/apache --enable-so --enable-cgi

       make

       make install

       cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd

chmod +x /etc/rc.d/init.d/httpd

chkconfig --add httpd

service httpd start

# 打開iptables的80端口,http://你的ip,測試安裝是否成功

 

# 三、安裝php

# 下載:

wget http://cn.php.net/get/php-5.1.6.tar.gz

tar -zxvf php-5.1.6.tar.gz

cd php-5.1.6

./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql

make

make install

cp php.ini-dist ../../php/lib/php.ini

chown -R root.www /usr/local/php/lib/php

chmod -R g-w,o-rwx /usr/local/php/lib/php

cd  /usr/local

chown -R root.root apache/

chmod 755 apache

chmod -R 600 apache/*

chmod -R u+x apache

cd apache/

chmod -R u+x bin

chgrp -R www cgi-bin

chmod -R u+x,g+x cgi-bin

chgrp -R www logs

chmod g+wX logs

chgrp -R www htdocs

chmod -R g+rX htdocs

# 設置容許上傳下載的郵件的大小

vi /usr/local/php/lib/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

 

 

# 四、安裝 qmail

# 在安裝qmail之前,須要儘可能看懂Life with qmail(http://www.lifewithqmail.org/),這是安裝qmail的說明文件

# 確認沒有SMTP/POP/IMAP服務在運行:

/etc/init.d/sendmail stop

netstat -na | grep 25

netstat -na | grep 110

netstat -na | grep 143

service sendmail stop

 

# 刪除已有的SMTP/POP/IMAP軟件:

rpm -e --nodeps sendmail


   # 下載   
     wget http://www.qmail.org/netqmail-1.05.tar.gz

   wget ucspi-tcp, http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
   wget daemontools, http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
   
    mv netqmail-1.05.tar.gz ucspi-tcp-0.88.tar.gz /usr/local/src
    mkdir -p /package
    mv daemontools-0.76.tar.gz /package
    chmod 1755 /package
    cd /usr/local/src
    gunzip netqmail-1.05.tar.gz
    tar xpf netqmail-1.05.tar
    cd netqmail-1.05
    ./collate.sh  # 這一步絕對不能省略
    cd ..
    gunzip ucspi-tcp-0.88.tar.gz
    tar xpf ucspi-tcp-0.88.tar
    cd /package
    gunzip daemontools-0.76.tar.gz
    tar xpf daemontools-0.76.tar
# 創建qmail目錄

    mkdir /var/qmail
# 創建用戶

     groupadd nofiles
     useradd qmaild -g nofiles -d /var/qmail -s /nonexistent
     useradd alias -g nofiles -d /var/qmail/alias -s /nonexistent
     useradd qmaill -g nofiles -d /var/qmail -s /nonexistent
     useradd qmailp -g nofiles -d /var/qmail -s /nonexistent
     groupadd qmail
     useradd qmailq -g qmail -d /var/qmail -s /nonexistent
     useradd qmailr -g qmail -d /var/qmail -s /nonexistent
     useradd qmails -g qmail -d /var/qmail -s /nonexistent
cd /usr/local/src/netqmail-1.05/netqmail-1.05

            
# 刪除sendmail的連接
rm -rf /usr/sbin/sendmail
make
make setup check
#( 若是已申請域名解析,則執行
chmod u+x config.sh
./config.sh)應具體狀況而定。
# 不然,用你本身的主機名代替下面的mail.domain.com  (主機名+域名,具體能夠參考qmail中文文檔)
chmod u+x config-fast.sh
./config-fast.sh   mail.domain.com
# 注意qmail的補丁將在vpopmail安裝之後打

# 安裝 ucspi-tcp
cd /usr/local/src/ucspi-tcp-0.88
    patch < /usr/local/src/netqmail-1.05/other-patches/ucspi-tcp-0.88.errno.patch
    make
    make setup check
   
    # 安裝daemontools
    cd /package/admin/daemontools-0.76
     cd src
    patch < /usr/local/src/netqmail-1.05/other-patches/daemontools-0.76.errno.patch
    cd ..
    package/install
    #發往root/postmaster/mailer-daemon地址的郵件將會由定義的管理員郵箱接收。
    #將以下的「admin@domain.com"替換成你的管理員郵箱。
    cd /var/qmail/alias
    echo "admin@domain.com" > .qmail-postmaster
    echo "admin@domain.com" > .qmail-mailer-daemon
    echo "admin@domain.com" > .qmail-root
chmod 644 /var/qmail/alias/.qmail*

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

    #開啓SPF設置
    echo 3 > /var/qmail/control/spfbehavior

    #添加qmail的幫助手冊
    echo MANPATH /var/qmail/man >> /etc/man.config
#創建監控和日誌目錄及文件
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
cp toaster-scripts-0.8/send.run /var/qmail/supervise/qmail-send/run
cp toaster-scripts-0.8/send.log.run /var/qmail/supervise/qmail-send/log/run
cp toaster-scripts-0.8/smtpd.run /var/qmail/supervise/qmail-smtpd/run
cp toaster-scripts-0.8/smtpd.log.run /var/qmail/supervise/qmail-smtpd/log/run
cp toaster-scripts-0.8/pop3d.run /var/qmail/supervise/qmail-pop3d/run
cp toaster-scripts-0.8/pop3d.log.run /var/qmail/supervise/qmail-pop3d/log/run
cp toaster-scripts-0.8/pop3ds.run /var/qmail/supervise/qmail-pop3ds/run
cp toaster-scripts-0.8/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

    #創建腳本
    tar –zxv toaster-scripts-0.8.1.tar.gz
cd toaster-scripts-0.8.1
cp toaster-scripts-0.8/rc /var/qmail/rc
chmod 755 /var/qmail/rc
mkdir /var/log/qmail
cp toaster-scripts-0.8/qmailctl /var/qmail/bin/
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
ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service

#檢測qmail是否安裝成功
sleep 5
qmailctl stat

# 五、安裝vpopmail
# 下載:
wget http://umn.dl.sourceforge.net/sourceforge/vpopmail/vpopmail-5.4.17.tar.gz
groupadd -g 89 vchkpw
useradd -u 89 -g vchkpw vpopmail
cd /usr/local/src
tar –zxvf vpopmail-5.4.17.tar.gz
cd vpopmail-5.4.17
mkdir -p /home/vpopmail/etc
echo "你的虛擬域名" > /home/vpopmail/etc/defaultdomain   (本身設定虛擬域名爲domain.com)
# 設置mysql信息,
echo "localhost|0|vpopmailuser|vpoppasswd|vpopmail" > ~vpopmail/etc/vpopmail.mysql(即/home/vpopmail/etc/vpopmail.mysql)
chown vpopmail.vchkpw ~vpopmail/etc/vpopmail.mysql
chmod 640 ~vpopmail/etc/vpopmail.mysql
chown vpopmail.vchkpw ~vpopmail/etc
# 設置smtp規則,關閉open relays
echo '127.0.0.1:allow,RELAYCLIENT=""' > /home/vpopmail/etc/tcp.smtp
cd /home/vpopmail/etc
tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp

#在mysql裏添加vpopmail的賬號
Mysql –uroot –pmysql

CREATE DATABASE vpopmail;
GRANT select,insert,update,delete,create,drop ON vpopmail.*
TO vpopmail@localhost IDENTIFIED BY '123456';(建立用戶名及密碼,須編輯/home/vpopmail/etc/vpopmail.mysql,須要先後保持一致)
FLUSH PRIVILEGES;
QUIT

./configure  --disable-roaming-users --enable-logging=p --disable-passwd --enable-clear-passwd --disable-domain-quotas --enable-auth-module=mysql --enable-auth-logging --enable-sql-logging --disable-valias --disable-mysql-limits --enab
le-learn-passwords
make
make install-strip
echo 'export PATH=$PATH:/home/vpopmail/bin' >> /etc/profile
. /etc/profile
cp ../toaster-scripts-0.8.1/vpopmailctl /var/qmail/bin/vpopmailctl
chmod 755 /var/qmail/bin/vpopmailctl
ln -s /var/qmail/bin/vpopmailctl /usr/bin
# 這時候咱們能夠安裝qmail的補丁了
cd /var/src/netqmail-1.05/netqmail-1.05
bunzip2 -c ../../tar/qmail-toaster-0.8.3.patch.bz2 | patch -p0
make clean
make
qmailctl stop
make setup check
chown -R vpopmail:vchkpw /var/qmail/spam
#建立SSL Key(具體參考qmail中文文檔)
make cert
make tmprsadh
#注:這裏可能要多等一會
chown -R vpopmail:qmail /var/qmail/control/clientcert.pem /var/qmail/control/servercert.pem
# 用"crontab -e"在crontab裏增長下面這條,天天晚上更新temp keys
01 01 * * * /var/qmail/bin/update_tmprsadh > /dev/null 2>&1 (作實驗,省去這步,依具體狀況而定)
# 重啓啓動qmail
qmailctl start    (好比路徑爲/var/qmail/bin/qmailctl start)
# 容許daemontools來啓動vpopmail
ln -s /var/qmail/supervise/qmail-pop3d /var/qmail/supervise/qmail-pop3ds /service
# 檢測vpopmail
sleep 5
vpopmailctl stat
# 測試
# 添加域:
/home/vpopmail/bin/vadddomain domain.com 123456(postmaster密碼)
# 添加用戶:
/home/vpopmail/bin/vadduser -q 6MB user@test.com

# 而後用outlook測試一下你新建的賬號,就ok了


3、webmail
# 安裝webmail
# 安裝courier-imap
# 下載:
wget http://superb-west.dl.sourceforge.net/sourceforge/courier/courier-imap-4.1.1.tar.bz2
wget http://superb-west.dl.sourceforge.net/sourceforge/courier/courier-authlib-0.58.tar.bz2
# a、安裝 Courier's Auth Library:
tar –jxvf courier-authlib-0.58.tar.bz2
cd courier-authlib-0.58
./configure --prefix=/usr/local --exec-prefix=/usr/local --with-authvchkpw --without-authldap --without-authmysql --disable-root-check --with-ssl --with-authchange  pwdir=/usr/local/libexec/authlib --with-redhat
make
make install
make install-configure
cp courier-authlib.sysvinit /etc/init.d/courier-authlib
chmod 755 /etc/init.d/courier-authlib
ln -s ../init.d/courier-authlib /etc/rc0.d/K30courier-authlib
ln -s ../init.d/courier-authlib /etc/rc1.d/K30courier-authlib
ln -s ../init.d/courier-authlib /etc/rc2.d/S80courier-authlib
ln -s ../init.d/courier-authlib /etc/rc3.d/S80courier-authlib
ln -s ../init.d/courier-authlib /etc/rc4.d/S80courier-authlib
ln -s ../init.d/courier-authlib /etc/rc5.d/S80courier-authlib
ln -s ../init.d/courier-authlib /etc/rc6.d/K30courier-authlib
vi /usr/local/etc/authlib/authdaemonrc
Change authmodulelist="..." to authmodulelist="authvchkpw" 並將認證進程改成2
# 而後啓動它:
             /etc/init.d/courier-authlib start

# b、安裝Courier-IMAP
tar -xjf tar/courier-imap-4.1.1.tar.bz2
cd courier-imap-4.1.1
# 做爲 vpopmail 用戶安裝
chown -R vpopmail:vchkpw ../courier-imap-4.1.1
su vpopmail
umask 0022

./configure –with-redhat
# NOTE: RedHat/Fedora users need to add "--with-redhat"

make
exit
make install-strip
make install-configure

cp courier-imap.sysvinit /etc/init.d/courier-imap
chmod 755 /etc/init.d/courier-imap
ln -s ../init.d/courier-imap /etc/rc0.d/K30courier-imap
ln -s ../init.d/courier-imap /etc/rc1.d/K30courier-imap
ln -s ../init.d/courier-imap /etc/rc2.d/S80courier-imap
ln -s ../init.d/courier-imap /etc/rc3.d/S80courier-imap
ln -s ../init.d/courier-imap /etc/rc4.d/S80courier-imap
ln -s ../init.d/courier-imap /etc/rc5.d/S80courier-imap
ln -s ../init.d/courier-imap /etc/rc6.d/K30courier-imap

vi /usr/lib/courier-imap/etc/imapd

# Change 'IMAPDSTART=NO' to 'IMAPDSTART=YES'

vi /usr/lib/courier-imap/etc/imapd-ssl

# Change 'IMAPDSSLSTART=NO' to 'IMAPDSSLSTART=YES'

vi /usr/lib/courier-imap/etc/imapd.cnf
     # CN=domain.com
     # emailAddress=postmaster@test.com
vi /usr/lib/courier-imap/etc/pop3d.cnf
     # CN=domain.com
     # emailAddress=postmaster@test.com

#啓動 IMAP server
/etc/init.d/courier-imap start

一、        # 安裝sqwebmail
# 下載
wget http://superb-west.dl.sourceforge.net/sourceforge/courier/sqwebmail-5.1.3.tar.bz2
tar –jxvf sqwebmail-5.1.3.tar.bz2
cd sqwebmail-5.1.3
./configure --enable-webpass=vpopmail --enable-softtimeout=3600 --enable-hardtimeoout=14400 --enable-webpass=yes --enable-autopure=10 --enable-maxpurge=300 --enable-mimecharset=gb2312 --with-maxargsize=5000000 --with-maxformargsize=5000000 --with-maxmsgsize=5000000 --without-ispell --with-authvchkpw --enable-unicode
make configure-check
umask 220
make
make check
make install-strip
make install-configure
#啓動腳本在/usr/local/sqwebmail/libexec/sqwebmaild.rc,
# 要把它放到/etc/init.d,而且讓他啓動時運行
/usr/lib/sqwebmail/libexec/sqwebmaild.rc start
su -c "/usr/lib/sqwebmail/share/sqwebmail/cleancache.pl"  

cp /usr/lib/sqwebmail/libexec/sqwebmaild.rc /etc/init.d/sqwebmaild
chmod 755 /etc/init.d/sqwebmaild
ln -s /etc/init.d/sqwebmaild /etc/rc.d/rc3.d/S89sqwebmaild
ln -s /etc/init.d/sqwebmaild /etc/rc.d/rc5.d/S89sqwebmaild  

#用"crontab -e"在crontab裏增長下面這條,定時清除cache
crontab –e
     */30 * * * *su -c "/usr/lib/sqwebmail/share/sqwebmail/cleancache.pl"(依據具體狀況而定,實驗省去)
#登陸http://domain.com/cgi-bin/sqwebmail 驗證是否安裝成功。

相關文章
相關標籤/搜索