- 论坛徽章:
- 0
|
首先确认bsd系统已经安装ports,perl
安装cvsup进行更新软件列表
#cd /usr/ports/net/cvsup-without-gui
#make install clean
clean是安装完后删除源文件,安装完后,重新启动系统
#ee /usr/share/example/cvsup/ports-supfile
*default host=cvsup.freebsd.org
#cvsup /usr/share/example/cvsup/ports-supfile
置主机名与路由
#ee /etc/rc.conf
ifconfig_lnc0=" inet ?.?.?.? netmask ?.?.?.?"
defaultouter="?.?.?.?"
hostname="mail.456789.net"
这一步一次不行,多执行几次,即可更新
lnc0是我的网卡名称,可以根据不同进行替换
1.1 安装mysql
#cd /usr/ports/databases/mysql41-server
#make install clean
在/etc/rc.conf中加入mysql_enable="YES"即可随机启动mysql
#cp /usr/local/share/mysql/my-medium.cnf /usr/local/etc/my.cnf
#ee /usr/local/etc/my.cnf
[mysqld]
bind_address=127.0.0.1
在my.cnf中添加地址帮定,以提高安全性
1.2 安装Apache
mail# cd /usr/ports/www/apache20
mail# make install clean
编辑/etc/rc.conf,加入
apache2_enable="YES"
1.3 安装PHP
mail# cd /usr/ports/www/mod_php4
mail# make install clean
除了debug与ipv6不选外,其他都选上
安装需要的PHP扩展模块
mail# cd /usr/ports/lang/php4-extensions
我选择了下面的模块:
[X] BCMATH bc style precision math functions
[X] BZ2 bzip2 library support
[X] CALENDAR calendar conversion support
[X] CRACK crack support
[X] CTYPE ctype functions
[X] CURL CURL support
[X] FTP FTP support
[X] GD GD library support
[X] GETTEXT gettext library support
[X] FILEINFO fileinfo support
[X] IMAP IMAP support
[X] MBSTRING multibyte string support
[X] MCAL Modular Calendar Access Library support
[X] MCRYPT Encryption support
[X] MCVE MCVE support
[X] MHASH Crypto-hashing support
[X] MYSQL MySQL database support
[X] PCRE Perl Compatible Regular Expression support
[X] POSIX POSIX-like functions
[X] SESSION session support
[X] TOKENIZER tokenizer support
[X] XML XML support
[X] ZLIB ZLIB support
mail# make install clean \*其中会出现错误,是由于fileinfo因起的,可以
cp magic.h /usr/include
cp fileinfo.o /usr/local/lib/php/20020429 *\即可
#cd /usr/local/etc/
#cp php.ini-dist php.ini
最后在编辑/usr/local/etc/apache2/httpd.conf最后加入:
DirectoryIndex index.html index.html.var index.php index.cgi
#注:在DirectoryIndex这里加入index.php,是为了让apache支持首页为index.php的首页文件
index.cgi是为了支持extmail的首页
#AddType application/x-tar .tgz
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
1.4 安装ZendOptimizer
file:///F:/oly-tool/olylinux/extmail_bsd/olylinux_bsd_files/zendoptimizer.jpg
1.5 安装openssl
#cd /usr/ports/security/openssl-beta
#make install clean
1.6 设置数据库
file:///F:/oly-tool/olylinux/extmail_bsd/olylinux_bsd_files/extman.jpg
假如要更新extman,第二次导入数据库时会出现错误,可以利用以下方法解决:
//注意:如果遇到提示错误提示Duplicate entry…key ..
表示以前在mysql中有其记录未清理完全,可以在报错的行前加
# ee webman.cf
delete from user where User in (‘extmail’,’webman’);
delete from dbwhere User in (‘extmail’,’webman’);]
1.7 安装courier-imap/authlib
file:///F:/oly-tool/olylinux/extmail_bsd/olylinux_bsd_files/courier-imap.jpg
1.8 安装cyrus-sasl
file:///F:/oly-tool/olylinux/extmail_bsd/olylinux_bsd_files/cyrusosasl.jpg
1.9 安装maildrop
# cd /usr/ports/mail/maildrop/
# make install clean
重新启动即可生效
# maildrop -v 查看版本信息
2.0 安装postfix
file:///F:/oly-tool/olylinux/extmail_bsd/olylinux_bsd_files/postfix.jpg
2.0.1
配置服务器
#mkdir -p /home/domains
#chown postfix:postfix /home/domains
a)创建/etc/periodic.conf
file:///F:/oly-tool/olylinux/extmail_bsd/olylinux_bsd_files/periodic.jpg
b)配置postfix
修改/usr/local/etc/postfix/main.cf 在文件最后加入下面内容
#====================BASE=========================
myhostname = mail.456789.net
mydomain = 456789.net
myorigin = $mydomain
mydestination = $myhostname localhost localhost.$mydomain
mynetworks = 127.0.0.0/8
inet_interfaces = all
#=====================Vritual Mailbox settings=========================
virtual_mailbox_base = /home/domains
virtual_mailbox_maps = mysql:/usr/local/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_mailbox_domains = mysql:/usr/local/etc/postfix/mysql_virtual_mailbox_domains_maps.cf
virtual_alias_domains =
virtual_alias_maps = mysql:/usr/local/etc/postfix/mysql_virtual_alias_maps.cf
virtual_uid_maps = static:125
virtual_gid_maps = static:125
virtual_transport = maildrop
maildrop_destination_recipient_limit = 1
maildrop_destination_concurrency_limit = 1
#====================QUOTA========================
message_size_limit = 14336000
virtual_mailbox_limit = 20971520
virtual_create_maildirsize = yes
virtual_mailbox_extended = yes
virtual_mailbox_limit_maps = mysql:/usr/local/etc/postfix/mysql_virtual_mailbox_limi
virtual_mailbox_limit_override = yes
virtual_maildir_limit_message = Sorry, the user's maildir has overdrawn his disk
virtual_overquota_bounce = yes
#====================SASL========================
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_invalid_hostname,
reject_non_fqdn_hostname,
reject_unknown_sender_domain,
reject_non_fqdn_sender,
reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
reject_unauth_pipelining,
reject_unauth_destination,
permit
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous
smtpd_sasl_application_name = smtpd
smtpd_banner=$myhostname ESMTP "Version not Available"
确认/usr/local/etc/postfix/master.cf有下面内容
maildrop unix - n n - - pipe
flags=DRhu user=postfix:postfix argv=/usr/local/bin/maildrop -w 90 -d ${recipient}
将extman/docs目录下的mysql_virtual开头的文件cp到/usr/local/etc/postfix/
进行如下修改:
#cd /usr/local/etc/postfix
# ee mysql_virtual_alias_maps.cf
user = extmail
password = extmail
hosts = localhost
dbname = extmail
#table = alias
#select_field = goto
#where_field = address
#additional_conditions = AND active = '1'
query = SELECT goto FROM alias WHERE address ='%s' AND active = 1
# mv mysql_virtual_domains_maps.cf mysql_virtual_mailbox_domains_maps.cf
# ee mysql_virtual_domains_maps.cf
user = extmail
password = extmail
hosts = localhost
dbname = extmail
#table = domain
#select_field = description
#where_field = domain
#additional_conditions = AND active = '1'
query = SELECT description FROM domain WHERE domain ='%s' AND active = 1
# mv mysql_virtual_limit_maps.cf mysql_virtual_mailbox_limit_maps.cf
# ee mysql_virtual_mailbox_limit_maps.cf
user = extmail
password = extmail
hosts = localhost
dbname = extmail
#table = mailbox
#select_field = quota
#where_field = username
#additional_conditions = AND active = '1'
query = SELECT quota FROM mailbox WHERE username ='%s' AND active = 1
# ee mysql_virtual_mailbox_maps.cf
user = extmail
password = extmail
hosts = localhost
dbname = extmail
#table = mailbox
#select_field = maildir
#where_field = username
#additional_conditions = AND active = '1'
query = SELECT maildir FROM mailbox WHERE username ='%s' AND active = 1
c) 配置courier-imap
file:///F:/oly-tool/olylinux/extmail_bsd/olylinux_bsd_files/courier.jpg
修改/usr/local/etc/authlib/authmysqlrc
MYSQL_SERVER localhost
MYSQL_USERNAME extmail
MYSQL_PASSWORD extmail
MYSQL_SOCKET /tmp/mysql.sock
MYSQL_DATABASE extmail
MYSQL_USER_TABLE mailbox
MYSQL_CRYPT_PWFIELD password
MYSQL_UID_FIELD '125'
MYSQL_GID_FIELD '125'
MYSQL_LOGIN_FIELD username
MYSQL_HOME_FIELD concat('/home/domains/',homedir)
MYSQL_MAILDIR_FIELD concat('/home/domains/',maildir)
MYSQL_NAME_FIELD name
#ee /usr/local/etc/authlib/etc/authdaemonrc
authmodulelist="authmysql"
authmodulelistorig="authmysql"
daemons=10
到此完成邮件服务环境设置
#tail -f /var/log/maillog 查看邮件日志信息,从这里可以排除很多问题
2.1 安装 p5-MIME-Base64
系统是在认证时使用的是BASE64编码
#cd /usr/ports/converters/p5-MIME-Base64/
#make install clean
2.2 安装防病毒,反垃圾邮件
a)安装clamav
file:///F:/oly-tool/olylinux/extmail_bsd/olylinux_bsd_files/clamav.jpg
重新启动
例如要查杀 /usr/local/www
#clamscan -r -i /usr/local/www
升级病毒库
#freshclam
b)安装MailScanner
file:///F:/oly-tool/olylinux/extmail_bsd/olylinux_bsd_files/mailscanner.jpg
以下操作可以仿照
for linux
最后如果遇见因为maildrop 无法接受邮件的原因,可以参考
http://extmail.org/forum/archive/3/0601/984.html
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/13650/showart_87629.html |
|