安装iredmail之后,由于需要在路由器上做端口映射以便在外网访问webmail,因此端口不能和WEB服务的端口好冲突,所以需要修改邮件服务器的httpd服务的端口。

一、apache/httpd的http服务和https服务端口号都要修改。

  基本服务端口好办,iredmail默认安装下,修改/etc/httpd/conf/httpd.conf中的Listen一行即可,这里我改为8090

#Listen
Listen

  可是,roundcube的webmail服务都是使用的https服务,我们都知道https的默认端口是443,这个在哪里修改呢?后来找到这篇文章修改apache http/https 端口号,却发现我的/etc/httpd/conf目录下没extra子目录,更别提那个httpd-ssl.conf!我估计可能版本不同,经过一番搜索,找到/etc/conf.d/ssl.conf,估计就是他了,这里修改443为8093。

#Listen
Listen
.
.
.
##
## 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  -j ACCEPT
[root@mail2 ~]# iptables -A INPUT -p tcp -m tcp --dport -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'] = ;

另外,还要修改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服务端口号的更多相关文章

  1. 风尘浪子 只要肯努力,梦想总有一天会实现 WF工作流与Web服务的相互调用 —— 通过Web服务调用Workflow工作流(开发持久化工作流) _转

    如果你曾经负责开发企业ERP系统或者OA系统,工作流对你来说一定并不陌生.工作流(Workflow)是对工作流程及其各操作步骤之间业务规则 的抽象.概括.描述.工作流要解决的主要问题是:为实现某个业务 ...

  2. linux搭建apache服务并修改默认路径

    该篇文章主要讲解如何在linux服务器上搭建apache服务器,并修改指定的apache路径到自定义路径下 一:检查服务器上是否已安装apache,停止并卸载系统自带apache服务 命令为:rpm ...

  3. InfluxDB因修改默认数据目录导致服务无法正常运行的问题(权限问题)

    在实际的生产中,考虑的实际情况,我们会调整一些默认配置,例如,数据目录.InfluxDB修改默认的Data目录后,因权限问题,服务无法正常运行.以下是具体的分析测试过程. 配置文件为 /etc/inf ...

  4. Zabbix - 修改默认的 Web 访问URL

    背景 CentOS 7 64 Zabbix 4 LTS 使用RPM在线方式安装 修改过程 # 修改默认的访问路径:http://x.x.x.x/zabbix 修改为 http://x.x.x.x/ v ...

  5. 【Jenkins】修改Ubuntu下的jenkins端口号

    jenkins安装目录:/var/lib/jenkins jenkins日志目录:/var/log/jenkins/jenkins.logjenkins默认配置:/etc/default/jenkin ...

  6. 搭建服务器之www-向外提供视频服务by html5 video标签

    搭建好www服务器,主要目的有两个一个是试验下,另一个是想给女朋友个惊喜,给她个带视频的网页,嘿嘿当前测试下相应功能. 1,采用html5的视频功能:bideo标签. 源码如下: <!docty ...

  7. windows server 2008 r2 修改远程登入的端口号(3389)

    步骤:打开“开始→运行”,输入“regedit”,打开注册表,进入以下路径:[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal ...

  8. 如何修改即时聊天websocket的端口号

    需要修改2个地方 1.修改\src\main\java\com\woodstudio\framework\modules\chat\StartFilter.java里面的端口号   2.修改\src\ ...

  9. Windows Server服务器之介绍及版本信息

    Windows Server是Microsoft Windows Server System(WSS)的核心,Windows的服务器操作系统.每个Windows Server都与其家用(工作站)版对应 ...

随机推荐

  1. Linux考前突击

    ### 试题 --- http://blog.51cto.com/12612579/2056140 ### 涉及到的知识点 --- Linux之通配符https://www.cnblogs.com/0 ...

  2. 6个监控linux资源的快速工具

    系统管理员需要对服务器进行监控以确保其正常运行,通过这种方式管理员能够提前发现可能存在的问题并恢复系统,以避免麻烦的出现. Linux上有很多命令来监控不同的系统资源,如CPU使用率.内存使用情况.网 ...

  3. java中判断字节数组的编码方式是不是UTF-8

    1,用google的工具包,配置maven: <!-- https://mvnrepository.com/artifact/com.googlecode.juniversalchardet/j ...

  4. 解决mysql group by和count同时使用的问题

    例如这样一个表,我想统计email和passwords都不相同的记录的条数 CREATE TABLE IF NOT EXISTS `test_users` ( `email_id` ) unsigne ...

  5. [转]SSH和SSM对比总结

    原文地址:https://blog.csdn.net/peak_and_valley/article/details/52925032 当下流行的两种企业开发MVC开源框架,是我们Java程序猿必备知 ...

  6. swift @AUTOCLOSURE 和 ?? ||

    * {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-fami ...

  7. knockout.js模板绑定之利用Underscore.js模板引擎示例

    View代码 <h1>People</h1> <ul data-bind="template: { name: 'peopleList' }"> ...

  8. 在controller中无法通过注解@Value获取到配置文件中定义的值

    1. 默认的我们通常只在dao层用到jdbc的配置,然后使用到@Value注解获取到值. 这时候会在spring-dao扫描中加入下面配置 <context:property-placehold ...

  9. sql 表连接基本的语法

    SQL连接能够分为内连接.外连接.交叉连接. 1.内连接:内连接查询操作列出与连接条件匹配的数据行,它使用比較运算符比較被连接列的列值. 1.1 select * from Table1 as a, ...

  10. CLR、内存分配和垃圾回收

    一.CLR CLR:即公共语言运行时(Common Language Runtime),是中间语言(IL)的运行时环境,负责将编译生成的MSIL编译成计算机可以识别的机器码,负责资源管理(内存分配和垃 ...