Ubuntu系统本地搭建WordPress网站并发布公网实现远程访问

文章目录

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

前言

本文主要介绍如何在Ubuntu系统上部署WordPress,并结合Cpolar内网穿透工具实现无公网IP远程访问本地搭建的网站。

在当今数字化快速发展的时代,网站已经成为企业、个人展示自身形象、分享知识、传播信息的重要平台。WordPress作为一款强大而灵活的开源内容管理系统(CMS),因其易用性、丰富的插件和主题选择,以及强大的社区支持,成为了众多网站开发者的首选。然而,对于许多初学者和中小型企业来说,如何轻松部署WordPress并使其对外可见,仍然是一个挑战。

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

为了解决这个问题,我们可以利用Cpolar内网穿透技术。Cpolar是一款高效、安全的内网穿透工具,它可以将本地或内网的服务器映射到公网上,生成一个可访问的公网地址。通过这个公网地址,用户可以随时随地访问到本地或内网的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

5.1. 固定地址访问WordPress

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

image-20240603181058208

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UE5 Mod Support 思路——纯蓝图

原创作者:Chatouille 核心功能 “Get Blueprint Assets”节点,用于加载未来的mod。用基础类BP_Base扩展即可。打包成补丁,放到Content\Paks目录下,即可让游戏访问到内容。 与文中所写不同的地方 5.1或者5.2开始,打…

【YOLOv10】使用 TensorRT C++ API 调用GPU加速部署 YOLOv10 实现 500FPS 推理速度——快到飞起!

NVIDIA TensorRT ™ 是一款用于高性能深度学习推理的 SDK,包含深度学习推理优化器和运行时,可为推理应用程序提供低延迟和高吞吐量。YOLOv10是清华大学研究人员近期提出的一种实时目标检测方法,通过消除NMS、优化模型架构和引入创新模块等策…

WWDC24即将到来,ios18放大招

苹果公司即将在下周开全球开发者大会(WWDC),大会上将展示其人工智能技术整合到设备和软件中的重大进展,包括与OpenAI的历史性合作。随着大会的临近,有关iOS 18及其据称采用AI技术支持的应用程序和功能的各种泄露信息已经浮出水面。 据报道,苹果将利用其自主研发的大…

Java 8 中的 Stream API,用于处理集合数据

Java 8 引入了 Stream API,使得处理集合数据变得更加简洁和高效。Stream API 允许开发者以声明式编程风格操作数据集合,而不是使用传统的迭代和条件语句。 一、基本概念 1.1 什么是 Stream Stream 是 Java 8 中的一个新抽象,它允许对集合数…

创新实训2024.06.03日志:完善Baseline Test框架、加入对Qwen-14B的测试

1. Baseline Test框架重构与完善 在之前的一篇博客中(创新实训2024.05.29日志:评测数据集与baseline测试-CSDN博客),我介绍了我们对于大模型进行基线测试的一些基本想法和实现,包括一些基线测试的初步结果。 后来的一…

PS初级|写在纸上的字怎么抠成透明背景?

前言 上一次咱们讲了很多很多很多的抠图教程,这次继续。。。最近有小伙伴问我:如果是写在纸上的字,要怎么把它抠成透明背景。 这个其实很简单,直接来说就是选择通道来抠。但有一点要注意的是,写在纸上的字&#xff0…

算法-分治策略

概念 分治算法(Divide and Conquer)是一种解决问题的策略,它将一个问题分解成若干个规模较小的相同问题,然后递归地解决这些子问题,最后合并子问题的解得到原问题的解。分治算法的基本思想是将复杂问题分解成若干个较…

Java使用GDAL来解析KMZ及KML实战

目录 前言 一、在GQIS中浏览数据 1、关于空间参考 2、属性表格 二、GDAL的相关驱动及解析实战 1、GDAL中的KMZ驱动 2、GDAL实际解析 三、数据解析成果 1、KML解析结果 2、KMZ文件入库 四、总结 前言 在前面的博客中讲过纯Java实现Google地图的KMZ和KML文件的解析&…

