LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 734|回复: 1

在AS3.0下安装qmail + igenus + vpopmail + qmailadmin + mysql

[复制链接]
发表于 2005-5-31 00:35:48 | 显示全部楼层 |阅读模式
转载地址:
http://www.syservice.net/thread.php?tid=81&fpage=1

作者:pengyong
邮箱:webamster@sy165.cn

如果有什么问题可以直接联系作者或是跟贴

我感觉这文章对新手很有帮助 !


在AS3.0下安装qmail + igenus + vpopmail + qmailadmin + mysql + apache + phpMyAdmin 支持web注册和找回密码配置过程及软件包下载
我的系统没有默认安装apache 和 mysql 因为AS3.0 默认安装MYSQL缺少包所以额外安装。
软件筹备
-----------------------------------------------------------
mysql-4.1.9.tar.gz
httpd-2.0.52.tar.gz
php-4.3.10.tar.gz
ucspi-tcp-0.88.tar.gz
qmail-1.03.tar.gz
vpopmail-5.2.1.tar.gz
qmailadmin-1.0.6.tar.gz
qmailadmin-1.2.3.tar.gz
autorespond-2.0.2.tar.gz            
cmd5checkpw-0.22.tar.gz              
en-us                              
ezmlm-0.53.tar.gz                    
ezmlm-idx-0.40.tar.gz               
ezmlm-idx-0.53.400.unified_41.patch  qmail-smtpd-auth-0.31.tar.gz
qmail-1.03.errno.patch               
qmail-103.patch                     
qmail-1.03.qmail_local.patch
ucspi-tcp-0.88.a_record.patch
qmail-maildir++.patch
qmailqueue-patch
ucspi-tcp-0.88.errno.patch
ucspi-tcp-0.88.nobase.patch
rc
smtp
pop3
-------------------------------------------------------------
以上软件可以从这里下载得到
http://www.sy165.cn/soft/qmail.tar
igenus以及修改配置好的数据库在这里下载得到,igenus_2.0.2_20040901_release.tgz有几处BAG以下是参照igenus官方论坛修改过的感谢大麻提供如此优秀的Webmail
http://www.sy165.cn/soft/igenus.tar
phpMyAdmin 2.5.0-rc2在这里下载
http://www.sy165.cn/soft/myadmin.tar
我将以上文件全部放在/root 目录下,你可以将本安装过程直接复制下来,进行傻瓜式的安装。
--------------------------------------------------------------------------------------------开始安装
1. 安装mysql-4.1.9.tar.gz
cd /root
tar xfz mysql-4.1.9.tar.gz   \\解压缩
cd mysql-4.1.9
./configure --prefix=/usr/local/mysql --with-charset=gbk    \\配置安装到/usr/local/mysql支持中文gbk
make                                \\编译时间比较长看你机器的配置高低了,大概12分钟左右。
make install
groupadd mysql                      \\建立mysql组
useradd mysql -g mysql              \\建立mysql用户并且加入到mysql组中
./scripts/mysql_install_db --user=mysql \\初始化表并且规定用mysql用户来访问初始化表以后就开始给mysql和root用户设定访问权
cd /usr/local/mysql
chown -R root .                \\设定root能访问/usr/local/mysql
chown -R mysql var             \\设定mysql用户能访问/usr/local/mysql/var ,里面存的是mysql的数据库文件
chown -R mysql var/.           \\设定mysql用户能访问/usr/local/mysql/var下的所有文件
chown -R mysql var/mysql/.     \\设定mysql用户能访问/usr/local/mysql/var/mysql下的所有文件
chgrp -R mysql .               \\设定mysql组能够访问/usr/local/mysql
/usr/local/mysql/bin/mysqld_safe --user=mysql &   \\运行mysql[1]
12814
[root@linux mysql]# Starting mysqld daemon with databases from /usr/local/mysql/
以上提示表示mysql运行正常。
/usr/local/mysql/bin/mysqladmin -uroot password *****     \\修改mysql密码默认为空密码
vi /etc/ld.so.conf 建立动态库连接否则下面安装 vpopmail会提示错误
/usr/kerberos/lib
/usr/X11R6/lib
/usr/lib/qt-3.1/lib
/usr/local/mysql/lib/mysql         \\加入mysql的动态库连接
ldconfig                           \\执行ldconfig 从新加载动态库连接
ln -s /usr/local/mysql/bin/mysql /bin/mysql
ln -s /usr/local/mysql/bin/mysqladmin /bin/mysqladmin
----------------------------------------------------------------------------------mysql安装全部完成
2.安装apache
cd /root
tar xfz httpd-2.0.52.tar.gz            \\解压缩
cd httpd-2.0.52
./configure --prefix=/usr/local/httpd --enable-module=most --enable-shared=max    \\配置apache
make
make install
/usr/local/httpd/bin/httpd -l     \\察看编译进apache的模块
Compiled in modules:
  core.c
  mod_access.c
  mod_auth.c
  mod_include.c
  mod_log_config.c
  mod_env.c
  mod_setenvif.c
  prefork.c
  http_core.c
  mod_mime.c
  mod_status.c
  mod_autoindex.c
  mod_asis.c
  mod_cgi.c
  mod_negotiation.c
  mod_dir.c
  mod_imap.c
  mod_actions.c
  mod_userdir.c
  mod_alias.c
  mod_so.c
