中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 操作系统 > Linux > Linux综合
qmail+mysql+vpopmail+igenus+qadmin+vqsignup(一)
作者:未知 时间:2005-09-13 22:43 出处:Blog.ChinaUnix.net 责编:chinaitpower
              摘要:qmail+mysql+vpopmail+igenus+qadmin+vqsignup(一)

 RH9.0+qmail+mysql+smtp+vpopmail+igenus+qmailadmin+vqsignup (一)

                                                                        主要参照 llzqq  的文档,我是在rh9下面做的。分三部分

这个上面有个很详细的介绍:

http://www1.uyard.com/~titing/advanced/auth_nosysuser.html
一、安装说明。
为了方便安装我在安装Redhat9.0时选了apachemysql,注意mysql-develmysql-server开发包一定要装上,RedHat 9.0上面有这两个包

二、安装ucspi-tcp-0.88
1.
这是由于redhat3.0(包括redhat 9.0)glibc的版本有问题,必须有下列软件及补丁才能编译
http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz        
tcpserver等服务程序
http://qmail.te8.com/rpms/glibc-2.3.1/ucspi-tcp-0.88.a_record.patch
http://qmail.te8.com/rpms/glibc-2.3.1/ucspi-tcp-0.88.errno.patch
http://qmail.te8.com/rpms/glibc-2.3.1/ucspi-tcp-0.88.nobase.patch

这个网址上面也有相关的path

http://www.kreny.com/download/source/qmail/patches/
2.
安装ucspi-tcp-0.88
#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
1.
需要的软件及补丁
http://cr.yp.to/software/qmail-1.03.tar.gz         
Qmail基本系统包
http://www.ckdhr.com/ckd/qmail-103.patch
http://www.qmail.org/qmailqueue-patch
http://www.shupp.org/patches/qmail-maildir++.patch
http://qmail.te8.com/rpms/glibc-2.3.1/qmail-1.03.errno.patch
http://qmail.te8.com/rpms/glibc-2.3.1/qmail-1.03.qmail_local.patch
http://members.elysium.pl/brush/qmail-smtp-auth/dist/qmail-smtpd-auth-0.31.tar.gz

或者:http://tomclegg.net/qmail/qmail-smtpd-auth-0.31.tar.gz

在这个网址上也可以下载相关的软件:

http://tomclegg.net/qmail  
2.
建立目录
# mkdir /var/qmail
# mkdir /var/qmail/alias
3.
建组及用户
# groupadd nofiles
# groupadd qmail
# useradd alias -g nofiles -d /var/qmail/alias -s /nonexistent
# useradd qmaild -g nofiles -d /var/qmail -s /nonexistent
# useradd qmaill -g nofiles -d /var/qmail -s /nonexistent
# useradd qmailp -g nofiles -d /var/qmail -s /nonexistent
# 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
4.
打补丁及编绎安装qmail
#tar zxvf qmail-1.03.tar.gz
#tar zxvf qmail-smtpd-auth-0.31.tar.gz
#cp qmail-smtpd-auth-0.31/base64.* qmail-1.03
#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-maildir++.patch
#patch -p1 < ../qmail-1.03.errno.patch
#patch -p1 < ../qmail-1.03.qmail_local.patch
#vi qmail-smtpd.c
将函数straynewline中的451改为553
#make setup check
#./config-fast domain.com
5.
添加别名用户
# touch /var/qmail/alias/.qmail-root
# touch /var/qmail/alias/.qmail-postmaster
# touch /var/qmail/alias/.qmail-mailer-daemon
6.
如果存在postfixsendmail,将它们停用。
#/etc/rc.d/init.d/sendmail stop
#cp /var/qmail/bin/sendmail /usr/sbin/qmail.sendmail
#rm -f /etc/alternatives/mta
#ln -s /usr/sbin/qmail.sendmail /etc/alternatives/mta
#rm -f /usr/lib/sendmail
#rm -f /usr/sbin/sendmail
#ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
#ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
#chmod 777 /usr/sbin/sendmail

四、安装vpopmail
1.
下载vpopmail
http://www.inter7.com/vpopmail/vpopmail-5.2.1.tar.gz     
虚拟域用户pop3支持
2.
建立目录
#mkdir /home/vpopmail
#mkdir /home/vpopmail/etc
3.
添加用户和组
#groupadd vchkpw
#useradd -g vchkpw vpopmail
4.
添加mysqlvpopmail用户,用于操作vpopmail数据库
#mysqladmin -u root password ****
设置mysqlroot密码。
#mysql -u root -p
mysql>create database vpopmail;
mysql>grant all on vpopmail.* to vpopmail@localhost identified by "
密码";
5.
编译安装vpopmail
#tar zxvf vpopmail-5.2.1.tar.gz
#cd vpopmail-5.2.1
#vi vmysql.h
=========================== vmysql.h ==============================
#define MYSQL_UPDATE_SERVER "localhost"
#define MYSQL_UPDATE_USER "vpopmail"
#define MYSQL_UPDATE_PASSWD "****" (
改成你设置的密码)

