跳至主要内容

如何将家里的个人网站放到互联网以域名访问?“ubuntu+宝塔+wordpress+cloudflare”安装攻略,完全免费 原创有新谈


 我们常常在家里部署个人应用,然后演示给远端的客户或朋友。或者在nas存储个人数据、运行着个人应用,在外出的时候希望正常访问。之前介绍过zerotier、ssh反向映射等方法,都很不错。这一次我们采用通过安全隧道进行内网穿透, 并且使用域名方式访问,无需设置交换机, 链接更加稳定、访问更加友好。因使用安全隧道建立加密连接,数据也将更加安全。

 原理是在本地电脑与cloudflared间建立安全隧道,同时通过cloudflare托管域名并进行域名解析,达到内网穿透和域名访问的目的。 

 

 本文演示通过本地ubuntu系统,使用宝塔面板 部署wordpress 应用,从内网穿透到cloudflare,并设置域名访问。

 

一、准备ubuntu系统

 ubuntu的系统安装在前面介绍过。可以查看 Linux Mint 22如何安装应用 一文,只不过需要下载的是ubuntu系统,并替换linux Minit系统。 ubuntu下载链接详见文末。

 

二、在Ubuntu中安装wordpress应用

1.运行sudo -i命令进入超级用户。

 

2.运行apt update命令更新系统。

 

3.运行wget命令安装宝塔面板。各版本linux 宝塔安装命令查看地址详见文末,安装9以上稳定版本。

wget -O install.sh https://download.bt.cn/install/install_lts.sh && bash install.sh ed8484becd

 

 输入命令回车,提示是否安装的时候,输入y,如下图。

  

 接着开始安装,并启动面板。

 

 然后按提示在浏览器打开链接地址:

 https://192.168.180.133:32582/d6b890ba

 在弹出的页面中输入 上图所示 用户名和密码,并与宝塔官网账号密码绑定。如无官网账号,那么注册一个。接着弹出如下页面,由于没有绑定ssl证书,提示链接不安全,暂不用理会。

 

4、安装wordpress运行环境。

 推荐lnmp一键安装wordpress的运行环境,包括niginx,mysql,php。

 

 点击一键安装,等待几分钟,直到安装完成。

 

 完成后,回到宝塔主页。点击“网站--添加站点”。

 

 在域名文本框输入服务器IP地址、申请到的域名(申请详见 免费域名注册和托管详解,零基础一看就会 ),域名托管到cloudflare。

 

 数据库选择mysql。

 

 点击确认,提示添加网站成功。

 

 

 点击链接,提示站点创建成功。

 

5.接着安装wordpress。

 回到宝塔面板主页,点击“文件”,可以看到网站根目录及文件。

 

 进入网站目录,删除目录下所有文件。

 

 选择所有文件,点击“更多--删除”。

 

 然后上传wordpress安装文件(下载地址详见文末链接)。点击“上传”按钮,选择wordpress安装文件。

 

 成功后回到文件面板。右击wordpress压缩文件,点击解压。

 

 可以看到新增一个wordpress目录。

 

 进入该目录,全选文件,右击选择剪切。

 

 到网站根目录下粘贴。

 

 在浏览器打开网站地址,可以看到安装页面,说明wordpress部署成功。

 

 如果这时候安装wordpress,会将内网地址写入程序,所以我们先暂停这一步。回到Ubuntu服务器,安装 cloudflared客户端。

三、安装cloudflare客户端

 Cloudflare Tunnel 的命令行客户端 是一个隧道守护程序,用于将流量从 Cloudflare 网络代理到您的源站(这里是家里的ubuntu服务器)。Cloudflare 接收客户请求并将其发送给本地服务器。通过此守护进程,无需在防火墙上开放额外端口,保障内网安全。

 1、下载 cloudflare 客户端

ubuntu命令行中运行以下命令:

wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb

 一般需要2-5分钟。

 

2、安装客户端

 运行以下命令进行安装:

