歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> 安裝qmail+vpopmail+mysql的詳細過程

安裝qmail+vpopmail+mysql的詳細過程

日期:2017/2/27 14:13:03   编辑:更多Linux

作者:artxingQQ:artxing 5213598一、准備工作安裝solaris9,(這個不用我說了吧,在solaris版有很多貼子講這個.不會的可以去那裡找.)設置主機名為mail.wangxu.com.然後去這裡下載安裝中需要用到的軟件包集合 http://info.868cn.com/download/solaris9-qmail.tar由於solaris安裝後並沒有gcc,make等,所以必須首先安裝它們.安裝方法參考南非蜘蛛的這篇貼子.http://chinaunix.net/jh/6/16434.Htmlgcc,make等安裝完之後要安裝patch-2.5.4-sol8-intel-local.gz(由於http: //sunfreeware.com沒有for solaris9的,我就下了個for solaris8的,也可以用) ,至於為什麼要裝它,我下面再說.安裝完patch後,#mv /usr/bin/patch /usr/bin/patch.bak#cp /usr/local/bin/patch /usr/bin/patch (用新安裝的patch替換以前系統自帶的patch)同時注意,我所提供的軟件包集合中的軟件都是已經gunzip過的,直接拿來pkgadd就可以了.autoconf,automake,bison,最好也安裝,下面編譯mysql可能需要它們.二、安裝mysql1.安裝ncurses# tar xvf ncurses-5.3.tar# cd ncurses-5.3# ./configure# make# make install2.編譯安裝mysql# tar xvf mysql-4.0.16.tar# useradd -g mysql mysql# cd mysql-4.0.13# CC=gcc CFLAGS="-O3 -fomit-frame-pointer -DHAVE_CURSES_H" \CXX=gcc \CXXFLAGS="-O3 -fomit-frame-pointer -felide-constrUCtors \-fno-exceptions \-fno-rtti -DHAVE_CURSES_H" \# ./configure --prefix=/usr/local/mysql# make# make install# scripts/mysql_install_db# chown -R root /usr/local/mysql# chown -R mysql /usr/local/mysql/var# chgrp -R mysql /usr/local/mysql# cp support-files/my-medium.cnf /etc/my.cnf3.啟動mysql# /usr/local/mysql/bin/mysqld_safe --user=mysql &334Starting mysqld daemon with databases from /usr/local/mysql/var# psPID TTY TIME CMD333 pts/1 0:00 sh334 pts/1 0:00 mysqld_s如果看到類似的信息,就說明mysql已經正常啟動了.這裡可以把/usr/local/mysql/bin加到path中,方便下面運行mysql指令.4.設置mysql啟動腳本#cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqld#ln -s /etc/init.d/mysqld /etc/rc2.d/Kmysqld#ln -s /etc/init.d/mysqld /etc/rc2.d/Smysqld5.修改mysql的root密碼# mysqladmin -u root -p passWord wangxu(設置你的密碼)Enter passwod:(直接回車)6.mysql的include和lib文件的路徑,接下來編譯vpopmail時要指定它們include文件:/usr/local/mysql/include/mysqllib文件:/usr/local/mysql/lib/mysql三、安裝ucspi-tcp-0.88#tar xvf ucspi-tcp-0.88.tar#cd ucspi-tcp-0.88#patch -p1 < ../ucspi-tcp-0.88.a_record.patch (這裡如果之前沒有安裝patch包的話,你會無法打patch補定.)#patch -p1 < ../ucspi-tcp-0.88.errno.patch#patch -p1 < ../ucspi-tcp-0.88.nobase.patch#make#make setup check四、安裝qmail1.下載軟件及補丁:2.建立目錄:# mkdir /var/qmail# mkdir /var/qmail/alias3.建組及用戶:# groupadd nofiles# groupadd qmail# 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# useradd -g qmail -d /var/qmail qmailq# useradd -g qmail -d /var/qmail qmailr# useradd -g qmail -d /var/qmail qmails4.打補丁及編繹安裝qmail#tar xvf qmail-1.03.tar#tar xvf qmail-smtpd-auth-0.31.tar#cp qmail-smtpd-auth-0.31/base64.* qmail-1.03 //安裝smtp-auth補丁,支持smtp認證#patch -d qmail-1.03 < qmail-smtpd-auth-0.31/auth.patch#cd qmail-1.03#patch -p1 < ../qmail-103.patch#patch -p1 < ../qmailqueue-patch#patch -p1 < ../qmail-1.03.qmail_local.patch#vi qmail-smtpd.c //將函數straynewline中的451改為553# make setup check# ./config-fast mail.wangxu.com5.添加別名用戶:# touch /var/qmail/alias/.qmail-root# touch /var/qmail/alias/.qmail-postmaster# touch /var/qmail/alias/.qmail-mailer-daemon6.如果存在postfix和sendmail,停用現在的mail服務我是直接刪除了sendmail的#pkginfo grep sendmail //找到sendmail的pkg包的名稱#pkgrm 包名# ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail#chmod 777 /usr/sbin/sendmail

