本次主要是使用Docker部署Vaultwarden密码管理器,Vaultwarden是Bitwarden社区开源版的分支。
本次环境系统采用Ubuntu,测试域名使用bitwarden.mailserver.cyou
,好歹8块钱买的用于测试。购买域名可以考虑一下点击这里购买域名。
反向代理使用Nginx,SSL证书使用Let's Encrypt。
#更新源 sudo apt-get update sudo apt-get upgrade -y #安装中文语言 sudo apt-get install language-pack-zh-hans -y #环境变量使用中文 export LANG=zh_CN.UTF-8 #安装Let's Encrypt sudo apt-get install letsencrypt -y #安装net-tools,主要一些如ifconfig命令的工具包 sudo apt-get install net-tools
#如果使用下面的命令生成证书,需要对外开放80端口且80端口未被其它服务占用 letsencrypt certonly --standalone --email [email protected] -d mailserver.cyou -d bitwarden.mailserver.cyou
#卸载旧版本 sudo apt-get remove docker docker-engine docker.io containerd runc -y #更新源,安装基础组件 sudo apt-get update sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release -y #添加Docker的官方GPG密钥 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg #根据硬件架构选择对应的版本 #x86_64 / amd64的系
这次博文带来的自建邮件服务器的教程,首先还是老样子,这里是官网,EwoMail作为一款开源的邮件服务器软件,还是不错的。此次服务器系统使用CentOS 7的版本进行安装。
为了填充一下字数,描述一下这个邮件系统。
EwoMail是基于Linux的开源邮件服务器软件,集成了众多优秀稳定的组件,是一个快速部署、简单高效、多语言、安全稳定的邮件解决方案,帮助你提升运维效率,降低 IT 成本,兼容主流的邮件客户端,同时支持电脑和手机邮件客户端。
Postfix:邮件服务器
Dovecot:IMAP/POP3/邮件存储
Amavisd:反垃圾和反病毒
Fail2ban:监控策略
LNAMP:apache,nginx,mysql5.5,php5.4
EwoMail-Admin:WEB邮箱管理后台
Rainloop:webmail
这里是官网文档的链接,可以查看一下手册。
我这里使用的是开源版,使用的域名是onlymailtest.xyz,嗯,刚申请的,为了写这篇博文,八块钱的价值。
在这个位置,输入你的域名获取安装代码。
其实就是获取一个脚本,然后是有版本的,这个脚本执行的时候将你的域名传递进去。
wget -c http://download.ewomail.com:8282/ewomail-1.05.sh && sh ewomail-1.05.sh onlymailtest.xyz
首先需要说明一些东西,域名是onlymailtest.xyz,子域名mail.onlymailtest.xyz,还要设置好mx记录,我只是简单带一句,相信想要自己搭建邮件服务器的你应该明白邮件服务器这些常见的东西。
通过ssh连接服务器,那么现在就开始安装
如果和我一样,得到的提示是wget未找到命令的话,需要安装一下,使用命令yum install wget -y
进行安装
开始执行,根据网络情况下载相应的软件,需要一些时间,这里就看着哗啦啦的跑进度条就行了。
安装完成以后使用域名或者ip使用8010端口访问,例如我的http://mail.onlymailtest.xyz:8010
默认账号:admin
密码:ewomail123
首次登陆后请尽快改密码。
其实到这里已经算是安装完成了,一键式安装。但是如果仅仅是这样肯定有些不习惯
查看eomail的nginx配置文件,会发现这些东西,难道我访问这些都要
如果需要域名,可以这里注册Dynadot,我的推荐码8h8G7A8K6q6f8y7F价格还算公道,还提供免费的域名隐私保护。
自动配置的原理:
1)、SpringBoot启动的时候加载主配置类,开启了自动配置@EnableAutoConfiguration
2)@EnableAutoConfiguration作用:
利用@Import({AutoConfigurationImportSelector.class})选择器导入组件。
SpringFactoriesLoader这个类会扫描所有jar包类路径下 META-INF/spring.factories
将扫描内容包装成properties类对象,从properties中获取到类名并将它们添加在容器中。
# Auto Configure org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ org.springframework.boot.autoconfigure.admin.SpringApplicationAdminJmxAutoConfiguration,\ org.springframework.boot.autoconfigure.aop.AopAutoConfiguration,\ org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration,\ org.springframework.boot.autoconfigure.batch.BatchAutoConfiguration,\ org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration,\ org.springframework.boot.autoconfigure.cassandra.CassandraAutoConfiguration,\ org.springframework.boot.autoconfigure.cloud.CloudServiceConnectorsAutoConfiguration,\ org.springframework.boot.autoconfigure.context.ConfigurationPropertiesAutoConfigu