dpkg -i cloudflared-linux-amd64.deb

 

 很快完成。可以通过以下命令查看安装是否成功:

cloudflared --version

  

3、登录cloudflare并授权

 运行以下命令登录cloudflare:

cloudflared login

 

 通过浏览器打开提示的链接,登录cloudflare。如果没有账号,请注册一个。

 

 登录成功后。再通过浏览器打开命令行所提示的链接,可以看到弹出提示如下:

 

 点击域名名称,这里为onedaygo.sbs。弹出如下页面,点击授权。

 

 可以看到授权成功。

 

 这样在我们的域名区域中成功创建tunnel,ubuntu的命令行同时提示证书生成成功。

 

 证书存储在/root/.cloudflared目录下。

 

4.创建cloudflare的tunnel服务

 运行以下命令,创新项目的tunnel服务:

cloudflared tunnel create onedaygo-sbs

 onedaygo-sbs换成您的项目名称,推荐使用域名。

 

 这样在.cloudflared目录下面新增了一个json文件。

 

 为了便于记忆,更改名称,前缀为项目名。

 

5、域名解析

 运行以下命令,将onedaygo-sbs以及域名改成你的项目名称和域名。

cloudflared tunnel route dns onedaygo-sbs  web.onedaygo.sbscloudflared tunnel route dns onedaygo-sbs www.onedaygo.sbs

 提示创建成功。

 

 可以在cloudflare看到对应的DNS记录。其中,名称可以修改,鼠标放到名称上面可以看到完整的域名。

 

 6、配置 ingress 路由

 /root/.cloudflared下创建文件:config.yml,填入以下内容:

# tunnel 后面为刚才设置的 Tunnel 的项目名字# credentials-file 后面为刚才修改的 json 文件绝对路径# 两个 hostname 后面的域名为你的域名# 其中的 IP 地址为安装宝塔机器的 IP 地址,端口不能丢tunnel: onedaygo-sbscredentials-file: /root/.cloudflared/onedaygo-sbs.jsoningress:  - hostname: web.onedaygo.sbs    service: http://192.168.180.133:80  - hostname: www.onedaygo.sbs    service: http://192.168.180.133:80  - service: http_status:404

 通过vi config.yml创建文件,记得在.cloudflared目录下创建。

 

 回车后,按"i",复制粘贴以上内容,并按“esc”、“:”、“x”保存。

7、设置 CloudFlare 启动和自启

 运行以下命令安装 cloudflared 服务:

 cloudflared service install

 

 设置 cloudflared 开机启动:

systemctl enable cloudflared


 

 cloudflared 重新启动

systemctl restart cloudflared

  

 没有报错即正常。

 打开域名,可以看到成功解析。下一步消除不安全提示。

 

8、启用 HTTPS 强制访问

 来到cloudflare,点击 菜单栏的 ssl/tls。往下拉,看到“始终使用https”,点击启用。

 

 回到网站页面,刷新,可以看到不安全提示消失。

 

 

9、继续安装wordpress

 提示输入数据库连接信息。

 

 到宝塔面板,复制数据库对应信息。看不全则缩小浏览器。

 

 填写完成后,点击提交。

 

 可以看到连接成功。点击运行安装程序。

 

 输入站点标题、用户名、密码和邮箱,点击“安装wordpress”。

 

 可以看到安装成功了。登录后可以看到网站设置页面。

 

 同时可以成功通过域名访问wordpress主页。

 



评论

此博客中的热门博文

用了 Claude Code 之后,我不再续费 Cursor 了!国内使用 Claude Code 教程 原创 周星星 摆烂工程师

最近深度使用了一段时间的Claude Code,总体感觉: 快、准、贵 。 谷歌也出了对应的Gemini Cli,但是有人翻出对应的源码之后,发现是逆向了Claude Code。 两者我都体验使用过了, 个人感受:Claude Code 强于 Gemini Cli 。 我简单的让Claude Code 生成一个网页介绍如何安装和使用,几十秒之后就完成了。