ServBay Ortamında Kirby CMS Kurulumu ve Yapılandırması
Kirby, dosya tabanlı esnek ve güçlü bir içerik yönetim sistemidir (CMS); her türden web sitesi oluşturmak için uygundur. Geleneksel veritabanı tabanlı CMS sistemlerinden farklı olarak Kirby, içerikleri dosya sisteminde saklar. Bu özellik, onu son derece hafif, kolayca sürüm kontrolü yapılabilir ve dağıtımı basit bir hale getirir.
Bu rehberde, geliştiriciler için özel olarak hazırlanmış bir yerel web geliştirme ortamı olan ServBay üzerinde, Composer kullanılarak Kirby 4.2 Starterkit’in nasıl kurulup yapılandırılacağını adım adım öğreneceksiniz. ServBay, önceden yapılandırılmış PHP, web sunucuları (Caddy veya Nginx gibi) ve Composer ile birlikte gelir ve Kirby’yi yerel olarak geliştirmek için mükemmel bir platformdur.
Ön Koşullar
Başlamadan önce aşağıdaki adımları tamamladığınızdan emin olun:
- ServBay uygulamasını macOS’a indirdiniz ve çalıştırdınız.
- ServBay'de ihtiyaç duyulan PHP sürümü etkinleştirildi (Bu örnekte PHP 8.2 kullanılıyor).
- ServBay Composer ile birlikte gelir, ayrıca bir kurulum yapmanıza gerek yoktur.
Kirby Kurulum Adımları
Aşağıda, ServBay ortamında Kirby'nin kurulumu ve yapılandırılması için detaylı adımlar yer almaktadır:
Adım 1: Proje Klasörü Oluşturun
Öncelikle Terminal uygulamasını açın. ServBay’in varsayılan web sitesi kök dizini olan /Applications/ServBay/www
yoluna gidin ve yeni bir proje klasörü oluşturun. Örnek olarak, proje adı olarak servbay-kirby-app
kullanılacaktır.
cd /Applications/ServBay/www
mkdir servbay-kirby-app
cd servbay-kirby-app
2
3
Adım 2: Composer ile Kirby Proje Oluşturun
ServBay’e Composer önceden entegre edilmiştir, bu yüzden terminalde doğrudan kullanabilirsiniz. servbay-kirby-app
proje klasöründe aşağıdaki Composer komutunu çalıştırarak Kirby Starterkit’i indirin ve projenizi oluşturun:
composer create-project getkirby/starterkit .
Bu komut, Kirby’nin çekirdek dosyalarını, gerekli bağımlılıklarını ve temel içerik & şablon içeren Starterkit’i o anki dizine (.
) indirir.
Adım 3: Web Sunucusunu Yapılandırın (ServBay’de Site Ekleme)
ServBay’in web sunucusu (Caddy veya Nginx gibi) Kirby projenizi servis edebilmesi için ServBay uygulamasında yeni bir site yapılandırmanız gerekir.
- ServBay Uygulamasını Açın: ServBay’i başlatın.
- Site Yönetimine Girin: ServBay pencere solundaki menüden "Siteler" sekmesine tıklayın.
- Yeni Site Ekleyin: Alttaki "+" butonuna ya da benzeri site ekleme seçeneğine tıklayın.
- Site Bilgilerini Girin: Açılan pencerede aşağıdaki bilgileri doldurun:
- İsim: Siteye kolay tanıyacağınız bir isim verin, ör.
My Kirby Site
. - Alan Adı: Yerel geliştirme için bir alan adı belirleyin.
.local
veya.servbay.demo
uzantıları önerilir, örn.servbay-kirby.local
. ServBay, bu alan adı için otomatik olarak yerel DNS yönlendirmesini yapacaktır. - Site Türü: Kirby bir PHP uygulamasıdır;
PHP
seçeneğini işaretleyin. - PHP Sürümü: Kullanmak istediğiniz PHP sürümünü seçin, ör.
8.2
. Seçtiğiniz sürümün Kirby'nin asgari gereksinimini karşıladığından emin olun. - Site Kök Dizini: Kirby projenizdeki
index.php
dosyasının olduğu klasördür. Starterkit için genellikle proje ana dizinidir. 1. adımda oluşturduğunuz klasörün tam yolu:/Applications/ServBay/www/servbay-kirby-app
- İsim: Siteye kolay tanıyacağınız bir isim verin, ör.
- Yapılandırmayı Kaydedin: Bilgilerin doğru olduğundan emin olduktan sonra kaydedin. ServBay yapılandırmayı otomatik olarak uygular ve gerekirse ilgili web sunucusunu yeniden başlatır.
Adım 4: Kirby’yi Yapılandırın (İlk Ayar)
Kirby’nin ana yapılandırması site/config/config.php
dosyası üzerinden yapılır. Starterkit ile temel ayarlar hazır gelir ve site hemen çalışır. Bu dosyada ayrıca şu özelleştirmeleri yapabilirsiniz:
debug
modunu açma (c::set('debug', true);
)- Panel dilini ayarlama
- Özel yönlendirmeler tanımlama vb.
Proje kökünüzdeki content
klasörü, Kirby Starterkit tarafından otomatik olarak oluşturulmuştur ve bütün sayfa içerikleri burada depolanır.
Adım 5: Kirby Sitesini Çalıştırma ve Ziyaret Etme
ServBay yapılandırıldıktan sonra, Kirby sitenizi belirlediğiniz alan adı ile erişebilirsiniz.
- ServBay’in Çalıştığından Emin Olun: ServBay uygulamasının, ilgili web sunucusu (Caddy veya Nginx) ve PHP paketinin başlatılmış olduğuna emin olun.
- Siteyi Ziyaret Edin: Web tarayıcınızda, 3. adımda belirlediğiniz alan adını girin, ör.
https://servbay-kirby.local
.
Varsayılan Kirby Starterkit hoşgeldiniz sayfası görüntülenecektir. ServBay’de HTTPS varsayılan olarak açıktır, bu nedenle https://
ile bağlanmak önerilir.
Adım 6: Kirby Panelini Kurma ve Kullanma (Opsiyonel)
Kirby, içerik, kullanıcı ve ayar yönetimini kolaylaştıran güçlü bir yönetim paneli sunar.
- Panel Kurulum Sayfasına Gidin: Web tarayıcısına sitenizin alan adının sonuna
/panel
ekleyerek ulaşın, ör.https://servbay-kirby.local/panel
. - Yönetici Hesabı Oluşturun: İlk defa
/panel
'e girdiğinizde, panel kurulum ekranına yönlendirilirsiniz. Buradaki adımları takip ederek (kullanıcı adı, şifre, e-posta) ilk admin hesabınızı oluşturun. - Panele Giriş Yapın: Hesap oluşturduktan sonra Kirby Panel’e giriş yapabilir, görsel arayüz üzerinden sitenizin içeriğini yönetebilirsiniz.
Kirby ile Web Sitesi Oluşturma
Artık ServBay ortamında Kirby’yi başarıyla kurup yapılandırdınız; dosya tabanlı yapısından tam anlamıyla faydalanarak web sitenizi oluşturmaya hazırsınız. İşte Kirby'nin temel geliştirme kavramları ve işlemleri:
İçerik Yapısı (Content)
Kirby, içeriği content
klasöründe tutar. Her sayfa için content
klasörü altında bir klasör bulunur. Sayfanın metinleri genellikle iç klasörlerdeki metin dosyalarında (örn. page.txt
) Markdown benzeri biçimde tutulur.
Örnek: “Hakkımızda” Sayfası Oluşturma
Terminalde:
cd /Applications/ServBay/www/servbay-kirby-app
mkdir content/about
echo "Title: Hakkımızda\n----\nBurası hakkımızda sayfa içeriğidir." > content/about/about.txt
2
3
https://servbay-kirby.local/about
adresinden (şablonunuz destekliyorsa) bu sayfayı ziyaret edebilirsiniz.
Şablonlar (Templates)
Şablon dosyaları, sayfanın nasıl görüneceğini belirler ve site/templates
klasöründe bulunur. Dosya isimleri genellikle içerik klasörü ismi veya blueprint adı ile aynıdır (örn. about.php
, content/about
klasörünü veya about
blueprint kullanan sayfaları işler).
Örnek: about.php
Şablonu Oluşturma
site/templates/about.php
dosyasında:
<?php snippet('header') ?>
<main>
<h1><?= $page->title() ?></h1>
<div class="text">
<?= $page->text()->kt() // KirbyText ile render et ?>
</div>
</main>
<?php snippet('footer') ?>
2
3
4
5
6
7
8
9
10
Burada, başlık ve altbilgi gibi tekrar eden kısımlar için snippet()
fonksiyonu kullanılır.
Blueprintler
Blueprint dosyaları site/blueprints
klasöründedir ve paneldeki sayfa düzenini, alanlarını ve seçeneklerini tanımlar. YAML formatında yazılır.
Örnek: about.yml
Blueprint Oluşturma
site/blueprints/pages/about.yml
dosyasında:
title: Hakkında Sayfası
columns:
- width: 2/3
fields:
text:
label: Metin İçeriği
type: textarea
size: large
buttons:
- bold
- italic
- link
- email
- width: 1/3
fields:
# Kenar çubuğu alanları, örn. görsel yükleme vb.
cover_image:
label: Kapak Görseli
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
Bu blueprint tanımlandıktan sonra panelde yeni bir “Hakkımızda” sayfası oluştururken ilgili alanlar görünür.
Snippetler
Snippets, genellikle başlık, altbilgi, menü gibi tekrar kullanılabilen PHP dosyalarıdır ve site/snippets
klasöründe yer alır.
Kontrolcüler (Controllers) ve Modeller (Models)
Daha karmaşık işlemler için, veri işlemek için kontrolcüler (site/controllers
), özel sayfa sınıfları tanımlamak için modeller (site/models
) oluşturabilirsiniz.
Statik Dosyalar (Assets)
CSS, JavaScript, görseller gibi statik kaynaklar genellikle proje kökündeki assets
klasöründe tutulur. Şablonlarda bu tür dosyaların URL’lerini almak için url('assets/...')
yardımcı fonksiyonu kullanılır.
Örnek: CSS ve JS Dosyası Dahil Etme
site/templates/default.php
veya site/snippets/header.php
içinde:
<link rel="stylesheet" href="<?= url('assets/css/style.css') ?>">
<script src="<?= url('assets/js/script.js') ?>"></script>
2
Sonuç
Bu adımlarla Kirby CMS’i ServBay yerel geliştirme ortamınızda başarıyla kurdunuz ve yapılandırdınız. ServBay’in sunduğu entegre ortam sayesinde PHP uygulamalarını dağıtmak ve yönetmek oldukça kolaylaşır, siz ise Kirby’nin güçlü dosya tabanlı yapısıyla ve gelişmiş özellikleriyle websitenizi geliştirmeye odaklanabilirsiniz. Artık Kirby'nin şablon, blueprint ve snippet gibi kavramlarını daha yakından keşfederek daha karmaşık site yapıları ve işlevsellikler oluşturabilirsiniz.