[root@linux httpd-2.0.52]#以上提示表示apache支持dso方式了。这样就可以用dso的方式把php的模块加进来。
--------------------------------------------------------------------------------apache安装完成
3. 安装php

cd /root
tar xfz php-4.3.10.tar.gz
cd php-4.3.10
./configure --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/httpd/bin/apxs   \\配置指定安装的apache和mysql的路径
make
make install
cp php.ini-dist /usr/local/lib/php.ini   \\将php.ini-dist复制到/usr/local/lib/,并重命名为php.ini
为了让Apache能够直接解析php,我们还要进行一些配置.
vi /usr/local/httpd/conf/httpd.conf
在httpd.conf文件中,添加

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

应该将以上两句添加在其他AddType之后。

确保文件中有以下一句话,没有就自己添加在所有LoadModule之后。

LoadModule php4_module modules/libphp4.so

好了,在vi中使用":wq"保存httpd.conf文件,退出vi。启动apache server:

/usr/local/httpd/bin/apachectl start
------------------------------------------------------------------------php安装配置完成
4.安装ucspi-tcp-0.88
AS3的glibc的版本问题,打完补丁才能正常编译
cd /root
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

-------------------------------------------------------------------------ucspi-tcp-0.88安装完成
5. 安装qmail-1.03
cd /root
mkdir /var/qmail                                      \\建立qmail所需目录
mkdir /var/qmail/alias                                \\建立qmail所需目录
groupadd nofiles                                      \\建立qmail用户组
groupadd qmail                                        \\建立qmail用户组
useradd alias -g nofiles -d /var/qmail/alias -s /nonexistent   \\建立qmail用户
useradd qmaild -g nofiles -d /var/qmail -s /nonexistent        \\建立qmail用户
useradd qmaill -g nofiles -d /var/qmail -s /nonexistent        \\建立qmail用户
useradd qmailp -g nofiles -d /var/qmail -s /nonexistent        \\建立qmail用户
useradd qmailq -g qmail -d /var/qmail -s /nonexistent          \\建立qmail用户
useradd qmailr -g qmail -d /var/qmail -s /nonexistent          \\建立qmail用户
useradd qmails -g qmail -d /var/qmail -s /nonexistent          \\建立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       \\打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-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 mail.sy165.cn                       \\改为你的域名
touch /var/qmail/alias/.qmail-root                \\添加别名用户
touch /var/qmail/alias/.qmail-postmaster          \\添加别名用户
touch /var/qmail/alias/.qmail-mailer-daemon       \\添加别名用户
chmod 644 /var/qmail/alias/.qmail*
echo postmaster > /var/qmail/control/bouncefrom   \\退回邮件
echo mail.sy165.cn > /var/qmail/control/helohost  \\主机名(解决新浪拒收邮件问题)
echo 10485760 > /var/qmail/control/databytes      \\ 接收邮件的最大容量 (0=无限制)??
echo 40 > /var/qmail/control/concurrencylocal     \\ 本地同时投递邮件的数目
echo 40 > /var/qmail/control/concurrencyremote    \\同时投递至远程主机的数目
vi /var/qmail/control/locals       \\确保文件中有缺省域名,否则投递失败的邮件将不知所踪
如果存在postfix和sendmail,或其他邮件服务,停用现在的mail服务,或则删除它!
/etc/rc.d/init.d/sendmail stop
cp -f /var/qmail/bin/sendmail /usr/sbin/qmail.sendmail
rm -f /etc/alternatives/mta
ln -s /usr/sbin/qmail.sendmail /etc/alternatives/mta
ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
chmod 777 /usr/sbin/sendmail \\这里特别要注意检查/usr/sbin/sendmail的属性.不然会导致装完后用igenus在web界面发信不成功
--------------------------------------------------------------------------------------------qmail安装完成
6. 安装vpopmail
mkdir /home/vpopmail          \\建立vpopmail安装目录
mkdir /home/vpopmail/etc      \\建立vpopmail安装目录
groupadd vchkpw               \\添加组
useradd -g vchkpw vpopmail    \\添加用户
cd /root
tar zxvf vpopmail-5.2.1.tar.gz
cd vpopmail-5.2.1
vi vmysql.h  配置数据库连接,我们稍后用phpMyAdmin倒入数据库建立用户vpopmail。
#define MYSQL_UPDATE_SERVER "localhost" \\mysql服务器名
#define MYSQL_UPDATE_USER "vpopmail"   \\用户名
#define MYSQL_UPDATE_PASSWD "passwd"   \\改成你设置的密码

