FlatPress是一款轻量级且易于设置的博客引擎

简介: FlatPress是一款轻量级且易于设置的博客引擎,基于PHP,无需数据库支持。其特点包括独立性、标准兼容性、文件系统存储、简单备份、丰富的插件系统、Smarty模板引擎支持的主题定制、内置评论及防垃圾邮件保护。本次实践在Ubuntu 22.04.1 LTS环境下部署FlatPress,详细介绍了环境准备、Apache2安装与配置、PHP安装、FlatPress部署及访问流程。通过简单的步骤即可搭建一个功能完备的博客系统。

一、flatpress介绍
1.1 flatpress简介
FlatPress是一款轻量级且易于设置的博客引擎。它仅基于 PHP,不需要数据库支持!

特点:

独立、标准兼容的博客软件:FlatPress 是一款独立的博客程序,遵循标准规范。
基于文件工作,无需数据库:它完全依赖于文件系统,不需要数据库的支持。
简单易用,备份方便:安装配置简单快捷,同时也便于备份。
强大的插件系统支持小部件:拥有丰富的插件系统,并且支持小部件功能,方便扩展。
易于定制的主题:使用 Smarty 模板引擎,使得主题定制变得容易。
评论功能带有防垃圾邮件保护:内置评论功能,并提供垃圾邮件过滤机制。
自由软件:根据 GNU General Public License v2 (GPLv2) 发布,是一款自由开源软件。
多语言支持:支持多种语言,包括捷克语 (🇨🇿)、丹麦语 (🇩🇰)、德语 (🇩🇪)、英语 (🇺🇸)、西班牙语 (🇪🇸)、法语 (🇫🇷)、希腊语 (🇬🇷)、意大利语 (🇮🇹)、日语 (🇯🇵)、荷兰语 (🇳🇱)、葡萄牙语 (🇧🇷)、俄语 (🇷🇺) 和斯洛文尼亚语 (🇸🇮),并且很容易添加其他语言支持。
1.2 项目预览
可以看下部署好的项目预览
在这里插入图片描述

二、本次实践介绍
2.1 本地环境规划
本次实践为个人测试环境,操作系统版本为Ubuntu 22.04.1 LTS。

hostname IP地址 操作系统版本 内核版本
ubuntu-001 192.168.3.251 Ubuntu 22.04.1 LTS 5.15.0-113-generic
2.2 本次实践介绍
1.本次实践环境为个人测试环境,生产环境请谨慎;
2.在Ubuntu 环境下部署flatpress轻量级博客系统。

三、检查本地环境
3.1 检查系统版本
检查系统版本,当前系统版本为Ubuntu 22.04.1 LTS。

root@ubuntu-001:~# cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.1 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
3.2 检查系统内核版本
检查系统内核版本,当前内核版本为5.15.0-113-generic。

root@ubuntu-001:~# uname -r
5.15.0-113-generic
3.3 检查软件源
检查本地apt软件源是否正常,更新本地更新软件包列表。

root@ubuntu-001:~# apt update
命中:1 https://mirrors.aliyun.com/ubuntu jammy InRelease
获取:2 https://mirrors.aliyun.com/ubuntu jammy-security InRelease [129 kB]
获取:3 https://mirrors.aliyun.com/ubuntu jammy-updates InRelease [128 kB]
命中:4 https://mirrors.aliyun.com/ubuntu jammy-backports InRelease
获取:5 https://mirrors.aliyun.com/ubuntu jammy-updates/main amd64 Packages [1,794 kB]
获取:6 https://mirrors.aliyun.com/ubuntu jammy-updates/universe amd64 Packages [1,101 kB]
已下载 3,152 kB,耗时 2秒 (1,420 kB/s)
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
有 106 个软件包可以升级。请执行 ‘apt list --upgradable’ 来查看它们。
四、安装Apache2
4.1 安装Apache2软件
使用以下命令安装Apache2 web服务器

apt install apache2 -y
在这里插入图片描述

4.2 启动apache2服务
启动apache2服务服务,并使开机自启。

systemctl enable --now apache2
4.3 查看apache2服务状态
查看apache2服务状态,确保apache2服务正常。

