Ubuntu系统本地搭建WordPress网站并一键发布内网站点至公网实战

news2024/12/23 7:08:23

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
img

  • 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老
  • 导航
    • 檀越剑指大厂系列:全面总结 java 核心技术,jvm,并发编程 redis,kafka,Spring,微服务等
    • 常用开发工具系列:常用的开发工具,IDEA,Mac,Alfred,Git,typora 等
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 新空间代码工作室:提供各种软件服务,承接各种毕业设计,毕业论文等
    • 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
    • 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

博客目录

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

觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

img

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

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

相关文章

嵌入式技术文件、学习资料、在线工具、学习网站、技术论坛,非常全面的分享~~~

一、数据手册查询及下载网站 1、【ALLDATASHEET 自称是最大的在线电子元件数据的搜索引擎】ALLDATASHEETCN.COM - 电子元件和半导体及其他半导体的数据表搜索网站。电子元件和半导体, 集成电路, 二极管, 三端双向可控硅 和其他半导体的https://www.alldatasheetcn.com/ 2、【…

defineProps、defineEmits、 defineExpose的TS写法

小满视频 1 defineProps&#xff1a;父向子传递数据 作用&#xff1a;父组件向子组件传递数据 1.1 传递纯类型参数的方式来声明 父组件中的代码&#xff1a; 父组件App.vue <template><div><span>传递给子组件的响应式数据&#xff1a;</span>&l…

【循环顺序队的实现】

1.队列的逻辑结构 与 抽象数据类型定义 先进先出的线性表 在顺序队列中&#xff0c;我们使用头指针front指向队首元素&#xff1b;用尾指针rear指向队尾元素的下一个位置&#xff08;当然这里的指针是用下标模拟出来的&#xff09; 同时顺序队列中的元素当然是用数组来存储的 …

【系统架构设计】嵌入式系统设计(1)

【系统架构设计】嵌入式系统设计&#xff08;1&#xff09; 嵌入式系统概论嵌入式系统的组成硬件嵌入式处理器总线存储器I/O 设备与接口 软件 嵌入式开发平台与调试环境交叉平台开发环境交叉编译环境调试 嵌入式网络系统嵌入式数据库管理系统实时系统与嵌入式操作系统嵌入式系统…

【Qt笔记】QToolButton控件详解

目录 一、前言 二、QToolButton的基本特性 2.1 图标和文本 2.2 自动提升 2.3 下拉菜单 2.4 工具提示 2.5 弹出模式 三、高级功能 3.1 自定义大小与形状 3.2 检查框与单选按钮 3.3 动画效果 四、常用方法与信号槽 常用方法 信号槽 五、实际应用示例 说明 六、总…

ESP32 CYD 使用 LVGL 在屏幕上显示图像 | Random Nerd Tutorials

在本指南中&#xff0c;你将学习如何使用LVGL在ESP32 Cheap Yellow Display (CYD) 板上处理和加载图像。ESP32将使用Arduino IDE进行编程。 对ESP32 Cheap Yellow Display不熟悉&#xff1f; 从这里开始&#xff1a;开始使用ESP32 Cheap Yellow Display Board – CYD (ESP32-2…

线性代数 第三讲 线性相关无关 线性表示

线性代数 第三讲 线性相关无关 线性表示 文章目录 线性代数 第三讲 线性相关无关 线性表示1.向量运算1.线性相关与线性无关1.1 线性相关与线性无关基本概念 2.线性表示&#xff08;线性组合&#xff09;3.线性相关无关与线性表示的定理大总结3.1 向量β可由向量组线性表出的同义…

心觉:潜意识显化很简单,只是很多人想复杂了

很多人知道潜意识的力量很大&#xff0c;是意识力量的30000倍以上 也知道该怎么显化自己的潜意识 但是就是做不到 这就像很多肥胖的人知道运动可以减肥 知道减肥之后就可以穿漂亮的衣服 知道减肥之后自己有多帅多美 但是就是迈不开腿 根本原因是你的潜意识和意识上的认知不…

RenderMan v26.2更新内容!云渲染平台支持新版本

皮克斯的最新RenderMan v26.2版本带来了一系列激动人心的新特性和改进&#xff0c;进一步巩固了其在高端渲染领域的领导地位&#xff0c;为艺术家们提供了更丰富的创意工具和更流畅的工作流程。作为老牌的云渲染农场&#xff0c;瑞云依然支持新版本的使用。 RenderMan v26.2更新…