#define MYSQL_READ_SERVER "localhost"  \\mysql服务器名
#define MYSQL_READ_USER "vpopmail"     \\用户名
#define MYSQL_READ_PASSWD "passwd"     \\改成你设置的密码
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
cd /root
cd vpopmail-5.2.1
./configure \
--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=sy165.cn \                        \\ 定义虚拟域名
--enable-passwd=n  \                                      \\ 是否使用系统密码验证方式
--enable-defaultquota=104857600s \                        \\ 定义缺省邮箱大小,10485760为10MB。
--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-strip
chmod 4755 vchkpw           \\设置 smtp-auth
chown root.root vchkpw      \\设置 smtp-auth
------------------------------------------------------------------------------------------vpopmail安装结束
7. 安装cmd5checkpw
cd /root
tar zxvf cmd5checkpw-0.22.tar.gz
cd cmd5checkpw-0.22
make
make install
-----------------------------------------------------------------------------------------cmd5checkpw安装结束
8. 配置启动脚本
脚本我已经配置好了直接CP过来使用
cd /root
cp -f rc pop3 smtp /var/qmail/
cp -f qmail /etc/rc.d/init.d/qmail
chmod 755 /etc/rc.d/init.d/qmail
chkconfig --add qmail                       \\加入到init
service qmail start                         \\ 启动qmail
ps aux | grep "qmail"                       \\ 查看qmail的服务进程是否已完全正常启动
------------------------------------------------------------------------------------------启动脚本配置结束
9. 配置 phpMyAdmin和igenus建立域和用户
建立vpopmail数据库和用户vpopmail倒入数据,回顾以上的vpopmail的配置
cd /root
wget http://www.sy165.cn/soft/myadmin.tar     \\下载phpMyAdmin
wget http://www.sy165.cn/soft/igenus.tar
tar xf myadmin.tar
tar xf igenus.tar
mkdir /home/igenus                  \\建立igenus目录
mv myadmin /home/igenus/            \\将 myadmin移动到/home/igenus/目录下
mv igenus /home/igenus/             \\将 igenus移动到/home/igenus/目录下
chmod -R 755 /home/igenus/         
vi /home/igenus/myadmin/config.inc.php
修改$cfg['PmaAbsoluteUri'] = 'http://ip/myadmin/';
vi /usr/local/httpd/conf/httpd.conf   配置apache建立虚拟主机和访问路径
修改#ServerName www.example.com:80
ServerName 127.0.0.1  \\设置apache 默认名127.0.0.1
修改DirectoryIndex index.html index.html.var
DirectoryIndex index.php index.html index.html.var  \\加入默认文档 index.php
修改AddDefaultCharset ISO-8859-1
AddDefaultCharset GB2312   \\默认使用中文编码
修改User nobody      
修改Group #-1
User vpopmail
Group vchkpw
在最后加入:
NameVirtualHost 220.202.19.87 \\220.202.19.87替换为你的IP
<VirtualHost 220.202.19.87>  \\220.202.19.87替换为你的IP
DocumentRoot /home/igenus/
ServerName 220.202.19.87  \\如果你的域名能正确解析将220.202.19.87替换为你的域名或替换为你的IP
</VirtualHost>
修改/usr/local/lib/php.ini
max_execution_time=60
memory_limit=20M
post_max_filesize=10M
file_uploads=on
upload_max_filesize=10M
register_globals=On
session.bug_compat_42=0
session.bug_compat_warn=0
Sendmail = /var/qmail/bin/qmail-inject
/usr/local/httpd/bin/apachectl restart  重启apache
http://ip/myadmin/index.php   \\登陆phpmyadmin 倒入数据库vpopmail.sql建立用户vpopmail,vpopmail.sql在igenus.tar包内
vi /home/igenus/igenus/config/config_inc.php \\配置mysql连接密码
mkdir /home/netdisk   
chown vpopmail.vchkpw /home/netdisk
mkdir /tmp/igenus
cd /tmp
chmod -R 0755 igenus
chown -R vpopmail:vchkpw igenus
http://ip/igenus/index.php     \\web访问igenus
cd /home/vpopmail/bin
./vadddomain syservice.net ****** \\建立域******为 域管理密码
./vadduser webmaster@syservice.net ****** \\建立用户webmaster******为webmaster 登陆密码
现在你可以用webmaster@syservice.net登陆igenus了