root@ubuntu-001:/var/www/html# systemctl status apache2
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2024-08-11 07:15:01 UTC; 25min ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 17747 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
Main PID: 17751 (apache2)
Tasks: 11 (limit: 9347)
Memory: 33.3M
CPU: 528ms
CGroup: /system.slice/apache2.service
├─17751 /usr/sbin/apache2 -k start
├─17752 /usr/sbin/apache2 -k start
├─17753 /usr/sbin/apache2 -k start
├─17754 /usr/sbin/apache2 -k start
├─17755 /usr/sbin/apache2 -k start
├─17756 /usr/sbin/apache2 -k start
├─17757 /usr/sbin/apache2 -k start
├─17760 /usr/sbin/apache2 -k start
├─17761 /usr/sbin/apache2 -k start
├─17762 /usr/sbin/apache2 -k start
└─17768 /usr/sbin/apache2 -k start
4.4 防火墙设置
关闭防火墙,如果想要开启防火墙,需放行80端口。
sudo ufw disable
查看防火墙状态
root@ubuntu-001:~# ufw status
状态:不活动
4.5 浏览器测试web服务
浏览器打开:http://192.168.3.251,将IP替换为自己服务器IP地址。

在这里插入图片描述

五、安装PHP
5.1 安装PHP
安装PHP及其相关组件

apt install php8.1 php8.1-fpm php8.1-mysql php8.1-curl php8.1-gd php8.1-xml php8.1-zip
5.2 查看PHP版本
查看PHP版本,当前安装的PHP版本为8.1.2。

root@ubuntu-001:/var/www/html# php -v
PHP 8.1.2-1ubuntu2.18 (cli) (built: Jun 14 2024 15:52:55) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
with Zend OPcache v8.1.2-1ubuntu2.18, Copyright (c), by Zend Technologies
5.3 PHP测试
在默认的/var/www/html目录下,编辑php的测试文件index.php。

echo "<?php phpinfo(); ?>" > /var/www/html/index.php
重启apache2服务

systemctl restart apache2
测试php环境,本地浏览器打开http://192.168.3.251/index.php,访问到以下页面即可。

在这里插入图片描述

六、部署项目
6.1 下载项目源码
进入网页根目录

root@ubuntu-001:~# cd /var/www/html/
root@ubuntu-001:/var/www/html#
下载flatpress软件包

wget https://github.com/flatpressblog/flatpress/archive/1.3.1.zip
6.2 解压软件包
解压flatpress软件包

unzip 1.3.1.zip
查看flatpress软件包目录

root@ubuntu-001:/var/www/html# tree -L 1 ./flatpress-1.3.1/
./flatpress-1.3.1/
├── admin
├── admin.php
├── blog.php
├── CHANGELOG.md
├── comments.php
├── contact.php
├── CONTRIBUTORS.md
├── defaults.php
├── docs
├── fp-content
├── fp-defaults
├── fp-includes
├── fp-interface
├── fp-plugins
├── index.php
├── LICENSE.md
├── login.php
├── README.md
├── rss.php
├── search.php
├── SECURITY.md
├── setup
├── setup.php
├── sitemap.php
└── static.php

8 directories, 17 files
6.3 目录授权
给以下目录授权

chown -R www-data:www-data /var/www/html/flatpress-1.3.1
6.4 重启apache2服务
重启apache2服务

systemctl restart apache2
七、访问flatpress系统
7.1 进入flatpress初始化页面
访问地址:http://192.168.3.251/flatpress-1.3.1/setup.php,将其中的IP地址替换为自己服务器的IP地址。在浏览器输入访问地址后,进入到flatpress初始化安装界面。

在这里插入图片描述

7.2 设置网站信息
在访问到初始页面后,点击“Next”下一步。

在这里插入图片描述

填写网站账号密码,自定义填写即可,点击“Next”下一步。

在这里插入图片描述

7.3 登录flatpress
设置账号密码完毕,自动跳转到以下界面,则初始工作完成,进入账号密码页面。

在这里插入图片描述

在登录页面,输入刚才设置的账号密码,进入flatpress管理后台。

在这里插入图片描述

在这里插入图片描述

八、flatpress发布内容
8.1 编辑文件
在Main——New entry,进入内容编辑器。

在这里插入图片描述

在编辑器内,选择需要发布的博文,点击公开即可。

在这里插入图片描述

8.2 预览项目
点击View选项,打开项目页。
https://www.vipwb.com/sitemap/post.xml
在这里插入图片描述
在这里插入图片描述
https://www.vipwb.com/sitemap/post.html
九、总结
使用FlatPress非常简便,只需上传软件文件至Web服务器即可,无需复杂的数据库配置。它的文件系统存储方式不仅让数据管理变得直观,而且备份也非常便捷。FlatPress拥有强大的插件系统和小部件支持,使得功能扩展变得轻松自如。使用Smarty模板引擎,FlatPress还提供了丰富的主题定制选项,满足个性化需求。内置的评论功能和防垃圾邮件保护确保了博客互动的同时保持内容质量。

