Solaris8 下邮件系统的建立
出处:Linux技术中坚站 作者:Linux技术中坚站 时间:2005-8-16 16:55:00
一、系统环境:
1、8_x86_Recommended.zip 系统补丁
2、工具
gcc-2.95.2-sol8-intel-local.gz c的编译工具
gdbm-1.7.3-sol7-intel-local.gz 'dbm' and 'ndbm' 库的替代程序包,是扩展哈希的一套数据库程序包,使之工作起来类似于Unix程序包
make-3.78.1-sol8-intel-local.gz 编译工具
patch-2.5.4.tar.gz 打补丁的工具
tar-1.13-sol8-intel-local.gz GNU的解压工具
top-3.5beta9-sol8-intel-local.gz 查系统资源的工具
二、邮件软件包
· qmail-1.03.tar.gz Qmail基本系统包
· qmail-103.patch qmail的dns补丁
· ucspi-tcp-0.88.tar.gz tcpserver等服务程序
· daemontools-0.70.tar.gz 监视工具
· checkpassword-0.90.tar.gz pop3验证用户程序
· vpopmail-5.0.tar.gz 虚拟域用户pop3支持
· vqsignup-0.5 web方式用户注册
· sqwebmail-2.1.1.tar.gz webmail
· qmailadmin-0.88.tar.gz 虚拟域web方式管理
· ezmlm-0.53.tar.gz 邮件列表管理
· ezmlm-cgi.c solaris下需要用它来替换原有同名文件
· ezmlm-idx-0.40.tar.gz 含有对ezmlm的修正和补充
· autorespond-1.0.0.tar.gz 自动回复程序
· qmail 补丁
qmail-1.03-pop3d-stat.patch
qmail-1.03-big-dns.patch
qmail-1.03-bind-interface.patch
qmail-1.03-condredirect.patch
qmail-1.03-queuevar.patch
qmail-1.03-showctl.patch
big-todo.patch
三、配置好系统的网关、路由和域名解析文件,安装好mysql,apache(略)
四、解压安装系统工具
1、安装系统补丁
#unzip 8_x86_Recommended.zip
#cd 8_x86_Recommended
#./install_cluster
2、安装系统工具包
#gzip –d *.gz(所有系统工具包)
#pkgadd –d gcc-2.95.2-sol8-intel-local
#pkgadd –d gdbm-1.7.3-sol7-intel-local
#pkgadd –d make-3.78.1-sol8-intel-local
#pkgadd –d tar-1.13-sol8-intel-local
#pkgadd –d top-3.5beta9-sol8-intel-local
#rm /usr/bin/tar /etc/tar
#ln –s /usr/local/bin/tar /usr/bin/tar
#tar xvf patch-2.5.4.tar
#cd patch-2.5.4
#./configure
#make
#make install
#cd ..
#ln –s /usr/local/bin/gcc /usr/bin/cc
五、 解压安装qmail系统及相关软件
1、解压各软件包原码
#tar zxvf autorespond-2.0.0.tar.gz
#tar zxvf checkpassword-0.90.tar.gz
#tar zxvf daemontools-0.70.tar.gz
#tar zxvf ezmlm-0.53.tar.gz
#tar zxvf ezmlm-idx-0.40.tar.gz
#tar zxvf qmail-1.03.tar.gz
#tar zxvf qmailadmin-0.88.tar.gz
#tar zxvf sqwebmail-2.1.1.tar.gz
#tar zxvf ucspi-tcp-0.88.tar.gz
#tar zxvf vpopmail-5.0.tar.gz
#tar zxvf vqsignup-0.5.tar.gz
2、安装qmail基础系统
#mkdir /var/qmail
#mkdir /var/qmail/alias
#groupadd nofiles
# useradd -g nofiles -d /var/qmail/alias –s /bin/false alias
# useradd -g nofiles -d /var/qmail –s /bin/false qmaild
# useradd -g nofiles -d /var/qmail –s /bin/false qmaill
# useradd -g nofiles -d /var/qmail –s /bin/false qmailp
# groupadd qmail
# useradd -g qmail -d /var/qmail –s /bin/false qmailq
# useradd -g qmail -d /var/qmail –s /bin/false qmailr
# useradd -g qmail -d /var/qmail –s /bin/false qmails
#make patch
#cd ../qmail-1.03
#/usr/local/bin/patch -p1<../patch/qmail-1.03-pop3d-stat.patch
#/usr/local/bin/patch -p1<../patch/qmail-1.03-big-dns.patch
#/usr/local/bin/patch -p1<../patch/qmail-1.03-bind-interface.patch
#/usr/local/bin/patch -p1<../patch/qmail-1.03-condredirect.patch
#/usr/local/bin/patch -p1<../patch/qmail-1.03-queuevar.patch
#/usr/local/bin/patch -p1<../patch/qmail-1.03-showctl.patch
#/usr/local/bin/patch -p1<../patch/big-todo.103.patch
#make setup check
#./config-fast you-virual-domain 你的服务器可以为you-virual-domain域服务
注:如要不受限制,可以将rpcthosts改名或删掉。
# cd /var/qmail/alias
#touch .qmail-postmaster .qmail-mailer-daemon .qmail-root
#chmod 644 /var/qmail/alias/.qmail*
3、安装ucspi-tcp-0.88,用它的tcpserver起smtp和pop3服务
#cd /home-to/ucspi-tcp-0.88
#make
#make setup check
4、安装daemontools-0.70(监视工具)
#cd .. /daemontools-0.70
#make
#make setup check
5、pop的密码验证工具,如安装了vpopmail,需要用vchkpw替代
#cd ../checkpassword-0.90
#make
#make setup check
#cd /var/qmail
#cp boot/proc rc
将 rc 从
qmail-start '|preline procmail' splogger qmail
改为
qmail-start ./Maildir/ splogger qmail
6、创建 /var/qmail/runpop(运行pop服务的脚本文件)
#vi runpop
#!/bin/sh
exec /usr/local/bin/tcpserver -v -R 0 pop3 /var/qmail/bin/qmail-popup you-pop-server \
/bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir 2>&1 | \
/var/qmail/bin/splogger pop3d &
创建 /var/qmail/runsmtp (运行smtp服务的脚本文件)
#vi runsmtp
#!/bin/sh
exec /usr/local/bin/tcpserver -u 1005 -g 102 smtp /var/qmail/bin/qmail-smtpd 2>&1
(注:1005为qmaill的uid,102为nofiles的gid)
将起qmail的程序加入到系统启动文件中
#cd /etc/rc3.d
在 S77dmi (exit(0)前)结尾处加入下列几行:
csh –cf ‘/var/qmail/rc &’
/var/qmail/runpop &
/var/qmail/runsmtp &
这是最简单的方法,或自己建立一个启动文件,加入以上几项。
6、安装邮件列表程序
#cd /home-to
#cp -R ezmlm-idx-0.40/* ezmlm-0.53
#cd ezmlm-0.53
#/usr/local/bin/patch < idx.patch
#cp ../ezmlm-cgi.c ./ (注:原来的ezmlm-cgi.c在solaris下编译无法通过,要到网上下载更新的ezmlm-cgi.c)
#make clean
#make mysql
我编译时出错,按提示删除如下文件:
#rm ezmlm-mktab issub.c logmsg.c subscribe.c opensql.c putsubs.c tagmsg.c searchlog.c conf-sqlld conf-sqlcc
#cd sub_mysql
#vi conf-sqlcc
将mysql的home路径填上,原有是默认的;
#vi conf-sqlld
将mysql的lib路径填上,原有是默认的;
#cd ..
#make mysql
#make
#make man
#make setup
以上整个安装有些出错,我按出错的提示更改了,也安装成功了,不知哪位高手知道,请指教。
7、Vpopmail 5.0的安装
1)添加Vpopmail用户及用户组
#makedir /export/vpopmail /export/etc ;建立vpopmail的目录
#echo “127.0.0.:allow,RELAYCLIENT=\”\”” > /export/vpopmail/etc/tcp.smtp;允许relay的地址范围及存放的位置。
#groupadd vchkpw
#useradd –g vchkpw –d /export/vpopmail vpopmail
#chown –R vpopmail:vchkpw /export/vpopmail
2) 配置
#./configure \
--enable-default-domain=you-virual-domain \ ;默认的域名
--enable-roaming-users=y \ ;允许漫游用户
--enable-relay-clear-minutes=60 \ ;允许在接收pop的60分钟内使用relay功能
--enable-auth-logging=y \ ;开启登陆尝试,只对mysql和oracle有效
--enable-mysql-logging=y \ ;开启登陆尝试,只对mysql有效
--enable-logging=e \ ;日志中只含有错误日志
--enable-sqwebmail-pass=y \ ;开启对sqwebmail的口令支持
--enable-mysql=y \ ;支持mysql(详细的安装看README.mysql)
--enable-passwd=y \ ;开启 /etc/passwd(or shadow)鉴定
--enable-hardquota=5242880 \ ;每个信箱设置大小为5M
--enable-many-domains=n \ ;不支持多虚拟域
--enable-incdir=/usr/local/mysql/include/mysql \ ;mysql的include文件目录
--enable-libdir=/usr/local/mysql/lib/mysql ;mysql的库文件目录
3)安装
#make
#make install-strip
4) 添加虚拟域及相关操作
#cd /export/vpopmail/bin ;进入vpopmail的命令集目录
#./vadddomain you-virual-domain ;添加虚拟域you-virual-domain,后面会紧接提示输入着postmaster的密码
#./vadduser admin ;添加用户admin
#./vdeluser admin ;删除用户admin
8、qmailadmin安装
1)配置
#cd /home-to/qmailadmin-0.88
#./configure --enable-vpopmaildir=/export/vpopmail \
--enable-cgibindir=/www/apache/cgi-bin \
--enable-htmldir=/www/apache/htdocs \
--with-htmllibdir=/www/apache/qmailadmin \
--enable-qmaildir=/var/qmail \
--enable-vpopuser=vpopmail \
--enable-cgipath=/cgi-bin/qmailadmin \
--enable-autoresponder-bin=/user/local/bin \
--enable-ezmlmdir=/usr/local/bin/ezmlm
#make
#make install-strip
接下来输入在浏览器中输入you-virul-doman/cgi-bin/qmailadmin,OK可以通过界面来统一管理了。
9、Vqsingup安装文档
1)配置
#./configure \
--enable-qmaildir=/var/qmail \
--enable-cgibindir=/www/apache/cgi-bin \
--enable-htmldir=/www/apache/htdocs \
--enable-vpopuser=vpopmail \
--enable-vpopgroup=vchkpw
2) 编译
#make
3) 按装
a)拷一些cgi程序。
#cp vqsignup /www/apache/cgi-bin/vqsignup.cgi; \
chown vpopmail /www/apache/cgi-bin/vqsignup.cgi; \
chgrp vchkpw /www/apache/cgi-bin/vqsignup.cgi; \
chmod ug+s /www/apache/cgi-bin/vqsignup.cgi; \
cp vqsignup.conf /www/apache/cgi-bin/; \
chmod ugo+r /www/apache/cgi-bin/vqsignup.conf
b)建立页面
#mkdir /www/apache/cgi-bin/vqsignup; \
mkdir /www/apache/cgi-bin/vqsignup/html; \
cp html/* /www/apache/cgi-bin/vqsignup/html/; \
cp vqsignup.html /www/apache/htdocs/
c)根据自己的域名修改vqsignup.html,vqsignup.conf,domain.conf中的域名部分
4)可以通过页面进入you-virldomain/vqsignup进行邮箱的申请。
10、sqwebmail的安装
1)配置
#./configure --enable-webpass=yew \
--with-cachedir \
--without-gzip \
--without-ispell \
--with-db=gdbm \
--with-htmllibdir=/www/apache/sqwebmail \
--enable-cgibindir=/www/apache/cgi-bin \
--enable-imagedir=/www/apache/htdocs/images/sqwebmail \
--enable-imageurl=/webmail/ \
--enable-mimetypes=/www/apache/conf \
--enable-softtimeout=600 \
--enable-maxpurge=90 \
--with-maxargsize=5000000 \
--with-maxformargsize=5000000 \
--with-maxmsgsize=5000000 \
--with-defaultlang=en \
--enable-mimecharset=gb2312 \
--with-authvchkpw \
--without-authmysql \
--without-authpam \
--with-authuserdb \
--with-authpwd \
--without-authldap \
--without-authldaprc
2) 定义变量
#INCS=-I/usr/local/mysql/include/mysql; \
export INCS; \
LIBS="-L/usr/local/mysql/lib/mysql -lmysqlclient -lz"; \
export LIBS; \
CPPFLAGS=-I/usr/local/mysql/include/mysql; \
LDFLAGS=-L/usr/local/mysql/lib/mysql ; \
export CPPFLAGS; \
export LDFLAGS
3) 编译
#make configure-check;make;make check;make install-strip;make install-configure
4) 测试页面
you-virual-domain/cgi-bin/sqwebmail
可以收发信件。
,