更多內容請看 DNS&Mail服務器 Mysql安裝與卸載專題,或

五、安裝vpopmail1.建立目錄:#mkdir /home/vpopmail#mkdir /home/vpopmail/etc2.添加用戶和組:#groupadd vchkpw#useradd -g vchkpw vpopmail3.添加mysql的vpopmail用戶,用於操作vpopmail數據庫 #mysql -u root -pwangxu //進入mysql命令行mysql>create database vpopmail;mysql>grant all on vpopmail.* to vpopmail@localhost identified by "wangxu(換成你的密碼)";4.編譯安裝vpopmail#tar xvf vpopmail-5.2.1.tar#cd vpopmail-5.2.1#vi vmysql.h#define MYSQL_UPDATE_SERVER "localhost" (mysql服務器名)#define MYSQL_UPDATE_USER "vpopmail" (用戶名)#define MYSQL_UPDATE_PASSWD "wangxu" (改成你設置的密碼)#define MYSQL_READ_SERVER "localhost" (mysql服務器名)#define MYSQL_READ_USER "vpopmail" (用戶名)#define MYSQL_READ_PASSWD "wangxu" (改成你設置的密碼)同時注意vmysql.h的第54行和58行#define TABLE_LAYOUT "pw_name char(32) not null, \pw_domain char(64) not null, <===== 54pw_passwd char(40), \pw_uid int, pw_gid int, \pw_gecos char(48), \pw_dir char(160), <===== 58pw_shell char(20), \primary key (pw_name, pw_domain ) "這裡少了兩個 \,需要手動添加上,以後編譯時才能通過.但這裡有個問題,在Linux和freebsd下是不需要修改這裡的.所以在這裡困擾了一段時間,後來在Google搜索了一下,才找到處理辦法.5.創建tcp.smtp文件(或者使用/etc/tcp.smtp)# vi /home/vpopmail/etc/tcp.smtp127.0.0.1:allow,RELAYCLIENT="":allow#cd /home/vpopmail/etc#tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp6.進行編譯:# ./configure --prefix=/home/vpopmail --enable-mysql=y --enable-incdir=/usr/local/mysql/include/mysql --enable-libdir=/usr/local/mysql/lib/mysql --enable-default-domain=wangxu.com --enable-passwd=n --enable-defaultquota=5242880 --enable-tcprules-prog=/usr/local/bin/tcprules --enable-vpopuser=vpopmail --enable-vpopgroup=vchkpw --enable-ip-alias-domains=n\\下面是我使用的參數--prefix=/home/vpopmail \\指定安裝路徑--enable-mysql=y \\是否應用Mysql數據庫--enable-incdir=/usr/local/mysql/include/mysql \\Mysql數據庫include文件所在目錄--enable-libdir=/usr/local/mysql/lib/mysql \\Mysql數據庫lib文件所在目錄--enable-default-domain=mydomain.com \\定義虛擬域名--enable-passwd=n \\是否使用系統密碼驗證方式--enable-defaultquota=5242880 \\定義缺省郵箱大小,10485760為10MB,20971520為20MB,52428800s為50MB--enable-tcprules-prog=/usr/local/bin/tcprules \\指定tcprules目錄--enable-tcpserver-file=/home/vpopmail/etc/tcp.smtp \\指定tcprules應用規則文件--enable-vpopuser=vpopmail \\vpopmail的用戶--enable-vpopgroup=vchkpw \\vpopmail的組--enable-ip-alias-domains=n \\在虛擬域中允許通過反向IP地址查找虛擬域名# make# make install-strip7.創建虛擬域# cd /home/vpopmail/bin# ./vadddomain 域名 (密碼) (在mysql數據庫vpopmail中自動生成vpopmail表單)(如果使用與機器名相同的虛擬域名,應先生成一個其它的虛擬域名,不然會有問題,無法自動生成vpopmail數據庫)# ./vadduser 用戶名 密碼 (會自動往表vpopmail中添加用戶數據,用戶名要帶域名,如[email protected])如果不成功的話,則必須先刪除創建的域,./vdeldomain 域名如果添加domain時,提示Domain already exists,但卻刪除domain又提示Domain does not exist.則采用下面的處理方法.刪除/var/qmail/control目錄下rcpthosts,virtualdomains文件中有關domain的信息;同時刪除 /var/qmail/user目錄下assign文件中有關domain的信息;然後運行/var/qmail/bin/qmail-newu.這時候就可以正常添加domain了.六、smtp-auth的設置1.修改vchkpw的屬性#chmod 4755 vchkpw#chown root:root vchkpw如果使用帶驗證的smtp,smtp進程要調用密碼驗證程序,則必須要使用 setuid 和setgid。提高vchkpw的權限,才能完成setgid操作。2.安裝cmd5checkpw#tar xvf cmd5checkpw-0.22.tar#cd cmd5checkpw-0.22#make#mkdir /usr/man/man8#make install注意,因為使用vpopmail,所以checkpassword不用安裝。

