Σερλνινγηθφ Δθπαηδεπηηθφ Ίδξπκα Καβάιαο ρνιή Σερλνινγηθψλ Δθαξκνγψλ Σκήκα Βηνκεραληθήο Πιεξνθνξηθήο Πηπρηαθή εξγαζία Σίηινο: Καηαζθεπή ειεθηξνληθνχ θαηαζηήκαηνο Πίθαο Αζαλάζηνο Θσκάο Βαζίιεηνο Δπηβιέπσλ Καζεγεηήο: Γξ Παπαδάθεο ηπιηαλφο σηεξνπνχινπ Καιιηφπε ΚΑΒΑΛΑ 2010
ΠΔΡΙΔΥΟΜΔΝΑ ΠΡΟΛΟΓΟ. 3 ΚΔΦΑΛΑΙΟ 1: ΠΔΡΙΓΡΑΦΗ ΣΟΤ CMS JOOMLA 1.1 Ση είλαη ην Joomla..5 1.2 Πψο ιεηηνπξγεί.5 1.3. Πσο μεθίλεζε..6 1.4 Πνπ ρξεζηκνπνηείηαη...6 1.5 Γηαρείξηζε πεξηερνκέλνπ...7 1.6 Απηφλνµα θείµελα.8 1.7 Eλφηεηεο Καηεγνξίεο 9 1.8 Σξσηά ζεκεία ζηελ αζθάιεηα ησλ ειεθηξνληθψλ θαηαζηεκάησλ...10 1.9 Πξνβνιή ηνπ ηζηφηνπνπ ζε δεκφζην server..13 ΚΔΦΑΛΑΙΟ 2: ΔΓΚΑΣΑΣΑΗ ΔΡΓΑΛΔΙΩΝ 2.1 Σν παθέην XAMPP...15 2.2 Λίγα ιφγηα γηα ην θάζε ππνζχζηεκα 16 2.3 Δγθαηάζηαζε ηνπ XAMPP.18 2.4 Δγθαηάζηαζε Joomla!...20 2.5 Ση είλαη ην Virtuemart...22 2.6 Δγθαηάζηαζε Virtuemart ζην Joomla!...25 ΚΔΦΑΛΑΙΟ 3 ΠΔΡΙΔΥΟΜΔΝΑ ΣΟΤ JOOMLA 3.1 Δθαξκνγέο (Components)...27 3.2 Δλζέκαηα (modules)....27 3.3 Πξφηππα (Templates)....28 3.4 Γεληθέο ξπζκίζεηο (Global Configuration)..31 3.5 Ρνιφη θαη Ηκεξνκελία...31 3.6 Γεκνζθφπεζε... 32 3.7 Όξνη ρξήζεο.. 34 3.8 Υάξηεο ζειίδαο (Site Map)...42 3.9 Αλαδήηεζε πξντφληνο....43 3.10 Τπνινγηζκφο θφζηνπο απνζηνιήο.. 43 ΚΔΦΑΛΑΙΟ 4: ΠΑΡΟΤΙΑΗ ΣΟΤ AQUA-STORE.GR 4.1 Δγγξαθή ρξήζηε.. 45 4.2 Έλαξμε παξαγγειίαο....46 ΚΔΦΑΛΑΙΟ 5: ΥΡΗΙΜΑ ΣΟΙΥΔΙΑ ΣΟΤ BACKEND ΣΟΤ JOOMLA! 5.1 Υξήζηεο Υεηξηζκφο Υξεζηψλ.51 5.2 Δηζαγσγή πξντφληνο..52 5.3 πγθεληξσηηθή ιίζηα αγνξψλ ησλ ρξεζηψλ...56 5.4 Ιζηνξηθφ Πξντφλησλ - Πσιήζεηο 56 ΚΔΦΑΛΑΙΟ 6: ΤΛΟΠΟΙΗΗ 6.1 Πίλαθεο Βάζεο Γεδνκέλσλ...58 6.2 Αξρεία πνπ πινπνηνχλ ην aqua-store..62 6.3 Απαηηήζεηο εθαξκνγήο.. 65 6.4 Πξνδηαγξαθέο...68 6.5 Μνληέιν Οληνηήησλ πζρεηίζεσλ..85 6.6 Ρπζκίζεηο SEO.90 ΒΙΒΛΙΟΓΡΑΦΙΑ....92 Πηπρηαθή εξγαζία Πίθαο Θαλάζεο, Θσκάο Βαζίιεο 2
Πξφινγνο Καζψο ην επξπδσληθφ internet έρεη εηζβάιεη γηα ηα θαιά ζηε δσή καο, ην δηαδίθηπν δηαδξακαηίδεη νινέλα θαη πεξηζζφηεξν ζεκαληηθφ ξφιν ζηελ θαζεκεξηλφηεηαο καο, αιιάδνληαο ηνλ ηξφπν κε ηνλ νπνίν ελεκεξσλφκαζηε, ςπραγσγνχκαζηε, ςσλίδνπκε θαη επηθνηλσλνχκε. Δηδηθά ζην ρψξν ησλ ειεθηξνληθψλ αγνξψλ, ε έιιεηςε ρξφλνπ, ε θνχξαζε ηνπ παξαδνζηαθνχ shopping αιιά θαη νη δπλαηφηεηεο άκεζεο ζχγθξηζεο ηηκψλ έρνπλ αλαδείμεη ηα πιενλεθηήκαηα αγνξψλ απφ ζχγρξνλα ειεθηξνληθά θαηαζηήκαηα ηα νπνία δηαξθψο απμάλνληαη θαη εμειίζζνληαη. Καζψο ε ζχγρξνλε ηερλνινγία παξέρεη πιένλ πςειφ βαζκφ αζθάιεηαο ζηηο ειεθηξνληθέο ζπλαιιαγέο, πνιινί απφ ηνπο κχζνπο γχξσ απφ πξνβιήκαηα αζθάιεηαο ζπλαιιαγψλ ησλ ειεθηξνληθψλ θαηαζηεκάησλ θαηαξξίπηνληαη. Μεγάιεο εηαηξείεο πιεξνθνξηθήο νρπξψλνπλ κε ηηο πιαηθφξκεο ηνπο ηελ αλάπηπμε ησλ e-shops γηα λα δηαζθαιηζηεί ε νκαιή θαη απξφζθνπηε ιεηηνπξγία ηνπο, ελψ κεγάιεο Σξάπεδεο ππνγξάθνπλ πίζσ απφ ηα ζπζηήκαηα ησλ ρξεκαηηθψλ ζπλαιιαγψλ πξνζθέξνληαο αζθάιεηα θαη αμηνπηζηία γηα ηελ πινπνίεζε νηθνλνκηθψλ ζπλαιιαγψλ. Μέζα απφ ηελ παξνχζα πηπρηαθή εξγαζία γίλεηαη ε πινπνίεζε ηνπ ηζηφηνπνπ www.aqua-store.gr, µε ηε ρξήζε ηνπ content management system «Joomla». Η έθδνζε πνπ ρξεζηµνπνηήζεθε είλαη ε 1.5.12, ε νπνία ήηαλ ε πην πξφζθαηε φηαλ μεθίλεζε ε πινπνίεζή ηνπ. Σν Joomla απνηειεί έλα εχρξεζην εξγαιείν ζηα ρέξηα ησλ θαηαζθεπαζηψλ ηζηνζειίδσλ, θαζψο δηαζέηεη ηηο πξνυπνζέζεηο γηα ηε πξνζζήθε κεγάινπ αξηζκνχ εθαξκνγψλ θαη ιεηηνπξγηψλ. Σν aqua-store.gr γηα λα πάξεη ηελ ηειηθή ηνπ κνξθή, ρξεζηκνπνηήζεθαλ νξηζκέλεο απφ ηηο δπλαηφηεηεο ηνπ βαζηθνχ παθέηνπ Joomla θαη πξνζηέζεθε κεγάινο αξηζκφο πξφζζεησλ (extenions), ελζεµάησλ (modules) θαη εθαξκνγψλ (components) ψζηε λα ππνζηεξίδνπλ ηηο ππεξεζίεο πνπ είρακε ζέζεη σο απαξαίηεηεο γηα ηε ιεηηνπξγία ηνπ ηζηφηνπνπ. Πηπρηαθή εξγαζία Πίθαο Θαλάζεο, Θσκάο Βαζίιεο 3
Σν aqua-atore.gr δηαζέηεη πξντφληα θαη πιεξνθνξίεο ζηνπο ιάηξεηο ησλ ζαιάζζησλ ζπνξ θαη ηνπ λεξνχ γεληθά. Ο ρξήζηεο έρεη ηελ δπλαηφηεηα λα πεξηεγεζεί κέζα ζηελ ηζηνζειίδα, λα δεη φπνηα πξντφληα απηφο επηζπκεί, ηελ θσηνγξαθία θάζε πξντφληνο, ηελ πεξηγξαθή, ηελ ηηκή θαη ηελ δηαζεζηκφηεηα πξηλ πξνρσξήζεη ζηελ αγνξά θάπνηνπ απφ απηά. Δπίζεο, δίλεηαη ε δπλαηφηεηα ζηνλ ρξήζηε, αθνχ εγγξαθεί ζην site, λα γξάςεη ηελ θξηηηθή ηνπ ή ην ζρφιην ηνπ γηα θάπνην πξντφλ, ην νπνίν θπζηθά ζα είλαη νξαηφ ζε φινπο ηνπο άιινπο εγγεγξακκέλνπο ρξήζηεο θαη επηζθέπηεο. Πηπρηαθή εξγαζία Πίθαο Θαλάζεο, Θσκάο Βαζίιεο 4
ΚΔΦΑΛΑΙΟ 1: ΠΔΡΙΓΡΑΦΗ ΣΟΤ CMS JOOMLA 1.1 Ση είλαη ην Joomla. Σν Joomla είλαη εθαξκνγή αλνηθηνχ θψδηθα (open source) θαη ε ρξήζε ηνπ είλαη απνιχησο δσξεάλ. Όινη κπνξνχλ λα ην ρξεζηκνπνηήζνπλ, λα ην ηξνπνπνηήζνπλ θαη λα δηεξεπλήζνπλ ηηο δπλαηφηεηέο ηνπ, ρσξίο λα πξέπεη λα πιεξψζνπλ θάπνηα άδεηα ρξήζεο ζε θαλέλαλ. Σν Joomla απνηειεί έλα πιήξεο ζχζηεκα δηαρείξηζεο πεξηερνκέλνπ, ην νπνίν είλαη γεκάην δπλαηφηεηεο αιιά θαη ηαπηφρξνλα εμαηξεηηθά επέιηθην θαη θηιηθφ. Έρεη άδεηα ρξήζεο GNU GPL λ.2 θαη ε ιεηηνπξγία ηνπ βαζίδεηαη ζε ΡΗΡ θαη MySQL. Έρεη βξαβεπζεί µε ην βξαβείν Packt "Best ΡΗΡ Open Source CMS" γηα ηα έηε 2006 θαη 2007. Σν Joomla είλαη ε εθαξκνγή πνπ κπνξεί λα ρξεζηκνπνηήζεη θάζε ρξήζηεο, µε επαγγεικαηίαο, γηα λα δεκνζηεχζεη ζην δηαδίθηπν κηα πξνζσπηθή ηζηνζειίδα, αιιά θαη έλαλ νιφθιεξν εηαηξηθφ δηθηπαθφ ηφπν. Δίλαη πξνζαξµφζηµν ζε πεξηβάιινληα επηρεηξεκαηηθήο θιίκαθαο φπσο ηα intranets κεγάισλ επηρεηξήζεσλ ή νξγαληζκψλ. Οη δπλαηφηεηεο επέθηαζήο ηνπ είλαη πξαθηηθά απεξηφξηζηεο, θαζψο ν ρξήζηεο κπνξεί λα επηιέμεη ηνλ αξηζκφ ησλ πξφζζεησλ (extensions) πνπ ζα ελζσκαηψζεη απφ ηα 3000 θαη πεξηζζφηεξα πνπ ππάξρνπλ δηαζέζηκα. 1.2 Πψο ιεηηνπξγεί. Σν Joomla εγθαζίζηαηαη ζε έλαλ θεληξηθφ ππνινγηζηή, ηνλ web server. Ο δηαρεηξηζηήο έρεη πξφζβαζε ζην πεξηβάιινλ δηαρείξηζεο µέζσ ελφο browser, ν νπνίνο κπνξεί λα πξνζζέζεη νπνηνδήπνηε θείκελν, γξαθηθφ ή extension θαη έηζη λα δεκηνπξγήζεη ηηο ηζηνζειίδεο. Κάζε ρξήζηεο ηνπ internet έρεη ηε δπλαηφηεηα λα θαηεβάζεη ην ινγηζκηθφ θαη λα ην εγθαηαζηήζεη. Τπάξρνπλ δηαζέζηκνη ηζηφηνπνη ππνζηήξημεο, πνπ παξέρνπλ νδεγίεο Πηπρηαθή εξγαζία Πίθαο Θαλάζεο, Θσκάο Βαζίιεο 5
εγθαηάζηαζεο, extensions αλνηρηνχ θψδηθα θαη ππνζηήξημε κέζα απφ ηηο νξγαλσκέλεο δηθηπαθέο θνηλφηεηεο. Δλζσκαηψλνληαο δηάθνξα, δηαζέζηκα δσξεάλ, πξφζζεηα εξγαιεία, δηεπξχλνληαη νη δπλαηφηεηεο θαη ιεηηνπξγίεο ηνπ Joomla, θάλνληάο ην κηα εθαξκνγή αμηφπηζηε γηα ηελ αλάπηπμε αθφκα θαη εηαηξηθψλ δηθηπαθψλ ηφπσλ. Σν Joomla κπνξεί λα ρξεζηκνπνηεζεί θαη απφ ρξήζηεο πνπ δελ θαηέρνπλ εμεηδηθεπκέλεο γλψζεηο. Χζηφζν, αλάινγα µε ηηο απαηηήζεηο ηνπ ηζηφηνπνπ πνπ επηζπκεί λα δεκηνπξγήζεη, ίζσο απαηηεζεί θαη ε ζπλδξνκή πην έκπεηξνπ πξνζσπηθνχ. Σν Joomla επίζεο,.ερεη ηελ δπλαηφηεηα λα εγθαηαζηαζεί θαη ηνπηθά, ζε νπνηνλδήπνηε πξνζσπηθφ Η/Τ, ρσξίο λα είλαη αλαγθαία ε δεκνζηνπνίεζε ηεο εθαξκνγήο ζην δηαδίθηπν. 1.3. Πσο μεθίλεζε. Σν Joomla μεθίλεζε ην 2001 µε ηελ νλνκαζία Miro-Mambo Site Server θαη ην 2002 κεηνλνκάδεηαη ζε Mambo Open Source 4.0. Αξγφηεξα, ην 2005 ε εκπνξηθή έθδνζε Mambo CMS κεηνλνκάδεηαη ζε Jango CMS, ελψ ην επηέκβξην ηνπ ίδηνπ έηνπο πξσηνεκθαλίδεηαη ε ηξέρνπζα εκπνξηθή νλνκαζία «Joomla» µε ηελ έθδνζε 1.0.0 πνπ βαζίζηεθε ζηελ έθδνζε Mambo 4.5.2.3. Απφ εθείλε ηε ρξνληθή ζηηγκή θαη κεηέπεηηα ζεκεηψζεθε κεγάιε αχμεζε ησλ ππνζηεξηθηψλ ινγηζκηθνχ αλνηρηνχ θψδηθα θαη ην Joomla άξρηζε λα γίλεηαη έλα απφ ηα πην δεκνθηιή CMS. ηηο 22/1/2008 δεκνζηεχεηαη ε έθδνζε 1.5, ελψ παξάιιεια, γηα ιφγνπο αζθαιείαο, ζπλερίδεηαη ε αλαβάζκηζε ηεο παιηφηεξεο έθδνζεο θαη ζηηο 22/2/2008 δεκνζηεχεηαη ε έθδνζε 1.5.15. ηηο 10/01/2009 αλαθνηλψζεθε ε δεκνζίεπζε ηεο πην πξφζθαηεο έθδνζεο πνπ είλαη ε 1.5.9. 1.4 Πνπ ρξεζηκνπνηείηαη. Σν Joomla απνηειεί ην θαηάιιειν εξγαιείν γηα ηελ αλάπηπμε κηαο πιεζψξαο θαηεγνξηψλ ηζηνζειίδσλ, παξέρνληαο ζην δηαρεηξηζηή εχθνιε παξακεηξνπνίεζε µε ηε
ρξήζε extensions (εθαξκνγέο - ελζέµαηα - πξφζζεηα - πξφηππα), φπσο: Παξνπζηάζεηο επηρεηξήζεσλ Γηαδηθηπαθνχο θφκβνπο Δηθφλεο - gallery πλδξνκεηηθέο ππεξεζίεο Δ- shop (Ηιεθηξνληθφ θαηάζηεκα) Websites πξνβνιήο πξντφλησλ ή ππεξεζηψλ Website γξαθείσλ παξνρήο ππεξεζηψλ Ξελνδνρεία, online θξαηήζεηο Websites ζπιιφγσλ - νξγαληζκψλ Πξνζσπηθά websites Blogs Ηιεθηξνληθέο εθδφζεηο πεξηνδηθψλ θαη εθεκεξίδσλ Πσιήζεηο απηνθηλήησλ Μεζηηηθά γξαθεία θαη πνιιέο αθφκε ιχζεηο, αθνχ νη δπλαηφηεηεο παξακεηξνπνίεζεο είλαη απεξηφξηζηεο. Τπεξεζίεο θαηαιφγσλ ηηο αξρέο Γεθεκβξίνπ ππήξραλ 3951 extensions, ηα νπνία βξίζθνληαη θαηεγνξηνπνηεκέλα ζηελ επίζεκε ηζηνζειίδα ηεο πιαηθφξκα. 1.5 Γηαρείξηζε πεξηερνκέλνπ Ξεθηλψληαο ηελ αλάπηπμε ελφο δηθηπαθνχ ηφπνπ µε ην Joomla, είλαη απαξαίηεην λα έρνπκε θαηαλνήζεη ηνλ ηξφπν µε ηνλ νπνίν νξγαλψλεηαη θαη παξνπζηάδεηαη ην πεξηερφκελν ηνπ ηζηφηνπνπ µαο. Σν Joomla, σο έλα ζχζηεκα Πηπρηαθή Δξγαζία - Πίθαο Θαλάζεο, Θσκάο Βαζίιεο 7
δηαρείξηζεο πεξηερνκέλνπ, δελ έρεη απνζεθεπµέλεο ζειίδεο, φπσο έλαο ζηαηηθφο δηθηπαθφο ηφπνο. Αληίζεηα, δεκηνπξγεί ηηο ζειίδεο δπλακηθά, ηε ζηηγκή πνπ ηηο δεηά ν δηθηπαθφο επηζθέπηεο, ζπλζέηνληαο εθείλε ηε ζηηγκή ηξία ζηνηρεία: ηα απνζεθεπµέλα ζηνηρεία ζηε βάζε δεδνκέλσλ ηηο δηαζέζηκεο ζέζεηο εκθάληζεο πνπ έρεη ην πξφηππν πνπ ρξεζηµνπνηνχµε (template) ηηο επηινγέο ηνπ επηζθέπηε, µέζσ ηνπ κελνχ Σν Joomla, κφιηο ν επηζθέπηεο επηιέμεη έλα κελνχ, δεκηνπξγεί εθείλε ηε ζηηγκή ηε ζειίδα. Σν πεξηερφκελν ηεο κπνξεί λα απνηειείηαη απφ απηφλνκα θείκελα θείκελα εληαγκέλα ζε ελφηεηεο / θαηεγνξίεο εθαξκνγέο (components) Δλζέκαηα (modules) ηε ζπλέρεηα ζα εμεγεζεί ε θάζε κνξθή απφ ηηο 4 παξαπάλσ. Αο ζεµεηψζνπµε εδψ φηη ζε κηα ζπγθεθξηκέλε εηθφλα ηνπ δηθηπαθνχ µαο ηφπνπ κπνξνχκε λα έρνπκε, σο πεξηερφκελν, έλα απφ ηα ηξία πξψηα (απηφλνκα θείκελα ή θείκελα εληαγκέλα ζε ελφηεηεο ή εθαξκνγέο) θαζψο θαη πνιιά ελζέµαηα ηαπηφρξνλα. 1.6 Απηφλνκα θείκελα Η πξψηε κνξθή πεξηερνκέλνπ είλαη ηα απηφλνκα θείκελα ή θείκελα εθηφο θαηεγνξηψλ. Σα θείκελα απηά δεκηνπξγνχληαη κέζα απφ ην κελνχ "Πξνζζήθε Νένπ Άξζξνπ", θαη θαηά ηε δεκηνπξγία ηνπο δειψλεηαη φηη δελ αλήθνπλ ζε θακηά ελφηεηα ή θαηεγνξία (εθηφο θαηεγνξηψλ). Όπσο αλαθέξζεθε θαη πην πάλσ, γηα λα εκθαληζζεί Πηπρηαθή Δξγαζία - Πίθαο Θαλάζεο, Θσκάο Βαζίιεο 8
θάηη σο πεξηερφκελν ηνπ Joomla ζα πξέπεη λα είλαη ζπλδεδεκέλν µε έλα κελνχ, ην νπνίν ζα επηιέμεη ν επηζθέπηεο θαη ζα πξέπεη λα έρεη δεκηνπξγεζεί, σο εμήο: ην ζχζηεκα δηαρείξηζεο επηιέγνπκε ην εηθνλίδην "Menu Manager" θαη θαηφπηλ επηιέγνπκε λα επεμεξγαζηνχκε ην main menu (ή φπνην κελνχ ζα πεξηέρεη ην ζρεηηθφ ζηνηρείν). ηε ζπλέρεηα θάλνπκε θιηθ ζηελ επηινγή "New", γηα λα δεµηνπξγήζνπµε έλα λέν ζηνηρείν κελνχ. Απφ ηηο επηινγέο πνπ έρνπκε θαηφπηλ, επηιέγνπκε ''Δζσηεξηθφο χλδεζκνο - Άξζξα" θαη, ζηηο επφκελεο επηινγέο δίλνπκε 'Άξζξν - ειηδνπνίεζε Άξζξνπ", θαη έρνπκε κπξνζηά µαο ηελ ηειεπηαία νζφλε ηεο δεκηνπξγίαο ηνπ ζηνηρείνπ κελνχ. ηελ νζφλε απηή ζα δψζνπκε ην φλνκα θαη ην ςεπδψλπκν ηνπ κελνχ, ζα νξίζνπκε ην επίπεδν πξφζβαζεο θαη ηπρφλ γνληθφ ζηνηρείν, θαζψο θαη ηε ζεηξά θαηάηαμήο ηνπ. Δηδηθά, ζηελ θαξηέια "Basic Parameters", ζα επηιέμνπκε ην άξζξν ζην νπνίν ζα νδεγεί ην ζπγθεθξηκέλν ζηνηρείν κελνχ. 1.7 Δλφηεηεο Καηεγνξίεο Η δεχηεξε κνξθή πεξηερνκέλνπ είλαη ην ηεξαξρεκέλν πεξηερφκελν, δειαδή θείκελα εληαγκέλα ζηελ ηεξαξρηθή δνκή ελφηεηα - θαηεγνξία - άξζξν πνπ πηνζεηεί ην Joomla. Να εμεγήζνπκε ζχληνκα ηε ινγηθή απηήο ηεο ηεξαξρηθήο δνµήο: Σν πεξηερφκελν απηήο ηεο κνξθήο απνηειείηαη απφ άξζξα πνπ αλήθνπλ ζε κηα θαηεγνξία ην θαζέλα. Κάζε θαηεγνξία, απφ ηελ πιεπξά ηεο, αλήθεη ζε κηα ελφηεηα. ε κηα εγθαηάζηαζε Joomla κπνξνχκε λα έρνπκε φζεο ελφηεηεο θαη θαηεγνξίεο, φπσο θαη φζα άξζξα ζέινπκε. Όπσο θαη ηα απηφλνκα θείκελα, έηζη θαη ην ηεξαξρεκέλν πεξηερφκελν εκθαλίδεηαη µκφλνλ φηαλ θιεζεί µέζσ ελφο κελνχ. ηελ πεξίπησζε ηνπ ηεξαξρεκέλνπ πεξηερνκέλνπ φκσο, είλαη αξθεηά ηα είδε ηνπ κελνχ πνπ κπνξεί λα ην Πηπρηαθή Δξγαζία - Πίθαο Θαλάζεο, Θσκάο Βαζίιεο 9
εκθαλίζνπλ σο πεξηερφκελν ηνπ δηθηπαθνχ µαο ηφπνπ. πγθεθξηκέλα, αθνχ επηιέμνπκε ''Δζσηεξηθφο χλδεζκνο - Άξζξα" φηαλ δεµηνπξγνχµε ην λέν ζηνηρείν κελνχ, έρνπκε ηηο παξαθάησ 5 επηινγέο: Άξζξν - ειηδνπνίεζε Άξζξνπ, φπνπ ζα εκθαληζζεί κφλνλ έλα θείκελν, ην νπνίν θαη ζα επηιέμνπκε ζηελ επφκελε νζφλε. Καηεγνξία - ειηδνπνίεζε Καηεγνξίαο σο Ιζηνιφγην, φπνπ ζα εκθαληζζνχλ ηα θείκελα πνπ αλήθνπλ ζε κηα θαηεγνξία, πνπ ζα επηιέμνπκε ζηελ επφκελε νζφλε. Σα θείκελα ζα εκθαληζζνχλ µε κνξθή ηζηνινγίνπ, δειαδή ζα ππάξρεη ε εηζαγσγή ηνπο θαη έλαο ζχλδεζκνο πξνο νιφθιεξν ην δεµνζίεπµα. Καηεγνξία - Βαζηθή ειηδνπνίεζε Καηαιφγνπ Καηεγνξίαο, φπνπ ζα εκθαληζζνχλ ζε κνξθή θαηαιφγνπ (ιίζηαο) ηα θείκελα πνπ αλήθνπλ ζε κηα θαηεγνξία, πνπ ζα επηιέμνπκε ζηελ επφκελε νζφλε. Δλφηεηα - ειηδνπνίεζε Δλφηεηαο σο Ιζηνιφγην, φπνπ ζα εκθαληζζνχλ ηα θείκελα πνπ αλήθνπλ ζε κηα ελφηεηα, πνπ ζα επηιέμνπκε ζηελ επφκελε νζφλε. Σα θείκελα ζα εκθαληζζνχλ µε κνξθή ηζηνινγίνπ, δειαδή ζα ππάξρεη ε εηζαγσγή ηνπο θαη έλαο ζχλδεζκνο πξνο νιφθιεξν ην δεµνζίεπµα. Δλφηεηα - ειηδνπνίεζε Δλφηεηαο, φπνπ ζα εκθαληζζνχλ ζε κνξθή θαηαιφγνπ (ιίζηαο) ηα θείκελα πνπ αλήθνπλ ζε κηα ελφηεηα, πνπ ζα επηιέμνπκε ζηελ επφκελε νζφλε. 1.8 Σξσηά ζεκεία ζηελ αζθάιεηα ησλ ειεθηξνληθψλ θαηαζηεκάησλ Η ηεξάζηηα αχμεζε ησλ δηαδηθηπαθψλ ζπλαιιαγψλ έρεη ζπλνδεπηεί απφ κηα ηζνδχλακε άλνδν ζηνλ αξηζκφ θαη ηνλ ηχπν ησλ επηζέζεσλ ελάληηα ζηελ αζθάιεηα ησλ ζπζηεκάησλ πιεξσκήο κέζσ ηνπ δηαδηθηχνπ. Μεξηθέο απφ απηέο ηηο επηζέζεηο Πηπρηαθή Δξγαζία - Πίθαο Θαλάζεο, Θσκάο Βαζίιεο 10
ρξεζηκνπνηνχλ ηηο δεκνζηνπνηεκέλεο εππάζεηεο ησλ επαλαρξεζηκνπνηήζηκσλ ηκεκάησλ πνπ ρξεζηκνπνηνχληαη απφ ηα sites, φπσο είλαη ην ινγηζκηθφ ηνπ θαξνηζηνχ αγνξψλ. Άιιεο επηζέζεηο ρξεζηκνπνηνχλ ηηο εππάζεηεο πνπ είλαη θνηλέο ζε νπνηαδήπνηε δηθηπαθή εθαξκνγή, φπσο είλαη ε ρξήζε ηεο SQL ή ε ζπγγξαθή ηκεκάησλ θψδηθα θαη ε παξάζεζε ηνπο ζε δηάθνξα ζεκεία ηνπ site. Παξαθάησ αλαιχνληαη κε παξαδείγκαηα απηέο νη εππάζεηεο. πγθεθξηκέλα γίλεηαη αλαθνξά ζηελ ρξήζε ηεο SQL, ζηελ θνηλνπνίεζε θξπθψλ πιεξνθνξηψλ, ζηελ θνηλνπνίεζε θξπθψλ θαθέισλ θαη αξρείσλ, ζηελ παξαπνίεζε ησλ ηηκψλ, θαη ζηηο ππεξρεηιίζεηο ησλ buffer. Η επηηπρήο εθκεηάιιεπζε απηψλ ησλ εππαζεηψλ κπνξεί λα νδεγήζεη ζε έλα επξχ θάζκα απνηειεζκάησλ. Οη εππάζεηεο ηεο θνηλνπνίεζεο πιεξνθνξηψλ θαη αξρείσλ κπνξεί λα ελεξγήζνπλ θαηαιπηηθά θαη λα απνηειέζνπλ ηα αξρηθά ζηάδηα πνπ ζα νδεγήζνπλ ζηελ πεξαηηέξσ εθκεηάιιεπζε. Οη επηζέζεηο ζηελ SQL ή ε παξαπνίεζε ησλ ηηκψλ ζα κπνξνχζαλ λα «αθξσηεξηάζνπλ» ην site, λα ην θάλνπλ λα ζπκβηβαζηεί ζε ρακειά επίπεδα εκπηζηεπηηθφηεηαο, θαη ζηε ρεηξφηεξε πεξίπησζε ε επηρείξεζε ειεθηξνληθνχ εκπνξίνπ λα θαηαξξεχζεη. Τπάξρνπλ δηάθνξνη ιφγνη γηα ηνπο νπνίνπο νη εππάζεηεο ζηελ αζθάιεηα πξνθχπηνπλ ζην θαξφηζη αγνξψλ θαη ζηα ζπζηήκαηα πιεξσκήο κέζσ ηνπ δηαδηθηχνπ. Οη ιφγνη δελ αθνξνχλ απνθιεηζηηθά θαη κφλν απηά ηα ζπζηήκαηα, αιιά νη ζπλέπεηεο ηνπο είλαη πνιχ κεγαιχηεξεο ιφγσ ηεο επξείαο έθζεζεο πνπ έρεη έλα website, θαη ιφγσ ηεο νηθνλνκηθήο θχζεο ησλ ζπλαιιαγψλ. Έλαο απφ ηνπο θχξηνπο ιφγνπο γηα ηέηνηεο εππάζεηεο είλαη ην γεγνλφο φηη νη ππεχζπλνη γηα ηελ αλάπηπμε κηαο δηθηπαθήο εθαξκνγήο δελ είλαη ζπρλά πνιχ θαιά ελεκεξσκέλνη γηα ηηο αζθαιείο ηερληθέο πξνγξακκαηηζκνχ. Καηά ζπλέπεηα, ε αζθάιεηα ηεο εθαξκνγήο δελ απνηειεί απαξαηηήησο έλαλ απφ ηνπο ζηφρνπο ζηελ ζρεδίαζε. Απηφ επηδεηλψλεηαη απφ ηε Πηπρηαθή Δξγαζία - Πίθαο Θαλάζεο, Θσκάο Βαζίιεο 11
βηαζχλε γηα ηήξεζε ησλ πξνζεζκηψλ πνπ ππάξρνπλ ζην γξήγνξν θφζκν ηνπ ειεθηξνληθνχ εκπνξίνπ. Αθφκε θαη ε θαζπζηέξεζε κηαο εκέξαο ζηελ έθδνζε ελφο θαηλνχξγηνπ ραξαθηεξηζηηθνχ ζην website ζα κπνξνχζε λα επηηξέςεη ζε έλαλ αληαγσληζηή λα ππεξβεί. Απηφ ζπκβαίλεη ζπλήζσο φηαλ ηα site ειεθηξνληθνχ εκπνξίνπ πξέπεη λα πξνζζέζνπλ γξήγνξα θάπνηα ιεηηνπξγία γηα λα αληαπεμέιζνπλ ζε κηα μαθληθή αιιαγή ζην επηρεηξεζηαθφ πεξηβάιινλ ή απιά γηα λα κείλνπλ κπξνζηά απφ ηνπο αληαγσληζηέο. ε ηέηνηεο πεξηπηψζεηο ην δεηνχκελν είλαη λα απνθηεζεί ε ιεηηνπξγία ελψ γηα ηελ αζθάιεηα κπνξεί λα θξνληίζνπλ αξγφηεξα. Έλαο άιινο ιφγνο γηα ηνλ νπνίν εκθαλίδνληαη εππάζεηεο ζηελ αζθάιεηα είλαη ιφγσ ηεο έκθπηεο πνιππινθφηεηαο ησλ πεξηζζφηεξσλ online ζπζηεκάησλ. ήκεξα, νη ρξήζηεο απαηηνχλ πνιιά απφ ηνπο πξνκεζεπηέο ειεθηξνληθνχ εκπνξίνπ, θαη απηφ έρεη ζαλ ζπλέπεηα ηελ δεκηνπξγία ζχλζεησλ ζρεδηάζεσλ θαη ηε ρξεζηκνπνίεζε ινγηθνχ πξνγξακκαηηζκνχ. ε δηάθνξεο πεξηπηψζεηο, έρνπκε δηαπηζηψζεη φηη ηα websites ειεθηξνληθνχ εκπνξίνπ ρξεζηκνπνηνχλ πηζηνπνηεηηθά SSL ησλ 128bit σο απφδεημε φηη νη πεξηνρέο ηνπο είλαη θαιά δηαζθαιηζκέλεο. Η εκπηζηνζχλε ησλ πειαηψλ ζε απηά έρεη κεησζεί ηα ηειεπηαία ρξφληα, αιιά αθφκε θαη ηψξα ππάξρνπλ ρηιηάδεο ηζηνρψξνη πνπ επηδεηθλχνπλ ηα πηζηνπνηεηηθά Verisign ή Thawte σο απφδεημε ηεο αζθάιεηάο ηνπο. Σν oscommerce έρεη παξαηεξεζεί φηη είλαη επάισην ζε θάπνηεο απφ ηηο εππάζεηεο πνπ αλαθέξζεθαλ ζηελ πξνεγνχκελε ελφηεηα. πγθεθξηκέλα απνδείρζεθε φηη νη επηηηζέκελνη κπνξνχλ λα ππνθιέςνπλ ηηο επαίζζεηεο πιεξνθνξίεο, πνπ βξίζθνληαη απνζεθεπκέλεο ζηελ βάζε δεδνκέλσλ ηνπ site, εθκεηαιιεπφκελνη ηηο SQL injections. Δπίζεο είλαη επάισην ζε επηζέζεηο cross-site-scripting ελψ ε απνκαθξπζκέλε εθηέιεζε εληνιψλ βνεζάεη ηνλ επηηηζέκελν λα πεξηεγεζεί ζηνπο θαηαιφγνπο ηνπ ειεθηξνληθνχ θαηαζηήκαηνο. Πηπρηαθή Δξγαζία - Πίθαο Θαλάζεο, Θσκάο Βαζίιεο 12
1.9 Πξνβνιή ηνπ ηζηφηνπνπ ζε δεκφζην server Η δηαδηθαζία πεξηγξάθεηαη κε ιίγα βήκαηα θαη έρεη ζθνπφ λα βνεζήζεη ηνπο απινχο ρξήζηεο ηνπ Joomla λα πξνρσξήζνπλ ζε κηα ηέηνηα ελέξγεηα. 1. Σν πξψην πξάγκα πνπ πξέπεη λα θάλνπκε είλαη έλα εθεδξηθφ αληίγξαθν γηα φια ηα αξρεία απφ ηε Joomla εγθαηάζηαζε. Γεκηνπξγνχκε έλαλ θάθειν (livesite) ζην ηνπηθφ ζχζηεκά καο, θαη θαηεβάδνπκε φια ηα αξρεία ζε εθείλν ηνλ θάθειν ρξεζηκνπνηψληαο ηελ FTP εθαξκνγή καο. 2. Δμαγσγή ηεο βάζεο: απηφ ην βήκα ζα ρξεζηκνπνηήζνπκε ην phpmyadmin. Αθνχ βεβαησζνχκε φηη ην αξρείν SQL πεξηέρεη φιεο ηηο απαξαίηεηεο εληνιέο SQL γηα ηε δεκηνπξγία ησλ πηλάθσλ βάζεσλ δεδνκέλσλ καο θαη ηελ πιήξσζε ηνπο κε ηα ζηνηρεία καο. Βεβαησλφκαζηε φηη εμάγνπκε νιφθιεξε ηελ βάζε δεδνκέλσλ. Με αλνηρηή ηε βάζε κέζσ phpmyadmin επηιέγνπκε εμαγσγή. Καιχηεξα ε εμαγσγή λα γίλεη ζε SQL. Δλεξγνπνηνχκε ηελ Απνζηνιή θαη επηιέγνπκε ηχπν ζπκπίεζεο ή φρη αλ είλαη κηθξή ε βάζε. 3. Ρχζκηζε ηνπ configuration.php: Απηφ ην βήκα είλαη πνιχ ζεκαληηθφ. Πεγαίλνπκε ζην θάθειν ζην ηνπηθφ ζχζηεκά καο ζην νπνίν θαηεβάζακε ηα αξρεία ηνπ Joomla site!. ηνλ θχξην θάθειν πνπ δεκηνπξγήζακε (root), ζα βξνχκε ην αξρείν κε ην φλνκα «configuration.php». Αλνίγνπκε απηφ ην αξρείν κε έλαλ θεηκελνγξάθν θαη θάλνπκε ηηο απαξαίηεηεο αιιαγέο. Θα πξέπεη λα αιιάμεηε ηηο αθφινπζεο παξακέηξνπο: /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /* Database Settings */ var $user = ''; ην φλνκα ηνπ ρξήζηε ηεο βάζεο ζε cpanel:cpaneluser_dbuser Plesk: dbuser Πηπρηαθή Δξγαζία - Πίθαο Θαλάζεο, Θσκάο Βαζίιεο 13
var $password = ''; ν θσδηθφο ηεο MySQL βάζεο δεδνκέλσλ var $db = ''; ην φλνκα ηεο MySQL βάζεο δεδνκέλσλ ζε cpanel:cpaneluser_dbname Plesk:dbname /* Feed Settings */ var $log_path = ''; Απηή είλαη ε απφιπηε δηαδξνκή ηνπ server πξνο ην Joomla/logs. Θα κνηάδεη πηζαλψο θάηη ζαλ "/path/to/joomla/installation/logs" Mε cpanel έρεη ηε κνξθή /home/user_account/public_html/logs ελψ κε Plesk /home/httpd/vhosts/domain.gr/httpdocs/logs) var $tmp_path = ''; Απηή είλαη ε απφιπηε δηαδξνκή ηνπ server πξνο ην Joomla/tmp. Θα κνηάδεη πηζαλψο θάηη ζαλ "/path/to/joomla/installation/cache" (Mε cpanel έρεη ηε κνξθή /home/user_account/public_html/tmp ελψ κε Plesk έρεη ηε κνξθή /home/httpd/vhosts/domain.gr/httpdocs/tmp). ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4. Αλεβάδνπκε ηα αξρεία ζην λέν server. Υξεζηκνπνηψληαο κηα FTP εθαξκνγή (CuteFTP-FileZilla-WSftp), αλεβάδνπκε φια ηα αξρεία ζηε ζέζε ηνπ λένπ server πνπ ζέινπκε λα εγθαηαζηήζνπκε ην Joomla!. 5. Γεκηνπξγία λέαο βάζεο.: Μέζα απφ ην Control Panel ηνπ λένπ καο server δεκηνπξγνχκε κηα λέα βάζε θαη έλα ρξήζηε. Πξηλ ηελ εγθαηάζηαζε, αιιάδνπκε ηηο ξπζκίζεηο ηνπ collation ζε utf8_general_ci κέζσ ηνπ phpmyadmin. Απηφ γίλεηαη κε ηηο εληνιέο ALTER DATABASE nanedb DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci φπνπ namedb ην φλνκα ηεο βάζεο. Δίζνδνο ησλ ζηνηρείσλ ζηελ λέα MySQL βάζε: Απφ ην παξάζπξν εξσηήκαηνο > Δηζαγσγή αξρείσλ. Υξεζηκνπνηψληαο ην phpmyadmin θαη ην SQL αξρείν πνπ είρακε θάλεη εμαγσγή ζην 2ν βήκα, θάλνπκε εηζαγσγή ηεο παιηάο καο βάζεο ζηε λέα. Πηπρηαθή Δξγαζία - Πίθαο Θαλάζεο, Θσκάο Βαζίιεο 14
ΚΔΦΑΛΑΙΟ 2: ΔΓΚΑΣΑΣΑΗ ΔΡΓΑΛΔΙΩΝ 2.1 Σν παθέην XAMPP Πξνθεηκέλνπ λα εγθαηαζηήζνπκε ην Joomla, ζα πξέπεη αξρηθά λα έρεη γίλεη εγθαηάζηαζε ηνπ server ζηνλ νπνίν ζα ιεηηνπξγεί. Ο πην εχθνινο ηξφπνο γηα λα εγθαηαζηαζεί έλαο ηέηνηνο server είλαη ε ρξήζε ηνπ παθέηνπ ΥΑΜΡΡ. Η ρξήζε ηνπ είλαη ειεχζεξε θαη ε ρξήζε ηνπ γίλεηαη κέζα απφ ηελ δηαδξνκή http://www.apachefriends.org/en/xampp.html. Η εγθαηάζηαζε ηεο πιαηθφξκαο είλαη ηδηαίηεξα θηιηθή ζηνλ ρξήζηε θαη θξίλεηαη απαξαίηεηε ε ρξήζε ησλ ππεξεζηψλ Apache θαη MySQL. Δκείο ρξεζηκνπνηήζακε ηελ έθδνζε 1.7.1. ε νπνία πεξηιακβάλεη φια θείλα ηα εξγαιεία πνπ ρξεηαδφκαζηε γηα λα δνπιέςνπκε. Αλαιπηηθφηεξα πεξηιακβάλεη ηα εμήο: Apache 2.2.11 MySQL 5.1.33 (Community Server) PHP 5.2.9 + PEAR (Support for PHP 4 has been discontinued) XAMPP Control Version 2.5 from www.nat32.com XAMPP CLI Bundle 1.3 from Carsten Wiedmann XAMPP Security 1.0 SQLite 2.8.15 OpenSSL 0.9.8i phpmyadmin 3.1.3.1 ADOdb 5.06a Mercury Mail Transport System v4.62 Πηπρηαθή Δξγαζία - Πίθαο Θαλάζεο, Θσκάο Βαζίιεο 15
FileZilla FTP Server 0.9.31 Webalizer 2.01-10 Zend Optimizer 3.3.0 eaccelerator 0.9.5.3 for PHP 5.2.9 2.2 Λίγα ιφγηα γηα ην θάζε ππνζχζηεκα - Apache Web Server Ο Apache Web Server είλαη απηφ αθξηβψο πνπ δειψλεη ην φλνκά ηνπ. Πξφθεηηαη δειαδή γηα έλαλ εμππεξεηεηή (server) ηνπ παγθφζκηνπ Ιζηνχ (Web). Με ηνλ φξν server ην κπαιφ καο πεγαίλεη ίζσο ζε ειεθηξνληθνχο ππνινγηζηέο πνπ θηινμελνχλ ηζηνζειίδεο θαη φρη άδηθα. Ο φξνο απηφο ρξεζηκνπνηείηαη θαη γηα ην κεράλεκα εμππεξεηεηή (hardware) αιιά θαη γηα ην πξφγξακκα (software). Ο Apache εγθαζίζηαηαη ζε έλαλ ππνινγηζηή ν νπνίνο κπνξεί λα ρξεζηκνπνηεί δηάθνξα ιεηηνπξγηθά ζπζηήκαηα φπσο Linux, Unix, Microsoft Windows, GNU, FreeBSD, Solaris, Novell NetWare, Mac OS X, OS/2, TPF. Ο ξφινο ηνπ Apache είλαη λα αλακέλεη αηηήζεηο απφ δηάθνξα πξνγξάκκαηα ρξήζηεο (clients) φπσο είλαη έλαο ν θπιινκεηξεηήο (browser) ελφο ρξήζηε θαη ζηε ζπλέρεηα λα εμππεξεηεί απηέο ηηο αηηήζεηο «ζεξβίξνληαο» ηηο ζειίδεο πνπ δεηνχλ είηε απεπζείαο κέζσ κηαο ειεθηξνληθήο δηεχζπλζεο (URL), είηε κέζσ ελφο ζπλδέζκνπ (link). Ο ηξφπνο κε ηνλ νπνίν ν Apache εμππεξεηεί απηέο ηηο αηηήζεηο, είλαη ζχκθσλνο κε ηα πξφηππα πνπ νξίδεη ην πξσηφθνιιν HTTP (Hypertext Transfer Protocol). - MySQL Η MySQL είλαη έλα πνιχ γξήγνξν θαη δπλαηφ, ζχζηεκα δηαρείξηζεο βάζεσλ δεδνκέλσλ. Μηα βάζε δεδνκέλσλ ζαο επηηξέπεη λα απνζεθεχεηε, λα αλαδεηάηε, λα Πηπρηαθή Δξγαζία - Πίθαο Θαλάζεο, Θσκάο Βαζίιεο 16
ηαμηλνκείηε θαη λα αλαθαιείηε ηα δεδνκέλα απνηειεζκαηηθά. Ο MySQL δηαθνκηζηήο ειέγρεη ηελ πξφζβαζε ζηα δεδνκέλα ζαο, γηα λα κπνξνχλ λα δνπιεχνπλ πνιινί ρξήζηεο ηαπηφρξνλα, γηα λα παξέρεη γξήγνξε πξφζβαζε θαη λα δηαζθαιίδεη φηη κφλν πηζηνπνηεκέλνη ρξήζηεο κπνξνχλ λα έρνπλ πξφζβαζε. πλεπψο ε MySQL είλαη έλαο πνιπλεκαηηθφο δηαθνκηζηήο πνιιαπιψλ ρξεζηψλ. Υξεζηκνπνηεί ηελ SQL (Structured Query Language) ηελ ηππηθή γιψζζα εξσηεκάησλ γηα βάζεηο δεδνκέλσλ, παγθφζκηα. - PHP Η PHP είλαη κηα γιψζζα πξνγξακκαηηζκνχ πνπ ζρεδηάζηεθε γηα ηε δεκηνπξγία δπλακηθψλ ζειίδσλ ζην δηαδίθηπν θαη είλαη επηζήκσο γλσζηή σο: HyperText preprocessor. Δίλαη κηα server-side (εθηειείηαη ζηνλ δηαθνκηζηή) scripting γιψζζα πνπ γξάθεηαη ζπλήζσο πιαηζησκέλε απφ HTML, γηα κνξθνπνίεζε ησλ απνηειεζκάησλ. Αληίζεηα απφ κηα ζπλεζηζκέλε HTML ζειίδα ε ζειίδα PHP δελ ζηέιλεηαη άκεζα ζε έλαλ πειάηε (client), αλη' απηνχ πξψηα αλαιχεηαη θαη κεηά απνζηέιιεηαη ην παξαγφκελν απνηέιεζκα. Σα ζηνηρεία HTML ζηνλ πεγαίν θψδηθα κέλνπλ σο έρνπλ, αιιά ν PHP θψδηθαο εξκελεχεηαη θαη εθηειείηαη. Ο θψδηθαο PHP κπνξεί λα ζέζεη εξσηήκαηα ζε βάζεηο δεδνκέλσλ, λα δεκηνπξγήζεη εηθφλεο, λα δηαβάζεη θαη λα γξάςεη αξρεία, λα ζπλδεζεί κε απνκαθξπζκέλνπο ππνινγηζηέο, θ.ν.θ. ε γεληθέο γξακκέο νη δπλαηφηεηεο πνπ καο δίλεη είλαη απεξηφξηζηεο. Αξρηθά ε νλνκαζία ηεο ήηαλ PHP/FI απφ ην Forms Interpreter ε νπνία δεκηνπξγήζεθε ην 1995 απφ ηνλ Rasmus Lerdorf σο κηα ζπιινγή απφ Perl scripts πνπ ηα ρξεζηκνπνηνχζε ζηελ πξνζσπηθή ηνπ ζειίδα. Γελ άξγεζε λα ηα εκπινπηίζεη κε ιεηηνπξγίεο επεμεξγαζίαο δεδνκέλσλ κε SQL, αιιά ηα ζεκαληηθά βήκαηα πνπ Πηπρηαθή Δξγαζία - Πίθαο Θαλάζεο, Θσκάο Βαζίιεο 17
έθεξαλ θαη ηελ κεγάιε απνδνρή ηεο PHP ήηαλ αξρηθά ε κεηαηξνπή ηνπο ζε C θαη κεηέπεηηα ε δσξεάλ παξνρή ηνπ πεγαίνπ θψδηθα κέζσ ηεο ζειίδαο ηνπ ψζηε λα επσθειεζνχλ φινη απφ απηφ πνπ είρε θηηάμεη, αιιά θαη λα ηνλ βνεζήζνπλ ζηελ πεξαηηέξσ αλάπηπμή ηεο. 2.3 Δγθαηάζηαζε ηνπ XAMPP Αθνχ ηξέμνπκε ην αξρείν xampp-win32-1.7.1-installer.exe, Γελ μερλάκε λα ηζεθάξνπκε ην Install Apache as service θαη ην Install MySQL as service. Δηθφλα 1. Αθνχ γίλεη ε εγθαηάζηαζε, αλνίγνπκε ην Control Panel θαη βιέπνπκε ηα services πνπ επηιέμακε ζηε δηαδηθαζία ηεο εγθαηάζηαζεο. Παξαηεξνχκε ινηπφλ ηα Services Apache θαη MySql λα είλαη εγθαηεζηεκέλα θαη ην status ηνπο λα είλαη Running, φπσο θαίλεηαη ζηελ εηθφλα 2.. Πηπρηαθή Δξγαζία - Πίθαο Θαλάζεο, Θσκάο Βαζίιεο 18
Δηθφλα 2. Δθφζνλ ε εγθαηάζηαζε ηνπ ΥΑΜΡΡ είλαη επηηπρεκέλε, πιεθηξνινγψληαο «http://localhost/xampp» ζηε γξαµµή δηεπζχλζεσλ ελφο browser, ζα πξέπεη λα εκθαλίδεηαη ε θεληξηθή ζειίδα, φπσο θαίλεηαη ζηελ Δηθφλα 3. Δηθφλα 3. Πηπρηαθή Δξγαζία - Πίθαο Θαλάζεο, Θσκάο Βαζίιεο 19
2.4 Δγθαηάζηαζε Joomla! ε απηφ ην ζεκείν ν ρξήζηεο είλαη έηνηκνο γηα εγθαηαζηήζεη ην Joomla. Σν ζπµπηεζµέλν αξρείν πνπ έρνπκε θαηεβάζεη πξέπεη λα ην απνζπµπηέζνπµε ζε έλα θάθειν πνπ ζα δεµηνπξγήζνπµε κέζα ζηα ήδε εγθαηεζηεκέλα αξρεία ηνπ ΥΑΜΡΡ. πλήζσο απηή ε δηαδξνκή είλαη C:\xampp\htdocs\joomla15 (φπνπ joomla15 είλαη ην φλνκα πνπ ζα έρεη δψζεη ν ρξήζηεο ζην θάθειν πνπ δεκηνχξγεζε. ηε ζπλέρεηα, γηα λα πινπνηήζνπκε ηε λέα εγθαηάζηαζε, πιεθηξνινγνχκε ζηε γξαµµή δηεπζχλζεσλ ηνπ θπιινµεηξεηή http://localhost/joomla, επηιέγνπκε ηε γιψζζα πνπ ζέινπκε λα ρξεζηµνπνηνχµε θαη ζέηνπκε ηηο αξρηθέο ξπζκίζεηο ζηε βάζε δεδνκέλσλ, φπσο θαίλεηαη ζηελ Δηθφλα 4. Δηθφλα 4. Πηπρηαθή Δξγαζία - Πίθαο Θαλάζεο, Θσκάο Βαζίιεο 20
Καη έηζη, κε απηφλ ηνλ ηξφπν, επηιέγνληαο Next, δεκηνπξγήζακε ηελ βάζε δεδνκέλσλ καο. Έπεηηα, ζηα επφκελα βήκαηα ζα καο δεηεζεί λα εηζάγνπκε θάπνηεο πιεξνθνξίεο φπσο ηελ δηεχζπλζε ηνπ ηζηφηνπνπ, αλ ππάξρεη, ην φλνκα ηνπ site, ηνλ θσδηθφ πξφζβαζεο ηνπ administrator θαη άιια. Γελ πξέπεη λα μεράζνπκε λα δηαγξάςνπκε ηνλ θαηάινγν ηεο εγθαηάζηαζεο (installation) πνπ βξίζθεηαη ζηελ δηαδξνκή C:\xampp\htdocs\Joomla15\. Μία απφ ηηο βαζηθέο δπλαηφηεηεο ηνπ Joomla είλαη ε δηαρείξηζε πεξηερνκέλνπ. Σν πεξηερφκελν νξγαλψλεηαη ζε άξζξα, ηα νπνία πξέπεη λα αλήθνπλ ζε µία θαηεγνξία θαη απηή µε ηε ζεηξά ηεο ζε µία ελφηεηα. Σελ δηαρείξηζε ηνπ πεξηερνκέλνπ κπνξεί λα ηελ εθηειέζεη µφλν ν administrator, ν νπνίνο ζα πξέπεη λα έρεη ζπλδεζεί ζηε ζειίδα http://localhost/joomla15/administrator φπσο θαίλεηαη ζηελ Δηθφλα 5. Ο administrator έρεη ηα δηθαηψκαηα λα δεκηνπξγήζεη ελφηεηεο, θαηεγνξίεο θαη άξζξα, θαζψο θαη λα ηξνπνπνηήζεη ηελ ππάξρνπζα δνκή ηνπ πεξηερνκέλνπ. Δπίζεο, έρεη ηε δπλαηφηεηα λα δεκνζηεχζεη θάπνην άξζξν ζηελ αξρηθή ζειίδα ή ζε νπνηαδήπνηε άιιε ζειίδα. Πηπρηαθή Δξγαζία - Πίθαο Θαλάζεο, Θσκάο Βαζίιεο 21
Δηθφλα 5. Κεληξηθή ζειίδα πεξηβάιινληνο δηαρείξηζεο 2.5 Ση είλαη ην Virtuemart. Σν Virtuemart είλαη έλα open Source E-Commerce ινγηζκηθφ, έλα επηπιένλ εξγαιείν (component), πνπ ρξεζηκνπνηείηαη καδί κε ην χζηεκα Γηαρείξηζεο Πεξηερνκέλνπ (CMS) πνπ νλνκάδεηαη Joomla!. Joomla θαη VirtueMart είλαη γξακκέλα ζε PHP θαη θηηαγκέλα γηα εχθνιε ρξήζε ζε πεξηβάιινλ PHP / MySQL. Σν VirtueMart είλαη κηα εθαξκνγή γηα ηελ παξνπζίαζε θαη ηελ πψιεζε ησλ εκπνξεπκάησλ κηαο επηρείξεζεο κέζσ ηνπ internet. Δίλαη απηφ ην εξγαιείν δειαδή, πνπ δίλεη ζηελ ηζηνζειίδα καο ηελ κνξθή θαη ηελ ιεηηνπξγία ελφο e-shop. πλεξγάδεηαη κε ην Joomla θαη ρξεζηκνπνηείηαη απφ κηθξέο θαη κεζαίνπ κεγέζνπο Πηπρηαθή Δξγαζία - Πίθαο Θαλάζεο, Θσκάο Βαζίιεο 22
Online επηρεηξήζεηο θαη Online-Shops. Η κνξθή ηνπ Virtuemart ζηελ αξρηθή ηεο ζειίδα θαίλνληαη ζηελ εηθφλα 6. Δηθφλα 6. Γηα λα ρξεζηκνπνηήζνπκε ην VirtueMart δελ ρξεηαδφκαζηε ηίπνηε πεξηζζφηεξν απφ έλαλ ζχγρξνλν Η/Τ κε ζχλδεζε ζην internet. Η έθδνζε πνπ ρξεζηκνπνηήζακε είλαη ε Virtuemart 1.1.4 stable. Μπνξνχκε λα πνπιήζνπκε ηα πξντφληα καο κέζσ internet κε νπνηνδήπνηε ηξφπν πιεξσκήο ζέινπκε, φπσο πηζησηηθέο θάξηεο, θαηάζεζε ζε ηξαπεδηθφ ινγαξηαζκφ, αληηθαηαβνιή ή πιεξσκή θαηφπηλ ζπκθσλίαο. Πηπρηαθή Δξγαζία - Πίθαο Θαλάζεο, Θσκάο Βαζίιεο 23
Δπίζεο ην VirtueMart κεηά ηελ βαζηθή παξακεηξνπνίεζε, ππνινγίδεη απηφκαηα ην θφζηνο ησλ κεηαθνξηθψλ, αλάινγα κε ην βάξνο θαη ηνλ ηφπν απνζηνιήο ησλ εκπνξεπκάησλ. Έηζη, αλ ζέινπκε λα δεκηνπξγήζνπκε έλα Online θαηάζηεκα ή απιά λα παξνπζηάζνπκε ηα πξντφληα καο ην VirtueMart είλαη έλα ηδαληθφ εξγαιείν. Υαξαθηεξηζηηθά Μπνξνχκε λα θαηαρσξήζνπκε ηα πξντφληα καο, λα αλεβάζνπκε ηηο θσηνγξαθίεο ηνπο θαη λα ηα ηνπνζεηήζνπκε ζε θαηεγνξίεο. Υξεζηκνπνηήζηε ην σο έλα ειεθηξνληθφ θαηάζηεκα ή απιά σο έλαλ Online θαηάινγν πξντφλησλ. Μπνξνχκε λα πνπιήζνπκε άυια πξντφληα φπσο εηθφλεο, πξνγξάκκαηα θιπ. Μπνξνχκε λα κεηαθέξνπκε ηα ζηνηρεία ησλ πξντφλησλ καο απφ excel ή άιιεο Δκπνξηθέο εθαξκνγέο. Γπλαηφηεηα πξνζζήθεο ρξψκαηνο / κεγέζνπο γηα βηνηερλίεο θαη εκπφξην ξνχρσλ. Σαμηλφκεζε ησλ πειαηψλ καο ζε Group. ηαηηζηηθά ζηνηρεία γηα θαηλνχξγηνπο πειάηεο, λέεο παξαγγειίεο, ζχλνιν πξντφλησλ, πνπιεκέλα πξντφληα. Γπλαηφηεηα αλαδήηεζεο πξντφλησλ κέζσ θφξκαο αλαδήηεζεο Οη πειάηεο καο κπνξνχλ λα δνπλ, πφηε έλα πξντφλ ζα είλαη δηαζέζηκν λα ζηαιεί, κπνξνχλ λα δνπλ φιεο ηηο παξαγγειίεο ηνπο θαη ηηο ιεπηνκέξεηεο ησλ παξαγγειηψλ. Οη παξαγγειίεο γίλνληαη κε Mail επηβεβαίσζεο παξαγγειηψλ πνπ ζηέιλεηαη ζηνλ πειάηε θαη ζηνλ ηδηνθηήηε θαηαζηήκαηνο. Πηπρηαθή Δξγαζία - Πίθαο Θαλάζεο, Θσκάο Βαζίιεο 24
Γπλαηφηεηα ρξήζεο αζθαιεηαο SSL encryption (128-bit). 2.6 Δγθαηάζηαζε Virtuemart ζην Joomla! Γηα λα εγθαηαζηήζνπκε ην Virtuemart, πξψηα πξέπεη λα ην θαηεβάζνπκε απφ ηελ δηεχζπλζε http://virtuemart.net/downloads. Η έθδνζε πνπ θαηεβάζακε είλαη ε v1.1.4 stable. Γηα λα μεθηλήζεη ε εγθαηάζηαζε, είλαη αλαγθαίν λα έρνπκε ην joomla αλνηρηφ, δειαδή λα έρνπκε θάλεη log-on ζαλ administrator. Απηφ γίλεηαη πεγαίλνληαο ζηελ δηεχζπλζε http://www.aqua-store.gr/administrator/ (Δηθφλα 7) θαη βάδνληαο ην ζσζηφ φλνκα ρξήζηε θαη θσδηθφ, γηα λα κπνχκε ζην backend ηνπ ηζηνηφπνπ καο. Δηθφλα 7 ηελ θεληξηθή ζειίδα ηνπ Joomla, πεγαίλνπκε ζηελ θαξηέια Extensions Install / Unistall. ην πεδίν «Upload Package File» (εηθφλα 8), εηζάγνπκε ην αξρείν Πηπρηαθή Δξγαζία - Πίθαο Θαλάζεο, Θσκάο Βαζίιεο 25
com_virtuemart_1.1.4.zip, παηάκε «Upload File & Install» θαη έηζη απιά, ηα πεξηερφκελα ηνπ Virtuemart έρνπλ εγθαηαζηαζεί ζην Joomla! Δηθφλα 8 Ακέζσο κεηά ζα εκθαληζηεί έλα κήλπκα θαισζνξίζκαηνο ζην νπνίν καο δίλεη ηελ δπλαηφηεηα λα εηζάγνπκε κεξηθά πξντφληα γηα λα απνθηήζνπκε κηα πξψηε επαθή κε ην Virtuemart (εηθφλα 9). Δηθφλα 9 Πηπρηαθή Δξγαζία - Πίθαο Θαλάζεο, Θσκάο Βαζίιεο 26