【Centos】QMail一键安装 QMail Daemontools VPopMail
作者 斯人 | 发布于 2012 年 3 月 25 日
LINUX

Centos一键安装QMail

这两天在装QMail..

Centos用的少,,一直在用FreeBSD…而且 QMail从来没用过..

这一次安装 qmail可废了老劲了..总是提示错误

经过无数次的编译编译在编译…终于在一天半之后..编译成功,并写了一个shell文件..可以自动安装我们所需要的东西..

主要有以下软件..

Apache,Mysql,UCSPI,Daemontools,Exmlm,QMailAdmin,qmail,vpopmail,

我的系统是Centos 6.0的..

因为条件限制,我也只在Centos6.0下编译通过了..

其他版本还没有时间测..不过 问题应该不大…

可能会有一些BUG..确实是没有太多时间来测试..如有问题 欢迎反馈给我.

如果没有特别要求建议不要修改里面的内容,除非你知道你在做什么.

shell都有注释,都是用个英文注释的,本人英语不太好..可能有错哦..
配置说明

#current Root
_CURRENT_ROOT=${PWD}
#do you want to install apache? 是否安装Apache
_INSTALL_APACHE="YES"

#do you want to install mysql?  是否安装Mysql
_INSTALL_MYSQL="NO"

#do you want to install php5?  是否安装PHP
_INSTALL_PHP="YES"

#do you want to install daemontools
_INSTALL_DAEMONTOOLS="YES"  是否安装 daemontools

#do you want to install ucspi //是否安装 Ucspi
_INSTALL_UCSPI="YES"

#do you want to install Clamav
_INSTALL_CLAMAV="YES"    是否安装 CLAMAV 反病毒工具
#do you want to install QmailAdmin
_INSTALL_QMAILADMIN="YES"   //是否安装 QMainAdmin

#do you want to install vpopmail?
_INSTALL_VPOPMAIL="YES"  //是否安装 VPopmail

#vpopmail user and password
_VPOPMAIL_USER="vpopmail"  //VPopmail用户名
_VPOPMAIL_PASSWORD="vpopmail"  //密码

#vpopmail database name
_VPOPMAIL_DATABASE="vpopmail"  //数据库

#do you want to install qmail admin?
_INSTALL_QMAIL_ADMIN="YES"  //是否添加 QMail Admin

#do you wanto to install exmlm
_INSTALL_EXMLM="YES"      //是否安装 Exmlm

#have you add QMail users?
_ADDQMAILUSERS="YES"      //是否添加

#Mysql Username
_MYSQL_USERNAME="root"   //Mysql用户名

#Mysql Password
_MYSQL_PASSWORD="root"  //Mysql  密码

#domain name
_DOMAIN_NAME=s.s     //域

#qmail Manager Email
_QMAIL_MANAGER_EMAIL=admin.$_DOMAIN_NAME  //邮箱管理地址

#qmail default password
_QMAIL_DEFAULT_PASSWORD=123123   //QMail默认密码

#where are you wanto to install qmail?
_QMAIL_ROOT=/var/qmail   //QMail安装目录

#where are you want to install Apache
_APACHE_ROOT=/usr/local/Apache2 //Apache安装目录

#where are you want to install mysql?
_MYSQL_ROOT=/usr/local/mysql5  //Mysql安装目录

#Mysql Include Dir
_MYSQL_INCDIR="$_MYSQL_ROOT/include/mysql"

#Mysql Lib Dir
_MYSQL_LIBDIR="$_MYSQL_ROOT/lib/mysql"

#QMAIL_HAS_ERROR
_QMAIL_SLOVE_ERROR="YES" //如果出现 错误备注 里面的错误 这里设为 YES  默认为YES
#install log
_INSTALL_LOG_FILE="./install.log"

下载地址

http://115.com/file/c2lbvc9j

使用方法

解压后,运行 chmod +x ./setup
运行 ./setup 

然后 等待……..等待….

估计要等一段时间,你可以先做别的事情…执行完后 就行啦.
执行到最后会让你填写 公司基本信息,别忘记了..

错误备注
./load auto-str substdio.a error.a str.a
/usr/bin/ld: errno: TLS definition in /lib/libc.so.6 section .tbss mismatches non-TLS reference in substdio.a(substdo.o)
/lib/libc.so.6: could not read symbols: Bad value
collect2: ld 返回 1

折腾了半天..最后找到原因,
qmail目录下 有一个 error.h文件
把 extern int errno; 替换成
#include
重新编译就可以了..
如果出现以下错误…
./compile tls.c
tls.c:12: 错误:与‘strerror’类型冲突
/usr/include/string.h:413: 附注:‘strerror’的上一个声明在此
make: *** [tls.o] 错误 1
./setup: line 287: qmailctl: command not found
./compile tls.c
tls.c:12: 错误:与‘strerror’类型冲突
/usr/include/string.h:413: 附注:‘strerror’的上一个声明在此
make: *** [tls.o] 错误 1
把tls.c中的
const char *strerror(int);删掉或者替换成extern char *strerror (int __errnum) __THROW;

这两个错误在我写的shell里面已经处理了…不过还是要写出来..

原文出处:http://www.imsiren.com/archives/456