首页 > 后端开发 > php教程 > 首先查看PageKit CMS-清洁,可扩展,快速,但...

首先查看PageKit CMS-清洁,可扩展,快速,但...

Jennifer Aniston
发布: 2025-02-15 11:54:13
原创
198 人浏览过

Pagekit CMS 1.0 版本评测:轻量级博客引擎的潜力与不足

Pagekit CMS 最近发布了 1.0 版本,作为一名关注个人博客引擎的用户,我决定对其进行一番测试。虽然 Pagekit 的功能远不止博客,但将其作为测试平台已足够。

First Look at Pagekit CMS - Clean, Extensible, Fast, But...

核心要点

  • Pagekit CMS 提供了一个简洁、可扩展且快速的平台,适用于个人博客及更多用途,并拥有用户友好的界面和开发者友好的生态系统。
  • 安装过程流畅,平台原生支持 Markdown,内置博客扩展,并提供扩展和主题的市场。
  • Pagekit 的安全性严重依赖于服务器设置,缺乏内置的 PHP 端安全检查,这可能会限制其跨平台适应性,除非进行重大修改。
  • 尽管 Pagekit 拥有诸多优点,但目前仍缺乏数据导出功能,限制了内容的可移植性,其市场也仍处于发展初期。

安装

注意:我们将使用 Homestead Improved 作为测试环境。所有命令(如有)都将基于此环境列出。如有必要,请根据您自己的操作系统进行调整。

安装方法是下载并解压其存档文件,然后将 Web 服务器指向新创建的文件夹。Pagekit 将立即显示安装界面。

First Look at Pagekit CMS - Clean, Extensible, Fast, But...

经过简短但极其流畅的安装过程后,我们将进入仪表板。

First Look at Pagekit CMS - Clean, Extensible, Fast, But...

从仪表板,我们可以访问网站的其他所有部分,例如管理用户、配置新页面和路由、安装主题和扩展、处理小部件等等。

默认情况下,权限/角色子系统功能有限,仅支持已认证用户、管理员和访客,但这对于我们在此测试的博客来说已经足够了。如有需要,以后可以在“角色”屏幕中添加更多角色。

Pagekit 博客设置

自定义页面

首先,让我们设置一个“关于”页面。如果我们进入“站点”,然后进入“页面”,就可以设置一个新页面。方便的是,Pagekit 原生支持 Markdown,因此我们可以用它来编写内容。

First Look at Pagekit CMS - Clean, Extensible, Fast, But...

页面(以及指向它的链接)将立即出现在我们网站的首页:

First Look at Pagekit CMS - Clean, Extensible, Fast, But...

博客

然后,要设置博客,我们需要安装博客扩展。幸运的是,它已作为默认扩展存在,并可在主菜单中访问。其中还有一个示例帖子:“Hello Pagekit”。

作为开发者,我需要编写大量代码片段,因此查看这些代码片段在帖子中的显示方式至关重要。让我们修改示例帖子,加入一些技术内容和一两张图片。我将使用之前发表在 SitePoint 上的一篇帖子。

First Look at Pagekit CMS - Clean, Extensible, Fast, But...

看起来不错——比默认主题的预期效果要好得多——但只有内联代码似乎被高亮显示了。其余部分是纯文本。让我们看看如何解决这个问题。

扩展

Pagekit 配备了一个很棒的市场,虽然目前还比较空,但扩展/主题的安装/下载过程非常完善。它简单易用,而且相对容易开发,不会将开发的包变成一团糟的意大利面条代码。

方便的是,市场中已经有一个 Highlight 扩展,显然是为开发者从第一天就开始准备的。

First Look at Pagekit CMS - Clean, Extensible, Fast, But...

安装很简单,而且让每个 PHP 开发者都高兴的是,它是通过 Composer 完成的。

First Look at Pagekit CMS - Clean, Extensible, Fast, But...

只需刷新博客帖子的渲染,即可看到它的作用——它会自动启用!

First Look at Pagekit CMS - Clean, Extensible, Fast, But...

好多了!

自定义主题

不过,默认主题有点太标准了。它很漂亮,但是随着越来越多的人使用 Pagekit,网站开始看起来很相似,变得有点太容易识别了——就像“Bootstrap 瘟疫”一样。让我们安装另一个主题。最小化主题看起来很棒,所以让我们使用它。

