centos7 安装 iRedmail 后 给nginx添加虚拟主机
iRedmail安装参考官方文档和
https://ywnz.com/linuxyffq/4563.html
准备工作
更新操作系统
yum update -y
安装必要组件
yum install perl perl-core ntpl nmap sudo libidn gmp libaio libstdc++ unzip sysstat wget nc -y
停止任何安装在该Centos7 Server上面的 MTA服务
systemctl stop postfix
systemctl disable postfix
systemctl stop sendmail
systemctl disable sendmail
修改主机名vi /etc/hostname 改成mail.abc.net
还有/etc/hosts 和,/etc/sysconfig/network 两个地方都要改成IP 主机名形式
127.0.0.1 mail.abc.net localhost
接着开始安装
bash iReadmail.sh
注册数据库的选择,还有要两次输入密码,第一次是数据库,第二次是管理密码
安装完成后reboot。
进行ssl证书申请
yum install certbot
certbot certonly --webroot --agree-tos --email abc.net -d mail.abc.net -w /var/www/html/
装好iRedmail之后,用Let's Encrypt生成证书并修改相关位置,使webmail以及SMTP/IMAP都开启ssl。
再根据生成的iRedMail.tips文件,修改mysql(mariadb)的root用户名密码和权限(有需要的话)。
给nginx添加虚拟主机,修改/etc/nginx/sites-enabled里面的两个文件,一个ssl,一个非ssl
新建的虚拟主机要开ssl的话,一样的操作
certbot certonly -d abc.com -d www.abc.com
出来的选项,选第3个,然后输入绑定的webroot目录,如
/var/www/hosts/abc.com
会生成相应的证书文件。
然后打开非ssl配置文件00-default.conf,在后面添加,因为我要让非ssl的直接跳转到https
server {
if ($host = abc.com) {
return 301 https://www.abc.com$request_uri;
}
if ($host = www.abc.com) {
return 301 https://www.abc.com$request_uri;
}
ssl配置文件中,修改原来的server_name _为server_name mail.abc.net在后面添加,做了修改,以支持PHP
server {
listen 443 ssl;
# listen [::]:443 ssl;
server_name abc.com www.abc.com;
ssl_certificate /etc/letsencrypt/live/abc.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/abc.com/privkey.pem;
location / {
root /var/www/hosts/abc.com;
index index.php index.html index.htm;
}
location ~ \.php$ {
root /var/www/hosts/abc.com;
fastcgi_pass 127.0.0.1:9999;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
重启nginx即可
systemctl restart nginx.service
mysql 远程连接时注意修改防火墙
# 查询端口是否开放
firewall-cmd --query-port=/tcp
# 开放3306端口
firewall-cmd --permanent --add-port=/tcp
# 移除端口
firewall-cmd --permanent --remove-port=/tcp #重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
php的配置文件在/etc/php.ini,需要修改上传文件大小的限制,max_execution_time,upload_max_filesize,post_max_size,还有/etc/nginx/conf-enabled/client_max_body_size.conf里的client_max_body_size一并修改
修改php设置(/etc/php.ini)
memory_limit = 512M;
upload_max_filesize = 512M;
post_max_size = 512M;
修改 /opt/www/roundcubemail/.htaccess
在末尾加上
php_value memory_limit 512M
php_value upload_max_filesize 512M
php_value post_max_size 512M
重启服务service php-fpm restart
最后修改的地方
postconf -e message_size_limit='536870912'
postconf -e mailbox_size_limit='536870912'
/sbin/service postfix restart
如果用客户端发送,那关于附件大小的限量就只需要最后一步就行了。
修改后,要systemctl restart php-fpm 一下。
另外,注意将/etc/nginx/templates/roundcube.tmpl文件里的跳转到mail目录的代码注释掉,以防后面添加的虚拟主机访问时,会被跳转
# Redirect URI `/mail` to `/mail/`.
#location = /mail {
# return /mail/;
#}
如果更改了mysql的root密码,记得 vi /root/.my.cnf文件,修改一下,不然系统在自动备份邮件操作时会失败
另外,域名的自动续期要加一下,每隔60天凌晨4点自动续,证书有效期90天,所以,没有必要太频繁
*/ * * /bin/certbot renew --renew-hook "/sbin/service nginx reload"
另外,修改界面方面:
/opt/www/roundcubemail-1.4.2/config
里的$config['product_name']可以改一下
还可以使用别名,
参考:http://www.iredmail.org/docs/sql.create.mail.alias.html
centos7 安装 iRedmail 后 给nginx添加虚拟主机的更多相关文章
- nginx 添加虚拟主机 支持php 伪静态
1添加虚拟主机 进入 /usr/local/nginx/conf/vhost 目录, 创建虚拟主机配置文件 demo.neoease.com.conf ({域名}.conf). 2. 打开配置文件, ...
- [转] linux学习第四十四篇:Nginx安装,Nginx默认虚拟主机,Nginx域名重定向
Nginx安装 进入存放源码包的目录: cd /usr/local/src 下载源码包: wget http://nginx.org/download/nginx-1.12.1.tar.gz 解压: ...
- nginx的安装 、Nginx默认虚拟主机、nginx用户认证、nginx 域名重定向
1.nginx:官网:www.nginx.org 下载:wget -c http://nginx.org/download/nginx-1.14.0.tar.gz解压:tar -zxvf nginx ...
- Centos7安装成功后,网卡配置及更改镜像地址为国内镜像
Centos7安装成功后,网卡配置及更改镜像地址为国内镜像 一.网卡配置 二.修改网络配置 踩坑一:IPADDR 踩坑二:网关,DNS与本地不一致 重启网络服务 三.镜像修改为aliyun 四.相关知 ...
- 烂泥:使用nginx利用虚拟主机搭建WordPress博客
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 最近开始打算学习nginx web服务器,既然是学习还是以实用为目的的.我们在此以搭建WordPress博客为例. 搭建WordPress博客,我们需要 ...
- Linux安装Nignx基于域名的多虚拟主机实战
看这个文章之前,要保证你的Nginx已经安装成功! 如果没有,请移步到下面这个文章,看完后再回来看! https://www.cnblogs.com/apollo1616/p/10214531.htm ...
- 编译安装基于 fastcgi 模式的多虚拟主机的wordpress和discuz的LAMP架构
目录 实现CentOS 7 编译安装基于 fastcgi 模式的多虚拟主机的wordpress和discuz的LAMP架构 准备环境: 准备软件版本: 主机名修改用以区分 数据库服务器 实现数据库二进 ...
- Nginx中虚拟主机配置
一.Nginx中虚拟主机配置 1.基于域名的虚拟主机配置 1.修改宿主机的hosts文件(系统盘/windows/system32/driver/etc/HOSTS) linux : vim /etc ...
- LNMP一键安装包添加虚拟主机、删除虚拟主机及如何使用伪静态
本文主要介绍LNMP一键安装包添加虚拟主机.删除虚拟主机及如何使用伪静态. 一.添加虚拟主机通俗点就是在VPS/服务商上添加一个网站(域名). 需要执行如下命令:/root/vhost.sh 执行后会 ...
随机推荐
- vue 项目使用JSbrideg.js与app通信
一.建立JSbrideg.js文件 var jsBridge = { isAndroid: null, isIOS: null, callHandlerFunc: functi ...
- 【转】经典的SQL语句面试题
Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname,T#) 课程表SC(S#,C#,score) 成绩表Teacher(T#,Tname) 教师表 问题: 1 ...
- 【转】Java集合框架面试问题集锦
Java集合框架(例如基本的数据结构)里包含了最常见的Java常见面试问题.很好地理解集合框架,可以帮助你理解和利用Java的一些高级特性.下面是面试Java核心技术的一些很实用的问题. Q:最常见的 ...
- Java 中的foreach(增强for循环)
foreach概述 增强for循环:底层使用的是送代器,使用for循环的格式,简化了送代器的书写,foreach是JDK1.5之后出现的新特性 使用增强for循环 遍历集合 /** * 遍历集合 * ...
- 树形dp - 求树的直径
随着杭州西湖的知名度的进一步提升,园林规划专家湫湫希望设计出一条新的经典观光线路,根据老板马小腾的指示,新的风景线最好能建成环形,如果没有条件建成环形,那就建的越长越好. 现在已经勘探确定了n个位置可 ...
- cf 450b 矩阵快速幂(数论取模 一大坑点啊)
Jzzhu has invented a kind of sequences, they meet the following property: You are given x and y, ple ...
- 替代not in 和 in 的办法
在程序中,我们经常会习惯性的使用in和not in,在访问量比较小的时候是可以的,但是一旦数据量大了,我们就推荐使用not exists或者外连接来代替了.如果要实现一张表有而另外一张表没有的数据时, ...
- Nginx的一理解(1)
1.请解释一下什么是Nginx? 答:Nginx是一个web服务器和反向代理服务器,用于HTTP.HTTPS.SMTP.POP3和IMAP协议. 2.请列举Nginx的一些特性? 答:Nginx服务器 ...
- AD19覆铜与边框间距设置方法
转载请注明出处,并附带本文网址https://www.cnblogs.com/brianblog/p/9894867.html, 由于高版本AD不能将机械层直接转变为KEPP OUT LAYER层,所 ...
- 巨坑练习题!!!—— Car的旅行线路
在看题目之前,请童鞋们做好心理准备╮(╯▽╰)╭ 题目描述 又到暑假了,住在城市A的Car想和朋友一起去城市B旅游. 她知道每个城市都有四个飞机场,分别位于一个矩形的四个顶点上,同一个城市中两个机场之 ...