搭建邮件服务器和论坛

简介: 今天一起来看看如何搭建自己的邮件服务器和论坛服务,使用的工具分别为 Ewomail 和 Discourse。

搭建邮件服务器


安装 Ewomail 还是很简单的,它支持一键式安装。

(重要,如果服务器上有其他软件,特别是 MySQL 时,请慎重安装!)


使用官网方法安装

直接使用官方文档安装即可(http://doc.ewomail.com/docs/ewomail/install),安装的时候,需要指定一个域名地址,地址就写自己申请的域名,或者安装之后再修改也是可以的。

yum -y install git
cd /root
git clone https://github.com/gyxuehu/EwoMail.git
cd /root/EwoMail/install
#需要输入一个邮箱域名,不需要前缀,列如下面的ewomail.cn
sh ./start.sh ewomail.cn

安装之后,会有 iptables,如果其他服务的端口不可访问,记得来检查下 iptables。


DNS 配置

需要准备好一个域名,并配置解析

image.png

如上图所示,需要增加一个 mail 的子域名,同时再增加一个 MX 类型的解析规则。


邮箱后台配置

上面两步完成之后,就可以打开邮箱管理后台了(http://IP:8010 (默认账号admin,密码ewomail123))

设置邮箱域名

可以添加邮箱的副域名

image.png

添加使用邮箱

添加邮箱,用于收发邮件

image.png

登陆客户端

Ewomail 提供了一个 WebMail 客户端,但是有时候登陆会存在问题。这里不再介绍。

我使用的是 Foxmail 客户端

新建账号

image.png

使用刚刚创建的邮箱登陆

设置服务器信息

image.png

如果密码,服务状态等信息都无误,点击创建之后,就成功创建了客户端。

接下来就可以发送邮件了,只是对于 QQ 邮箱,还是有被退信的危险,不过 163 邮箱我测试是成功的。

troubleshooting

如果以上配置完成之后,还存在问题,可以查看日志

/var/log/maillog

也可以修改配置文件中的相关信息

/etc/postfix/main.cf


基于 Discourse 搭建论坛


搭建 Discourse 论坛也很简单,直接使用 docker 形式安装即可。

Linux 版 docker 安装指南

https://github.com/discourse/discourse/blob/master/docs/INSTALL-cloud.md

两个比较重要的配置,email 和 域名,需要在安装前就准备好,当然也可以先行安装,然后修改 app.yml 配置文件,再进行 rebuild 操作。


执行命令

./discourse-setup


命令行输入

Hostname for your Discourse? [discourse.example.com]: 
Email address for admin account(s)? [me@example.com,you@example.com]: 
SMTP server address? [smtp.example.com]: 
SMTP port? [587]: 
SMTP user name? [user@example.com]: 
SMTP password? [pa$$word]: 
Let's Encrypt account email? (ENTER to skip) [me@example.com]:

开始的安装,由于还没有 app.yml,所以有些配置不能做修改。


安装完成后,会生成一个目录

/var/discourse/containers

该目录下有一个 app.yml 文件


使用已经存在的 nginx 服务器

修改 app.yml 文件

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"
  - "templates/web.socketed.template.yml"
## Uncomment these two lines if you wish to add Lets Encrypt (https)
  #- "templates/web.ssl.template.yml"
  #- "templates/web.letsencrypt.ssl.template.yml"
## which TCP/IP ports should this container expose?
## If you want Discourse to share a port with another webserver like Apache or nginx,
## see https://meta.discourse.org/t/17247 for details
## expose:
##   - "80:80"   # http
##   - "443:443" # https

增加 "templates/web.socketed.template.yml" 配置,并注释掉 http 和 https 所在行。

Email 配置

这里的 email 服务器使用上面搭建的自有服务器。

修改 app.yml 文件

域名配置

修改 app.yml 文件

设置 DISCOURSE_HOSTNAME 参数为自有域名,如:talk.example.com

DISCOURSE_DEVELOPER_EMAILS: 'admin@example.com'
  DISCOURSE_SMTP_ADDRESS: smtp.example.com
  DISCOURSE_SMTP_PORT: 25
  DISCOURSE_SMTP_USER_NAME: admin@example.com
  DISCOURSE_SMTP_PASSWORD: "12345678"
  DISCOURSE_SMTP_ENABLE_START_TLS: false           # (optional, default true)

以上操作之后,都需要执行命令

cd /var/discourse
 ./launcher stop app
./launcher rebuild app

操作完成后,Discourse 论坛基本配置完成,可以正常访问及发送邮件。


几个规避操作

创建管理员

如果邮件还是有问题,就没有办法使用管理员登陆论坛,此时,可以做一个规避操作。

执行如下命令,进入 app,创建管理员。

./launcher enter app
rake admin:create
exit

切换通知邮箱地址

还可以手动切换邮箱地址,以此来绕过设置的 Discourse 邮件系统

./launcher enter app
rails r "SiteSetting.notification_email = 'discourse@yoursite.com'"
exit


troubleshooting

进入 app 后,可以查看日志

./launcher enter app
cd /var/www/discourse/log
tail -f production.log


OK,今天就分享到这里。

阅读原文

相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
4月前
|
Kubernetes 应用服务中间件 数据中心
kubernetes—五个概念入门(一)
kubernetes—五个概念入门(一)
79 0
|
6月前
|
Kubernetes 关系型数据库 MySQL
k8s教程(基础篇)-入门及案例
k8s教程(基础篇)-入门及案例
606 0
|
11月前
|
SQL 监控 druid
Druid未授权访问 漏洞复现
Druid未授权访问 漏洞复现
8033 0
|
云安全 安全
阿里云服务器25端口解封教程完美解决25端口开通问题
阿里云服务器25端口如何申请解封?默认阿里云25端口是封禁的,一般建议使用465端口代替,但是也可以申请解封25端口,阿小云来详细说下阿里云服务器25端口解封教程
7691 0
 阿里云服务器25端口解封教程完美解决25端口开通问题
|
5月前
|
网络协议 关系型数据库 数据安全/隐私保护
搭建邮件服务器和论坛
搭建邮件服务器和论坛
|
4月前
|
弹性计算 数据安全/隐私保护
已有阿里云ECS,如何一键部署幻兽帕鲁游戏?
如果您已经拥有阿里云的ECS云服务器,可以参考本篇文档一键部署爆火的幻兽帕鲁游戏!
49235 26
已有阿里云ECS,如何一键部署幻兽帕鲁游戏?
|
网络协议 Linux 网络安全
如何用阿里云实现内网穿透?如何在外网访问家里内网设备?
使用NPS自建内网穿透服务器教程,带WEB管理
19681 9
|
弹性计算 运维 云计算
如何搭建公司网站?
简介: 我们搭建企业网站有以下几种常见方式 1、自己建站。 2、使用模板建站。 3、招聘网站设计人员搭建网站。 4、找外面的网站设计公司。 5、由国内云计算厂商完成建站工作。
如何搭建公司网站?
|
7月前
|
存储 Linux Go
【git】安装体验Gitea 代码托管平台
【git】安装体验Gitea 代码托管平台
228 0
|
8月前
|
域名解析 Java Linux
Linux CentOS7搭建邮件服务器并用Foxmail和Java代码发送邮件(上)
Linux CentOS7搭建邮件服务器并用Foxmail和Java代码发送邮件(上)
457 0