更多內容請看 DNS&Mail服務器 Mysql安裝與卸載專題,或

七、生成qmail的啟動腳本#cp /var/qmail/boot/home /var/qmail/rc# vi /var/qmail/rc //對rc文件進行修改,以決定投送方式:#!/bin/sh# Using splogger to send the log through syslog. # Using dot-forward to support sendmail-style ~/.forward files.# Using qmail-local to deliver messages to ~/Mailbox by default.exec env - PATH="/var/qmail/bin:$PATH" qmail-start ./Maildir/ splogger qmail &#vi /var/qmail/smtp //編輯smtp服務的啟動腳本#!/bin/shQMAILDUID=qmaildNOFILESGID=nofiles/usr/local/bin/tcpserver -H -R -l 0 -t 1 -v -p -x /home/vpopmail/etc/tcp.smtp.cdb -u $QMAILDUID -g $NOFILESGID 0 smtp /var/qmail/bin/qmail-smtpd mail.wangxu.com(換成你的主機名) /home/vpopmail/bin/vchkpw /bin/true /bin/cmd5checkpw /bin/true 2>&1 /var/qmail/bin/splogger smtpd 3 &#vi /var/qmail/pop3 //編輯pop3服務的啟動腳本#!/bin/sh/usr/local/bin/tcpserver -l mail.wangxu.com(換成你的主機名) –U -H -R 0 pop3 /var/qmail/bin/qmail-popup mail.wangxu.com(換成你的主機名) /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir &//這裡要注意,這三個文件中的命令最好寫在一行.#chmod 755 /var/qmail/rc#chmod 755 /var/qmail/smtp#chmod 755 /var/qmail/pop3八、運行qmail並測試#/var/qmail/rc#/var/qmail/smtp#/var/qmail/pop3#ps -ef grep qmail //查看qmail的服務進程是否已完全正常啟動如果qmail已正常啟動,用Outlook測試qmail的smtp和pop3是否正常,注意由於vpopmail支持虛擬域名,所以在outlook中設置郵件帳號時,用戶名後要加上域名,如[email protected]。smtp是帶認證的.文檔說明:這份文檔,是我參考了大量的網友的文章而寫成的,在solaris9下測試通過.其間也請教了多位論壇中的朋友,謝謝他們.可能中間有什麼問題,請大家幫忙指正,有什麼問題請回復.對於這篇文檔,網友可以轉載,轉載時請注明出處.至於qmail系統中其他的qmailadmin,webmail等,我就不再羅列,有興趣話,大家自行安裝.

更多內容請看 DNS&Mail服務器 Mysql安裝與卸載專題,或




Copyright © Linux教程網 All Rights Reserved