相关文章
|
数据采集 机器学习/深度学习 安全
如何有效防爬虫?一文讲解反爬虫策略
如何有效防爬虫?一文讲解反爬虫策略
1071 0
|
存储 虚拟化 Windows
ESXI8.0安装Windows11
HKEY_LOCAL_MACHINE\SYSTEM\Setup 创建一个名为“LabConfig”的项,在“LabConfig”下创建两个32位DWORD值: 键为“BypassTPMCheck”,值为“00000001” 键为“BypassSecureBootCheck”,值为“00000001” 在安装 Windows 11 进入到以下阶段即“现在安装”按 Shift+F10 进入到命令提示符,添加注册表键值绕过 TPM 检查;如果你是从微软官方下载的 ISO 镜像则在提示需要输入密钥阶段进入到命令提示符;之后就可以正常安装了。 REG ADD HKLM\SYSTEM\Setu
10037 0
ESXI8.0安装Windows11
|
资源调度 前端开发 JavaScript
开源项目:Linux系统docker安装jeecg-boot低代码开发平台(更新于2022.2.14)
开源项目:Linux系统docker安装jeecg-boot低代码开发平台(更新于2022.2.14)
1253 0
开源项目:Linux系统docker安装jeecg-boot低代码开发平台(更新于2022.2.14)
|
安全 数据安全/隐私保护 计算机视觉
COVID -19健康二维码改进措施
疫情期间,阿里健康码助力中国复工复产,为全球防疫提供经验。但实际使用中存在诸多问题:如缺乏面部识别、无过期机制、易被截图分享等,导致防疫人员无法准确核实身份。未来应从技术层面解决这些问题,如引入口令申请、人脸识别、自动过期机制等,确保健康码的安全性和实时性。同时,建议通过阿里云、腾讯云等平台加强数据安全防护,防止截屏和录屏操作,确保防疫工作的有效性。
|
安全 算法 测试技术
深入理解PHP 7与PHP 8的性能差异
在探讨PHP版本间的性能差异时,我们通常关注于代码执行速度和资源消耗。本文将基于最新的基准测试和实际应用场景,对比PHP 7和PHP 8的性能表现,揭示二者之间的细微差别及其对开发实践的影响。通过分析具体数据,我们将提供开发者在面对版本选择时的科学依据,并探讨如何根据项目需求作出合理的决策。
634 0
|
监控 关系型数据库 MySQL
如何监控和诊断 MySQL 数据库的性能问题?
【10月更文挑战第28天】监控和诊断MySQL数据库的性能问题是确保数据库高效稳定运行的关键
1379 1
|
机器学习/深度学习 人工智能 TensorFlow
机器学习项目实战:使用Python实现图像识别
在AI时代,Python借助TensorFlow和Keras实现图像识别,尤其在监控、驾驶、医疗等领域有广泛应用。本文通过构建CNN模型识别MNIST手写数字,展示图像识别流程:安装库→加载预处理数据→构建模型→训练→评估。简单项目为深度学习入门提供基础,为进一步探索复杂场景打下基础。
1617 5
|
监控 NoSQL 算法
探秘Redis分布式锁:实战与注意事项
本文介绍了Redis分区容错中的分布式锁概念,包括利用Watch实现乐观锁和使用setnx防止库存超卖。乐观锁通过Watch命令监控键值变化,在事务中执行修改,若键值被改变则事务失败。Java代码示例展示了具体实现。setnx命令用于库存操作,确保无超卖,通过设置锁并检查库存来更新。文章还讨论了分布式锁存在的问题,如客户端阻塞、时钟漂移和单点故障,并提出了RedLock算法来提高可靠性。Redisson作为生产环境的分布式锁实现,提供了可重入锁、读写锁等高级功能。最后,文章对比了Redis、Zookeeper和etcd的分布式锁特性。
1072 16
探秘Redis分布式锁:实战与注意事项
|
安全 数据安全/隐私保护
深入解析 https
在使用HTTP协议时,数据传输是明文形式,容易遭受运营商劫持等安全问题,如篡改返回网页内容、修改Referer字段等。为解决这些问题,引入了HTTPS协议,它通过加密、认证和完整性保护,确保通信内容不被第三方窃听或篡改。HTTPS结合了对称加密和非对称加密,使用公钥加密对称密钥,私钥解密,确保数据安全性和传输效率。然而,中间人攻击仍可能破解这一机制,因此引入证书机制,客户端通过验证证书中的数字签名来确认公钥的有效性,从而保障数据传输的安全性。
411 0
|
SQL 关系型数据库 MySQL
MySQL DML(数据操作语言)全面指南
MySQL DML(数据操作语言)全面指南