«ΕΙΣΑΓΩΓΗ ΣΤΗ ΔΗΜΙΟΥΡΓΙΑ ΔΥΝΑΜΙΚΩΝ WEBSITES ΜΕ ΤΟ JOOMLA! CMS»



Σχετικά έγγραφα
Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS

Μια καλή επιλογή θα ήταν (χωρίζοντας τις λέξεις με παύλα -) ή

Σεμινάριο joomla! 3. Διοργάνωση: Άλφα Εκπαιδευτική Εισηγητής: Μοτσενίγος Ιωάννης Ηλεκτρονικός Μηχανικός-Σύμβουλος Internet Marketing- Web Designer

Σεμινάριο Wordpress CMS (Δημιουργία Δυναμικών Ιστοσελίδων)

JOOMLA CMS ΒΑΣΙΚΗ ΠΑΡΑΜΕΤΡΟΠΟΙΗΣΗ (PART I)

Εγχειρίδιο εγκατάστασης Megasoft 2009

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης

6 Εισαγωγή στο Wordpress 3.x

Εγχειρίδιο εγκατάστασης και χρήσης περιοδικών etwinning

Μπορείτε τα δείτε βιντεάκι με τη διαδικασία εδώ:

XAMPP Apache MySQL PHP javascript xampp

Εγκατάσταση Joomla 1. Στο Π.Σ.Δ. ( 2. Τοπικά 3. Σε δωρεάν Server

Άσκηση. Εξοικείωση με την πλατφόρμα Moodle

BHMATA ΓΙΑ ΑΝΑΒΑΘΜΙΣΗ ΣΤΟ 3S/I.T.P.

Εγχειρίδιο εγκατάστασης και βασικής παραμετροποίησης σεναρίου εστίασης

Αρχίζοντας. Το Joomla τρέχει: Στο Joomla μπορούμε να προσθέσουμε επιπλέον λειτουργικότητα, να την επεκτείνουμε δηλαδή (extensions) PHP MySql

Συστήματα Διαχείρισης Περιεχομένου στον Παγκόσμιο Ιστό Διάλεξη #7 η : Επιλογές εμφάνισης άρθρων. Modules. Γαβαλάς Δαμιανός dgavalas@aegean.

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΉΜΙΟ ΚYΠΡΟΥ

Joomla! with K2 - User Guide

JOOMLA CMS ΤΙΤΛΟΣ ΕΡΓΑΣΙΑΣ: ΑΝΑΠΤΥΞΗ ΔΙΑΔΙΚΤΥΑΚΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ ΑΕΡΟΔΡΟΜΙΟΥ ΜΕ ΧΡΗΣΗ ΣΥΣΤΗΜΑΤΟΣ ΔΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΕΧΟΜΕΝΟΥ (CMS)

Επιμόρφωση Β Επίπεδου Κ.Σ.Ε.: 2 ο ΓΕΛ Ηρακλείου Ειδικότητα: ΠΕ04 Μάθημα: Εγκατάσταση Χρήση CMS Joomla

Epsilon Net PYLON Platform

Τι είναι μια Joomla! εφαρμογή (component)

Σύστημα Διαχείρισης Περιεχομένου

ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ

Εισαγωγή στις αρχές του CMS. Joomla Training. Wordpress Training.

ΔΙΑΔΙΚΑΣΙA ΜΕΤΑΦΟΡΑΣ ΥΛΙΚΟΥ ΜΑΘΗΜΑΤΟΣ ΑΠΟ BLACKBOARD VISTA ΣΕ OPEN ECLASS

Διαδικτυακή Πύλη (web portal) ΟΔΗΓΟΣ ΧΡΗΣΗΣ System Συμβουλευτική Α.Ε

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΉΜΙΟ ΚYΠΡΟΥ

ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ

Σχεδιασμός και Ανάπτυξη Ιστοσελίδων ΙΙ ΙΕΚ ΤΡΙΑΝΔΡΙΑΣ ΓΡΑΦΙΣΤΑΣ ΕΝΤΥΠΟΥ ΚΑΙ ΗΛΕΚΤΡΟΝΙΚΩΝ ΜΕΣΩΝ. CMS Content Management Systems Joomla

Σχεδίαση και ανάπτυξη ιστοχώρου του εργαστηρίου Μηχανικής Λογισμικού. Παληόπουλος Αποστόλης-Παπαναγιώτου Παναγιώτης

ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές

Οδηγίες Χρήσης Πλατφόρμας Ασύγχρονης Τηλεκπαίδευσης (Moodle) του Τμήματος ΔΕΤ

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy

Οδηγίες Εγκατάστασης tube & έναρξης δοκιμαστικών μαθημάτων

Τί είναι το Joomla!;

Open eclass Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης

Πλατφόρμα e-μάθησης βασισμένη στο efront

Υπηρεσία διαμοιρασμού αρχείων

Εγκατάσταση. Εγκατάσταση του Wamp

ΑΡΧΕς ΛΕΙΤΟΥΡΓΙΑς CMS (Content Management System) ΚΑΙ ΕΦΑΡΜΟΓΗ ΤΟΥς ςε ΜΙΚΡΟΜΕςΑΙΕς ΕΠΙΧΕΙΡΗςΕΙς

ΤΕΙ Πελοποννήσου Τμήμα Πληροφορικής. Οδηγίες Εγκατάστασης VPN Σύνδεσης στο ΤΕΙ Πελοποννήσου

SITEBUILDER ΠΛΑΤΦΟΡΜΑ ΑΥΤΟΝΟΜΗΣ ΚΑΤΑΣΚΕΥΗΣ & ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΑΚΩΝ ΤΟΠΩΝ (WEBSITE) ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ. Version 2.0

Οδηγός σύνδεσης στο δίκτυο του ΤΕΠΑΚ μέσα από την υπηρεσία απομακρυσμένης πρόσβασης VPN Τεχνολογικό Πανεπιστήμιο Κύπρου

Οδηγίες Χρήσης της MySQL

Δημιουργία ιστοσελίδας με. Wordpress - Βασικές λειτουργίες

Οδηγός Εγκατάστασης

ΠΡΟΣΟΧΗ Η έκδοση 5.40 δεν απαιτεί Convert μετά την εγκατάσταση.

Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress

Δημιουργία μιας εφαρμογής Java με το NetBeans

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

Vodafone Business Connect

Τι είναι ένα σύστημα διαχείρισης περιεχομένου;

Σενάριο Εστίασης Win XP:

ΔΗ Μ Ι Ο ΥΡ Γ Ι Α W I K I με τ η χρήση τ η ς υπ ηρεσίας h t t p : / id ot.com /

Τεχνικές αλλαγές στις εκδόσεις

Χρήσιμες Ρυθμίσεις του Windows 7 στον Η/Υ σας

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ. Ηλεκτρονική Υποβολή Α.Π.Δ.

Εγχειρίδιο Χρήσης Εφαρμογής Συστήματος Διαχείρισης Λογισμικού

Με την αλλαγή των μεταβλητών σελιδοποίησης αυτόματα ρυθμίζετε το νέο όριο για τα άρθρα και τα αποτελέσματα αναζήτησης.

Συστήματα Διαχείρισης Περιεχομένου στον Παγκόσμιο Ιστό Διάλεξη #7 η : Joomla!: Ενθέματα (modules)

MS SQL 2012 Express (Εγκατάσταση με Advanced Services)

ARTius με PostgreSQL

Σταύρος Καουκάκης Ευτύχιος Βαβουράκης

Εθνική Πύλη ermis.gov.gr

ΔΙΑΔΙΚΑΣΙA ΜΕΤΑΦΟΡΑΣ ΥΛΙΚΟΥ ΜΑΘΗΜΑΤΟΣ ΑΠΟ BLACKBOARD VISTA ΣΕ MOODLE

«Σύστημα ΔΕΠ» ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ. Έκδοση 1.1

Εγκατάσταση του PiNet για διαχείριση εργαστηρίου με Raspberry Pi. Συγγραφέας: Τριχόπουλος Γιώργος Δεκέμβριος 2016

Αν παρ όλα αυτά αντιμετωπίζετε πρόβλημα, επικοινωνήστε με το Κέντρο Δικτύου της ΑΣΠΑΙΤΕ Τηλ , , ,

Connectoras. Οδηγίες Εγκατάστασης και χειρισμού STEEL.GR LTD. 1 Μαΐου 2014 Σύνταξη από: Admin

ΕΓΧΕΙΡΙ ΙΟ ΕΓΚΑΤΑΣΤΑΣΗΣ QUARKXPRESS & QLA SERVER

Για περισσότερες πληροφορίες σχετικά με τη συμβατότητα του λογισμικού με άλλα λειτουργικά συστήματα, επικοινωνήστε με το τμήμα υποστήριξης πελατών.

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο. Εργαστηριακή Άσκηση 2 24/01/2012

Οδηγίες Χρήσης EAP Controller Software

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης

WORDPRESS. Εικόνα 1. Πατώντας στη «Σύνδεση» γράψτε το Username (όνομα χρήστη) και το Password (συνθηματικό) (εικόνα 2) που σας έδωσε ο διαχειριστής

Σύστηµα ιαχείρισης Περιεχοµένου. Σοφία Τζελέπη Σχολική Σύµβουλος Πληροφορικής

MCSS Medical Center Support Systems. Setup Instructions

Εφαρμογή Διαχείρισης Ψηφιακής Πληροφορίας ΟΔΗΓΟΣ ΧΡΗΣΗΣ System Συμβουλευτική Α.Ε

Μάθημα 4ο. Προγράμματα

ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ ΓΡΑΜΜΑΤΕΙΑΚΗΣ ΕΦΑΡΜΟΓΗΣ ESCHOOL

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ:

Τεχνολογικό Εκπαιδευτικό Τδρυμα Καβάλας

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΡΗΤΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ (ΣΤΕΦ) ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ

SingularLogic Σεπτέμβριος 2014

Τμήμα Εφαρμοσμένης Πληροφορικής και Πολυμέσων. Πτυχιακή Εργασία. Ηλεκτρονικό Βιβλιοπωλείο Με Online Αγορές σε Joomla. Μωυσιάδης Νικόλαος

Οδηγίες Χρήσης της MySQL

ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ SQL SERVER 2008 R2 Express

ΕΡΓΑΣΤΗΡΙΟ 1: Εισαγωγή, Χρήσιμες Εφαρμογές

ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΜΕΣΟΛΟΓΓΙ ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ ΕΡΓΑΣΤΗΡΙΟ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ Διαδικασία Κατάρτησης Επιχειρηματικού Σχεδίου

NOAS. Οδηγίες Εγκατάστασης και Λειτουργίας. Πακέτου Εφαρµογών. (Network On Line Advertisement System) Θεσσαλονίκη Νοέµβριος 2007.

ΟΔΗΓΙΕΣ ΣΥΝΔΕΣΗΣ ΣΤΟ ΑΣΥΡΜΑΤΟ ΔΙΚΤΥΟ eduroam

Συνοπτικός Οδηγός Χρήσης του MySQL Workbench

Windows 7 Windows Vista

Εγχειρίδιο Χρήστη Εκπαιδευόμενου. Πλατφόρμα ΠΡΟΧΩΡΩ elearning

Οι διαδικασίες ενος CMS είναι σχεδιασμένες για να:

Εγκατάσταση αρχείων βιβλιοθήκης VHOPE και VHOPE

Transcript:

Digital Academy Σεμινάριο Τηλεκπαίδευσης με Θέμα: «ΕΙΣΑΓΩΓΗ ΣΤΗ ΔΗΜΙΟΥΡΓΙΑ ΔΥΝΑΜΙΚΩΝ WEBSITES ΜΕ ΤΟ JOOMLA! CMS»

Περιεχόμενα ΠΕΡΙΕΧΟΜΕΝΑ...2 ΕΝΟΤΗΤΑ 1 ΠΡΩΤΗ ΓΝΩΡΙΜΙΑ ΜΕ ΤΟ JOOMLA...7 1.1 ΕΙΣΑΓΩΓΗ... 7 1.2 ΟΡΟΛΟΓΙΑ... 7 1.3 ΠΗΓΕΣ ΓΝΩΣΗΣ... 8 1.4 ΤΙ ΕΙΝΑΙ ΕΝΑ WEB CMS... 8 1.5 ΙΣΤΟΡΙΑ ΤΟΥ JOOMLA... 9 1.6 ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΤΟΥ JOOMLA... 10 1.7 ΒΑΣΙΚΑ ΣΥΣΤΑΤΙΚΑ ΛΟΓΙΣΜΙΚΟΥ... 11 1.8 ΑΡΧΙΤΕΚΤΟΝΙΚΗ 3 ΕΠΙΠΕΔΩΝ... 11 1.9 ΕΓΚΑΤΑΣΤΑΣΗ ΣΥΣΤΑΤΙΚΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ... 12 1.10 ΕΓΚΑΤΑΣΤΑΣΗ MYSQL... 14 1.11 ΕΓΚΑΤΑΣΤΑΣΗ APACHE... 20 1.12 ΕΓΚΑΤΑΣΤΑΣΗ PHP... 21 1.13 WINDOWS SERVICES... 24 1.14 ΕΓΚΑΤΑΣΤΑΣΗ JOOMLA... 25 1.15 FRONT-END (WEBSITE)... 26 1.16 BACK-END (ADMIN SITE)... 27 1.17 ΕΓΚΑΤΑΣΤΑΣΗ ΠΑΚΕΤΟΥ ΕΛΛΗΝΙΚΩΝ... 28 1.18 ΣΥΣΤΑΤΙΚΑ ΤΟΥ JOOMLA... 30 1.19 ΔΗΜΙΟΥΡΓΙΑ ΑΡΧΕΙΟΥ DUMP... 31 ΕΝΟΤΗΤΑ 2 ΟΡΓΑΝΩΣΗ, ΔΙΑΧΕΙΡΙΣΗ ΚΑΙ ΕΠΕΞΕΡΓΑΣΙΑ ΠΕΡΙΕΧΟΜΕΝΟΥ...33 2.1 ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ... 33 2.2 ΔΙΑΧΕΙΡΙΣΗ ΕΝΟΤΗΤΩΝ... 34 2.3 CASE STUDY... 36 2.4 ΕΠΕΞΕΡΓΑΣΙΑ ΕΝΟΤΗΤΩΝ... 37 2.5 ΔΙΑΧΕΙΡΙΣΗ ΚΑΤΗΓΟΡΙΩΝ... 39 2.6 ΕΠΕΞΕΡΓΑΣΙΑ ΚΑΤΗΓΟΡΙΩΝ... 40 2.7 ΔΙΑΧΕΙΡΙΣΗ ΑΡΘΡΩΝ... 41 2.8 ΓΕΝΙΚΕΣ ΠΑΡΑΜΕΤΡΟΙ ΑΡΘΡΩΝ... 44 2.9 ΕΠΕΞΕΡΓΑΣΙΑ ΑΡΘΡΩΝ... 47 2.10 ΧΡΗΣΗ EDITOR... 49 2.11 MEDIA MANAGER... 52 2.12 ΕΠΕΞΕΡΓΑΣΙΑ ΑΡΘΡΩΝ ΑΠΟ ΤΟ FRONT-ΕND... 53 2.13 ΠΑΡΑΛΕΙΠΟΜΕΝΑ... 55 ΕΝΟΤΗΤΑ 3 ΔΙΑΧΕΙΡΙΣΗ ΜΕΝΟΥ, ΑΡΧΙΚΗ ΣΕΛΙΔΑ...57 3.1 ΜΗΧΑΝΙΣΜΟΣ ΠΡΟΒΟΛΗΣ FRONT-END... 57 3.2 ΤΟ ΣΥΣΤΗΜΑ ΜΕΝΟΥ ΤΟΥ JOOMLA... 58 3.3 MENU MANAGER... 59 3.4 ΔΗΜΙΟΥΡΓΙΑ-ΔΙΑΧΕΙΡΙΣΗ ΜΕΝΟΥ... 60 3.5 MENU ITEM MANAGER... 61 3.6 ΔΗΜΙΟΥΡΓΙΑ MENU ITEM... 63 Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS 2

3.7 ΔΙΑΧΕΙΡΙΣΗ MENU ITEM... 67 3.8 ARTICLE LAYOUT MENU ITEM... 67 3.9 CASE STUDY ΜΕΝΟΥ & MENU ITEMS... 68 3.10 ΠΡΟΒΟΛΗ ΜΕΝΟΥ ΜΕΣΩ MODULES... 70 3.11 ΕΛΕΓΧΟΣ ΠΡΟΣΒΑΣΗΣ ΣΕ ΜΕΝΟΥ... 72 3.12 ΠΡΟΒΟΛΗ ΜΕΝΟΥ... 73 3.13 ΑΡΧΙΚΗ ΣΕΛΙΔΑ (FRONT PAGE)... 74 ΕΝΟΤΗΤΑ 4 ΔΙΑΧΕΙΡΙΣΗ ΧΡΗΣΤΩΝ, ΓΛΩΣΣΩΝ, ΔΙΑΦΗΜΙΣΕΩΝ & ΕΠΑΦΩΝ...79 4.1 ΕΙΣΑΓΩΓΗ... 79 4.2 USER MANAGER... 79 4.3 ΟΜΑΔΕΣ ΧΡΗΣΤΩΝ ΚΑΙ ΔΙΚΑΙΩΜΑΤΑ... 81 4.4 ΔΗΜΙΟΥΡΓΙΑ ΧΡΗΣΤΗ... 82 4.5 ΔΙΑΧΕΙΡΙΣΗ ΧΡΗΣΤΩΝ... 84 4.6 ΡΥΘΜΙΣΗ ΔΙΑΔΙΚΑΣΙΑΣ ΕΓΓΡΑΦΗΣ... 85 4.7 ΥΠΕΝΘΥΜΙΣΕΙΣ, ΦΟΡΜΑ LOGIN, ΑΝΑΚΑΤΕΥΘΥΝΣΗ... 86 4.8 ΕΛΕΓΧΟΣ ΠΡΟΣΒΑΣΗΣ... 87 4.9 ΔΙΑΧΕΙΡΙΣΗ ΓΛΩΣΣΩΝ... 88 4.10 LANGUAGE MANAGER... 88 4.11 BANNER COMPONENT... 90 4.12 BANNER MANAGER... 91 4.13 BANNER CLIENT MANAGER... 93 4.14 BANNER CATEGORY MANAGER... 94 4.15 ΔΗΜΙΟΥΡΓΙΑ-ΔΙΑΧΕΙΡΙΣΗ BANNER... 97 4.16 ΧΡΗΣΗ BANNERS MODULE... 99 4.17 CONTACTS COMPONENT... 101 4.18 CONTACT MANAGER... 101 4.19 CONTACT CATEGORY MANAGER... 103 4.20 ΔΗΜΙΟΥΡΓΙΑ-ΔΙΑΧΕΙΡΙΣΗ ΕΠΑΦΩΝ... 104 4.21 ΠΡΟΒΟΛΗ ΦΟΡΜΑΣ ΕΠΙΚΟΙΝΩΝΙΑΣ... 105 ΕΝΟΤΗΤΑ 5 ΔΙΑΧΕΙΡΙΣΗ FEEDS, ΔΗΜΟΨΗΦΙΣΜΑΤΩΝ & ΣΥΝΔΕΣΜΩΝ, SITE MODULES...107 5.1 NEWS FEEDS COMPONENT... 107 5.2 NEWS FEEDS MANAGER... 107 5.3 NEWS FEEDS CATEGORY MANAGER... 109 5.4 ΔΗΜΙΟΥΡΓΙΑ-ΔΙΑΧΕΙΡΙΣΗ NEWS FEEDS... 110 5.5 ΠΡΟΒΟΛΗ NEWS FEEDS... 112 5.6 POLLS COMPONENT... 113 5.7 POLL MANAGER... 113 5.8 ΔΗΜΙΟΥΡΓΙΑ-ΔΙΑΧΕΙΡΙΣΗ ΔΗΜΟΨΗΦΙΣΜΑΤΩΝ... 114 5.9 ΠΡΟΒΟΛΗ ΔΗΜΟΨΗΦΙΣΜΑΤΩΝ... 115 5.10 WEB LINKS COMPONENT... 117 5.11 WEB LINK MANAGER... 117 5.12 WEB LINKS CATEGORY MANAGER... 119 5.13 ΔΗΜΙΟΥΡΓΙΑ-ΔΙΑΧΕΙΡΙΣΗ ΣΥΝΔΕΣΜΩΝ... 120 5.14 ΠΡΟΒΟΛΗ ΣΥΝΔΕΣΜΩΝ... 122 5.15 MODULES... 122 5.16 MODULE MANAGER... 123 5.17 ΔΗΜΙΟΥΡΓΙΑ-ΔΙΑΧΕΙΡΙΣΗ MODULES... 124 5.18 ΠΑΡΟΥΣΙΑΣΗ FRONT-END MODULES... 126 5.18.1 Archived Content... 126 Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS 3

5.18.2 Banner... 127 5.18.3 Breadcrumbs... 127 5.18.4 Custom HTML... 128 5.18.5 Footer... 128 5.18.6 Feed Display... 128 5.18.7 Latest News... 130 5.18.8 Login... 130 5.18.9 Menu... 131 5.18.10 Most Read Content... 132 5.18.11 Newsflash... 133 5.18.12 Poll... 134 5.18.13 Random Image... 134 5.18.14 Related Articles... 135 5.18.15 Sections... 135 5.18.16 Search... 136 5.18.17 Statistics... 136 5.18.18 Syndicate... 137 5.18.19 Who's Online... 138 5.18.20 Wrapper... 138 ΕΝΟΤΗΤΑ 6 ADMINISTRATION MODULES, PLUGINS...141 6.1 ADMINISTRATOR MODULES... 141 6.2 ΔΗΜΙΟΥΡΓΙΑ-ΔΙΑΧΕΙΡΙΣΗ ADMINISTRATOR MODULES... 141 6.3 ΠΑΡΟΥΣΙΑΣΗ ADMINISTRATOR MODULES... 143 6.3.1 Admin Menu... 143 6.3.2 Admin Submenu... 143 6.3.3 Custom HTML... 144 6.3.4 Footer... 144 6.3.5 Feed Display... 145 6.3.6 Item Stats... 146 6.3.7 Latest News... 146 6.3.8 Logged In Users... 147 6.3.9 Login Form... 148 6.3.10 Online Users... 148 6.3.11 Popular Articles... 149 6.3.12 Quick Icons... 149 6.3.13 Title... 150 6.3.14 Toolbar... 150 6.3.15 Unread Messages... 150 6.3.16 User Status... 151 6.4 PLUGINS... 151 6.5 PLUGIN MANAGER... 152 6.6 ΔΙΑΧΕΙΡΙΣΗ PLUGINS... 153 6.7 ΠΑΡΟΥΣΙΑΣΗ PLUGINS... 154 6.7.1 Authentication Plugins... 154 6.7.2 Content Plugins... 156 6.7.3 Editor Plugins... 157 6.7.4 Editors XTD Plugins... 159 6.7.5 Search Plugins... 160 6.7.6 System Plugins... 161 6.7.7 XML-RPC Plugins... 162 Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS 4

6.7.8 User Plugin... 163 ΕΝΟΤΗΤΑ 7 ΔΗΜΙΟΥΡΓΙΑ/ΠΡΟΣΑΡΜΟΓΗ ΠΡΟΤΥΠΩΝ (TEMPLATES)...165 7.1 JOOMLA TEMPLATES... 165 7.2 ΠΡΟΕΓΚΑΤΕΣΤΗΜΕΝΑ TEMPLATES... 166 7.3 ΔΟΜΗ ΠΡΟΤΥΠΩΝ... 167 7.4 TEMPLATE MANAGER... 168 7.5 ΑΝΑΘΕΣΗ ΠΡΟΤΥΠΩΝ... 172 7.6 ΠΡΟΣΑΡΜΟΓΗ ΠΡΟΤΥΠΩΝ... 173 7.7 ΕΛΕΓΧΟΣ ΕΜΦΑΝΙΣΗΣ ΜΕΝΟΥ... 175 7.8 ΧΡΗΣΗ MODULE CHROME... 175 7.9 ΠΡΟΣΑΡΜΟΣΜΕΝΗ ΣΕΛΙΔΟΠΟΙΗΣΗ... 176 7.10 ΔΗΜΙΟΥΡΓΙΑ ΝΕΩΝ ΠΡΟΤΥΠΩΝ... 177 7.11 ΣΧΕΔΙΑΣΗ ΠΡΟΤΥΠΟΥ ΓΙΑ ΤΟ SITE ΤΟΥ CASE STUDY... 180 7.12 ΥΠΟΚΑΤΑΣΤΑΤΑ (OVERRIDES)... 187 7.13 ΤΕΛΙΚΟ ΑΠΟΤΕΛΕΣΜΑ... 187 7.14 ΠΑΚΕΤΑΡΙΣΜΑ ΠΡΟΤΥΠΟΥ... 189 ΕΝΟΤΗΤΑ 8 ΕΠΕΚΤΑΣΕΙΣ, ΠΟΛΥΓΛΩΣΣΙΚΑ SITES ΜΕ ΤΟ JOOMFISH...191 8.1 ΕΠΕΚΤΑΣΕΙΣ... 191 8.2 ΑΝΑΖΗΤΗΣΗ ΕΠΕΚΤΑΣΕΩΝ... 192 8.3 EXTENSION MANAGER... 194 8.4 ΧΡΗΣΙΜΕΣ ΕΠΕΚΤΑΣΕΙΣ... 201 8.5 ΠΟΛΥΓΛΩΣΣΙΚΑ SITES ΜΕ ΤΟ JOOMFISH... 203 8.6 ΠΕΡΙΒΑΛΛΟΝ JOOMFISH... 204 8.7 ΧΡΗΣΗ JOOMFISH... 207 8.8 JOOMFISH FRONT-ΕND MODULE... 212 8.9 ΛΟΙΠΕΣ ΣΕΛΙΔΕΣ... 213 ΕΝΟΤΗΤΑ 9 ΗΛΕΚΤΡΟΝΙΚΑ ΚΑΤΑΣΤΗΜΑΤΑ ΜΕ ΤΟ VIRTUEMART...215 9.1 Η ΕΠΕΚΤΑΣΗ VIRTUEMART... 215 9.2 ΕΓΚΑΤΑΣΤΑΣΗ VIRTUEMART... 216 9.3 CONTROL PANEL... 218 9.4 ΓΕΝΙΚΕΣ ΡΥΘΜΙΣΕΙΣ ΚΑΤΑΣΤΗΜΑΤΟΣ... 219 9.5 ΠΛΗΡΟΦΟΡΙΕΣ ΚΑΤΑΣΤΗΜΑΤΟΣ... 226 9.6 ΚΑΤΗΓΟΡΙΕΣ & ΠΡΟΪΟΝΤΑ... 227 9.7 ΠΑΡΑΚΟΛΟΥΘΗΣΗ ΠΑΡΑΓΓΕΛΙΩΝ... 235 9.8 ΑΝΑΦΟΡΕΣ... 236 9.9 FRONT-END ΚΑΤΑΣΤΗΜΑΤΟΣ... 238 ΕΝΟΤΗΤΑ 10 ΣΥΝΤΗΡΗΣΗ JOOMLA WEBSITES, SEO...241 10.1 ΘΕΜΑΤΑ ΣΥΝΤΗΡΗΣΗΣ... 241 10.2 GLOBAL CONFIGURATION... 241 10.3 ΘΕΜΑΤΑ ΑΣΦΑΛΕΙΑΣ... 248 10.3.1 Προστασία Αρχείων Πυρήνα... 248 10.3.2 Προστασία Third-Party Extensions... 251 10.4 ΕΝΗΜΕΡΩΣΕΙΣ ΓΙΑ ΘΕΜΑΤΑ ΑΣΦΑΛΕΙΑΣ... 251 10.5 ΘΕΜΑΤΑ ΣΥΝΤΗΡΗΣΗΣ... 252 10.5.1 Προσωρινό Κατέβασμα του Site... 252 10.5.2 Λήψη Αντιγράφου Ασφαλείας/Αποκατάσταση... 253 10.5.3 Ανάκτηση Πρόσβασης στον Λογαριασμό του Διαχειριστή... 253 Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS 5

10.5.4 Αναβάθμιση Εγκατάστασης... 254 10.6 ΘΕΜΑΤΑ ΑΠΟΔΟΣΗΣ... 255 10.6.1 Διαχείριση Cache... 255 10.6.2 Βελτίωση Απόδοσης Περιεχομένου... 258 10.7 ΡΥΘΜΙΣΕΙΣ ΒΕΛΤΙΣΤΗΣ ΑΠΟΔΟΣΗΣ... 259 10.8 ΒΕΛΤΙΩΣΗ ΠΡΟΣΒΑΣΙΜΟΤΗΤΑΣ... 260 10.9 SEARCH ENGINE OPTIMIZATION (SEO)... 261 Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS 6

Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS Ενότητα 1 Πρώτη Γνωριμία με το Joomla 1.1 Εισαγωγή Καλώς ήρθατε στο μάθημα ηλεκτρονικής διδασκαλίας «Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS» του Εργαστηρίου Τεχνολογίας Πολυμέσων του Ε.Μ.Π. Σκοπός του μαθήματος είναι η εκμάθηση τόσο των βασικών, όσο και πιο προχωρημένων δυνατοτήτων του δημοφιλούς Web CMS μέσα από μία σειρά 10 εκπαιδευτικών ενοτήτων οι οποίες καλύπτουν συνολικά όλα αυτά που θα πρέπει να γνωρίζει κάποιος για να είναι σε θέση να δημιουργεί ολοκληρωμένα Joomla websites. Η οργάνωση της διδασκαλίας του μαθήματος έχει γίνει με τη θεώρηση πως οι εκπαιδευόμενοι δεν έχουν ιδιαίτερη εμπειρία επάνω στις τεχνολογίες web όπως π.χ. την PHP, την HTML, τα CSS ή τις σχεσιακές βάσεις δεδομένων. Αυτό άλλωστε είναι και ένα από τα μεγάλα πλεονεκτήματα των Web CMS, ότι δηλαδή δίνουν τη δυνατότητα ακόμη και σε αρχάριους χρήστες να δημοσιεύουν περιεχόμενο στον παγκόσμιο ιστό και να 'στήνουν' εύκολα και γρήγορα λειτουργικά websites. Στο μεγαλύτερο κομμάτι λοιπόν του σεμιναρίου όλοι οι εκπαιδευόμενοι θα είναι σε θέση να ακολουθήσουν την διδακτέα ύλη χωρίς προβλήματα με μοναδική εξαίρεση ίσως την ενότητα που αφορά στη δημιουργία templates. Για τις ρυθμίσεις που αφορούν στην αισθητική παρουσίαση ενός website στον χρήστη, τo Joomla κάνει χρήση των λεγόμενων Pure CSS Templates, δηλαδή προτύπων βασισμένων εξ' ολοκλήρου στην τεχνολογία CSS (Cascading Style Sheets) και άρα η γνώση της συγκεκριμένης τεχνολογίας, έστω και σε βασικό επίπεδο, είναι επιβεβλημένη. Το θετικό είναι πως η συγκεκριμένη τεχνολογία είναι σχετικά απλή οπότε ευελπιστούμε πως με τη βοήθειά μας και σε συνδυασμό με ένα σχετικό με το θέμα βιβλίο ή τα αμέτρητα online tutorials που υπάρχουν στο web, θα είναι όλοι σε θέση να την κατανοήσουν. Δεδομένου πως το Joomla είναι μία εφαρμογή γραμμένη σε PHP και κάνει χρήση μιας σχεσιακής βάσης δεδομένων, είναι προφανές πως όσοι από εσάς έχουν εμπειρία στις τεχνολογίες αυτές θα είναι σε θέση να κατανοήσουν συνολικά καλύτερα τόσο την λειτουργία του, όσο και την παραμετροποίησή του. Αν και κάτι τέτοιο, όπως ήδη αναφέρθηκε, δεν αποτελεί προϋπόθεση για την επιτυχή παρακολούθηση του σεμιναρίου, αυτό που σίγουρα απαιτείται από την πλευρά σας είναι να είστε πλήρως εξοικειωμένοι με το λειτουργικό σύστημα των Windows και τις διάφορες λειτουργίες του όπως η εγκατάσταση προγραμμάτων, η εκτέλεση εντολών από τη γραμμή εντολών (command prompt), η εκτέλεση διαφόρων ρυθμίσεων κλπ. 1.2 Ορολογία Ένα μεγάλο και σημαντικό κεφάλαιο στην εκμάθηση μιας νέας τεχνολογίας αφορά στη γνώση της ορολογίας. Οι τεχνολογίες web δεν αποτελούν εξαίρεση και μάλιστα περιέχουν έναν αρκετά μεγάλο αριθμό όρων τους οποίους θα διδαχτείτε στην πορεία του σεμιναρίου. Οι εξελίξεις στο χώρο της πληροφορικής έρχονται από το εξωτερικό και συνεπώς η ορολογία είναι εκφρασμένη στην Αγγλική Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS 7

γλώσσα. Από την άλλη πλευρά, οι μεταφραστές των ξενόγλωσσων βιβλίων στα Ελληνικά συνήθως μεταφράζουν τον Αγγλικό όρο αντιστοιχίζοντάς τον με κάποια Ελληνική λέξη, που δυστυχώς στις περισσότερες περιπτώσεις δεν είναι η απολύτως σωστή. Υπάρχουν αμέτρητα τέτοια παραδείγματα, ένα από αυτά τυγχάνει να είναι και το βιβλίο που προμηθευτήκατε το οποίο, ανεξάρτητα από το συγκεκριμένο θέμα, είναι ένα πολύ καλό βιβλίο. Αν και προσωπικά προτιμώ να διαβάζω ξενόγλωσσα τεχνικά συγγράμματα και να χρησιμοποιώ την Αγγλική ορολογία, η πρακτική που θα ακολουθηθεί στη διδασκαλία του μαθήματος είναι να σας παρουσιάζεται η ορολογία στα Αγγλικά αλλά και στα Ελληνικά, χρησιμοποιώντας όμως τον σωστό όρο ακόμη κι αν έρχεται σε αντίθεση με αυτόν που μπορεί να συναντήσετε στο βιβλίο σας. 1.3 Πηγές Γνώσης 1. Βιβλιογραφία Το βιβλίο που έχετε ήδη προμηθευτεί είναι ένα πολύ καλό βιβλίο για εκμάθηση του Joomla από αρχάριους και θα σας βοηθήσει αρκετά στην πορεία του εξαμήνου. Αν και στην Ελληνική αγορά δεν θα βρείτε μεγάλη ποικιλία βιβλίων για το Joomla, για όποιον ενδιαφέρεται να προμηθευτεί έναν ακόμη τίτλο υπάρχει πληθώρα επιλογών σε ξενόγλωσσους. Ένα καλό βιβλίο για όσους ενδιαφέρονται να εμβαθύνουν στη δημιουργία templates είναι το: Joomla! 1.5 Template Design, T Silver, Packt Publishing, 2009 Για πιο προχωρημένους χρήστες που επιθυμούν να επεκτείνουν το Joomla δημιουργώντας τα δικά τους components και modules, ένα βιβλίο που θα βοηθήσει αρκετά είναι το: Learning Joomla! 1.5 Extension Development, J LeBlanc, Packt Publishing, 2008 Τέλος, για όσους ενδιαφέρονται να χρησιμοποιήσουν το Joomla για τη δημιουργία ηλεκτρονικών καταστημάτων, το παρακάτω βιβλίο θα τους φανεί σίγουρα χρήσιμο. Joomla! E-Commerce with VirtueMart, S. Sarkar, Packt Publishing, 2009 2. Online παραδείγματα Στο διαδίκτυο οι πηγές που σχετίζονται με την εκμάθηση του Joomla είναι πραγματικά αμέτρητες. Ένα καλό site με tutorial στα Αγγλικά είναι το: http://www.joomlatutorials.com 3. Websites Το επίσημο site του Joomla καλύπτει σχεδόν τα πάντα σχετικά με αυτό, όπως downloads, τεκμηρίωση, forum υποστήριξης κλπ. Η διεύθυνση είναι: http://www.joomla.org Το αντίστοιχο site της Ελληνικής κοινότητας βρίσκεται στη διεύθυνση: http://www.joomla.gr 1.4 Τι Είναι Ένα Web CMS Πριν προχωρήσουμε στην εγκατάσταση του Joomla και στην πρώτη γνωριμία μας με αυτό θα πρέπει να πούμε λίγα λόγια σχετικά με τα Web CMS, μιας και το Joomla είναι ένα τέτοιο. Με το όρο CMS (Content Management System) αναφερόμαστε σε συστήματα λογισμικού ή μη που έχουν ως Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS 8

πρωταρχικό στόχο την αυτοματοποίηση της ροής εργασιών (streamlining) ενός οργανισμού και την ομαλή συνεργασία των χρηστών που έχουν πρόσβαση στα δεδομένα του εν λόγω οργανισμού, μέσα από ένα κοινό περιβάλλον εργασίας. Τα δεδομένα αυτά μπορεί να είναι αρχεία κειμένου, φωτογραφίες, αρχεία βίντεο, αναφορές, η οτιδήποτε άλλο. Στις βασικές λειτουργίες ενός CMS λοιπόν συγκαταλλέγονται, ο έλεγχος πρόσβασης στα δεδομένα ανάλογα με τα δικαιώματα του κάθε χρήστη, η διευκόλυνση δημιουργίας αναφορών, η διευκόλυνση επικοινωνίας μεταξύ των χρηστών κ.α. Ένα Web CMS εξειδικεύεται σε δεδομένα που προορίζονται να εκδοθούν σε ένα website καθώς και στις διαδικασίες που αφορούν στη διαχείρισή του. Έτσι λοιπόν, ένα τυπικό Web CMS είναι μια εφαρμογή που παρέχει λειτουργίες όπως: Τη δυνατότητα προσθήκης περιεχομένου από χρήστες χωρίς να προϋποθέτει γνώσεις σε HTML, CSS κλπ Τη δυνατότητα έκδοσης περιεχομένου βάσει χρονοδιαγράμματος Τη δυνατότητα διαχείρισης υλικού multimedia (φωτογραφίες, βίντεο, flash κλπ) Την αποθήκευση περιεχομένου και άλλου υλικού (συνήθως σε μία βάση) Τη δυνατότητα εναλλαγής προτύπων οπτικοποίησης (templates) με ευκολία Τη διαχείριση χρηστών με διαχωρισμό δικαιωμάτων πρόσβασης Τη διανομή περιεχομένου με εναλλακτικούς τρόπους (π.χ. RSS, email κλπ) Την επεκτασιμότητα και υποστήριξη web standards Αυτές είναι κάποιες από τις πιο βασικές λειτουργίες που παρέχει ένα τυπικό Web CMS στις μέρες μας. Κάνοντας μια αναζήτηση στον παγκόσμιο ιστό σχετικά με τα Web CMS θα ανακαλύψετε πως υπάρχει πληθώρα διαθέσιμων πακέτων ώστε να καλύπτουν τις ανάγκες όλων των χρηστών και των οργανισμών. Ανάλογα λοιπόν με τις απαιτήσεις του κάθε ενδιαφερομένου, μπορεί να επιλέξει όχι μόνο βάσει της υποστηριζόμενης λειτουργικότητας αλλά και ανάμεσα σε open source ή εμπορικά Web CMS, καθώς επίσης και βάσει της τεχνολογίας που χρησιμοποιούν π.χ. μεταξύ Web CMS που κάνουν χρήση PHP ή αυτών που κάνουν χρήση τεχνολογιών.net κλπ. Κάποια από τα πλέον δημοφιλή και γνωστά Web CMS είναι φυσικά το Joomla, το Mambo, το Drupal και το ez Publish. 1.5 Ιστορία του Joomla Το Joomla αποτελεί παιδί ενός άλλου γνωστού CMS, του Mambo του οποίου υπήρξε fork. Με τον όρο fork στη Μηχανική Λογισμικού αναφερόμαστε σε ένα project όπου μια ομάδα developers παίρνει μία νόμιμη κόπια ενός λογισμικού και αρχίζει ανεξάρτητη υλοποίηση επάνω σε αυτό. Η διαδικασία ξεκίνησε τον Αύγουστο του 2005, όταν τα πνευματικά δικαιώματα του Mambo ανήκαν στην εταιρεία Miro Intl Pty Ltd. Η εταιρεία δημιουργεί έναν μη κερδοσκοπικό οργανισμό με σκοπό να χρηματοδοτήσει το project και να το προστατέψει από πιθανές αγωγές. Η ομάδα υλοποίησης εκφράζει ρητά τις ενστάσεις της και τις διαφωνίες της σχετικά με διάφορους όρους που έχει θέσει η εταιρεία οι οποίοι κατά τη γνώμη των μελών της αντιβαίνουν με τους κανόνες χρήσης και διάδοσης του λεγόμενου λογισμικού ανοιχτού πηγαίου κώδικα (open source). Η ομάδα υλοποίησης λοιπόν του Joomla (που τότε δεν είχε ακόμη καν όνομα) δημιουργεί ένα website με ονομασία 'OpenSourceMatters' όπου εκφράζει την αντίθεσή της με τους όρους της Miro καθώς και τις θέσεις της σχετικά με την ανάγκη ύπαρξης ελεύθερου λογισμικού. Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS 9

Η κίνηση αυτή προσελκύει πολύ κόσμο ο οποίος ενθαρρύνει την ομάδα υλοποίησης ώστε αυτή να κινηθεί προς την κατεύθυνση λανσαρίσματος του fork στο ευρύ κοινό. Μη έχοντας ακόμη επίσημο όνομα για το project, στις 18 Αυγούστου του 2005 ο Andrew Blake (επικεφαλής της ομάδας υλοποίησης) καλεί τους φίλους της κίνησης να προτείνουν ονόματα για το project. Την 1 η του Σεπτέμβρη του 2005 ανακοινώνεται στο κοινό πως το όνομα που επιλέχθηκε ήταν το Joomla, Αραβική λέξη η μεταφράζεται στην Ελλινική ως 'συνολικά'. Λίγο αργότερα τον ίδιο μήνα, στις 16, έχουμε το επίσημο λανσάρισμα της πρώτης έκδοσης του Joomla, ενώ τις επόμενες εβδομάδες ακολουθεί το λανσάρισμα του επίσημου λογοτύπου και του εγχειριδίου χρήσης. Η πρώτη έκδοση του Joomla (1.0.0) ήταν στην ουσία ένα αντίγραφο του Mambo 4.5.2.3 στο οποίο είχαν γίνει μικροδιορθώσεις σε bugs και είχαν εφαρμοστεί patches σε γνωστές 'τρύπες' ασφαλείας. Η δεύτερη έκδοση του Joomla που είναι η 1.5.0 λανσάρεται στις 22 Ιανουαρίου του 2008 και εισάγει πολλές αλλαγές στον τρόπο λειτουργίας της πλατφόρμας αλλά και νέα λειτουργικότητα σε σχέση με τον προκάτοχό της. Από την πρώτη έκδοσή του μέχρι και σήμερα το Joomla έχει γίνει εξαιρετικά δημοφιλές και σύμφωνα με την επίσημη αναφορά Open Source CMS Market Share Report, από τον Οκτώβριο του 2009 το Joomla είναι το πιο δημοφιλές Web CMS. 1.6 Χαρακτηριστικά του Joomla Το Joomla είναι ένα Web CMS ανοιχτού πηγαίου κώδικα, που σημαίνει πως μπορείτε να το χρησιμοποιήσετε τόσο για τη δημιουργία sites μη κερδοσκοπικού χαρακτήρα όσο και εμπορικών χωρίς να απαιτείται η καταβολή κάποιου χρηματικού ποσού στους developers της πλατφόρμας ή η αγορά κάποιας άδειας χρήσης. Αυτό είναι και ένα από τα μεγαλύτερα πλεονεκτήματά του έναντι άλλων Web CMS, αν και σήμερα υπάρχει όπως προαναφέρθηκε πληθώρα open source Web CMS για όλες τις ανάγκες και όλες τις απαιτήσεις. Αποτελείται από έναν πυρήνα στον οποίο ενσωματώνεται η συνολική λειτουργικότητα υπό τη μορφή modules, components, plugins και templates. Κάποια από τα βασικότερα χαρακτηριστικά του είναι τα εξής: Υποστηρίζει διαχείριση και πιστοποίηση (authentication) χρηστών Υποστηρίζει διαφορετικές γλώσσες (internationalization) Είναι πλήρως επεκτάσιμο Υποστηρίζει χρήση web services Επιτρέπει στους χρήστες να συνεισφέρουν στο περιεχόμενο κάνοντας χρήση WYSIWYG editors Έχει ενσωματωμένο σύστημα βοήθειας προς τον χρήστη Περιέχει ενσωματωμένο FTP Manager Επιτρέπει την εύκολη εναλλαγή προτύπων (templates) Υποστηρίζει χρήση URI που είναι φιλικά προς τις μηχανές αναζήτησης Υποστηρίζει πληθώρα χρήσιμων λειτουργιών όπως: Δημοψηφίσματα (polls) Φόρμες επικοινωνίας Νέα με τη μορφή RSS Feeds Διαχείριση επαφών και email Προβολή σελίδων ως pdf αρχεία Σελίδες φιλικές στην εκτύπωση Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS 10

1.7 Βασικά Συστατικά Λογισμικού Όλες οι σοβαρές επιχειρησιακές εφαρμογές λογισμικού αποτελούνται από τέσσερα βασικά συστατικά. Τα συστατικά αυτά από κάτω προς τα πάνω (lower to higher level) είναι τα εξής: 1. Αποθήκευση δεδομένων (data storage): Πρόκειται για το κομμάτι της εφαρμογής που είναι υπεύθυνο για την αποθήκευση των δεδομένων. Κάθε εφαρμογή διαχειρίζεται δεδομένα τα οποία και αποθηκεύει είτε σε μία βάση δεδομένων είτε σε κάποιας μορφής αρχείο. Ο τρόπος με τον οποίο αποθηκεύονται τα δεδομένα αυτά είναι ευθύνη του συγκεκριμένου συστατικού. 2. Λογική πρόσβασης δεδομένων (data access logic): Το συγκεκριμένο συστατικό της εφαρμογής είναι υπεύθυνο να παρέχει έναν αξιόπιστο μηχανισμό ελέγχου πρόσβασης των δεδομένων της ανάλογα με τα δικαιώματα του κάθε χρήστη, χωρίς ο μηχανισμός αυτός να είναι πολύπλοκος. Στην περίπτωση που τα δεδομένα αποθηκεύονται σε μια σχεσιακή βάση δεδομένων τον ρόλο αυτόν αναλαμβάνει το RDBMS, ενώ στην περίπτωση που τα δεδομένα αποθηκεύονται σε κάποιο αρχείο ο μηχανισμός υλοποιείται είτε από την ίδια την εφαρμογή, είτε από το file system είτε χρησιμοποιείται συνδυασμός και των δύο. 3. Επιχειρησιακή λογική (application logic): Πρόκειται για το καθαρά προγραμματιστικό κομμάτι της εφαρμογής που περιγράφει τις διαδικασίες και τον τρόπο λειτουργίας της επιχείρησηςοργανισμού που επιθυμεί να τις αυτοματοποιήσει κάνοντας χρήση της εν λόγω εφαρμογής. 4. Λογική παρουσίασης (presentation logic): Το συστατικό της εφαρμογής που περιγράφει τον τρόπο με τον οποίο υλοποιείται η διάδραση του χρήστη με αυτήν. Συνήθως πρόκειται για κάποιας μορφής GUI που υλοποιείται σε μία high-level γλώσσα προγραμματισμού και κάνει χρήση του event-driven μοντέλου προγραμματισμού, ή ενός web interface στο οποίο ο χρήστης έχει πρόσβαση μέσω ενός web browser. Ανάλογα με την αρχιτεκτονική που χρησιμοποιείται από τους μηχανικούς για την υλοποίηση της εφαρμογής, τα παραπάνω συστατικά μπορεί να υλοποιούνται σε ένα ή σε περισσότερα επίπεδα. 1.8 Αρχιτεκτονική 3 Επιπέδων Οι σύγχρονες διαδικτυακές εφαρμογές κάνουν χρήση μιας αρχιτεκτονικής γνωστής ως multi-tiered που στα Ελληνικά σημαίνει αρχιτεκτονική πολλών επιπέδων. Η συγκεκριμένη αρχιτεκτονική έχει κατά κάποιον τρόπο αντικαταστήσει την παραδοσιακή client/server αρχιτεκτονική όπου η συνολική λειτουργικότητα μοιράζεται σε 2 επίπεδα και πλέον 'σπάει' σε 3 ή περισσότερα επίπεδα (n tiers). Από τις πιο γνωστές και επιτυχημένες αρχιτεκτονικές της κατηγορίας αυτής είναι η Java EE, η οποία κάνει χρήση τεσσάρων επιπέδων. Οι διαδικτυακές εφαρμογές γραμμένες σε PHP χρησιμοποιούν ένα επίπεδο λιγότερο, δηλαδή συνολικά τρία. Αυτό σημαίνει πως τα συστατικά που περιγράψαμε στην προηγούμενη υποενότητα μοιράζονται σε τρία ξεχωριστά επίπεδα τα οποία είναι το Database tier, το Web tier και το Client tier. Database tier: Το επίπεδο αυτό υλοποιεί τόσο τον μηχανισμό αποθήκευσης των δεδομένων όσο και τον μηχανισμό έλεγχου πρόσβασης σε αυτά κάνοντας χρήση ενός RDBMS που συνήθως είναι ένας MySQL Server. Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS 11

Web tier: Στο επίπεδο αυτό υλοποιείται η επιχειρησιακή λογική της εφαρμογής αλλά και μεγάλο κομμάτι της παρουσίασης κάνοντας χρήση ενός συνόλου αρχείων που μπορεί να είναι αρχεία PHP, HTML, CSS, JavaScript, εικόνες κ.α. Ένας Web server (συνήθως ένας Apache) σε συνεργασία με τα πακέτα της PHP που βρίσκονται εγκατεστημένα στο συγκεκριμένο επίπεδο αναλαμβάνουν να τροφοδοτήσουν τον web browser του χρήστη με HTML, τη γλώσσα δηλαδή που μπορεί να ερμηνεύσει. Client tier: Το επίπεδο αυτό βρίσκεται στον υπολογιστή του χρήστη και συγκεκριμένα στον web browser που χρησιμοποιεί για να αλληλεπιδράσει με την εφαρμογή. Για αυτόν ακριβώς τον λόγο στο σχήμα 1 που ακολουθεί βλέπουμε πως κομμάτι της παρουσίασης βρίσκεται υλοποιημένο στο επίπεδο αυτό. Το τμήμα της παρουσίασης που υλοποιείται στο Client tier είναι ο ίδιος ο web browser, ένα λογισμικό δηλαδή μέσω του οποίου ο χρήστης είναι σε θέση να ερμηνεύσει και να προβάλλει την HTML που του αποστέλλει ο Web server. Στο σχήμα 1.1 περιγράφεται η αρχιτεκτονική 3 επιπέδων της PHP και συγκεκριμένα, ο φυσικός διαχωρισμός. Στην περίπτωση αυτή τα 3 διαφορετικά επίπεδα της αρχιτεκτονικής βρίσκονται εγκατεστημένα σε διαφορετικά μηχανήματα. Σχήμα 1.1 Στον αντίποδα υπάρχει και ο λογικός διαχωρισμός, μία διάταξη όπου τα 3 επίπεδα της αρχιτεκτονικής μπορεί να βρίσκονται εγκατεστημένα στο ίδιο μηχάνημα, η διάταξη δηλαδή που κατά πάσα πιθανότητα θα χρησιμοποιήσετε στο σπίτι σας κατά τη διάρκεια του σεμιναρίου. Τα 3 αυτά επίπεδα μπορεί να βρίσκονται εγκατεστημένα στο ίδιο μηχάνημα, εξακολουθούν όμως να είναι ξεχωριστά και να έχουν διακριτούς ρόλους. 1.9 Εγκατάσταση Συστατικών Αρχιτεκτονικής Η εγκατάσταση του Joomla προϋποθέτει πως τα στοιχεία της αρχιτεκτονικής που αναλύσαμε στην προηγούμενη υποενότητα, δηλαδή η MySQL, ο Apache και η PHP θα πρέπει να έχουν εγκατασταθεί στον υπολογιστή μας. Αν έστω ένα από τα συστατικά της αρχιτεκτονικής απουσιάζει δε μπορούμε να προχωρήσουμε με την εγκατάσταση του Joomla και άρα το πρώτο βήμα αφορά στην εγκατάσταση Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS 12

των τριών αυτών συστατικών. Υπάρχει πολύ μεγάλη ποικιλία επιλογών όσον αφορά στην εγκατάσταση της υποδομής που έχουν να κάνουν τόσο με τη διαδικασία εγκατάστασης αλλά και το λειτουργικό σύστημα του χρήστη. Ξεκινώντας από το δεύτερο, δηλαδή το λειτουργικό σύστημα του χρήστη, υπάρχει η δυνατότητα εγκατάστασης των συστατικών της αρχιτεκτονικής σε όλα τα γνωστά λειτουργικά συστήματα όπως τα Windows, το Linux, το MacOS και το Unix. Ίσως έχετε συναντήσει στο web τους όρους LAMP, WAMP κλπ. Οι όροι αυτοί περιγράφουν το είδος του server στον οποίο έχει εγκατασταθεί η εν λόγω αρχιτεκτονική, π.χ. ο όρος LAMP (Linux Apache MySQL PHP) περιγράφει έναν Linux server, ο όρος WAMP (Windows Apache MySQL PHP) έναν Windows server κ.ο.κ. Ο πιο συνηθισμένος τύπος server για εμπορικές εφαρμογές είναι ο πρώτος και η συντριπτική πλειονότητα των ISPs τον προτιμούν τόσο για λόγους μείωσης κόστους αγοράς και συντήρησης όσο και για λόγους που έχουν να κάνουν με την αξιοπιστία και την ασφάλεια. Εμείς, για το σεμινάριο αυτό θα κάνουμε χρήση ενός προσωπικού WAMP server μιας και οι περισσότεροι χρήστες χρησιμοποιούν τα Windows στους προσωπικούς τους υπολογιστές αλλά αν κάποιος από εσάς χρησιμοποιεί Linux ή MacOS είναι ελεύθερος να εγκαταστήσει το απαραίτητο λογισμικό στο λειτουργικό της επιλογής του και να δουλέψει σε αυτό. Όσον αφορά στον τρόπο εγκατάστασης τώρα, υπάρχουν δύο επιλογές. Η μία επιλογή είναι να εγκαταστήσετε και τα τρία συστατικά της αρχιτεκτονικής σε ένα βήμα, κάνοντας χρήση ενός από τα διαθέσιμα πακέτα που υπάρχουν ελεύθερα στο διαδίκτυο. Η δεύτερη επιλογή είναι να εγκαταστήσετε ένα ένα τα συστατικά της αρχιτεκτονικής σε τρία βήματα συνολικά. Κάθε μία από αυτές τις επιλογές έχει τα δικά της πλεονεκτήματα και μειονεκτήματα. Ας δούμε όμως αναλυτικότερα τις δύο αυτές επιλογές, ώστε να αποφασίσετε μόνοι σας ποια είναι η πιο κατάλληλη για εσάς. Στην περίπτωση χρήσης ενός πακέτου για εγκατάσταση όλου του λογισμικού σε ένα βήμα, αυτό που χρειάζεται είναι να προμηθευτείτε το κατάλληλο πακέτο για το λειτουργικό σας σύστημα. Υπάρχουν πολλά τέτοια πακέτα διαθέσιμα στο διαδίκτυο που μπορείτε να κατεβάσετε, ενώ θα βρείτε στο συνοδευτικό CD του σεμιναρίου κάποια από αυτά για το λειτουργικό σύστημα των Windows. Συγκεκριμένα, στο συνοδευτικό CD θα βρείτε τα πακέτα WampServer, XAMPP και EasyPHP. Τα πακέτα αυτά δημιουργήθηκαν αφ' ενός για να αυτοματοποιήσουν τη διαδικασία εγκατάστασης, εφ' ετέρου για να διευκολύνουν αρχάριους χρήστες να εγκαταστήσουν επιτυχώς το απαιτούμενο λογισμικό στον υπολογιστή τους ακόμη κι αν έχουν ελάχιστες τεχνικές γνώσεις επάνω σε αυτό. Αυτό είναι ίσως και το μεγαλύτερο πλεονέκτημά τους έναντι της συμβατικής μεθόδου. Στον αντίποδα, το μειονέκτημα της συγκεκριμένης μεθόδου είναι πως ο χρήστης δεν έχει τον απόλυτο έλεγχο όσον αφορά στα πακέτα λογισμικού που εγκαθίστανται στον υπολογιστή του, πολλές φορές οι installers εγκαθιστούν βοηθητικά εικονίδια στο system tray που μπορεί ο χρήστης να μην επιθυμεί να έχει και τέλος κάποια από αυτά κάνουν αυτόματα κάποιες ρυθμίσεις στο λογισμικό που εγκαθιστούν τις οποίες επίσης ο χρήστης μπορεί να μην επιθυμεί. Τέλος, τα πακέτα αυτά δεν είναι πάντοτε ενημερωμένα με την τελευταία έκδοση του λογισμικού που εγκαθιστούν. Αν δεν έχετε ξαναεγκαταστήσει στο παρελθόν μια βάση δεδομένων ή έναν web server στον υπολογιστή σας, σας συνιστώ να χρησιμοποιήσετε ένα από τα πακέτα αυτά. Οι χρήστες Windows μπορούν να χρησιμοποιήσουν ένα από τα ακόλουθα: WampServer 2 (http://www.wampserver.com/en/index.php): Υπάρχει στο συνοδευτικό CD μαζί με οδηγίες εγκατάστασης στα Αγγλικά. Στο παράρτημα Δ του βιβλίου σας θα βρείτε οδηγίες εγκατάστασης στα Ελληνικά μαζί με screenshots. XAMPP (http://www.apachefriends.org/en/xampp.html): Επίσης θα το βρείτε στο συνοδευτικό CD με οδηγίες εγκατάστασης στα Αγγλικά. EasyPHP (http://www.easyphp.org): Και αυτό το πακέτο θα το βρείτε στον φάκελο Software του συνοδευτικού CD. Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS 13

Οι χρήστες Linux μπορούν να χρησιμοποιήσουν το XAMPP, αφού πρώτα όμως το κατεβάσουν από το site των Apache Friends. Ένας άλλος τρόπος που παρέχουν κάποια δημοφιλή Linux distributions για την εγκατάσταση του απαραίτητου λογισμικού είναι μέσω του package manager, τσεκάροντας την επιλογή 'LAMP server'. Τέλος, οι χρήστες MacOS μπορούν να χρησιμοποιήσουν το XAMPP, αφού πρώτα και αυτοί προμηθευτούν τον κατάλληλο installer από τους Apache Friends. Η δεύτερη επιλογή όπως προαναφέρθηκε αφορά στην εγκατάσταση των συστατικών της αρχιτεκτονικής ανεξάρτητα, σε τρία βήματα. Η επιλογή αυτή συνιστάται σε πιο προχωρημένους χρήστες και το μεγάλο της πλεονέκτημα είναι πως ο χρήστης έχει τον απόλυτο έλεγχο όσον αφορά στο λογισμικό που θα εγκατασταθεί. Αν θελήσετε να εγκαταστήσετε έναν WAMP server τον οποίο θα ανεβάσετε online, αυτός είναι και ο πιο ενδεδειγμένος τρόπος εγκατάστασης του λογισμικού. Στις υποενότητες που ακολουθούν περιγράφεται η ανεξάρτητη εγκατάσταση των τριών συστατικών της αρχιτεκτονικής, ξεκινώντας με τη MySQL, συνεχίζοντας με τον Apache και τέλος με την PHP. 1.10 Εγκατάσταση MySQL Η διαδικασία στησίματος της αρχιτεκτονικής ξεκινάει με την εγκατάσταση της βάσης μας, δηλαδή του MySQL Server. Η εγκατάσταση γίνεται μέσω installer και είναι γενικά απλή. Ο SQL Server διατίθεται τόσο σε 32-μπιτη όσο και σε 64-μπιτη έκδοση, οπότε ανάλογα με το λειτουργικό σας σύστημα επιλέγετε τον κατάλληλο installer. Πριν ξεκινήσετε τη διαδικασία εγκατάστασης συνιστώ να απενεργοποιήσετε τελείως το UAC (User Account Control) των Windows και να απενεργοποιήσετε τυχόν third-party firewall. Στον πρώτο διάλογο που θα εμφανιστεί (σχήμα 1.2) επιλέγουμε Custom εγκατάσταση και στη συνέχεια Next. Στον επόμενο διάλογο επιλέγουμε Next (αποδεχόμενοι τα προεπιλεγμένα πακέτα) και στον διάλογο που ακολουθεί (σχήμα 1.3) απλά ξετσεκάρουμε την επιλογή για registration και πατάμε 'Finish'. Σχήμα 1.2 Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS 14

Σχήμα 1.3 Ακολουθούν τα βήματα ρύθμισης του instance (στιγμιοτύπου) της βάσης που θα δημιουργηθεί μέσα από μία σειρά διαλόγων. Στον πρώτο διάλογο της σειράς (σχήμα 1.4) επιλέγουμε Detailed Configuration και στη συνέχεια Next. Σχήμα 1.4 Ακολουθεί ο διάλογος του σχήματος 1.5, όπου αποδεχόμαστε την προεπιλεγμένη τιμή, δηλαδή το Developer Machine και στη συνέχεια κάνουμε κλικ στο Next. Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS 15

Σχήμα 1.5 Στον επόμενο διάλογο ερωτούμαστε να επιλέξουμε τη χρήση του server (σχήμα 1.6). Και εδώ αποδεχόμαστε την προεπιλεγμένη τιμή Multifunctional Database και πατάμε Next. Σχήμα 1.6 Στον διάλογο που ακολουθεί (σχήμα 1.7) καλούμαστε να επιλέξουμε τον εκτιμώμενο αριθμό ταυτόχρονων συνδέσεων στη βάση. Αποδεχόμαστε την προεπιλεγμένη τιμή Decision Support (DSS)/OLAP και στη συνέχεια Next. Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS 16

Σχήμα 1.7 Ο επόμενος διάλογος αφορά στις ρυθμίσεις διασύνδεσης του server, στον οποίο απλά τσεκάρουμε όλες τις επιλογές όπως φαίνεται στο σχήμα 1.8. Αν και θα δημιουργηθεί μία εξαίρεση για το port 3306 του TCP στο firewall των Windows, καλό είναι καθ' όλη τη διάρκεια του development να έχετε πλήρως απενεργοποιημένα τυχόν third-party firewalls. Σχήμα 1.8 Στον διάλογο του σχήματος 1.9 επιλέγουμε τη δεύτερη επιλογή Best Support For Multilingualism ώστε να είμαστε σε θέση να αποθηκεύουμε απροβλημάτιστα δεδομένα με Ελληνικούς χαρακτήρες στη βάση. Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS 17

Σχήμα 1.9 Στον διάλογο που ακολουθεί (σχήμα 1.10), βεβαιωθείτε πως έχετε τσεκάρει την επιλογή Include Bin Directory in Windows PATH και επιλέξτε Next. Σχήμα 1.10 Ο τελευταίος διάλογος (σχήμα 1.11) είναι πολύ σημαντικός γιατί εδώ ορίζουμε το συνθηματικό του root χρήστη, δηλαδή του χρήστη με πλήρη δικαιώματα διαχείρισης του server. Θα πρέπει να επιλέξετε ένα συνθηματικό που δεν θα ξεχάσετε και να το εισάγετε δύο φορές στα αντίστοιχα πεδία. Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS 18

Σχήμα 1.11 Πατώντας Next θα εμφανιστεί ο διάλογος που σας ενημερώνει για την πορεία εκτέλεσης των scripts και η διαδικασία εγκατάστασης του MySQL Server και της δημιουργίας του instance θα ολοκληρωθεί. Αυτό που απομένει για να ολοκληρώσουμε την εγκατάσταση λογισμικού σχετικού με τη βάση δεδομένων είναι η εγκατάσταση των GUI Tools. Τα GUI Tools αποτελούνται από τον MySQL Administrator και τον MySQL Query Browser, δύο πολύ χρήσιμα εργαλεία που μας επιτρέπουν να δουλεύουμε με τη βάση μέσα από ένα γραφικό περιβάλλον. Μέσω του MySQL Administrator μπορούμε να ρυθμίσουμε όλες τις παραμέτρους του MySQL Server ενώ μέσω του Query Browser μπορούμε να εκτελούμε SQL statements ή scripts, να προβάλλουμε δεδομένα πινάκων αλλά και να τα τροποποιούμε (edit) πολύ γρήγορα μέσα από το γραφικό περιβάλλον. Η εγκατάσταση των GUI Tools είναι πολύ απλή και γίνεται μέσω installer. Για να ελέγξουμε πως η βάση μας έχει εγκατασταθεί σωστά, θα δοκιμάσουμε να κάνουμε μια σύνδεση σε αυτήν με τον MySQL Adminstrator. Από το μενού των προγραμμάτων πηγαίνετε στο MySQL και επιλέξτε MySQL Administrator. Θα εμφανιστεί ο διάλογος σύνδεσης με τη βάση όπου θα πρέπει να εισάγετε τα απαραίτητα στοιχεία: Server Host: localhost Port: 3306 (το προεπιλεγμένο) Username: root Password: το password του root χρήστη που ορίσατε κατά την εγκατάσταση Πατώντας ΟΚ θα συνδεθείτε με τη βάση και θα ανοίξει το κεντρικό παράθυρο του MySQL Administrator, όπως φαίνεται στο σχήμα 1.12. Έχετε συνδεθεί επιτυχώς με το instance της βάσης ως root. Αν πατώντας 'ΟΚ' στον διάλογο σύνδεσης σας προβληθεί ένα μήνυμα που σας λέει πως δεν έχετε επιλέξει default σχήμα βάσης, επιλέξτε να μην σας ξαναεμφανιστεί, πατήστε ΟΚ και ξαναπροσπαθήστε. Στην περίπτωση που η σύνδεση αποτύχει, θα σας προβληθεί το αντίστοιχο μήνυμα. Διαβάστε το μήνημα λάθους και ελέγξτε τα εξής: Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS 19

Το service MySQL είναι online (started) Έχετε δώσει το σωστό password To firewall των Windows είναι απενεργοποιημένο, ή έχουμε ορίσει εξαίρεση για την πόρτα 3306 του TCP Αν έχετε κάποιο άλλο third-party firewall πως είναι απενεργοποιημένο ή έχετε ορίσει σωστά μια εξαίρεση για την πόρτα 3306 του TCP Για όσους το επιθυμούν, τόσο ο MySQL Administrator όσο και ο Query Browser υποστηρίζουν πλήρως την Ελληνική γλώσσα (μπορείτε να επιλέξετε τη γλώσσα της εφαρμογής από το μενού των ρυθμίσεων). Σχήμα 1.12 1.11 Εγκατάσταση Apache Το επόμενο βήμα αφορά στην εγκατάσταση του Web server μας, δηλαδή του Apache. Ο Apache είναι ο πιο δημοφιλής Web server στο internet αυτή τη στιγμή και χρησιμοποιείται από τη συντριπτική πλειονότητα ISPs παγκοσμίως κυρίως λόγω της αξιοπιστίας του και της ευελιξίας του αλλά και του επιπέδου ασφάλειας που παρέχει. Η εγκατάσταση γίνεται μέσω installer και είναι πολύ απλή, μιας και αποδεχόμαστε τις προεπιλεγμένες τιμές. Το αρχείο εγκατάστασης του Apache που περιέχει τον installer έχει κατάληξη Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS 20

.msi και μπορείτε να το προμηθευτείτε από το site του Apache (http://httpd.apache.org/). Το αρχείο εγκατάστασης για Windows περιέχεται και στο συνοδευτικό CD του σεμιναρίου. Κάνοντας διπλό κλικ στο αρχείο αυτό ξεκινάει η διαδικασία εγκατάστασης του Apache. Επιλέξτε τυπική εγκατάσταση και στους επόμενους διαλόγους αποδεχτείτε τις προεπιλεγμένες τιμές. Στον διάλογο που καλείστε να συμπληρώσετε κάποια στοιχεία εισάγετε τα εξής: Network Domain: www.localhost.com Server Name: localhost Administrator s Email Address: admin@localhost.com Η διαδικασία ολοκληρώνεται και για να ελέγξετε πως ο Apache εγκαταστάθηκε και λειτουργεί κανονικά, ανοίξτε τον browser της επιλογής σας και 'χτυπήστε' το URI http://localhost. Θα πρέπει να δείτε τη σελίδα του σχήματος 1.13. Σχήμα 1.13 Αν δεν δείτε τη σελίδα του σχήματος 1.13, ελέγξτε τα ακόλουθα: Το service του Apache είναι online Δεν υπάρχει άλλος εγκατεστημένος Web server (π.χ. IIS) ή αν υπάρχει, πως είναι απενεργοποιημένος Αν χρησιμοποιείτε κάποιο third-party firewall, πως είναι απενεργοποιημένο 1.12 Εγκατάσταση PHP Το τελευταίο βήμα για την ολοκλήρωση της εγκατάστασης των συστατικών της αρχιτεκτονικής αφορά στην εγκατάσταση της PHP. Και σε αυτό το βήμα, η εγκατάσταση γίνεται μέσω installer και είναι απλή. Αυτό που θα πρέπει να προσέξουμε μόνο είναι κάποια βήματα στην πορεία της εγκατάστασης που αφορούν στην εγκατάσταση των σωστών components ώστε να μπορέσει να δημιουργηθεί η Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS 21

απαραίτητη διασύνδεση μεταξύ της PHP, του Web server και της βάσης. Το αρχείο εγκατάστασης μπορείτε να το προμηθευτείτε από το site της PHP (http://www.php.net) αλλά υπάρχει και στο στο συνοδευτικό CD του σεμιναρίου. Κάνοντας διπλό κλικ στο αρχείο εγκατάστασης τρέχει ο installer που θα μας οδηγήσει στην ολοκλήρωσή της μέσα από μία σειρά διαλόγων. Στους περισσότερους από αυτούς αποδέχεστε τις προεπιλεγμένες τιμές εκτός από δύο διαλόγους, εκ των οποίων ο πρώτος μας ζητάει να επιλέξουμε τον Web server που χρησιμοποιούμε και τον τρόπο εκτέλεσης της PHP και ο δεύτερος τα extensions της PHP που επιθυμούμε να εγκατασταθούν. Ο πρώτος από αυτούς φαίνεται στο σχήμα 1.14. Σχήμα 1.14 Εδώ θα πρέπει να τσεκάρετε την επιλογή Apache 2.2.x Module. Σχήμα 1.15 Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS 22

Στον διάλογο του σχήματος 1.15 ο installer μας ζητάει να επιλέξουμε τα extensions της PHP που επιθυμούμε να εγκατασταθούν. Σε παλαιότερες εκδόσεις της, η τυπική εγκατάσταση περιλάμβανε και τα πακέτα για υποστήριξη επικοινωνίας με τη MySQL, αλλά στις τελευταίες εκδόσεις θα πρέπει να την επιλέξουμε εμείς. Στον διάλογο του σχήματος 1.15 λοιπόν θα πρέπει να επιλέξετε εγκατάσταση του πακέτου της MySQL. Για να ελέγξετε πως η PHP έχει εγκατασταθεί κανονικά, δημιουργήστε ένα αρχείο στον κειμενογράφο της επιλογής σας και πληκτρολογήστε τον ακόλουθο κώδικα: <?php phpinfo();?> Αποθηκεύστε το αρχείο με όνομα index.php και τοποθετήστε το στον φάκελο htdocs του Apache. Ανοίξτε τον browser της επιλογής σας και 'χτυπήστε' τη διεύθυνση http://localhost/index.php. Θα πρέπει να δείτε τη σελίδα του σχήματος 1.16. Σχήμα 1.16 Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS 23

1.13 Windows Services Κατά την εγκατάσταση της MySQL και του Apache δημιουργούνται τα αντίστοιχα services (υπηρεσίες). Αυτό γίνεται είτε εγκαταστήσατε το λογισμικό χειρωνακτικά όπως περιγράφηκε στις προηγούμενες υποενότητες, είτε αν χρησιμοποιήσατε κάποιο πακέτο όπως το WampServer. Εξ ορισμού, τα services αυτά είναι ρυθμισμένα να εκκινούν αυτόματα με την εκκίνηση των Windows. Αν και όταν δουλεύουμε με το Joomla τα services αυτά θα πρέπει να είναι started, θα πρέπει να κατανοήσετε πως καταναλώνουν αρκετούς πόρους (κυρίως η MySQL) και συνεπώς όταν δεν επιθυμούμε να δουλέψουμε με το Joomla επιβαρύνουν άσκοπα τον υπολογιστή μας. Αν έχετε εγκαταστήσει τα συστατικά της αρχιτεκτονικής μέσω ενός πακέτου όπως το WampServer ή το XAMPP μπορείτε εύκολα να σταματήσετε τα σχετικά services από το αντίστοιχο εικονίδιο που βρίσκεται στο system tray. Κατά τη χειρωνακτική εγκατάσταση που περιγράψαμε νωρίτερα, ο Apache επίσης εγκαθιστά ένα εικονίδιο στο system tray αλλά και η MySQL μπορεί να ρυθμιστεί να κάνει κάτι αντίστοιχο, τρέχοντας το πρόγραμμα MySQL System Tray Monitor που βρίσκεται στο μενού προγραμμάτων και ρυθμίζοντάς το να φορτώνεται αυτόματα με την εκκίνηση του υπολογιστή. Παρόλα αυτά, και η ύπαρξη πολλών εικονιδίων στο system tray καθυστερεί σημαντικά την εισαγωγή του χρήστη στο περιβάλλον όταν κάνει login στα Windows. Για όσους από εσάς εγκατέστησαν τα συστατικά της αρχιτεκτονικής χειρωνακτικά, υπάρχει μία καλύτερη λύση που δεν επιβαρύνει καθόλου το σύστημα και χρησιμοποιείται από πολλούς χρήστες συμπεριλαμβανομένου και του γράφοντος. Το μόνο που χρειάζεται να κάνετε είναι να δημιουργήσετε μια συντόμευση (shortcut) στο desktop σας του προγράμματος διαχείρισης των υπηρεσιών (Services) το οποίο βρίσκεται στο μενού Administrative Tools (Εργαλεία Διαχείρισης) από το μενού προγραμμάτων. Εξ' ορισμού το συγκεκριμένο μενού δεν είναι ορατό σε μία εγκατάσταση των Windows αλλά μπορείτε εύκολα να το ρυθμίσετε να εμφανίζεται. Κάνοντας double click στο Services είτε από το shortcut που δημιουργήσατε είτε μέσα από το μενού θα ανοίξει η καρτέλα των services, όπου εμφανίζονται όλες οι υπηρεσίες που τρέχουν στον υπολογιστή σας. Στις υπηρεσίες αυτές υπάρχει ένα με όνομα MySQL που προφανώς είναι το service της MySQL και ένα Apache2.2 το οποίο είναι το service του Apache. Κάνοντας double click σε κάθε ένα από αυτά εμφανίζεται ο διάλογος με τις ρυθμίσεις για το συγκεκριμένο service. Στον διάλογο αυτόν θέστε την τιμή του Startup type σε 'Manual' τόσο για το service του Αpache όσο και για το service της MySQL. Πατώντας ΟΚ οι υπηρεσίες θα ενημερωθούν με τη νέα ρύθμιση, όπως φαίνεται στο σχήμα 1.17. Σχήμα 1.17 Με τη ρύθμιση αυτή τα services δεν θα εκκινούν αυτόματα κατά την έναρξη των Windows και άρα δεν θα επιβαρύνεται άσκοπα ο υπολογιστής σας. Όταν επιθυμείτε να δουλέψετε με το Joomla, απλά ανοίγετε την καρτέλα των services, κάνετε double click σε κάθε ένα από αυτά με οποιαδήποτε σειρά θέλετε και επιλέγετε Start. Αν χρησιμοποιήσετε αυτήν τη μέθοδο μπορείτε να διαγράψετε αν θέλετε τα αντίστοιχα εικονίδια από το system tray ώστε να μην καθυστερεί ο υπολογιστής σας κατά την εκκίνηση και την είσοδο στο desktop. Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS 24

1.14 Εγκατάσταση Joomla Έχοντας εγκαταστήσει όλα τα κομμάτια της αρχιτεκτονικής και έχοντας ρυθμίσει τις υπηρεσίες, απομένει να εγκαταστήσουμε το ίδιο το Joomla. Η εγκατάσταση γίνεται μέσω ενός web browser (είναι δηλαδή web-based) και είναι αρκετά απλή. Για να ξεκινήσετε την εγκατάσταση θα πρέπει τα services του Apache και της MySQL να είναι online (started). Πριν ξεκινήσετε την εγκατάσταση θα πρέπει να δημιουργήσετε έναν φάκελο (π.χ. joomla) μέσα στον φάκελο που χρησιμοποιείται από τον Apache για να κάνει publish στο web τα περιεχόμενά του. Σε μία τυπική εγκατάσταση του Apache όπως περιγράφηκε στην υποενότητα 1.11, ο φάκελος αυτός είναι ο htdocs (C:\Program Files\Apache Software Foundation\Apache2.2\htdocs). Αν χρησιμοποιήσατε κάποιο πακέτο για την εγκατάσταση των συστατικών της αρχιτεκτονικής, μπορεί να έχει δημιουργηθεί αυτόματα για εσάς κάποιο alias (ένας φάκελος με άλλο όνομα που κάνει την ίδια δουλειά π.χ. www) οπότε μπορείτε να δημιουργήσετε τον φάκελο joomla μέσα σε αυτόν. Στις οδηγίες εγκατάστασης που ακολουθούν θεωρείται πως ακολουθήσατε την χειρωνακτική εγκατάσταση και πως ο default φάκελος τα περιεχόμενα του οποίου γίνονται publish είναι ο htdocs. Έχοντας δημιουργήσει τον φάκελο joomla μέσα στον htdocs, στη συνέχεια αποσυμπιέστε τα περιεχόμενα του αρχείου εγκατάστασης του Joomla μέσα στον φάκελο αυτόν και είστε έτοιμοι να ξεκινήσετε τη διαδικασία εγκατάστασης. Ανοίξτε τον browser της επιλογής σας και 'χτυπήστε' τη διεύθυνση http://localhost/joomla/index.php. Θα προβληθεί η πρώτη σελίδα του οδηγού που θα σας οδηγήσει στην ολοκλήρωση της εγκατάστασης του Joomla. Η διαδικασία αυτή περιγράφεται αναλυτικά μαζί με τα αντίστοιχα screenshots στη σελίδα 26 του βιβλίου σας. Οι ρυθμίσεις που συνιστάται να χρησιμοποιήσετε είναι οι εξής: 1. Στην 1 η σελίδα επιλέγετε τη γλώσσα εγκατάστασης που επιθυμείτε και στη συνέχεια Next. 2. Στη 2 η σελίδα γίνεται έλεγχος της υποδομής η οποία λογικά θα είναι επιτυχής και άρα επιλέγετε Next. 3. Στην 3 η σελίδα υπάρχει η άδεια χρήσης. Επιλέγετε Next. 4. Στην 4 η σελίδα εισάγετε τα στοιχεία που χρειάζεται ο οδηγός εγκατάστασης για να δημιουργήσει τη βάση: Database Type: MySQL Host Name: localhost Username: root Password: το συνθηματικό που ορίσατε κατά τη δημιουργία του instance της βάσης. Database name: το όνομα της βάσης που θα δημιουργηθεί (π.χ. joomla). 5. Στην 5 η σελίδα ρυθμίζεται η δυνατότητα FTP. Αποδέχεστε την προεπιλεγμένη τιμή No και επιλέγετε Next. 6. Στην 6 η σελίδα ενημερώνετε τον οδηγό εγκατάστασης για τα χαρακτηριστικά του site που θα δημιουργηθεί καθώς και του διαχειριστή του: Αρχικά κάνετε κλικ στο κουμπί Install Sample Data για να εγκατασταθούν τα δεδομένα δείγματος. Τα δεδομένα δείγματος τα χρειαζόμαστε για τις πρώτες ενότητες του σεμιναρίου, όταν όμως στο μέλλον εγκαταστήσετε το Joomla σε κάποιον άλλον φάκελο για να δημιουργήσετε ένα δικό σας site δεν θα πρέπει να τα εγκαταστήσετε. Site Name: Εισάγετε ένα όνομα για το site σας. Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS 25

Your E-mail: To email του διαχειριστή. Όταν δουλεύουμε τοπικά δεν έχει νόημα να δώσουμε πραγματικό email οπότε δίνουμε admin@localhost.com Admin Password: Εισάγετε το συνθηματικό που θα χρησιμοποιείτε για να εισέρχεστε στη σελίδα διαχείρισης του site. Θα πρέπει να είναι ένα συνθηματικό που δεν θα ξεχάσετε. Confirm Admin Password: Επαναεισάγετε το συνθηματικό για επιβεβαιώση. 7. Η 7 η σελίδα σας ενημερώνει πως η εγκατάσταση ολοκληρώθηκε. Θα πρέπει τώρα να πάτε αμέσως στον φάκελο με τα αρχεία εγκατάστασης του Joomla που στη συγκεκριμένη εγκατάσταση τον έχουμε ονομάσει joomla και να διαγράψετε όλον τον φάκελο installation (htdocs-->joomla-->installation). Αφού εκτελέσετε αυτό το βήμα, 'χτυπήστε' πάλι στον web browser σας τη διεύθυνση http://localhost/joomla/index.php. Θα προβληθεί η αρχική σελίδα του website που δημιουργήθηκε. 1.15 Front-end (Website) Στο σχήμα 1.18 φαίνεται το front-end μιας τυπικής εγκατάστασης του Joomla με εγκατεστημένα και τα δεδομένα δείγματος. Σχήμα 1.18 Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS 26

Αυτό είναι το website που θα βλέπουν οι χρήστες του διαδικτύου που θα επισκέπτονται τον ιστότοπό σας. Προς το παρόν χρησιμοποιεί τις εξ' ορισμού ρυθμίσεις, αλλά μέχρι το τέλος του σεμιναρίου θα έχετε μάθει όλα όσα θα πρέπει να ξέρετε ώστε να είστε σε θέση να προσαρμόζετε πλήρως το frontend στις απαιτήσεις σας. 1.16 Back-end (Admin Site) Εκτός από το front-end που αποτελεί το website το οποίο θα επισκέπτονται οι χρήστες του διαδικτύου, το Joomla κάνει χρήση και ενός back-end (administration site). Πρόκεται για ένα εξίσου σημαντικό (αν όχι το σημαντικότερο) κομμάτι της εφαρμογής μιας και μέσω αυτού του διαχειριστικού site ο ιδιοκτήτης ή ο διαχειριστής του ιστοτόπου πραγματοποιεί σχεδόν όλες τις ρυθμίσεις για το front-end. Για να δείτε το back-end και να κάνετε login σε αυτό θα πρέπει να προσθέσετε το κομμάτι '/administrator/index.php' σε αυτό του front-end και άρα για την εγκατάσταση του παραδείγματός μας, το URI αυτό θα είναι το: http://localhost/joomla/administrator/index.php Ανάλογα με τις ρυθμίσεις που χρησιμοποιήσατε για την δική σας εγκατάσταση, 'χτυπήστε' το αντίστοιχο URI στον web browser της επιλογής σας, οπότε θα προβληθεί η σελίδα login του back-end. Εισάγοντας σε αυτήν ως Username admin και ως Password το συνθηματικό που ορίσατε κατά την εγκατάσταση του Joomla, θα πρέπει να εισέλθετε στο περιβάλλον του back-end και να δείτε την οθόνη του σχήματος 1.19. Σχήμα 1.19 Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS 27

1.17 Εγκατάσταση Πακέτου Ελληνικών Για να ξεκινήσουμε την εξοικείωσή μας με το back-end το οποίο θα χρησιμοποιήσουμε πολύ κατά τη διάρκεια του σεμιναρίου, θα εγκαταστήσουμε το πακέτο Ελληνικών για το Joomla. Ο διαχειριστής ενός website έχει τη δυνατότητα να εγκαταστήσει πολλές διαφορετικές μεταφράσεις των μηνυμάτων που χρησιμοποιούνται από το front-end του Joomla. Η εγκατάσταση των πακέτων αυτών γίνονται μέσω της σελίδας Install/Uninstall του μενού Extensions. Θα χρειαστεί πρώτα να προμηθευτείτε το πακέτο των Ελληνικών, το οποίο μπορείτε είτε να το κατεβάσετε από το site της Ελληνικής κοινότητας του Joomla αλλά υπάρχει επίσης και στο συνοδευτικό CD (φάκελος Extensions/Greek). Μέσω της σελίδας αυτής (σχήμα 1.20) ο διαχειριστής μπορεί να εγκαταστήσει διάφορα πακέτα που προσθέτουν λειτουργικότητα στο front-end αλλά και στο back-end της εφαρμογής. Στο πεδίο Package File επιλέγετε Browse και στον διάλογο που εμφανίζεται πηγαίνετε στην τοποθεσία όπου βρίσκεται το αρχείο του συγκεκριμένου πακέτου. Τα αρχεία αυτά έχουν συνήθως κατάληξη.zip ή.gz. Στη συνέχεια επιλέγετε Upload File & Install. Σχήμα 1.20 Το πακέτο των Ελληνικών εγκαθίσταται και μπορείτε να το επιβεβαιώσετε πηγαίνοντας στη σελίδα Language Manager που βρίσκεται στο μενού Extensions. Εκεί μπορείτε να δείτε πως εκτός από την Αγγλική γλώσσα που εγκαθίσταται εξ' ορισμού, υπάρχει πλέον και η Ελληνική. Για να θέσετε την Ελληνική γλώσσα ως προεπιλεγμένη, επιλέξτε την από τη λίστα και στη συνέχεια πατήστε στο κουμπί Default που βρίσκεται στην εργαλειοθήκη επάνω δεξιά. Η Ελληνική γλώσσα θα γίνει πλέον η προεπιλεγμένη γλώσσα του front-end, όπως φαίνεται στο σχήμα 1.21. Με τον ίδιο τρόπο μπορείτε να εγκαταστήσετε την Ελληνική γλώσσα και για το back-end (στο συνοδευτικό CD υπάρχει το πακέτο Ελληνικών και για το back-end), αν και κάτι τέτοιο προσωπικά δεν θα σας το συνιστούσα. Στην πορεία του σεμιναρίου όλα τα screenshots από το back-end θα κάνουν χρήση της Αγγλικής γλώσσας ώστε να μην υπάρχει διαφορά από τα screenshots που θα συναντήσετε στο βιβλίο σας, τα οποία είναι επίσης όλα στα Αγγλικά. Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS 28

Σχήμα 1.21 Έχοντας εγκαταστήσει το πακέτο Ελληνικών για το front-end, αν 'χτυπήσετε' τη διεύθυνσή του θα δείτε στον browser σας τη σελίδα του σχήματος 1.22. Σχήμα 1.22 Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS 29

Όπως βλέπετε τα διάφορα μηνύματα αλλά και οι ετικέτες των κουμπιών είναι γραμμένα πλέον στα Ελληνικά. Θα παρατηρήσετε επίσης πως υπάρχουν κάποια θέματα με τις μεταφράσεις αυτές, π.χ. δείτε την πρόταση στα Ελληνικά κάτω από τον τίτλο Who's Online στο μέσον και δεξιά της σελίδας. Θα πρέπει να σημειώσουμε πως η εγκατάσταση των Ελληνικών δεν έχει σχέση με το περιεχόμενο του site, δηλαδή κατά πόσο θα έχει τη δυνατότητα το site μας να περιέχει κείμενα ή μενού στα Ελληνικά. Το πακέτο Ελληνικών έχει να κάνει μόνο με τη μετάφραση των μηνυμάτων αλλά και των ετικετών των κουμπιών που χρησιμοποιούνται από τα διάφορα modules του Joomla. Είναι λοιπόν καθαρά στο χέρι σας το αν θα τα εγκαταστήσετε ή όχι σε κάποιο site στο οποίο δουλεύετε. Για τις εργασίες και τις ασκήσεις του σεμιναρίου η εγκατάσταση του πακέτου Ελληνικών δεν είναι υποχρεωτική. 1.18 Συστατικά του Joomla Όπως αναφέρθηκε ήδη σε προηγούμενη υποενότητα, η συνολική λειτουργικότητα του Joomla ως εφαρμογή που αποτελείται από το front-end (website) και το back-end (διαχειριστικό) είναι μοιρασμένη σε αρχεία που βρίσκονται στον φάκελο εγκατάστασης της εφαρμογής στον web server και σε δεδομένα που βρίσκονται αποθηκευμένα στους αντίστοιχους πίνακες στη βάση. Αν περιηγηθείτε στον φάκελο εγκατάστασης θα δείτε πως εκεί υπάρχουν αρχεία διαφόρων ειδών, όπως π.χ. αρχεία PHP, CSS, HTML, JavaScript, XML, αρχεία φωτογραφιών κ.α. Ανοίγοντας τον MySQL Administrator και ελέγχοντας τα περιεχόμενα της βάσης που δημιουργήθηκε κατά την εγκατάσταση του Joomla, θα δείτε πως περιέχει αρκετούς πίνακες στους οποίους και αποθηκεύεται η συντριπτική πλειονότητα των ρυθμίσεων αλλά και του περιεχομένου του website, όπως φαίνεται στο σχήμα 1.23. Σχήμα 1.23 Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS 30