Featured image of post 折腾新的服务器

折腾新的服务器

嗯?我钱呢?

前言

好久没写东西了,之前的低烧腹泻可折腾死我了,现在总归好点了(大概)。现在写写之前买的新服务器搭建邮件服务的内容。

折腾

最初只是想搭建个邮件服务器来给自己提供邮件中转服务。这里我选用了开源的Mailu项目来搭建,其推荐搭建方式是使用Docker搭建,因此被迫去学习了会Docker的使用方法,意外发现Docker部署项目也挺方便的。

Docker安装

没啥好说,参照Docker官方教程一步步走就完事。
官方文档(Debian):传送门

Mailu部署

按照Mailu安装文档教程走。
Mailu文档:传送门

官方还提供了配置自动生成页面,填上配置就可以直接生成配置文件。
配置自动生成页面:传送门

按自己需求填写完成提交后,页面会告诉你下一步的操作,跟着说明走,如下图所示。

在对应的目录中,下载docker-compose.yml和mailu.env的配置文件,再通过docker-compose命令让Docker启动服务,即可搭建完成,简单粗暴。

Docker端口映射和UFW的一些问题

因为服务器习惯性安装了UFW,仗着默认端口全屏蔽,让Mailu服务端口监听了全接口(0.0.0.0),然后发现UFW怎么也堵不住Docker映射出去的端口,于是谷歌查询资料后才知道,Docker的端口映射是通过操作iptables功能来实现的,而UFW作为iptables前端,无法直接管理Docker映射出来的端口,所以才出现了这样的问题。
其问题的解决方法也有很多,例如这个项目的解决方案:传送门
我看着嫌麻烦,就直接让Docker仅监听本地接口(127.0.0.1),再通过外部Nginx反向代理实现外部端口的访问,正好也能方便地套上HTTPS,这样问题就解决了。

剩余步骤

邮件服务搭建完成后,还需要给域名设置MX、SPF、DKIM、DMARC条目,不然邮件服务不能正常收件或被各大邮件平台当垃圾邮件拒收。首先到Mailu的域信息页面生成DKIM密钥,再把上面的所有条目都填进域名的DNS记录里,如下图所示:

完成这些步骤之后,就可以找一些邮件测试平台测试下邮件的接受程度,这里使用了Mail Tester进行评分,评分结果如下:

评分不算高,主要扣分点还是在于没有设置rDNS和不可信的TLD,不过自己用谷歌邮箱和QQ邮箱测试过了,都能对自建邮箱进行正常收发作业,就懒得再改进了,凑合着用就行。

物尽其用

搭建完邮箱服务,看着服务器剩余的大量性能陷入了沉思,不能让我服务器钱白白花了,于是又准备去搭建了几个Docker服务。

Umami

Umami是一个开源的网站访问统计系统,之前给博客做访问量统计的时候就有考虑使用这个系统,奈何托管博客的服务器性能弱,没法支撑太多的服务。不过有了新服务器且性能充沛,那我就给它整上。
搭建过程就不再赘述,到Github去下载Umami项目的docker-compose.yml,然后使用命令(docker compose up -d)就完事,因为默认没有SSL加密,因此别忘了在docker-compose.yml里修改docker监听地址改为本地接口,然后让外部Nginx反向代理并套上SSL更能保证页面安全。
Umami项目:传送门

我可怜的博客访问量

ChatGPT-Web

之前有两大学生找我想体验一下ChatGPT,鉴于之前了解过OpanAI注册需要海外手机号和银行卡,以及如何给它充值等各种麻烦问题,就没折腾下去。但在体验某个社畜家的个人ChatGPT网站后,就向他探讨了他的解决方案。好家伙,原来在万能的某宝上可以直接买到ChatGPT的API Key,而且只需要5块钱就能买到5美元的额度,这不赶紧整一个。顺带一说,这类API Key都是来自新注册OpenAI账号,注册就送了5美元的额度,尽管不能给它充值,但是它便宜啊,用完再换一个就完事。效仿社畜朋友的方案,买个API Key,再用它搭建个代理网站,这里使用了ChatGPT-Web项目,搭建方法就和上面搭建Umami差不多,配置好docker-compose.yml就可以直接启动了。
ChatGPT-Web项目:传送门