首頁 > 後端開發 > 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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板