首页
留言
关于
Search
1
国内外短信接码平台合集 – 保护隐私从我做起
10,102 阅读
2
常用的全球接手机验证码SMS接码平台
3,372 阅读
3
撸Azure薅羊毛最全教程,Az200,Az100以及升级Pay as you go
2,941 阅读
4
甲骨文云Oracle Linux DD成 ubuntu 20.04 arm版系统甲骨文 Oracle Cloud ARM 实例救砖(附救砖包)
1,945 阅读
5
-bash: sudo: command not found的解决方法
1,575 阅读
技术教程
精品源码
虚拟卡
其他
登录
/
注册
Search
cnfei
累计撰写
51
篇文章
累计收到
1
条评论
首页
栏目
技术教程
精品源码
虚拟卡
其他
页面
留言
关于
搜索到
27
篇与
技术教程
的结果
2024-01-13
Microsoft 365 A1/A1P/E3/E5/商业版等搭建域名邮局,实现无限别名邮箱
这里要用到的是:catch-all 功能,又叫全收邮件,就是把发给邮件服务器上不存在账户的邮件都重定向到某个邮箱,而不是直接退信。正常情况下,如发邮件给服务器上不存在的账户会直接退信给发件人。这个教程就是教大家如何利用 Microsoft 365 全局账户,通过catch-all功能可以实现无限别名收邮件。一,添加域名到Microsoft 365打开:https://admin.microsoft.com/Adminportal/Home?source=applauncher#/Domains这里我们添加域名 cnmail.ml 作为示例。添加过程很简单,一步一步按照提示做就可以了。 二,添加一个用户用于邮件归集添加用户:https://admin.microsoft.com/Adminportal/Home?source=applauncher#/users这里我添加了一个 cnboy@cnmail.ml,添加过程中记得一定要赋予订阅权限。 三,设置Catch-all功能。1)打开Exchange 管理中心:https://outlook.office365.com/ecp/可以通过上面链接直接进入新版 Exchange 管理中心,也可以在 Microsoft 365 管理中心的左侧菜单栏选择 Exchange 进入 2)修改域类型邮件流 — 接受的域,点击刚刚添加的域名,在弹出页里把域类型改为 内部中继,并勾选 接受所有子域的邮件,保存即可 3)创建一个动态通讯组,用于存放已有的用户。收件人 — 组 — 动态通讯组列表 — 添加组 此处选择 动态分布(通讯组 对应的是 分布,动态通讯组 对应的是 动态分布) 我这里动态通讯组名称设置为 exchange 此处选择 仅以下收件人类型 — 具有 Exchange 邮箱的用户 设置一个组邮件名,这里为了统一,我仍然使用exchange,然后下一步完成即可 如果刚刚添加的动态通讯组没有在列表中出现,稍等片刻刷新即可看到 4)创建规则,用于把不存在的邮箱的邮件重定向到指定邮箱邮件流 — 规则 — 添加规则 — 创建新规则 名称:随意,这里我填写的是 catch-all;在以下情况下应用此规则:前面选择 发件人,后面选择 在外部/内部,弹出框里选择 Outside the organization请执行以下操作:前面选择 将邮件重定向到,后面选择 这些人收件人,弹出框里选择 本文开始时添加的用户,这里是 cnboy@cnmail.ml除非:前面选择 收件人,后面选择 是此组成员,弹出框内选择 刚添加的动态通讯组,这里是 exchange@cnmail.ml 设置规则设置:保持默认即可 至此规则新建完成。但要特别注意,当前规则状态为 Disabled,并未自动开启,所以我们还需要启用规则 到这里,我们就全部设置完成了!可以测试一下:向 cnboy@cnmail.ml 发送邮件,cnboy@cnmail.ml正常接收;向 xxx@cnmail.ml 等不存在的前缀域名邮箱发送邮件,邮件重定向到了cnboy@cnmail.ml。如果接收出现问题,请按本教程逐步检查相应设置是否正确。转自:https://cnboy.org/717
2024年01月13日
146 阅读
0 评论
0 点赞
2024-01-09
甲骨文 AMD & ARM 救砖教程
挂载折腾坏了的实例的引导卷到同账号其他甲骨文实例。执行 lsblk 看看挂载的卷设备名,一般是 sdb.1.1 救砖甲骨文 AMD 执行curl -Lo- “https://cloud.debian.org/images/cloud/bullseye/latest/debian-11-nocloud-amd64.tar.xz” | tar -xJO | dd of=/dev/sdb bs=1M如果需要 Debian 12 系统,则执行curl -Lo- "https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-nocloud-amd64.tar.xz" | tar -xJO | dd of=/dev/sdb bs=1M1.2 救砖 甲骨文 ARM 执行curl -Lo- "https://cloud.debian.org/images/cloud/bullseye/latest/debian-11-nocloud-arm64.tar.xz" | tar -xJO | dd of=/dev/sdb bs=1M如果需要 Debian 12 系统,则执行curl -Lo- "https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-nocloud-arm64.tar.xz" | tar -xJO | dd of=/dev/sdb bs=1MDD 过程大约 2.5 分钟。完成后分离卷挂载回原实例。 启动实例。点击“控制台连接”下级菜单的 启动“Cloud Shell 连接”。 强制重启实例。看到实例启动后,使用用户名 root 密码空登录实例。 用命令 passwd 设置 root 密码。编辑 ssh 配置文件nano /etc/ssh/sshd_config添加 (或者修改原文件内的配置字段中的) 2 行PermitRootLogin yes PasswordAuthentication yes然后生成主机密钥ssh-keygen -A启用 ssh 服务systemctl start sshd至此服务器已经可以远程 ssh 登录,救砖完成。转自https://10086.fit/1268
2024年01月09日
569 阅读
0 评论
0 点赞
2023-05-22
Ubuntu/Debian安装Docker以及Docker Compose
一、Docker安装步骤以下安装步骤使用的是Ubuntu 20.04操作系统。(必须是在root用户下进行)1、更新系统组件及安装必要软件apt-get update -y && apt-get upgrade -y apt install curl socat wget sudo iptables vim -y2、安装Dockersudo apt install docker.io -y3、启动Docker服务systemctl restart docker验证Docker是否安装成功docker --version显示Docker version XXXX则为安装成功 二、Docker-Compose 安装终端敲这条命令sudo apt install docker-compose -y验证Docker-Compose是否安装成功docker-compose --version显示Docker-Compose version XXXX则为安装成功
2023年05月22日
851 阅读
0 评论
0 点赞
2023-05-22
如何在Debian 安装wget命令
GNU Wget是一个命令行程序,用于从Web站点下载文件。Wget可以让您可以使用HTTP,HTTPS和FTP协议下载文件。wget提供了许多选项,允许您下载多个文件,恢复下载,限制速度,递归下载,在后台下载,镜像网站等等。wget命令已预安装在大多数Linux发行版。要检查系统是否已安装wget。请按快捷键CTRL+ALT+T打开终端,运行命令wget。安装 wget 如果已安装wget,终端将会输出wget: missing URL,否则将提示你wget command not found。要在Debian 10安装wget命令,请先运行命令sudo apt udpate更新软件源列表缓存。然后运行命令sudo apt install wget安装wget命令,安装完成后,请再次运行命令wget验证安装是否正确。sudo apt update sudo apt install wgetwget 命令详解 在介绍如何使用wget命令之前,让我们先回顾一下基本语法。wget命令语法形式是wget [options] [url]。options可选参数,wget命令的选项。url远程服务器URL,也是可选参数。在不指定任何参数与选项运行wget命令时,wget命令下载url指向的文件到当前目录。在下载过程中,wget会显示进度条以及文件名,文件大小,下载速度和完成下载的预计时间。如果不需要这些wget的输出,可使用-q选项关闭,该选项经常用于shell脚本。下载完成后,当前工作目录中找到下载的文件。如果当前目录存在同名文件,wget命令将在文件名末尾追加数字,不会覆盖已存在的文件。wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.17.2.tar.xz
2023年05月22日
501 阅读
0 评论
0 点赞
2023-02-26
无需信用卡,注册甲骨文最新方法
今天给大家带来的是甲骨文的申请新渠道:OCI Arm Accelerator注册地址:https://go.oracle.com/armaccelerator这是一个 365 天免费试用版(这里注意:365天后转为永久免费账号),可以任意开arm机器,审核大约需要5个工作日,大家可以碰碰运气,建议使用企业邮箱。以下内容翻译自官网:Arm Accelerator 与 Oracle 云免费套餐有何不同?Oracle 云免费套餐允许您注册一个 Oracle 云帐户,该帐户提供许多始终免费的服务和免费试用以及 300 美元的免费信用额度,可用于所有符合条件的 OCI 服务长达 30 天。OCI 提供业界最慷慨的 Always Free Arm 资源(4 个 OCPU,24 GB 内存),供用户构建和运行基于 Arm 的工作负载。30 天免费试用和 300 美元的免费积分是开始您的 Arm 计划的绝佳方式。Arm Accelerator 适用于那些想要加速其 Arm 开发的用户。与 30 天免费试用中提供的资源相比,它授予的 Arm 计算资源数量更多,而且持续时间更长。注册流程直接进入地址:https://go.oracle.com/armaccelerator填写邮箱,选择国家: 确定以后到收件箱,点击邮件中链接继续下一步。 在这里需要如实填写,尤其是带*号的选项,如:你Arm开发项目详情,用英文填写对你对arm架构实例的那种渴望,你的使用场景,说明需求!这一项,非常重要,是作为审核通过的第一要素,自由发挥吧!接下来,提交,然后就是等待!希望能通过吧(据说通过的概率千分之一)小结本次提供的注册通道,有人说是教育号,也有人说是企业号,我具体还拿不准。最新消息:企业号热门地区也无法开arm实例,还是需要脚本抢;如果是要用arm实例,可选择比较冷门的区域;教育号则可以任意开arm机器!!下面的内容为网友提供(抄袭)来的:企业号的特点:1、赠金400USD,30天内用完赠金,30天后或赠金使用完后自动转为永久免费账户。2、不是信用卡注册的,不用担心二次验证3、赠金配额可开30T硬盘,16C ARM,以及一台6C 96G的E3和一台6C 96G的E4和一台2C 32G的Intel。4、至于ARM是否需要抢,和普通永久免费的账号无异,您选择的区域如果ARM有货就可以手开,如果ARM无货就需要抢。5、企业号不是子账号,不存在母号死了子号连坐的情况,企业号是邀请注册制的账号,每个账号独立存在。教育号/学生号的特点:1、赠金300USD,365天内用完赠金,365天后或赠金使用完后自动转为永久免费账户。2、不是信用卡注册的,不用担心二次验证3、赠金配额可开30T硬盘,250C ARM,以及E3/E4配额为100C,Intel可以开裸金属实例。4、ARM任何地区(芝加哥新区除外)都可以手开,AMD和普通永久免费的账号无异,您选择的区域如果AMD有货就可以手开,如果AMD无货就需要抢。5、教育号/学生号不是子账号,不存在母号死了子号连坐的情况,教育号/学生号是邀请注册制的账号,每个账号独立存在。甲骨文值得吗?我个人觉得,甲骨文免费套餐是真的不错。在我心里oracle是一家伟大的公司,这样的福利后无来者!但是也希望大家理性一些,不必每天浪费300秒,申请注册填写的真诚一点,使用时候也请珍惜资源别太浪费,祝你好运。一些更新内容教育号申请入口:https://academy.oracle.com/en/solutions-cloud-program.html企业号没有申请链接。
2023年02月26日
1,371 阅读
0 评论
0 点赞
2023-02-22
Docker快速搭建ChatGPT网页版 好看又稳定 不挑网络环境
已经有帐号了。获取自己的OPENAI的APIkeyhttps://platform.openai.com/account/api-keys更新环境apt update -y && apt upgrade -y && apt install -y curl wget sudo socat安装 Dockercurl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.shcurl -L "https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose创建GPT目录,创建配置文件cd /home/ && mkdir gpt && cd gpt && nano docker-compose.ymlcompose配置代码version: '3.8'services:app:image: jason61/gpt-web:main ports: - 3002:3002 environment: OPENAI_API_KEY: Zeix8v6K00KpP # 用自己的API KEY 冒号后要带一个空格再输入key 运行指令cd /home/gpt && docker-compose up -d太刁了,支持本地存储,支持语义上下文!感谢TG小伙伴感谢GitHub原作者原作者GitHub地址https://github.com/Chanzhaoyu/chatgpt-web
2023年02月22日
355 阅读
0 评论
0 点赞
2023-02-22
docker 基础命令大全
官方安装dockercurl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh curl -L "https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose更新Docker和Docker Composesudo apt-get update && sudo apt-get upgrade docker-ce && sudo apt-get upgrade docker-compose查看版本查看 Docker 版本docker --version查看 Docker Compose 版本docker-compose --version镜像查看本地镜像列表docker image ls删除镜像docker image rm 镜像IDdocker image rm 8a5e4e3ec91f更新compose中所有镜像docker-compose pull容器docker ps -a 查看已经创建的容器docker ps -s 查看已经启动的容器docker start con_name 启动容器名为con_name的容器docker stop con_name 停止容器名为con_name的容器docker rm con_name 删除容器名为con_name的容器启动所有容器sudo docker start $(sudo docker ps -a -q)开机自启动容器开启:docker update --restart=always 容器名称关闭:docker update --restart=no 容器名称删除删除所有容器,镜像,网络docker rm $(docker ps -a -q) && docker rmi $(docker images -q) && docker network prune删除docker系统sudo apt-get remove dockersudo apt-get remove docker-cesudo apt-get purge docker-cesudo rm -rf /var/lib/dockerrm /usr/local/bin/docker-compose
2023年02月22日
269 阅读
0 评论
0 点赞
2023-02-22
甲骨文小鸡DD后装回监控脚本
sudo apt updatesudo apt install snapdsudo snap install oracle-cloud-agent --classic依次输入,运行完搞定
2023年02月22日
450 阅读
0 评论
0 点赞
2022-12-17
使用Mailu.io搭建基于Docker的域名邮箱
Mailu.io是一款免费开源且性能强大、功能丰富的域名邮箱系统。它基于Docker, 具有部署简单,可移植性高,备份方便等多种优势。之前,我们介绍过Poste邮箱系统的搭建;Poste已经很久不再更新了,而Mailu则是Poste的升级版,一直稳定更新。今天,我们就来介绍如何搭建并使用Mailu.io域名邮箱。类似的域名邮箱系统,我们还推荐iRedMail与Zimbra, 您可以自行比较并选择喜欢的程序。 1, 系统环境要求 由于Mailu基于Docker, 因此几乎可以在任何版本的Linux发行版上安装使用。安装前,请确保您的服务器有2 GB的内存,并拥有一个独立IP地址。在安装之前,您需要确保您的VPS的25端口是开放的。您可以在您的VPS上执行下面的命令来测试25端口是否开放。telnet smtp.aol.com 25如果看到类似下面的回显,则说明端口是开放的:Trying 74.6.141.50... Connected to smtp.aol.g03.yahoodns.net. Escape character is '^]'. 220 smtp.mail.yahoo.com ESMTP ready如果显示超时,说明25端口不开放;您需要向主机商申请开放25端口,或者更换一台VPS.本文中,我们将在一台Ubuntu 20.04 LTS 64 bit操作系统的VPS中安装。在其他操作系统中的安装步骤类似。2, 主机名与DNS设置 设置好主机名(服务器名, Hostname)是所有邮件服务器必不可少的一步,否则在发信时将会遇到各种错误。如果您的域名为example.com, 那么我建议您的邮件服务器主机名可以设置为mail.example.com或者mx.example.com. 如果您不知道如何设置服务器名,请参考我们的图文教程https://www.cnfei.cn/index.php/archives/110/。下文中,我们将以mx.qing.su作为主机名介绍整个系统的部署。当您设置好主机名之后(以mx.qing.su为例),在SSH中执行命令:hostname此时您应当看到系统显示mx. 如果系统显示mx.qing.su, 说明主机名设置错误,请重新设置。在SSH中执行命令:hostname -f此时您应当看到系统显示mx.qing.su.设置好主机名之后,您还需要设置DNS解析记录。DNS记录的设置分为两部分,一部分需要在搭建邮箱之前设置,另一部分(DKIM)在搭建邮箱之后设置。我们先介绍第一部分。假设您的服务器IP地址为88.88.88.88, 那么您需要到您域名的DNS服务提供商处,添加下面的五条记录:(1)将域名qing.su设置任意一条A记录或者ALIAS记录,值为任意。如果您不使用该域名做网站,您可以设置一条A记录,解析到127.0.0.1. 请注意,根域名不能设置CNAME记录。(2)将域名mx.qing.su设置A记录,解析到88.88.88.88(3)将域名qing.su设置MX记录,优先级为10,解析值为mx.qing.su(4)SPF: 将域名qing.su设置TXT记录,解析值为”v=spf1 mx ~all”(5)DMARC: 将域名_dmarc.qing.su设置TXT记录,解析值为”v=DMARC1; p=none; pct=100; rua=mailto:admin@qing.su”然后,您需要到您的VPS服务商处,为您的IP地址设置逆向DNS记录(Reverse DNS, PTR), 将88.88.88.88解析到mx.qing.su.设置好这些之后,我们就可以开始部署Mailu域名邮箱了。3, 安装Docker与Docker Compose 前面说过,Mailu基于Docker. 这里我将以Ubuntu 20.04 LTS操作系统为例,简要记录Docker与Docker Compose的安装。如果您对Docker非常了解,可以跳过这一部分。如果您使用的是其他操作系统,可以在这里(https://docs.docker.com/engine/install/, https://docs.docker.com/compose/install/)找到对应的安装步骤。安装Docker Engine:apt-get update && apt-get upgrade apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" apt-get update apt-get install docker-ce docker-ce-cli containerd.io安装Docker Compose:curl -L "https://github.com/docker/compose/releases/download/1.27.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose4, 配置Mailu服务器 Mailu服务器提供了一个自动生成配置文件的网页,非常方便。因此,我们将使用这个网页来生成配置文件。它的地址是https://setup.mailu.io/打开网页后,第一步是选择版本与Docker管理方式。这里我们选择最新版1.7, Docker管理方式选择Docker. 第二步,需要设置路径与域名信息。请按照下图填写,并替换为您的域名。请注意,Main mail domain and server display name应该填写您的根域名,比如我这里是qing.su; 而Linked Website URL, 则填写您的邮件服务器主机名,这里我们填写https://mx.qing.su. 在TLS certificates这里,我们选择letsencrypt, 系统将会自动帮我们生成Let’s Encrypt证书。您也可以选择自己提供证书。下方的Enable the admin UI请务必勾选,否则系统将不会安装Web管理面板。 第三步,选择网页邮箱的面板。这里可以选择Roundcube和Rainloop, 您可以根据个人偏好来选择。我这里推荐Rainloop,它更美观,且对移动端的适配更好。Rainloop支持中文显示。下面的三个选项分别是杀毒、WebDAV、邮件代收,您可以根据自己的需要来勾选。 第四步,配置IP与主机名。请在IP listen address中填写您服务器的IP地址,比如88.88.88.88. 第二行是设置Docker的子网,一般保持默认即可。IPv6建议不启用。Unbound resolver建议启用。最后一栏,填写您的服务器的长主机名,我这里是mx.qing.su. 第五步,也是最后一步,选择数据库。这里我们选择最简单的Sqlite即可。您也可以选择其他的数据库,比如MySQL或者PostgreSQL. 选择完毕后,点击Setup Mailu, 系统就会自动帮你生成好配置文件了,如下图。 5, 运行Mailu服务器 按照上述步骤生成好Mailu配置文件,就可以运行Mailu服务器了。回到SSH, 执行:mkdir /mailu cd /mailu然后找到之前那个页面生成的配置文件链接,下载到/mailu文件夹中:wget http://setup.mailu.io/1.7/file/edda7279-qing-su-qing-su-04773fdf23f9/docker-compose.yml wget http://setup.mailu.io/1.7/file/edda7279-qing-su-qing-su-04773fdf23f9/mailu.env最后,使用Docker compose运行。docker-compose -p mailu up -d初次使用,系统将会下载几个Docker镜像,需要数分钟的时间。等系统提示完成后,Mailu就处于运行状态了。部分朋友在初次运行Mailu的时候会遇到类似于下图的报错: 如果遇到这种情况,您可以编辑docker-compose.yml文件,删除掉所有绑定了[::1]地址与端口的行,然后重新运行上面的命令即可。6, 使用Mailu域名邮箱 在第一次登录Mailu服务器后台面板之前,需要新建一个管理员账户。在SSH中执行:docker-compose -p mailu exec admin flask mailu admin hello example.com qing.su这样,我们就创建了一个用户名为hello@example.com, 密码为qing.su的管理员账户。请替换为您需要的值。创建完毕,您就可以在浏览器中访问https://mx.qing.su/admin登录您的管理员面板了,如下图。 点击左侧Mail Domains, 就能管理我们的邮箱域名。在域名管理界面,点击右上角New domain, 即可添加域名。点击下图中的红框部分,即可添加用户;点击绿框部分,则进入域名详情页。 点击上图中的红框,进入用户管理界面,如下图: 这里我们可以输入邮箱前缀,密码,姓名。下方的Features and quotas可以设置邮箱容量,并且可以设置是否允许IMAP和POP3客户端登录收信。设置完毕后,点击Save, 就添加好了用户。在域名管理界面,点击之前那张图的绿框部分,则进入了域名详情页。我们点击右上角的Generate keys, 即可生成DKIM记录。如下图。 根据上图的信息,您需要去您的DNS服务器运营商设置域名的DKIM记录。比如,以我的qing.su域名为例,我需要设置下面的DKIM记录:将域名dkim._domainkey.qing.su设置TXT记录,解析值为”v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDK8nX8NbQ/16bb7zUqZif39emugOQpBDTXeLTqKhmrhPHFt5RgrDj9ibL18ovXKsQONjXZ+qNE407+KQZWcVLFvCQ6jtl1ojSfnJGeltGRqgfjw0nIAFQ9P6UVO5fiyrnxR4NZ+MDKvsv33NMgJxpEH6O8hQ/K2mDM+mDcIIbOwQIDAQAB”这样,我们就完成了全部的DNS设置。此时,您的域名邮箱已经全部搭建并配置完毕,可以收发信了。访问https://mx.qing.su就会自动跳转到网页邮箱的登录界面。如果您在配置时选择了Rainloop, 则第一次登录时可以在界面上选择语言,比如简体中文。我们使用mail-tester.com测试发信,可以看到评分为满分10分。综上,我们使用了Mailu.io这款基于Docker的多功能的邮件服务器程序,在VPS上搭建了属于自己的域名邮箱。如果您有任何疑问,欢迎在这里留言,我将尽力解答。如果您喜欢这篇文章,欢迎转发给朋友们。原文链接为https://qing.su/article/mail-hosting-with-mailu-io.html
2022年12月17日
798 阅读
0 评论
0 点赞
2022-12-17
使用iRedMail在Ubuntu 20.04上快速搭建邮件服务器
iRedMail是成熟的邮件服务器系统,它拥有优秀的性能,全面实用的功能,且搭建方便、社区支持良好。今天我们介绍在Ubuntu 20.04 LTS 64 bit操作系统中安装并配置iRedMail邮件服务器系统,实现域名邮箱、垃圾邮件过滤、病毒查杀等等实用功能。1, 系统要求及前期准备 本教程基于Ubuntu 20.04 LTS 64 bit操作系统。您也可以在Ubuntu 18.04 LTS 64 bit操作系统上按照本教程操作,大部分步骤均类似。Debian 9/10系统的操作略有不同,您可以自行尝试。搭建iRedMail系统需要至少1.5 GB内存(推荐2 GB及以上)和5 GB硬盘。发送邮件需要25端口开放;国内大多数云厂商均不开放25端口。国外部分云厂商也不开放25端口,或是需要和主机商联系申请开放25端口。若您不确定,建议您与您的主机商联系。本教程是在一台2 GB内存的OVH VPS上进行的。搭建之前,您需要做好下面的几个准备:想好您的邮件服务器域名,本文将以mx.qing.su为例。通常,若您将使用的域名为example.com, 那么通常将mail.example.com或者mx.example.com设置为邮件服务器域名。做好前置的DNS解析(安装完毕后还要再做一些其他解析)。以mx.qing.su为例,具体的DNS设置有如下几条:将mx.qing.su设置A记录,解析值为您邮件服务器的IP地址;将qing.su设置任意一条A、AAAA、Alias、或者CName Flattening记录,解析值不为空;若您不需要用该域名做网站,请设置一条A记录解析到127.0.0.1. 请注意,根域名绝对不能设置CName记录,否则会和MX记录冲突,导致收信掉信严重;将qing.su设置MX记录,解析值为mx.qing.su, 优先级设置为10.做好rDNS (PTR)记录解析。该操作需要在您的服务器提供商处进行,您需要解析您服务器的IP地址,将其解析到您的邮件服务器域名mx.qing.su上。设置好主机名(hostname)。这一点尤其重要,若主机名设置错误,则收发信均有可能失败。以mx.qing.su为例,请将您的邮件服务器的短主机名设置为mx, 长主机名设置为mx.qing.su. 若您不清楚如何设置主机名,可以参考我们的文字/视频教程:https://qing.su/how-to-set-hostname重装一个全新的Ubuntu 20.04 LTS 64 bit操作系统。不可以在已经安装有web服务器或者其他类型服务的VPS/独服上安装邮件服务器。做好这些准备之后,我们就可以开始安装iRedMail系统了。2, iRedMail的安装 我们使用git安装iRedMail系统。执行:apt-get update && apt-get upgrade -y apt-get install git -y git clone https://github.com/iredmail/iRedMail.git cd iRedMail bash iRedMail.sh系统将会自动开始安装。安装过程中会出现下面这些情况,您需要依次根据您自己的信息来设置。首先,需要指定安装目录,如下图。这里可以保持默认的/var/vmail, 也可以设置为/srv/vmail等,依个人喜好即可;请勿将其设置在/home目录之内。 第二步需要选择是否安装Web服务器。如果您只需要客户端收发信,可以不安装web服务器,其他情况下则建议安装Nginx. 按回车键进入下一步。 第三步要选择使用的数据库。我们这里选择比较简单的MariaDB. 用方向键选择MariaDB, 按空格键选中,然后回车进入下一步。 第四步则要为MariaDB设置root用户密码,输入完毕后按回车继续。 接下来一步非常重要,我们要设置第一个发信域名。如果您的邮件服务器域名为mx.qing.su, 那么这里您可以设置为qing.su 然后,我们为管理员邮箱设置管理密码。请牢记,若您的域名为example.com, 则管理员邮箱地址为postmaster@example.com. 最后一步设置,我们需要选择安装的功能。默认选择Roundcubemail + netdata + iRedAdmin + Fail2ban即可。SOGo实测没有Roundcube好用,若您喜欢这个看上去更高端的面板,也可以安装。 设置完毕后,屏幕上会列出来这些信息,我们输入y确认安装。 安装需要大概10分钟左右。全部安装好之后,系统会提示是否设置防火墙规则,我们输入y确认即可 这样,iRedMail就安装好了。在开始配置之前,我们需要重启服务器。reboot3, 安装SSL证书 重启完毕之后,所有的服务就开始运行了。此时,服务器所有的TLS/SSL证书全部为自签,因此浏览器访问或者邮件客户端收发信时会收到不信任证书的提示。我们需要获取商业SSL证书。这里,我们将以免费的Let’s Encrypt证书为例配置SSL.apt-get install certbot若您的Ubuntu版本为18.04, 则需要在上条命令之前加上下面两行:apt install software-properties-common add-apt-repository ppa:certbot/certbot然后,即可申请免费的Let’s Encrypt证书:certbot certonly --webroot -d mx.qing.su -w /var/www/html/以mx.qing.su为例,生成的证书地址为/etc/letsencrypt/live/mx.qing.su/fullchain.pem, 私钥为/etc/letsencrypt/live/mx.qing.su/privkey.pem申请完毕后,我们首先配置Nginx.编辑文件/etc/nginx/templates/ssl.tmpl, 找到下面两行:ssl_certificate /etc/ssl/certs/iRedMail.crt; ssl_certificate_key /etc/ssl/private/iRedMail.key;将地址替换为您的证书地址,我这里是:ssl_certificate /etc/letsencrypt/live/mx.qing.su/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/mx.qing.su/privkey.pem;保存好后重新载入Nginx配置文件:service nginx reload收发信时,同样需要用到TLS安全验证,因此我们还需要配置Postfix和Dovecot. 首先,编辑/etc/postfix/main.cf文件,找到下面这三行(我这里是第95 ~ 97行):smtpd_tls_key_file = /etc/ssl/private/iRedMail.key smtpd_tls_cert_file = /etc/ssl/certs/iRedMail.crt smtpd_tls_CAfile = /etc/ssl/certs/iRedMail.crt将其替换为您的证书地址:smtpd_tls_key_file = /etc/letsencrypt/live/mx.qing.su/privkey.pem smtpd_tls_cert_file = /etc/letsencrypt/live/mx.qing.su/cert.pem smtpd_tls_CAfile = /etc/letsencrypt/live/mx.qing.su/chain.pem保存好之后重新载入Postfix配置文件。service postfix reload最后,给Dovecot配置证书。编辑文件/etc/dovecot/dovecot.conf, 找到下面这两行(我这里是第47和48行):ssl_cert = </etc/ssl/certs/iRedMail.crt ssl_key = </etc/ssl/private/iRedMail.key将其替换为您的证书地址:ssl_cert = </etc/letsencrypt/live/mx.qing.su/fullchain.pem ssl_key = </etc/letsencrypt/live/mx.qing.su/privkey.pem保存好之后重新载入Dovecot配置文件。service dovecot reload这样,我们为Nginx, Postfix, Dovecot分别配置好了SSL/TLS安全证书。4, 禁用iRedMail灰名单 灰名单(greylist)是一项防止垃圾邮件的功能,iRedMail默认开启了该功能。但是,该功能开启之后,收所有信件的时候都有较长时间的延迟。因此,我们这里将该功能关闭。我们首先给配置文件提权:chmod +w /opt/iredapd/settings.py然后编辑该文件(/opt/iredapd/settings.py),找到下面这行:plugins = ["reject_null_sender", "wblist_rdns", "reject_sender_login_mismatch", "greylisting", "throttle", "amavisd_wblist", "sql_alias_access_policy"] 将其中的”greylisting”这项删去即可。然后,重启iredapd, 并且恢复文件权限。service iredapd restart chmod -w /opt/iredapd/settings.py5, 设置其他DNS 配置好SPF, DMARC, DKIM等记录,可以提高发信到达率与成功率。这几种记录的原理我就不做太多介绍了,我们这里仅仅介绍如何配置这几条记录。(1) SPF记录您需要设置一条TXT记录,将根域名(比如我这里的qing.su)解析值设置如下。v=spf1 mx ~all(2) DMARC记录DMARC记录的设置比较复杂,我们这里先简单设置一下,对于普通的域名邮箱足够使用了。以qing.su域名为例,您需要添加一条TXT记录,将_dmarc.qing.su (请不要遗漏dmarc前面的那个下划线)解析值设置为如下:v=DMARC1; p=none; pct=100; rua=mailto:dmarc@qing.su(3) DKIM记录配置DKIM记录之前,我们先要生成DKIM密钥。在SSH中执行:amavisd-new showkeys会看到类似于下面的密钥: 然后,以域名qing.su为例,请去您的DNS服务提供商那里,添加一条TXT记录,将dkim._domainkey.qing.su解析到”v=DKIM1; p=MIIBIj……………………………………ZX/AwIDAQAB”。请注意,这里的解析值包含了屏幕上给出的引号里面包含的全部内容,但是您需要删除中间多余的引号,将这些字符串拼接起来,仅保留首尾的引号。 6, 添加用户及测试 到这里,基本上所有的设置步骤都完成了,我们可以添加用户开始发邮件了。所有的用户管理均可以通过网站界面完成,无需手动执行数条MySQL命令添加用户(依稀记得我自己搭建的第一台邮件服务器,全部的域名和邮箱配置全都是手动一条条SQL命令完成的……)如果您的邮件服务器主机名为mx.qing.su, 那么我们访问https://mx.qing.su/iredadmin, 即可进入管理员面板。管理面板的用户名为postmaster@qing.su, 密码为您安装iRedMail时设置的管理员密码。 进入管理面板后,点击Add – User即可新建邮箱用户。 这样,我们新建好了用户。若您设置的邮件服务器地址为mx.qing.su, 则邮箱的登录面板为https://mx.qing.su/mail, 若您直接访问https://mx.qing.su也会自动跳转至这个登录链接。如果您需要使用客户端来收发信,则smtp, pop, imap地址均为mx.qing.su, 端口是常用的端口(SMTP: 25/587, POP3: 110/995, IMAP: 143/993).一切配置完毕之后,您可以使用https://www.mail-tester.com/来测试您的邮箱的邮件评分。我测试了一下,得分为满分10分,如下图。 可以看到,我们的SPF, DKIM, DMARC设置均通过了验证,PTR记录也通过了验证。若您的得分不是10分,则需要参照上面的提示进行修改。到这里,我们终于使用iRedMail安装并配置好了邮件服务器。转自:https://qing.su/article/154.html
2022年12月17日
979 阅读
0 评论
0 点赞
1
2
3