欢迎光临
我们一直在努力

项目教程

云服务器使用Docker搭建poste.io企业邮箱教程

lcayun2阅读(56)

什么是域名邮箱?

域名邮箱是指使用自己的域名作为邮箱地址的电子邮件服务。这种形式的邮箱(例如,admin@laikayun.com)不仅增强了个人或企业的品牌识别度,而且传递出更为专业和正式的形象。相比于常见的免费邮箱服务,域名邮箱提供了更多定制化选项和安全特性,非常适合商业环境。

一,poste.io介绍

Poste.io 是一个开源的电子邮件服务器解决方案,它提供了一个简单而强大的邮件服务器环境,适用于个人用户、小型企业或组织。Poste.io 的目标是提供易于安装、配置和管理的电子邮件解决方案,并且尽可能减少复杂性。

完整版管理演示
https://demo.poste.io/admin/login#admin@poste.io;admin
用户名:admin@poste.io
密码:admin

以下是 Poste.io 的一些主要特点和功能:

  • 易于安装:通过 Docker 快速部署,简化了安装和配置过程
  • Web 界面:提供直观的 Web 界面,方便用户管理邮件和账户
  • 多用户支持:支持多个用户和域,适合团队和组织使用
  • 防垃圾邮件功能:内置反垃圾邮件和病毒防护,保障邮件安全
  • IMAP 和 SMTP 支持:支持标准的 IMAP 和 SMTP 协议,兼容各类邮件客户端
  • 备份和恢复:提供备份和恢复功能,确保邮件数据安全
  • 邮件转发和别名:支持邮件转发和设置别名,方便管理邮件流
  • 集成日历和联系人:可集成日历和联系人管理,提升邮件使用效率
  • 社区支持:有活跃的社区支持,可以获取帮助和共享经验

二,poste.io准备

  • 【非必需但建议】域名一枚,并做好解析到服务器上,如果没有,点击 CLOUDFLARE 或者阿里巴巴的域名服务,购买一个com、net或者org。多种好一点的后缀,相对信任度会高。
  • 搭建服务器:建议使用海外vps(海外服务器不用网站ICP备案)推荐配置2核2G以上,有带宽尽量选择大宽带
    https://www.lcayun.com/cart?fid=1&gid=64&aff=ZFVSWGGQ
服务器要求:2核2G   系统:Ubuntu-24.04

三, 验证是否开放25端口

判断25端口可用方法是在服务器上执行: 

telnet smtp.qq.com 25

若输出是: Trying 43.129.255.54... telnet: connect to address 43.129.255.54: Connection timed out 则可以放弃部署邮局了。

若输出是以下内容,则证明该服务器25端口正常的,可以进行部署邮局。接着输入quit并回车退出。

Trying 43.129.255.54...
Connected to smtp.qq.com.
Escape character is '^]'.
220 newxmesmtplogicsvrsza15-1.qq.com XMail Esmtp QQ Mail Server.

这个邮箱服务器需要的端口有:25、80、443、110、143、465、587、993、995(留意服务器控制台的安全组/防火墙是否已经开放了这些端口)

四,poste.io搭建

1. 本次教程,我使用的vps系统为 Ubuntu 20.04

2. 域名解析

按照要求完成下面DNS记录解析,确保将example.com替换为你的实际域名

主机名类型
mailA填写你邮箱服务器的IP地址
smtpCNAMEmail.example.com
popCNAMEmail.example.com
imapCNAMEmail.example.com
@MXmail.example.com
@TXTv=spf1 mx ~all

3. 更新系统,安装docker和screen

apt  update && apt install screen docker.io -y

4. 拉取镜像

docker pull analogic/poste.io

5. 新建邮件目录

mkdir /home/mail

6. 在screen中启动容器,注意这里的 mail.example.com 要改成你的真实邮箱域名!

