本地部署一个WordPress博客结合内网穿透实现异地远程访问本地站点

本文主要是介绍本地部署一个WordPress博客结合内网穿透实现异地远程访问本地站点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 前言
    • 1. 安装WordPress
    • 2. 创建WordPress数据库
    • 3. 安装相对URL插件
    • 4. 安装内网穿透发布网站
      • 4.1 命令行方式:
      • 4.2. 配置wordpress公网地址
    • 5. 配置WordPress固定公网地址

前言

本文主要介绍如何在Linux Ubuntu系统上使用WordPress搭建一个本地网站,并结合Cpolar内网穿透工具为站点配置公网地址,实现随时随地远程访问本地搭建的站点。

WordPress作为一款强大而灵活的开源内容管理系统(CMS),因其易用性、丰富的插件和主题选择,以及强大的社区支持,成为了众多网站开发者的首选。然而,对于许多初学者和中小型企业来说,如何轻松部署WordPress并使其对外可见,仍然是一个挑战。

Ubuntu作为一款流行的开源操作系统,以其稳定、安全、易用的特点,赢得了广大用户的青睐。结合Ubuntu和WordPress,用户可以轻松搭建一个功能强大的网站。但是,当网站部署在本地或内网环境中时,如何实现远程访问,又成为了一个需要解决的问题。

为了解决这个问题,我们可以利用Cpolar内网穿透技术。Cpolar是一款高效、安全的内网穿透工具,它可以将本地或内网的服务器映射到公网上,生成一个可访问的公网地址。通过这个公网地址,用户可以随时随地访问到本地或内网的WordPress网站,无需担心网络环境的限制。

新手小白从零开始搭建一个自己的WordPress博客网站

1. 安装WordPress

首先我们先安装网站所需的运行环境即数据库,我们可以在Ubuntu系统桌面,点击鼠标右键,并在菜单中点击“在终端中打开”,进入Ubuntu系统的命令行界面。

20221118142851

20221118142856

接着在命令行中输入命令,安装Apache2

sudo apt install apache2 php -y

20221118142902

20221118142907

在Apache2安装完成后,还需要安装数据库,才能支持WorePress网站的正常运行。同样的,我们在命令行窗口输入命令,安装MySQL数据库。

sudo apt install mariadb-server php-mysql -y
sudo service apache2 restart

20221118142913

20221118142918

最后,我们就可以在命令行中输入WordPress的下载和安装。不过与Apache和MySQL不同,WordPress是网站运行的包合集,因此我们需要先将WordPress的压缩包下载到单独的文件夹,在解压后才能使用这些文件。

我们先输入命令,转入上一级目录

cd /var/www/html

在该目录下输入命令,下载WordPress的压缩包

sudo wget http://wordpress.org/latest.tar.gz

20221118142925

下载完成后,再输入命令解压

sudo tar xzf latest.tar.gz

看一下目录列表

ls

20221118142930

解压完成后,我们需要将WordPress的文件移动到上级目录,输入命令移动所有文件。

