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, 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
- ctype
- cURL
- GD ya da ImageMagick. (ImageMagick önerilir)
- iconv
- JSON
- Multibyte String
- OpenSSL
- PCRE
- PDO
- PDO MySQL Driver ya da PDO PostgreSQL Driver
- Reflection
- SPL
- Zip
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 işlemlerimiz tamam. Artık site yapılandırma işlemine başlayabiliriz3. Bu işlem için craft setup
komutunu kullanabilirsiniz.
./craft setup
El yordamı ile dosya üzerinden bilgileri tanımlamak ya da index.php/admin/install
URL’i üzerinden ilerlemek de mümkün.
Kurulum işlemi için: http://[sunucu-ip-adresi-domain]/web/index.php/admin/install
İzinleri yeniden düzenleyelim3. Bu amaçla find komutundan faydalanabiliriz.
find . -type d -exec chmod 0755 {} \;
find . -type f -exec chmod 0644 {} \;
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.
- Craft CMS ↩
- Craft CMS Pricing ↩
- Installation. Craft Documentation ↩ ↩ ↩ ↩
- craftcms/cms. GitHub ↩
- Craft CMS Features ↩ ↩
- Yii Framework ↩
- craftcms/cms. Changelog. GitHub ↩
- the Craft Team. (2018). Craft 3.1 Dev Preview is Here. Craft CMS ↩
- Pixel and Tonic ↩
- the Craft Team. (2018). Craft 3 ↩
- Requirements. Craft Documentation ↩
- the Craft Team. (2020). Commerce 3.2 Released ↩ ↩
- Craft Commerce ↩
- One-click Updating. Craft Documentation ↩
- Installation. Craft Documentation ↩
- About Craft Commerce. Craft Documentation ↩
- Etel Sverdlov. (2012). How To Install Linux, Apache, MySQL, PHP (LAMP) stack on Ubuntu. DigitalOcean Community ↩
- Composer. A Dependency Manager for PHP ↩
- Releases. craftcms/cms. GitHub ↩
- Eugene Fedorenko. (2015). Deploying Craft CMS to DigitalOcean. Deploybot Guides ↩
- Craft Commerce ↩
- craftcms/commerce. Releases. GitHub ↩