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

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
函数计算FC,每月15万CU 3个月
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 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还提供了丰富的主题定制选项,满足个性化需求。内置的评论功能和防垃圾邮件保护确保了博客互动的同时保持内容质量。

相关文章
|
27天前
|
弹性计算 人工智能 架构师
阿里云携手Altair共拓云上工业仿真新机遇
2024年9月12日,「2024 Altair 技术大会杭州站」成功召开,阿里云弹性计算产品运营与生态负责人何川,与Altair中国技术总监赵阳在会上联合发布了最新的“云上CAE一体机”。
阿里云携手Altair共拓云上工业仿真新机遇
|
3天前
|
人工智能 Rust Java
10月更文挑战赛火热启动,坚持热爱坚持创作!
开发者社区10月更文挑战,寻找热爱技术内容创作的你,欢迎来创作!
364 14
|
19天前
|
存储 关系型数据库 分布式数据库
GraphRAG:基于PolarDB+通义千问+LangChain的知识图谱+大模型最佳实践
本文介绍了如何使用PolarDB、通义千问和LangChain搭建GraphRAG系统,结合知识图谱和向量检索提升问答质量。通过实例展示了单独使用向量检索和图检索的局限性,并通过图+向量联合搜索增强了问答准确性。PolarDB支持AGE图引擎和pgvector插件,实现图数据和向量数据的统一存储与检索,提升了RAG系统的性能和效果。
|
6天前
|
JSON 自然语言处理 数据管理
阿里云百炼产品月刊【2024年9月】
阿里云百炼产品月刊【2024年9月】,涵盖本月产品和功能发布、活动,应用实践等内容,帮助您快速了解阿里云百炼产品的最新动态。
阿里云百炼产品月刊【2024年9月】
|
21天前
|
人工智能 IDE 程序员
期盼已久!通义灵码 AI 程序员开启邀测,全流程开发仅用几分钟
在云栖大会上,阿里云云原生应用平台负责人丁宇宣布,「通义灵码」完成全面升级,并正式发布 AI 程序员。
|
23天前
|
机器学习/深度学习 算法 大数据
【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析
2024“华为杯”数学建模竞赛,对ABCDEF每个题进行详细的分析,涵盖风电场功率优化、WLAN网络吞吐量、磁性元件损耗建模、地理环境问题、高速公路应急车道启用和X射线脉冲星建模等多领域问题,解析了问题类型、专业和技能的需要。
2592 22
【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析
|
5天前
|
存储 人工智能 搜索推荐
数据治理,是时候打破刻板印象了
瓴羊智能数据建设与治理产品Datapin全面升级,可演进扩展的数据架构体系为企业数据治理预留发展空间,推出敏捷版用以解决企业数据量不大但需构建数据的场景问题,基于大模型打造的DataAgent更是为企业用好数据资产提供了便利。
181 2
|
3天前
|
编译器 C#
C#多态概述:通过继承实现的不同对象调用相同的方法,表现出不同的行为
C#多态概述:通过继承实现的不同对象调用相同的方法,表现出不同的行为
105 65
|
7天前
|
Linux 虚拟化 开发者
一键将CentOs的yum源更换为国内阿里yum源
一键将CentOs的yum源更换为国内阿里yum源
332 2
|
23天前
|
机器学习/深度学习 算法 数据可视化
【BetterBench博士】2024年中国研究生数学建模竞赛 C题:数据驱动下磁性元件的磁芯损耗建模 问题分析、数学模型、python 代码
2024年中国研究生数学建模竞赛C题聚焦磁性元件磁芯损耗建模。题目背景介绍了电能变换技术的发展与应用,强调磁性元件在功率变换器中的重要性。磁芯损耗受多种因素影响,现有模型难以精确预测。题目要求通过数据分析建立高精度磁芯损耗模型。具体任务包括励磁波形分类、修正斯坦麦茨方程、分析影响因素、构建预测模型及优化设计条件。涉及数据预处理、特征提取、机器学习及优化算法等技术。适合电气、材料、计算机等多个专业学生参与。
1580 17
【BetterBench博士】2024年中国研究生数学建模竞赛 C题:数据驱动下磁性元件的磁芯损耗建模 问题分析、数学模型、python 代码