تثبيت وإعداد Kirby CMS في بيئة ServBay
يعد Kirby نظام إدارة محتوى (CMS) قويًا ومرنًا يعتمد على الملفات، ويصلح لبناء جميع أنواع المواقع الإلكترونية. على عكس أنظمة إدارة المحتوى القائمة على قاعدة البيانات التقليدية، يخزن Kirby المحتوى في نظام الملفات، ما يجعله خفيفًا جدًا، وسهل التحكم في الإصدارات، وبسيط في النشر.
يُرشدك هذا الدليل خطوة بخطوة لعملية تثبيت وإعداد Kirby 4.2 Starterkit باستخدام Composer في بيئة ServBay المحلية المخصصة للمطورين. توفر ServBay بيئة جاهزة تشمل PHP وخادم ويب (مثل Caddy أو Nginx) وComposer، ما يجعلها منصة مثالية لمشاريع Kirby المحلية.
المتطلبات المسبقة
قبل البدء، تأكد من التالي:
- تثبيت وتشغيل ServBay على نظام macOS.
- تفعيل إصدار PHP المطلوب داخل ServBay (نستخدم PHP 8.2 في هذا المثال).
- لا حاجة لتثبيت Composer يدويًا فـ ServBay يتضمنه افتراضيًا.
خطوات تثبيت Kirby
فيما يلي الخطوات التفصيلية لتثبيت وإعداد Kirby في بيئة ServBay:
الخطوة 1: إنشاء مجلد المشروع
افتح تطبيق الطرفية (Terminal). انتقل إلى مجلد الجذر الافتراضي للمواقع في ServBay /Applications/ServBay/www
، ثم أنشئ مجلد مشروع جديد. سنستخدم اسم مشروع تجريبي servbay-kirby-app
.
bash
cd /Applications/ServBay/www
mkdir servbay-kirby-app
cd servbay-kirby-app
1
2
3
2
3
الخطوة 2: إنشاء مشروع Kirby باستخدام Composer
بما أن Composer مدمج بالفعل في ServBay، يمكنك استخدامه مباشرة في الطرفية. داخل مجلد المشروع servbay-kirby-app
، نفّذ الأمر التالي لتحميل وإنشاء مشروع Kirby Starterkit:
bash
composer create-project getkirby/starterkit .
1
سيقوم هذا الأمر بتنزيل ملفات Kirby الرئيسية وجميع الاعتمادات بالإضافة إلى Starterkit الذي يحتوي على محتوى وقوالب أساسية إلى المجلد الحالي (.
).
الخطوة 3: تكوين خادم الويب (إضافة الموقع إلى ServBay)
لكي يتمكّن خادم الويب في ServBay (مثل Caddy أو Nginx) من خدمة مشروعك، عليك إضافة إعداد موقع جديد عبر تطبيق ServBay.
- فتح تطبيق ServBay: شغّل تطبيق ServBay.
- الذهاب إلى إدارة المواقع: اضغط على علامة التبويب "المواقع" في شريط التنقل الأيسر.
- إضافة موقع جديد: انقر زر "+" أو خيار إضافة موقع جديد بأسفل الواجهة.
- ملء معلومات الموقع: في النافذة المنبثقة، أدخل المعلومات التالية:
- الاسم: اختر اسمًا واضحًا مثل
My Kirby Site
. - النطاق (الدومين): قم بتحديد نطاق تطوير محلي. يُنصح باستخدام لاحقة
.local
أو.servbay.demo
مثلservbay-kirby.local
. سيقوم ServBay تلقائيًا بإعداد DNS المحلي. - نوع الموقع: اختر
PHP
، لأن Kirby تطبيق PHP. - إصدار PHP: اختر الإصدار المطلوب (مثلاً
8.2
). تأكد من توافقه مع متطلبات Kirby. - دليل جذر الموقع: اختر المجلد الذي يحوي ملف
index.php
لمشروعك (عادة هو مجلد المشروع نفسه). أدخل المسار الذي أنشأته بالخطوة الأولى:/Applications/ServBay/www/servbay-kirby-app
.
- الاسم: اختر اسمًا واضحًا مثل
- حفظ الإعدادات: بعد التأكد من صحة المعلومات، احفظ الإعدادات. سيطبق ServBay التغييرات وقد يتطلب إعادة تشغيل خادم الويب.
الخطوة 4: الإعداد المبدئي لـ Kirby
الإعداد الأساسي لنظام Kirby يُدار بشكل رئيسي من خلال ملف site/config/config.php
. يحتوي Starterkit على إعدادات افتراضية جاهزة، ويمكنك تشغيل الموقع مباشرة. يمكنك كذلك تعديل هذا الملف لإضافة إعداداتك الخاصة، مثل:
- تفعيل وضع التصحيح
debug
(c::set('debug', true);
) - اختيار لغة لوحة التحكم
- تعريف المسارات المخصصة وغير ذلك
في جذر مشروعك، يوجد مجلد content
تم إنشاؤه تلقائيًا بواسطة Starterkit لتخزين محتوى الصفحات.
الخطوة 5: تشغيل الموقع وزيارته
بعد تكوين ServBay، سيكون موقعك المبني بـ Kirby جاهزًا للزيارة من خلال النطاق الذي أعددته.
- تأكد من تشغيل ServBay: تأكد أن التطبيق يعمل، وأن خادم الويب (Caddy أو Nginx) وحزم PHP مفعلة.
- زيارة الموقع: افتح متصفح الإنترنت وادخل اسم النطاق الذي حددته (مثلاً
https://servbay-kirby.local
).
ستظهر لك صفحة الترحيب الافتراضية من Kirby Starterkit. يُفضل استخدام https://
لأن ServBay يُفعل البروتوكول الآمن افتراضيًا.
الخطوة 6: تثبيت واستخدام لوحة تحكم Kirby (اختياري)
يقدم Kirby لوحة تحكم قوية لإدارة محتوى الموقع والمستخدمين والإعدادات بسهولة.
- الدخول لصفحة تثبيت اللوحة: أضف
/panel
إلى نهاية نطاق موقعك (مثلاًhttps://servbay-kirby.local/panel
). - إنشاء حساب المدير: عند أول زيارة لـ
/panel
، سيتم إرشادك لإنشاء أول حساب مدير. أدخل البيانات المطلوبة (اسم المستخدم، كلمة المرور، البريد الإلكتروني). - تسجيل الدخول للوحة: بعد إنشاء الحساب، يمكنك الدخول إلى لوحة التحكّم وبدء إدارة محتوى موقعك عبر الواجهة الرسومية.
بناء الموقع باستخدام Kirby
الآن وبعد اكتمال تثبيت واعداد Kirby في ServBay، يمكنك البدء في الاستفادة من ميزات النظام المبنية على الملفات لبناء موقعك الإلكتروني. إليك بعض المفاهيم الأساسية في تطوير Kirby:
هيكل المحتوى (Content)
يُخزن محتوى Kirby داخل مجلد content
. كل صفحة لها مجلد منفصل داخل هذا الدليل. عادةً ما يُخزّن نص الصفحة في ملفات نصية (مثل page.txt
) داخل المجلد، ويمكنك استعمال تنسيق شبيه بMarkdown.
مثال: إنشاء صفحة "من نحن"
عبر الطرفية:
bash
cd /Applications/ServBay/www/servbay-kirby-app
mkdir content/about
echo "Title: من نحن\n----\nهذه هي صفحة من نحن." > content/about/about.txt
1
2
3
2
3
ثم زر الموقع على المسار https://servbay-kirby.local/about
(إذا كان القالب يدعم ذلك).
القوالب (Templates)
تقع ملفات القوالب في مجلد site/templates
، وتحدد كيف تُعرض الصفحات. عادةً يكون اسم الملف مطابقًا لمجلد الصفحة أو تعريف الـ blueprint (مثلاً، about.php
لـ content/about
).
مثال: إنشاء قالب about.php
في ملف site/templates/about.php
:
php
<?php snippet('header') ?>
<main>
<h1><?= $page->title() ?></h1>
<div class="text">
<?= $page->text()->kt() // عرض باستخدام KirbyText ?>
</div>
</main>
<?php snippet('footer') ?>
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
هنا نستخدم دالة snippet()
لإدراج أجزاء قابلة لإعادة الاستخدام مثل رأس وتذييل الصفحة.
مخططات الـ Blueprints
تقع ملفات الـ blueprint في site/blueprints
، وتحدد هيكل صفحة اللوحة وحقولها وخياراتها باستخدام صيغة YAML.
مثال: مخطط blueprint باسم about.yml
في ملف site/blueprints/pages/about.yml
:
yaml
title: صفحة عن
columns:
- width: 2/3
fields:
text:
label: محتوى النص
type: textarea
size: large
buttons:
- bold
- italic
- link
- email
- width: 1/3
fields:
# حقول الشريط الجانبي مثل رفع الصور وغيرها
cover_image:
label: صورة الغلاف
type: files
max: 1
uploads:
template: image
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
بعد تعريف الـ blueprint، ستظهر هذه الحقول عند إنشاء صفحة "عن" جديدة عبر اللوحة.
الأجزاء القابلة لإعادة الاستخدام (Snippets)
الـ Snippets هي ملفات PHP قابلة لإعادة الاستخدام، عادةً لرأس الصفحة، التذييل، أو أجزاء التنقل، وتوضع ضمن site/snippets
.
المتحكمات (Controllers) والنماذج (Models)
للمزيد من التعقيد، يمكنك إضافة متحكمات في site/controllers
لمعالجة بيانات الصفحات، أو نماذج في site/models
لتعريف أنواع صفحات مخصصة.
الموارد الثابتة (Assets)
عادةً توضع ملفات الـ CSS وJavaScript والصور داخل مجلد assets
في جذر المشروع. واستدعاؤها في القوالب يكون عبر الدالة المساعدة url('assets/...')
.
مثال: ربط CSS و JS
في site/templates/default.php
أو site/snippets/header.php
:
php
<link rel="stylesheet" href="<?= url('assets/css/style.css') ?>">
<script src="<?= url('assets/js/script.js') ?>"></script>
1
2
2
الخلاصة
باتباع هذه الخطوات، تكون قد نجحت في تثبيت وتكوين Kirby CMS في بيئة التطوير المحلية ServBay. تسهِّل ServBay عمليات إدارة ونشر تطبيقات PHP، لتستمتع بقوة ومرونة Kirby، ونظامه المعتمد على الملفات في بناء وإدارة مشاريع مواقعك. يمكنك الآن التعمق أكثر في مفاهيم Kirby مثل القوالب، المخططات، والأجزاء القابلة لإعادة الاستخدام، لبناء هياكل أكثر تعقيدًا ووظائف متقدمة لموقعك.