树莓派+WordPress:打造专属博客,内网穿透轻松发布到公网!

news2024/11/23 12:05:55

概述

在本次教程里,我们将在树莓派上搭建一个Wordpress博客站点,开始博客时代,记录生活点滴。同时做内网穿透将博客发布上线,让互联网用户都可以访问到,无需公网ip,也无需购买云服务器,简单快速实现。

安装 PHP

  • 更新到最新仓库

sudo apt-get update -y
  • 安装 apache2 php

sudo apt-get install apache2 php  -y
  • 重启 apache2 服务

sudo service apache2 restart

安装MySQL数据库

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

安装 Wordpress

cd /var/www/html/
  • 删除旧静态站点内容

sudo rm -rf *
  • 下载最新的wordpresss压缩包

sudo wget http://wordpress.org/latest.tar.gz
  • 解压

sudo tar xzf latest.tar.gz
sudo mv wordpress/* .
sudo rm -rf wordpress latest.tar.gz
  • 配置目录权限

sudo chown -R www-data: .

设置您的 WordPress 数据库

设置 MySQL/MariaDB

sudo mysql_secure_installation
  • 此时系统会询问你:Enter current password for root (enter for none): , 按回车(enter) 键,因为第一次登陆是没有密码的。

  • 然后会询问你: Set root password? —— 按 Y ,进行root帐号的密码设置

  • 此时,会提示 New password ,在此输入你的MySQL密码重要:请牢记这个密码,输入完成按回车,会提示re-enter new password此时再重复输入密码,回车即可。

  • 然后,询问你 Remove anonymous users ,按 Y

  • 然后,询问你 Disallow root login remotely ,按 Y

  • 然后,询问你 Remove test database and access to it ,按 Y

  • 然后,询问你 Reload privilege tables now ,按 Y

  • 最后,您将看到消息 All done! 和 Thanks for using MariaDB! 。表示已经设置完成了。

创建 WordPress 数据库

sudo mysql -uroot -p
  • 输入您创建的 root 密码。

create database wordpress;
  • 现在将数据库权限授予 root 用户。注意:您需要在 IDENTIFIED BY 后输入您自己的密码。

GRANT ALL PRIVILEGES ON wordpress.* TO 'root'@'localhost' IDENTIFIED BY 'YOURPASSWORD';

重要提示:将上面的 YOURPASSWORD 更改为您的密码。

  • 为了使更改生效,您需要刷新数据库权限:

FLUSH PRIVILEGES;
  • 退出 MariaDB :

exit

重新启动树莓派

sudo reboot

WordPress configuration

  • 在您的 Pi 上打开 Web 浏览器并转到 http://localhost,您应该会看到一个 WordPress 页面,要求选择您的语言。

20221117162456

  • 选择您的语言,然后单击 Continue 按钮。

您将看到 WordPress 欢迎屏幕

20221117162503

  • 点击 现在就开始! 按钮。

  • 现在填写网站基本信息如下:

Database Name:      wordpress
User Name:          root
Password:           <YOUR PASSWORD>
Database Host:      localhost
Table Prefix:       wp_
  • 单击 提交 继续。

  • 单击运行安装程序按钮。

现在你越来越近了!

20221117162526

填写信息:为您的站点命名,创建用户名和密码,然后输入您的电子邮件地址。点击 安装 WordPress 按钮,然后使用您刚刚创建的帐户登录。

现在您已登录并设置了站点,您可以通过访问 http://localhost/wp-admin 来查看该网站。

登录管理后台:

20221117162534

将WordPress站点发布到公网

我们用cpolar将WordPress发布到公网前,通常需要做两件事:

安装相对URL插件

您必须确保WordPress发布为相对URL。 您可以通过安装以下插件之一来完成此操作

  • GitHub - optimizamx/odt-relative-urls: ngrok - converts all absolute URLs into relative URLS

  • Relative URL – WordPress plugin | WordPress.org

  • Root Relative URLs – WordPress plugin | WordPress.org

本例中,我们安装Relative URL插件:

  • 登录WordPress仪表盘-->插件-->安装插件

20221117162545

  • 在关键词搜索栏输入Relative URL 回车

20221117162554

  • 找到插件后点击现在安装按钮

  • 当安装成功后,点击启用按钮,激活插件。

修改config.php配置

您必须确保Wordpress了解它是为了通过隧道主机名提供服务。 您可以通过修改wp-config.php来配置Wordpress以包含以下行:

define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST']);
define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST']);
  • 修改wp-config.php文件

sudo nano /var/www/html/wp-config.php

配置好以后如图:

20221117162603

然后我们就可以将改博客网站发布上线,通过cpolar内网穿透,创建安全隧道映射本地端口,让公网用户也可以正常访问到我们在本地树莓派上搭建的博客网站。

cpolar官网:cpolar - 安全的内网穿透工具

详细可以参考这篇文章教程:在树莓派上搭建Web站点

现在,我们的博客站点可以被公网正常访问啦!让我们看看效果:

20221117162611

支持好友链接样式

建议您更改永久链接设置以使您的 URL 更友好。

为此,请登录 WordPress 并转到仪表盘

转到设置,然后转到固定链接

选择文章名选项,然后单击保存更改

20221117162618

您需要启用 Apache 的重写模块:

sudo a2enmod rewrite

您还需要告诉为该站点提供服务的虚拟主机允许覆盖请求。

  • 编辑虚拟主机的 Apache 配置文件:

sudo nano /etc/apache2/sites-available/000-default.conf
  • 在第 1 行之后添加以下几行。

<Directory "/var/www/html">
    AllowOverride All
</Directory>
  • 确保它在 <VirtualHost *:80> 中,如下所示:

<VirtualHost *:80>
    <Directory "/var/www/html">
        AllowOverride All
    </Directory>
    ...
  • 保存文件并退出。

  • 重新启动Apache.

sudo service apache2 restart

定制主题

WordPress 是非常可定制的。通过在页面顶部的 WordPress 横幅中单击您的站点名称(当您登录时),您将被带到仪表板。从那里,您可以更改主题、添加页面和帖子、编辑菜单、添加插件等等。这只是在 Raspberry Pi 的 Web 服务器上设置一些有趣的东西的品尝器。

下面,我们更换一个主题试试。

  • WordPress仪表盘-->外观-->主题

20221117162631

  • 点击热门,选择一个自己喜欢的主题,点击安装按钮

20221117162639

  • 主题安装成功后,点击启用按钮。

  • 让我们重新打开站点,看一下效果:

20221117162648

现在,您的站点已经建好了,您可以进一步体验更多的主题,慢慢探索吧。 器上设置一些有趣的东西的品尝器。

转载自cpolar极点云的文章:在树莓派上搭建WordPress博客网站,并内网穿透发布到公网

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

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

相关文章

内网隧道代理技术(十六)之 FRP的使用

FRP的使用和介绍 FRP介绍 FRP (Fast Reverse Proxy) 是一个使用 Go 语言开发的高性能的反向代理应用,可以轻松地进行内网穿透,对外网提供服务。FRP 支持 TCP、UDP、HTTP、HTTPS等协议类型,他支持点对点的转发,还有全流量转发,FRP最大的一个特点是使用SOCKS代理,而SOCKS…

10----超链接

在 Markdown 里可以创建超链接&#xff0c;以链接到其他 Markdown 页面或网站。 一、行内超链接&#xff1a; 行内式超链接是Markdown中创建超链接的一种方式&#xff0c;它的语法相对简单&#xff0c;适合在文本中直接插入链接。 1.链接到网站&#xff1a;[链接文本](链接地…

排序+运算>直接运算的效率的原因分析

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

Facebook 应用未启用:这款应用目前无法使用,应用开发者已得知这个问题。

错误&#xff1a;Facebook 应用未启用:这款应用目前无法使用&#xff0c;应用开发者已得知这个问题。应用重新启用后&#xff0c;你便能登录。 「应用未经过审核或未发布」&#xff1a; 如果一个应用还没有经过Facebook的审核或者开发者尚未将应用发布&#xff0c;那么它将无法…

MySQL数据库——图形化界面工具(DataGrip),SQL(2)-DML(插入、修改和删除数据)

目录 图形化界面工具&#xff08;DataGrip&#xff09; 下载及安装 启动及连接 使用 创建数据库 创建表结构 编写SQL DML 插入 更新和删除 1.修改数据 2.删除数据 总结 图形化界面工具&#xff08;DataGrip&#xff09; 下载及安装 DataGrip下载链接&#xff1a;…

如何使用HTML5新增的表单元素来增强表单功能?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 1. <input type"email"> 和 <input type"url">⭐ 2. <input type"tel">⭐ 3. <input type"date">、<input type"time"> 和 <input type"datet…

求解方程sympy.solve

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 求解方程 sympy.solve [太阳]选择题 下列代码最后一次输出的结果是&#xff1f; import sympy x sympy.symbols(x) y x**2 2*x - 3 print("【执行】sympy.solve(y, x)") print(s…

TIA博途中打开全局库al文件以及压缩库zal文件的具体方法示例

TIA博途中打开全局库al文件以及压缩库zal文件的具体方法示例 本例中所有的库文件均以博途V15软件为例进行说明,其他版本的博途软件可能稍有区别,但总体相同。 如下图所示,打开博途软件后,在右侧的“库”—全局库,点击打开图标, 如下图所示,此时在弹出的窗口中找到后缀名…

华为OD机试 - 执行时长 - 回溯(Java 2023 B卷 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路1、大概意思就是&#xff1a;2、比如&#xff1a; 五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff…

JavaWeb框架:Spring MVC介绍

Spring MVC 概述 概述 MVC&#xff08;Model View Controller&#xff0c;模型-视图-控制器&#xff09;&#xff0c;作为一种设计模式&#xff0c;用于应用程序的分层开发。 Spring MVC&#xff0c;由 Spring 框架提供的基于 MVC 设计模式的一个轻量级 Web 开发框架。Spring…

Android Studio连接逍遥模拟器

1、启动Android Studio&#xff0c;打开和同步好项目。 2、启动逍遥模拟器&#xff0c;会自动连接Android Studio。 3、运行app到模拟器中即可。 4、如果第二步启动后没有自动连接&#xff0c;就需要我们手动连接&#xff0c;进入安装目录&#xff0c;我的是D:\Xiaoyao moniqi\…

【Java】Java如何生成随机数?

文章目录 前言一、Random类介绍二、Random类生成随机数1.生成随机数2.nextInt()方法 三、使用场景四、官方提示总结 前言 我们在学习 Java 基础时就知道可以生成随机数&#xff0c;可以为我们枯燥的学习增加那么一丢丢的乐趣。本文就来介绍 Java 随机数。 一、Random类介绍 …

在CentOS7.9上安装最新版本Docker安装步骤

1、查看系统版本&#xff1a; cat /etc/redhat-release 2、卸载原有版本&#xff08;如有的话&#xff09; sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ d…

linux学习(文件描述符)[11]

一切皆文件 用代码创建的文件&#xff0c;默认路径在可执行文件同级目录下&#xff08;本质是进程通过系统接口创建的&#xff09; 文件宏 在Linux下&#xff0c;有一些与文件操作相关的宏可以用于处理文件描述符和文件权限。以下是一些常用的文件宏&#xff1a; STDIN_FIL…

算法通关村第4关【白银】| 栈的经典算法问题

1.括号匹配问题 思路&#xff1a;将左括号压入栈中&#xff0c;遍历字符串&#xff0c;当遇到右括号就出栈&#xff0c;判断是否是匹配的一对&#xff0c;不是就返回false&#xff08;因为按照顺序所以当遇到右括号出栈一定要是匹配的&#xff09;。使用Map来简化ifelse clas…

单片机中绝对地址转换为函数指针

一、相关概念 函数指针和指针函数是两个不同的概念。 函数指针是指可以指向函数的指针&#xff0c;它的类型与函数的返回值类型和参数类型相对应。通过函数指针&#xff0c;可以实现函数的回调和动态调用等功。 指针函数则是指返回指针类型的函数&#xff0c;它的返回值是一个指…

关于CDN加速和负载均衡技术的讨论

一&#xff1a;前言 相信学习到信息收集模块的小伙伴在学习Web信息收集中查找真实IP相关知识点时&#xff0c;必定接触到一个概念&#xff1a;CDN加速。那么什么是CDN&#xff1f;企业为什么要用CDN&#xff1f;就是为了隐藏自己的真实IP&#xff1f;显然不是。经济学中有一个概…

linux17 线程安全 线程同步

1、线程安全&#xff1a; 多线程程序无论调度顺序如何&#xff0c;都能保证程序 的正确性&#xff0c;就说该程序处于线程安全的状态 1&#xff09;、同步 2&#xff09;、线程安全函数//有的函数不适合多线程使用&#xff0c;是函数自身的原因。 2、线程安全函数 1&#…

java-垃圾回收与算法

垃圾回收与算法 1. 如何确定垃圾 1. 引用计数法 在 Java 中&#xff0c;引用和对象是有关联的。如果要操作对象则必须用引用进行。因此&#xff0c;很显然一个简单的办法是通过引用计数来判断一个对象是否可以回收。简单说&#xff0c;即一个对象如果没有任何与之关联的引用&…

【Freertos基础入门】任务调度

文章目录 前言对于前面博客的总结一、任务调度算法是什么&#xff1f;1.调度算法是什么以及freertos的调度算法2.抢占式优先级调度3.时间片轮转调度 二、配置调度算法总结 前言 本系列基于stm32系列单片机来使用freerots 任务管理是实时操作系统&#xff08;RTOS&#xff09;…