Εισαγωγή στη Δημιουργία Δυναμικών 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