Neden PrestaShop’u Seçmeliyiz ?

 

Yıllar içerisinde denk geldiğim, sürecinde bulunduğum e-ticaret projelerinde gözlemlediğim, projenin hayata geçirilmesindeki ilk büyük engelin uzun vadede potansiyel gereksinimlerin ve zamana bağlı olarak hedeflerin net olarak belirlenmemiş olması. Bu anlamda kendi sistemlerini geliştiren markaların yanı sıra planlanan satış ve ürün ölçeğine bağlı olarak hazır platform kullananların da önceliği dönemsel olarak ne istediklerine karar vermeleri olmalı. Günün sonunda sıfırdan yazılmış bir yapının maliyeti ve gerektireceği zaman çok daha efektif bir amaç için değerlendirilebilir. Diğer yandan, hazır bir e-ticaret paketi başlangıç sürecinde isteklere cevap verebilirken uzun vadede daha büyük problemler ortaya çıkarabilir (ücretli modüller, geliştirmelerde kısıtlamalar, üçüncü parti uygulamalar üzerinden bağımlılık vb.). Elbette hazır e-ticaret platformlarını/paketlerini değerlendirirken daha kapsamlı bir analiz yapmak uygun olacaktır.

Piyasada kullanılan WoocommerceMagentoOpencartPrestashop gibi açık kaynak uygulamaların yanı sıra ShopifyBigCartelSquarespace gibi sabit ücret üzerinden gereksinimlerin karşılanabileceği platformlar da oldukça etkili sonuçlar ortaya çıkarabilmekte. Ancak, belirttiğim gibi uzun vadede gereksinimlerin net olarak belirlenmiş olması karar aşamasının kilit noktasını oluşturmakta. Aksi durumda sürekli platformlar arasında geçiş yapmakteknik sorunlarla uğraşmak ve her platform için geliştirme/tasarım/modül vb. ödemelerle hem bütçe hem de zaman idaresinde sorunlar yaşayabilirsiniz. Unutmayın, bu tür sistemlerdeki sorunların büyük kısmı kullanıcı kaynaklıdır. Bu tür platformlar geliştirilirken belirli bir iş planı dahilinde odaklandıkları sorunlar ve çözümler, buna bağlı olarak hedef kitleleri analiz edilir. Dolayısıyla, halihazırda ihtiyaçlara en uygun cevabı veren platform günün sonunda daha az sorunla karşılaşmanızı sağlayacak ve böylelikle daha hızlı yol katedebilmenizi mümkün kılacaktır. Elbette bu yazısının konusu uygun platform seçiminden ziyade, platformlarla ilgili bir yazı serisine başlangıç olarak PrestaShop hakkında kısa bir bilgi vermek.

PrestaShop Nedir?

