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

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
应用实时监控服务ARMS - 应用监控,每月50GB免费额度
可观测可视化 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还提供了丰富的主题定制选项,满足个性化需求。内置的评论功能和防垃圾邮件保护确保了博客互动的同时保持内容质量。

相关文章
|
6月前
|
JSON 数据可视化 图形学
Graphix: 轻量级、可插拔、OOP 式图形编辑器开发引擎
A lightweight, pluggable, object-oriented programming (OOP) style graphic editor development engine / 一个轻量级、可插拔、OOP 式图形编辑器开发引擎
116 2
|
5月前
|
XML JavaScript Java
技术经验分享:Asea——轻量级的AS3模块配置与加载管理库
技术经验分享:Asea——轻量级的AS3模块配置与加载管理库
36 0
|
3月前
|
缓存 监控 中间件
构建高效的Go语言Web服务器:基于Fiber框架的性能优化实践
在追求极致性能的Web开发领域,Go语言(Golang)凭借其高效的并发处理能力、垃圾回收机制及简洁的语法赢得了广泛的青睐。本文不同于传统的性能优化教程,将深入剖析如何在Go语言环境下,利用Fiber这一高性能Web框架,通过精细化配置、并发策略调整及代码层面的微优化,构建出既快速又稳定的Web服务器。通过实际案例与性能测试数据对比,揭示一系列非直觉但极为有效的优化技巧,助力开发者在快节奏的互联网环境中抢占先机。
|
6月前
|
API 开发工具 C语言
【嵌入式开源库】EasyLogger的使用, 一款轻量级且高性能的日志库
【嵌入式开源库】EasyLogger的使用, 一款轻量级且高性能的日志库
720 0
|
小程序 前端开发 API
阿里云小程序框架优点
阿里云小程序框架优点
|
JavaScript 前端开发 调度
「深入浅出」主流前端框架更新批处理方式
介绍了目前主流框架如何实现的批量更新
「深入浅出」主流前端框架更新批处理方式
|
NoSQL MongoDB Redis
一日一技:如何实现一个轻量插件系统
一日一技:如何实现一个轻量插件系统
129 0
一日一技:如何实现一个轻量插件系统
|
TensorFlow 算法框架/工具 图计算
如何实现一个图化框架?代码已开源!
大家好,我是不会写代码的纯序员——Chunel Feng[3]。俗话说,人生如码,码如人生。人生中,有些事情是可以同时进行的,有些事情又必须是前后依次进行的;有些事情是可以刚开始就做的,有些事情又必须等待某个时机成熟了才可以开始。
369 0
如何实现一个图化框架?代码已开源!
|
程序员
精选一款功能强大的轻量级工具
有段时间没有推荐干货给大伙了,今天是时候把压箱底的东西拿出来分享给大家了! 小编收集了多款非常好用的在线工具,可能你已经开始在用了,可能你还不知道它的存在 。如果你已经在用了,说明你很有远光,好用的工具将大大提高我们平时的工作效率 。
124 0
精选一款功能强大的轻量级工具
|
缓存 JSON 资源调度
纯干货!如何使用轻量级状态优化你的博客?
上两篇介绍了如何用vite2 + Vue3 搭建一个博客网站,以及轻量级状态的基础使用,那么二者结合起来会发生什么呢?

热门文章

最新文章