6天/每天12小时安装qmali的一点心得

王朝other·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

啊,花了6*12=72小时,我的qmail终于搞定了,多谢xmy和peijun.jiang两位版主的热心帮助.下面是偶的一写心得.

安装过程中一定要细心.

我安装的时候同时参考了4份类似的不同高手写的功略,想对比着找出最好的安装方法,结果事与愿违,因为每个人安装的目录不通,我先按这篇文章的方法安装, 然后再按另一篇文章的方法配置,也没仔细去检查路径,结果就造成这个困扰了我近3天的难题.(最开始的3天安装了imap,twig等,均告失败)

安装过程很枯燥的,贵在坚持.

下面是我安装中遇到的一些问题及解决办法:

1.安装到vpopmail 时,make出现以下错误:

make

make all-recursive

make[1]: Entering directory `/home/mm/vpopmail-5.2.1'

Making all in cdb

make[2]: Entering directory `/home/mm/vpopmail-5.2.1/cdb'

make[2]: Nothing to be done for `all'.

make[2]: Leaving directory `/home/mm/vpopmail-5.2.1/cdb'

make[2]: Entering directory `/home/mm/vpopmail-5.2.1'

gcc -I. -I/usr/local/mysql/include/mysql -g -O2 -Wall -c vauth.c

In file included from vauth.c:32:

vmysql.h:53:22: warning: multi-line string literals are deprecated

gcc -I. -I/usr/local/mysql/include/mysql -g -O2 -Wall -c file_lock.c

gcc -I. -I/usr/local/mysql/include/mysql -g -O2 -Wall -c vpalias.c

rm -f libvpopmail.a

ar cru libvpopmail.a vpopmail.o md5.o bigdir.o vauth.o file_lock.o vpalias.o cd/*.o

ranlib libvpopmail.a

gcc -I. -I/usr/local/mysql/include/mysql -g -O2 -Wall -c vchkpw.c

gcc -g -O2 -Wall -o vchkpw vchkpw.o libvpopmail.a -L/usr/lib/mysql -lmysqlcient -lz -lnsl -lcrypt -lz -lm

/usr/bin/ld: cannot find -lmysqlclient

collect2: ld returned 1 exit status

make[2]: *** [vchkpw] Error 1

make[2]: Leaving directory `/home/mm/vpopmail-5.2.1'

make[1]: *** [all-recursive] Error 1

