1,解压安装
[iyunv@centos ~]#tar zxvf extmail-1.1.1.tar.gz
[iyunv@centos ~]# mkdir -pv /var/www/extsuite
mkdir: created directory `/var/www'
mkdir: created directory `/var/www/extsuite'
[iyunv@centos ~]# cp -R extmail-1.1.1 /var/www/extsuite/extmail
[iyunv@centos ~]# cp /var/www/extsuite/extmail/webmail.cf.default /var/www/extsuite/extmail/webmail.cf
[iyunv@centos ~]# vim /var/www/extsuite/extmail/webmail.cf
2、修改主配置文件
#vim /var/www/extsuite/extmail/webmail.cf
部分修改选项的说明:
SYS_MESSAGE_SIZE_LIMIT = 5242880
用户可以发送的最大邮件 SYS_USER_LANG = en_US 语言选项,可改作: SYS_USER_LANG = zh_CN SYS_MAILDIR_BASE = /home/domains 此处即为您在前文所设置的用户邮件的存放目录,可改作: SYS_MAILDIR_BASE = /var/mailbox SYS_MYSQL_USER = db_user SYS_MYSQL_PASS = db_pass 以上两句句用来设置连接数据库服务器所使用用户名、密码和邮件服务器用到的数据库,这里修改为: SYS_MYSQL_USER = extmail SYS_MYSQL_PASS = extmail SYS_MYSQL_HOST = localhost 指明数据库服务器主机名,这里默认即可 SYS_MYSQL_TABLE = mailbox SYS_MYSQL_ATTR_USERNAME = username SYS_MYSQL_ATTR_DOMAIN = domain SYS_MYSQL_ATTR_PASSWD = password 以上用来指定验正用户登录里所用到的表,以及用户名、域名和用户密码分别对应的表中列的名称;这里默认即可
SYS_MYSQL_SOCKET = /tmp/mysql.sock
由于我的mysql是编译安装的所以在 /tmp/mysql.sock下,可以做一个连接/var/lib/mysql/mysql.sock SYS_AUTHLIB_SOCKET = /var/spool/authdaemon/socket 此句用来指明authdaemo socket文件的位置,这里修改为: SYS_AUTHLIB_SOCKET = /usr/local/courier-authlib/var/spool/authdaemon/socket
3,extmail和http
由于extmail要进行本地邮件的投递操作,故必须将运行apache服务器用户的身份修改为您的邮件投递代理的用户;
本例中打开了apache服务器的suexec功能,故使用以下方法来实现虚拟主机运行身份的指定。只有在编译安装http的时候特别指定才可以,但是我这里没有考虑到这一点,所以有另外一个方法。
[iyunv@centos ~]# /usr/local/apache/bin/httpd -V
Server version: Apache/2.2.11 (Unix)
Server built: May 21 2013 14:12:11
Server's Module Magic Number: 20051115:21
Server loaded: APR 1.3.3, APR-Util 1.3.4
Compiled using: APR 1.3.3, APR-Util 1.3.4
Architecture: 64-bit
Server MPM: Prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/prefork"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=128
-D HTTPD_ROOT="/usr/local/apache"
-D SUEXEC_BIN="/usr/local/apache/bin/suexec"开启了 suexec的功能
-D DEFAULT_PIDLOG="logs/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_LOCKFILE="logs/accept.lock"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="conf/mime.types"
-D SERVER_CONFIG_FILE="conf/httpd.conf"
[iyunv@centos ~]# vim /usr/local/apache/conf/httpd.conf
<VirtualHost *:80> ServerName mail.test.com DocumentRoot /var/www/extsuite/extmail/html/ ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi Alias /extmail /var/www/extsuite/extmail/html SuexecUserGroup postfix postfix </VirtualHost>
修改 cgi执行文件属主为apache运行身份用户:
# chown -R postfix.postfix /var/www/extsuite/extmail/cgi/
如果您没有打开apache服务器的suexec功能,也可以使用以下方法解决:
# vi /etc/httpd/httpd.conf
User postfix Group postfix <VirtualHost *:80> ServerName 192.168.87.128
DocumentRoot /var/www/extsuite/extmail/html/ ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi Alias /extmail /var/www/extsuite/extmail/html
<Directory /var/www/extsuite> //目录权限
Options Indexes FollowSymLinks //允许符号链接,访问不在本目录下的文件
AllowOverride None //禁止读取.htaccess
Order allow,deny //指定先执行Allow访问规则,再执行Deny访问规则
Allow from all //允许访问所有
</Directory> </VirtualHost>
4、依赖关系的解决
extmail将会用到perl的Unix::syslogd功能,您可以去http://search.cpan.org搜索下载原码包进行安装。
[iyunv@centos ~]# tar zxvf Unix-Syslog-1.1.tar.gz
Unix-Syslog-1.1/
Unix-Syslog-1.1/README
Unix-Syslog-1.1/Changes
Unix-Syslog-1.1/test.pl
Unix-Syslog-1.1/Artistic
Unix-Syslog-1.1/Makefile.PL
Unix-Syslog-1.1/META.yml
Unix-Syslog-1.1/Syslog.pm
Unix-Syslog-1.1/Syslog.xs
Unix-Syslog-1.1/MANIFEST
[iyunv@centos ~]# cd usr/
[iyunv@centos usr]# cd
[iyunv@centos ~]# cd Unix-Syslog-1.1
[iyunv@centos Unix-Syslog-1.1]# perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for Unix::Syslog
[iyunv@centos Unix-Syslog-1.1]# make && make install
[iyunv@centos ~]# /usr/local/apache/bin/apachectl restart
|