Qmail+Extmail初步配置心得
(2011-07-20 17:42)
原文地址:Qmail+Extmail初步配置心得 作者:maxwell_81
By maxwell 2006.9.5号编辑
我只是一个新手,呵呵
在写这个文档之前,我已经配置过一个qmail系统,但是没有用mysql这个软件,完全参考qmailrocks文章,
只是在安装杀毒软件的时候参考了一些其它的文章。
操作系统是Red Hat Linux9,完全安装,主要是初次安装qmail系统,担心有些软件如果没有到时候在安装比较麻烦。
对硬盘进行了分区,除boot、swap、/根分区、还有一些其它的分区如:usr、var、backup、home。
主要参考文章:http://www.qmailrocks.org/install_rh.htm,软件包版本为release: 2.2.1 - 4/19/2006
按照软件中自带的安装说明文件(INSTALL_redhat.txt)并与网站上面的文章进行对照安装:
我只是一个新手,呵呵
在写这个文档之前,我已经配置过一个qmail系统,但是没有用mysql这个软件,完全参考qmailrocks文章,
只是在安装杀毒软件的时候参考了一些其它的文章。
操作系统是Red Hat Linux9,完全安装,主要是初次安装qmail系统,担心有些软件如果没有到时候在安装比较麻烦。
对硬盘进行了分区,除boot、swap、/根分区、还有一些其它的分区如:usr、var、backup、home。
主要参考文章:http://www.qmailrocks.org/install_rh.htm,软件包版本为release: 2.2.1 - 4/19/2006
按照软件中自带的安装说明文件(INSTALL_redhat.txt)并与网站上面的文章进行对照安装:
一、安装的软件
Part 1- Download the Software
Part 2- Installing Qmail itself
Part 3- Installing EZmlm and EZmlm-idx
Part 4- Installing Autoresponder
Part 5- Installing Vpopmail
Part 6- Vqadmin
Part 7- Maildrop
Part 8- Qmailadmin
Part 9- Finalizing Qmail
Part 10- Uninstalling Sendmail/Postfix
Web Mail:
1、igenus 初步安装没有成功,等下面Extmail做好后,再集中尽力解决
2、Extmail 安装成功,初步测试正常
Part 1- Download the Software
Part 2- Installing Qmail itself
Part 3- Installing EZmlm and EZmlm-idx
Part 4- Installing Autoresponder
Part 5- Installing Vpopmail
Part 6- Vqadmin
Part 7- Maildrop
Part 8- Qmailadmin
Part 9- Finalizing Qmail
Part 10- Uninstalling Sendmail/Postfix
Web Mail:
1、igenus 初步安装没有成功,等下面Extmail做好后,再集中尽力解决
2、Extmail 安装成功,初步测试正常
二、主要配置过程
Part 1、2、3、4全部按照文件(INSTALL_redhat.txt)上面的说明进行,在第二章的./config-fast your_fqdn_hostname
(ex: ./config-fast mail.mixc.com.cn)。主要难点在Part 5,带mysql的安装。
通过系统的完全安装后,mysql所需要的模块和软件默认都安装好了。
Part 1、2、3、4全部按照文件(INSTALL_redhat.txt)上面的说明进行,在第二章的./config-fast your_fqdn_hostname
(ex: ./config-fast mail.mixc.com.cn)。主要难点在Part 5,带mysql的安装。
通过系统的完全安装后,mysql所需要的模块和软件默认都安装好了。
安装配置vpopmail:
mkdir ~vpopmail/etc
chown vpopmail.vchkpw ~vpopmail/etc
echo "localhost|0|vpopmail|83|vpopmail" > ~vpopmail/etc/vpopmail.mysql
#不明白vpopmail.mysql文件的作用,很多资料里面并没有做这个,虽然我知道这个是用来设置一些mysql参数信息但是不知道
#是否如下的命令效果一样:
#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" (改成你设置的密码)
mkdir ~vpopmail/etc
chown vpopmail.vchkpw ~vpopmail/etc
echo "localhost|0|vpopmail|83|vpopmail" > ~vpopmail/etc/vpopmail.mysql
#不明白vpopmail.mysql文件的作用,很多资料里面并没有做这个,虽然我知道这个是用来设置一些mysql参数信息但是不知道
#是否如下的命令效果一样:
#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" (改成你设置的密码)
chown vpopmail:vchkpw ~vpopmail/etc/vpopmail.mysql
chmod 640 ~vpopmail/etc/vpopmail.mysql
/etc/rc.d/init.d/mysqld start
mysqladmin -u root password 83 #第一次设置root帐号的密码,默认root密码为空
如果以后要更改root密码必须用以下命令格式
mysqladmin -u root -p password 81 #以后更改root的密码用这个命令,这步骤不需要
在系统提示Enter password:时候输入旧的密码,即可
mysql -u root -p
mysql> CREATE DATABASE vpopmail;
Query OK, 1 row affected (0.03 sec)
mysql> GRANT select,insert,update,delete,create,drop ON vpopmail.*
-> TO vpopmail@localhost IDENTIFIED BY '83';
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye
[root@localhost root]# mysql -u vpopmail -p
安装vpopmail的时候./configure选项
./configure --disable-roaming-users --enable-logging=p --disable-ip-alias-domains --disable-passwd
--enable-clear-passwd --disable-domain-quotas --enable-auth-module=mysql --disable-many-domains
--enable-auth-logging --enable-sql-logging --enable-valias --disable-mysql-limits
这个configure的参数按照vpopmail安装软件自带的安装文件:README.mysql说明。
从后面igenus的安装情况来看,我们不应该增加--disable-many-domains,而应该把该参数改成--enable-many-domains
--disable-many-domains的含义是:对每一个虚拟域都创建一个表。因igenus自身原因,不支持。
extmail对这个没有要求,两种情况都支持。
配置完成后提示如下:
vpopmail 5.4.13
Current settings
---------------------------------------
chmod 640 ~vpopmail/etc/vpopmail.mysql
/etc/rc.d/init.d/mysqld start
mysqladmin -u root password 83 #第一次设置root帐号的密码,默认root密码为空
如果以后要更改root密码必须用以下命令格式
mysqladmin -u root -p password 81 #以后更改root的密码用这个命令,这步骤不需要
在系统提示Enter password:时候输入旧的密码,即可
mysql -u root -p
mysql> CREATE DATABASE vpopmail;
Query OK, 1 row affected (0.03 sec)
mysql> GRANT select,insert,update,delete,create,drop ON vpopmail.*
-> TO vpopmail@localhost IDENTIFIED BY '83';
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye
[root@localhost root]# mysql -u vpopmail -p
安装vpopmail的时候./configure选项
./configure --disable-roaming-users --enable-logging=p --disable-ip-alias-domains --disable-passwd
--enable-clear-passwd --disable-domain-quotas --enable-auth-module=mysql --disable-many-domains
--enable-auth-logging --enable-sql-logging --enable-valias --disable-mysql-limits
这个configure的参数按照vpopmail安装软件自带的安装文件:README.mysql说明。
从后面igenus的安装情况来看,我们不应该增加--disable-many-domains,而应该把该参数改成--enable-many-domains
--disable-many-domains的含义是:对每一个虚拟域都创建一个表。因igenus自身原因,不支持。
extmail对这个没有要求,两种情况都支持。
配置完成后提示如下:
vpopmail 5.4.13
Current settings
---------------------------------------
vpopmail directory = /home/vpopmail
uid = 507
gid = 502
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)
auth module = mysql --enable-auth-module=mysql
mysql replication = OFF --disable-mysql-replication (default)
sql logging = ON --enable-sql-logging
mysql limits = OFF --disable-mysql-limits (default)
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 = show failed attempts with clear text password
--enable-logging=p
auth logging = ON --enable-auth-logging (default)
one domain per SQL table = --disable-many-domains
[root@localhost vpopmail-5.4.13]# make && make install-strip
安装vpopmail完成
uid = 507
gid = 502
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)
auth module = mysql --enable-auth-module=mysql
mysql replication = OFF --disable-mysql-replication (default)
sql logging = ON --enable-sql-logging
mysql limits = OFF --disable-mysql-limits (default)
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 = show failed attempts with clear text password
--enable-logging=p
auth logging = ON --enable-auth-logging (default)
one domain per SQL table = --disable-many-domains
[root@localhost vpopmail-5.4.13]# make && make install-strip
安装vpopmail完成
Part 6- Vqadmin,还是按照软件中带的安装说明文件:INSTALL_redhat.txt安装:
[root@localhost vqadmin-2.3.6]# ./configure --enable-cgibindir=/var/www/cgi-bin --enable-htmldir=/var/www/html
Current settings
---------------------------------------
vpopmail directory = /home/vpopmail
uid = 507
gid = 502
cgi-bin dir = /var/www/cgi-bin
vqadmin dir = /var/www/cgi-bin/vqadmin
mysql features = disabled
[root@localhost vqadmin-2.3.6]# make && make install-strip
按照说明文件(INSTALL_redhat.txt),对apache进行一些配置即可主要是进行密码认证设置。
[root@localhost vqadmin-2.3.6]# ./configure --enable-cgibindir=/var/www/cgi-bin --enable-htmldir=/var/www/html
Current settings
---------------------------------------
vpopmail directory = /home/vpopmail
uid = 507
gid = 502
cgi-bin dir = /var/www/cgi-bin
vqadmin dir = /var/www/cgi-bin/vqadmin
mysql features = disabled
[root@localhost vqadmin-2.3.6]# make && make install-strip
按照说明文件(INSTALL_redhat.txt),对apache进行一些配置即可主要是进行密码认证设置。
Part 7- Maildrop、Part 8- Qmailadmin、Part 9- Finalizing Qmail、Part 10- Uninstalling Sendmail/Postfix
还是按照软件中带的安装说明文件:INSTALL_redhat.txt安装
./configure --enable-cgibindir=/var/www/cgi-bin --enable-htmldir=/var/www/html
qmailadmin 1.2.9
Current settings
---------------------------------------
cgi-bin dir = /var/www/cgi-bin
html dir = /var/www/html
image dir = /var/www/html/images/qmailadmin
image URL = /images/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 = no
domain autofill = no
modify spam check = no
echo master@mixc.com.cn > /var/qmail/alias/.qmail-root
echo master@mixc.com.cn > /var/qmail/alias/.qmail-postmaster
echo master@mixc.com.cn > /var/qmail/alias/.qmail-mailer-daemon
至此qmail已经初步完成,进一步是做防病毒、防垃圾邮件、对邮件日志的分析。我的想法是等以上这些测试稳定后实施。
还是按照软件中带的安装说明文件:INSTALL_redhat.txt安装
./configure --enable-cgibindir=/var/www/cgi-bin --enable-htmldir=/var/www/html
qmailadmin 1.2.9
Current settings
---------------------------------------
cgi-bin dir = /var/www/cgi-bin
html dir = /var/www/html
image dir = /var/www/html/images/qmailadmin
image URL = /images/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 = no
domain autofill = no
modify spam check = no
echo master@mixc.com.cn > /var/qmail/alias/.qmail-root
echo master@mixc.com.cn > /var/qmail/alias/.qmail-postmaster
echo master@mixc.com.cn > /var/qmail/alias/.qmail-mailer-daemon
至此qmail已经初步完成,进一步是做防病毒、防垃圾邮件、对邮件日志的分析。我的想法是等以上这些测试稳定后实施。
添加一个域和一个用户 #主要参考文章 Qmail搭建全攻略
#http://kb.discuz.net/index.php?title=Qmail%E6%90%AD%E5%BB%BA%E5%85%A8%E6%94%BB%E7%95%A5
/home/vpopmail/bin/vadddomain mixc.com.cn 83
/home/vpopmail/bin/vadduser -q 104857600S(100M) hll@mixc.com.cn(邮箱帐号) 81(密码)
/home/vpopmail/bin/vmoduser -c maxwell(邮箱描述) hll@mixc.com.cn
#http://kb.discuz.net/index.php?title=Qmail%E6%90%AD%E5%BB%BA%E5%85%A8%E6%94%BB%E7%95%A5
/home/vpopmail/bin/vadddomain mixc.com.cn 83
/home/vpopmail/bin/vadduser -q 104857600S(100M) hll@mixc.com.cn(邮箱帐号) 81(密码)
/home/vpopmail/bin/vmoduser -c maxwell(邮箱描述) hll@mixc.com.cn
1、配置igenus没有成功,晕!!
配置igenus过程:#主要参考文章 Qmail搭建全攻略
tar zxvf igenus_2.0.2_20040901_release.tgz
解压到/var/www/html/igenus_2.0.2_20040901,改名为igenus
建temp文件夹
cd /var/www/html/igenus
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/igenus
chown -R vpopmail:vchkpw /var/www/html/igenus
修改httpd.conf
vi /etc/httpd/conf/httpd.conf
User vpopmail
Group vchkpw
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
DirectoryIndex index.php index.html
NameVirtualHost *:80
<VirtualHost *:80>
ServerName mail.example.com
DocumentRoot /var/www/html/igenus
</VirtualHost>
/etc/rc.d/init.d/httpd restart //重启apache,使修改生效
配置igenus过程:#主要参考文章 Qmail搭建全攻略
tar zxvf igenus_2.0.2_20040901_release.tgz
解压到/var/www/html/igenus_2.0.2_20040901,改名为igenus
建temp文件夹
cd /var/www/html/igenus
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/igenus
chown -R vpopmail:vchkpw /var/www/html/igenus
修改httpd.conf
vi /etc/httpd/conf/httpd.conf
User vpopmail
Group vchkpw
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
DirectoryIndex index.php index.html
NameVirtualHost *:80
<VirtualHost *:80>
ServerName mail.example.com
DocumentRoot /var/www/html/igenus
</VirtualHost>
/etc/rc.d/init.d/httpd restart //重启apache,使修改生效
修改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 = '83'; \\vpopmail访问mysql的密码
$CFG_MYSQL_DB = 'vpopmail'; \\数据库
$CFG_TEMP = $CFG_BASEPATh."/temp"; \\改成你安装的目录的当前目录下
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 = '83'; \\vpopmail访问mysql的密码
$CFG_MYSQL_DB = 'vpopmail'; \\数据库
$CFG_TEMP = $CFG_BASEPATh."/temp"; \\改成你安装的目录的当前目录下
重新编制Mysql数据库表格
a.删除之前创建的域名
/home/vpopmail/bin/vdeldomain domain.com
b.编辑数据库:
mysql -uroot -p83 #没有空格的情况下可以直接登录进入mysql
use vpopmail;
drop table lastauth;
drop table vpopmail;
quit;
a.删除之前创建的域名
/home/vpopmail/bin/vdeldomain domain.com
b.编辑数据库:
mysql -uroot -p83 #没有空格的情况下可以直接登录进入mysql
use vpopmail;
drop table lastauth;
drop table vpopmail;
quit;
编辑/var/www/html/igenus/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`
#
# 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 ;
# 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 ;
# --------------------------------------------------------
#
# Table structure for table `admin`
#
# Table structure for table `admin`
#
CREATE TABLE `admin` (
`id` int(10) unsigned NOT NULL auto_increment,
`site_id` int(10) unsigned NOT NULL default '0',
`domain` varchar(128) NOT NULL default '',
`quota` smallint(5) unsigned NOT NULL default '0',
`total` smallint(5) unsigned NOT NULL default '0',
`createtime` timestamp(14) NOT NULL,
`login` char(1) NOT NULL default '',
`cur_total` smallint(5) NOT NULL default '0',
`cur_quota` smallint(5) NOT NULL default '0',
`gid` varchar(11) NOT NULL default '',
`expiration_time` timestamp(14) NOT NULL,
`flag` int(10) unsigned NOT NULL default '0',
`maxmsg` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
UNIQUE KEY `domain` (`domain`)
) TYPE=MyISAM PACK_KEYS=1 ;
`id` int(10) unsigned NOT NULL auto_increment,
`site_id` int(10) unsigned NOT NULL default '0',
`domain` varchar(128) NOT NULL default '',
`quota` smallint(5) unsigned NOT NULL default '0',
`total` smallint(5) unsigned NOT NULL default '0',
`createtime` timestamp(14) NOT NULL,
`login` char(1) NOT NULL default '',
`cur_total` smallint(5) NOT NULL default '0',
`cur_quota` smallint(5) NOT NULL default '0',
`gid` varchar(11) NOT NULL default '',
`expiration_time` timestamp(14) NOT NULL,
`flag` int(10) unsigned NOT NULL default '0',
`maxmsg` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
UNIQUE KEY `domain` (`domain`)
) TYPE=MyISAM PACK_KEYS=1 ;
# --------------------------------------------------------
#
# Table structure for table `card`
#
# Table structure for table `card`
#
CREATE TABLE `card` (
`id` int(5) unsigned NOT NULL auto_increment,
`pw_id` int(5) unsigned NOT NULL default '0',
`LinkMan` varchar(64) NOT NULL default '',
`CompanyName` varchar(100) NOT NULL default '',
`Address` varchar(255) NOT NULL default '',
`Position` varchar(32) NOT NULL default '',
`PhoneNumber` varchar(16) NOT NULL default '',
`Mobile` varchar(12) NOT NULL default '',
`Email` varchar(128) NOT NULL default '',
`Partaker` varchar(32) NOT NULL default '',
`Memo` varchar(255) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM ;
`id` int(5) unsigned NOT NULL auto_increment,
`pw_id` int(5) unsigned NOT NULL default '0',
`LinkMan` varchar(64) NOT NULL default '',
`CompanyName` varchar(100) NOT NULL default '',
`Address` varchar(255) NOT NULL default '',
`Position` varchar(32) NOT NULL default '',
`PhoneNumber` varchar(16) NOT NULL default '',
`Mobile` varchar(12) NOT NULL default '',
`Email` varchar(128) NOT NULL default '',
`Partaker` varchar(32) NOT NULL default '',
`Memo` varchar(255) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM ;
# --------------------------------------------------------
#
# Table structure for table `lastauth`
#
# Table structure for table `lastauth`
#
CREATE TABLE `lastauth` (
`user` char(32) NOT NULL default '',
`domain` char(64) NOT NULL default '',
`remote_ip` char(18) NOT NULL default '',
`timestamp` bigint(20) NOT NULL default '0',
PRIMARY KEY (`user`,`domain`)
) TYPE=MyISAM;
`user` char(32) NOT NULL default '',
`domain` char(64) NOT NULL default '',
`remote_ip` char(18) NOT NULL default '',
`timestamp` bigint(20) NOT NULL default '0',
PRIMARY KEY (`user`,`domain`)
) TYPE=MyISAM;
# --------------------------------------------------------
#
# Table structure for table `logs`
#
# Table structure for table `logs`
#
CREATE TABLE `logs` (
`pw_id` int(5) default '0',
`ip` varchar(15) NOT NULL default '',
`action` varchar(15) NOT NULL default '',
`time` datetime default NULL,
`content` varchar(64) NOT NULL default '',
`email` varchar(128) NOT NULL default ''
) TYPE=MyISAM;
`pw_id` int(5) default '0',
`ip` varchar(15) NOT NULL default '',
`action` varchar(15) NOT NULL default '',
`time` datetime default NULL,
`content` varchar(64) NOT NULL default '',
`email` varchar(128) NOT NULL default ''
) TYPE=MyISAM;
# --------------------------------------------------------
#
# Table structure for table `message`
#
# Table structure for table `message`
#
CREATE TABLE `message` (
`id` int(5) unsigned NOT NULL auto_increment,
`title` varchar(255) NOT NULL default '',
`body` text NOT NULL,
`createtime` datetime NOT NULL default '0000-00-00 00:00:00',
`updatetime` datetime NOT NULL default '0000-00-00 00:00:00',
`pw_domain` varchar(64) NOT NULL default '',
UNIQUE KEY `id` (`id`)
) TYPE=MyISAM ;
`id` int(5) unsigned NOT NULL auto_increment,
`title` varchar(255) NOT NULL default '',
`body` text NOT NULL,
`createtime` datetime NOT NULL default '0000-00-00 00:00:00',
`updatetime` datetime NOT NULL default '0000-00-00 00:00:00',
`pw_domain` varchar(64) NOT NULL default '',
UNIQUE KEY `id` (`id`)
) TYPE=MyISAM ;
# --------------------------------------------------------
#
# Table structure for table `personal`
#
# Table structure for table `personal`
#
CREATE TABLE `personal` (
`id` int(11) unsigned NOT NULL auto_increment,
`pw_id` int(5) NOT NULL default '0',
`truename` varchar(10) NOT NULL default '',
`fax` varchar(20) NOT NULL default '',
`telephone` varchar(15) NOT NULL default '',
`sex` int(1) NOT NULL default '0',
`year` int(4) NOT NULL default '0',
`MONTH` int(2) NOT NULL default '0',
`DAY` int(2) NOT NULL default '0',
`education` varchar(4) NOT NULL default '',
`marital` int(1) NOT NULL default '0',
`occupation` varchar(15) NOT NULL default '',
`companyname` varchar(30) NOT NULL default '',
`province` varchar(6) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM PACK_KEYS=1 ;
`id` int(11) unsigned NOT NULL auto_increment,
`pw_id` int(5) NOT NULL default '0',
`truename` varchar(10) NOT NULL default '',
`fax` varchar(20) NOT NULL default '',
`telephone` varchar(15) NOT NULL default '',
`sex` int(1) NOT NULL default '0',
`year` int(4) NOT NULL default '0',
`MONTH` int(2) NOT NULL default '0',
`DAY` int(2) NOT NULL default '0',
`education` varchar(4) NOT NULL default '',
`marital` int(1) NOT NULL default '0',
`occupation` varchar(15) NOT NULL default '',
`companyname` varchar(30) NOT NULL default '',
`province` varchar(6) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM PACK_KEYS=1 ;
# --------------------------------------------------------
#
# Table structure for table `scheduler`
#
# Table structure for table `scheduler`
#
CREATE TABLE `scheduler` (
`id` int(11) unsigned NOT NULL auto_increment,
`begin_time` int(11) unsigned default NULL,
`end_time` int(11) unsigned default NULL,
`title` varchar(255) NOT NULL default '',
`body` varchar(255) NOT NULL default '',
`pw_id` int(11) unsigned NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM ;
`id` int(11) unsigned NOT NULL auto_increment,
`begin_time` int(11) unsigned default NULL,
`end_time` int(11) unsigned default NULL,
`title` varchar(255) NOT NULL default '',
`body` varchar(255) NOT NULL default '',
`pw_id` int(11) unsigned NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM ;
# --------------------------------------------------------
#
# Table structure for table `stow`
#
# Table structure for table `stow`
#
CREATE TABLE `stow` (
`id` int(5) unsigned NOT NULL auto_increment,
`pw_id` int(5) unsigned NOT NULL default '0',
`Name` varchar(128) NOT NULL default '',
`http` varchar(255) NOT NULL default 'http://',
`memo` varchar(255) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM ;
`id` int(5) unsigned NOT NULL auto_increment,
`pw_id` int(5) unsigned NOT NULL default '0',
`Name` varchar(128) NOT NULL default '',
`http` varchar(255) NOT NULL default 'http://',
`memo` varchar(255) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM ;
# --------------------------------------------------------
#
# Table structure for table `vpopmail`
#
# Table structure for table `vpopmail`
#
CREATE TABLE `vpopmail` (
`pw_id` int(5) unsigned NOT NULL auto_increment,
`pw_name` varchar(32) NOT NULL default '',
`pw_domain` varchar(64) NOT NULL default '',
`pw_passwd` varchar(40) NOT NULL default '',
`pw_uid` int(11) default NULL,
`pw_gid` int(11) default NULL,
`pw_gecos` varchar(48) default NULL,
`pw_dir` varchar(255) default NULL,
`pw_shell` varchar(20) default NULL,
`createtime` timestamp(14) NOT NULL,
PRIMARY KEY (`pw_id`),
KEY `pw_name` (`pw_name`,`pw_domain`)
) TYPE=MyISAM PACK_KEYS=1 ;
mysql -uroot -p83 </var/www/html/igenus/docs/iGENUS.sql 导入数据表。
`pw_id` int(5) unsigned NOT NULL auto_increment,
`pw_name` varchar(32) NOT NULL default '',
`pw_domain` varchar(64) NOT NULL default '',
`pw_passwd` varchar(40) NOT NULL default '',
`pw_uid` int(11) default NULL,
`pw_gid` int(11) default NULL,
`pw_gecos` varchar(48) default NULL,
`pw_dir` varchar(255) default NULL,
`pw_shell` varchar(20) default NULL,
`createtime` timestamp(14) NOT NULL,
PRIMARY KEY (`pw_id`),
KEY `pw_name` (`pw_name`,`pw_domain`)
) TYPE=MyISAM PACK_KEYS=1 ;
mysql -uroot -p83 </var/www/html/igenus/docs/iGENUS.sql 导入数据表。
设置igenus 定义允许上传下载的邮件的大小 #这一步骤没有实施,因为igenus没有配置成功
编辑/etc/php.ini
vi /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 = /var/qmail/bin/qmail-inject
编辑/etc/php.ini
vi /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 = /var/qmail/bin/qmail-inject
service httpd restart
可是没有成功!转向其它的webmail,之前配置好的qmail系统使用的squirrelmail,用户反映界面不好看!
其实我觉得挺好看的,我喜欢它的就是它有丰富的插件可以选择安装,so easy
可是没有成功!转向其它的webmail,之前配置好的qmail系统使用的squirrelmail,用户反映界面不好看!
其实我觉得挺好看的,我喜欢它的就是它有丰富的插件可以选择安装,so easy
2、Extmail的安装 #主要参考Extmail安装软件自带的install,结合http://www.extmail.org/blog/上面的安装和配置文档。
unpack the source tar.gz, copy to /var/www/cgi-bin/ and rename to extmail
vi /etc/httpd/conf/httpd.conf #修改之前在配置igenus时候的http.conf文件的虚拟主机配置
#没有使用Suexec,因为好像linux 9默认不支持,从网络和安装盘上面也没有找到相应系统的httpd-Suexec或者apache-Suexec的rpm文件
#只好作罢
User vpopmail
Group vchkpw
NameVirtualHost *:80
<VirtualHost *:80>
ServerName mail.example.com
DocumentRoot /var/www/cgi-bin/extmail/html/
ScriptAlias /extmail/cgi /var/www/cgi-bin/extmail/cgi
Alias /extmail /var/www/cgi-bin/extmail/html
</VirtualHost>
unpack the source tar.gz, copy to /var/www/cgi-bin/ and rename to extmail
vi /etc/httpd/conf/httpd.conf #修改之前在配置igenus时候的http.conf文件的虚拟主机配置
#没有使用Suexec,因为好像linux 9默认不支持,从网络和安装盘上面也没有找到相应系统的httpd-Suexec或者apache-Suexec的rpm文件
#只好作罢
User vpopmail
Group vchkpw
NameVirtualHost *:80
<VirtualHost *:80>
ServerName mail.example.com
DocumentRoot /var/www/cgi-bin/extmail/html/
ScriptAlias /extmail/cgi /var/www/cgi-bin/extmail/cgi
Alias /extmail /var/www/cgi-bin/extmail/html
</VirtualHost>
chown -R vpopmail.vchkpw /var/www/cgi-bin/extmail/cgi/
Configure /var/www/cgi-bin/extmail/webmail.cf #参考Extmail安装软件自带的README.vpopmail
copy the webmail.cf.default as webmail.cf, then edit webmail.cf
How to config webmail.cf
* SYS_AUTH_SCHEMA=vpopmail2
This authentication schema will support per domain a table to
store user accounts capability.
the following parameters need to config:
copy the webmail.cf.default as webmail.cf, then edit webmail.cf
How to config webmail.cf
* SYS_AUTH_SCHEMA=vpopmail2
This authentication schema will support per domain a table to
store user accounts capability.
the following parameters need to config:
# SYS_MAILDIR_BASE = /home/domains <--- must be commented out
SYS_CRYPT_TYPE = crypt <--- must set to crypt
SYS_MYSQL_USER = vpopmail <--- fill the username
SYS_MYSQL_PASS = 83 <--- fill the password
SYS_MYSQL_DB = vpopmail
SYS_MYSQL_HOST = localhost
SYS_MYSQL_SOCKET = /var/lib/mysql/mysql.sock <--- full path of mysql socket
SYS_CRYPT_TYPE = crypt <--- must set to crypt
SYS_MYSQL_USER = vpopmail <--- fill the username
SYS_MYSQL_PASS = 83 <--- fill the password
SYS_MYSQL_DB = vpopmail
SYS_MYSQL_HOST = localhost
SYS_MYSQL_SOCKET = /var/lib/mysql/mysql.sock <--- full path of mysql socket
SYS_MYSQL_TABLE = vpopmail <--- meaningless under vpopmail2 schema
SYS_MYSQL_ATTR_USERNAME = pw_name
SYS_MYSQL_ATTR_DOMAIN = pw_domain
SYS_MYSQL_ATTR_PASSWD = pw_passwd
SYS_MYSQL_ATTR_QUOTA = pw_shell
SYS_MYSQL_ATTR_HOME = pw_dir
# SYS_MYSQL_ATTR_MAILDIR = maildir <--- must be commented out!
SYS_MYSQL_ATTR_USERNAME = pw_name
SYS_MYSQL_ATTR_DOMAIN = pw_domain
SYS_MYSQL_ATTR_PASSWD = pw_passwd
SYS_MYSQL_ATTR_QUOTA = pw_shell
SYS_MYSQL_ATTR_HOME = pw_dir
# SYS_MYSQL_ATTR_MAILDIR = maildir <--- must be commented out!
Modify template to match your default domain #没有设置这一步骤,感觉不用设置也可以,呵呵!
Debug #调试,正常后我想应该要注释掉。
[root@localhost root]# ls -alh /var/lib/mysql/sql.log
-rw-rw---- 1 mysql mysql 29K 9月 12 11:19 /var/lib/mysql/sql.log
* MySQL
Edit /etc/my.cnf and add the following:
[mysqld]
log=/var/lib/mysql/sql.log
Then all SQL statement will be written to /var/lib/mysql/sql.log, check
this log and see whether the SQL is correct or not.
[root@localhost root]# ls -alh /var/lib/mysql/sql.log
-rw-rw---- 1 mysql mysql 29K 9月 12 11:19 /var/lib/mysql/sql.log
* MySQL
Edit /etc/my.cnf and add the following:
[mysqld]
log=/var/lib/mysql/sql.log
Then all SQL statement will be written to /var/lib/mysql/sql.log, check
this log and see whether the SQL is correct or not.
三、一些小修改
1、qmail默认会对收件人不存在的邮件,发送一个回复。但很多时候会回复不成功,因为发件人不存在(垃圾邮件)。通过
修改.qmail-default文件可以对此有点改善,如下命令:
[root@localhost themixc.com]# more .qmail-default
| /home/vpopmail/bin/vdelivermail '' bounce-no-mailbox
[root@localhost themixc.com]# more .qmail-default
| /home/vpopmail/bin/vdelivermail '' delete
[root@localhost themixc.com]# ls -al
总用量 16
drwx------ 3 vpopmail vchkpw 4096 9月 11 19:45 .
drwx------ 4 vpopmail vchkpw 4096 9月 7 23:20 ..
drwx------ 3 vpopmail vchkpw 4096 9月 7 23:20 postmaster
-rw------- 1 vpopmail vchkpw 0 9月 7 23:20 .qmailadmin-limits
-rw------- 1 vpopmail vchkpw 44 9月 11 19:45 .qmail-default
1、qmail默认会对收件人不存在的邮件,发送一个回复。但很多时候会回复不成功,因为发件人不存在(垃圾邮件)。通过
修改.qmail-default文件可以对此有点改善,如下命令:
[root@localhost themixc.com]# more .qmail-default
| /home/vpopmail/bin/vdelivermail '' bounce-no-mailbox
[root@localhost themixc.com]# more .qmail-default
| /home/vpopmail/bin/vdelivermail '' delete
[root@localhost themixc.com]# ls -al
总用量 16
drwx------ 3 vpopmail vchkpw 4096 9月 11 19:45 .
drwx------ 4 vpopmail vchkpw 4096 9月 7 23:20 ..
drwx------ 3 vpopmail vchkpw 4096 9月 7 23:20 postmaster
-rw------- 1 vpopmail vchkpw 0 9月 7 23:20 .qmailadmin-limits
-rw------- 1 vpopmail vchkpw 44 9月 11 19:45 .qmail-default
2、默认缺省域,就是通过OE收发邮件,用户名不需要填写完整邮件名称,只需要填写用户名(即@前面部分),修改如下:
echo "mixc.com.cn" > /home/vpopmail/etc/defaultdomain
echo "mixc.com.cn" > /home/vpopmail/etc/defaultdomain
3、设置用户邮件别名,命令如下:
echo hll@mixc.com.cn > /home/vpopmail/domains/mixc.com.cn/.qmail-huful
more /home/vpopmail/domains/mixc.com.cn/.qmail-huful
hll@mixc.com.cn
实现发送到huful@mixc.com.cn的邮件,转发到实际存在的邮箱hll@mixc.com.cn
echo hll@mixc.com.cn > /home/vpopmail/domains/mixc.com.cn/.qmail-huful
more /home/vpopmail/domains/mixc.com.cn/.qmail-huful
hll@mixc.com.cn
实现发送到huful@mixc.com.cn的邮件,转发到实际存在的邮箱hll@mixc.com.cn
4、设置转发邮件到一个私人邮箱,命令如下:
在qmailadmin中对邮箱地址进行修改,从标准改为转发,可以保存一份备份在本地址即可。
在qmailadmin中对邮箱地址进行修改,从标准改为转发,可以保存一份备份在本地址即可。
5、全局地址本,命令如下
修改webmail.cf参数!
SYS_G_ABOOK_TYPE = ldap #ldap 改为file
SYS_G_ABOOK_FILE_CHARSET = gb2312#不知道这个改动到底有没有作用,呵呵。
export LANG=zh_CN
[root@localhost extmail]# more globabook.cf
Name,Mail,Company,Phone
"Extmail Support","support@extmail.org","ExtMail Team","010-55555555"
"管理员","hll@example.com","crcsz","82661452"
修改webmail.cf参数!
SYS_G_ABOOK_TYPE = ldap #ldap 改为file
SYS_G_ABOOK_FILE_CHARSET = gb2312#不知道这个改动到底有没有作用,呵呵。
export LANG=zh_CN
[root@localhost extmail]# more globabook.cf
Name,Mail,Company,Phone
"Extmail Support","support@extmail.org","ExtMail Team","010-55555555"
"管理员","hll@example.com","crcsz","82661452"
6、对httpd.conf进行上面Extmail的虚拟主机的配置后,原本访问正常的qmailadmin、vqadmin提示不能访问,路径不正确
修改虚拟主机配置如下:
<VirtualHost mail.com.cn>
ServerName mail.com.cn:80
DocumentRoot /var/www/cgi-bin/extmail/html/
ScriptAlias /extmail/cgi /var/www/cgi-bin/extmail/cgi
Alias /extmail /var/www/cgi-bin/extmail/html
Alias /images/qmailadmin /var/www/html/images/qmailadmin
Alias /images/vqadmin /var/www/html/images/vqadmin
</VirtualHost>
修改虚拟主机配置如下:
<VirtualHost mail.com.cn>
ServerName mail.com.cn:80
DocumentRoot /var/www/cgi-bin/extmail/html/
ScriptAlias /extmail/cgi /var/www/cgi-bin/extmail/cgi
Alias /extmail /var/www/cgi-bin/extmail/html
Alias /images/qmailadmin /var/www/html/images/qmailadmin
Alias /images/vqadmin /var/www/html/images/vqadmin
</VirtualHost>


