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

«ΕΙΣΑΓΩΓΗ’ΣΤΗ’ΔΗΜΙΟΥΡΓΙΑ’ΔΥΝΑΜΙΚΩΝ’WEBSITES ...dga.gr/web/publications/files/joomla.pdfΕισαγωγήστηΔημιουργίαΔυναμικώνWebsitesμετοJoomla!CMS

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Digital  Academy                        

Σεμινάριο  Τηλεκπαίδευσης  με  Θέμα:    

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

         

                   

Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS 2

Περιεχόμενα

ΠΕΡΙΕΧΟΜΕΝΑ....................................................................................................................................................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 3

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 4

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 5

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 6

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 7

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

γλώσσα. Από την άλλη πλευρά, οι μεταφραστές των ξενόγλωσσων βιβλίων στα Ελληνικά συνήθως

μεταφράζουν τον Αγγλικό όρο αντιστοιχίζοντάς τον με κάποια Ελληνική λέξη, που δυστυχώς στις

περισσότερες περιπτώσεις δεν είναι η απολύτως σωστή. Υπάρχουν αμέτρητα τέτοια παραδείγματα,

ένα από αυτά τυγχάνει να είναι και το βιβλίο που προμηθευτήκατε το οποίο, ανεξάρτητα από το

συγκεκριμένο θέμα, είναι ένα πολύ καλό βιβλίο.

Αν και προσωπικά προτιμώ να διαβάζω ξενόγλωσσα τεχνικά συγγράμματα και να χρησιμοποιώ την

Αγγλική ορολογία, η πρακτική που θα ακολουθηθεί στη διδασκαλία του μαθήματος είναι να σας

παρουσιάζεται η ορολογία στα Αγγλικά αλλά και στα Ελληνικά, χρησιμοποιώντας όμως τον σωστό

όρο ακόμη κι αν έρχεται σε αντίθεση με αυτόν που μπορεί να συναντήσετε στο βιβλίο σας.

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 9

