Grav Nedir? Nasıl Kurulur?
Arayüz tasarımı ve geliştirme süreçlerinde artık çok farklı diller, geliştirme ortamları mevcut ve WordPress gibi yoğun bir kullanıma ve geniş bir ekosisteme sahip bir uygulamanın hızlı dönüşüm geçirmesini beklemek veya böyle bir gereksinime ihtiyaç duyacağını düşünmek yanlış olacaktır.
Tabi bu hem şahsi yorumum. Artık eskisi kadar sınırlı seçenek ve teknik bilgi gereksinimi de söz konusu olmadığı için memnun olmadığınız bir sistemden bir diğerine birkaç dakika içerisinde de geçebilmenin de rahatlığı söz konusu. Bu ve sonraki birkaç yazıda, en azından fikir sahibi olmanızda yarar olacağını düşündüğüm blog yapılarına değineceğim. İlk yazının konusu; Grav.
Grav: Çalışma Prensibi
GRAV, veritabansız çalışan ve oldukça basit kullanıma sahip, PHP tabanlı bir içerik yönetim sistemi. getgrav.org adresinden hızlıca indirebilirsiniz1. Hatta macOS X kullanıcılarına sistemi deneyebilecekleri hızlı bir erişim imkanını da macOS X Üzerinde Kurulumsuz PHP Çalıştırmak başlığı altında anlattım, göz atabilirsiniz.
Evet, herhangi bir veritabanı gereksinimi olmaksızın çalışan Grav kendisini dosya tabanlı web platformu olarak tanımlıyor. Yani WordPress gibi içerik yönetim uygulamalarından aşina olduğumuz MySQL gibi veri tabanı oluşturma ve yönetme gibi ihtiyaçlar söz konusu olmamakta, bunun yerine veriler metin dosyaları halinde yönetilebilmekte. Bu sayede kurulumu istediğiniz dizinlere ve/veya farklı barındırma (hosting) alanlarına, ufak düzenlemeler yapmak şartıyla (dosya izinleri gibi) kolaylıkla taşıyabiliriz. Farklı tasarım yapılarını da kullanma imkanı sunan Grav indirdiğiniz dosya üzerinden hemen kullanılabilirlik vaadediyor. Mimarisini tamamen alanının en iyi örnekleri üzeri inşaa edilen platformda yer alan teknolojilere değinmek gerekirse;
- Twig Templating: Symphony’den bilenler olacaktır. Şahane bir şablon motoru.
- Markdown: Kolayca içerik üretebilmenizi sağlar.
- YAML: Basit konfigürasyon düzenlemelerine imkan sağlar.
- Parsedown2: Markdown ve Markdown Extra özelliklerine erişim sağlar.
- Doctrine Cache: Performans düzenlemelerini gerçekleştirir.
- Pimple Dependency Injection Container3: Bakım ve geliştirme aşamalarında yardımcınız olur.
- Symfony Event Dispatcher4: Plugin etkileşimlerini yürütür.
- Symfony Console5: Command-line arayüzü
- Gregwar Image Library6: Görsel düzenleme kütüphanesi.
Sistem davranışları, formlar ve içerik özellikleri YAML dosyaları / satırları ile belirlenebiliyor. Bu sayede kod yazma gereksinimi miminumda tutulmuş oluyor. Twig yazım biçimine aşina iseniz kolaylıkla temalar oluşturabiliyorsunuz.
Halihazırda Twig sayesinde gönlümü fetheden Grav’i kullanabilmek için ise temelde bir webserver’a (Apache, Nginx, LiteSpeed, Lightly, IIS vs.) ve PHP 5.5.9 üzeri betik diline ihtiyacınız bulunmakta. Evet, hepsi bu kadar. Eğer macOS X kullanıcısıysanız ve kullandığınız sistem OS X 10.9 Mavericks ve üzeriyse halihazırda sisteminizde yer alan Apache Web server ve PHP 5.5 işinizi fazlasıyla görecektir. Diğer yandan macOS X için MAMP/MAMP Pro, Windows altında XAMPP, EasyPHP, MAMP, ISS gibi sanal sunucu uygulamalarından birine sahipseniz zaten ne yapacağınızı biliyorsunuz.
Apache Düzenlemeleri
Çoğu Apache dağıtımı bir çok gereksinimiz karşılayacak ayarlamalarla sunulsa da en azından bilginiz olması için mod_rewrite
ve mod_ssl
modüllerinin kurulu, .htaccess‘in sağlıklı bir şekilde görevini yerine getirebilmesi için <VirtualHost>
<Directory>
altında AllowOverride All
tanımlı olup olmadığını kontrol edebilirsiniz. Kurulumda yaşayabileceğiniz herhangi bir sorun için Temel Gereksinimler sayfasını inceleyebilirsiniz7.
Hızlı ve kolay kurulumu ve database (MySQL gibi) gereksinimi taşımaması sayesinde bir çok teknik işlemden sizi kurtaran Grav’ı peki nasıl kuracaksınız?
Grav ve Grav + Admin olmak üzere iki paket halinde sunuluyor. Kurulum sonrasında kolaylıkla diğer pakete geçiş yapabilmeniz mümkün. Sıkıştırılmış (*.zip
) klasörü açıp ftp ile görüntülenmesini istediğiniz dizin altına dosyaları atarak kullanıma başlayabilirsiniz. Ayrıca, Windows 10+ işletim sistemi ortamındaki kurulumlar için ise Windows Ortamında Grav Kurulumu başlıklı yazıya göz atabilirsiniz.
Bir diğer yükleme biçimi ve benim de tavsiyem Composer kullanımı8. macOS X kullanıcısıysanız, ilerleyen günlerde terminal üzerinden işinizi kolaylaştıracak bir çok pratik bilgi paylaşacağım için websayfamı sık kullanılanlarınıza eklemenizi tavsiye ederim. Terminal’i açtıysanız sırasıyla:
cd ~/yukleme-yapacaginiz-dizin
git clone -b master https://github.com/getgrav/grav.git
composer install --no-dev -o
Temel kurulumları yaptık, sırada eklenti ve tema paketlerini yüklemekte.
cd ~/webroot/grav
bin/grav install
İlk kurulumda hazır olarak eklenen yazı şöyle:
Grav + Admin kurulumunu standart paketten ayıran özellik içerikleri yönetim paneli üzerinden oluşturabiliyor ve düzenleyebiliyor olmanız. Ancak, Grav paketi üzerinden, doğrudan dosya kontrolü yaparak da istediğiniz şekilde ve hiçbir zorluk yaşamadan içerik üretebileceğinizi bilmelisiniz. Admin kurulumu ardından domain.com/kurulum-yapacaginiz-dizin/admin üzerinden yönetim paneline erişebilirsiniz.
Standart paket kurulumunda ise içeriklerinizi user/pages/ dizini altında oluşturuyorsunuz.
---
title: Yeni Bir Yazı
---
# Merhaba Dünya!
Bu **Grav** kullanarak yayınladığım _ilk_ blog postum.
Yukarıdaki içeriği 02.hakkimda altında default.md olarak kayıt edelim. Yani, yazının yer aldığı dizin şu şekilde olacak: user/pages/02.hakkimda/ default.md
.
Evet, hepsi bu. Sayfayı yenilediğinizde gördüğünüz üzere geri kalan tüm işlemi Grav hızlıca gerçekleştirdi. Eklenti ve tema kurulumları da yine aynı kolaylıkla gerçekleştirebilirsiniz. Antimatter ön tanımlı olarak kurulumla birlikte geliyor. Diğer temalara yine admin panel üzerinden (Admin > Themes > Install) kolaylıkla ulaşabilir ve yükleme yapabilirsiniz. Yine admin kurulunda temel eklentiler de hazır olarak sunulmakta ve yeni eklentileri hızlıca ilgili sayfadan edinebilirsiniz.
Kurulum ve sonrasına dair herhangi bir sorunuz olursa yorum olarak paylaşabilirsiniz. Gelelim OS X 10.9 Mavericks ve üzeri macOS X sahibi kullanıcıların hızlıca Grav deneyimi yaşamalarını sağlayacak pratik yönteme.
Localhost Altında Grav Kurulumu
Öncelikle kontrol etmemiz gereken birkaç husus var. Bunlardan ilki bilgisayarımızdaki php sürümü. Komut satırına aşağıdaki komutu yazdığınızda alacağınız cevap en azından 5.5.9 üzeri php kurulumuna sahip olduğunuz yönünde olmalı.
php -v
Benim aldığım yanıt şöyle:
PHP 5.6.30 (cli) (built: Feb 7 2017 16:18:37)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
Bu aşamadan sonra artık sanal sunucumuzu başlatabiliriz.
php -S 127.0.0.1:8888 system/router.php
Yukarıdaki komut vasıtası ile terminal üzerinden php [options] -S : [-t docroot]
bilgisini vererek sanal sunucumuzu localhost:8888
ile erişilebilir kılıyoruz. Komut ardından size Grav dosyalarını nereye yüklemeniz gerektiğini gösteren bir dizin bilgisini görüntüleyeceksiniz. Komut sonrasında benim aldığım yanıt şu şekilde:
PHP 5.6.30 Development Server started at Mon Jun 19 22:04:30 2017
Listening on https://localhost:8888
Document root is /Users/username
Umarım işinize yarayan bir yazı olmuştur ve şimdiden yayınlayacağınız içerikleri düşünmeye, planlamaya başlamışsınızdır. Grav ile ilgili kişisel deneyimlerimi ve önerilerimi Grav kategorisi aracılığı ile takip edebilirsiniz.