Kıbrıs ın kuzeyinde Sürdürülebilir Ekonomik Kalkınma ve Bilişim Sektör Programı EuropeAid/127043/C/SER/CY JOOMLA ile ECOMMERCE WEB SİTESİ GELİŞTİRME Bilişim Derneği KTMMOB Bilgisayar Mühendisleri Odası Eğitim Merkezi, Mustafa Ruso Cd. Muhtar Yusuf Galeria Kat. 2, No: 204a, Yenişehir, Lefkoşa 01 06 Ağustos 2013
JOOMLA ile ECOMMERCE WEB SİTESİ GELİŞTİRME EĞİTİMİ Hazırlayan: Hüseyin GÜNEY Bilgisayar Yüksek Mühendisi, Eğitmen, Yazılım Uzmanı, Microsoft Certified IT Professional (MCITP), HP Certified Professional 03.11.2014 2
Eğitim İçeriği Web Teknolojileri Genel Tanımlar CMS, JOOMLA ve VIRTUEMART JOOMLA ile Web Sayfası Kurulumu ve Konfigürasyonu JOOMLA Ecommerce Bileşeni VirtueMart Kurulumu ve Konfigürasyonu 03.11.2014 3
DAY 1 TEORİK SUNUM Web sitesi ve Temel web teknolojilerinin anlamları Joomla, Joomla sürümleri ve Eklentilerinin anlam ve özellikleri Joomla nın Avantajları Virtuemart ın anlamı ve özellikleri 03.11.2014 4
Web Server ve Client İletişimi Nasıl Sağlanır? Web Sitesi Web Server Web Client IP, DNS, HTTP 03.11.2014 5
WEB Sitesi Nedir? Web sitesi çağın medyası olan Internet üzerinde yer alan kişi veya kurumlara ait bir iletişim panosudur ve İnternet de medya başlığı altında yer almaktadır. Bir web sitesi sayesinde, Firmanızın tanıtımını yada Kendiniz ile ilgili bilgilerin sunulmasını çok daha büyük kitlelere (tüm dünyaya) en ekonomik şekilde yapabilirsiniz. Web sitesi tanıtılan kişi veya kurumun vizyonu olmaktadır. Site ziyaretcileri, sitedeki bilgilere kolayca erişebilir, firma, ürünler veya hizmetler hakkında detaylı bilgiye sahip olabilmektedir. Ayrıca, Web sitesi sahibi olmak firmaların kurumsal kimliğini bütünleştirip daha ciddi bir anlam katmaktadır. 03.11.2014 6
WEB Sitesi Nedir? Bir web sitesi tasarımında dikkat edilmesi gereken hususlar: Sayfalara çok yoğun içerik eklenmemeli, Çabuk açılan ziyaretçileri fazla bekletmeyen sayfalar tercih edilmeli, Sayfa içerisindeki grafikler optimize edilmeli ve uygun formatlar seçilmeli, Gerekirse çok büyük boyutlu grafikler için sıkıştırma yöntemleri uygulanmalı ve ön izleme kareleri oluşturulmalı, Alt sayfalara kolay ulaşılmayı sağlayacak iyi bir navigasyon yapısı sağlanmalı, Renk ve Şablon yapısı doğru seçilmelidir. 03.11.2014 7
WEB Server (Sunucu) Nedir? Web sunucuları, client bilgisayarlardan gelen istekleri kabul etmelerini ve bu isteklere yanıt vermelerini sağlayan özel yazılımlara sahip bilgisayarlardır. Web sunucuları, internet üzerinden veya intranet ve extranet ler aracılığıyla bilgi paylaşmanıza olanak sağlar. Apache HTTP Server, Microsoft Internet Information Services (IIS),... Bir Web sunucusuyla aşağıdakileri yapabilirsiniz: Kullanıcılara Internet üzerinden bilgi sağlama. FTP veya WebDAV ile kullanıcıların içerik yüklemesine izin verme. Üç katmanlı uygulamalar için iş mantığı içeren Web hizmetlerini barındırma. Uygulamaları, Internet üzerinden dağıtma. Küçük işletme sahipleri, basit bir Web sitesi kullanarak hizmetleri hakkında bilgi sağlayabilir. Orta ölçekli işletme sahipleri, bir sitede çeşitli uygulamaların birleşiminden oluşan bir çevrimiçi sipariş sistemi aracılığıyla mal ve hizmetlerini sunabilir. Kuruluş çapındaki işletmeler, şirket intranet leri üzerinden iş uygulamaları geliştirerek, bunları çalışanlara sağlayabilir. Barındırma şirketleri, bireysel müşterilere farklı çevrimiçi içerik ve uygulamaları barındırmak için sunucu alanı ve hizmetleri sağlayabilir. Şirketler, extranet leri üzerinden ilgili bilgileri ve uygulamaları iş ortaklarına sağlayabilir. 03.11.2014 8
WEB Client (İstemci) Nedir? Client (İstemci) genel anlamıyla, server client (sunucu istemci) mimariyle çalışan tüm sistemlerde istemci tarafı temsil etmektedir. Web sunucudan web sitesinin içeriğini talep etme işlemi olarak atlandırılabilir ve bu işlem WEB BROWSER aracılığı ile yapılmaktadır. Web Browser; web sunucu üzerinde mevcut web sitesi geliştirilirken kullanılan teknolojiyi desteklemelidir ve güvenlik açıklarını önlemelidir. Tabi ki Stabilite, Güvenlik ve Performans... Web Browser; Internet Explorer, Mozilla Firefox, Google Chrome, Safari, Opera... 03.11.2014 9
WEB ile ilgili Genel Kavramlar HTTP (Hypertext Transfer Protocol) : Link (Bağlantı) içeren metinelere sahip ve sunucu ile istemci arasında bilgilerin nasıl aktarılacağına dair kurallar ve yöntemleri düzenleyen bir sistemdir. Web browser bu protokol kullanılarak ve adresin başına HTTP:// eklenerek web sunucudan sayfanın görüntülenmesi talep edilir ve iletişim başlar. FTP (File Transfer Protocol) : Sunucu ile istemci arasında dosya transferini sağlayan protokoldür. Web siteleri için dosya transferinde kullanılır. Filezilla, CuteFTP gibi yazılımlarla hem ftp sunucu hemde ftp istemci kurulabilir. Web browser lerde ftp istemci olarak çalışmaktadır. DNS (Domain Name System) : Internet üzerinde bulunan her cihazın sadece kendisine ait olan bir IP adresi vardır. Fakat IP adresleri kullanıcı dostu olmadığı için www.site_ismi.uzantı (com,net,...) şeklinde domain kullanılarak sitelere erişim sağlanır. Bundan dolayı, DNS domain adreslerinin IP karşılıklarını kayıtlı olarak tutmaktadır. 03.11.2014 10
STATİK WEB SAYFASI Statik bir web sitesinde web sayfaları web tasarımcı hazırlanarak web sunucuya yüklenen, içeriği ve yapısı değişmeyen sayfalardır. Yani statik web sayfaları her çağrıldığında aynı sayfa sunulur. Ancak web güncelleme sırasında tasarımcı değiştirilebilirler. Özellikle içeriği çok sık değişmeyecek ve sayfa sayısı çok fazla olmayan web sitelerinde statik web sayfalarının kullanılması daha basit bir yapıya gereksinim duyması sebebi ile tercih edilir. Statik web sayfalarının uzantıları.htm veya.html dir. 03.11.2014 11
STATİK WEB SAYFASI Statik Web Sitesinin Avantajları En basit web sunucusu yeterlidir. Hosting (barındırma) maliyetinin düşük olması. Az sayfalı web sitelerinde daha ekonomik çözüm. Statik Web Sitesinin Dezavantajları Yönetim ve Güncelleme zorluğu. Yeni web sayfası eklendiğinde tüm sayfaların yeniden işlenmesi zorunluluğu. Web tasarımcıya bağımlılık. 03.11.2014 12
DİNAMİK WEB SAYFASI Dinamik bir web sitesinde, farklı içerik ile sunulması istenen kısımlar bir veritabanında tutulur ve sayfa çağrıldığında bu bilgiler veritabanından alınarak HTML kodları içinde, DHTML gibi yöntemlerle biçimlendirilerek sunulur. Sonuç olarak sayfayı çağıran bilgisayara giden bilgi statik bir web sitesindeki ile aynıdır, ama istek anında oluşturulmuştur. Gösterilecek sayfaların genel bir yapısı olduğunu ve içeriklerinin değişken olduğunu düşünelim. Bu durumda genel tasarım (örneğin başlık kısmı, logo vb.) tek başına veritabanında ya da dinamik içeriği oluşturacak scriptin (örneğin PHP, ASP, JSP kodu) içinde bulunur, ancak içeriğin (örneğin metnin) geleceği yerde scriptte bir değişken vardır. Bu değişken her sayfa için karşılık gelen metin veritabanından okunarak değiştirilmesi için kullanılır. Özellikle içeriği sık değişen, ya da geniş bir içeriğe sahip sitelerde bir değişiklik yapılmak istendiğinde sadece veritabanındaki ilgili verinin değiştirilmesi sayfanın değişmesi için yeterlidir. Bu sayede kolay ve hızlı bir şekilde güncellenebilir ve geliştirilebilir. Benzer şekilde, sitenin genel görünümü ile ilgili bir değişiklik yapılacaksa bu sadece sayfa yapısı üzerinde bir kez yapılır. Yani değişikliği bir kere yapmak, sınırsız sayıda sayfanın bu değişiklikten etkilenmesini sağlar. 03.11.2014 13
DİNAMİK WEB SAYFASI Dinamik Web Sitesi Avantajları Güncellemeler hızlı ve kolay bir şekilde yapılabilir. Veritabanına ulaşmak için bir panel sağlanırsa, tasarımcıya bağımlı olmadan site güncellenebilir. Veriler veritabanında tutulacağından Web sunucuda daha az yer kaplar Ziyaret edilen sayfalarla ilgili istatistikler tutulabilir. Ziyaretçiden geri bildirim alınabilir. Dinamik Web Sitesi Dezavantajları Küçük sitelerde daha yüksek maliyet gereklidir. Veritabanı sunan bir hosting (barındırma) olması gerekir. 03.11.2014 14
STATİK VE DİNAMİK WEB SAYFASI KAVRAMLAR HTML (Hyper Text Markup Language) : İnternet üzerinde veri paylaşımı için kullanılan metin tabanlı bir dildir ve son sürümü HTML5 dir. Temel amacı yazı,görüntü, video gibi içerikleri içeren sayfaları birbirine bağlama ve web tarayıcısı (browser) üzerinde düzgün sörünmesini sağlamaktır. Kendi başına anlamsızdırlar, yorumlayacak bir yazılıma ihtiyaç vardır (Web Browser). CSS (Cascading Style Sheets) : Metinleri biçimlendirmeden birçok olanak sunan ve birkez tanımlanarak birçok kez kullanılabilen ve şablon oluşturularak tüm sayfalara otomatik olarak uygulanabilen bir web teknolojisidir. Son sürümü ise CSS3 olmaktadır. JAVASCRIPT: Javascript, HTML kodları içerisine yazılan bir script (betik) dildir. Dinamik bir yapıya sahip olmasına rağmen, istemci tarafında browserda yorumlanması ile çalışır ve bir olaya bağlı olarak çalışmaktadır. Olay yenilenmeden, sonuçda yenilenmez. 03.11.2014 15
STATİK VE DİNAMİK WEB SAYFASI KAVRAMLAR APACHE HTTP SERVER: Unix tabanlı, açık kaynak kodlu, Linux, BSD,vs. Gibi platformlarda kullanılmak üzere geliştirilmiş en popüler web sunucudur. Windows üzerinde de çalışabilmektedir. PHP (Hypertext Preprocessor): Açık kaynak kodlu, sunucu taraflı bir betik dildir (script language). PHP çok yaygın olarak kullanılmakta ve birçok proje PHP ile geliştirilmektedir. JOOMLA da PHP kullanılarak geliştirilmiştir. MySQL RDBMS (Relational Database Management System) : Açık kaynak kodlu, SQL sorgulama dili ile çalışan, çok popüler bir veritabanı yönetim sistemidir. SQL dili kullanılarak veritabanı ve ilgili tablolar oluşturularak, gerekli veriler saklanabilir. Saklanan veriler ise SQL ile yazılan sorgu cümleleriyle kolayca görüntülenebilmektedir. PHPMYADMIN MySQL için geliştirilmiş bir Yönetim ARAYÜZÜDÜR. Not: MySQL DBMS olduğu için ACCESS ten tamamen farklı bir mantıkta çalışmaktadır. 03.11.2014 16
DOMAIN + HOSTING Nedir? Domain: İnternet üzerinde daha önceden belirlenmiş ve yıllık olarak kiralanarak şahıs/şirket adına kaydedilen ALAN ADLARI olmaktadır. Kişi veya Kurumların pozisyonuna göre farklı alan adları bulunmaktadır. (.com,.org,.edu,...) Hosting: Web Sitenizi internet ortamında BARINDIRMA anlamına gelmektedir. Web sitesinin yapısına bağlı olarak (statik, dinamik, ASP, PHP, MySQL, SQL Server,...) farklı hosting paketleri mevcuttur. Joomla için PHP, MySQL içeren Linux hosting paketleri seçilmektedir. Not: Domain ile Hosting hizmetinin birlikte çalışabilmesi için NS (Nameserver) Kullanılmaktadır. Domain kaydına, Hosting Hizmetinin hangi Nameserver ler üzerinden erişilebileceğini belirtmek gerekmektedir. 03.11.2014 17
DOMAIN + HOSTING Nedir?.com.biz.info Kişisel ve kurumsal başvurunun yapılabildiği ve ilk gelen alır, alan adı-kuruluş ilişkisi aranmaz ilkeleri ile tahsis yapılan bir alan adıdır. Alan adının tahsisi için belge istenmemektedir..org Kişisel ve kurumsal başvurunun yapılabildiği ve ilk gelen alır, alan adı-kuruluş ilişkisi aranmaz ilkeleri ile tahsis yapılan bir alan adıdır..net Kişisel ve kurumsal başvurunun yapılabildiği ve ilk gelen alır, alan adı-kuruluş ilişkisi aranmaz ilkeleri ile tahsis yapılan bir alan adıdır. Alan adının tahsisi için belge istenmemektedir..com.tr.biz.tr.info.tr Kişisel ve kurumsal başvurunun yapılabildiği ve ilk gelen alır, alan adı-kuruluş ilişkisi aranır ilkeleri ile tahsis yapılan bir alan adıdır. Alan adının tahsisi için belge istenmektedir..org.tr Dernek ve Organizasyonların başvuru yapılabildiği ve ilk gelen alır, alan adı-kuruluş ilişkisi aranır ilkeleri ile tahsis yapılan bir alan adıdır. Alan adının tahsisi için belge istenmektedir..k12.tr Eğitim Kurumları ve Okullar başvuru yapılabildiği ve ilk gelen alır, alan adı-kuruluş ilişkisi aranır ilkeleri ile tahsis yapılan bir alan adıdır. Alan adının tahsisi için belge istenmektedir..bel.tr Belediyelerin başvuru yapılabildiği ve ilk gelen alır, alan adı-kuruluş ilişkisi aranır ilkeleri ile tahsis yapılan bir alan adıdır. Alan adının tahsisi için belge istenmektedir..gen.tr Kişisel ve kurumsal başvurunun yapılabildiği ve ilk gelen alır, alan adı-kuruluş ilişkisi aranır ilkeleri ile tahsis yapılan bir alan adıdır. Alan adının tahsisi için belge istenmemektedir..eu Yeni Avrupa ülkelerine özel.eu uzantılı alan adları çok yakın zamanda dünyadaki en popüler alan adlarının arasına girecek. Avrupa birliğine üye ülkelere özgü bu alan adını firmamız üzerinden kayıt edebilirsiniz. 03.11.2014 18
CMS (Content Management System) Nedir? CMS, türkçesi İçerik Yönetim Sistemi. Portal gibi sistemlerin yani içerik yönetimi sistemlerine sahip olan sistemlerin tamamına verilen genel bir isimdir. İçerik yönetim sistemi, site sahibinin ya da yetkilendirilmiş kullanıcıların giriş bilgileri (mail adresi / kullanıcı adı ve şifre) kullanarak erişim sağladığı ve bir yönetim paneli kullanarak internet sitesinde bulunan yazı, resim, müzik, döküman gibi içerikleri bir programlama bilgisine sahip olmadan düzenleyebildiği ve yenilerini ekleyebildiği sistemlerdir. İnternet erişimi olan her noktadan, bilgisayarınıza özel bir yazılım kurmaksızın, sadece web tarayıcı aracılığıyla web sayfalarınızı güncellemeniz mümkündür. 03.11.2014 19
CMS (Content Management System) Nedir? İçerik Yönetim Sistemi Çeşitleri : ECMS (Enterprise CMS) : Şirketlerin kullandıkları cms sistemlerine denir. Kısaca şirket içerik yönetim sistemi de denebilir. WCMS (Web CMS) : Web içerik yönetim sistemidir.sistem html olarak upload edilir. DMS (Document Management System) : Dosya içerik yönetim sistemidir.imaj, elektronik belge vs. gibi verilerin kontrolü için kullanılır. MCMS (Mobile Content Management System) : Mobil içerik yönetim sistemidir. Cep telefonları, akıllı telefonlar ve Kişisel dijital asistanlar için yapılmış bir sistemdir. CCMS (Component Content Management System) : Bileşen içerik Yönetim Sisemidir. Bileşik içerikleri yönetmek için kullanılır. MCMS (Media Content Management System): Medya içerik yönetim sistemidir. Müzik, video gibi medya içerikli sistemlerin yönetimi için kullanılır. 03.11.2014 20
JOOMLA Açık Kaynak Kodlu, Stabil Çok popüler ve yaygın kullanılan Çok Fazla ve detaylı, ücretli/ücretsiz eklentilere sahip Web Sitesi geliştiricilerinin hızla ve kolayca Stok denetim sistemleri, Veri raporlama araçları, Özel ürün katalogları, Tümleşik e-ticaret sistemleri, Karmaşık iş dizinleri, Ayırma sistemleri, İletişim araçları ve çok daha fazlasını oluşturmasını sağlamaktadır. Joomla, PHP ve MySQL tabanlı olduğu için, açık bir platform üzerinde oluşturduğunuz güçlü uygulamalar herkesçe kullanılıp paylaşılabilir ve desteklenebilir. 03.11.2014 21
JOOMLA www.joomla.org / www.joomlatr.org / www.joomla.gen.tr / http://www.joomlabilgi.org 03.11.2014 22
JOOMLA Joomla ile Neler Yapılır? Diğer İYS lerde mevcut tüm özellikler JOOMLA da da vardır. Modül, bileşenler, dil ve tema özellikleri sayesinde çok çeşitli web siteleri yapılabilir. o Dizin sitesi o Ürün veya Resim galerisi o Haber sitesi o Medya Yayın Sitesi o Download sitesi o Video sitesi o E-Ticaret sitesi o... 03.11.2014 23
JOOMLA Joomla Sürümleri Joomla 1.0 Joomla 1.5 Joomla 1.6 / 1.7 / 2.5, JOOMLA 2.5.11 Joomla 3.0 03.11.2014 24
JOOMLA Joomla Front-End Tasarlanan Web Sitesinin Joomla tanımıdır. Ziyaretcilerin gördüğü kısımdır Admin ve Yetkin kullanıcıların tasarımlarına bağlı olarak, yayınlanan Makale, Menü, Tema, Dil, Modül, vs. oluşturulur. Joomla Back-End Admin Paneli de denmektedir. Tüm kullanıcı, dil, makale, tema, tasarım vs. gibi web sayfasını oluşturan işlemler web paneli tarafında yapılır. Kod bilgisi gerektirmez fakat HTML ve PHP kod yazarak web sayfasına işlevler eklemek mümkündür. 03.11.2014 25
JOOMLA JOOMLA Menu (Menü) JOOMLA Article (Makale) JOOMLA Component (Bileşen) JOOMLA Module (Modül) JOOMLA Plug-in (Uyumlu Ek) JOOMLA Template (Tema) JOOMLA Language (Dil) 03.11.2014 26
JOOMLA JOOMLA Component (Bileşen) Genel olarak geniş kapsamlı, üyeden üyeye değişecek içerikleri kullanmak istediğimizde bileşen kullanırız. Mesela bir forum, bir dosya yöneticisi veya ayrıntılı bir üye profili. Sitemizde kullanmak istediğimiz özelliğe bağlı olarak istediğimiz bileşeni sitemize ekleyebilir veya çıkarabiliriz. 03.11.2014 27
JOOMLA JOOMLA Module (Modül) Modüller daha çok sabit içerik veya üyeden bağımsız içerikleri görüntülemek için kullandığımız bir eklentidir. Mesela bir site sayacı, forumda son gönderilenler veya sitede online olan üyeler gibi. Sitemizde kullanmak istediğimiz özelliğe bağlı olarak istediğimiz modülü sitemize ekler veya çıkarırız. Modüller de kendi aralarında 2 gruba ayrılırlar. Birincisi ve en çok kullanılan site modülleridir. İkincisi ise admin modülleri. Modülleri bileşenlerden farklı olarak sitede istediğimiz yerde gösterebilme şansımız vardır, yeterki kullandığımız tema (template) buna olanak sağlasın. 03.11.2014 28
JOOMLA JOOMLA Plug-in (Uyumlu Ek) Joomla pluginleri değişik amaçlara hizmet ederler. Moduller web sitesinin son çıkış sunumunu arttırdıkça, pluginler de eklenebilir fonksiyonlarını ve bilgilerini arttırmaktadır. Joomlanın kullandığı ve yapılabilmesi mümkün plugin sayısı hemen hemen sınırsızdır. doğrulama / yetkilendirme içerik düzenleyiciler standart düzenleyiciler arama sistem kullanıcı xmlrpc 03.11.2014 29
VIRTUEMART Joomla için yazılmış çok kullanışlı bir alışveriş bileşenidir. Joomla sitenizi kolayca bir alışveriş sitesine dönüştürmenize olanak verir. Virtuemartın öne çıkan bazı özellikleri Sınırsız sayıda kategori ve alt kategoriler oluşturabilirsiniz. Ürün ekleyebilir ürünlere özelliklik ve farklı şeçenekler ekleyebilirsiniz. Müşteri gruplarına göre farklı fiyat seçenekleri sunabilirsiniz. Kredi kartı, Paypal, 2Chenkout, Worldpay, eway, PayMate ödeme seçenekleri Gelişmiş kargo seçenekleri ve Tesliman modülleri Ücretli, ücretsiz tema çeşitleri ile çok farklı site tasarımları Gelişmiş indirim ve vergi hesaplama yöntemleri Müşteri grupları ve raporlama sitemleri 03.11.2014 30
DAY 2 PRATİK SUNUM Web Server ve Database Server Kurulumu ve Konfigürasyonu Apache HTTP Server + MySQL + PHP Joomla ve eklentilerinin kurulumu Joomla ile web sayfası tasarlama Virtuemart eklentisinin kurulumu Virtuemart eklentisi konfigürasyonu 03.11.2014 31
DAY 3 + 4 - WORKSHOP Domain + Hosting bilgileri Joomla ve Virtuemart ile Ecommerce web sitesi yapma ve yayınlama Joomla Kurulumu Tema, Dil, Virtuemart eklentilerinin Kurulumu Site ve Ecommerce dilini ayarlanması Varsayılan tema ile tema detaylarını ayarlanması Ana menüyü oluşturulması Hakkımızda, ürünler, kullanıcı bilgileri, iletişim... Menü oluşturulması Slideshow, breadcrumbs, login, shopping cart modüllerinin kurulması Hoşgeldiniz ve haberler yazılarının oluşturulup yayınlanması Virtuemart ürün ve kullanıcı bilgilerinin eklenmesi Virtuemart KARGO ve ÖDEME bilgilerinin eklenmesi Oluşturulan web sayfasının yedek alınarak, hosting hizmetine aktarılarak yayınlanması 03.11.2014 32
TEŞEKKÜR EDERİZ! 03.11.2014 33