记录下自己的建站过程

1 Requirements & Preparations

安装apache2,php

sudo apt install apache2 php8.2

访问 服务器ip:80(http),可看到apache2欢迎界面

apache2默认网站目录位于/var/www/html,默认配置文件位于/etc/apache2/sites-enabled下的json文件

2 安装WordPress

WordPress官网:博客工具、发布平台和内容管理系统 – WordPress.org China 简体中文

点击”获取WordPress“,下载WordPress,全部解压至/var/www/html,并查看安装指南

安装mariadb数据库

sudo apt install mariadb-server
mariadb --version

若出现最后出现mariadb版本号,即为安装成功

phpmyadmin官网:phpMyAdmin

点击Download,建议选择phpMyAdmin-****-all-languages.zip,下载后解压至/var/www/html/phpmyadmin

后面mariadb,wordpress的配置步骤建议参考树莓派+wordpress搭建个人网页/博客 – 知乎 1-3节内容(不用管nginx配置,我们使用的是apache2,兼容php,无需额外配置)

3 搭建内网穿透,实现外网访问

3.1 ngrok配置(不建议使用)

最开始使用ngrok(现在看来十分不推荐!!!一个月1GB流量限制,https经常会出莫名其妙的问题,不利于NextCloud文件同步):https://dashboard.ngrok.com/

下载ngrok linux客户端(超级慢)

sudo apt install ngrok

点击getting started,并选择Raspberry Pi,找到

复制下方指令并执行以绑定账户

回到官网,点击左边Domains,点击NewDomain,会生成个人域名(超长难记),回到Setup&Installation,选择Raspberry Pi,找到

运行下方指令即可从外部域名访问网站

3.2 通过ChmlFrp+Cloudns域名或ChmlFrp免费域名

  1. ChmlFrp官网:ChmlFrp | 内网穿透 – 免费,高速,稳定,不限流量的端口映射工具。
  2. Cloudns(可访问,但添加域名与解析记录需要魔法上网):ClouDNS: 控制面板

3.2.1 安装frp客户端

点击 隧道管理=>软件下载 选择 Linux,复制arm64地址,下载,解压至/home/自己的用户 文件夹,重命名为ChmlFrp

3.2.2 配置隧道

点击 隧道管理=>隧道列表=>添加隧道,选择可建站非大陆节点(大陆节点需要工信部备案)

  1. 端口类型 http
  2. 内外端口 80
  3. 域名类型 免费域名(正在维护)/自定义域名(先阅读3.2.2.1!)

记住此处CNAME解析域名(不同节点域名不同):

创建完成后,点击右下角小扳手,获取配置代码,复制frpc.ini配置,并将其写入frpc客户点目录下的frpc.ini

3.2.2.1 获得Cloudns免费域名(需要魔法)

点击右上角国旗更改语言,注册登录账户,点击DNS托管下的创建区域=>免费区域,创建域名后,会进入如图界面

点击右下角添加新记录

  1. 类型:CNAME
  2. 主机:自定义即可(要填在3.2.2中的域名)
  3. 指向到:3.2.2中记住的解析地址
3.2.2.1.1 拓展:使用Cloudflare双向解析

Cloudflare Dashboard | Manage Your Account

在Cloudns仪表盘中删除所有默认NS记录,保留CNAME记录

按照Cloudflare Dashboard指引创建新NS记录,并在DNS=>记录 中加入相同的CNAME记录,可开启其他优化选项

3.2.3 设置frp客户端自启动

利用crontab自动任务实现

sudo crontab -e

写入以下指令:

@reboot sudo nohup sudo ngrok ***** //ngrok指令
30/* * * * * sudo nohup sudo ChmlFrp客户端目录/frpc -c frpc.ini目录

Ctrl+O 回车保存 ctrl+x 退出

3.3 使用Cloudflare Tunnel+ClouDNS免费域名

申请免费域名后,按照Cloudflare指引配置NS服务器

打开个人主页,点击Zero Truse,选择网络->Tunnels,添加Tunnel,并安装Cloudflare客户端,配置端口

注意!ClouDNS需要双向解析!推荐按照图片配置:

Cloudflare中添加CNAME解析,域名为resolve,目标:resolve.cloudflare.182682.xyz

(加速IP)

4 启用https访问

4.1 使用Let's Encrypt免费SSL证书

我们使用Certbot进行签名

sudo apt install certbot

安装好后执行

sudo certbot --apache

选择你要签名的网站,回车,经过一系列杂七杂八的自动验证后会自动申请到SSL证书,并提供https的apache2配置,这里我们就可以更新ChmlFrp的隧道配置了

如果验证失败,请检查你的网站是否能通过公网http访问到

  1. 协议从https改为http
  2. 端口从80改为443

之后更新frpc.ini配置,并重启apache2服务

sudo systemctl restart apache2

https就成功启用了

4.2 使用Cloudflare

启用Cloudflare SSL/TLS加密即可,无需任何额外配置