最近,用emos搭建了一个extmail邮件系统,该系统自带了4个web客户端应用:extmail、extman、monitor、phpmyadmin,它们大概功能如下:
extmail:用户收发邮件程序;
extman:邮件管理程序,域、用户等管理;
monitor:邮件系统监控程序,反映系统的一些运行参数;
phpmyadmin:mysql管理程序;
由于邮件系统是对外的,因此需要将邮件服务器对外开发,如果不将extman等程序分离出来,将大大影响安全性。为此,需要将extman、monitor、phpmyadmin分离出来。
方法如下:
1) 新增apache 监听端口 8080,将extman、monitor、phpmyadmin应用配置在8080端口下;
2) 保留extmail应用在80端口不变;
3) 对外只开放80、25、110等端口,用户只可收发邮件;
4) 对内开放80、25、110、8080等端口,内部用户可收发邮件,有权限的可以登录extman等管理程序。
具体配置如下:
1) httpd.conf修改,红色为增加部分
#Listen 12.34.56.78:80
Listen 80
Listen 8080
NameVirtualHost *:80
NameVirtualHost *:8080
2) vhost_extmail.conf,修改成如下
# VirtualHost for ExtMail Solution <VirtualHost *:80> ServerName emos.tmail.wahaha.com.cn DocumentRoot /var/www/extsuite/extmail/html/
ScriptAlias /extmail/cgi/ /var/www/extsuite/extmail/cgi/ Alias /extmail /var/www/extsuite/extmail/html/
# Suexec config SuexecUserGroup vuser vgroup </VirtualHost>
<VirtualHost *:8080> ServerName emos.tmail.wahaha.com.cn:8080 DocumentRoot /var/www/extsuite/extman/html/
ScriptAlias /extman/cgi/ /var/www/extsuite/extman/cgi/ Alias /extman /var/www/extsuite/extman/html/
Alias /monitor /var/www/extsuite/monitor/ <Directory "/var/www/extsuite/monitor/"> AllowOverride AuthConfig Order allow,deny Allow from all AuthType basic AuthName "Monitor Web User Interface" AuthUserFile "/usr/share/dspam/webui/cgi-bin/.htpasswd" require valid-user </Directory>
Alias /phpmyadmin /var/www/extsuite/phpmyadmin/ Alias /phpldapadmin /var/www/extsuite/phpldapadmin/htdocs/
# Suexec config SuexecUserGroup vuser vgroup </VirtualHost> |