screen
docker run \
    --net=host \
    -e TZ=Europe/Prague \
    -v /home/mail:/data \
    --name "mailserver" \
    -h "mail.example.com" \
    -t analogic/poste.io

7. 访问地址 mail.你的域名/admin/install/server(这里显示不安全,继续访问,下一步设置证书),设置初始的 域名,管理员邮箱和密码。(一定要记住你设置的密码,可以截图保存下来)

8. 在系统设置中,找到标签 TLS Certificate ,自动申请个免费的证书。申请完证书,就可以https访问了

9. 然后在域名详情中,点击生成DKIM 密钥,生成后添加域名DKIM 解析,例如:

k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxdSK7/g146G3kTo9KrjXBmHJr6PQA80RbL/f6iAQ1zRgGi3n9sbxmXXsBFrgXhMqOdE5BTVts2Z1z2TsWyBHxhHYJcy2uDJN6xnTMOxiLWgjLkzcl49BM//53n75VLlQIJcmmRzHrHfbowWk8g7wAKH6ClC/GRoJ7VVs8/ESZYQPd1oQdcQ1XiDCt4XI7u+CzupfOKQ+9XnEsCKFQTye4Qtjbbp/SXI8CCl0Bdv8bdRAtwHxPGf2f8fee1KnmUCHWT5Cfdw9oB3Dwd77eTPKVFRtFYz7IT5yrk2HWmQT3oBVIepWpapxMIpviOX8zJ522HTlPuhBJhoi9Ep4qmzPnQIDAQAB

10. 在邮件账户中,可以添加删除用户;服务器状态中,查看诊断,能清楚的看到服务器端口状态

11. 邮箱用户登陆地址为 mail.你的域名/webmail/ 可以测试发信了;检测邮箱健康 https://www.mail-tester.com/?lang=zh

莱卡云创作招募计划

莱卡云阅读(149)

【莱卡云创作招募计划】

在莱卡云,我们不仅提供高效的云计算资源,同样重视与创作者的互动与合作。为了更好地推广云计算技术和服务,我们特设“社交媒体推广合作机会”,邀请您加入,通过您的社交网络影响力,共同推广莱卡云的优质服务,同时享受创作激励跟购买返利。

莱卡云介绍:

  1. 莱卡云隶属于广东莱卡信息技术有限公司,专注于基础云计算、游戏云等业务,莱卡云致力为客户提供云计算解决方案。
  2. 莱卡云布局全球多个地理区域,提供高速稳定的全球云联接网络、贴近客户的本地化服务,提供服务有:境外云服务器、国内云服务器、独立服务器、服务器托管、CDN、SSL证书、游戏服务器等业务。

云计算专区

游戏服务器专区

推广合作详情:

  • 谁可以参与? 此项合作面向所有已加入“莱卡云创作招募计划”的创作者开放。
  • 创作激励:发布视频或软文即可获得3-1000元不等,满200即可后台自助申请提现。
  • 返利政策: 参与者通过其社交媒体平台推广莱卡云,并通过专属链接或优惠码引导销售,可以获得订单金额的15%作为返利。
  • 内容要求: 推广内容应真实体现莱卡云的服务特点与优势,内容形式可以是博客文章、视频教程、在线研讨会、案例分享等。

莱卡云服务提供:

  • 加入莱卡云创作招募计划可免费获得2C2G云服务器或者游戏服务器一个月体验资格。
  • 如持续对莱卡云进行创作推广可一直享受莱卡云提供的云服务器。
  • 莱卡云将协助各位创作者提供技术支持(仅限于服务器使用常见问题)。

申请资格通道:

注册并实名莱卡云账户,登录之后在左侧导航栏开启推介计划之后,点击技术支持,提交工单到莱卡云创作招募计划部门申请加入莱卡云创作招募计划。

申请直链入口:https://www.lcayun.com/submitticket?step=2&dptid=6