不到一分钟,整个过程就完成了——主题已安装并激活,刷新网站即可看到效果。

First Look at Pagekit CMS - Clean, Extensible, Fast, But...

当然,它远不如演示版漂亮,但是当内容差异如此之大的时候,人们很难期待这一点。一些小的修改就能解决这个问题。

漂亮网址

在未激活重写模块的 Apache 服务器和 Nginx 上,Pagekit 网址默认为包含 index.php 的丑陋网址。要在 Apache 上获得漂亮的网址,需要启用该模块——请参阅您的服务器设置文档。在 Nginx 中,Homestead Improved 的默认设置将支持漂亮的网址(即它们将工作),但是 Pagekit 默认情况下不会在内部启用它们,因为它无法检测到它们已启用。为了欺骗它,我们可以向服务器配置中添加一个自定义值:

<code>fastcgi_param HTTP_MOD_REWRITE On;</code>
登录后复制

一旦我们使用 sudo service nginx restart 重启服务器,这将使 Pagekit 认为 Apache 的重写模块已启用,这反过来又会在整个系统中激活漂亮的网址。下面是一个完整的示例服务器配置:

<code>server {
    listen 80;
    listen 443 ssl;
    server_name pagekit.app;
    root "/home/vagrant/Code/pagekit";

    index index.html index.htm index.php;

    charset utf-8;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    access_log off;
    error_log  /var/log/nginx/pagekit.app-error.log error;

    sendfile off;

    client_max_body_size 100m;

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param HTTP_MOD_REWRITE On;
        fastcgi_intercept_errors off;
        fastcgi_buffer_size 16k;
        fastcgi_buffers 4 16k;
        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
    }

    location ~ /\.ht {
        deny all;
    }
}</code>
登录后复制

安全性

奇怪的是,Pagekit 违背了最佳实践,将应用程序的入口点 (index.php) 放入根文件夹而不是公共子文件夹中。在 Nginx(以及不读取本地 .htaccess 文件的 Apache)上,这具有严重的安全隐患,因为它允许任何人通过 URL 栏访问关键文件(例如 pagekit.db——网站的整个数据库),只需键入 mypagekit.com/pagekit.db 即可。