PrestaShop, açık kaynak kodlu olarak dağıtılan, sahip olduğu komünite ile partnerlik yürüten, ücretsiz bir e-ticaret yazılımıdır. phpOpenStore adı altında bir öğrenci projesi olarak (EPITECHPHP/MySQL kullanan, İngilizce ve Fransızca dil desteğiyle hayata geçirilen PrestaShop, geçen süre içerisinde Avrupa’nın en hızlı büyüyen şirketleri arasına girmiş, 2016 yılında CMS Critic Award for Best eCommerce Software ödülünü almış ve 60 farklı dil desteğine kavuşmuş durumda. 250.000+’dan fazla e-ticaret girişiminde kullanılan PrestaShop alternatif sistemlerle kıyaslandığında daha hızlı ve kolay bir kuruluma, özelleştirilebilir yapıya ve ulaşılabilir desteğe sahip oluşuyla daha hızlı bir büyüme eğilimi göstermekte. demo.prestashop.com adresi üzerinden demo kullanımı gerçekleştirebileceğiniz sistem ön yüzde kontrolü ve ürün yönetiminde mümkün olduğu kadar basit ve etkili bir kullanıcı deneyimini hedeflemekte. Symfony PHP framework ile geliştirilen, yönetim paneli arayüzünde Bootstrap kullanan, PSR-2 kod standartlarında kodlanan sistem geliştiriciler ve ajanslar için de oldukça elverişli bir yapı sunmakta. Sahip olduğu modül ve tasarım marketinde bir çok farklı özellikte alternatifin yer aldığı PrestaShop, sahip olduğu komuniteyi büyütmek için sosyal etkileşim ortamlarını da desteklemekte. Bir çok farklı ödeme sistemiyle entegre olabilen, müşteri ve ürün özelleştirmeleri/geliştirmeleriyle uzun vadede ortaya çıkabilecek gereksinimlere kolaylıkla cevap verebilen modüler yapısı teknik gereksinimler dışında da çözümler üretilebilmesine olanak sağlamakta.

 

PrestaShop Tema ve Modüllerini Nerden Bulabilirim?

PrestaShop öncelikli ve yönetim paneline entegre olarak kendine ait addon alanından modülarayüz ve servisler sunmakta. Ek olarak ThemeForest gibi tasarım ve geliştirme platformlarından da faydalabilirsiniz. Bu tür kullanımlarda lisans konusuna ayrıca dikkat etmelisiniz. Platform içerisinden indireceğiniz uygulamalar çoğunukla tek bir site için kullanılabilmekte. Eğer birden fazla kullanım gereksinimi söz konusuysa toplu lisans imkanı sunan tercihleri değerlendirmeniz yararınıza olacaktır.

PrestaShop Sanal Post Modülleri

PayU ve iyzico modüllerini ücretsiz bir şekilde 1.6 ve 1.7 için kullanabilirsiniz. Bunun yanı sıra, yaygın ödeme alt yapılarına ait modüller de platform içerisinden ücretli veya ücretsiz olarak entegre edilebilmekte.

PrestaShop Türkçe Döküman Desteği ve Topluluk

Doğrudan desteklediği 50+ dilin yanı sıra artan bir döküman yoğunluğu da mevcut olan PrestaShop forum yapısı içerisinde bir çok dil için doğrudan içerik alanına sahip. Türkçe destek alınabilecek başlıkların yanı sıra yine blog içerikleri olarak da yoğunlukla karşılaşılan konularda içerikler üretilerek komunite desteklenmekte. Diğer yandan uzman edinimi konusunda web ajansları ve pazarlama ajanslarımodül geliştiricilerpartnerliktemsilcilik gibi bir çok doğrudan destek kanalına da yönlendirmeler mevcut.

PrestaShop Nasıl Kurulur?

PrestaShop, PHP, Apache/Nginx kurulu herhangi bir Linux dağıtımına, sanal sunucuya kolaylıkla kurabilirsiniz. Örnekte 1.7 sürümlü PrestaShop kurulum için DigitalOcean LAMP paketi üzerinden anlatımda bulunacağım.

Sistem Gereksinimleri

  • PHP 5.4 veya üzeri
  • MySQL 5.0 veya üzeri
  • Apache Web Server 2.0 veya üzeri (mod_rewrite enabled, mod_security disabled, mod_auth_basic disabled) ya da nginx Web Server.
  • En az 128 Mb RAM (memory_limit)ve 16M ve üzeri upload_max_filesize

Gandi, NamecheapGoDaddy1&1 gibi hazır kurulum imkanı sunan firmalardan da faydalanmanız mümkün.

Standart Kurulum İşlemleri

LAMP server kurulumunu ardından yükleme adımlarına geçebiliriz. PrestaShop Download sayfasından 1.7 sürümü indirerek başlayalım. SSH bağlantısı üzerinden server erişimi sağlayıp wget ile *.zip uzantılı dosyası indirelim ve unzip ile açalım. Bu *.zip dosyası içerisinde kurulumla ilgili bilgilerin olduğu birkaç dosya ve PrestaShop kodlarının olduğu bir diğer *.zip arşivi bulunmakta. Aynı şekilde unzip komutu ile arşivi açıp devam edebiliriz. Server ip adresini tarayıcımızda açtığımızda kurulum bizi /install yolu altındaki kurulum işlemlerine yönlendirecek. Muhtemelen karşılaşacağımız ilk ekran server ayarlarıyla ilgili olarak SimpleXML extension ve zip extension erişimlerinin sağlanamadığına dair olacak. Hemen gerekli kurulumlarımızı gerçekleştirelim ve web sunucusunu yeniden başlatalım.

apt install php7.0-zip php7.0-xml
service apache2 restart

Sayfayı yenilediğimizde 6 adımdan oluşan Kurulum Asistanı (Installation Assistant) ile karşılaşacağız.

Dil seçimimizi yapıp Next butonu ile Lisans Sözleşmesi‘ni görüntüleyeceğiz. Sözleşmeyi kabul edip Next butonunu tıkladığımızda 3. adım olarak sistem yeterliliğiyle ilgili bilgilendirmeler listelenecek.

PHP cURL kütüphanesinin yüklenmesi, Apache mod_rewrite modülünün aktifleştirilmesi ve yazma izinlerinin yapılandırılmasıyla ilgili bildirimlerinin yer aldığı sayfadaki yönergelere uygun işlemleri gerçekleştirelim.

PHP cURL Kütüphanesinin Yüklenmesi

Sunucuda cURL aktifleştirilmemiş durumda olduğu için yapılandırılması gerekiyor. php.ini içerisinde, pasif durumda olan ;extension=php_curl.dll satırını bulup baştaki noktalı virgülü (“;”) kaldıralım ve dosyayı kaydedip çıkalım.

 

nano /etc/php/7.0/apache2/php.ini

Ardından php7.0-curl indirip web sunucusunu yeniden başlatalım.

sudo apt-get install php7.0-curl

Apache mod_rewrite modülünü aktifleştirelim.

a2enmod rewrite

Sunuyu yeniden başlatalım.

sudo /etc/init.d/apache2 restart

Yazma izinlerini tanımlayalım (güvenlik için, kurulum işlemi ardından klasörler için 775, dosyalar için 664 ile yeniden yapılandırmayı unutmamalısınız)

chmod -R 777 config img mails modules translations upload download app/config

Next butonunu tıkladığımızda artık yayınlanacak olan e-ticaret sitemizle ilgili hesap bilgilerini girmeye başlayabiliriz.

Next butonunu tıkladığımızda veritabanı erişim bilgilerini girmemiz istenecek. Komut sayısı üzerinden mysql bağlantısı gerçekleştirerek veritabanı oluşturalım. cat ile mysql root kullanıcısına ait şifremizi ekrana dökelim ve mysql erişim isteğini iletelim.

cat /root/.digital*
mysql -u root -p

Ekrana döktüğümüz şifreyi girerek mysql erişimimizi sağlamış olacağız. Örnek olarak, aşağıdaki kod ile veritabani isimli bir veritabanı oluşturuluyor.

create database veritabani;

İsterseniz root kullanıcı üzerinden, kullanıcıya ait şifreyi PrestaShop veritabanı alanına girip ilerleyebilirsiniz. Ben ihtiyaç olması durumuna istinaden bir kullanıcı daha oluşturup yetki atayarak PrestaShop dükkanını bu kullanıcı üzerinden yapılandıracağım.

CREATE USER 'dukkansahibi'@'localhost' IDENTIFIED BY 'mysql-dukkansahibi-sifresi';
GRANT ALL PRIVILEGES ON * . * TO 'dukkansahibi'@'localhost';
FLUSH PRIVILEGES;

dukkansahibi isimli bir kullanıcı yaratıp şifre olarak mysql-dukkansahibi-sifresi atıyorum. Elbette bu alanları kendinize göre düzenlemeyi unutmamalısınız. Yetkilendirmeleri tanımlayarak işlemi sonlandırıyorum. Artık bu bilgileri PrestaShop mysql erişimi için kullanabilirim.

Bilgileri girdikten sonra bir test bağlantısı isteği gönderiyorum. Veritabanı erişim bilgilerinde herhangi bir yanlışlık yoksa bağlantının sağlandığı geri bildirimini alıp Next butonunu tıklayarak kurulum işlemini başlatabiliriz. birkaç dakikalık bir kurulum sürecinin ardından kurulumun başında belirttiğiniz e-posta adresi ve şifrenizle ilişkilendirilecek şekilde süreç tamamlanmış olacak. Bu sayfa üzerinden Front Office (dükkan) ve Back Office (yönetici ekranı) olarak adlandırılan müşteri ekranlarına verilmiş linkleri göreceksiniz. Tıkladığınızda 500 hatası ve /install klasörüyle ilgili bir bildirim göreceksiniz. Komut satırı üzerinden /install klasörünü silelim.

rm -rf install

 

Opsiyonel olarak /docs klasörünü ve README.md dosyasını da silebilirsiniz. Bu işlem sonrasında HTTP ERROR 500 hatası almaya devam ediyor olmanız muhtemel. Hatanın detayları için defines.inc.php dökümanını görüntüleyip _PS_MODE_DEV için atanan değeri true olarak değiştirmemiz gerekiyor.

nano /var/www/html/config/defines.inc.php

Debug aktivasyonu sonucu sayfayı dükkan sayfasını yenilediğimizde 500 hatasının /var/www/html/themes/classic/assets/cache/ erişimiyle ilgili olduğunu görüyoruz. /cache klasörü oluşturup yazma izni vererek hatayı ortadan kaldıralım.

mkdir /var/www/html/themes/classic/assets/cache/
chmod -R 777 /var/www/html/themes/classic/assets/cache/

İşlem ardından dosya izinlerini yeniden yapılandırmayı unutmamalısınız ve evet dükkanımız artık yayında.