奖励机制:

  1. 在bilibili跟抖音发布一期关于莱卡云推广视频即可获取最低10元的创作激励
  2. 全平台发布可获得20元的创作激励,全平台要求:blilblil、抖音、小红书、搜狐、今日头条、微博、快手。
  3. 在bilibili、搜狐、知乎、百家号、CSDN、今日头条、微博七大平台发布一篇软文即可获得3元创作激励,每天仅限10偏软文,超出不计。
  4. 推广内容可以带上莱卡云创作者专属邀请返利链接,如有客户购买莱卡云参与返利计划的产品即可获得订单金额的15%作为返利。
  5. 如果拥有个人网站,可挂起莱卡云广告进行推广,邀请链接可以放置自己的推广链接,广告位挂起莱卡云将免费提供国内或者境外4C4G云服务器。网站要求必须有一定流量(详情咨询创作计划负责人)
  6. 奖励机制通过工单申请获取。

额外奖励机制:

  1. 创作者每个视频仅能获得一次额外奖励机制,以当时提交结算奖励机制时间截止,例如当前视频播放量为1000提交获取奖励,结算之后播放量上涨不再累积奖励。
  2. 仅限于bilibili播放量为准,每1000播放量即可获取5元奖励机制,以此类推,10000播放量即可获得50元奖励机制。
  3. 奖励机制为1000元封顶。
  4. 奖励机制需根据视频内容要求挂钩才可触发。
  5. 禁止违背反作弊机制。
  6. 额外奖励机制通过工单申请获取。

基本内容要求:

  • 软文需介绍莱卡云产品优势特点。
  • 软文要求不被平台下架3天后可申请获取奖励。
  • 视频内容基于莱卡云产品测评、活动促销、教程创作等。
  • 必须植入创作者的推广链接。

内容示例:

视频内容示例:使用frp内网穿透服务器搭建教程

教程软文内容示例:使用docker部署个人Halo博客

推广软文内容示例:莱卡云重磅活动来袭

反作弊要求:

  1. 禁止刷取视频播放量,奖励机制结算都会通过专业人工数据核查,如发现有恶意刷取播放量行为将取消创作招募激励资格并且不提供任何奖励。
  2. 软文视频禁止使用AI生成,并且不能违反广告法,恶意虚假夸大宣传。
  3. 每个视频或者软文只能提交一个工单,禁止提交多个工单。
  4. 禁止复制他人内容,重复发布相同内容。
  5. 软文跟视频如发布删除将取消创作招募激励资格。
  6. 解释权为莱卡云所有。

使用docker部署Halo 2.0 博客网站,一个好用又强大的开源建站工具

lcayun2阅读(197)

重要提示(如果你是Halo的1.X用户)

1、升级需谨慎,请提前备份好博客后再尝试升级
2、升级之前可以看看这个:从 Halo 1.x 迁移

1. Halo2.0 简单介绍

从Halo的1.0版本的slogan就可以看出区别

Halo 21.x版本改成了:
Halo [ˈheɪloʊ],一款现代化的开源博客/CMS系统,值得一试。

从Halo的2.0版本的slogan就可以看出区别

Halo 2.x版本改成了:
Halo [ˈheɪloʊ],好用又强大的开源建站工具。

1.1 Halo2.0版本的更新:

随着Halo的2.0版本更新
Halo从最初是一个轻量级的博客框架
摇身一变,变成了可以搭建任何网站。功能想必也是提升了很多。

1.11 插件机制

Halo 2.X带来了灵活可扩展的插件机制,通过插件可以在运行时为系统添加丰富的功能,也可以保持 Halo 自身的简洁轻量。目前支持 Halo 2.X的插件可查:https://bbs.halo.run/t/plugins

1.12 模板机制

完善的模板系统,支持自定义配置,主题预览,多语言等功能。开发主题也十分方便,欢迎大家参与主题的开发。最新发布新的主题:https://bbs.halo.run/t/themes

1.13 附件管理

采用多策略存储模式,同时支持通过插件扩展外部存储位置,你可以更方便的管理你文章中的附件。

