在安装之前先确认系统中已经有编译安装好的LAMP架构
<!--[endif]-->编译安装postfix 由于系统中有rpm安装的postfix,需要将其卸载掉,并且停止掉sendmail服务,然后才能够开始安装。 service sendmail stop 当前关闭 chkconfig sendmail off 永久关闭 (1)、从官方站点http://mirror.postfixchina.org下载源码包,postfix-2.4.6.tar.gz,并从站点http://vda.sourceforge.org下载补丁包postfix-2.4.6-vda-ng.patch.gz 创建postfix的用户和组: #groupadd -g 1200 postdrop
#groupadd -g 1000 postfix
#useradd -u 1000 -g postfix -G postdrop postfix (2)、解压并释放源码包 #tar zxvf postfix-2.4.6.tar.gz –C /usr/src
#gunzip postfix-2.4.6-vda-ng.patch.gz
#cd postfix-2.4.6
#patch -p1 < /补丁所在目录 /postfix-2.4.6-vda-ng.patch (3)、预编译配置参数 [iyunv@mail postfix-2.4.6]# make makefiles \ > 'CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include/mysql \ > -DUSE_SASL_AUTH \ > -DUSE_CYRUS_SASL -I/usr/include/sasl' \ > 'AUXLIBS=-L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lm \ > -L/usr/lib/sasl2 -lsasl2 ' 注意:“\”是命令换行标记,因为命令太长,所以用“\”换行输入 <!--[if !supportLists]-->l <!--[endif]-->AUXLIBS参数:指出位于标准位置之外的额外/辅助的函数库(Auxiliaries Libraries),-lmysqlclient、-lz、-lm、-lsasl2中的”l“为字母L的小写 (4)、make编译,make install 安装 执行安装的时候,期间会遇到一些设置参数,直接按回车即可。 <!--[if !supportLists]-->三、 <!--[endif]-->修改配置文件 然后,再执行vim main.cf修改配置文件 Postfix的配置文件中也可以有几个选项: mynetworks = 192.168.0.0/24 //仅允许192.168.0.0网段访问 message_size_limit = 10484760 //设置邮件大小上限为10M mailbox_size_limit=209715200 //设置邮箱空间的上限为200M 设置完毕以后,就可以启动postfix服务了 echo “/usr/sbin/postfix start” >> /etc/rc.local postfix start <!--[if !supportLists]-->四、 <!--[endif]-->编译安装Dovecot 由于postfix只支持SMTP协议,所以它只能发邮件,不能接邮件。为了使用POP3协议和IMAP4协议接邮件,我们需要软件dovecot。在安装dovecot之前,我们需要为dovecot创建一个同名用户 Useradd –M –s /sbin/nologin dovecot 然后修改配置文件:vim /etc/dovecot.conf 创建验证文件: vim /etc/pam.d/dovecot
auth required pam_nologin.so
auth include system-auth
account include system-auth
session include system-auth
:wq 保存退出 启动服务:/usr/local/sbin/dovecot -c /etc/dovecot.conf
安装好了dovecot,并和postfix同时启动以后,还需要配置邮件的认证: #cp /usr/lib/sasl2/Sendmail.conf /usr/lib/sasl2/smtpd.conf #vim /usr/lib/sasl2/smtpd.conf 内容如下: pwcheck_method:sasluthd 启动服务: service saslauthd start
搭建完成的WEB界面,并支持Postfix虚拟用户
安装extman,并修改配置文件 #tar -xzf extman<tab> -C /usr/src #cd /usr/src/extman<tab>/docs #/usr/local/mysql/bin/mysql -u root < extmail.sql #/usr/local/mysql/bin/mysql -u root < init.sql 二、修改配置文件 #vim /etc/postfix/main.cf 其中mydestination那行,原文件有仅需要添加#符号即可 余下所有行需要手动添加至文件末尾
#mydestination = $mydomain, $myhostname
virtual_mailbox_base = /mailbox
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_uid_maps = static:1000
virtual_gid_maps = static:1000
复制数据库文件: #cp mysql_virtual_* /etc/postfix/ #cd /media/20<tab>
#tar -xjf courier<tab> -C /usr/src
#cd /usr/src/courier<tab>
#./configure --prefix=/usr/local/courier-authlib --without-stdheaderdir --with
-authmysql --with-redhat --with-mysql-libs=/usr/local/mysql/lib/mysql/ --with-
mysql-includes=/usr/local/mysql/include/mysql/ #make && make install #make install-configure #vim /etc/ld.so.conf 在该文件末尾添加一行 /usr/local/courier-authlib/lib/courier-authlib 保存退出后,执行命令ldconfig 修改第一个配置文件: #vim /usr/local/courier-authlib/etc/authlib/authdaemonrc 27行改为:authmodulelist="authmysql" 34行改为:authmodulelistorig="authmysql" 修改一下权限: #chmod -R 755 /usr/local/courier-authlib/var/spool/authdaemon/ 修改第二个配置文件: #vim /usr/local/courier-authlib/etc/authlib/authmysqlrc <!--[if !vml]--> http://file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtmlclip1/01/clip_image003.gif<!--[endif]-->备注:参数分别位于,26,27,28,49,68,83,92,113,119,128,133,139,150行。
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 uidnumber
MYSQL_GID_FIELD gidnumber
MYSQL_LOGIN_FIELD username
MYSQL_HOME_FIELD concat('/mailbox/',homedir)
MYSQL_NAME_FIELD name
MYSQL_MAILDIR_FIELD concat('/mailbox/',maildir) #cp /usr/src/courier<tab>/courier-authlib.sysvinit /etc/init.d/courier-authlib
#chmod 755 /etc/init.d/courier-authlib #service courier-authlib start
#cp /usr/lib/sasl2/Sendmail.conf /usr/lib/sasl2/smtpd.conf
#vim /usr/lib/sasl2/smtpd.conf
pwcheck_method:authdaemond
authdaemond_path: /usr/local/courier-authlib/var/spool/authdaemon/socket
配置Dovecot,使之支持收取数据库邮件,注意内容原文件有,仅需去#符号即可,行号大约为:208,790,899,962行左右。
driver = mysql
connect = host=localhost dbname=extmail user=extmail password=extmail
default_pass_scheme = CRYPT
password_query = SELECT username AS user,password AS password FROM mailbox
WHERE username = '%u'
user_query = SELECT maildir, uidnumber AS uid, gidnumber AS gid FROM mailbox
WHERE username = '%u'
创建目录,并修改其权限 #mkdir -p /mailbox/extmail.org/postmaster/Maildir/ #chown -R postfix:postfix /mailbox 最后,部署Extmail邮件系统(支持使用浏览器收发邮件) #cd /media/20<tab> #tar -xzf Unix-Sys<tab> -C /usr/src #tar -xzf DBI<tab> -C /usr/src #tar -xzf DBD<tab> -C /usr/src #tar -xzf extmail<tab> -C /usr/src #PATH=$PATH:/usr/local/mysql/bin/ #cd /usr/src/Unix<tab> #perl Makefile.PL #make && make install #cd /usr/src/DBI<tab> #perl Makefile.PL #make && make install #cd /usr/src/DBD<tab> #perl Makefile.PL #make && make install #mv /usr/src/extmail<tab> /usr/local/apache2/htdocs/extmail将网站拷贝到apache目录下发布网站。 修改webmail使得该网站可以连接数据库: #vim /usr/local/apache2/htdocs/extmail/webmail.cf 以下内容行号:2,5,8,112,124,125,126,127,128 SYS_CONFIG = /usr/local/apache2/htdocs/extmail/ SYS_LANGDIR = /usr/local/apache2/htdocs/extmail/lang SYS_TEMPLDIR = /usr/local/apache2/htdocs/extmail/html SYS_MAILDIR_BASE = /mailbox SYS_MYSQL_USER = extmail SYS_MYSQL_PASS = extmail SYS_MYSQL_DB = extmail SYS_MYSQL_HOST = localhost SYS_MYSQL_SOCKET = /tmp/mysql.sock #vim /usr/local/apache2/conf/httpd.conf NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot "/usr/local/apache2/htdocs/extmail/html/" ServerName mail.example.com ScriptAlias /extmail/cgi/ /usr/local/apache2/htdocs/extmail/cgi/ Alias /extmail /usr/local/apache2/htdocs/extmail/html/ ScriptAlias /extman/cgi /usr/local/apache2/htdocs/extman/cgi Alias /extman /usr/local/apache2/htdocs/extman/html/ </VirtualHost> !!注意:SuexecUserGroup postfix postfix 该行不可输入,否则报错! 该文件的66,67行,需要修改为 User postfix Group postfix 完成!!!在Windows XP上使用IE浏览器访问,Linux服务器网页即可 |