移动端视频编辑SDK解决方案,关键帧曲线塑造生动效果

美摄科技&#xff0c;作为移动视频编辑技术的领航者&#xff0c;携其革命性的移动端视频编辑SDK解决方案&#xff0c;正以前所未有的创新力&#xff0c;为视频创作者们开启了一扇通往无限创意的大门。 重塑视频编辑体验&#xff0c;让创意触手可及 美摄科技的移动端视频编辑S…

公网信息泄露监测(网盘、暗网、搜索引擎、文档平台)思路分享

一、背景 众测项目中白帽可能会提交一些信息泄露漏洞&#xff0c;同时甲方可会收到一些白帽提交的公网信息泄露文件漏洞&#xff0c;例如百度网盘被员工分享某些文件或者某些包含敏感信息的文件可以通过如谷歌、百度等搜索引擎通过特定语法搜索到。为了可以及时发现泄露的文件…

九泰智库 | 医械周刊- Vol.54

⚖️ 法规动态 国家药监局综合司发布医疗器械管理法草案征求意见稿 国家药监局综合司发布了《中华人民共和国医疗器械管理法&#xff08;草案征求意见稿&#xff09;》&#xff0c;公开征求意见&#xff0c;以加强医疗器械的管理并推动产业高质量发展。该草案共十一章190条&a…

深入解析财务报表:掌握重要财务指标的技巧

一、概述 财务报表中有大量信息&#xff0c;如果我们在分析时缺乏明确的方向或忽视了重点&#xff0c;就很容易在繁杂的数据中迷失方向。本文将深入探讨财务报表中的几个重要指标&#xff0c;帮助大家更有针对性地理解这些内容&#xff0c;包括如何分析资产负债率、解读净资产…

基于python的web框架 Flask 入门基础知识【1】

Flask是一个轻量级的可定制框架&#xff0c;使用Python语言编写&#xff0c;较其他同类型框架更为灵活、轻便、安全且容易上手。 目录 一、项目环境搭配以及安装运行 1.下载安装 2.最小的应用 3.运行应用 4.运行结果 4.1 外部可见的服务器 二、路由 三、http请求 3.1静…

无人机的核心技术!!!

无人机的核心技术涵盖了多个关键领域&#xff0c;这些技术共同支撑了无人机的稳定飞行、精准控制、高效数据传输以及多样化的应用功能。 1. 飞行控制技术 核心地位&#xff1a;飞行控制技术是无人机的核心关键技术之一&#xff0c;它确保了无人机在复杂飞行环境下的稳定性和安…

论文AI生成软件大PK!揭秘学术界的高效神器,选对了让你研究效率翻倍

在当今的学术界&#xff0c;研究与写作的压力不断攀升&#xff0c;论文的质量与数量往往成为衡量学者成就的重要指标。 然而&#xff0c;面对繁杂的研究任务和紧张的时间线&#xff0c;如何提升学术生产力成为了广大研究人员、学生及教育工作者的共同诉求。 在这样的背景下&a…

了解 JavaScript SEO

如果您是 SEO 专家&#xff0c;而不是开发人员&#xff0c;那么您可能不需要深入了解网站开发的所有复杂性。但是您确实需要了解基础知识&#xff0c;因为网站的编码方式对其性能有很大影响&#xff0c;因此对 SEO 潜力有很大影响。在关于 HTML 标签的文章中&#xff0c;我们介…

CTFHub SSRF靶场通关攻略(6-11)

FastCGI协议 首先写一个php的一句话木马&#xff0c;并进行base64编码 <?php eval($_POST[cmd]);?> 编码完成后把他写入shell.php文件中 echo "PD9waHAgQGV2YWwoJF9QT1NUW2NtZF0pOz8" | base64 -d > shell.php 使用Gopherus工具生成payload: 执命令 …

中国卫星影像图Level5

卫星地图&#xff0c;又称“卫星遥感图像或是卫星影像”&#xff0c;顾名思义&#xff0c;是借助卫星为媒介&#xff0c;向用户真实反馈地球地表面貌的图像。与传统意义的地图不同&#xff0c;卫星地图上看到的地表面貌是真实而实时的&#xff0c;因此&#xff0c;卫星地图的使…

2024-8-28作业C++/QT

代码&#xff1a; #include <iostream> #include <cstring> #include <array> #include <iomanip> using namespace std; int main() { //array<char,128> a; //array<char,128>::iterator iter; string str; getline(c…