Pagekit CMS 1.0 版本評測:輕量級博客引擎的潛力與不足
Pagekit CMS 最近發布了 1.0 版本,作為一名關注個人博客引擎的用戶,我決定對其進行一番測試。雖然 Pagekit 的功能遠不止博客,但將其作為測試平台已足夠。
注意:我們將使用 Homestead Improved 作為測試環境。所有命令(如有)都將基於此環境列出。如有必要,請根據您自己的操作系統進行調整。
安裝方法是下載並解壓其存檔文件,然後將 Web 服務器指向新創建的文件夾。 Pagekit 將立即顯示安裝界面。
經過簡短但極其流暢的安裝過程後,我們將進入儀表板。
從儀表板,我們可以訪問網站的其他所有部分,例如管理用戶、配置新頁面和路由、安裝主題和擴展、處理小部件等等。
默認情況下,權限/角色子系統功能有限,僅支持已認證用戶、管理員和訪客,但這對於我們在此測試的博客來說已經足夠了。如有需要,以後可以在“角色”屏幕中添加更多角色。
首先,讓我們設置一個“關於”頁面。如果我們進入“站點”,然後進入“頁面”,就可以設置一個新頁面。方便的是,Pagekit 原生支持 Markdown,因此我們可以用它來編寫內容。
頁面(以及指向它的鏈接)將立即出現在我們網站的首頁:
然後,要設置博客,我們需要安裝博客擴展。幸運的是,它已作為默認擴展存在,並可在主菜單中訪問。其中還有一個示例帖子:“Hello Pagekit”。
作為開發者,我需要編寫大量代碼片段,因此查看這些代碼片段在帖子中的顯示方式至關重要。讓我們修改示例帖子,加入一些技術內容和一兩張圖片。我將使用之前發表在 SitePoint 上的一篇帖子。
看起來不錯——比默認主題的預期效果要好得多——但只有內聯代碼似乎被高亮顯示了。其餘部分是純文本。讓我們看看如何解決這個問題。
Pagekit 配備了一個很棒的市場,雖然目前還比較空,但擴展/主題的安裝/下載過程非常完善。它簡單易用,而且相對容易開發,不會將開發的包變成一團糟的意大利麵條代碼。
方便的是,市場中已經有一個 Highlight 擴展,顯然是為開發者從第一天就開始準備的。
安裝很簡單,而且讓每個 PHP 開發者都高興的是,它是通過 Composer 完成的。
只需刷新博客帖子的渲染,即可看到它的作用——它會自動啟用!
好多了!
不過,默認主題有點太標準了。它很漂亮,但是隨著越來越多的人使用 Pagekit,網站開始看起來很相似,變得有點太容易識別了——就像“Bootstrap 瘟疫”一樣。讓我們安裝另一個主題。最小化主題看起來很棒,所以讓我們使用它。
不到一分鐘,整個過程就完成了——主題已安裝並激活,刷新網站即可看到效果。
當然,它遠不如演示版漂亮,但是當內容差異如此之大的時候,人們很難期待這一點。一些小的修改就能解決這個問題。
在未激活重寫模塊的 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>
這是一個極其原始和老式的解決方案,但它有效。我們只能希望 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 因其簡潔性、可擴展性和速度而脫穎而出。它使用 Vue.js 和 Symfony 組件等現代技術構建,這使其成為開發人員的強大工具。它還具有簡潔直觀的界面,使非技術用戶也能輕鬆管理其內容。此外,Pagekit 是開源的,這意味著它會不斷得到開發人員社區的改進。
安裝 Pagekit CMS 非常簡單。您可以從官方網站或 GitHub 存儲庫下載它。下載後,將文件解壓到您的 Web 服務器目錄。然後,導航到您的網站 URL,安裝嚮導將引導您完成設置過程。您需要提供您的數據庫詳細信息並創建一個管理員帳戶。
是的,您可以將 Pagekit CMS 用於電子商務。雖然它沒有內置的電子商務功能,但您可以將其與 Snipcart(一個強大的電子商務解決方案)集成。使用 Snipcart,您可以向您的 Pagekit 網站添加購物車,並管理您的產品、訂單和客戶。
Pagekit CMS 支持主題,允許您自定義網站的外觀。您可以從 Pagekit 市場提供的各種免費和付費主題中進行選擇。此外,如果您了解 HTML、CSS 和 JavaScript,則可以創建您自己的主題。
Pagekit CMS 功能多樣,可用於構建各種網站,從博客和作品集到企業網站和在線商店。其可擴展性允許您通過模塊向網站添加功能,其強大的內容管理功能使您可以輕鬆管理您的內容。
是的,Pagekit CMS 是安全的。它使用現代技術構建,並遵循最佳安全實踐。它包括 CSRF 保護、密碼哈希和安全 Cookie 等功能。但是,與任何其他 CMS 一樣,務必保持更新並遵循良好的安全實踐以保護您的網站。
您可以通過安裝擴展來擴展 Pagekit 網站的功能。擴展就像插件一樣,可以向您的網站添加新功能。您可以在 Pagekit 市場找到各種擴展,從 SEO 工具和社交媒體集成到聯繫表單和圖庫。
是的,Pagekit CMS 支持多語言網站。您可以創建多種語言的內容,並使用內置的多語言支持輕鬆管理它。您還可以安裝語言包來翻譯管理界面。
將現有網站遷移到 Pagekit CMS 可能是一個複雜的過程,具體取決於您當前使用的平台。沒有內置的遷移工具,因此您需要手動移動您的內容並配置您的新 Pagekit 網站。但是,Pagekit 的簡潔性和靈活性可能會使這項工作值得付出。
是的,有一個充滿活力的開發人員和用戶社區支持 Pagekit CMS。您可以在官方網站、GitHub 存儲庫和社區論壇上找到幫助和資源。在線還有許多教程和指南可以幫助您開始使用 Pagekit。
以上是首先查看PageKit CMS-清潔,可擴展,快速,但...的詳細內容。更多資訊請關注PHP中文網其他相關文章!