前言:
本文着重描述CNFUG服务器具体的配置过程,其中包括了Apache,MySQL,Php,Qmail,Qmailadmin,vpopmail等……
这算是一个完整的服务器的配置过程了!希望大家看了这篇文档能够有所启发,能够更加灵活的运用FreeBSD构建
更强大的服务!
系统环境:
FreeBSD 4.8 Stable(具体如何将系统升级到Stable我就不多说了,请参考FreeBSD的Handbook)
Qmail安装路径/usr/local/qmail/
Vpopmail安装路径/home/vpopmail/
Apache安装路径/server/httpd/
Forum路径/www/cnfug/forum/htdocs/
Mail主页路径/www/cnfug/mail/htdocs/
Mail-cgi-bin路径/www/cnfug/mail/cgi-bin/
MySQL安装路径/server/mysql/
php安装路径/server/php/
源码存放路径/source/src/
源码编译路径/source/build/
安装MySQL
添加MySQL相应的用户和组
//安全设置:修改权限
#/server/mysql/bin/mysqld_safe &
#/server/mysql/bin/mysqladmin -u root password 'newpassword'
//修改MySQL的root密码!重要!
#/server/mysql/bin/mysql -u root -p 输入你的密码!你现在就应该可以用MySQL了!
安装Apache
添加Apache相关的用户和组(默认FreeBSD已经建立了该用户,如果没有请添加)
如果有,请做如下修改
安装PHP
LoadModule php4_module modules/libphp4.so
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps(这一行可以不添加)
安装Qmail
//建立安装目录
mkdir -p /usr/local/qmail/alias
//建立相关的用户和组
#pw groupadd nofiles
#pw useradd alias -g nofiles -m -d /usr/local/qmail/alias
-s /nonexistent
#pw useradd qmaild -g nofiles -d /usr/local/qmail -s /nonexistent
#pw useradd qmaill -g nofiles -d /usr/local/qmail -s /nonexistent
#pw useradd qmailp -g nofiles -d /usr/local/qmail -s /nonexistent
#pw groupadd qmail
#pw useradd qmailq -g qmail -d /usr/local/qmail -s /nonexistent
#pw useradd qmailr -g qmail -d /usr/local/qmail -s /nonexistent
#pw useradd qmails -g qmail -d /usr/local/qmail -s /nonexistent
查看建好的用户和组
安装Qmail
//执行make检查
#make setup check
./config-fast cnfug.org
//修正SMTP认证信息人员输入和任意更改电子邮件发信人地址的补丁
#cp qmail-smtpd.c qmail-1.03/
#patch < qmail-smtpd.patch.txt
#make qmail-smtpd
#cp qmail-smtpd /usr/local/qmail/bin/qmail-smtpd
//建立邮件帐号的别名
#cd /usr/local/qmail/alias
#touch .qmail-postmaster .qmail-mailer-daemon .qmail-root
#chmod 644 /usr/local/qmail/alias/.qmail*
//建立Qmail启动文件
#cp /usr/local/qmail/boot/home /usr/local/qmail/rc
#perl -i -pe 's/Mailbox/Maildir/' /usr/local/qmail/rc
#perl -i -pe 's/sendmail_enable="YES"/sendmail_enable="NONE"/'
/etc/rc.conf
#perl -i -pe 's/sendmail_submit_enable="YES"/sendmail_submit_enable="NO"/'
/etc/defaults/rc.conf
#perl -i -pe 's/sendmail_outbound_enable="YES"/sendmail_outbound_enable="NO"/'
/etc/defaults/rc.conf
#perl -i -pe 's/sendmail_msp_queue_enable="YES"/sendmail_msp_queue_enable="NO"/'
/etc/defaults/rc.conf
#mv /usr/lib/sendmail /usr/lib/sendmail.bak(在FreeBSD下该命令不需要)
#mv /usr/sbin/sendmail /usr/sbin/sendmail.bak
#chmod u+x /usr/local/qmail/bin/sendmail
#ln -s /usr/local/qmail/bin/sendmail /usr/lib/sendmail(在FreeBSD下该命令不需要)
#ln -s /usr/local/qmail/bin/sendmail /usr/sbin/sendmail
#mkdir -p /etc/qmail
#echo "csh -cf '/usr/local/qmail/rc &'">>/etc/qmail/start
#echo "/etc/qmail/smtp.sh">>/etc/qmail/start
安装ucspi-tcp
tar zxvf ucspi-tcp-0.88.tar.gz
cd ucspi-tcp-0.88
//生成tcp.smtp.cdb
echo "127.0.0.1:allow,RELAYCLIENT="\"\"
> /etc/qmail/tcp.smtp
/usr/local/qmail/bin/tcprules /etc/qmail/tcp.smtp.cdb /etc/qmail/tcp.smtp.tmp
< /etc/qmail/tcp.smtp
它的uid是3308,gid是3307
#chmod 755 /etc/qmail/smtp.sh
vpopmail的安装
在MySQL中添加vpopmail的用户!
#mkdir -p /home/vpopmail/etc
#pw groupadd vchkpw -g 89
#pw useradd vpopmail -u 89 -g 89 -d /home/vpopmail -s /nonexistent
#echo "/etc/qmail/start">>/etc/rc.conf
vi vmysql.h 修改一下内容
#define MYSQL_UPDATE_SERVER "localhost" (mysql服务器名)
#define MYSQL_UPDATE_USER "vpopmail" (用户名)
#define MYSQL_UPDATE_PASSWD "12345678" (改成你设置的密码)
#define MYSQL_READ_SERVER "localhost" (mysql服务器名)
#define MYSQL_READ_USER "vpopmail" (用户名)
#define MYSQL_READ_PASSWD "12345678" (改成你设置的密码)
#./configure --prefix=/home/vpopmail --enable-mysql=y --enable-incdir=/server/mysql/include/mysql --enable-libdir=/server/mysql/lib/mysql --enable-libs=/server/mysql/lib/mysql --enable-default-domain=cnfug.org --enable-passwd=n --enable-defaultquota=52428800s --enable-tcprules-prog=/usr/local/qmail/bin/tcprules --enable-tcpserver-file=/etc/qmail/tcp.smtp --enable-vpopuser=vpopmail --enable-vpopgroup=vchkpw --enable-ip-alias-domains=n --enable-roaming-users=y --enable-sqwebmail-pass=y --enable-qmaildir=/usr/local/qmail
#make
#make install-strip
#chmod +s /home/vpopmail/bin/vchkpw
#cd /home/vpopmai/bin/
#./vadddomain cnfug.org(添加一个cnfug.org的域,按提示输入postmaster的密码!)
#./vdeldomain cnfug.org(将cnfug.org域删除!目的是为了修改vpopmail的数据表的结构)
mysql>use vpopmail;
mysql>drop tables vpopmail;
再次通过/home/vpopmail/bin/vadddomain cnfug.org建立cnfug.org的域
#echo "/usr/local/qmail/bin/tcpserver -c 100 -v -l cnfug.org
-U -H -R 0 pop3 /usr/local/qmail/bin/qmail-popup cnfug.org
/home/vpopmail/bin/vchkpw /usr/local/qmail/bin/qmail-pop3d
Maildir 2>&1 | /usr/local/qmail/bin/splogger &">/etc/qmail/pop.sh
#chmod 755 /etc/qmail/pop.sh
安装ezmlm-0.53
在MySQL建立相关的用户和表
在你建立一个基于MySQL的maillist之前,你必须保证ezmlm库中已存在一个对应的表:
Ex:你想建一个基于MySQL的maillist:questions
在后面将通过QmailAdmin进行邮件列表的管理
安装autorespond
2.11安装autorespond
(对于qmailadmin-0.74版以上,必须使用2.0以上的版本)
#gcc -Wall -o autorespond autorespond.c
#cp autorepond /usr/local/qmail/bin/autorespond
安装Qmailadmin
在/home/vpopmail/domains/xxx.com下面建立一个.qmailadmin-limits文件(这个文件本身没有)
在里面写
这样用qmailadmin添加账号的最大数目就是100,每个邮箱的配额就是10485760,10M。。
变量: 数值型. maxaliases,maxforwards,maxautoresponder,maxmailinglists
变量:bool型
disable_pop,disable_imap,disable_dialup,disable_password_changing,disable_webmail,disable_external_relay
以上的变量只要在文件中存在就起作用,不用设值。
make
make install-strip
chmod 6755 /home/vpopmail/bin/vchkpw
安装sqwebmail
./configure --prefix=/usr/local/qmail/webmail --enable-unicode=gb2312 --with-authvchkpw --enable-cgibindir=/www/cnfug/mail/cgi-bin/ --enable-imagedir=/www/cnfug/mail/images/webmail --with-cachedir=/var/cache/webmail --enable-imageurl=/images/webmail --enable-mimetypes=/server/httpd/conf/ --disable-utf7-folder-encoding --enable-mimecharset=gb2312 --enable-default-domain=cnfug.org
#make configure-check
#make
#make install-strip
#make install-configure
/usr/local/qmail/webmail/libexec/authlib/authdaemond start
#cp /usr/local/qmail/webmail/authdaemonrc.dist /usr/local/qmail/webmail/authdaemonrc
/usr/local/qmail/webmail/libexec/authlib/authdaemond start
本功能正在开发中,目前不能使用,敬请原谅。
√ 期刊在线投稿: /journal/contribute.html
√ 本文打印于《CNFUG期刊》,欢迎访问 http://www.cnfug.net 获取更多技术文章。
© 2003-2006 CNFUG(China FreeBSD User Group) All rights reserved.
Powered by FreeBSD
支持,继续努力。