1.14 搜索引擎

Halo 2.X带来了内置的全文搜索引擎支持,同时也支持通过插件扩展外部搜索引擎。

1.15 多用户

与1.0相比,Halo 2.X增加了多用户机制,并且可以给不同的用户赋予不同的权限,多人管理维护一个网站变成了可能。

1.16 一键部署

采用了程序与用户配置分离的方式,迁移和备份成本大大降低。你只需要一条命令即可运行成功,同时也支持 Docker 部署。

2.项目展示

Halo演示地址:https://demo.halo.run/
文档地址:https://docs.halo.run/
社区地址:https://bbs.halo.run/
官网地址:https://www.halo.run/
GitHub地址:https://github.com/halo-dev/halo

3.搭建环境

  • 搭建服务器:使用有预装宝塔面板的海外的服务器,海外服务器不用网站ICP备案
    不管是简单的博客服务器,还是配置全部拉满的服务器。
    点击下方链接,香港BGP首月五折:E1ljBxwr(优惠码)

    https://www.lcayun.com/cart?action=configureproduct&pid=396&promocode=E1ljBxwr&aff=ZFVSWGGQ
  • 系统:Ubuntu-24.04-x64
  • 【非必需但建议】域名一枚,并做好解析到服务器上
  • 【非必需】提前安装好宝塔面板,并安装好 Nginx
服务器要求:内存建议1G 以上,硬盘可以大一些。

4.搭建视频

视频地址:https://www.bilibili.com/video/BV1VWxrefEBh/

4.1 【高清版本】:

5.搭建方式

更新软件包列表

sudo apt upgrade

5.1 安装docker

cd /usr/local/bin
#安装指令
sudo apt install docker.io
#验证 Docker 是否安装成功
docker -v
#启动 Docker 服务
sudo systemctl start docker
#查看 Docker 服务状态,显示为“active (running)”。这意味着 Docker 正在运行
sudo systemctl status docker
#设置 Docker 在系统启动时自动启动
sudo systemctl enable docker
#检查 Docker 是否设置为开机自启,可以使用以下命令,返回enabled表示已经设置,如果是disabled表示没有设置
sudo systemctl is-enabled docker

5.2 安装docker-compose

#使用 curl 下载最新版本
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
#赋予执行权限
sudo chmod +x /usr/local/bin/docker-compose
#确认安装
/usr/local/bin/docker-compose --version

5.3创建安装目录

创建一下安装的目录:

sudo -i
#创建一个目录,用于存放 Halo 的数据和配置文件
mkdir -p /root/data/docker_data/halo
#切换到你刚创建的目录中
cd /root/data/docker_data/halo

直接用 docker 的方式安装

vi docker-compose.yml

输入法英文状态下输入” i “

version: "3"

services:
  halo:
#镜像
    image: halohub/halo:2.6.0
#容器名称,用于区分标识容器
    container_name: halo
#重启策略
    restart: on-failure:3
#依赖关系
    depends_on:
      halodb:
        condition: service_healthy
#网络配置
    networks:
      halo_network:
#编辑存放
    volumes:
      - ./:/root/.halo2
#端口映射,服务器防火墙端口需要开放8090
    ports:
      - "8090:8090"
    command:
      - --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo
      # MySQL 的名称,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。
      - --spring.r2dbc.username=root
      # MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。
      - --spring.r2dbc.password=o#DwN&JSa56
      - --spring.sql.init.platform=mysql
      # 外部访问地址,请根据实际需要修改成你的域名或者是ip地址
      - --halo.external-url=http://abcjc:8090/
      # 初始化的超级管理员用户名,可以自己设定
      - --halo.security.initializer.superadminusername=admin
      # 初始化的超级管理员密码,可以自己设定
      - --halo.security.initializer.superadminpassword=P@88w0rd

  halodb:
#使用的docker镜像
    image: mysql:8.0.31
