从零开始在树莓派上搭建WordPress博客网站并实现公网访问

2023-09-11 16:52:23

序幕

这篇文章是关于《在树莓派上搭建web站点系列》文章的第二篇,您可以先阅读第一篇。在第一篇里,我们搭建了一个简单的静态工具站点,并且将内网站点发布到了公网。

概述

本篇,我们会让我们的站点更加实用,搭建一个Wordpress博客站点。开始您的博客时代,记录生活点滴,是不是很有意义呢?让我们开始吧!

1. 安装 PHP

  • 更新到最新仓库
sudo apt-get update -y
  • 安装 apache2 php
sudo apt-get install apache2 php  -y
  • 重启 apache2 服务
sudo service apache2 restart

2. 安装MySQL数据库

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

3. 安装 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: .

4. 设置您的 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

5. WordPress configuration

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

您将看到 WordPress 欢迎屏幕

img

  • 点击 现在就开始! 按钮。
  • 现在填写网站基本信息如下:
Database Name:      wordpress
User Name:          root
Password:           <YOUR PASSWORD>
Database Host:      localhost
Table Prefix:       wp_
  • 单击 提交 继续。
  • 单击运行安装程序按钮。

现在你越来越近了!

img

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

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

登录管理后台:

img

6. 将WordPress站点发布到公网

如果没有安装过cpolar请参考第一篇文章,安装及配置cpolar。

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

安装相对URL插件

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

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

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

img

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

img

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

修改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

配置好以后如图:

img

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

img

7. 支持好友链接样式

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

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

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

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

img

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

sudo a2enmod rewrite

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

  • 编辑虚拟主机的 Apache 配置文件:
sudo nano /etc/apache2/sites-available/000-default.conf
  • 在第 1 行之后添加以下几行。
<Directory "/var/www/html">
    AllowOverride All
</Directory>
  • 确保它在 中,如下所示:
<VirtualHost *:80>
    <Directory "/var/www/html">
        AllowOverride All
    </Directory>
    ...
  • 保存文件并退出。
  • 重新启动Apache.
sudo service apache2 restart

8. 定制主题

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

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

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

img

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

img

  • 主题安装成功后,点击启用按钮。
  • 让我们重新打开站点,看一下效果:

img

现在,您的站点已经建好了,您可以进一步体验更多的主题,慢慢探索吧。

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

更多推荐

RocketMQ消息的分类

一、普通消息1消息发送分类Producer对于消息的发送方式也有多种选择,不同的方式会产生不同的系统效果。同步发送消息同步发送消息是指,Producer发出⼀条消息后,会在收到MQ返回的ACK之后才发下⼀条消息。该方式的消息可靠性最高,但消息发送效率太低。异步发送消息异步发送消息是指,Producer发出消息后无需等待

【Jetpack】Navigation 导航组件 ④ ( Fragment 跳转中使用 safe args 安全传递参数 )

文章目录一、页面跳转间的传统的数据传递方式1、传统的数据传递方式-Bundle传递数据1、Navigation组件中的Bundle数据传递2、传统数据传递实现步骤3、FragmentA完整代码示例4、FragmentB完整代码示例5、执行结果2、使用Bundle传递数据安全性差二、页面跳转间的传统的数据传递方式1、导入

C++--哈希表的实现及unorder_set和unorder_map的封装

1.什么是哈希表哈希表是一种数据结构,用来存放数据的,哈希表存放的数据是无序的,可以实现增删查,当时不能修改数据。可以不经过任何比较,一次直接从表中得到要搜索的元素。如果构造一种存储结构,通过某种函数(hashFunc)使元素的存储位置与它的关键码之间能够建立一一映射的关系,那么在查找时通过该函数可以很快找到该元素。该

知乎万赞的:网络安全系统自学就业路线,建议收藏!

为什么说网络安全是新风口?近几年,随着移动互联网、大数据、云计算、人工智能等新一代信息技术的快速发展,围绕网络和数据的服务与应用呈现爆发式增长,丰富的应用场景下暴露出越来越多的网络安全风险和问题。但是,我国网络安全整体投入不高。网络安全建设方面,国内网络安全投入占信息化的投入比例大概不到百分之3%,而欧美等发达国家均在

Python 超高频常见字符操作【建议收藏】

文章目录前言1.字符串截取2.字符串拼接3.字符串搜索4.字符串格式化5.字符串替换6.字符串去除空格7.字符串截取8.字符串反转总结前言为了巩固所学的知识,作者尝试着开始发布一些学习笔记类的博客,方便日后回顾。当然,如果能帮到一些萌新进行新技术的学习那也是极好的。作者菜菜一枚,文章中如果有记录错误,欢迎读者朋友们批评

A Survey of Hallucination in “Large” Foundation Models

本文是LLM系列文章,针对《ASurveyofHallucinationin“Large”FoundationModels》的翻译。大型基础模型幻觉现象综述摘要1引言2大语言模型中的幻觉3大图像模型中的幻觉4大视频模型中的幻觉5大音频模型中的幻觉6幻觉不总是有害的:不同的视角7结论和未来方向7.1幻觉的自动评估7.2利

解密堆排序与TopK问题

📙作者简介:清水加冰,目前大二在读,正在学习C/C++、Python、操作系统、数据库等。📘相关专栏:C语言初阶、C语言进阶、C语言刷题训练营、数据结构刷题训练营、有感兴趣的可以看一看。欢迎点赞👍收藏⭐留言📝如有错误还望各路大佬指正!✨每一次努力都是一种收获,每一次坚持都是一种成长✨目录前言1.堆排序1.1时间

Chrome扩展开发实战:网页图片抓取,打造专属自己的效率插件

🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年6月csdn上海赛道top4。🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。🏆本文已收录于专栏:100个JavaScript的小应用。🎉欢迎👍点赞✍评论⭐收藏文章目录🚀一、背景🚀二

【C++多线程】Lambda表达式

定义Lambda表达式可以说是c++11引用的最重要的特性之一,虽然跟多线程关系不大,但是它在多线程的场景下使用很频繁,所以在多线程这个主题下介绍它更合适。Lambda来源于函数式编程的概念,也是现代编程语言的一个特点。C++11这次终于把Lambda加进来了,令人非常兴奋,因为Lambda表达式能够大大简化代码复杂度

《DevOps实践指南》- 读书笔记(七)

DevOps实践指南Part5第三步:持续学习与实验的技术实践19.将学习融入日常工作19.1建立公正和学习的文化19.2举行不指责的事后分析会议19.3尽可能广泛地公开事后分析会议结果19.4降低事故容忍度,寻找更弱的故障信号19.5重新定义失败,鼓励评估风险19.6在生产环境注入故障来恢复和学习19.7创建故障演练

利用容器技术优化DevOps流程

利用容器技术优化DevOps流程随着云计算的快速发展,容器技术也日益流行。容器技术可以打包和分发应用程序,并实现快速部署和扩展。在DevOps流程中,容器技术可以大大优化开发、测试、部署和运维各个环节。本文将介绍如何利用容器技术优化DevOps流程。首先,让我们了解一下背景知识。在传统的软件开发过程中,开发人员需要在本

热文推荐