Cài Đặt và Cấu Hình Kirby CMS Trong Môi Trường ServBay
Kirby là một hệ quản trị nội dung (CMS) linh hoạt và mạnh mẽ dựa trên tệp, phù hợp để xây dựng nhiều loại website khác nhau. Khác với các CMS truyền thống sử dụng cơ sở dữ liệu, Kirby lưu trữ nội dung trực tiếp trên hệ thống file, giúp nó cực kỳ nhẹ, dễ kiểm soát phiên bản và triển khai nhanh chóng.
Bài hướng dẫn này sẽ giúp bạn cài đặt và cấu hình Kirby 4.2 Starterkit bằng Composer trong môi trường phát triển web cục bộ ServBay – nền tảng lý tưởng cho phát triển Kirby nhờ đi kèm PHP đã cấu hình sẵn, web server (Caddy hoặc Nginx) và Composer.
Yêu Cầu Trước Khi Bắt Đầu
Trước khi thực hiện, hãy đảm bảo rằng bạn đã:
- Đã cài đặt và chạy ServBay trên macOS.
- Kích hoạt phiên bản PHP phù hợp trong ServBay (ví dụ ở đây là PHP 8.2).
- Composer đã được tích hợp sẵn trên ServBay, không cần cài đặt thêm.
Các Bước Cài Đặt Kirby
Dưới đây là các bước chi tiết để cài đặt và cấu hình Kirby trong môi trường ServBay:
Bước 1: Tạo Thư Mục Dự Án
Đầu tiên, hãy mở Terminal. Di chuyển đến thư mục gốc mặc định của website trên ServBay /Applications/ServBay/www
và tạo một thư mục dự án mới. Ở ví dụ này, chúng ta sử dụng tên dự án là servbay-kirby-app
.
cd /Applications/ServBay/www
mkdir servbay-kirby-app
cd servbay-kirby-app
2
3
Bước 2: Khởi Tạo Dự Án Kirby Bằng Composer
ServBay đã tích hợp Composer, bạn có thể sử dụng trực tiếp trong Terminal. Ở thư mục dự án servbay-kirby-app
, chạy lệnh Composer sau để tải và tạo dự án Kirby Starterkit:
composer create-project getkirby/starterkit .
Lệnh trên sẽ tải các file cốt lõi Kirby, dependency và bộ Starterkit với nội dung, template cơ bản vào thư mục hiện tại (.
).
Bước 3: Cấu Hình Web Server (Thêm Website Trong ServBay)
Để web server của ServBay (Caddy hoặc Nginx) phục vụ dự án Kirby, bạn cần thêm cấu hình website mới trong ứng dụng ServBay.
- Mở ứng dụng ServBay: Khởi động chương trình ServBay.
- Chuyển đến quản lý Website: Nhấn vào tab "Website" ở thanh điều hướng bên trái cửa sổ.
- Thêm website mới: Nhấp vào nút "+" ở cuối giao diện hoặc chọn tùy chọn thêm website tương ứng.
- Điền thông tin website: Ở cửa sổ cấu hình, nhập các thông tin sau:
- Tên: Đặt tên dễ nhận diện cho website, ví dụ
My Kirby Site
. - Tên miền: Đặt tên miền phát triển cục bộ. Nên dùng đuôi
.local
hoặc.servbay.demo
, ví dụservbay-kirby.local
. ServBay sẽ tự động cấu hình DNS nội bộ cho bạn. - Loại website: Chọn
PHP
, vì Kirby là một ứng dụng PHP. - Phiên bản PHP: Chọn phiên bản PHP bạn muốn dùng, ví dụ
8.2
. Đảm bảo phiên bản này phù hợp yêu cầu tối thiểu của Kirby. - Thư mục gốc: Chỉ định thư mục chứa file
index.php
của Kirby. Đối với Starterkit, thông thường là thư mục gốc dự án đã tạo ở Bước 1:/Applications/ServBay/www/servbay-kirby-app
.
- Tên: Đặt tên dễ nhận diện cho website, ví dụ
- Lưu cấu hình: Kiểm tra lại thông tin, sau đó nhấn lưu. ServBay sẽ tự động cập nhật cấu hình, và có thể yêu cầu bạn khởi động lại web server.
Bước 4: Cấu Hình (Ban Đầu) Cho Kirby
Các cấu hình cốt lõi của Kirby nằm trong file site/config/config.php
. Đối với Starterkit, cấu hình cơ bản đã sẵn sàng để chạy. Bạn có thể thêm các tùy chỉnh như:
- Bật chế độ debug (
c::set('debug', true);
) - Chọn ngôn ngữ giao diện panel
- Định nghĩa route tuỳ chỉnh...
Thư mục content
ở gốc dự án cũng đã được Starterkit tạo sẵn, chứa toàn bộ nội dung các trang.
Bước 5: Khởi Chạy và Truy Cập Website Kirby
Sau khi ServBay được cấu hình, website Kirby đã sẵn sàng truy cập qua tên miền bạn đã thiết lập.
- Đảm bảo ServBay đang chạy: Kiểm tra ứng dụng ServBay, web server (Caddy hoặc Nginx) và PHP đã bật.
- Truy cập website: Mở trình duyệt của bạn và nhập tên miền đã cấu hình ở bước 3, ví dụ
https://servbay-kirby.local
.
Bạn sẽ thấy trang chào mừng mặc định của Kirby Starterkit. ServBay kích hoạt sẵn HTTPS – nên hãy truy cập bằng https://
.
Bước 6: Cài Đặt và Sử Dụng Kirby Panel (Tùy chọn)
Kirby có giao diện quản trị mạnh mẽ (Panel) giúp bạn quản lý nội dung, người dùng, cài đặt website.
- Truy cập trang cài đặt Panel: Mở đường dẫn
/panel
trên tên miền website của bạn, ví dụhttps://servbay-kirby.local/panel
. - Tạo tài khoản admin: Nếu lần đầu vào
/panel
, bạn sẽ được hướng dẫn tạo admin đầu tiên. Làm theo hướng dẫn nhập tên đăng nhập, mật khẩu, email để tạo tài khoản admin quản lý. - Đăng nhập panel: Sau khi tạo tài khoản, đăng nhập để bắt đầu quản lý website với giao diện đồ họa.
Xây Dựng Website Với Kirby
Sau khi hoàn thành các bước trên, bạn đã có thể tận dụng khả năng lưu trữ file linh hoạt của Kirby để xây dựng website. Dưới đây là một số khái niệm và thao tác cơ bản trong phát triển Kirby:
Cấu Trúc Nội Dung (Content)
Nội dung của Kirby nằm trong thư mục content
. Mỗi trang là một thư mục trong content
, trang sẽ lưu nội dung trong file text (ví dụ page.txt
) dùng cú pháp tương tự Markdown.
Ví dụ: Tạo Trang "Giới Thiệu"
Thực hiện trên Terminal:
cd /Applications/ServBay/www/servbay-kirby-app
mkdir content/about
echo "Title: Giới thiệu\n----\nĐây là nội dung trang Giới thiệu." > content/about/about.txt
2
3
Truy cập https://servbay-kirby.local/about
(nếu template đã hỗ trợ).
Giao Diện Hiển Thị (Templates)
Các file template nằm trong site/templates
, quyết định cách nội dung được hiển thị. Tên file template thường trùng với tên thư mục nội dung hoặc blueprint (ví dụ about.php
với content/about
hoặc blueprint about
).
Ví dụ: Tạo Template about.php
Trong site/templates/about.php
:
<?php snippet('header') ?>
<main>
<h1><?= $page->title() ?></h1>
<div class="text">
<?= $page->text()->kt() // Hiển thị nội dung bằng KirbyText ?>
</div>
</main>
<?php snippet('footer') ?>
2
3
4
5
6
7
8
9
10
Ở đây dùng hàm snippet()
để chèn phần dùng lại như header, footer.
Blueprint (Sơ Đồ Trang)
Blueprint nằm trong site/blueprints
, định nghĩa cấu trúc trang, trường dữ liệu và tùy chọn cho panel. Định dạng YAML.
Ví dụ: Tạo Blueprint about.yml
Trong site/blueprints/pages/about.yml
:
title: Trang Giới Thiệu
columns:
- width: 2/3
fields:
text:
label: Nội dung
type: textarea
size: large
buttons:
- bold
- italic
- link
- email
- width: 1/3
fields:
# Hiển thị trường sidebar, ví dụ upload hình ảnh
cover_image:
label: Ảnh bìa
type: files
max: 1
uploads:
template: image
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Sau khi định nghĩa, khi tạo trang "Giới Thiệu" mới trong panel, bạn sẽ thấy các trường này xuất hiện.
Snippet (Đoạn Mã Dùng Lại)
Snippet là các file PHP dùng lại, thường để hiển thị phần header, footer, menu điều hướng..., nằm trong thư mục site/snippets
.
Controller Và Model
Khi cần xử lý logic phức tạp hơn, bạn có thể dùng Controller ở site/controllers
để xử lý dữ liệu, hoặc định nghĩa model ở site/models
cho custom page class.
Tài Nguyên Tĩnh (Assets)
CSS, JS, hình ảnh,... nên lưu ở thư mục assets
trong gốc dự án. Sử dụng hàm trợ giúp url('assets/...')
trong template để lấy đường dẫn tài nguyên.
Ví dụ: Thêm file CSS và JS
Trong site/templates/default.php
hoặc site/snippets/header.php
:
<link rel="stylesheet" href="<?= url('assets/css/style.css') ?>">
<script src="<?= url('assets/js/script.js') ?>"></script>
2
Tổng Kết
Như vậy, bạn đã hoàn thành việc cài đặt và cấu hình Kirby CMS trong môi trường phát triển cục bộ ServBay. ServBay đem lại môi trường PHP hoàn chỉnh, giúp việc triển khai, quản trị và phát triển website với Kirby trở nên dễ dàng hơn bao giờ hết. Giờ đây, bạn có thể tiếp tục khám phá sâu hơn các khái niệm Template, Blueprint, Snippet... của Kirby để xây dựng các website phức tạp và linh hoạt hơn.