#指定使用容器的名称
    container_name: halodb
#容器因错误的重启策略
    restart: on-failure:3
#网络配置
    networks:
      halo_network:
#设置 MySQL 启动时的参数,控制其行为
    command: 
      - --default-authentication-plugin=mysql_native_password
      - --character-set-server=utf8mb4
      - --collation-server=utf8mb4_general_ci
      - --explicit_defaults_for_timestamp=true
#两个卷的挂载
    volumes:
      - ./mysql:/var/lib/mysql
      - ./mysqlBackup:/data/mysqlBackup
# 定义容器与宿主机之间的端口映射
    ports:
      - "3306"
#定义健康检查,确保 MySQL 服务正常运行
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"]
      interval: 3s
      retries: 5
      start_period: 30s
#设置容器的环境变量
    environment:
      # 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值
      - MYSQL_ROOT_PASSWORD=o#DwN&JSa56
      - MYSQL_DATABASE=halo

networks:
  halo_network:

注意:大部分的代码有注释说明,可以根据说明查阅。
重要注意:里面的 - --halo.external-url=http://abcjc:8090/,其中的http://abcjc:8090/需要更改为的域名,如果你打算用的域名是abc.com也就是要改成–halo.external-url=https://abc.com
或者是没有域名需要可以使用服务器的ip地址代替abc.com
接着,千万记得改密码!!!其中的账号名称和密码都是可以自己更改。避免不必要的安全隐患!!!
不然,你也会像这样:

PS:细心的小伙伴会发现,docker-compose.yml里面数据库3306并没有写成3306:3306,官网是写的后者,这里的改成了前者,为的就是不在公网暴露halo数据库的端口,这样也能一定程度保障博客的安全

修改好之后,注意切换成英文输入法,然后按一下 esc,然后 :wq 保存退出。

并输入启动容器的命令

docker-compose up -d

5.4打开服务器防火墙(非必须),并访问网页

在服务器安全组中,把有使用到的端口8090放行(暴露在防火墙外)。并通过ip地址+端口的方式访问后台。

6.使用方法

6.1 插件安装

地址:https://github.com/halo-sigs/awesome-halo

6.2 主题安装

推荐 Butterfly 或者是foe 主题 地址:https://github.com/dhjddcn/halo-theme-butterfly

预览效果:https://dhjdd.cn/

7.结尾

祝大家用得开心,有问题可以去 GitHub 提 Issues,也可以在评论区或者是Halo的官方论坛互相交流探讨。有能力给项目做贡献的同学,也欢迎积极加入到 项目 中来,贡献自己的一份力量!
最后,感谢Halo团队的辛苦付出,让我们能用到这么优秀的博客!

教你新手怎么搭建frp内网穿透教程VPS云服务器搭建最新教程+注意细节【快速上手】

lcayun2阅读(747)

项目简介

FRP(Fast Reverse Proxy)是一个高性能的反向代理应用,主要用于内网穿透。它允许用户通过公共网络访问位于私有网络中的服务。FRP 的主要特点包括:

  1. 高效性:FRP 采用了高效的网络协议和数据传输机制,能够处理大量并发连接。
  2. 灵活的配置:支持多种代理模式,包括 TCP、UDP 和 HTTP,用户可以根据需求灵活配置。
  3. 跨平台支持:FRP 可以在多种操作系统上运行,如 Windows、Linux 和 macOS。
  4. 安全性:FRP 支持 SSL 加密,可以确保数据传输的安全性。
  5. 简易的使用:FRP 提供了简单易用的命令行工具和配置文件,使用户能够快速上手。
  6. 可扩展性:用户可以根据具体需求自定义和扩展 FRP 的功能。

FRP 适用于需要远程访问内网服务的场景,比如远程桌面、数据库访问和开发测试环境等。

简单来说,比如你家里有台服务器且没有公网IP。你在学校或者公司想要访问服务器,由于没有公网,你是访问不了的。