make[1]: Leaving directory `/home/mm/vpopmail-5.2.1'

make: *** [all-recursive-am] Error 2

错误信息显示 cannot find -lmysqlclient

解决办法,安装MySQL-devel-4.0.14-0.i386.rpm ,或更高版本的

2.ezmlm 建表时出错

# /usr/local/qmail/bin/ezmlm/ezmlm-mktab -d testlist | mysql -uezmlm

-pezmlm -f ezmlm

ERROR 1064 at line 2: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'This is the standard database version. You do not need to

creat

这个问题我没有搞定,xmy兄传了一个库给我解决的,现在尚为发现它往数据库里写数据,建这个库不成功对收发邮件没有影响,我把这个库用phpmyadmin导出,需要的导入就可以了

# phpMyAdmin MySQL-Dump

# version 2.4.0

# http://www.phpmyadmin.net/> (download page)

#

# 主机: localhost

# 建立日期: Sep 02, 2003 at 02:48 PM

# 伺服机版本: 4.0.14

# PHP 版本: 4.3.3

# 数据库 : `ezmlm`

# --------------------------------------------------------

#

# 数据表的结构 `maillist`

#

CREATE TABLE maillist (

hash tinyint(3) unsigned NOT NULL default '0',

address varchar(255) NOT NULL default '',

KEY h (hash),

KEY a (address(12))

) TYPE=MyISAM;

# --------------------------------------------------------

#

# 数据表的结构 `maillist_allow`

#

CREATE TABLE maillist_allow (

hash tinyint(3) unsigned NOT NULL default '0',

address varchar(255) NOT NULL default '',

KEY h (hash),

KEY a (address(12))

) TYPE=MyISAM;

# --------------------------------------------------------

#

# 数据表的结构 `maillist_allow_slog`

#

CREATE TABLE maillist_allow_slog (

tai timestamp(14) NOT NULL,

address varchar(255) NOT NULL default '',

fromline varchar(255) NOT NULL default '',

edir char(1) NOT NULL default '',

etype char(1) NOT NULL default '',

KEY tai (tai)

) TYPE=MyISAM;

# --------------------------------------------------------

#

# 数据表的结构 `maillist_cookie`

#

CREATE TABLE maillist_cookie (

msgnum int(10) unsigned NOT NULL default '0',

tai timestamp(14) NOT NULL,

cookie char(20) NOT NULL default '',

chunk tinyint(3) unsigned NOT NULL default '0',

bodysize int(10) unsigned NOT NULL default '0',

PRIMARY KEY (msgnum)

) TYPE=MyISAM;

# --------------------------------------------------------

#

# 数据表的结构 `maillist_deny`

#

CREATE TABLE maillist_deny (

hash tinyint(3) unsigned NOT NULL default '0',

address varchar(255) NOT NULL default '',

KEY h (hash),

KEY a (address(12))

) TYPE=MyISAM;

# --------------------------------------------------------

#

# 数据表的结构 `maillist_deny_slog`

#

CREATE TABLE maillist_deny_slog (

tai timestamp(14) NOT NULL,

address varchar(255) NOT NULL default '',

fromline varchar(255) NOT NULL default '',

edir char(1) NOT NULL default '',

etype char(1) NOT NULL default '',

KEY tai (tai)

) TYPE=MyISAM;

# --------------------------------------------------------

#

# 数据表的结构 `maillist_digest`

#

CREATE TABLE maillist_digest (

hash tinyint(3) unsigned NOT NULL default '0',

address varchar(255) NOT NULL default '',

KEY h (hash),

KEY a (address(12))

) TYPE=MyISAM;

# --------------------------------------------------------

#

# 数据表的结构 `maillist_digest_cookie`

#

CREATE TABLE maillist_digest_cookie (

msgnum int(10) unsigned NOT NULL default '0',

tai timestamp(14) NOT NULL,

cookie char(20) NOT NULL default '',

chunk tinyint(3) unsigned NOT NULL default '0',

bodysize int(10) unsigned NOT NULL default '0',

PRIMARY KEY (msgnum)

) TYPE=MyISAM;

# --------------------------------------------------------

#

# 数据表的结构 `maillist_digest_mlog`

#

CREATE TABLE maillist_digest_mlog (

msgnum int(10) unsigned NOT NULL default '0',

listno int(10) unsigned NOT NULL default '0',

tai timestamp(14) NOT NULL,

subs int(10) unsigned NOT NULL default '0',

done tinyint(4) NOT NULL default '0',

PRIMARY KEY (listno,msgnum,done)

) TYPE=MyISAM;

# --------------------------------------------------------

#

# 数据表的结构 `maillist_digest_slog`

#

CREATE TABLE maillist_digest_slog (

tai timestamp(14) NOT NULL,

address varchar(255) NOT NULL default '',

fromline varchar(255) NOT NULL default '',

edir char(1) NOT NULL default '',

etype char(1) NOT NULL default '',

KEY tai (tai)

) TYPE=MyISAM;

# --------------------------------------------------------

#

# 数据表的结构 `maillist_mlog`

#

CREATE TABLE maillist_mlog (

msgnum int(10) unsigned NOT NULL default '0',

listno int(10) unsigned NOT NULL default '0',

tai timestamp(14) NOT NULL,

subs int(10) unsigned NOT NULL default '0',

done tinyint(4) NOT NULL default '0',

PRIMARY KEY (listno,msgnum,done)

) TYPE=MyISAM;

# --------------------------------------------------------

#

# 数据表的结构 `maillist_mod`

#

CREATE TABLE maillist_mod (

hash tinyint(3) unsigned NOT NULL default '0',

address varchar(255) NOT NULL default '',

KEY h (hash),

KEY a (address(12))

) TYPE=MyISAM;

# --------------------------------------------------------

#

# 数据表的结构 `maillist_mod_slog`

#

CREATE TABLE maillist_mod_slog (

tai timestamp(14) NOT NULL,

address varchar(255) NOT NULL default '',

fromline varchar(255) NOT NULL default '',

edir char(1) NOT NULL default '',

etype char(1) NOT NULL default '',

KEY tai (tai)

) TYPE=MyISAM;

# --------------------------------------------------------

#

# 数据表的结构 `maillist_slog`

#

CREATE TABLE maillist_slog (

tai timestamp(14) NOT NULL,

address varchar(255) NOT NULL default '',

fromline varchar(255) NOT NULL default '',

edir char(1) NOT NULL default '',

etype char(1) NOT NULL default '',

KEY tai (tai)

) TYPE=MyISAM;

# --------------------------------------------------------

#

# 数据表的结构 `testlist`

#

CREATE TABLE testlist (

hash tinyint(3) unsigned NOT NULL default '0',

address varchar(255) NOT NULL default '',

KEY h (hash),

KEY a (address(12))

) TYPE=MyISAM;

# --------------------------------------------------------

#

# 数据表的结构 `testlist_allow`

#

CREATE TABLE testlist_allow (

hash tinyint(3) unsigned NOT NULL default '0',

address varchar(255) NOT NULL default '',

KEY h (hash),

KEY a (address(12))

) TYPE=MyISAM;

# --------------------------------------------------------

#

# 数据表的结构 `testlist_allow_slog`

#

CREATE TABLE testlist_allow_slog (

tai timestamp(14) NOT NULL,

address varchar(255) NOT NULL default '',

fromline varchar(255) NOT NULL default '',

edir char(1) NOT NULL default '',

etype char(1) NOT NULL default '',

KEY tai (tai)

) TYPE=MyISAM;

# --------------------------------------------------------

#

# 数据表的结构 `testlist_cookie`

#

CREATE TABLE testlist_cookie (

msgnum int(10) unsigned NOT NULL default '0',

tai timestamp(14) NOT NULL,

cookie char(20) NOT NULL default '',

chunk tinyint(3) unsigned NOT NULL default '0',

bodysize int(10) unsigned NOT NULL default '0',

PRIMARY KEY (msgnum)

) TYPE=MyISAM;

# --------------------------------------------------------

#

# 数据表的结构 `testlist_deny`

#

CREATE TABLE testlist_deny (

hash tinyint(3) unsigned NOT NULL default '0',

address varchar(255) NOT NULL default '',

KEY h (hash),

KEY a (address(12))

) TYPE=MyISAM;

# --------------------------------------------------------

#

# 数据表的结构 `testlist_deny_slog`

#

CREATE TABLE testlist_deny_slog (

tai timestamp(14) NOT NULL,

address varchar(255) NOT NULL default '',

fromline varchar(255) NOT NULL default '',

edir char(1) NOT NULL default '',

etype char(1) NOT NULL default '',

KEY tai (tai)

) TYPE=MyISAM;

# --------------------------------------------------------

#

# 数据表的结构 `testlist_digest`

#

CREATE TABLE testlist_digest (

hash tinyint(3) unsigned NOT NULL default '0',

address varchar(255) NOT NULL default '',

KEY h (hash),

KEY a (address(12))

) TYPE=MyISAM;

# --------------------------------------------------------

#

# 数据表的结构 `testlist_digest_cookie`

#

CREATE TABLE testlist_digest_cookie (

msgnum int(10) unsigned NOT NULL default '0',

tai timestamp(14) NOT NULL,

cookie char(20) NOT NULL default '',

chunk tinyint(3) unsigned NOT NULL default '0',

bodysize int(10) unsigned NOT NULL default '0',

PRIMARY KEY (msgnum)

) TYPE=MyISAM;

# --------------------------------------------------------

#

# 数据表的结构 `testlist_digest_mlog`

#

CREATE TABLE testlist_digest_mlog (

msgnum int(10) unsigned NOT NULL default '0',

listno int(10) unsigned NOT NULL default '0',

tai timestamp(14) NOT NULL,

subs int(10) unsigned NOT NULL default '0',

done tinyint(4) NOT NULL default '0',

PRIMARY KEY (listno,msgnum,done)

) TYPE=MyISAM;

# --------------------------------------------------------

#

# 数据表的结构 `testlist_digest_slog`

#

CREATE TABLE testlist_digest_slog (

tai timestamp(14) NOT NULL,

address varchar(255) NOT NULL default '',

fromline varchar(255) NOT NULL default '',

edir char(1) NOT NULL default '',

etype char(1) NOT NULL default '',

KEY tai (tai)

) TYPE=MyISAM;

# --------------------------------------------------------

#

# 数据表的结构 `testlist_mlog`

#

CREATE TABLE testlist_mlog (

msgnum int(10) unsigned NOT NULL default '0',

listno int(10) unsigned NOT NULL default '0',

tai timestamp(14) NOT NULL,

subs int(10) unsigned NOT NULL default '0',

done tinyint(4) NOT NULL default '0',

PRIMARY KEY (listno,msgnum,done)

) TYPE=MyISAM;

# --------------------------------------------------------

#

# 数据表的结构 `testlist_mod`

#

CREATE TABLE testlist_mod (

hash tinyint(3) unsigned NOT NULL default '0',

address varchar(255) NOT NULL default '',

KEY h (hash),

KEY a (address(12))

) TYPE=MyISAM;

# --------------------------------------------------------

#

# 数据表的结构 `testlist_mod_slog`

#

CREATE TABLE testlist_mod_slog (

tai timestamp(14) NOT NULL,

address varchar(255) NOT NULL default '',

fromline varchar(255) NOT NULL default '',

edir char(1) NOT NULL default '',

etype char(1) NOT NULL default '',

KEY tai (tai)

) TYPE=MyISAM;

# --------------------------------------------------------

#

# 数据表的结构 `testlist_slog`

#

CREATE TABLE testlist_slog (

tai timestamp(14) NOT NULL,

address varchar(255) NOT NULL default '',

fromline varchar(255) NOT NULL default '',

edir char(1) NOT NULL default '',

etype char(1) NOT NULL default '',

KEY tai (tai)

) TYPE=MyISAM;

----

3.先想起来这么多,还有些好菜的问题,我就不贴上来献丑了.

装完后,我就该研究liunx下的安全问题了.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航