ServBay Ortamında Sculpin Kurulumu ve Yapılandırılması
Genel Bakış
Sculpin, blog, doküman sitesi veya dinamik içeriği (Twig şablonları ve Markdown dosyaları gibi) yüksek performanslı statik HTML sayfalarına dönüştürmek isteyen projeler için özel olarak tasarlanmış, güçlü ve esnek bir PHP tabanlı statik site üreticisidir. Composer aracılığıyla bağımlılıkları yönetir ve Symfony bileşenleri üzerine inşa edilmiştir, böylece geliştiricilere tanıdık ve güvenilir bir geliştirme deneyimi sunar.
ServBay, macOS için özel olarak tasarlanmış bir yerel web geliştirme ortamıdır. PHP, Composer, veritabanları (MySQL, PostgreSQL, MongoDB, Redis), web sunucuları (Caddy, Nginx) gibi birçok popüler paketi entegre şekilde sunar ve kullanıcı dostu bir grafik arayüzle yönetim imkanı sağlar. ServBay kullanmak, macOS üzerinde Sculpin geliştirme ortamı hazırlamayı oldukça kolaylaştırır; özellikle de PHP versiyonu yönetimi, bağımlılık yönetimi ve web sunucu yapılandırmalarında büyük kolaylık sağlar.
Bu rehberde, ServBay ortamında Sculpin’in nasıl kurulacağı ve yapılandırılacağı, ayrıca yerel bir geliştirme sitesinin nasıl hazırlanacağı adım adım açıklanmaktadır.
Kullanım Senaryoları
- PHP teknolojisiyle yüksek performanslı statik bir blog oluşturmak.
- Açık kaynak projeleriniz veya ürünleriniz için statik dokümantasyon sitesi üretmek.
- Arka uç veritabanı gerektirmeyen statik tanıtım veya kurumsal web siteleri hızla kurmak.
- İçeriği Twig şablon motoru ve Markdown diliyle hazırlayıp, statik sitelerin hız ve güvenliğinden faydalanmak.
Ön Koşullar
Başlamadan önce lütfen aşağıdaki şartların sağlandığından emin olun:
- macOS işletim sisteminde ServBay’i kurup çalıştırdınız. ServBay gerekli PHP ortamını, Composer bağımlılık yöneticisini ve web sunucusunu (Caddy veya Nginx) sağlar.
- Temel düzeyde komut satırı (Terminal) kullanım bilgisine sahipsiniz.
- PHP, Composer ve Markdown hakkında temel bilgiye sahipsiniz.
Sculpin Kurulum Adımları
Aşağıda, ServBay ortamında Sculpin’in kurulup yapılandırılması adım adım açıklanmaktadır:
Adım 1: Proje Dizini Oluşturun
İlk olarak, ServBay’in web sitesi kök dizininde (/Applications/ServBay/www
) yeni bir proje dizini oluşturmalısınız. Örnek olarak servbay-sculpin-app
ismini kullanacağız.
Terminal’i açıp şu komutları çalıştırın:
cd /Applications/ServBay/www
mkdir servbay-sculpin-app
cd servbay-sculpin-app
2
3
Bu dizin, Sculpin proje dosyalarınızı barındıracaktır.
Adım 2: Composer ile Sculpin Projesi Oluşturun
ServBay, Composer ile birlikte gelir, ek bir kurulum gerektirmez. Terminalde doğrudan composer
komutunu kullanabilirsiniz.
Sculpin’in resmi blog iskelet projesiyle hızlıca başlayacağız. Az önce oluşturduğunuz servbay-sculpin-app
dizinindeyken şu Composer komutunu çalıştırın:
composer create-project sculpin/sculpin-blog-skeleton .
Bu komut, Sculpin blog iskelet projesi ve tüm bağımlılıklarını Composer ile indirip mevcut dizine (.
) kuracaktır.
Adım 3: ServBay Web Sitesi Yapılandırması
Sculpin sitenize ServBay’in web sunucusu (Caddy veya Nginx) üzerinden erişmek için ServBay’de yeni bir site yapılandırması eklemelisiniz.
- ServBay uygulamasını açın: Grafik arayüzü başlatın.
- "Web Siteleri" sekmesine gidin: ServBay penceresindeki üst menüden "Web Siteleri" sekmesini seçin.
- Yeni bir site ekleyin: Sol altta bulunan "+" butonuna tıklayarak yeni bir site yapılandırması ekleyin.
- Site bilgilerini girin:
- İsim (Name): Kolayca ayırt edebileceğiniz bir ad girin, örneğin
My Sculpin Site
. - Alan adı (Domain): Sitenize yerel olarak erişmek için dilediğiniz bir alan adını girin, örneğin
servbay-sculpin.local
. ServBay,.local
uzantılı alan adlarına otomatik olarak yerel çözümleme ve SSL sertifikası (ServBay User CA ile) atar. - Site türü (Type):
PHP
seçin, çünkü Sculpin bir PHP uygulamasıdır. - PHP sürümü (PHP Version): Kullanmak istediğiniz PHP sürümünü seçin. ServBay birden fazla PHP sürümünü destekler, Sculpin ile uyumlu yeni bir sürüm tercih edebilirsiniz.
- Web sitesi kök dizini (Document Root): Bu adım kritik. Sculpin’in oluşturduğu statik dosyalar, varsayılan olarak proje dizininin altındaki
output_dev
veyaoutput_prod
klasörüne çıkartılır. Yerel geliştirme için site kök dizinini şu geliştirme çıktısı klasörüne yönlendirin:/Applications/ServBay/www/servbay-sculpin-app/output_dev
- İsim (Name): Kolayca ayırt edebileceğiniz bir ad girin, örneğin
- Ayarları kaydedin: Tüm alanları doldurduktan sonra "Kaydet" tuşuna basın. ServBay yeni ayarları web sunucunuza (Caddy veya Nginx) otomatik olarak uygular. Genellikle ServBay’in yeniden başlatılmasına gerek yoktur.
Adım 4: Sculpin Sitesini Oluşturun
ServBay üzerinde site yapılandırmasını yaptıktan sonra, Sculpin ile sitenizin statik dosyalarını oluşturmanız gerekir.
Terminalde, proje kök dizininde (/Applications/ServBay/www/servbay-sculpin-app
) olduğunuzdan emin olun. Proje bağımlılıklarını kurmak için aşağıdaki komutu çalıştırın (2. adımda çalıştırdıysanız tekrar etmeniz gerekmeyebilir, ama kurulumun tam olduğundan emin olmak için önerilir):
composer install
Ardından, Sculpin’in oluşturma komutu ile siteyi inşa edin:
vendor/bin/sculpin generate --watch
vendor/bin/sculpin
: Composer ile yüklenen Sculpin çalıştırılabilir dosyasının yolu.generate
: Sculpin’in statik siteyi oluşturmak için kullandığı komut.source
klasöründeki içerik ve şablonları okur, statik dosyaları belirtilen çıktı dizinine (varsayılan olarakoutput_dev
) çıkarır.--watch
: Sculpin’esource
klasöründeki dosyalarda yapılan değişiklikleri izlemesini ve değişiklik durumunda siteyi otomatik olarak yeniden üretmesini sağlar, bu da geliştirme sürecinde çok kullanışlıdır.
Komutun sonunda "Sculpin has generated your site!" veya benzeri bir ifade gördüğünüzde, statik içerikleriniz output_dev
dizininde yer alır.
Adım 5: Yerel Geliştirme Sitenize Erişin
Artık, Sculpin sitenize ServBay’de tanımladığınız alan adıyla erişebilirsiniz.
Web tarayıcınızı açıp, 3. adımda belirttiğiniz alan adını ziyaret edin:
https://servbay-sculpin.local
Web sitesi kök dizinini output_dev
olarak ayarladığınız ve terminalde sculpin generate --watch
komutunu çalıştırdığınız için, https://servbay-sculpin.local
adresinde site ve içerik değişikliklerini anlık olarak görebilirsiniz. ServBay’in otomatik oluşturduğu SSL sertifikası sayesinde yerel sitenizi güvenli (HTTPS üzerinden) olarak gezebilirsiniz.
Sculpin ile Geliştirme
Artık ServBay üzerinde Sculpin’i başarıyla kurup yapılandırdınız ve statik sitenizi oluşturmaya başlayabilirsiniz. Temel geliştirme adımlarının bazıları şöyledir:
Sculpin Proje Yapısına Genel Bakış
Sculpin’in temel proje yapısını bilmek, geliştirmenizi kolaylaştırır:
servbay-sculpin-app/
├── app/ # Uygulama ayarları ve önbellekler
├── output_dev/ # Geliştirme ortamı için oluşturulan statik dosyalar (ServBay web sitesi kök dizini burayı gösterir)
├── output_prod/ # Üretim ortamı için oluşturulan statik dosyalar
├── source/ # Sitenin kaynak dosyaları (Markdown içerikler, Twig şablonlar, statik varlıklar vs.)
│ ├── _layouts/ # Twig şablonları
│ ├── _posts/ # Blog yazıları (Markdown dosyaları)
│ ├── assets/ # Statik varlıklar (CSS, JS, görseller vb.)
│ └── index.md # Ana sayfa (Markdown dosyası)
├── vendor/ # Composer ile kurulan bağımlılıklar
├── sculpin.yml # Sculpin ana yapılandırma dosyası
├── composer.json # Composer bağımlılık ayarları
└── ...diğer dosyalar
2
3
4
5
6
7
8
9
10
11
12
13
Ana geliştirme işlemlerinizi genellikle source
klasörü içinde yaparsınız.
Blog Yazısı Oluşturma
Sculpin blogunuzda yeni bir yazı eklemek için, source/_posts
dizininde yeni bir Markdown dosyası oluşturmanız yeterlidir. Genellikle dosya adlandırması YYYY-MM-DD-slug.md
biçiminde olmalıdır.
Örneğin, 2024-06-06-my-first-post.md
dosyasını hazırlayın:
---
title: "İlk Blog Yazım"
date: 2024-06-06
tags: [Eğitim, Sculpin, ServBay]
---
# İlk Blog Yazım
Bu, Sculpin blogum için hazırladığım ilk yazı. Burada ServBay ve Sculpin ile ilgili deneyimlerimi paylaşıyorum.
İçeriğinizi burada Markdown formatında yazabilirsiniz.
## Alt Başlık
Liste:
- Madde 1
- Madde 2
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Dosyayı kaydettikten sonra, terminalde sculpin generate --watch
komutunu çalıştırıyorsanız Sculpin değişikliği algılar ve siteyi otomatik yeniler. Tarayıcıda https://servbay-sculpin.local
adresini yenilediğinizde yazınız görünür.
Yeni Sayfa Ekleme
Bağımsız bir sayfa (örneğin “Hakkımızda”) eklemek için, doğrudan source
dizininde bir Markdown dosyası oluşturun; örneğin about.md
:
---
title: "Hakkımızda"
layout: page.html.twig # Kullanılacak şablon dosyası
---
# ServBay Sculpin Rehberi Hakkında
Bu sayfa, ServBay ve Sculpin ile statik site geliştirmenin detaylarını anlatır.
2
3
4
5
6
7
8
Dosyayı kaydedince Sculpin, output_dev/about/index.html
dosyasını oluşturur (eğer güzel URL’ler ayarlıysa). Bu sayfayı https://servbay-sculpin.local/about/
adresinden görebilirsiniz.
Özel Stil ve Script Ekleme
Statik kaynaklarınız (örn. CSS ve JavaScript dosyaları) genellikle source/assets
klasöründe tutulur. Bu dosyaları doğrudan düzenleyebilirsiniz.
Örneğin, source/assets/css/style.css
dosyasını değiştirerek sitenizin stilini güncelleyebilirsiniz.
Bu kaynaklar site oluşturulurken çıktı dizinine kopyalanır. Dosyalarda değişiklik yaptığınızda Sculpin’in --watch
özelliği bunları algılar ve siteyi tekrar oluşturur.
Üretim Ortamı İçin Site Oluşturmak
Site geliştirmesi bittikten sonra, canlı ortama aktarılacak optimize bir versiyon inşa etmelisiniz. Üretim build’i kaynakları sıkıştırma gibi ek iyileştirmeler içerir.
Aşağıdaki komutu kullanarak üretim ortamı için yapı oluşturun:
vendor/bin/sculpin generate --env=prod
Bu komut, oluşturulan statik dosyaları output_prod
dizinine çıkarır. Tüm bu dosyaları dilediğiniz bir statik site barındırıcısına (GitHub Pages, Netlify, Vercel veya kendi web sunucunuz) yükleyip yayınlayabilirsiniz.
Üretim çıktısını ServBay üzerinden incelemek için, ServBay’de web sitesi kök dizinini /Applications/ServBay/www/servbay-sculpin-app/output_prod
olarak değiştirip kaydedin, sonra ilgili alan adını ziyaret edin.
Dikkat Edilmesi Gerekenler
- ServBay’in çalıştığından ve site yapılandırmanızın etkin olduğundan emin olun.
- Terminalde
sculpin generate --watch
komutunun çalışır durumda olması, geliştirme sırasında sitenizin otomatik güncellenmesi için gereklidir. - ServBay site ayarlarında "web sitesi kök dizini"nin Sculpin’in çıktı klasörüne (geliştirme için genellikle
output_dev
) doğru şekilde işaret ettiğini kontrol edin. - ServBay,
.local
alan adlarına otomatik SSL sertifikası sağlar; ancak bunu kullanabilmek için işletim sisteminizin “ServBay User CA”yı güvenilir olarak tanıması gerekir. Bunun için ServBay dökümantasyonuna göz atabilirsiniz.
Sıkça Sorulan Sorular (SSS)
S: Dosya değiştirdim ama sitemde güncellenmiyor, neden?
C: Proje klasöründe vendor/bin/sculpin generate --watch
komutunun çalıştığından ve bir hata nedeniyle kesintiye uğramadığından emin olun. Terminalde hata mesajı var mı diye bakın. Ayrıca tarayıcıda önbelleği temizleyin veya gizli mod deneyin.
S: https://servbay-sculpin.local
adresine giderken SSL uyarısı alıyorum. Ne yapmalıyım?
C: ServBay, .local
alanları için kendinden imzalı sertifika üretir ve bunun için işletim sisteminizin ServBay User CA’yı güvenli olarak tanıması gerekir. Lütfen ServBay dokümantasyonundaki ilgili adımları izleyerek CA sertifikasını yükleyin ve güvenin.
S: PHP sürümünü nasıl değiştirebilirim?
C: ServBay uygulamasındaki "Paketler" (veya "Yazılımlar") sekmesinden farklı PHP sürümlerini yükleyebilir ve yönetebilirsiniz. Daha sonra "Web Siteleri" sekmesindeki site ayarlarınızı düzenleyip istediğiniz PHP sürümünü seçip kaydedin.
S: Sculpin hangi şablon motorlarını ve işaretleme dillerini destekler?
C: Sculpin standart olarak Twig şablon motorunu kullanır ve içerik üretimi için yaygın şekilde Markdown’u destekler.
Sonuç
ServBay’in entegre ortamı sayesinde, macOS üzerinde Sculpin statik site üreticisini kurmak ve yapılandırmak oldukça kolaydır. ServBay’in önceden kurulmuş PHP-Composer desteği, kolayca ayarlanabilen web sunucu ayarları ve otomatik SSL özelliği, Sculpin ile yerel geliştirme için sağlam bir temel sunar. Bu rehberi takip ederek Sculpin geliştirme ortamınızı hızla kurabilir ve statik site projelerinizi etkin bir şekilde oluşturup önizleyebilirsiniz. Sculpin’in esnekliğini ve ServBay’in kolaylığını birleştirerek, karmaşık yerel geliştirme ayarlarına zaman harcamadan kaliteli içerikler üretmeye odaklanabilirsiniz.