sudo mv wordpress/* .

从顺序上来看,之前下载的WordPress压缩包就在这一层文件夹中(可以输入“ls”查看文件夹中的文件进行确认)。为防止干扰,我们可以将WordPress的压缩包删除,输入命令

sudo rm -rf wordpress latest.tar.gz

20221118142937

再输入命令确认压缩包已经删除

ls

20221118142944

接下来我们删除一下apche自带的静态页面

sudo rm index.html

20221118142950

设置该wordpress 文件夹权限

sudo chown -R www-data: .

这条命令执行完成后,再输入命令,查看权限是否赋予成功。

ls -l

20221118142957

然后接下来访问wordpress前,重启一下apache

sudo systemctl restart apache2

如上图所示,只要各文件名前显示出www,就说明我们的赋权操作已经完成。到这里,我们在Ubuntu上建立网站的软件都已经安装齐备,剩下的工作就是对这些软件进行相应的配置。

虽然配置过程不算复杂,但相对精细。为了能更清楚的说明配置过程,我们会在下一章节中为大家详细介绍。


2. 创建WordPress数据库

在前面的文章中,我们向大家介绍了如何在Ubuntu系统中安装Apache2、MySQL、WordPress、cpolar几款软件,算是为我们的个人网站搭建打好了基础。但此时这些软件的状态是“安装上”,还不能直接启用,因此需要对软件进行相应的配置。现在,我们就来看看,如何对这些软件进行配置,使其能构建起网站运行的必要环境。

之前我们提到,WordPress网站想要正常运行,必须配备有相应的数据库,虽然我们安装了MySQL软件,但此时还没有建立其容纳数据的数据库,因此我们首先要对MySQL进行配置。由于数据库的设定涉及很多权限的确定,因此在这里需要小心,避免留下我们网站被入侵的漏洞。

初始化数据库,执行下面命令

sudo mysql_secure_installation

20221118143035

  1. 接着,mySQL会提出一系列问题,用以确定数据库的操作权限。这些问题的顺序分别为

    1. 要求root mysql数据库的密码(新安装的软件没有预置数据库,因此无密码,直接回车);
    2. *切换到unix_socket身份验证 *
    3. 是否要设置root数据库的密码(会要求输入两次密码,密码一定要一致);
    4. 是否移动匿名账号;
    5. 是否关闭root的远程登录;
    6. 是否移除测试数据库;
    7. 是否对修改内容重刷权限表;

    image-20240605142345042

这些问题都输入Y即可通过,但我们要注意,数据库的密码很重要,必须设置不易破解的密码,并且进行妥善记录防止遗忘。

完成这些步骤后,数据库的设置也就正式完成。

20221118143042

接下来我们就着手创建一个WordPress专用的数据库,创建这个数据库的命令行为

sudo mysql -uroot -p

这条命令中,-u后直接连接(无空格)用户名,此处我们连接的是root用户,所以为-uroot,而-p则是用户密码。而MySQL也会要求输入用户密码和数据库密码。

20221118143051

20221118143056

登录数据库后,执行创建数据库命令,创建一个名称为wordpress数据库

create database wordpress;

20221118143107

接着,输入命令为WordPress数据库进行权限设置(为防止输入命令时全角和半角错误,可以直接复制该命令)。

GRANT ALL PRIVILEGES ON wordpress.* TO 'root'@'localhost' IDENTIFIED BY '这里为你的root数据库密码';

20221118143120

最后执行命令刷新一次。

flush privileges;

20221118143128

由于一直处于命令行模式操作,并不如图形化操作直观,为确定我们的步骤没问题,我们可以输入命令确认我们成功建立起了WordPress专用数据库。

show databases;

20221118143134

如上图所示,只要在反馈中出现了“WordPress”名称的数据库,就证明我们的设置步骤没错。
最后,我们在Ubuntu的浏览器的地址栏中输入“localhost”(本机地址),就能打开我们熟悉的WordPress安装页面(如果浏览器没有显示WordPress安装页面,可以选择以隐私界面打开localhost,就能正常显示)。

20221118143140

剩下的步骤都是常规设置,如显示语言、数据库设置、WordPress用户注册等等。这里需要注意的,就是WordPress数据库的设置,一定要和MySQL数据库中设置Wordpress数据库时所留的用户名及密码一致!(当然,当时我们设置的数据库名称就是wordpress)

20221118143147

20221118143152

完成这些设置后,我们就能正式进入WordPress的主界面了。

20221118143158

至此,我们对WordPress网站的运行环境设置已经完成,剩下的就是如何使用cpolar,将位于本地的网站与公共互联网连接起来。而这部分内容,我们会在下一章节中,为大家详细介绍。


3. 安装相对URL插件

通过前面几篇介绍中的范例,我们已经在Ubuntu系统中安装了WordPress网站运行所需的环境,并进行了相关配置。接下来,我们就可以正式进入网站的编辑流程,并通过cpolar将其发布到公共互联网上,接受互联网访客的访问。现在,就让我们开始吧。

要让本地的网页能为公共互联网的用户访问到,必须有符合现行互联网规范的地址,即URL。但WordPress本身并不自带生成URL地址的功能,我们必须通过为WordPress安装插件来实现这一功能。还是回到WordPress的主界面,在左侧我们能找到插件选项,点开后在搜索框输入relative URL,就能找到这款插件,接着点击安装启用即可。

20221118143234

20221118143240

完成URL插件的安装后,我们还需要对WordPress本身进行一项小修改,我们要教会WordPress正确应对外部访问请求,因此我们要打开Ubuntu命令行界面,输入命令,转入站点根目录

cd /var/www/html

转入站点根目录后,再输入命令对WordPress的配置文件进行编辑。

nano wp-config.php

20221118143246

20221118143251

在WordPress编辑界面,我们要找到如下位置,输入两行命令,分别为:

define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST']);
define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST']);

由于命令行对于标点符号有全角半角的要求,因此最好还是复制命令,避免输入错误,导致WordPress运行错误。

20221118143257

20221118143303

确认命令输入无误后,就可以按快捷键Ctrl+X退出编辑,系统会询问我们是否保存更改,我们输入Y即可。

20221118143308

如果我们要返回WordPress的设置界面,只要在浏览器中输入地址http://localhost/wp-admin,就能回到wordpress的仪表盘

20221118143314

而我们也能在这里,选择自己喜欢的网站外观,打造自己心仪的网站。

20221118143322

至此,我们在Ubuntu上搭建的网站就基本成型了。下一步,就是使用cpolar,将这个网站发布到公共互联网上,让更多人都能访问到这个网站。这部分内容,我们将在下一章节中,为大家详细说明。


4. 安装内网穿透发布网站

通过前面介绍中的操作,我们已经成功的在Linux系统中搭建起网页运行所需的环境,并且通过WordPress成功制作了一个网页。但此时的网页还仅存在于本地电子设备上,想要将其发布到互联网上,还需要通过cpolar建立的数据隧道才能实现。今天,我们就尝试使用cpolar建立的数据隧道,让本地网页能够为互联网访客所访问的几种方法。

在此之前,我们已经在本地电脑上安装了cpolar,因此我们可以采用命令方式和图形化操作两种方式,建立起数据隧道。

4.1 命令行方式:

上面在本地成功部署了wordpress,并以本地127.0.0.1形式下访问成功,下面我们在Linux安装Cpolar内网穿透工具,通过Cpolar 转发本地端口映射的http公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器.下面是安装cpolar步骤

cpolar官网地址: https://www.cpolar.com

  • 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 安装完成后,可以通过如下方式来操作cpolar服务,首先执行加入系统服务设置开机启动,然后再启动服务
# 加入系统服务设置开机启动
sudo systemctl enable cpolar# 启动cpolar服务
sudo systemctl start cpolar# 重启cpolar服务
sudo systemctl restart cpolar# 查看cpolar服务状态
sudo systemctl status cpolar# 停止cpolar服务
sudo systemctl stop cpolar

Cpolar安装和成功启动服务后,内部或外部浏览器上通过局域网IP或者本机IP加9200端口即:【http://192.168.xxx.xxx:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可

image-20240603142647836

4.2. 配置wordpress公网地址

点击左侧仪表盘的隧道管理——创建隧道,创建一个wordpress的公网http地址隧道!

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 本地地址:80 (默认是80端口)
  • 域名类型:免费选择随机域名
  • 地区:选择China vip

点击创建

image-20240603142807481

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https,两种都可以访问,

image-20240603142938891

5. 配置WordPress固定公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn已备案】

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

image-20240603180627086

保留成功后复制保留成功的二级子域名的名称

image-20240603180656510

返回登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

image-20240603180737554

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名

点击更新(注意,点击一次更新即可,不需要重复提交)

image-20240603180818639

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址二级名称变成了我们自己设置的二级子域名名称

image-20240603180857948

最后,我们使用固定的公网http地址访问,可以看到同样访问成功,这样一个固定且永久不变的公网地址就设置好了,随时随地都可以远程访问我们的WordPress博客网站,无需公网IP,无需云服务器!

image-20240603181058208

这篇关于本地部署一个WordPress博客结合内网穿透实现异地远程访问本地站点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1121847

相关文章

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略 1. 特权模式限制2. 宿主机资源隔离3. 用户和组管理4. 权限提升控制5. SELinux配置 💖The Begin💖点点关注,收藏不迷路💖 Kubernetes的PodSecurityPolicy(PSP)是一个关键的安全特性,它在Pod创建之前实施安全策略,确保P