Craft CMS ve Craft Commerce

WordPress, Grav, Prestashop ve Ghost ile ilgili yazıların ardından bahsedeceğim son uygulama anlatımına geldi; Craft CMS1. Solo ve Pro kullanımlar altında ücretsiz ve yıllık ücretle kullanılabilen ve elbette bu üyelik türleri2 arasında farklılı özellikler gösteren (kullanıcı hesapları, özelleştirme, geliştirici desteği vb.) uygulamanın Solo kullanım için indirilebilir Craft 2 olmak üzere3 iki dağıtımı bulunmakta. Açık kaynaklı olarak geliştirilen Solo4 uygulama ile ilgili detaylara Features sayfasından ulaşabilirsiniz5.

Craft CMS

Craft CMS

Craft, geliştiriciler ve içerik yöneticileri için içerik yönetimini daha eğlenceli hale getirmeyi hedefleyen CMS olarak kendisini ifade etmekte. İçerik yöneticilerinin yazım süreçlerini daha kontrollü hale getirirken, geliştiricilere de hem içerik modelleme hem de front-end açısından yüksek düzeyde esneklik sunabiliyor. Yii Framework üzerine kurulmuş6 bir self-hosted PHP uygulaması olan Craft kendi eklentilerinizi yazmayı istemediğiniz sürece PHP ve Yii bilgisi gerektirmemekte. İlk betası (private) 2012, versiyon 1 ise 2013 yılında yayınlanan Craft’ın asıl işlevselliğini ve buna bağlı olarak bilinirliğini 2014 yılında yayınlanan versiyon 2 ile kazandığını söyleyebiliriz7. Craft 3 ise Craft 2 dağıtımına paralel olarak yenilenmiş pek çok özellik ile ayrı bir dağıtım olarak kullanıcılara sunulmakta8. Bu dağıtım için 2015 yılında çalışmalara başlayan Craft ekibi Craft 3.0’ün merkezinde özellikle Yii 2 ve kontrol paneli olduğunu belirtmekte9. Craft 3 ile birlikte kullanıcılara sunulan, öne çıkan özelliklere kısaca göz atalım10 5;

  • Multi-Site
  • Image Editor
  • Asset Preview
  • Debug Toolbar
  • Element Queries
  • PostgreSQL
  • Plugin Store

Craft CMS Kurulum Gereksinimleri

Craft’ın teknik gereksinimleri hakkında daha fazla bilgi için Requirements sayfasını inceleyebilirsiniz11. Temel gereksinimlere kısaca değinmek gerekirse;

Server Gereksinimleri

  • PHP 7.0+
  • MySQL 5.5+ (InnoDB veya MariaDB 5.5+ ile) ya da PostgreSQL 9.5+
  • Web server (Apache, Nginx, IIS)
  • PHP için ayrılmış en az 256MB bellek
  • En az 200MB disk alanı

PHP Gereksinimleri

Craft Commerce ise Craft CMS üzerinde kullanılabilen bir e-commerce eklentisi12. Craft Commerce13 ise yine Craft 214 ve Craft 315 için ayrı eklentiler olarak ve ücretli/ücretsiz olarak kullanılabilmekte. Temel Craft CMS gereksinimleri elbette Craft Commerce için de geçerli16. Ek olarak, Craft Nitro ile de geliştirme ortamı sağlayabilirsiniz.

Craft CMS Kurulumu

Craft CMS Softaculous ve benzeri hızlı kurulum uygulamalarında yer almamakta. Bu nedenle yükleme işlemi el yordamıyla gerçekleştirilmek durumunda. Yine DigitalOcean hazır imajları arasında da bulunmamakta. Kurulum işleminde LAMP stack droplet üzerinden ilerleyeceğim17. Kurulum için Composer ve doğrudan zip paketi üzerinden de ilerlemek mümkün18. Release edilen sürümleri Github hesabı üzerinden takip edebilirsiniz19. Ayrıca Installation sayfasından da son sürüme ulaşabilirsiniz. Öncelikle sunucumuza SSH bağlantısı gerçekleştirelim.

ssh root@[sunucu-ip-adresi]

Bağlantının ardından /var/www/html/ içeriğinde yer alan index.html dosyasını silelim. Aksi durumda kurulum aşamasında hata almamız neden olacaktır.

rm /var/www/html/*

Kurulum aşamasında kullanabilmemiz için veritabanı ve kullanıcımızı oluşturalım. Elbette root kullanıcısı üzerinden de ilerleyebilirsiniz, bu durumda yeni bir tablo oluşturmanız yeterli olacaktır. Elbette öncesinde root kullanıcısına ait şifreyi edinmemiz gerekmekte.

cat ~/.digit*
mysql -u root -p
create database if not exists [veritabani-adi];
create user '[kullanici-adi]'@'localhost' identified by '[veritabani-sifresi]';
grant usage on *.* to '[kullanici-adi]'@'localhost' identified by '[veritabani-sifresi]';
grant all privileges on [veritabani-adi].* to '[kullanici-adi]'@'localhost';
flush privileges;
show databases;
exit;

MySQL servisini yeniden başlatalım.

service mysql restart

Sunucumuzdaki paketleri güncelleyelim ve Craft tarafından ihtiyaç duyulan paketleri yükleyelim.

apt update
apt install composer php7.2-zip php7.2-curl php7.2-mbstring php7.2-xml
a2enmod rewrite
apt upgrade

php.ini içeriğinde mbstring satırını aktifleştirelim.

nano /etc/php/7.2/apache2/php.ini

Apache servisini yeniden başlatalım.

service apache2 restart

Kurulum yaptığınız yolda değişiklik yapmışsanız bu işlemi .conf üzerinden de tanımlamalısınız.

nano /etc/apache2/sites-available/000-default.conf
service apache2 restart

Artık composer ile craft kurulumunu başlatabiliriz.

chown -R www-data:www-data /var/www
chmod -R 777 /var/www/html/*
composer create-project craftcms/craft /var/www/html/
cd /var/www/html
Craft CMS Command Line

Craft CMS işlemlerimiz tamam. Artık site yapılandırma işlemine başlayabiliriz3. Bu işlem için craft setup komutunu kullanabilirsiniz.

./craft setup
Craft CMS Kurulumu

El yordamı ile dosya üzerinden bilgileri tanımlamak ya da index.php/admin/install URL’i üzerinden ilerlemek de mümkün.

İzinleri yeniden düzenleyelim3. Bu amaçla find komutundan faydalanabiliriz.

find . -type d -exec chmod 0755 {} \;
find . -type f -exec chmod 0644 {} \;
Craft CMS Dashboard

Bu aşamda sizden MySQL, kullanıcı ve site bilgileri istenecek. Oluşturduğunuz MySQL veritabanı bilgilerini girerek kurulum ve yapılandırma sürecini tamamlayabilirsiniz. İşlemlerin tamamlanmasının ardından Dashboard‘a yönlendirildiğinizde süreç tamamlanmış olacaktır20.

Craft Commerce Kurulumu

Kurulum işlemi Plugin Store altından kolaylıkla yürütülebilir3. Plugin Store > E-commerce altından yayınlanan son sürüme ulaşabilirsiniz. Bu kurulum Commerce üzerinden yürütülecektir12. Composer aracılığıyla yükleme işlemi yapmak için ise şu adımları izlemeniz yeterli;

composer require craftcms/commerce
composer update

Kurulum commerce ve templates klasörlerini barındırmakta. Bu indirilebilir içeriğe ayrıca CraftCommerce.com21 ve Github Releases22 üzerinden de ulaşmak mümkün.