CENTOS8 docker部署poste.io邮件服务器

环境介绍:
CENTOS8
宝塔面板

1.安装docker并下载poste.io镜像

面板后台安装Docker管理器 3.0

Docker管理器 3.0 -镜像管理-获取镜像-官方库-analogic/poste.io

到这里docker准备就完成了

2.系统环境配置及DNS解析准备

SSH登录主机设置hostname

查看当前主机名hostnamectl

sudo hostnamectl set-hostname mx.90il.com
sudo systemctl restart systemd-hostnamed
3.域名处DNS解析配置

以下88.88.88.88代表你的邮箱服务器IP

域名记录类型记录值优先级
90il.comAAny_IP
mx.90il.comA88.88.88.88
90il.comMXmx.90il.com10
mail.90il.comCNAMEmx.90il.com
smtp.90il.comCNAMEmx.90il.com
imap.90il.comCNAMEmx.90il.com
90il.comTXTv=spf1 mx ~all
_dmarc.90il.comTXTv=DMARC1; p=none; rua=mailto:dmarc_report@90il.com

dmarc解释

v:版本(纯文本;必要的)值为“DMARC1”,必须作为第一个标签。

p:用于告知收件方,当检测到某邮件存在伪造发件人的情况,收件方要做出什么处理,reject为拒绝该邮件;none为不作任何处理;quarantine为将邮件标记为垃圾邮件。

rua:发送综合反馈的邮件地址(逗号分隔的DMARC URI纯文本列表;可选的)

ruf:用于当检测到伪造邮件,收件方须将检测结果发送到哪个邮箱地址。

服务器设置RDNS

服务器RDNS需要服务商支持,部分服务商可在后台自己设置,部分需要提交工单,建议联系客服添加

88.88.88.88  PTR  mx.90il.com
4.启动docker
docker run \
    --net=host \
    -v /home/data:/data \
    --name "mailserver" \
    -h "mx.90il.com" \
    -e "TZ=Asia/Shanghai" \
    -e "HTTP_PORT=5080" \
    -e "HTTPS_PORT=5443"\
    -e "DISABLE_CLAMAV=TRUE" \
    -e "DISABLE_RSPAMD=TRUE" \
    -itd  analogic/poste.io
