啊,花了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下的安全問題了.