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

news2024/12/23 20:19:18

文章目录

    • 前言
    • 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2085748.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

React学习day04-useEffect、自定义Hook函数

11、useEffect(一个React Hook函数) (1)作用:用于在React组件中创建不是由事件引起而是由渲染本身引起的操作,比如发送AJAX请求,更改DOM等(即:视图渲染完后会触发一些事…

网络游戏服务器如何有效防护DDoS与CC攻击

随着网络游戏行业的蓬勃发展,其背后的服务器架构日益复杂,同时也面临着前所未有的网络安全威胁。其中,分布式拒绝服务(DDoS)和CC(Challenge Collapsar)攻击尤为突出,它们通过大量伪造…

90.游戏安全项目-项目搭建与解析

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于:易道云信息技术研究院 上一个内容:89.游戏安全项目-htdSdk安装 79.游戏分析工具闪屏问题优化与数据被修改高亮 这里面有注…

权力迷宫:皇权、律法与人性的深度博弈

权力迷宫:皇权、律法与人性的深度博弈 - 孔乙己大叔在人类社会的复杂织锦中,权力与律法的关系往往呈现出一种微妙而深刻的悖论。律法,这一社会秩序的基石,常被视作维护公正、约束行为的利器,然而,在金字塔的…

深度理解指针(5)----指针完结

hello,各位小伙伴们我们现在已经对指针有了深刻的理解,指针来到了收尾环节!让我们来做几题例题来复习之前学习的内容吧! 最近爆火的黑神话悟空不知道小伙伴们体验了没有,小编对八戒还有蜘蛛精的凄惨爱情深深打动特意找…

Springboot使用Mongo数据库实现文件的上传下载预览等服务接口

MongoDB GridFS 简介 MongoDB GridFS是一个用于存储和检索大型文件的规范,它允许在MongoDB数据库中存储超过16MB的文件,如图片、音频、视频等。GridFS通过将文件分割成多个小的chunk(文件片段),每个chunk通常为255KB&…

记URL重定向漏洞骚技巧

0x1 前言 这几天跟着我那几个师傅们在学习URL重定向漏洞,学习了比较多的对于这个漏洞的骚技巧,以及在挖掘edusrc漏洞和企业src相关的URL重定向漏洞时的一些技巧和不错的思路。 最近在跟我那几个师傅们研究学习URL重定向漏洞,然后在一些厂商…

EHS综合管理解决方案落地:管理效率飞升70%!

所有制造企业都面临着一个问题:如何保证EHS制度高质、高效执行?——上海斯歌EHS综合管理解决方案应运而生。 前不久,上海斯歌EHS综合管理解决方案(企业安环综合管理解决方案)在某全球领先的汽配公司成功落地&#xff0…

安灯系统在汽车电子工厂应用案例汇总

在汽车电子工厂中,高效的生产管理和及时的问题解决至关重要。安灯系统作为精益制造执行中的核心工具也是 MES 制造执行系统的重要组成部分,为汽车电子工厂带来了显著的效益。安灯系统是一个面向制造业生产现场,快速联络生产、物料、维修、主管…

VSCode中TypeScript调试配置

一、背景 最近想用TypeScript编译项目,在创建完项目后,我发现VSCode只有在调试TypeScript的单个文件时生效,如果存在引用,再进行断点调试,则调试功能不生效了。 随后,我让Chatgpt 生成一个一套配置&#…

C语言基础(二十五)

栈排序不是最高效的方法,因为栈是一种后进先出(LIFO, Last In First Out)的数据结构,而排序要求根据元素的顺序(如升序或降序)重新排列。但是,可以利用栈的特性,结合其他排序算法的思…

group by 中一定要包含 select 中的 除聚合函数以外 的 所有字段

今天在项目过程中报错: ### SQL: SELECT UNIT_NAME,dc.CAPTION as area,ifnull(a.bgSum,0) AS bgSum,ifnull(concat(FORMAT(a.bgSum/k.m*100,1),%),0.0%) as bgRatio FROM inspection_station_info isi left join dic_content dc on dc.CODE_VALUE…

K 线图快速绘制教程:使用 KLineChart 展示 DolphinDB K 线

KLineChart 是一款开源、简单易用、适用场景丰富的 Web 前端金融图表,基于 html5 canvas 构建,零依赖压缩包仅 40K,非常轻量。它可以用于渲染金融 K 线图,同时支持多种数据源,提供了丰富的交互功能以及指标计算接口。由…

动物消消乐:Scratch消除类游戏作品

小虎鲸Scratch资源站-免费Scratch作品源码,素材,教程分享平台! 体验《动物消消乐》,开启欢乐消除之旅! 在这个快节奏的时代,放松心情、享受乐趣显得尤为重要。小虎鲸Scratch资源站为您带来了全新的游戏体验——《动物消消乐》。这款游戏不仅…

【CTF Web】BUUCTF Upload-Labs-Linux Pass-01 Writeup(JS分析+代码审计+文件上传)

Upload-Labs-Linux 1 点击部署靶机。 简介 upload-labs是一个使用php语言编写的,专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场。旨在帮助大家对上传漏洞有一个全面的了解。目前一共20关,每一关都包含着不同上传方式。 注意 1.每一关没有固定的…

上班摸鱼的人怎么治理?只要5个步骤让员工服服帖帖,打造干净职场

在职场中,我们时常会遇到一些同事在上班时间“摸鱼”,比如浏览与工作无关的网站、玩游戏、聊天等。这些行为不仅影响了工作效率,还可能损害团队的整体氛围和企业的利益。那么,如何有效地治理这种“摸鱼”现象呢?今天&a…

鸿蒙ArkTS小案例-购物车

最近用鸿蒙的ArkTS做了一个购物车的小案例,在这里分享一下,该购物车已实现如下功能: 1. 购物车商品数量支持1个或者多个 2. 勾选1个或者多个商品后,底部可以动态计算出购买总数量和总价格 3. 同时,可以对购买商品的…

SpringBoot对接Midjourney Api

提示&#xff1a;SpringBoot对接Midjourney Api 文章目录 目录 文章目录 后端代码 导包 controller层 工具类层 前端代码 申请API 测试结果 后端代码 导包 <!--添加hutool的依赖--><dependency><groupId>cn.hutool</groupId><artifactId&g…

IoT客户端+联邦学习微调大模型

大型模型的训练涉及到微调&#xff0c;微调则面临着高质量数据的稀缺性。与基于集中式数据中心的解决方案相比&#xff0c;物联网-IoT中大型模型的更新面临着分布式客户端私有且异构数据的协调挑战。为了解决这一挑战&#xff0c;作者提出了KOALA来推动物联网中大模型的训练。由…

单线程Redis:Redis为什么这么快

1 Redis是不是单线程 Redis 使用后台线程执行耗时的 I/O 操作&#xff0c;以免阻塞主线程 bio_close_file&#xff1a;后台 I/O 线程之一&#xff0c;异步关闭文件 bio_aof_fsync&#xff1a;后台 I/O 线程之一&#xff0c;异步地将 AOF&#xff08;Append Only File&#xff…