命令解释:
  • net=host 邮件服务器将使用主机网络堆栈(请参阅https://docs.docker.com/network/host
  • v 从主机系统挂载数据目录。用户数据库,电子邮件,日志都将保存在此目录中,以方便备份。
  • name 定义容器名称
  • h 邮件服务器的主机名
  • e TZ 设置日期时间的时区
  • "HTTP_PORT=5080" 定制HTTP端口
  • "HTTPS_PORT=5443" 定制HTTPS端口
  • "DISABLE_CLAMAV=TRUE" 禁用ClamAV,它对于低内存使用非常有用。
  • "DISABLE_RSPAMD=TRUE" 禁用Rspamd,这对于低内存使用非常有用。
  • “DISABLE_ROUNDCUBE=TRUE” 禁用Roundcube网络邮件。
  • itd 后台运行

这里我们的容器在服务器重启后,不会自动运行。使用以下命令更新docker

docker update --restart=always mailserver
使用端口解释
端口号目的
25SMTP-主要处理入站邮件
80HTTP-重定向到https并进行身份验证以加密服务
110POP3-用于访问邮箱的标准协议,在客户端身份验证之前需要STARTTLS
143IMAP-用于访问邮箱的标准协议,在客户端身份验证之前需要STARTTLS
443HTTPS-访问管理或Webmail客户端
465SMTPS-旧版SMTP端口
587MSA-STARTTLS和身份验证后主要用于电子邮件客户端的SMTP端口
993IMAPS-自连接以来已加密的IMAP备用端口
995POP3S-自连接以来已加密的POP3
4190远程筛子设置

5.添加网站配置反向代理

添加网站太过简单不写了, mail.90il.com

网站-设置-反向代理

代理名称:mail
目标URL:https://127.0.0.1:5443

点击提交,开启反代。即可访问mail.90il.com

添加邮箱地址:mail.90il.com/admin

Roundcube web管理客户端:mail.90il.com/webmail

6.docker拓展

docker images    //列出镜像
docker ps -a    //列出容器
docker stop  mailserver    //停止mailserver容器
docker rm e4f34331e935    //删除e4f34331e935容器
docker exec -it d13b43c464b6 /bin/bash    //进入d13b43c464b6容器

7.DKIM配置

poste.io的DKIM配置比较简单,这里先不写了

配置完要在域名解析加入DKIM的TXT解析

文章参考:

  • https://poste.io/ poste.io官方
  • https://beekc.top/2019/01/26/build-poste-io-mail-server/
  • https://qing.su/article/139.html

linux终端美化之oh-my-zsh

1. 安装 oh-my-zsh

https://github.com/ohmyzsh/ohmyzsh
按照oh-my-zsh项目页提供的命令安装即可

命令如下:

分别为curl和wget选择其中一个安装即可

via curl

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

via wget

sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
2. 配置 oh-my-zsh

vi ~/.zshrc

3. 设置oh-my-zsh主题
vi ~/.zshrc
#我这里设置为ys主题,你可以选择自己喜欢的
ZSH_THEME="ys"
4. 设置oh-my-zsh插件
vi ~/.zshrc
plugins=
5. 重启系统

重启之后oh-my-zsh就应用到了shell中。

终端操作相关命令

使用oh-my-zsh提供的脚本会自动更改当前用户的默认shell为zsh , 你只需要输入Y点击回车就好,以下命令属于文章拓展。

#查看当前 shell
echo $SHELL
#查看系统 shell 列表
cat /etc/shells
#切换为 zsh
chsh -s /bin/zsh
#然后重启
reboot

Kali2020.2桌面美化

首先升级下系统

su root
apt-get update && apt-get upgrade && apt-get clean

安装字体和neofetch

sudo apt-get install ttf-wqy-microhei ttf-wqy-zenhei xfonts-wqy
sudo apt-get install neofetch

设置字体
neofetch 是一个能够在截屏中显示系统/主题信息的命令行脚本

下载主题

https://github.com/paullinuxthemer/Mc-OS-themes
McOS-CTLina-XFCE.tar.xz(浅色)
Mc-OS-CTLina-XFCE-Dark.tar.xz(深色)

/usr/share/themes/(系统范围有效,需要管理员权限)
~/.themes/(用户范围有效,别的用户不能用)

  • 打开Settings Manger(设置管理器)界面,切换到刚才下载的主题
  • 打开Appearance(外观),切换到刚才下载的主题
  • 打开Window Manager(窗口管理器),切换Theme(主题)到刚才下载的主题
  • 打开Window Manager Tweak(窗口管理器微调),切换到Compositor(合成器)界面,取消选中Show shadows under dock windows(在dock窗口下显示阴影),设置透明度

安装图标

https://github.com/vinceliuice/McMojave-circle

./install.sh :安装默认颜色版本

./install.sh -black :安装黑色版本

./install.sh -a :安装所有颜色版本

./install.sh -c :安装圆形文件夹版本

启动图标步骤与启动主题类似

安装全局菜单(此步骤未亲测,自行摸索)

https://gitlab.com/vala-panel-project/vala-panel-appmenu
vala-panel-appmenu-xfce
appmenu-gtk-module
appmenu-qt4
vala-panel-appmenu-registrar
vala-panel-appmenu-translations
(别安装那个坑爹的xfce4-topmenu-plugin)

安装dock

sudo apt-get install plank

  • 右键Panel(面板),找到Panel Perferences(面板首选项)
  • 取消选中Lock Panel(锁定面板)
plank添加自启动
  • 在设置管理器里面找到Session and Startup(会话和启动),
  • 在Application Autostart(应用程序自启动)里面点击Add(添加)按钮,
  • 新增Plank登录自启动。

安装conky

sudo apt-get install conky
sudo apt-get install conky-manager
conky-manager

conky配置文件可以参考文末,链接2配置。conky-manager是conky的一个图形化管理界面。

如无法检测cpu温度,请安装lm-sensors

sudo apt-get install lm-sensors

文章参考

  • https://www.jianshu.com/p/99f15b7ea83d
  • https://www.cnblogs.com/maxwell-blog/p/10337514.html

Typecho代码实现文章页面添加文章时效提醒

在合适的地方插入如下代码:

<section style="background-color: #fff2f2;padding: 5px;">
<p>本文最后更新于<?php echo date('Y年m月d日', $this->modified); ?>;如果文章内容失效,或者遇到问题,请留言及时联系
<a href="<?php $this->options->siteUrl(); ?>about.html" style="color: red;"> 站长 </a></p></section>

css样式需要自行调试