python - DataFrame查询数据操作

学习目标 掌握获取df一列或多列数据的方法 知道loc和iloc的区别以及使用方法 知道df的query函数的使用方法 知道isin函数的作用和使用方法 获取DataFrame子集的基本方法 1.1 从前从后获取多行数据 案例中用到的数据集在文章顶部 LJdata.csv 前景回顾 head() & tail(…

范闲获取到庆帝与神庙的往来信件,用AES进行破解

关注微信公众号 数据分析螺丝钉 免费领取价值万元的python/java/商业分析/数据结构与算法学习资料 在《庆余年2》中,范闲与庆帝和神庙之间的权谋斗争愈演愈烈。一次偶然的机会,范闲从庆帝的密室中获取到几封与神庙往来的密信。然而,这封信件…

美团面试:百亿级分片,如何设计基因算法?

尼恩说在前面 在40岁老架构师 尼恩的读者交流群(50)中,最近有小伙伴拿到了一线互联网企业如得物、阿里、滴滴、极兔、有赞、希音、百度、网易、美团的面试资格,遇到很多很重要的架构类/设计类的场景题: 1.说说分库分表的基因算法&#xff1f…

使用matplotlib绘制折线条形复合图

使用matplotlib绘制折线条形复合图 介绍效果代码 介绍 在数据可视化中,复合图形是一种非常有用的工具,可以同时显示多种数据类型的关系。在本篇博客中,我们将探讨如何使用 matplotlib 库来绘制包含折线图和条形图的复合图。 效果 代码 imp…

【Linux】进程2——管理概念,进程概念

1.什么是管理? 那在还没有学习进程之前,就问大家,操作系统是怎么管理进行进程管理的呢? 很简单,先把进程描述起来,再把进程组织起来! 我们拿大学为例子 最典型的管理者——校长最典型的被管理…

短视频矩阵源码----如何做正规开发规则分享:

一、什么是SaaS化服务技术开发? (短视频矩阵系统是源头开发的应该分为3个端口---- 总后台控制端、总代理端口,总商户后台) SaaS是软件即服务(Software as a Service)的缩写。它是一种通过互联网提供软件应…

MySQL查询相邻两条记录的时间间隔

MySQL查询相邻两条记录的时间间隔。最近需要统计相邻两条记录的时间间隔,筛选出时间间隔大于2min的数据记录。因为是同一张表,又需要查询出相邻的数据,所以最开始想到使用子表来做,分别用t1、t2表示,但是实践后发现查询…

如何查看本地sql server数据库的ip地址

程序连线SQL数据库,需要SQL Server实例的名称或网络地址。 1.查询语句 DECLARE ipAddress VARCHAR(100) SELECT ipAddress local_net_address FROM sys.dm_exec_connections WHERE SESSION_ID SPID SELECT ipAddress As [IP Address]SELECT CONNECTIONPROPERTY(…

鸢尾花分类和手写数字识别(K近邻)

鸢尾花分类 from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split import pandas as pd import mglearn# 加载鸢尾花数据集 iris load_iris() X_train, X_test, y_train, y_test train_test_split(iris.data,iris.target,test_siz…

【Linux】Centos7升级内核的方法:yum更新(ELRepo)

😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主。 🤓 同时欢迎大家关注其他专栏,我将分享Web前后端开发、人工智能、机器学习、深…

路径

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 用于定位一个文件或者目录的字符串被称为一个路径。在程序开发时,通常涉及两种路径,一种是相对路径,另一种是绝对…

Intel VT-x怎么开启?如何解决VMware打开虚拟机报错问题?

许多小伙伴在安装完VMware不能打开虚拟机,每次打开都会出现一个“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态”的报错,然后因此启动不了虚拟机。今天小编就带来如何解决这个报错的方法。 什么是Intel VT-x? 这是英特尔cp…