实现内网穿透,必须要有一台有公网IP的服务器。比如各大厂商的云服务器等等。这台服务器就称之为代理服务器(Proxy Server)。

1.搭建环境

  • 服务器:这边使用的是莱卡云国内服务器,服务器配置没有要求,最低配即可。

  • 系统:CentOS 7.9

2. frp官网了解更多

https://gofrp.org

3.服务端(含有公网IP服务器)

3.1本地下载

下载地址:https://github.com/fatedier/frp/releases

根据你环境下载,这边使用的是Linux系统,所以下载frp_0.60.0_linux_amd64的版本。

3.2上传服务器并解压

#打开/usr/local路径文件夹 
cd /usr/local
#创建frp文件夹,并且进入 
mkdir frp && cd frp

把刚刚下载的FRP压缩包上传安装包到/usr/local/frp目录

#解压frp_0.60.0_linux_amd64 (4).tar.gz文件,并打开frp_0.60.0_linux_amd64 
tar -zxvf 'frp_0.60.0_linux_amd64 (4).tar.gz' && cd 'frp_0.60.0_linux_amd64'

3.3配置

#编辑frps配置文件 
vi frps.toml

进入frps.toml之后按a进入编辑模式,粘贴以下内容

# 客户端与服务连接端口 
bindPort = 7000 
# 客户端连接服务端时认证的密码 
auth.token = "abcjc" 
# http协议监听端口 
vhostHTTPPort = 28080 
# web界面配置 
webServer.addr = "0.0.0.0" 
webServer.port = 7500 
webServer.user = "admin" 
webServer.password = "admin"

粘贴完之后保存编辑文件,按shift + :之后 输入wq(强制保存退出)

3.4运行frps服务

创建 frps.service 文件

使用文本编辑器 (如 vi) 在 /etc/systemd/system 目录下创建一个 frps.service 文件,用于配置 frps 服务。
为什么?是为了用户自定义和修改服务提供的专用目录。你可以在这里添加或修改服务,而不影响系统自带的服务。

#编辑/etc/systemd/system/frps.service文件 
sudo vi /etc/systemd/system/frps.service

进入frps.service之后按a进入编辑模式,粘贴以下内容

[Unit] 
Description=frp server 
After=network.target syslog.target 
Wants=network.target 
[Service] 
Type=simple 
ExecStart=/usr/local/frp/frp_0.60.0_linux_amd64/frps -c /usr/local/frp/frp_0.60.0_linux_amd64/frps.toml 
[Install] 
WantedBy=multi-user.target

粘贴完之后保存编辑文件,按shift + :之后 输入wq(强制保存退出)

#检查frp配置文件是否正确 
sudo systemctl status frps.service

3.5 systemd 命令管理 frps 服务

# 启动frp 
sudo systemctl start frps 
# 停止frp 
sudo systemctl stop frps 
# 重启frp 
sudo systemctl restart frps
#设置开机自启
sudo systemctl enable frps

4.客户端(没有公网IP的)

4.1 下载客户端,以下为下载地址,我下载的是frp_0.60.0_windows_amd64.zip

https://github.com/fatedier/frp/releases

4.2本地解压下载的压缩包

image-20240916155910986

4.3配置

编辑frps配置文件frpc.toml

image-20240916155942479

写入内容并保存

serverAddr = "服务器的公网IP" 
serverPort = 7000 
auth.token = "abcjc"
#HTTP的配置 
[[proxies]] 
name = "blog" 
type = "http" 
localIP = "127.0.0.1" 
localPort = 8080 
customDomains = ["abcj.cn"]
#TCP的配置 
[[proxies]] 
name = "rdp" 
type = "tcp" 
localIP = "127.0.0.1" 
localPort = 3389 
remotePort = 23389

4.4运行

打开frpc.exe输入frpc.exe -c frpc.toml回车即可
image-20240916160410240

4.5打开电脑远程桌面