为了解决这个问题,我们需要使用几乎逐字从它们的 .htaccess 文件中提取的一行非常原始的代码进一步修改服务器脚本。在 location ~ .php$ { 之上添加以下内容:

<code>location ~ /(composer.lock|pagekit.db|installed.json|composer.json|package.json|bower.json|CHANGELOG.md|README.md|gulpfile.js|webpack.config.js|pagekit) 
{ 
        deny all; 
}</code>
登录后复制

First Look at Pagekit CMS - Clean, Extensible, Fast, But...

这是一个极其原始和老式的解决方案,但它有效。我们只能希望 Pagekit 团队在不久的将来能够摆脱这种文件夹结构。

部署 Pagekit 网站

鉴于 Pagekit 默认使用 SQLite 作为数据库,并且数据库文件保存在同一文件夹中,因此部署 Pagekit 网站就像上传静态网站一样简单。可以使用 Laravel Forge 和原始 DigitalOcean Github 方法在此处找到完整的操作指南,您可以选择其中一种!

结论

乍一看,Pagekit 似乎是其他 CMS 的一个不错的替代品。用户界面很棒,其开发者生态系统非常友好,其插件系统构建良好,并且经久耐用。它包含一些很不错的默认功能,例如帖子复制、Markdown、UI 中的 VueJS、网站和博客/评论方面的足够默认设置,以及当前设置中缺少的所有内容都可以轻松地使用扩展添加。

但是,它也并非没有缺点。

首先,其安全性依赖于用户对服务器的设置情况,这意味着如果没有进行大量的修改,它就不像应该的那样具有跨平台性——我们都知道 Nginx 和 Apache 配置文件并不是最直观的编辑文件。此外,内置的 PHP 服务器实际上不能用于正确测试它,这限制了某些机器上的“试用”因素,并且在开发生产就绪的 PHP 原生服务器方面肯定削弱了应用程序的功能,如果它真的被开发出来的话。Pagekit 团队绝对应该加入一些 PHP 端安全检查,并避免尝试使用 .htaccess 文件。

其次,目前无法从数据库导出数据。这使得在用户对 SQLite 感到厌倦后将应用程序移植到 MySQL 变得不切实际,并且限制了内容的可移植性——想象一下,在 SQLite 中本地设置所有内容并编写帖子,然后将数据上传到使用 MySQL 的实时应用程序中。

最后,我们还可以列出无法设置完全自定义存储(目前仅在本地保存静态文件——但这可以通过扩展来完成)和较短的会话生命周期(这可以通过简单的 keepalive ping 来解决),但这确实是很小的抱怨。

市场仍然相当空,但我毫不怀疑,一旦事情开始发展,它就会迅速发展——我们即将推出的教程一定会对此有所帮助——但它是一个“WordPress 杀手”吗?还不是。它肯定比 Ghost 等竞争者更有潜力,但它需要专注于完善 MVP,而不是为了取悦大众而从 MVP 中删除 M。我们需要一个功能更少、易于扩展但默认状态下运行完美的 CMS。

您尝试过 Pagekit 吗?您对它有什么看法?请在评论中告诉我们!

关于 Pagekit CMS 的常见问题

Pagekit CMS 与其他 CMS 平台有何不同?

Pagekit CMS 因其简洁性、可扩展性和速度而脱颖而出。它使用 Vue.js 和 Symfony 组件等现代技术构建,这使其成为开发人员的强大工具。它还具有简洁直观的界面,使非技术用户也能轻松管理其内容。此外,Pagekit 是开源的,这意味着它会不断得到开发人员社区的改进。

如何安装 Pagekit CMS?

安装 Pagekit CMS 非常简单。您可以从官方网站或 GitHub 存储库下载它。下载后,将文件解压到您的 Web 服务器目录。然后,导航到您的网站 URL,安装向导将引导您完成设置过程。您需要提供您的数据库详细信息并创建一个管理员帐户。

我可以将 Pagekit CMS 用于电子商务吗?

是的,您可以将 Pagekit CMS 用于电子商务。虽然它没有内置的电子商务功能,但您可以将其与 Snipcart(一个强大的电子商务解决方案)集成。使用 Snipcart,您可以向您的 Pagekit 网站添加购物车,并管理您的产品、订单和客户。

如何自定义我的 Pagekit 网站的外观?

Pagekit CMS 支持主题,允许您自定义网站的外观。您可以从 Pagekit 市场提供的各种免费和付费主题中进行选择。此外,如果您了解 HTML、CSS 和 JavaScript,则可以创建您自己的主题。

我可以使用 Pagekit CMS 构建哪些类型的网站?

Pagekit CMS 功能多样,可用于构建各种网站,从博客和作品集到企业网站和在线商店。其可扩展性允许您通过模块向网站添加功能,其强大的内容管理功能使您可以轻松管理您的内容。

Pagekit CMS 安全吗?

是的,Pagekit CMS 是安全的。它使用现代技术构建,并遵循最佳安全实践。它包括 CSRF 保护、密码哈希和安全 Cookie 等功能。但是,与任何其他 CMS 一样,务必保持更新并遵循良好的安全实践以保护您的网站。

如何扩展我的 Pagekit 网站的功能?

您可以通过安装扩展来扩展 Pagekit 网站的功能。扩展就像插件一样,可以向您的网站添加新功能。您可以在 Pagekit 市场找到各种扩展,从 SEO 工具和社交媒体集成到联系表单和图库。

Pagekit CMS 是否支持多语言网站?

是的,Pagekit CMS 支持多语言网站。您可以创建多种语言的内容,并使用内置的多语言支持轻松管理它。您还可以安装语言包来翻译管理界面。

我可以将我的现有网站迁移到 Pagekit CMS 吗?

将现有网站迁移到 Pagekit CMS 可能是一个复杂的过程,具体取决于您当前使用的平台。没有内置的迁移工具,因此您需要手动移动您的内容并配置您的新 Pagekit 网站。但是,Pagekit 的简洁性和灵活性可能会使这项工作值得付出。

Pagekit CMS 是否有社区或支持?

是的,有一个充满活力的开发人员和用户社区支持 Pagekit CMS。您可以在官方网站、GitHub 存储库和社区论坛上找到帮助和资源。在线还有许多教程和指南可以帮助您开始使用 Pagekit。

以上是首先查看PageKit CMS-清洁,可扩展,快速,但...的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板