-----------------------------------------------------------------------配置 phpMyAdmin和igenus建立域和用户完成
10.安装ezmlm and ezmlm-idx使qmail支持邮件列表功能

mysql -p
use mysql;
create database ezmlm;
grant all on ezmlm.* to ezmlm@localhost identified by "密码";
flush privileges;
exit;
cd /root
tar -zxvf ezmlm-0.53.tar.gz
tar -zxvf ezmlm-idx-0.40.tar.gz
mv -f ezmlm-idx-0.40/* ezmlm-0.53/   \\ 将ezmlm-idx-0.40下的文件覆盖到ezmlm-0.53下
cd ezmlm-0.53
patch < idx.patch
patch < ../ezmlm-idx-0.53.400.unified_41.patch
make mysql                           \\ MySQL 支持
make clean
make man
make ch_GB                           \\ 汉字GB2312支持
修改以下文件
vi conf-sqlcc
-I/usr/local/mysql/include/mysql
vi conf-sqlld
-L/usr/local/mysql/lib/mysql -lmysqlclient -lnsl -lm
vi conf-bin
/var/qmail/bin/ezmlm
vi conf-man
/var/qmail/man
vi conf-qmail
/var/qmail
make setup
vi /var/qmail/bin/ezmlm/ezmlmrc将"To:##L@##H"修改为"To:<#L#>@<#H#>",主要是修改用邮件客户端收到信之后,收件人地址显示格式错误。
/var/qmail/bin/ezmlm/ezmlm-mktab -d testlist | mysql -uezmlm -p803825 -f ezmlm \\建立MySQL的maillist:testlist的表

这样就在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 |
+------------------------+
你可以用一下命令察看,安装了qmailadmin后可以使用qmailadmin管理邮件列表了
mysqlshow -uezmlm -p803825 ezmlm
-----------------------------------------------------------------------ezmlm and ezmlm-idx安装完成
11. 安装qmailadmin
安装之前先确认你是否已经安装了vpopmail,并使用vchkpw
是否已经安装ezmlm。
是否已经安装autorespond。
确认以上的工作已完成,可以开始安装qmailadmin
cd /root
tar zxvf qmailadmin-1.0.6.tar.gz
cp -f en-us qmailadmin-1.0.6/html/en
cp -f en-us qmailadmin-1.0.6/html/en-us
注:以上两步,为了汉化qmailadmin。en-us取自iceblood的qmail安装包

cd qmailadmin-1.0.6
./configure --enable-cgibindir=/home/igenus/cgi-bin --enable-htmldir=/home/igenus/igenus --enable-ezmlmdir=/var/qmail/bin/ezmlm
make
make install-strip
mkdir -p /home/igenus/images/qmailadmin
mv images/*.* /home/igenus/images/qmailadmin/ \\ 复制images下的图片到/var/www/html/images/qmailadmin下
----------------------------------------------------------------------------qmailadmin安装完成
12.配置apache 使/home/igenus/cgi-bin允许执行cgi
vi /usr/local/httpd/conf/httpd.conf
NameVirtualHost 220.202.19.87
<VirtualHost 220.202.19.87>
DocumentRoot /home/igenus/
ServerName 220.202.19.82
ScriptAlias /cgi-bin/ "/home/igenus/cgi-bin/"  \\这是刚增加的
</VirtualHost>
/usr/local/httpd/bin/apachectl restart  重启apache
http://ip/cgi-bin/qmailadmin  \\登陆qmailadmin
配置支持注册
下载包文件解压缩放到/home/igenus/igenus/即可
http://www.sy165.cn/soft/passwd.exe
发表于 2005-5-31 09:55:03 | 显示全部楼层
文件不能下载
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表