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

本文涉及的产品
应用实时监控服务-用户体验监控,每月100OCU免费额度
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 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还提供了丰富的主题定制选项,满足个性化需求。内置的评论功能和防垃圾邮件保护确保了博客互动的同时保持内容质量。

相关文章
|
8天前
|
消息中间件 监控 数据可视化
基于.NET开源、功能强大且灵活的工作流引擎框架
基于.NET开源、功能强大且灵活的工作流引擎框架
|
5月前
|
XML JavaScript Java
技术经验分享:Asea——轻量级的AS3模块配置与加载管理库
技术经验分享:Asea——轻量级的AS3模块配置与加载管理库
42 0
|
3月前
|
开发者 测试技术 Android开发
Xamarin 开发者的五大常见问题及解决方案:从环境搭建到性能优化,全面解析高效跨平台应用开发的技巧与代码实例
【8月更文挑战第31天】Xamarin 开发者常遇问题及解决方案覆盖环境搭建至应用发布全流程,助新手克服技术难关。首先需正确安装配置 Visual Studio 及 Xamarin 支持,设置 iOS/Android 测试环境。利用 Xamarin.Forms 和 XAML 实现高效跨平台开发,共享 UI 和业务逻辑代码。针对性能优化,采取减少 UI 更新、缓存计算结果等措施,复杂问题则借助 Xamarin Profiler 分析。
48 0
|
3月前
|
缓存 监控 中间件
构建高效的Go语言Web服务器:基于Fiber框架的性能优化实践
在追求极致性能的Web开发领域,Go语言(Golang)凭借其高效的并发处理能力、垃圾回收机制及简洁的语法赢得了广泛的青睐。本文不同于传统的性能优化教程,将深入剖析如何在Go语言环境下,利用Fiber这一高性能Web框架,通过精细化配置、并发策略调整及代码层面的微优化,构建出既快速又稳定的Web服务器。通过实际案例与性能测试数据对比,揭示一系列非直觉但极为有效的优化技巧,助力开发者在快节奏的互联网环境中抢占先机。
|
6月前
|
API 开发工具 C语言
【嵌入式开源库】EasyLogger的使用, 一款轻量级且高性能的日志库
【嵌入式开源库】EasyLogger的使用, 一款轻量级且高性能的日志库
746 0
|
小程序 前端开发 API
阿里云小程序框架优点
阿里云小程序框架优点
|
JavaScript 前端开发 调度
「深入浅出」主流前端框架更新批处理方式
介绍了目前主流框架如何实现的批量更新
「深入浅出」主流前端框架更新批处理方式
|
NoSQL MongoDB Redis
一日一技:如何实现一个轻量插件系统
一日一技:如何实现一个轻量插件系统
131 0
一日一技:如何实现一个轻量插件系统
|
缓存 JSON 资源调度
纯干货!如何使用轻量级状态优化你的博客?
上两篇介绍了如何用vite2 + Vue3 搭建一个博客网站,以及轻量级状态的基础使用,那么二者结合起来会发生什么呢?