πρωταρχικό στόχο την αυτοματοποίηση της ροής εργασιών (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 10

Η κίνηση αυτή προσελκύει πολύ κόσμο ο οποίος ενθαρρύνει την ομάδα υλοποίησης ώστε αυτή να

κινηθεί προς την κατεύθυνση λανσαρίσματος του 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 11

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 12

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 13

των τριών αυτών συστατικών. Υπάρχει πολύ μεγάλη ποικιλία επιλογών όσον αφορά στην

εγκατάσταση της υποδομής που έχουν να κάνουν τόσο με τη διαδικασία εγκατάστασης αλλά και το

λειτουργικό σύστημα του χρήστη.

Ξεκινώντας από το δεύτερο, δηλαδή το λειτουργικό σύστημα του χρήστη, υπάρχει η δυνατότητα

εγκατάστασης των συστατικών της αρχιτεκτονικής σε όλα τα γνωστά λειτουργικά συστήματα όπως τα

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 14

Οι χρήστες 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 15

Σχήμα 1.3

Ακολουθούν τα βήματα ρύθμισης του instance (στιγμιοτύπου) της βάσης που θα δημιουργηθεί μέσα

από μία σειρά διαλόγων. Στον πρώτο διάλογο της σειράς (σχήμα 1.4) επιλέγουμε Detailed

Configuration και στη συνέχεια Next.

Σχήμα 1.4

Ακολουθεί ο διάλογος του σχήματος 1.5, όπου αποδεχόμαστε την προεπιλεγμένη τιμή, δηλαδή το

Developer Machine και στη συνέχεια κάνουμε κλικ στο Next.

Εργαστήριο Τεχνολογίας Πολυμέσων ΕΜΠ

Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS 16

Σχήμα 1.5

Στον επόμενο διάλογο ερωτούμαστε να επιλέξουμε τη χρήση του server (σχήμα 1.6). Και εδώ

αποδεχόμαστε την προεπιλεγμένη τιμή Multifunctional Database και πατάμε Next.

Σχήμα 1.6

Στον διάλογο που ακολουθεί (σχήμα 1.7) καλούμαστε να επιλέξουμε τον εκτιμώμενο αριθμό

ταυτόχρονων συνδέσεων στη βάση. Αποδεχόμαστε την προεπιλεγμένη τιμή Decision Support

(DSS)/OLAP και στη συνέχεια Next.

Εργαστήριο Τεχνολογίας Πολυμέσων ΕΜΠ

Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS 17

Σχήμα 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 18

Σχήμα 1.9

Στον διάλογο που ακολουθεί (σχήμα 1.10), βεβαιωθείτε πως έχετε τσεκάρει την επιλογή Include Bin

Directory in Windows PATH και επιλέξτε Next.

Σχήμα 1.10

Ο τελευταίος διάλογος (σχήμα 1.11) είναι πολύ σημαντικός γιατί εδώ ορίζουμε το συνθηματικό του

root χρήστη, δηλαδή του χρήστη με πλήρη δικαιώματα διαχείρισης του server. Θα πρέπει να

επιλέξετε ένα συνθηματικό που δεν θα ξεχάσετε και να το εισάγετε δύο φορές στα αντίστοιχα πεδία.

Εργαστήριο Τεχνολογίας Πολυμέσων ΕΜΠ

Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS 19

Σχήμα 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 20

• Το 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 21

.msi και μπορείτε να το προμηθευτείτε από το site του Apache (http://httpd.apache.org/). Το αρχείο

εγκατάστασης για Windows περιέχεται και στο συνοδευτικό CD του σεμιναρίου.

Κάνοντας διπλό κλικ στο αρχείο αυτό ξεκινάει η διαδικασία εγκατάστασης του Apache. Επιλέξτε

τυπική εγκατάσταση και στους επόμενους διαλόγους αποδεχτείτε τις προεπιλεγμένες τιμές. Στον

διάλογο που καλείστε να συμπληρώσετε κάποια στοιχεία εισάγετε τα εξής:

• Network Domain: www.localhost.com

• Server Name: localhost

• Administrator’s Email Address: [email protected]

Η διαδικασία ολοκληρώνεται και για να ελέγξετε πως ο 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 22

απαραίτητη διασύνδεση μεταξύ της 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 23

Στον διάλογο του σχήματος 1.15 ο installer μας ζητάει να επιλέξουμε τα extensions της PHP που

επιθυμούμε να εγκατασταθούν. Σε παλαιότερες εκδόσεις της, η τυπική εγκατάσταση περιλάμβανε και

τα πακέτα για υποστήριξη επικοινωνίας με τη MySQL, αλλά στις τελευταίες εκδόσεις θα πρέπει να την

επιλέξουμε εμείς. Στον διάλογο του σχήματος 1.15 λοιπόν θα πρέπει να επιλέξετε εγκατάσταση του

πακέτου της MySQL.

Για να ελέγξετε πως η PHP έχει εγκατασταθεί κανονικά, δημιουργήστε ένα αρχείο στον κειμενογράφο

της επιλογής σας και πληκτρολογήστε τον ακόλουθο κώδικα:

<?phpphpinfo();?>

Αποθηκεύστε το αρχείο με όνομα index.php και τοποθετήστε το στον φάκελο htdocs του Apache.

Ανοίξτε τον browser της επιλογής σας και 'χτυπήστε' τη διεύθυνση http://localhost/index.php. Θα

πρέπει να δείτε τη σελίδα του σχήματος 1.16.

Σχήμα 1.16

Εργαστήριο Τεχνολογίας Πολυμέσων ΕΜΠ

Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS 24

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 25

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 26

• Your E-mail: To email του διαχειριστή. Όταν δουλεύουμε τοπικά δεν έχει νόημα να

δώσουμε πραγματικό email οπότε δίνουμε [email protected]

• 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 27

Αυτό είναι το website που θα βλέπουν οι χρήστες του διαδικτύου που θα επισκέπτονται τον ιστότοπό

σας. Προς το παρόν χρησιμοποιεί τις εξ' ορισμού ρυθμίσεις, αλλά μέχρι το τέλος του σεμιναρίου θα

έχετε μάθει όλα όσα θα πρέπει να ξέρετε ώστε να είστε σε θέση να προσαρμόζετε πλήρως το front-

end στις απαιτήσεις σας.

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 28

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 29

Σχήμα 1.21

Έχοντας εγκαταστήσει το πακέτο Ελληνικών για το front-end, αν 'χτυπήσετε' τη διεύθυνσή του θα

δείτε στον browser σας τη σελίδα του σχήματος 1.22.

Σχήμα 1.22

Εργαστήριο Τεχνολογίας Πολυμέσων ΕΜΠ

Εισαγωγή στη Δημιουργία Δυναμικών Websites με το Joomla! CMS 30

Όπως βλέπετε τα διάφορα μηνύματα αλλά και οι ετικέτες των κουμπιών είναι γραμμένα πλέον στα

Ελληνικά. Θα παρατηρήσετε επίσης πως υπάρχουν κάποια θέματα με τις μεταφράσεις αυτές, π.χ.

δείτε την πρόταση στα Ελληνικά κάτω από τον τίτλο 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