iredmail邮件服务器之修改默认的web服务端口号
安裝iredmail之后,由于需要在路由器上做端口映射以便在外網訪問webmail,因此端口不能和WEB服務的端口好沖突,所以需要修改郵件服務器的httpd服務的端口。
一、apache/httpd的http服務和https服務端口號都要修改。
基本服務端口好辦,iredmail默認安裝下,修改/etc/httpd/conf/httpd.conf中的Listen一行即可,這里我改為8090
#Listen 80 Listen 8090可是,roundcube的webmail服務都是使用的https服務,我們都知道https的默認端口是443,這個在哪里修改呢?后來找到這篇文章修改apache http/https 端口號,卻發現我的/etc/httpd/conf目錄下沒extra子目錄,更別提那個httpd-ssl.conf!我估計可能版本不同,經過一番搜索,找到/etc/conf.d/ssl.conf,估計就是他了,這里修改443為8093。
#Listen 443 Listen 8093.
.
.
##
## SSL Virtual Host Context
##
#<VirtualHost _default_:443>
<VirtualHost _default_:8093>
? 修改保存后,重新啟動httpd服務
[root@mail2 ~]# service httpd restart二、添加iptables防火墻規則,開放新的端口號
這個沒啥可說的,新建兩條規則,開放新修改的端口,注意保存就行。
[root@mail2 ~]# iptables -A INPUT -p tcp -m tcp --dport 8090 -j ACCEPT [root@mail2 ~]# iptables -A INPUT -p tcp -m tcp --dport 8093 -j ACCEPT [root@mail2 ~]# service iptables save三、修改roundcube的配置文件和小bug
此時如果直接用https端口去訪問webmail已經可以了,但是如果使用http方式訪問,然后由roundcube實現https強制跳轉,則roundcube形成的還是默認的https端口地址形式,所以訪問失敗。比如,我現在的http地址為
http://192.168.5.26:8090/mail
則roundcube自動跳轉為
https://192.168.5.26/mail
此時需要修改roundcube的配置文件,在我的版本中為/var/www/roundcubemail/config/config.inc.php(新版本是這個文件,而不是網上所說的舊版文件main.inc.php)
$config['force_https'] = true;將上面這行修改為:
$config['force_https'] = 8093;另外,還要修改index.php中的一個小bug(可能是,我用chrome瀏覽時報錯說本頁有循環跳轉代碼)
代開/var/www/roundcubemail/index.php文件,找到下面這行
// check if https is required (for login) and redirect if necessary if (empty($_SESSION['user_id']) && ($force_https = $RCMAIL->config->get('force_https', false))) {修改為下面這行(就是加了一個判斷,當前地址是否處于https模式)
// check if https is required (for login) and redirect if necessary if ($_SERVER["HTTPS"]<>"on" && empty($_SESSION['user_id']) && ($force_https = $RCMAIL->config->get('force_https', false))) {四、沒有第四,打完收工:)
最后,別忘了重起一下服務
[root@mail2 roundcubemail]# apachectl restart?
總結
以上是生活随笔為你收集整理的iredmail邮件服务器之修改默认的web服务端口号的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 创建动画
- 下一篇: Tomcat 6.0 简介