#define MYSQL_READ_SERVER "localhost"
#define MYSQL_READ_USER "vpopmail"
#define MYSQL_READ_PASSWD "****" (
改成你设置的密码)
==========================================================
6.
创建tcp.smtp
# vi /home/vpopmail/etc/tcp.smtp
==================== tcp.smtp ============================
127.0.0.1:allow,RELAYCLIENT=""
:allow
==========================================================

#cd /home/vpopmail/etc
#tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp
7.
进行编译:
# ./configure
--prefix=/home/vpopmail
--enable-mysql=y
--enable-incdir=/usr/include/mysql
--enable-libdir=/usr/lib/mysql
--enable-default-domain=domain.com
--enable-passwd=n
--enable-defaultquota=52428800s (10485760:10MB
20971520:20MB52428800s:50MB)
--enable-tcprules-prog=/usr/local/bin/tcprules
--enable-tcpserver-file=/home/vpopmail/etc/tcp.smtp
--enable-vpopuser=vpopmail
--enable-vpopgroup=vchkpw
--enable-ip-alias-domains=n
# make

如果报错:

vauth.c:1166: subscripted value is neither array nor pointer
vauth.c:1166: subscripted value is neither array nor pointer
vauth.c: In function `vcreate_lastauth_table':
vauth.c:1180: warning: format argument is not a pointer (arg 2)
vauth.c:1183: warning: assignment makes pointer from integer without a cast
make[2]: *** [vauth.o] Error 1
make[2]: Leaving directory `/root/qmail/vpopmail-5.2.1'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/qmail/vpopmail-5.2.1'
make: *** [all-recursive-am] Error 2

 

是因为没有安装mysqldevel包,装上这个包就可以了,这个包在redhat9.0上面第二张碟子上有
# make install-strip
8.
创建虚拟域
# cd /home/vpopmail/bin
# /home/vpopmail/bin/vadddomain
域名 密码
# /home/vpopmail/bin/vadduser
用户名 密码 (用户名要带域名,如demo@demo.com)
删除创建域的命令是:./vdeldomain 域名

例如:/home/vpopmail/vadduser massky@lch.com 添加用户,如果不用域名,在登录igenus时候总是不能登录,

五、设置smtp-auth
1.
修改vchkpw的属性

vchkpw vpopmail
#chmod 4755 vchkpw
#chown root.root vchkpw
2.
下载安装cmd5checkpw
wget http://members.elysium.pl/brush/cmd5checkpw/dist/cmd5checkpw-0.22.tar.gz
#tar zxvf cmd5checkpw-0.22.tar.gz
#cd cmd5checkpw-0.22
#make
#make install

如果make install 报错的话,就修改Makefilse

中的

install:

        cp cmd5checkpw /bin/ ; cp cmd5checkpw.8 /usr/man/man8/

为:

install:

        cp cmd5checkpw /bin/ ; cp cmd5checkpw.8 /usr/shar/man/man8/

六、生成qmail的启动脚本
#cp /var/qmail/boot/home /var/qmail/rc
# vi /var/qmail/rc //
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 &
================== rc ==========================
#vi /var/qmail/smtp
=================== smtp ========================
#!/bin/sh

QMAILDUID=qmaild
NOFILESGID=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 domain.com /home/vpopmail/bin/vchkpw /bin/true /bin/cmd5checkpw /bin/true 2>&1 | /var/qmail/bin/splogger smtpd 3 &
=================== smtp ============================
#vi /var/qmail/pop3 //
编辑pop3服务的启动脚本
====================== pop3 =========================
#!/bin/sh

/usr/local/bin/tcpserver -H -R 0 pop3 /var/qmail/bin/qmail-popup domain.com /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir &
======================= pop3==============================
#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 aux | grep "qmail"
查看POP3SMTP是否工作
# telnet 192.168.0.1 110
# telnet 192.168.0.1 25
注意在outlook中设置邮件帐号时,用户名后要加上域名,如llzqq@domain.com。如果qmail出现问题,可查看mysql中的vpopmail数据库,/var/log下的mysqldmaillog日志记录。

八、安装并运行igenus
1.
下载最新的安装包:igenus_2_20030516_snap.tgz

这个上面下载 igenus_2_20030516_snap.tgz
#tar zxvf igenus_2_20030516_snap.tgz -C /var/www/html
2.
temp文件夹
cd /var/www/html/igenus
mkdir temp
chmod -R 0755 temp
chown -R vpopmail:vchkpw temp
httpd.conf中设置权限不允许访问temp目录。
<Directory "/var/www/html/webmail/temp">
deny from all
</Directory>

3.
修改httpd.conf
#vi /etc/httpd/conf/httpd.conf
User Apache
Group Apache
修改为:
User vpopmail
Group vchkpw
为了解决APACHE的默认语言问题添加这个:
AddDefaultCharset GB2312
#/etc/rc.d/init.d/httpd restart
4.
解决个别邮箱拒收邮件的问题(如新浪网)
关闭本页

 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有