Σεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης χολή Σεχνολογικών Εφαρμογών Σμήμα Mηχανικών Πληροφορικής
by user
Comments
Transcript
Σεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης χολή Σεχνολογικών Εφαρμογών Σμήμα Mηχανικών Πληροφορικής
Σεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης χολή Σεχνολογικών Εφαρμογών Σμήμα Mηχανικών Πληροφορικής Πτυχιακή εργασία ΘΕΜΑ : Υλοποίηζη Tοσριζηικού - Ενημερωηικού οδηγού ηης Ελλάδας με τρήζη ηοσ ζσζηήμαηος διατείρηζης περιετομένοσ joomla και η αζθαλής θωράκιζη ηοσ . Πανοσργιάς Εσάγγελος AM: 1645 Επηβιέπσλ Καζεγεηήο: Δρ. Μανιφάβας Χαράλαμπος Επηηξνπή Αμηνιόγεζεο: Ηκεξνκελία Παξνπζίαζεο: Πανοσργιάς Εσάγγελος 1645 1 Εσταριζηίες Θα ικελα να ευχαριςτιςω κερμά τθν οικογζνεια μου για τθν πολφτιμθ θκικι και οικονομικι υποςτιριξθ τουσ κακ’ όλθ τθ διάρκεια των ςπουδϊν μου κακϊσ επίςθσ και τον επιβλζποντα κακθγθτι μου Δρ Μανιφάβα Χαράλαμπο για τθ δυνατότθτα που μου ζδωςε να αςχολθκϊ με τθν παροφςα πτυχιακι εργαςία. Πανοσργιάς Εσάγγελος 1645 2 Σύνουη Σκοπόσ τθσ εργαςίασ είναι θ καταςκευι ενόσ ιςτότοπου που κα λειτουργεί ςαν διαδικτυακόσ τουριςτικόσ οδθγόσ για τθν χϊρα μασ, όπου οι επιςκζπτεσ του κα μποροφν να πλοθγθκοφν, ζχοντασ πρόςβαςθ ςε πλθροφορίεσ ςχετικά με τθν ιςτορικό και πολιτιςτικό πλοφτο τθσ Ελλάδασ κακϊσ και ςτθν εξερεφνθςθ των δθμοφιλζςτερων προοριςμϊν που τθν ζκαναν ξακουςτι για τισ ομορφιζσ τθσ παγκοςμίωσ. Παρζχεται μεγάλθ γκάμα πλθροφοριϊν ςε όλουσ τουσ τομείσ (ιςτορία, μνθμεία, μουςεία, Eλλθνικά νθςιά και τθν θπειρωτικι ενδοχϊρα) , χάρτθσ και γκαλερί με τισ ςθμαντικότερεσ τοποκεςίεσ, προςφορζσ, τουριςτικά και πολιτιςμικά νζα και εκδθλϊςεισ ςτουσ επιςκζπτεσ όπωσ επίςθσ και forum για τθν ανταλλαγι ςχολίων, κριτικϊν και εμπειριϊν τουσ. Στα κεφάλαια που ακολουκοφν γίνεται μια ςφντομθ περιγραφι των ςθμαντικότερων λειτουργιϊν που προςφζρει το ςφςτθμα διαχείριςθσ περιεχομζνου Joomla ζκδοςθσ 3.2.1 για τθν ανάπτυξθ – διαμόρφωςθ του ιςτότοπου μασ. Στισ τελευταίεσ ενότθτεσ τθσ εργαςίασ μασ αναφερόμαςτε λεπτομερϊσ ςτισ δθμοφιλζςτερεσ τεχνικζσ επίκεςθσ ςε ζνα διαδικτυακό τόπο κακϊσ και ςτουσ τρόπουσ που κα επιτφχουμε τθν αςφαλι κωράκιςθ του δικοφ μασ ιςτότοπου. Πανοσργιάς Εσάγγελος 1645 3 Abstract The purpose of this project is the construction of a website that will act as a web travel guide for our country , where visitors will be able to navigate, having access to information about the historical and cultural wealth of Greece and the exploration of the top destinations which are famous for their beauty worldwide . A wide range of information in all areas (history , monuments , museums , Greek islands and Mainland etc. ) map and galleries with the greatest landscapes, recommendations , touristic and cultural events for the guests as well as a forum for the exchange of comments, reviews and life experiences. . In the chapters that follow, there is a brief description of the important functions that offers the content management system Joomla edition 3.2.1 for the development - configuration of our website. . In the last sections, there is a detailed reference to the most popular attack techniques in a web site and ways that we will achieve safety in ours. Πανοσργιάς Εσάγγελος 1645 4 Πίνακας Περιεχομένων Ευχαριςτίεσ .......................................................................................................................................... 2 Σφνοψθ ................................................................................................................................................. 3 Abstract ................................................................................................................................................ 4 Κεφάλαιο 1 ..................................................................................................................................... 10 1.1 Ειςαγωγι .................................................................................................................................. 10 1.2 Οργάνωςθ του τόμου .............................................................................................................. 10 Κεφάλαιο 2 ..................................................................................................................................... 11 2.1 Θεωρίεσ .................................................................................................................................... 11 2.2 Διαδίκτυο ................................................................................................................................. 11 2.3 Ιςτοςελίδα ................................................................................................................................ 11 2.4 Ιςτότοποσ ................................................................................................................................. 12 2.5 Web Server ............................................................................................................................... 12 2.6 Web Browser ............................................................................................................................ 12 2.7 Στατικζσ και Δυναμικζσ Ιςτοςελίδεσ ........................................................................................ 13 2.8 Στατικζσ Ιςτοςελίδεσ ................................................................................................................ 13 2.8.1 Πιενλεθηήκαηα ηαηηθώλ ηζηνζειίδσλ ............................................................................ 13 2.8.2 Μεηνλεθηήκαηα ηαηηθώλ ηζηνζειίδσλ ............................................................................ 14 2.9 Δυναμικζσ Ιςτοςελίδεσ............................................................................................................. 14 2.9.1 Πιενλεθηήκαηα Γπλακηθώλ ηζηνζειίδσλ ........................................................................ 14 2.9.2 Μεηνλεθηήκαηα Γπλακηθώλ ηζηνζειίδσλ ........................................................................ 15 Κεφάλαιο 3 ..................................................................................................................................... 16 3.1 Γλϊςςεσ Προγραμματιςμοφ,Τεχνολογίεσ & Χριςιμα Εργαλεία ................................................. 16 3.2 Γλϊςςεσ Προγραμματιςμοφ .................................................................................................... 16 3.3 PHP ........................................................................................................................................... 16 3.3.1 Πιενλεθηήκαηα ηεο PHP .................................................................................................. 17 3.4 CSS ............................................................................................................................................ 17 3.4.1 Πιενλεθηήκαηα CSS ......................................................................................................... 18 3.5 JavaScript.................................................................................................................................. 19 3.6 jQuery ....................................................................................................................................... 20 3.6.1 Πιενλεθηήκαηα ηεο jQuery............................................................................................... 20 3.7 Τεχνολογίεσ .................................................................................................................................. 21 3.8 MySQL ...................................................................................................................................... 21 3.8.1 Πιενλεθηήκαηα ηεο MySQL ............................................................................................. 21 3.9 phpMyAdmin............................................................................................................................ 22 3.9.1 Γπλαηόηεηεο θαη ραξαθηεξηζηηθά ηνπ phpMyAdmin ...................................................... 22 3.10 Χριςιμα Εργαλεία ...................................................................................................................... 23 3.11 Firebug ................................................................................................................................... 23 3.11.1 Βαζηθά ραξαθηεξηζηηθά ηνπ Firebug .............................................................................. 24 3.12 Notepad++.............................................................................................................................. 25 Κεφάλαιο 4 ..................................................................................................................................... 27 4.1 Λογιςμικό Ανοιχτοφ Κϊδικα (Open Source Software .............................................................. 27 4.1.1 Πιενλεθηήκαηα : ............................................................................................................... 27 Πανοσργιάς Εσάγγελος 1645 5 4.1.2 Μεηνλεθηήκαηα : ............................................................................................................... 29 4.2 Τι είναι ζνα CMS....................................................................................................................... 31 4.2.1 Σα πιενλεθηήκαηα ελόο CMS ......................................................................................... 32 4.2.2 Σα κεηνλεθηήκαηα ελόο CMS ............................................................................................ 33 4.3 Τφποι CMS ................................................................................................................................ 33 4.4 CMS Κλειςτοφ Κϊδικα .............................................................................................................. 34 4.5 CMS Ανοικτοφ Κϊδικα.............................................................................................................. 34 4.5.1 Πιενλεθηήκαηα Αλνηθηνύ Κώδηθα .................................................................................... 35 4.5.2 Μεηνλεθηήκαηα Αλνηθηνύ Κώδηθα .................................................................................... 35 4.6 Τα πιο δθμοφιλι CMS Ανοιχτοφ κϊδικα ................................................................................. 36 Κεφάλαιο 5 ..................................................................................................................................... 38 5.1 Γνωριμία-Εγκατάςταςθ Xampp και Joomla! ςε περιβάλλον Windows ................................... 38 5.2 Τι είναι το XAMPP .................................................................................................................... 39 5.2.1 Αξρηηεθηνληθή ηνπ XAMPP .............................................................................................. 39 5.3 Τί είναι το Joomla ..................................................................................................................... 41 5.3.1 Υαξαθηεξηζηηθά ηνπ Joomla ............................................................................................. 42 5.3.2 Γπλαηόηεηεο Γηαρείξηζεο .................................................................................................. 43 5.4 Εγκατάςταςθ XAMPP και Joomla! ........................................................................................... 44 5.5 Eγκατάςταςθ του λογιςμικοφ XAMPP ..................................................................................... 44 5.5.1 Control Panel XAMPP ...................................................................................................... 45 5.5.2 Γεκηνπξγία Βάζεο Γεδνκέλσλ ......................................................................................... 47 5.5.3 Γεκηνπξγία ρξήζηε ........................................................................................................... 48 5.6 Eγκατάςταςθ του λογιςμικοφ Joomla ...................................................................................... 50 5.6.1 Configuration .................................................................................................................... 51 5.6.2 Database ............................................................................................................................ 51 5.6.3 Overview ........................................................................................................................... 52 Κεφάλαιο 6 ..................................................................................................................................... 55 6.1 Γνωριμία με τα δομικά ςτοχεία του Joomla! & Υλοποίθςθ ιςτότοπου....................................... 55 6.2 Control Panel (Περιοχι διαχείρθςθσ) .................................................................................... 55 6.3 Εxtentions (Επεκτάςεισ) ........................................................................................................... 56 6.4 Εγκατάςταςθ και παραμετροποιιςθ template ....................................................................... 57 6.5 Δθμιουργία περιεχομζνου ....................................................................................................... 60 6.5.1 Category Management (Γηαρείξεζε Καηεγνξηώλ) ........................................................... 60 6.5.2 Αrticle Managment (Γηαρείξεζε Άξζξσλ) ....................................................................... 61 6.5.3 Menu Manager (Γεκηνπξγία θαη παξακεηξνπνίεζε menu).............................................. 64 6.6 Components (Εφαρμογζσ) ...................................................................................................... 66 6.6.1 Οη εθαξκνγέο πνπ αλήθνπλ ζην ππξήλα ηνπ. ................................................................... 67 6.7 Ενκζματα (Μοdules) ................................................................................................................ 69 6.7.1 Γηαρείξηζε Δλζεκάησλ (Μνdule Management) ................................................................ 69 6.7.2 Σα ελζέκαηα πνπ πεξηιακβάλνληαη ζηνλ ππξήλα ηνπ Joomla .......................................... 70 6.8 Πρόςκετα & Εφαρμογζσ που χρθςιμοποιικθκαν ................................................................... 74 6.8.1 Sigplus Image Gallery-plug in .......................................................................................... 74 6.8.2 JCE Editor Component ..................................................................................................... 76 6.8.3 JSN ImageShow plug-in ................................................................................................... 76 6.8.4 Jcomments Component/Plug-in ........................................................................................ 78 6.8.5 Akeeba Backup ................................................................................................................. 80 6.8.6 Akeeba Kickstart ............................................................................................................... 81 6.8.7 All Videos plug in.............................................................................................................. 82 6.8.8 Kunena forum ................................................................................................................... 83 6.8.9 Google Maps by Reumers plug in..................................................................................... 85 Κεφάλαιο 7 ..................................................................................................................................... 87 Πανοσργιάς Εσάγγελος 1645 6 7.1 Τεχνικζσ επικζςεων ςε Web Εφαρμογζσ & θ αςφαλι κωράκιςθ του Joomla ιςτότοπου ......... 87 7.2 Τεχνικζσ επικζςεων ............................................................................................................. 87 7.2.1 Cross-site scripting (XSS)................................................................................................. 87 7.2.2 Η έγρπζε SQL (SQL injections) ....................................................................................... 90 7.2.3 Cross-Site Request Forgery (CSRF) ................................................................................. 91 7.2.4 Άξλεζε παξνρήο ππεξεζηώλ (Denial of Service) ............................................................. 92 7.2.5 Παξάλνκε πηζηνπνίεζε θαη δηαρείξηζε ησλ ζπλδέζεσλ (Broken Authentication and Session Management) ................................................................................................................ 94 7.3 Αςφάλεια Server ...................................................................................................................... 95 7.3.1 .htaccess ............................................................................................................................ 96 7.3.2 Magic Quotes Off .............................................................................................................. 99 7.3.3 Γηθαηώκαηα Γηαρεηξηζηή MySQL ..................................................................................... 99 7.3.4 Ρπζκίζεηο PHP .................................................................................................................. 99 7.4 Αςφάλιςθ Joomla πριν και μετά τθν εγκατάςταςθ ................................................................. 99 7.4.1 Αιιαγή ηνπ νλόκαηνο ρξήζηε γηα ηνλ δηαρεηξηζηή ......................................................... 100 7.4.2 Πξνζηαζία θαθέισλ θαη αξρείσλ ................................................................................... 100 7.4.3 Πξνζηαζία αξρείνπ configuration.php ........................................................................... 100 7.4.4 Βάζε MySQL.................................................................................................................. 101 7.4.5 Γηαρείξηζε Joomla ........................................................................................................... 101 7.4.6 Αληίγξαθα αζθαιείαο ..................................................................................................... 101 7.4.7 Αλαβάζκηζε ηεο έθδνζεο joomla θαη ησλ extensions ..................................................... 102 7.4.8 Υξεζηκνπνηήζε πξόζζεησλ αζθαιείαο ηνπ Joomla ....................................................... 102 7.5 HTTPs & SSL ............................................................................................................................ 103 Κεφάλαιο 8 ................................................................................................................................... 105 8.1 Πλοιγθςθ ςτον ιςτότοπο ....................................................................................................... 105 Συμπεράςματα ................................................................................................................................. 116 Βιβλιογραφία ................................................................................................................................... 117 Πίνακας Εικόνων Εικόνα 1 - Εικονικι απεικόνιςθ Διαδικτφου......................................................................................11 Εικόνα 2 - Δθμοφιλζςτεροι Web browser για το 2013.....................................................................12 Εικόνα 3 - Λογότυπο PHP …..............................................................................................................15 Εικόνα 4 - Λογότυπο CSS...................................................................................................................16 Πανοσργιάς Εσάγγελος 1645 7 Εικόνα 5 - Λογότυπο Javascript.........................................................................................................18 Εικόνα 6 - Λογότυπο jQuery..............................................................................................................19 Εικόνα 7 - Λογότυπο MySQL.............................................................................................................20 Εικόνα 8 - Λογότυπο phpMyAdmin...................................................................................................21 Εικόνα 9 - Λογότυπο Firebug.............................................................................................................22 Εικόνα 10 - Παράδειγμα χριςθσ Firebug ςε ιςτοςελίδα...................................................................23 Εικόνα 11 - Λογότυπο Notepad++.....................................................................................................24 Εικόνα 12 - Λογότυπο open source...................................................................................................25 Εικόνα 13 - Πλεονεκτιματα open source ζναντι commercial λογιςμικοφ........................................26 Εικόνα 14 - Πλεονεκτιματα commercial ζναντι open source λογιςμικοφ.......................................28 Εικόνα 15 - Content Management System........................................................................................30 Εικόνα 16 - Λογότυπο Drupal............................................................................................................34 Εικόνα 17 - Λογότυπο Wordpress.....................................................................................................35 Εικόνα 18 - Λογότυπο Joomla!..........................................................................................................35 Εικόνα 19 - Στατιςτικά τϊν πιο δθμοφιλι Συςτθμάτων Διαχείριςθσ Περιεχομζνου .......................35 Εικόνα 20 - Λογότυπο Αpache server................................................................................................36 Εικόνα 21 - Λογότυπο Xampp...........................................................................................................37 Εικόνα 22 - Xampp Control Panel......................................................................................................38 Εικόνα 23 - Λογότυπο Joomla!..........................................................................................................39 Εικόνα 24 - Εγκατάςταςθ Xampp......................................................................................................42 Εικόνα 25 - Xampp Control Panel – httpd.conf &httpd - ssl.conf .....................................................43 Εικόνα 26 - Xampp Control Panel – παραμετροποίθςθ ports...........................................................43 Εικόνα 27 - Xampp Control Panel – Ζναρξθ λειτουργιϊν Apache & MySQL.....................................44 Εικόνα 28 - Γραφικό περιβάλλον Xampp..........................................................................................44 Εικόνα 29 - PhpMyAdmin -Δθμιουργία Βάςθσ Δεδομζνων (MySQL)................................................45 Εικόνα 30 - PhpMyAdmin -Eιςαγωγι ςτοιχείων ςτθν ΒΔ ΜySQL....................................................46 Εικόνα 31 - PhpMyAdmin -Απόδοςθ Δικαιωμάτων ςτθν ΒΔ ΜySQL................................................47 Εικόνα 32 - Εγκατάςταςθ Joomla! - Configuration............................................................................48 Εικόνα 33 - Εγκατάςταςθ Joomla! - Database...................................................................................49 Εικόνα 34 - Εγκατάςταςθ Joomla! -Overview....................................................................................50 Εικόνα 35 - Ολοκλιρωςθ εγκατάςταςθσ Joomla!.............................................................................51 Εικόνα 36 - Επιβεβαίωςθ διαγραφισ installation folder...................................................................52 Εικόνα 37 - Login ςτθν πλατφόρμα Joomla!.....................................................................................52 Εικόνα 38 - Control Panel Joomla!....................................................................................................53 Εικόνα 39 - Homepage Ιςτότοπου.....................................................................................................53 Εικόνα 40 - Template Manager – Επιλογι Προτφπου.......................................................................55 Εικόνα 41 - Επιλογι Στυλιςτικοφ χρϊματοσ ςτο πρότυπο................................................................56 Εικόνα 42 - Μondule positioons προτφπου......................................................................................56 Εικόνα 43 - Δθμιουργία CSS κϊδικα εντόσ προτφπου.......................................................................57 Εικόνα 44 - Kατθγορίεσ – Category Manager....................................................................................58 Εικόνα 45 - Δθμιουργία άρκρου.......................................................................................................58 Εικόνα 46 - Διαχείρθςθ άρκρων- Article Manager............................................................................61 Εικόνα 47 - Δθμιουργία Menu-Menu Manager.................................................................................62 Εικόνα 48 - Απεικόνιςθ Menu ςτοιχείων-Menu Items......................................................................62 Εικόνα 49 - Δθμιουργία Menu ςτοιχείων-Menu Items.....................................................................63 Εικόνα 50 - Απεικόνιςθ Αρχικοφ Menu.............................................................................................63 Εικόνα 51 - Δθμιουργία RSSFeed – back-end....................................................................................65 Εικόνα 52 - Απεικόνιςθ RSS Feed - front-end...................................................................................65 Εικόνα 53 - Απεικόνιςθ Most Read Content......................................................................................66 Εικόνα 54 - Απεικόνιςθ Login Form Module.....................................................................................68 Πανοσργιάς Εσάγγελος 1645 8 Δηθόλα 55 - Απεηθόληζε Who's Online Module.................................................................................69 Δηθόλα 56:Γεκηνπξγία sidebar Menu................................................................................................69 Δηθόλα 57 - Απεηθόληζε Feed Display Module.................................................................................70 Εικόνα 58 - Δθμιουργία Custom HTML Module................................................................................70 Εικόνα 59 - Δθμιουργία Custom HTML Module................................................................................71 Εικόνα 60- Sigplus Image Gallery-Δθμιουργία κϊδικα......................................................................72 Εικόνα 61 - Sigplus Image Gallery-Απεικόνιςθ Gallery ςε slider........................................................72 Εικόνα 62 - Sigplus Image Gallery-Απεικόνιςθ με χριςθ Jquery.......................................................73 Εικόνα 63 - JCE Editor Componen-Χριςθ του JCE editor ςε άρκρα..................................................73 Εικόνα 64 - JSN ImageShow -Aπεικόνιςθ Slider.................................................................................74 Εικόνα 65 - JSN ImageShow -Δθμιουργία Image Gallery...................................................................75 Εικόνα 66 – Jcomments-Παραμετροποίθςθ.....................................................................................76 Εικόνα 67 - JComments-Απεικόνιςθ φόρμασ ςχολίων.....................................................................76 Εικόνα 68 - ΛογότυποAkeebaBackup ...............................................................................................77 Εικόνα 69 - Akeeba Backup - Control Panel......................................................................................78 Εικόνα 70 - Akeeba Backup – Oλοκλιρωςθ αντίγραφου αςφαλείασ...............................................78 Εικόνα 71 - Λογότυπο All Videos plug in..........................................................................................79 Εικόνα 72 - Απεικόνιςθ video του Youtube ςτον ιςτότοπο..............................................................80 Εικόνα 73 - Kunena Forum- Control Panel........................................................................................80 Εικόνα 74 - Kunena Forum- Categoty Manager................................................................................81 Εικόνα 75 - Kunena Forum- Aπεικόνιςθ κεμάτων του Forum..........................................................81 Εικόνα 76 - Google Maps- Απεικόνιςθ χάρτθ ςτον ιςτότοπο...........................................................82 Εικόνα 77 - ΧSS επίκεςθ..................................................................................................................84 Εικόνα 78 - Απεικόνιςθ επίκεςθσ Cross-site scripting.....................................................................85 Εικόνα 79 - Στατιςτικά τεχνικϊν επικζςεων ςε Web εφαρμογζσ.....................................................86 Εικόνα 80 - Ζγχυςθ SQL....................................................................................................................87 Εικόνα 81 - Cross-Site Request Forgery επίκεςθ.............................................................................88 Εικόνα 82 - Απεικόνιςθ επίκεςθσ Cross-Site Request Forgery .......................................................88 Εικόνα 83 - Απεικόνιςθ επίκεςθσ Ddos Attack (1)............................................................................89 Εικόνα 84 - Απεικόνιςθ επίκεςθσ Ddos Attack (2)............................................................................90 Εικόνα 85 - BASM επίκεςθσ ..............................................................................................................91 Εικόνα 86 - Απεικόνιςθ ςτατιςτικϊν τϊν ςυχνότερων επικζςεων ςε Joomla sites .........................92 Εικόνα 87 - Λογότυπο .htaccess αρχείου..........................................................................................93 Εικόνα 88 - Λογότυπο Secure Socket Layer.....................................................................................100 Εικόνα 89: Menu - "Eλλάδα"..........................................................................................................103 Εικόνα 90: Menu - "Eλλάδα ->Ιςτορία /Ποτιλιςμόσ ".....................................................................104 Εικόνα 91: Menu - "Eλλάδα ->Γεωγραφία /Γενικζσ Πλθροφορίεσ "...............................................105 Εικόνα 92: Menu - " Προοριςμοί "..................................................................................................106 Εικόνα 93: Menu - " Προοριςμοί -> Κφριεσ Πόλεισ/Ελλθνικά Νθςιά/Ηπειρωτικι Ελλάδα ".........107 Εικόνα 94: Menu - " Πολιτιςμόσ "...................................................................................................108 Εικόνα 95: Menu - " Πολιτιςμόσ -> Μουςεία/Μνθμεία"................................................................109 Εικόνα 96: Menu -Photo Gallery "...................................................................................................110 Εικόνα 97: Menu - " Forum"............................................................................................................112 Εικόνα 98: Menu - " Χάρτθσ "..........................................................................................................112 Εικόνα 99: Menu - " Τουριςμόσ News"...........................................................................................113 Πανοσργιάς Εσάγγελος 1645 9 Κεθάλαιο 1 1.1 Εισαγωγή Στα παρακάτω κεφάλαια τθσ πτυχιακισ αυτισ αναφερόμαςτε ςτθν μελζτθ, ςχεδίαςθ, ανάπτυξθ και υλοποίθςθ ενόσ διαδικτυακοφ τόπου (web site) και τθν αςφάλεια του. Για τον ςκοπό αυτό χρθςιμοποιικθκε θ πλατφόρμα Joomla, ζνα ανοιχτοφ κϊδικα ςφςτθμα διαχείριςθσ περιεχομζνου το οποίο ζχει χαρακτθριςτεί από τουσ δεκάδεσ χιλιάδεσ χριςτεσ του ωσ το καλφτερο CMS ςτον κόςμο, διότι ζχει τεράςτιεσ δυνατότθτεσ αλλά και ταυτόχρονα εξαιρετικά ευζλικτο και φιλικό περιβάλλον εργαςίασ και διαχείριςθσ. Με τθν πλατφόρμα ανοιχτοφ κϊδικα ςυςτιματοσ διαχείριςθσ περιεχομζνου που χρθςιμοποιικθκε, ο χριςτθσ μπορεί να δθμιουργεί νζα τμιματα, κατθγορίεσ, άρκρα με περιεχόμενο και πολλά άλλα. Μπορεί να διαχειριςτεί ολόκλθρο το frontend τθσ ιςτοςελίδασ από ζνα εφχρθςτο περιβάλλον διαχείριςθσ. Το web site αναπτφχκθκε με χριςθ τθσ τελευταίασ ζκδοςθσ Joomla 3.2.1 . 1.2 Οργάνωση του τόμου Η ςυνζχεια τθσ πτυχιακισ ζχει οργανωκεί ςτα ακόλουκα κεφάλαια: Κεφάλαιο 2: Παρουςιάηονται χριςιμοι κεωρθτικοί οριςμοί και ζννοιεσ, ςχετικά με τισ απαραίτθτεσ γνϊςεισ και κάποια βαςικά ςτοιχεία που πρζπει να κατζχει κάποιοσ για τθν κατανόθςθ τθσ πτυχιακισ εργαςίασ. Κεφάλαιο 3: Παρουςιάηονται οι τεχνολογίεσ, οι γλϊςςεσ προγραμματιςμοφ και τα χριςιμα εργαλεία που χρθςιμοποιικθκαν για τθν ανάπτυξθ και υλοποίθςθ τθσ ιςτοςελίδασ. Κεφάλαιο 4: Παρουςιάηονται γενικζσ αλλά και ειδικζσ πλθροφορίεσ για τον τφπο και τα πλεονεκτιματα του ςυςτιματοσ που κα αςχολθκοφμε (Content Managment System) . Κεφάλαιο 5: Παρουςιάηονται και εγκακίςτανται λεπτομερϊσ τα εργαλεία του διακομιςτι διαδικτφου και του ανοιχτοφ κϊδικα ςυςτιματοσ διαχείρθςθσ περιεχομζνου που επιλζξαμε για τθν υλοποίθςθ του ιςτότοπου. Κεφάλαιο 6: Γνωριμία και ανάλυςθ των δομικϊν ςτοιχείων του Joomla , υλοποίθςθ ξεχωριςτά κάκε ςυςτατικοφ του ιςτότοπου μασ κακϊσ και περιγραφι όλων των πρόςκετων εφαρμογϊν που βοικθςαν ςτθν άρτια διακπαιρζωςθ τθσ εργαςίασ. Κεφάλαιο 7: Αναφερόμαςτε λεπτομερϊσ ςτουσ τρόπουσ των τεχνικϊν επικζςεων που κακιςτοφν ζνα ιςτότοπο ευάλωτο και τισ μεκόδουσ που πρζπει να ακολουκοφνται απο τον κάκε διαχειρθςτι πριν και μετα τθσ εγκατάςταςθσ του Joomla για τθν αςφαλι κωράκιςθ του. Πανοσργιάς Εσάγγελος 1645 10 Κεθάλαιο 2 Δηθόλα 1 : Δηθνληθή απεηθόληζε Γηαδηθηύνπ 2.1 Θεωρίες 2.2 Διαδίκτυο Σν Γηαδίθηπν απνηειείηαη από εθαηνκκύξηα ππνινγηζηέο πνπ βξίζθνληαη δηαζθνξπηζκέλνη ζε όιν ηνλ πιαλήηε θαη επηθνηλσλνύλ κεηαμύ ηνπο αληαιιάζζνληαο δεδνκέλα.Σν όλνκα Γηαδίθηπν είλαη κηα ζύλζεηε ιέμε πνπ παξάγεηαη από ηηο ιέμεηο Γηαζύλδεζε Γηθηύσλ.ηα αγγιηθά ν όξνο Internet γελλήζεθε από ηελ ζπλέλσζε ησλ ιέμεσλ International Network πνπ ζεκαίλνπλ Γηεζλέο Γίθηπν Τπνινγηζηώλ. 2.3 Ιστοσελίδα Η ηζηνζειίδα είλαη έλα αξρείν πνπ πεξηέρεη πιεξνθνξίεο πνπ είλαη πξννξηζκέλεο γηα δεκνζίεπζε ζηνλ Παγθόζκην Ιζηό (www). Μία ηζηνζειίδα είλαη πξνζβάζηκε από έλα Φπιινκεηξεηή (web browser). Μία ηζηνζειίδα κπνξεί λα πεξηέρεη έλα ζύλνιν πιεξνθνξηώλ όπσο θείκελα, γξαθηθά, θσηνγξαθίεο, video, ήρνπο, ρξώκαηα ή αθόκα θαη δηάθνξα αξρεία. Οη επηζθέπηεο ηεο Πανοσργιάς Εσάγγελος 1645 11 ηζηνζειίδαο νλνκάδνληαη web clients. 2.4 Ιστότοπος Ο ηζηόηνπνο, ηζηνρώξνο ή δηαδηθηπαθόο ηόπνο είλαη κία ζπιινγή από ηζηνζειίδεο, εηθόλεο, βίληεν θαη άιια ςεθηαθά ζηνηρεία, ηα νπνία θηινμελνύληαη ζηελ ίδηα πεξηνρή (domain) ηνπ Παγθόζκηνπ Ιζηνύ. Σν ζύλνιν ησλ ηζηνηόπσλ απνηειεί άιισζηε ην world wide web (www). 2.5 Web Server Έλαο ηζηόηνπνο γηα λα κπνξέζεη λα ιεηηνπξγήζεη ζα πξέπεη λα είλαη απνζεθεπκέλνο ζε θάπνηνλ Web Server. Ο Web Server ζηελ νπζία είλαη ν ππνινγηζηήο εθείλνο ν νπνίνο αλαιακβάλεη λα δεκνζηεύζεη ηελ ηζηνζειίδα καο ζην δηαδίθηπν. Τπάξρνπλ δύν θύξηνη Web Server: Ο Apache πνπ ζπλήζσο ρξεζηκνπνηεί ιεηηνπξγηθό ζύζηεκα Linux θαη ν IIS πνπ ρξεζηκνπνηεί ιεηηνπξγηθό ζύζηεκα Windows. 2.6 Web Browser Ο Web Browser είλαη ην ινγηζκηθό πνπ επηηξέπεη ζηνλ ρξήζηε ηνπ λα πξνβάιιεη, θαη λα αιιειεπηδξά κε θείκελα, εηθόλεο, βίληεν, κνπζηθή, παηρλίδηα θαη άιιεο πιεξνθνξίεο αλαξηεκέλεο ζε κηα ηζηνζειίδα ελόο ηζηόηνπνπ ζηνλ Παγθόζκην Ιζηό ή ζε έλα ηνπηθό δίθηπν.Κάζε έλαο απν απηνύο έρεη ηηο δηθέο ηνπ δπλαηόηεηεο, επεθηάζεηο, ερζξνύο θαη θίινπο. Απηή ηε ζηηγκή ππάξρεη κία πιεηάδα από web browsers πνπ ηθαλνπνηνύλ ηα γνύζηα θαη ηνπ πην απαηηεηηθνύ ρξήζηε. Οη πην δεκνθηιείο web browsers είλαη : • Google Chrome • Intenert Explorer • Μνzzila Firefox • Opera •Safari Δηθόλα 2: Γεκνθηιέζηεξνη Web browser γηα ην 2013 Πανοσργιάς Εσάγγελος 1645 12 Σν θύξην ραξαθηεξηζηηθό όισλ είλαη όηη δηαλέκνληαη δσξεάλ νπόηε ν θάζε ρξήζηεο έπεηηα από δνθηκή κπνξεί λα βξεη πνηνο απ‟όινπο έρεη όια ηα ζηνηρεία ώζηε ε πινήγεζε ηνπ ζην internet λα γίλεηαη πην επράξηζηε. Κάπνηνο πνπ αζρνιείηαη κε ηελ θαηαζθεπή ηζηνζειίδσλ πξνηείλεηαη λα ηνπο έρεη όινπο ώζηε λα ειέγρεη ηελ εκθάληζε ησλ ηζηνζειίδσλ ηνπ από δηαθνξεηηθά πξνγξάκκαηα. 2.7 τατικές και Δυναμικές Ιστοσελίδες 2.8 τατικές Ιστοσελίδες Κάζε ζηαηηθό site απνηειεί έλα ζύλνιν ηζηνζειίδσλ κε ζηαζεξό πεξηερόκελν, νη νπνίεο κπνξνύλ λα πεξηιακβάλνπλ εθηελείο πιεξνθνξίεο (όπσο ζηνηρεία επηθνηλσλίαο, ηηκέο, πξντόληα/ππεξεζίεο, γξαθηθά), αιιά δελ κπνξνύλ λα ηξνπνπνηνύληαη εύθνια, γξήγνξα θαη κε ρακειό θόζηνο. Δίλαη νπζηαζηηθά απιά ειεθηξνληθά "έγγξαθα". Μπνξνύλ λα πεξηέρνπλ θείκελα, θσηνγξαθίεο, ζπλδέζκνπο (links), θηλνύκελα ζρέδηα (animated graphics). Δίλαη θαηάιιειεο θπξίσο γηα ηελ δεκηνπξγία "κόληκσλ/ζηαηηθώλ παξνπζηάζεσλ", όπνπ δελ ππάξρεη ζπρλά ε αλάγθε λα ηξνπνπνηείηαη ην πεξηερόκελό ηνπο. Γειαδή, ζα κπνξνύζε λα ρξεζηκνπνηεζεί κηα ζηαηηθή ηζηνζειίδα γηα ηελ γεληθή παξνπζίαζε κηαο επηρείξεζεο. 2.8.1 Πλεονεκτήματα τατικών ιστοσελίδων Γελ ρξεηάδνληαη πξνγξακκαηηζηηθέο δεμηόηεηεο γηα λα δεκηνπξγήζεη θάπνηνο κηα ζηαηηθή ζειίδα. Η ζειίδα κπνξεί λα βξίζθεηαη κε εύθνιν ηξόπν θισλνπνηεκέλε ζε πεξηζζόηεξνπο από έλαλ εμππεξεηεηέο. Γελ ρξεηάδεηαη εηδηθό ινγηζκηθό ζηνλ εμππεξεηεηή ηζηνζειίδσλ γηα ηελ δεκνζίεπζε ζηαηηθώλ ζειίδσλ. Η ζειίδα κπνξεί λα είλαη δηαζέζηκε ζηνλ θπιινκεηξεηή θαηεπζείαλ από έλα απνζεθεπηηθό κέζν όπσο έλα CD ή USB κλήκεο ρσξίο λα ρξεηάδεηαη λα δηακεζνιαβήζεη έλα εμππεξεηεηήο ηζηνζειίδσλ κε θαηάιιειν ινγηζκηθό ρεηξηζκό ηζηνζειίδσλ (γηα παξάδεηγκα νη δπλακηθέο ζειίδεο Πανοσργιάς Εσάγγελος 1645 13 ζε γιώζζα PHP ζέινπλ έλαλ δηεξκελέα PHP ν νπνίνο ηξέρεη ζηνλ εμππεξεηεηή ηζηνζειίδσλ θαη δεκηνπξγεί δπλακηθά ηελ ζειίδα πξηλ απηή απνζηαιεί ζηνλ θπιινκεηξεηή ηνπ ρξήζηε). 2.8.2 Μειονεκτήματα τατικών ιστοσελίδων Γελ είλαη εύθνιε ε δηαδξαζηηθόηεηα κε ηνλ ρξήζηε. Η δηαρείξηζε κεγάινπ αξηζκνύ ζηαηηθώλ ηζηνζειίδσλ δελ είλαη εύθνιε ρσξίο απηόκαηα εξγαιεία. 2.9 Δυναμικές Ιστοσελίδες ε αληίζεζε κε ηηο ζηαηηθέο νη δπλακηθέο ηζηνζειίδεο δελ δεκηνπξγνύληαη ζηνλ ππνινγηζηή καο αιιά απ‟ επζείαο ζηνλ web server. Γίλνληαο ηηο θαηάιιειεο εληνιέο νη ηζηνζειίδεο καο κπνξνύλ λα αιιάμνπλ, δηαγξαθνύλ ή λα πξνζηεζνύλ λέεο. Καη όια απηά ρξεζηκνπνηώληαο κηα θηιηθή ζην ρξήζηε πεξηνρή δηαρείξηζεο ηόζν απιή όζν κηα εθαξκνγή επεμεξγαζίαο θεηκέλνπ όπσο ην Microsoft Word. Σν Joomla όπνπ ζα επεθηαζνύκε ζηελ ζπλέρεηα ρεηξίδεηαη δπλακηθά ην πεξηερόκελν ησλ ηζηνζειίδσλ. 2.9.1 Πλεονεκτήματα Δυναμικών ιστοσελίδων Πνιύ πην ιεηηνπξγηθή ηζηνζειίδα Πνιύ πην εύθνιε ε ελεκέξσζή ηεο Πνιύ θηιηθέο σο πξνο ηηο κεραλέο αλαδήηεζεο Γελ απαηηείηαη ε βνήζεηα εηδηθνύ πξνγξακκαηηζηή γηα ηε δηαρείξηζε ηεο ηζηνζειίδαο Πανοσργιάς Εσάγγελος 1645 14 2.9.2 Μειονεκτήματα Δυναμικών ιστοσελίδων Πην ρξνλνβόξα θαη αθξηβή ε αλάπηπμή ηεο Σελ ηειεπηαία δεθαεηία παξνπζηάδεηαη κία κεγάιε ηάζε αληηθαηάζηαζεο ησλ ζηαηηθώλ ηζηνζειίδσλ από ηηο δπλακηθέο. Όιν θαη πεξηζζόηεξνη ρξήζηεο ζπλεηδεηνπνηνύλ ηα πιενλεθηήκαηα ησλ δπλακηθώλ ηζηνζειίδσλ θαη ηηο αμηνπνηνύλ σο έλα δπλαηό επαγγεικαηηθό εξγαιείν. Πανοσργιάς Εσάγγελος 1645 15 Κεθάλαιο 3 3.1 Γλώζζες Προγραμμαηιζμού,Τετνολογίες & Φρήζιμα Εργαλεία 3.2 Γλώσσες Προγραμματισμού Δηθόλα 3: Λνγόηππν PHP 3.3 PHP Η PHP είλαη κηα γιώζζα πξνγξακκαηηζκνύ πνπ ζρεδηάζηεθε γηα ηε δεκηνπξγία δπλακηθώλ ζειίδσλ ζην δηαδίθηπν θαη είλαη επηζήκσο γλσζηή σο: HyperText Preprocessor. Δίλαη κηα server - side (εθηειείηε ζηνλ δηαθνκηζηή) scripting γιώζζα πνπ γξάθεηαη ζπλήζσο πιαηζησκέλε από HTML, γηα κνξθνπνίεζε ησλ απνηειεζκάησλ. Αληίζεηα από κηα ζπλεζηζκέλε HTML ζειίδα ε ζειίδα PHP δελ ζηέιλεηαη άκεζα ζε έλαλ πειάηε (client), αλη' απηνύ πξώηα αλαιύεηαη θαη κεηά απνζηέιιεηαη ην παξαγόκελν απνηέιεζκα. Σα ζηνηρεία HTML ζηνλ πεγαίν θώδηθα κέλνπλ σο έρνπλ, αιιά ν PHP θώδηθαο εξκελεύεηαη θαη εθηειείηαη. Ο θώδηθαο PHP κπνξεί λα ζέζεη εξσηήκαηα ζε βάζεηο δεδνκέλσλ, λα δεκηνπξγήζεη εηθόλεο, λα δηαβάζεη θαη λα γξάςεη αξρεία, λα ζπλδεζεί κε απνκαθξπζκέλνπο ππνινγηζηέο θ.ν.θ. ε γεληθέο γξακκέο νη δπλαηόηεηεο πνπ καο δίλεη είλαη απεξηόξηζηεο. Αξρηθά ε νλνκαζία ηεο ήηαλ PHP/FI από ην Forms Interpreter ε νπνία δεκηνπξγήζεθε ην 1995 από ηνλ smus Lerdorf σο κηα ζπιινγή από Perl scripts πνπ ηα ρξεζηκνπνηνύζε ζηελ πξνζσπηθή ηνπ ζειίδα δελ άξγεζε λα ηα εκπινπηίζεη κε ιεηηνπξγίεο επεμεξγαζίαο δεδνκέλσλ κε SQL, αιιά ηα ζεκαληηθά βήκαηα πνπ έθεξαλ θαη ηελ κεγάιε απνδνρή ηεο PHP ήηαλ αξρηθά ε κεηαηξνπή ηνπο ζε “C” θαη κεηέπεηηα ε δσξεάλ παξνρή ηνπ πεγαίνπ θώδηθα κέζσ ηεο ζειίδαο ηνπ ώζηε λα επσθειεζνύλ όινη από απηό πνπ είρε θηηάμεη, αιιά θαη λα ηνλ βνεζήζνπλ ζηελ πεξαηηέξσ Πανοσργιάς Εσάγγελος 1645 16 αλάπηπμή ηεο. 3.3.1 Πλεονεκτήματα της PHP Τςειή απόδνζε. Γηαζπλδέζεηο κε πνιιά δηαθνξεηηθά ζπζηήκαηα βάζεσλ δεδνκέλσλ. Δλζσκαησκέλεο βηβιηνζήθεο γηα πνιιέο ζπλεζηζκέλεο Web δηαδηθαζίεο. Υακειό θόζηνο. Δπθνιία κάζεζεο θαη ρξήζεο. Γπλαηή αληηθεηκελνζηξαθή ππνζηήξημε. Μεηαθεξζηκόηεηα. Γηαζεζηκόηεηα ηνπ θώδηθα πξνέιεπζεο. Γηαζεζηκόηεηα ππνζηήξημεο 3.4 CSS Σα CSS ή αιιηώο Cascading Style Sheets, είλαη κηα αλεμάξηεηε γιώζζα ε νπνία έρεη ζρεδηαζηεί γηα λα νξίδεη ηελ εκθάληζε θαη ηε κνξθνπνίεζε ηζηνζειίδσλ. Δλδεηθηηθά, κπνξεί λα ρξεζηκνπνηεζεί γηα λα δηακνξθώζεη: Σα ρξώκαηα θαη ην κέγεζνο δηαθόξσλ ζηνηρείσλ ηεο ηζηνζειίδαο. Σελ ζπκπεξηθνξά ηνπο ζε δηάθνξεο ελέξγεηεο. Δηθόλα 4: Λνγόηππν CSS Eίλαη νπζηαζηηθά έλα εξγαιείν πνπ ρξεζηκνπνηνύκε ζηελ θαηαζθεπή ελόο web site θαη έρεη σο ζθνπό ηελ βειηίσζε ηεο ηαρύηεηαο θόξησζεο θαη θπξίσο ηελ κείσζε ηνπ ρώξνπ πνπ θαηαιακβάλεη έλα site ζε έλαλ server. Απηό επηηπγράλεηαη γηαηί απηνύ ηνπ είδνπο ε ζρεδηαζηηθή πξνζέγγηζε ελόο Πανοσργιάς Εσάγγελος 1645 17 web site ζπγθεληξώλεη όιν ηνλ θώδηθα πνπ γξάθεηαη θαη αθνξά ηελ κνξθή θαη ηελ εκθάληζε κηα ζειίδαο ζε έλα αξρείν κε θαηάιεμε .css Έλα παξάδεηγκα CSS θώδηθα είλαη ην αθόινπζν: body { font-family: Arial,helvetica,sans-serif; color: black; background-color: white; } Ο παξαπάλσ θώδηθαο ελεκεξώλεη ηov web browser, πσο όπνην ζηνηρείν γξάθεηε κεηαμύ ηεο εηηθέηαο <body> θαη </body> ζα πξέπεη λα έρεη σο γξακκαηνζεηξά ηα Arial, ρξώκα γξακκαηνζεηξάο ην καύξν θαη ρξώκα θόληνπ ην ιεπθό. 3.4.1 Πλεονεκτήματα CSS Μεξηθά από ηα πιενλεθηήκαηα ησλ CSS είλαη: Πνιύ κεγαιύηεξε επειημία. Σν CSS θαηέζηεζε εθηθηέο κνξθνπνηήζεηο νη νπνίεο ήηαλ αδύλαηεο ή πνιύ δύζθνιεο κε ηελ θιαζζηθή HTML. Επθνιόηεξε ζπληήξεζε ησλ ηζηνζειίδσλ. Η εκθάληζε ελόο νιόθιεξνπ site κπνξεί λα ειέγρεηαη από έλα κόλν εμσηεξηθό αξρείν CSS. Έηζη, θάζε αιιαγή ζην ζηπι ηεο ηζηνζειίδαο κπνξεί λα γίλεηαη κε κηα κνλαδηθή αιιαγή ζε απηό ην αξρείν, αληί γηα ηελ επεμεξγαζία πνιιώλ ζεκείσλ ζε θάζε ζειίδα πνπ ππάξρεη ζην site. Μηθξόηεξν κέγεζνο αξρείνπ, δεδνκέλνπ όηη ν θάζε θαλόλαο κνξθνπνίεζεο γξάθεηαη κόλν κηα θνξά θαη όρη ζε θάζε ζεκείν πνπ εθαξκόδεηαη Καιύηεξν SEO(Search engine optimization). Οη κεραλέο αλαδήηεζεο δελ «κπεξδεύνληαη» αλάκεζα ζε πεξηερόκελν θαη ηε κνξθνπνίεζε ηνπ, αιιά έρνπλ πξόζβαζε ζην πεξηερόκελν ζθέην, νπόηε είλαη πνιύ επθνιόηεξν λα ην θαηαγξάςνπλ θαη λα ην αξρεηνζεηήζνπλ(indexing). Γξεγνξόηεξεο ζειίδεο. Όηαλ ρξεζηκνπνηνύκε εμσηεξηθό αξρείν CSS, ν browser ηελ πξώηε θνξά πνπ ζα θνξηώζεη θάπνηα ζειίδα ηνπ site καο ην απνζεθεύεη ζηελ cache, νπόηε δελ ρξεηάδεηαη λα ην θαηεβάζεη μαλά θάζε θνξά πνπ θαηεβάδεη ν ρξήζηεο ηνπ θάπνηα άιιε ζειίδα ηνπ site καο. Πανοσργιάς Εσάγγελος 1645 18 Δηθόλα 5: Λνγόηππν Javascript 3.5 JavaScript Η JavaScript είλαη δηεξκελεπκέλε γιώζζα πξνγξακκαηηζκνύ γηα ειεθηξνληθνύο ππνινγηζηέο.Αξρηθά απνηέιεζε κέξνο ηεο πινπνίεζεο ησλ θπιινκεηξεηώλ Ιζηνύ, ώζηε ηα ζελάξηα από ηελ πιεπξά ηνπ πειάηε (client-side scripts) λα κπνξνύλ λα επηθνηλσλνύλ κε ηνλ ρξήζηε, λα αληαιιάζζνπλ δεδνκέλα αζύγρξνλα θαη λα αιιάδνπλ δπλακηθά ην πεξηερόκελν ηνπ εγγξάθνπ πνπ εκθαλίδεηαη. Η JavaScript είλαη κηα γιώζζα ζελαξίσλ πνπ βαζίδεηαη ζηα πξσηόηππα (prototype-based), είλαη δπλακηθή, κε αζζελείο ηύπνπο θαη έρεη ζπλαξηήζεηο σο αληηθείκελα πξώηεο ηάμεο. Η ζύληαμή ηεο είλαη επεξεαζκέλε από ηε C. Η JavaScript αληηγξάθεη πνιιά νλόκαηα θαη ζπκβάζεηο νλνκαηνδνζίαο από ηε Java, αιιά γεληθά νη δύν απηέο γιώζζεο δε ζρεηίδνληαη θαη έρνπλ πνιύ δηαθνξεηηθή ζεκαζηνινγία. Οη βαζηθέο αξρέο ζρεδηαζκνύ ηεο JavaScript πξνέξρνληαη από ηηο γιώζζεο πξνγξακκαηηζκνύ Self θαη Scheme. Δίλαη γιώζζα βαζηζκέλε ζε δηαθνξεηηθά πξνγξακκαηηζηηθά παξαδείγκαηα ,ππζηεξίδνληαο αληηθεηκελνζηξεθέο, πξνζηαθηηθό θαη ζπλαξηεζηαθό ζηπι πξνγξακκαηηζκνύ. Η JavaScript ρξεζηκνπνηείηαη θαη ζε εθαξκνγέο εθηόο ηζηνζειίδσλ.Σέηνηα παξαδείγκαηα είλαη ηα έγγξαθα PDF, νη εμεηδηθεπκέλνη θπιινκεηξεηέο (site-specific browsers) θαη νη κηθξέο εθαξκνγέο ηεο επηθάλεηαο εξγαζίαο (desktop widgets). Οη λεόηεξεο εηθνληθέο κεραλέο θαη πιαίζηα αλάπηπμεο γηα JavaScript (όπσο ην Node.js) έρνπλ επίζεο θάλεη ηε JavaScript πην δεκνθηιή γηα ηελ αλάπηπμε εθαξκνγώλ Ιζηνύ ζηελ πιεπξά ηνπ δηαθνκηζηή (server-side). Πανοσργιάς Εσάγγελος 1645 19 Δηθόλα 6: Λνγόηππν jQuery 3.6 jQuery H jQuery είλαη κηα βηβιηνζήθε (framework) JavaScript πνπ ρξεζηκνπνηείηαη από πξνγξακκαηηζηέο γηα ηελ ηαρεία αλάπηπμε ηζηνζειίδσλ θαη δηαδηθηπαθώλ εθαξκνγώλ πνπ ρξεηάδνληαη κεγάιε επρξεζηία θαη δηαδξαζηηθόηεηα (interactivity). Η jQuery πξσηνεκθαλίζηεθε ηνλ Ιαλνπάξην ηνπ 2006 ζην BarCamp από ηνλ John Resig. Πξόθεηηαη γηα κηα βηβιηνζήθε Javascript αλνηρηνύ θώδηθα, ππό ηηο άδεηεο MIT License θαη ηελ GNU General Public License Σε βηβιηνζήθε jQuery κπνξνύκε λα ηελ θαηεβάζνπκε από ηελ επίζεκε ηζηνζειίδα ηεο http://jquery.com/ . 3.6.1 Πλεονεκτήματα της jQuery • Αθνινπζεί ηελ αξρή KISS (Keep It Simple Stupid): Η βηβιηνζήθε JQuery πξνζπαζεί λα ππεξαπινπζηεύζεη ηνλ πξνγξακκαηηζκό ζε Javascript πξνζθέξνληαο πξαγκαηηθά απινύο κεραληζκνύο θαη εληνιέο κέζσ ηνπ framework ηεο. • Παξέρεη πιήξε θαη αλαιπηηθόηαηε ηεθκεξίσζε πνπ ζπκπιεξώλεηαη από ηελ εθηεηακέλε παξνπζία ειεθηξνληθώλ βνεζεκάησλ. Δθηόο από ηελ πνιύ θαινδνπιεκέλε ηεθκεξίσζή ηνπ JQuery, νη ελδηαθεξόκελνη κπνξνύλ λα αλαηξέμνπλ θαη ζηελ ζειίδα ηνπ Visual JQuery όπνπ κπνξνύλ λα βξνπλ κία ελαιιαθηηθή αιιά πνιύ βνιηθή, από άπνςε δνκήο, ηεθκεξίσζε. • Τπνζηεξίδεηαη από κία πάξα πνιύ ελεξγή θνηλόηεηα. Όπσο γηα ηα πεξηζζόηεξα open source έξγα ινγηζκηθνύ, έηζη θαη γηα ην JQuery ε ύπαξμε κηαο θαηά ην κέγηζην δπλαηό ελεξγήο θνηλόηεηαο απνηειεί ηνλ αθξνγσληαίν ιίζν γηα ηελ αλάπηπμε θαη επεκεξία ηνπ. • Μηθξό κέγεζνο: Σν γεγνλόο όηη ην βαζηθό παθέην ηεο JQuery είλαη κόιηο 20Kb αθελόο επηβεβαηώλεη ηελ πξώηε παξαηήξεζε, όηη δειαδή ε θηινζνθία ηεο έγθεηηαη ζηελ απιόηεηα θαη αθεηέξνπ θάλεη πνιύ εύθνιε ηελ θαηαλόεζε ηεο αξρηηεθηνληθήο ηεο. • Πνηθηιία ραξαθηεξηζηηθώλ: Η JQuery δίλεη ηε δπλαηόηεηα ζηνλ ρξήζηε λα ρξεζηκνπνηήζεη ζρεδόλ ην ζύλνιν ησλ δπλαηνηήησλ πνπ πξνζθέξεη ε γιώζζα JavaScript. Από απιά ραξαθηεξηζηηθά πνπ ζρεηίδνληαη κε βαζηθέο ιεηηνπξγίεο εκθάληζεο / απόθξπςεο, σο Ajax θιήζεηο θαη ζύλζεηα εθέ. • Δπεθηαζηκόηεηα: Η ινγηθή κε ηελ νπνία είλαη θηηαγκέλε ε JQuery είλαη απιή πξάγκα πνπ αληηθαηνπηξίδεηαη θαη ζηνλ ίδην ηεο ηνλ θώδηθα. Απηό θάλεη πνιύ εύθνιε ηελ επέθηαζή / Πανοσργιάς Εσάγγελος 1645 20 ηξνπνπνίεζή ηεο. 3.7 Τετνολογίες Δηθόλα 7 : Λνγόηππν MySQL 3.8 MySQL Η MySQL είλαη κηα ζρεζηαθή βάζε δεδνκέλσλ πνπ κεηξά πεξηζζόηεξεο από 11 εθαηνκκύξηα εγθαηαζηάζεηο (mysql Homepage”.mysql.com). Σν πξόγξακκα “ηξέρεη” έλαλ εμππεξεηεηή (server) παξέρνληαο πξόζβαζε πνιιώλ ρξεζηώλ ζε έλα ζύλνιν βάζεσλ δεδνκέλσλ. Ο MySQL δηαθνκηζηήο ειέγρεη ηελ πξόζβαζε ζηα δεδνκέλα γηα λα δηαζθαιίζεη όηη πνιινί ρξήζηεο ζα κπνξνύλ λα δνπιεύνπλ ηαπηόρξνλα, γηα λα παξέρεη γξήγνξε πξόζβαζε θαη γηα λα δηαζθαιίδεη όηη κόλν νη πηζηνπνηεκέλνη ρξήζηεο ζα έρνπλ πξόζβαζε (mysql Homepage”.mysql.com). πλεπώο ε MySQL είλαη έλαο πνιπλεκαηηθόο δηαθνκηζηήο πνιιαπιώλ ρξεζηώλ. Η MySQL είλαη δηαζέζηκε θαη κπνξεί λα ρξεζηκνπνηεζεί δσξεάλ κε άδεηα αλνηρηνύ θώδηθα (open source license) (mysql Homepage”.mysql.com). 3.8.1 Πλεονεκτήματα της MySQL Δύθνιε δηακόξθσζε θαη εθκάζεζε. Μεηαθεξζηκόηεηα. Γηαζεζηκόηεηα ηνπ θώδηθα πξνέιεπζεο. Γηαζεζηκόηεηα ππνζηήξημεο. Τςειή απόδνζε. Υακειό θόζηνο. Πανοσργιάς Εσάγγελος 1645 21 Δηθόλα 8 : Λνγόηππν phpMyAdmin 3.9 phpMyAdmin Σν phpMyAdmin είλαη έλα δσξεάλ εξγαιείν ινγηζκηθνύ γξακκέλν ζε PHP πνπ πξννξίδεηαη γηα λα ρεηξηζηεί ηελ δηαρείξηζε ηεο MySQL κέζσ ηνπ World Wide Web. Σν phpMyAdmin ππνζηεξίδεη έλα επξύ θάζκα δξαζηεξηνηήησλ κε ηελ MySQL. Οη πην ζπρλά ρξεζηκνπνηνύκελεο ιεηηνπξγίεο πνπ ππνζηεξίδνληαη από ην πεξηβάιινλ εξγαζίαο ρξήζηε (δηαρείξηζε βάζεσλ δεδνκέλσλ, πίλαθεο, πεδία, ζρέζεηο, επξεηήξηα, νη ρξήζηεο, άδεηεο, θιπ), ελώ εμαθνινπζνύκε λα έρνπκε ηε δπλαηόηεηα λα εθηειέζνπκε άκεζα νπνηαδήπνηε δήισζε SQL. 3.9.1 Δυνατότητες και χαρακτηριστικά του phpMyAdmin • λα πεξηεγεζεί θαη λα δηαγξάςεη βάζεηο δεδνκέλσλ, πίλαθεο, πξνβνιέο,ζηήιεο θαη επξεηήξηα • λα πξνβάιεη ζύλνια πνιιαπιώλ απνηειεζκάησλ κέζσ απνζεθεπκέλσλ δηεξγαζηώλ ή εξσηεκάησλ • λα δεκηνπξγήζεη, αληηγξάςεη, δηαγξάςεη, κεηνλνκάζεη θαη αιιάμεη βάζεηο δεδνκέλσλ, πίλαθεο, ζηήιεο θαη επξεηήξηα • λα ζπληεξεί ην δηαθνκηζηή, ηηο βάζεηο δεδνκέλσλ θαη ηνπο πίλαθεο κε πξνηάζεηο γηα ηηο ξπζκίζεηο ηνπ δηαθνκηζηή • λα εθηειεί, επεμεξγάδεηαη θαη ζειηδνπνηεί θάζε δήισζε-όξν"SQL", θαζώο θαη δέζκεο εξσηεκάησλ • λα θνξηώζεη αξρεία θεηκέλνπ ζε πίλαθεο • εμαγσγή δεδνκέλσλ ζε δηάθνξεο κνξθέο: CSV, XML, PDF, ISO/IEC 26300 - OpenDocument θείκελν θαη Λνγηζηηθό θύιιν, Microsoft Word 2000, θαη κνξθέο LATEX • λα δηαρεηξηζηεί πνιινύο δηαθνκηζηέο • λα δηαρεηξηζηεί ρξήζηεο MySQL θαη ηα δηθαηώκαηά ηνπο Πανοσργιάς Εσάγγελος 1645 22 • λα ειέγμεη ηελ αθεξαηόηεηα ζπζρέηηζεο ζε πίλαθεο MyISAM • δεκηνπξγία γξαθηθώλ PDF ηεο δηάηαμεο ηεο βάζεο δεδνκέλσλ καο • λα αλαδεηεί θαζνιηθά ζε κηα βάζε δεδνκέλσλ ή κέξνο απηήο • λα κεηαθέξεη απνζεθεπκέλα δεδνκέλα ζε νπνηαδήπνηε κνξθή ρξεζηκνπνηώληαο έλα ζύλνιν από πξνθαζνξηζκέλεο ζπλαξηήζεηο, όπσο ε εκθάληζε δεδνκέλσλ BLOB όπσο εηθόλα ή ζύλδεζκν ιήςεο • λα αληρλεύεη αιιαγέο ζε βάζεηο δεδνκέλσλ, πίλαθεο θαη πξνβνιέο • απνζεθεπκέλεο δηαδηθαζίεο θαη ζπλαξηήζεηο δεκηνπξγίαο, επεμεξγαζίαο, θιήζεο, εμαγσγήο θαη δηαγξαθήο • λα επηθνηλσλεί ζε 62 δηαθνξεηηθέο γιώζζεο 3.10 Φρήζιμα Εργαλεία Δηθόλα 9 : Λνγόηππν Firebug 3.11 Firebug To Firebug είλαη έλα από ηα δεκνθηιέζηεξα addon γηα ηνλ Mozilla Firefox, ην νπνίν καο δίλεη πνιιέο δπλαηόηεηεο ζε όηη έρεη λα θάλεη κε ην web development θαη ην web design. Μαο επηηξέπεη λα δνύκε ηνπο θώδηθεο HTML, CSS θαη Javascript, πίζσ από θάζε ηζηνζειίδα πνπ αλνίγνπκε, θαη κάιηζηα καο επηηξέπεη λα θάλνπκε ηνπηθέο αιιαγέο. Με απηόλ ηνλ ηξόπν κπνξνύκε θνηηάδνληαο ηελ ηζηνζειίδα καο λα θάλνπκε κηθξναιιαγέο ζηα δηάθνξα ζηνηρεία πνπ ηελ απνηεινύλ, όπσο ηνλ θώδηθα CSS θαη βιέπνληαο απηέο λα θηάζνπκε ζην επηζπκεηό απνηέιεζκα. Από ηελ θνλζόια απηή έρνπκε πξόζβαζε ζε όινπο ηνπο θώδηθεο πνπ θξύβνληαη πίζσ από ηελ ζειίδα πνπ θνηηάκε. Παηώληαο ην Inspect κπνξνύκε λα θάλνπκε mouse over ζηα δηάθνξα ζηνηρεία ηεο ηζηνζειίδαο θαη ζα δνύκε ακέζσο ηνλ θώδηθα. ηνλ θώδηθα πνπ καο εκθαλίδεηαη έρνπκε ηελ επηινγή λα θάλνπκε αιιαγέο απιά θάλνληαο θιηθ ζηηο δηάθνξεο κεηαβιεηέο θαη βάδνληαο ηηο δηθέο καο ηηκέο. Απηέο νη αιιαγέο εκθαλίδνληαη άκεζα ζηελ ζειίδα θαη έηζη κε απηόλ ηνλ ηξόπν Πανοσργιάς Εσάγγελος 1645 23 κπνξνύκε λα πεηξάμνπκε ηνλ θώδηθα καο όζν ζέινπκε ώζηε λα θηάζνπκε ζην επηζπκεηό απνηέιεζκα. 3.11.1 Βασικά χαρακτηριστικά του Firebug Πάληα δηαζέζηκν: Σν Firebug είλαη πάληα δηαζέζηκν θαη κόλν έλα θιηθ καθξηά, αιιά πνηέ δελ κπαίλεη ζηε κέζε. Μπνξνύκε λα ην αλνίμνπκε όπνηε εκείο ζέινπκε, θαη θαηαιακβάλεη ην θάησ κέξνο ηεο νζόλεο καο, ή αθόκα θαη ζε δηαθνξεηηθό παξάζπξν. Δηθόλα 10 : Παξάδεηγκα ρξήζεο Firebug ζε ηζηνζειίδα Έιεγρνο θαη δηακόξθσζε HTML: Σν Firebug θάλεη εύθνιν λα δηακνξθώζνπκε ηνλ HTML θώδηθα πνπ βξίζθεηαη πίζσ από ηελ ηζηνζειίδα πνπ θνηηάκε. Αθνύ βξνύκε απηό πνπ ςάρλνπκε καο δίλεηαη ε δπλαηόηεηα λα θάλνπκε αιιαγέο θαη λα δνύκε ηηο αιιαγέο πνπ θάλακε δσληαλά. Αιιαγέο ζηνλ CSS θώδηθα: Σν Firebug δίλεη ηελ δπλαηόηεηα λα αιιάμνπκε ηηο κεηαβιεηέο ηνπ θώδηθα CSS θαη έηζη λα πεηξακαηηζηνύκε κε ηα ρξώκαηα, ηα κεγέζε ησλ γξακκαηνζεηξώλ θαη άιια πνιιά. Εκθάληζε κέηξεζεο ησλ CSS ζηνηρείσλ: Όηαλ γηα θάπνην ιόγν θάηη δελ επζπγξακκίδεηαη ζσζηά , κέζσ ηνπ Firebug κπνξνύκε λα δνύκε ηη δεκηνπξγεί ην πξόβιεκα θαη λα ην δηνξζώζνπκε. Παξαθνινύζεζε ηνπ network activity: Μπνξνύκε λα πάξνπκε θξίζηκεο πιεξνθνξίεο γηα ηνλ ιόγν πνπ αξγεί λα θνξηώζεη ε ηζηνζειίδα Πανοσργιάς Εσάγγελος 1645 24 καο απιά θνηηάδνληαο ηηο αλαιπηηθέο αλαθνξέο ηνπ Firebug. Debug JavaScript: Σν Firebug παξέρεη έλαλ πνιύ δπλαηό JavaScript debugger ν νπνίνο καο επηηξέπεη λα παγώζνπκε δηάθνξεο δηαδηθαζίεο αλά πάζα ζηηγκή θαη λα δνύκε ηα δηάθνξα ιάζε θαη ηηο παξακέηξνπο. Γξήγνξε αλαδήηεζε ιαζώλ: Όηαλ ππάξρεη θάπνην ζεκαληηθό ιάζνο ην Firebug καο εηδνπνηεί άκεζα γηα ην πξόβιεκα ζηνπο θώδηθεο JavaScript, CSS, and XML. Πεξηήγεζε ζην DOM: Σν DOM(Document Object Model) είλαη ε ηεξαξρία ησλ αληηθεηκέλσλ θαη εληνιώλ πνπ πξαγκαηνπνηνύληαη από ηελ JavaScript. Σν Firebug καο βνεζάεη λα δνύκε ηελ ηεξαξρία απηή θαη λα θάλνπκε άκεζεο αιιαγέο. Logging ηεο JavaScript Μέζα από ην Firebug κπνξνύκε λα θάλνπκε logging ησλ δηάθνξσλ functions πνπ εθηειεί ε Javascript θαη έηζη λα θάλνπκε γξήγνξεο αιιαγέο θαη λα βξνύκε ιάζε. 3.12 Notepad++ Δηθόλα 11: Λνγόηππν Notepad++ Γηα όινπο ηνπο ρξήζηεο νη νπνίνη αλαδεηνύλ έλα εύρξεζην text editor ν νπνίνο ζα αληηθαηαζηήζεη ην Notepad , ην Notepad++ είλαη κηα εμαηξεηηθή ελαιιαθηηθή ιύζε θαη κάιηζηα δσξεάλ. Σν Notepad++ κπνξνύκε λα ην ρξεζηκνπνηήζνπκε αθόκα θαη σο source code editor κηαο θαη ζα καο βνεζήζεη λα γξάςνπκε ή λα επεμεξγαζηνύκε θώδηθα ζε PHP, HTML θαη δεθάδεο αθόκα γιώζζεο. Μπνξνύκε λα αλνίμνπκε πνιιά αξρεία ηαπηόρξνλα θαη ην θαζέλα λα κέλεη αλνηθηό ζηελ δηθή ηνπ θαξηέια. Δπηπιένλ , ε εθαξκνγή δηαζέηεη θαη plugins ζηα νπνία ζα βξνύκε κέρξη θαη FTP client. Δθηόο από ηα plugins ππνζηεξίδεη ην Notepad++ θαη macros ηα νπνία κπνξεί λα δεκηνπξγήζεη ν ρξήζηεο από ην αληίζηνηρν κελνύ Macro ηεο εθαξκνγήο. Πανοσργιάς Εσάγγελος 1645 25 Μαο δίλεη ηε δπλαηόηεηα αιιαγήο ηνπ encoding ησλ αξρείσλ ζε ANSI, UTF-8 πνπ αθνξνύλ θπξίσο εκάο εδώ ζηελ Διιάδα, αιιά θαη ζε όια ηα γλσζηά character sets. ηελ παξνύζα εξγαζία ζα ην ρξεζηκνπνηήνπκε ζε ζπλδπαζκό κε ην Firebug γηα λα βξίζθνπκε εύθνια ηελ θάζε γξακκή θώδηθα ζηνλ ηζηόηνπν καο θαη λα ηξνπνπνηνύκε αλάινγα ησλ πξνηηκήζεσλ καο, ην ρξώκα, ην κέγεζνο ηεο γξακκαηνζεηξάο θ.α. Πανοσργιάς Εσάγγελος 1645 26 Κεθάλαιο 4 4.1 Λογισμικό Ανοιχτού Κώδικα (Open Source Software) Δηθόλα 12: Λνγόηππν open source Ο όξνο ινγηζκηθό αλνηρηνύ θώδηθα (Open Source Software) αλαθέξεηαη ζε πξνγξάκκαηα ππνινγηζηώλ πνπ ν θώδηθαο ηνπο είλαη δηαζέζηκνο ζηνπο ρξήζηεο, νη νπνίνη έρνπλ ηε δπλαηόηεηα λα ρξεζηκνπνηνύλ, λα αληηγξάθνπλ θαη λα ηξνπνπνηνύλ ην ινγηζκηθό ρσξίο λα ρξεηάδεηαη λα πιεξώζνπλ θάπνην αληίηηκν. Γελ απνηειεί απιά έλα κνληέιν παξαγσγήο θαη δηαλνκήο, αιιά κηα γεληθόηεξε θηινζνθία πνπ βαζίδεηαη ζηελ εζεινληηθή πξνζθνξά θαη ζπλεηζθνξά ζηελ θνηλόηεηα, θαζώο θαη ζηε δύλακε ηεο ζπιινγηθήο δξάζεο. Η πηνζέηεζε ιύζεσλ αλνηρηνύ ινγηζκηθνύ ζην δεκόζην ηνκέα κηαο ρώξαο κπνξεί λα έρεη ζεκαληηθά νθέιε γηα ηνπο πνιίηεο ηεο. 4.1.1 Πλεονεκτήματα : Δηθόλα 13:Πιενλεθηήκαηα open source έλαληη commercial ινγηζκηθνύ Μείσζε ηνπ θόζηνπο: θαζώο ην αλνηρηό ινγηζκηθό δελ έρεη θόζηνο αγνξάο ηεο άδεηάο ηνπ, κπνξεί λα ζπκβάιιεη ζηε κείσζε ησλ δαπαλώλ ζηνλ ηνκέα ησλ πιεξνθνξηαθώλ ππνδνκώλ. Απηό, βέβαηα, δε ζεκαίλεη πσο ηα θόζηε Πανοσργιάς Εσάγγελος 1645 27 είλαη κεδεληθά, αθνύ ρξεηάδνληαη ρξήκαηα γηα ηελ αλάπηπμε θαη ηε ζπληήξεζή ηνπ. Δληνύηνηο, αληίζηνηρα έμνδα απαηηνύληαη θαη ζηελ πεξίπησζε ηνπ θιεηζηνύ (proprietary) ινγηζκηθνύ. Έλα πξόβιεκα, πάλησο, είλαη πσο δε θαίλεηαη λα γλσξίδνπκε πόζν θνζηίδνπλ ζηε ρώξα καο νη άδεηεο ινγηζκηθνύ πνπ αγνξάδνληαη ζηνλ επξύηεξν δεκόζην ηνκέα. Δπίζεο, επηπιένλ θέξδνο κπνξεί λα πξνθύςεη από ηελ επαλαρξεζηκνπνίεζε ηνπ ινγηζκηθνύ, θαζώο δελ απαηηείηαη λα αγνξαζηνύλ επηπιένλ άδεηεο. Αθόκε, αλεμάξηεηα από απηό θαη θαζώο ην θόζηνο δελ κπνξεί λα είλαη ν κόλνο παξάγνληαο ζε ηέηνηεο απνθάζεηο, ε πξνώζεζε ηνπ θιεηζηνύ ή ηνπ αλνηρηνύ ινγηζκηθνύ είλαη θπξίσο ζέκα εζληθήο ζηξαηεγηθήο ζηνλ ηνκέα ησλ Σερλνινγηώλ. Δηαιεηηνπξγηθόηεηα: ε πηνζέηεζε αλνηρηνύ ινγηζκηθνύ θαη αλνηρηώλ πξνηύπσλ κπνξεί λα βνεζήζεη ζεκαληηθά ζηε δηαιεηηνπξγηθόηεηα αλάκεζα ζηα ζπζηήκαηα πνπ ρξεζηκνπνηνύλ νη δηάθνξνη δεκόζηνη θνξείο. Επειημία : ιόγσ ηνπ αλνηθηνύ θώδηθα, κπνξνύκε λα θάλνπκε νηηδήπνηε ζέινπκε κε ηνλ θώδηθά καο,λα πξνζζέζνπκε κηα ιεηηνπξγία εδώ ή εθεί, λα ηνλ ηξνπνπνηήζνπκε θαη λα ηνλ κεηαπσιήζνπκε θιπ. Έγθαηξε δηόξζσζε ζθαικάησλ: ην γεγνλόο πσο ν θώδηθαο ηνπ αλνηρηνύ ινγηζκηθνύ είλαη πξνζβάζηκνο ζε όινπο, έρεη σο ζπλέπεηα λα εληνπίδνληαη γξήγνξα ηα ζθάικαηα (bugs) θαη λα δηνξζώλνληαη εμίζνπ γξήγνξα από ηελ θνηλόηεηα αλάπηπμεο. Με εμάξηεζε από εηαηξείεο: από ηε ζηηγκή πνπ ν ρξήζηεο έρεη πξόζβαζε ζηνλ πεγαίν θώδηθα ηνπ ινγηζκηθνύ, έρεη ηε δπλαηόηεηα λα πξνβεί ζε επεθηάζεηο, ηξνπνπνηήζεηο θαη αλαβαζκίζεηο αθόκα θαη όηαλ ηειεηώζεη ε ζύκβαζε κε ηελ εηαηξεία ππνζηήξημεο. Αληίζεηα, ζηελ πεξίπησζε ηνπ θιεηζηνύ ινγηζκηθνύ, κεηά ηε ιήμε ηεο ζύκβαζεο ππνζηήξημεο κε ηελ εηαηξεία πνπ πξνκεζεύεη ην ινγηζκηθό δελ είλαη ζπλήζσο εθηθηό λα γίλνπλ αιιαγέο ή αλαβαζκίζεηο, κε απνηέιεζκα ηελ εμάξηεζε ζε κεγάιν βαζκό από ηελ εηαηξεία θαη επηπιένλ θόζηε.Μπνξνύκε λα πξνζιάβνπκε έλα νπνηνλδήπνηε πξνγξακκαηηζηή αλνηθηνύ θώδηθα – νπνηνζδήπνηε ζηνλ πιαλήηε πνπ δνπιεύεη ζε έλα ηέηνην ζύζηεκα ζα κπνξεί λα αλαπηύμεη ηνλ δηθηπαθό καο ηόπν. Μεξηθνί πξνγξακκαηηζηέο γλσξίδνπλ πεξηζζόηεξα γηα Πανοσργιάς Εσάγγελος 1645 28 έλα CMS από άιια ζπζηήκαηα, έηζη εάλ έρνπκε έλα CMS ζην κπαιό καο πνπ ζέινπκε λα ρξεζηκνπνηήζνπκε, απιώο ξσηάκε ηνπο πηζαλνύο αλαδόρνπο καο εάλ έρνπλ πξνεγνύκελε εκπεηξία. Εγρώξηα θαηλνηνκία: ε ζηξνθή κηαο ρώξαο ζην αλνηρηό ινγηζκηθό κπνξεί λα σζήζεη αξθεηέο εηαηξείεο πιεξνθνξηθήο ζηελ ελαζρόιεζε κε απηό ην κνληέιν αλάπηπμεο θαη δηαλνκήο, παξάγνληαο κε απηό ηνλ ηξόπν εγρώξηα θαηλνηνκία. Δθόζνλ, ζε παγθόζκην επίπεδν ππάξρεη νινέλα θαη απμαλόκελν ελδηαθέξνλ γηα ην ινγηζκηθό αλνηρηνύ θώδηθα, ε θαηλνηνκία θαη ε ηερλνγλσζία απηή κπνξεί λα αλαδεηρζεί ζε θεξδνθόξν εμαγώγηκν πξντόλ. 4.1.2 Μειονεκτήματα : Υπνζηήξημε : Οη πξνκεζεπηέο εκπνξηθώλ CMS δελ θάζνληαη πίζσ από έλαλ ηνίρν εκθαλίδνληαο απιώο λέεο εθδόζεηο ηνπ ινγηζκηθνύ ηνπο, αιιά πξνζπαζνύλ λα γίλνπλ ν ζπλεξγάηεο καο. Σν γεγνλόο είλαη όηη πηζαλόηαηα ςάρλνπκε γηα έλα CMS επεηδή είηε δελ έρνπκε ην πξνζσπηθό είηε δελ έρνπκε ην ρξόλν λα δεκηνπξγήζνπκε θαη λα ππνζηεξίμνπκε θάπνην ζύζηεκα κόλνη καο. Γηα λα εθκεηαιιεπζνύκε από ηελ άιιε έλα CMS αλνηθηνύ θώδηθα, ζα πξέπεη λα έρνπκε ην πξνζσπηθό γηα λα ππνζηεξίμνπκε θαη λα ζπληεξήζνπκε νιόθιεξν ην ζύζηεκα. Η ζπληήξεζε ελόο ινγηζκηθνύ δελ απνηειεί έλα απιό ζηόρν θαη απαηηεί αξθεηνύο πόξνπο. Λεηηνπξγίεο θαη Επειημία : Σν ζύλνιν ησλ ιεηηνπξγηώλ, ε επθνιία ρξήζεο θαη ε επειημία ελόο εκπνξηθνύ CMS απηήλ ηελ ζηηγκή ππεξβαίλεη θαηά πνιύ ηηο ιύζεηο αλνηθηνύ θώδηθα. Απηό ην ράζκα κπνξεί λα κεησζεί ζην κέιινλ, αιιά απηή ηε ζηηγκή ππάξρεη. Οη εκπνξηθέο εηαηξείεο αθηεξώλνπλ αξθεηνύο πόξνπο γηα λα εμαζθαιίζνπλ όηη ε ιύζε ηνπο ζα είλαη πάληα έλα βήκα κπξνζηά από ηνλ αληαγσληζκό. Οξηζκόο ηνπ Δσξεάλ : Ναη, έλα CMS αλνηθηνύ θώδηθα είλαη δσξεάλ, αιιά δελ είλαη δσξεάλ ε ζρεδίαζε, ε δηακόξθσζε, ε ζπληήξεζε θαη ε ππνζηήξημε ελόο CMS γηα έλα δηθηπαθό ηόπν αλνηθηνύ θώδηθα. Σν Drupal θαη ην Joomla! είλαη πξαγκαηηθά δσξεάλ όηαλ Πανοσργιάς Εσάγγελος 1645 29 απαηηνύλ λα πξνζιάβνπκε έλα άηνκν γηα λα ηα δηαρεηξίδεηαη; Δίηε πιεξώλνπκε γηα έλα εκπνξηθό CMS είηε ππνζηεξίδνπκε έλα CMS αλνηθηνύ θώδηθα, ππάξρνπλ θόζηε πνπ πξέπεη λα πεξάζνπλ ζηνπο πειάηεο καο. Σε πνιινύο πξνκεζεπηέο : Η ηππνπνίεζε ηεο βάζεο ησλ πειαηώλ καο ζε έλα ζύζηεκα πνπ πξνζθέξνπλ ρηιηάδεο εηαηξείεο παξνρήο ππεξεζηώλ θάλεη πνιύ εύθνιν γηα ηνλ πειάηε καο λα καο εγθαηαιείςεη. Εηθόλα 14:Πιενλεθηήκαηα commercial έλαληη open source ινγηζκηθνύ Πξνζαξκνγή : Δάλ ζέινπκε λα πξνζαξκόζνπκε αλνηθηνύ έλα CMS θώδηθα, ζα ρξεηαζηνύκε έλαλ πξνγξακκαηηζηή πνπ λα μέξεη ην ζύζηεκα θαη έρεη ηηο δεμηόηεηεο λα νινθιεξώζεη εξγαζία. απηή Μπνξνύκε ηελ λα δνθηκάζνπκε ηελ ηύρε καο ζηελ θνηλόηεηα ησλ πξνγξακκαηηζηώλ, αιιά εύξεζε πνπ απηνύ ε ζα αληαπνθξίλεηαη ζηηο αθξηβείο αλάγθεο καο δελ είλαη πάληα εύθνιε ππόζεζε. Λύζε Υςεινύ Επηπέδνπ : Γηα ηηο επηρεηξήζεηο πνπ ςάρλνπλ έλα λέν Web πξνκεζεπηή, ε ιύζε αλνηθηνύ θώδηθα δελ είλαη πάληα ε θηελόηεξε. Πνιιέο θνξέο, ε θαιύηεξε ιύζε είλαη θάπνηα γηα ηελ νπνία νη πειάηεο ζα πιεξώζνπλ ιίγν πεξηζζόηεξν. Πανοσργιάς Εσάγγελος 1645 30 Εμππεξέηεζεθαη Υπνζηήξημε:Θα έρεηε πηζαλόλ θαηαιάβεη όηη ε κεγαιύηεξε δηαθνξά κεηαμύ κηαο ιύζεο αλνηθηνύ θώδηθα θαη κηαο εκπνξηθήο ιύζεο είλαη ε εμππεξέηεζε θαη ε ππνζηήξημε. Δάλ ηα ρξεηάδόκαζηε απηά, ηόηε πξέπεη λα αθνινπζήζνπκε κηα εκπνξηθή ιύζε. Αλ δελ έρνπκε έλαλ πξνγξακκαηηζηή πνπ λα μέξεη ην ζύζηεκα CMS πνπ ρξεζηκνπνηνύκε, δελ ππάξρεη θαλέλαο ηειεθσληθόο αξηζκόο λα θαιέζνπκε όηαλ ρξεηαζηνύκε βνήζεηα. Κόζηνο πινπνίεζεο : Δλώ ν πξαγκαηηθά αλνηθηόο θώδηθαο κπνξεί λα θαηέβεη δσξεάλ από ην Internet θαη λα ηνλ ρξεζηκνπνηήζνπκε κε όπνηνλ ηξόπν ζέινπκε, εάλ ρξεηάδόκαζηε κηα ιεηηνπξγία πνπ είλαη έμσ από ηηο ππάξρνπζεο δπλαηόηεηεο ηνπ CMS, ηόηε νη πξνγξακκαηηζηέο ζα ρξεώζνπλ αξθεηά ρξήκαηα, νπόηε απηό ζα κπνξνύζε λα γίλεη πνιύ δαπαλεξό εάλ νη ιεηηνπξγίεο/επεθηάζεηο πνπ ζέινπκείλαη πεξίπινθεο. Αζθάιεηα : Δάλ ζπλεξγαδόκαζηε κε έλαλ πειάηε πνπ πξέπεη ή ζα απαηηήζεη λα δηεμάγεη ειέγρνπο αζθάιεηαο, ηα ζπζηήκαηα αλνηθηνύ θώδηθα δελ είλαη ε θαηάιιειε επηινγή. Η δπλαηόηεηα πξόζβαζεο ζηνλ θώδηθα κπνξεί λα δεκηνπξγήζεη θελά αζθάιεηαο πνπ κπνξνύλ λα εθκεηαιιεπηνύλ νη ράθεξ. Η εύξεζε ελόο ηξσηνύ ζεκαίλεη όηη έρεη θεξδεζεί από ηνπο ράθεξ ε κηζή κάρε. Κίλδπλνη αζθάιεηαο : Αλ είλαη γλσζηόο ν θώδηθαο ηνπ δηθηπαθνύ καο ηόπνπ ή αθόκα θαη πνηα έθδνζε ηνπ CMS ινγηζκηθνύ έρνπκε εγθαηαζηήζεη, ηόηε ν δηθηπαθόο καο ηόπνο είλαη αλνηθηόο ζε πηζαλνύο θηλδύλνπο θαη ηξσηά αζθάιεηαο. Τεθκεξίσζε :Τπάξρνπλ έξγα αλνηθηνύ θώδηθα έμσ ζην Web πνπ έρνπλ πξαγκαηηθά πνιύ θαιή ηεθκεξίσζε θαη κεξηθά πνπ δελ έρνπλ θαζόινπ, έηζη ε ηεθκεξίσζε είλαη πξαγκαηηθά έλα πξόβιεκα ζηα έξγα αλνηθηνύ θώδηθα 4.2 Σι είναι ένα CMS CMS ή ύζηεκα Γηαρείξηζεο Πεξηερνκέλνπ (Content Management System) νλνκάδνπκε έλα ινγηζκηθό πνπ καο βνεζά λα ειέγρνπκε θαη λα δηαρεηξηδόκαζηε έλαλ ηζηόηνπν δεκόζηαο ή πεξηνξηζκέλεο πξόζβαζεο. Πεξηερόκελν είλαη νηηδήπνηε απνθαζίδνπκε λα «αλεβάζνπκε» ζηνλ ηζηόηνπό καο: θείκελα, θσηνγξαθίεο, κνπζηθή, βίληεν, έγγξαθα ή νπνηνπδήπνηε άιινπ είδνπο αξρείν. Έλα ηδαληθά ζρεδηαζκέλν CMS καο επηηξέπεη λα δηαρεηξηδόκαζηε ηνλ ηζηόηνπό καο ρσξίο λα δηαζέηνπκε πεξίπινθεο ηερληθέο γλώζεηο ή δεμηόηεηεο.Έλα νινθιεξσκέλν CMS πξέπεη λα κπνξεί λα δηαρεηξίδεηαη όιεο ηηο δπλακηθέο πιεξνθνξίεο ηνπ site θαη λα πξνζθέξεη ππεξεζίεο πνπ Πανοσργιάς Εσάγγελος 1645 31 εμππεξεηνύλ πιήξσο ηηο αλάγθεο ησλ δηαρεηξηζηώλ ηνπ. Δηθόλα 15: Content Management System 4.2.1 Σα πλεονεκτήματα ενός CMS Δπηγξακκαηηθά, κεξηθά από ηα πιενλεθηήκαηα θαη ηα ραξαθηεξηζηηθά ελόο νινθιεξσκέλνπ CMS είλαη: • Γξήγνξε ελεκέξσζε, δηαρείξηζε θαη αξρεηνζέηεζε ηνπ πεξηερνκέλνπ ηνπ δηθηπαθνύ ηόπνπ. • Δλεκέξσζε ηνπ πεξηερνκέλνπ από νπνπδήπνηε. • Σαπηόρξνλε ελεκέξσζε από πνιινύο ρξήζηεο θαη δηαθνξεηηθνύο ππνινγηζηέο. • Να κελ απαηηνύληαη εηδηθέο ηερληθέο γλώζεηο από ηνπο δηαρεηξηζηέο ηνπ. • Δύθνιε ρξήζε θαη άκεζε γλώζε ηνπ ηειηθνύ απνηειέζκαηνο, όπσο γίλεηαη κε ηνπο γλσζηνύο θεηκελνγξάθνπο. • Γπλαηόηεηα αλαδήηεζεο ηνπ πεξηερνκέλνπ πνπ θαηαρσξείηαη θαη απηόκαηε δεκηνπξγία αξρείνπ . • Αζθάιεηα θαη πξνζηαζία ηνπ ζρεδηαζκνύ ηνπ site από ιαλζαζκέλεο ελέξγεηεο, πνπ ζα κπνξνύζαλ λα δεκηνπξγήζνπλ πξνβιήκαηα ζηελ εκθάληζή ηνπ. • Γηαρσξηζκόο ηνπ πεξηερνκέλνπ από ην ζρεδηαζκό θαη ηελ πινήγεζε (navigation) ηνπ δηθηπαθνύ ηόπνπ. • Αιιαγή ζρεδηαζκνύ ή ηξόπνπ πινήγεζεο ρσξίο λα είλαη απαξαίηεηε ε ελεκέξσζε όισλ ησλ ζειίδσλ από ηνλ ίδην ην ρξήζηε. • Απηόκαηε δεκηνπξγία ησλ ζπλδέζκσλ κεηαμύ ησλ ζειίδσλ θαη απνθπγή πξνβιεκάησλ αλύπαξθησλ ζειίδσλ (404 error pages). • Μηθξόηεξνο θόξηνο ζηνλ εμππεξεηεηή (server) θαη ρξήζε ιηγόηεξνπ ρώξνπ, αθνύ δελ ππάξρνπλ πνιιέο επαλαιακβαλόκελεο ζηαηηθέο ζειίδεο, από ηε ζηηγκή πνπ ε αλάπηπμε ησλ ζειίδσλ γίλεηαη δπλακηθά. Πανοσργιάς Εσάγγελος 1645 32 • Όιν ην πεξηερόκελν θαηαρσξείηαη ζηελ/ζηηο βάζεηο δεδνκέλσλ, ηηο νπνίεο κπνξνύκε πην εύθνια θαη γξήγνξα λα ηηο πξνζηαηεύζνπκε ηεξώληαο αληίγξαθα αζθαιείαο. Σα ραξαθηεξηζηηθά ησλ CMS αθνξνύλ ζηε ζύλζεζε θάζε ηέηνηνπ ηύπνπ ινγηζκηθνύ. Τπάξρνπλ πνιιαπιά ραξαθηεξηζηηθά ζηα πην απιά παθέηα, ελώ έρνπλ αλαδεηρηεί αθόκε θαη πην πινύζηεο ζε ραξαθηεξηζηηθά ιύζεηο. εκαληηθό είλαη ζε απηό ην ζεκείν λα ηνληζηεί, όηη ηα open - source CMS, ησλ νπνίσλ ν θώδηθαο πξνγξακκαηηζκνύ δηαηίζεηαη δσξεάλ ζην δηαδίθηπν, έρνπλ ζεσξεηηθά άπεηξεο δπλαηόηεηεο βειηίσζεο, ζε ζρέζε κε ηα εκπνξηθά (commercial), ηα νπνία έρνπλ θάπνην θόζηνο θαη ε βειηίσζε ησλ ραξαθηεξηζηηθώλ ηνπο κπνξεί λα γίλεη κόλν από ηελ ίδηα ηελ εηαηξεία δεκηνπξγίαο ηνπο. 4.2.2 Σα μειονεκτήματα ενός CMS Δίλαη επξέσο εθηεζεηκέλα ζε θελά αζθαιείαο (exploits) Tα plugins δελ είλαη απαξαίηεην όηη ζα ππνζηεξίδνληαη θαη απηά ελώ κπνξεί λα ρξεηάδνληαη ζπλδξνκή/πιεξσκή Οη νπνηεζδήπνηε ηξνπνπνηήζεηο ηειηθά ζα απαηηήζνπλ γλώζεηο πξνγξακκαηηζκνύ. Learning Curve / θακπύιε εθκάζεζεο. Κάπνηεο δπλαηόηεηεο πνπ ζα ρξεηαζηείηε πηζαλόλ λα κελ ππνζηεξίδνληαη από ην CMS πνπ επηιέμεηε. Μπνξεί λα πάςεη λα ππνζηεξίδεηαη ην CMS ζην ζύλνιό ηνπ. 4.3 Σύποι CMS Τπάξρνπλ έμη θύξηεο θαηεγνξίεο πζηεκάησλ Γηαρείξηζεο Πεξηερνκέλνπ , κε ηα αληίζηνηρα πεδία ρξήζεο : Enterprise CMS (ECMS) Web CMS ( WCMS) Η δηαρείξηζε πεξηερνκέλνπ ηζηνζειίδσλ (WCM) είλαη έλα ζύζηεκα CMS ζρεδηαζκέλν γηα λα απινπνηήζεη ηε δεκνζίεπζε ηνπ δηθηπαθνύ πεξηερνκέλνπ ησλ web sites θαη ησλ θηλεηώλ ζπζθεπώλ. Πανοσργιάς Εσάγγελος 1645 33 Document management system (DMS) ύζηεκα Γηαρείξηζεο Δγγξάθσλ δίλεη ηε δπλαηόηεηα ζάξσζεο, δηαρείξηζεο θαη απνηειεζκαηηθήο δηαλνκήο ησλ εηαηξηθώλ εγγξάθσλ (ςεθηαθώλ θαη έληππσλ). Mobile content management system Δίλαη έλαο ηύπνο ζπζηήκαηνο δηαρείξηζεο πεξηερνκέλνπ πνπ κπνξεί λα απνζεθεύεη θαη λα παξέρεη πεξηερόκελν θαη ππεξεζίεο ζε θηλεηέο ζπζθεπέο , όπσο θηλεηά ηειέθσλα θαη smart phones . Component content management system Σν Component CMS δηαρεηξίδεηαη πεξηερόκελα ζε έλα ζππξσηό επίπεδν πεξηερνκέλσλ. Media content management system Learning content management system (LMS) 4.4 CMS Κλειστού Κώδικα Μεξηθά πζηήκαηα Γηαρείξηζεο Πεξηερνκέλνπ θιεηζηνύ θώδηθα είλαη ηα εμήο : IBM Workplace Web Content Management Jalios Content Management Powerfront Content Management System Vignette Content Management Μεξηθά πιενλεθηήκαηα απηώλ ησλ ζπζηεκάησλ, όπσο πξναλαθέξζεθε ζε πξνεγνύκελεο ελόηεηεο, είλαη όηη παξέρνπλ πεξηζζόηεξε αζθάιεηα , θαιύηεξε ηεθκεξίσζε θαη εκπνξηθή ππνζηήξημε . Όκσο βαζηθό κεηνλέθηεκα ηνπο είλαη ην θόζηνο πνπ ηηο πεξηζζόηεξεο θνξέο είλαη αξθεηά πςειό. 4.5 CMS Ανοικτού Κώδικα Σα ζπζηήκαηα αλνηθηνύ θώδηθα είλαη απηά πνπ επηηξέπνπλ αιιαγέο ζηνλ πεγαίν θώδηθα ηνπ Πανοσργιάς Εσάγγελος 1645 34 ζπζηήκαηνο , είλαη δσξεάλ ρσξίο θαλέλα απνιύησο θόζηνο θαη ππνζηεξίδνληαη από θνηλόηεηεο ρξεζηώλ θαη πξνγξακκαηηζηώλ , νη νπνίεο δεκηνπξγνύλ θαη πξνζθέξνπλ ηα δηάθνξα plug-ins θαη ηα templates. Σα ινγηζκηθά αλνηρηνύ θώδηθα ζεσξνύληαη βαζηθά θνκκάηη ηεο αγνξάο θαη έρνπλ πιένλ θαζηεξσζεί. Τπάξρεη ππνζηήξημε από κεγάιεο εηαηξείεο νη νπνίεο ζεσξνύλ ηα ινγηζκηθά αλνηθηνύ θώδηθα ηελ πιένλ βηώζηκε επηινγή. Σα ινγηζκηθά απηά έρνπλ βειηησζεί πάξα πνιύ πνπ κπνξνύλ πιένλ λα ζπγθξηζνύλ κε ηα αληίζηνηρα ηνπο εκπνξηθά παθέηα. 4.5.1 Πλεονεκτήματα Ανοικτού Κώδικα Υακειό Κόζηνο Δπειημία θαη εύθνιε πξνζαξκνγή. Γσξεάλ εξγαιεία Δπθνιία ελζσκάησζεο Κνηλόηεηεο ππνζηήξημεο Δύθνιε επίιπζε πξνβιεκάησλ Δάλ δηαπηζησζεί έλα πξόβιεκα ζην ζύζηεκα κπνξνύκε λα ην ιύζνπκε κόλνη καο αθνύ έρνπκε πιήξε πξόζβαζε ζηνλ θώδηθα ηνπ ζπζηήκαηνο ή λα δεηήζνπκε βνήζεηα από ηηο θνηλόηεηεο ππνζηήξημεο , όπνπ ζπλήζσο κέζα ζε ιίγεο κέξεο ην πξόβιεκα ζα έρεη ιπζεί. Δλώ αληίζηνηρα ζε έλα εκπνξηθό ζύζηεκα πξέπεη λα ελεκεξώζνπκε ηνλ θαηαζθεπαζηή θαη λα πεξηκέλνπκε λα ην θηηάμεη ή αθόκα λα πεξηκέλνπκε ηελ επόκελε έθδνζε ηνπ ζπζηήκαηνο ε νπνία ζα είλαη αλαλεσκέλε θαη ρσξίο πξνβιήκαηα. 4.5.2 Μειονεκτήματα Ανοικτού Κώδικα Έιιεηςε εκπνξηθήο ππνζηήξημεο Μηθξόηεξε σξηκόηεηα θαη ρξεζηηθόηεηα Διιηπήο ηεθκεξίσζε Πανοσργιάς Εσάγγελος 1645 35 4.6 Σα πιο δημοφιλή CMS Ανοιχτού κώδικα Γεκνθηιή πζηήκαηα Γηαρείξηζεο Πεξηερνκέλνπ είλαη ην Drupal , Joomla θαη Wordpress. Δθόλα 16: Λνγόηππν Drupal To Drupal είλαη γξακκέλν ζε γιώζζα πξνγξακκαηηζκνύ PHP , θαη είλαη γλσζηό εδώ θαη αξθεηά ρξόληα θπξίσο ιόγσ ηεο άςνγεο αξρηηεθηνληθήο ηνπ. Θεσξείηε από πνιινύο έλα από ηα θνξπθαία ζπζηήκαηα δηαρείξηζεο πεξηερνκέλνπ. Δπηηξέπεη ζηνλ δηαρεηξηζηή ηνπ ζπζηήκαηνο λα νξγαλώλεη ην πεξηερόκελν , λα απηνκαηνπνηεί ηηο δηαρεηξηζηηθέο εξγαζίεο θαη λα δηαρεηξίδεηαη ηνπο ρξήζηεο ηεο ηζηνζειίδαο ηεο νπνίαο είλαη δηαρεηξηζηήο. Οη δπλαηόηεηεο ηνπ επεθηείλνληαη θαη πέξα από ηελ δηαρείξηζε ηνπ πεξηερνκέλνπ επηηξέπνληαο έηζη έλα κεγάιν εύξνο ππεξεζηώλ θαη ζπλαιιαγώλ. Σν Drupal κπνξεί λα ρξεζηκνπνηεζεί γηα: Μεγάια portals, Φόξνπκ ζπδεηήζεσλ, Ιζηνζειίδεο γηα εηαηξείεο κε απμεκέλεο αλάγθεο θαη πνιιά άιια. Δθόλα 17: ινγόηππν Wordpress Σν Wordpress είλαη κηα εθαξκνγή γηα ηζηνιόγηα θπξίσο αλνηθηνύ θώδηθα πνπ ρξεζηκνπνηεί PHP θαη MySQL. Δίλαη αξθεηά θηιηθό πξνο ηνπο ρξήζηεο θαζώο δηαζέηεη κηα πινύζηα αξρηηεθηνληθή επεθηάζεσλ θαη πξνηύπσλ. Πανοσργιάς Εσάγγελος 1645 36 Δθόλα 18: Λνγόηππν Joomla! To Joomla έρεη ραξαθηεξηζηεί από δεθάδεο ρξήζηεο σο ην θαιύηεξν CMS ζηνλ θόζκν γηαηί έρεη ηεξάζηηεο δπλαηόηεηεο, θηιηθό πεξηβάιινλ εξγαζίαο θαη δηαρείξηζεο θαη είλαη εμαηξεηηθά επέιηθην. Έρεη ζπληαρζεί ζηελ γιώζζα πξνγξακκαηηζκνύ PHP θαη ρξεζηκνπνηείηαη κηα MySQL βάζε δεδνκέλσλ γηα ηελ απνζήθεπζε ηνπ πεξηερνκέλνπ. Δίλαη πξνζαξκόζηκν ζε πεξηβάιινληα επηρεηξεκαηηθήο θιίκαθαο όπσο ηα intranets κεγάισλ επηρεηξήζεσλ ή νξγαληζκώλ. Οη δπλαηόηεηεο επέθηαζεο ηνπ είλαη πξαγκαηηθά κεγάιεο . Δθόλα 19: ηαηηζηηθά ηώλ πην δεκνθηιή πζηεκάησλ Γηαρείξηζεο Πεξηερνκέλνπ Πανοσργιάς Εσάγγελος 1645 37 Κεθάλαιο 5 5.1 Γνωριμία-Εγκατάσταση Xampp και Joomla! σε περιβάλλον Windows Δηθόλα 20: Λνγόηππν Αpache server Ο Apache δηαλέκεηαη δσξεάλ θαη είλαη ν πην δεκνθηιήο δηαθνκηζηήο δηαδηθηύνπ. Έρεη απνδεηρηεί ν πην γξήγνξνο , ζηαζεξόο θαη αζθαιήο δηαθνκηζηήο δηθηύνπ θαη είλαη εγθαηεζηεκέλνο ζε πάλσ από 6 εθαηνκκύξηα δηαθνκηζηέο. Δθαηνκκύξηα sites είλαη εγθαηεζηεκέλα πάλσ ηνπ ρσξίο θαλέλα απνιύησο πξόβιεκα. Ο server απηόο αλαπηύρζεθε θαη ζπληεξείηαη ζήκεξα από κία νκάδα εζεινληώλ. ήκεξα ζεσξείηαη από ηνπο πην ζηαζεξνύο δηαθνκηζηέο δηθηύνπ θαη πνιινί εκπνξηθνί δηαθνκηζηέο δηαδηθηύνπ όπσο ε HTTP server ηεο IBM ρξεζηκνπνηνύλ ηνλ ππξήλα ηνπ Apache . Μεξηθά ραξαθηεξηζηηθά ηνπ είλαη όηη ππνζηεξίδεη ζπζηήκαηα Unix θαη κπνξεί λα ηξέρεη πνιιέο δηεξγαζίεο ηαπηόρξνλα. Πνιιά ραξαθηεξηζηηθά ηνπ πξνζαξηώληαη ζηνλ ππξήλα κε ηε κνξθή modules επεθηείλνληαο ηηο δπλαηόηεηεο ηνπ. Τπνζηεξίδεη server – side γισζζώλ πξνγξακκαηηζκνύ σο θαη αιγνξίζκνπο απζεληηθνπνίεζεο. Έλα επηπιένλ ραξαθηεξηζηηθό ηνπ είλαη ην virtual Hosting πνπ επηηξέπεη ζε πνιιέο δηαθνξεηηθέο ηζηνζειίδεο λα εμππεξεηνύληαη από κηα κόλν εγθαηάζηαζε ηνπ server . Ο Apache ρξεζηκνπνηείηαη θπξίσο γηα ηελ εμππεξέηεζε ζηαηηθώλ θαη δπλακηθώλ ζειίδσλ ζην δηαδίθηπν. Οη πεξηζζόηεξεο δηθηπαθέο εθαξκνγέο ζρεδηάδνληαη κε βάζε ην πεξηβάιινλ θαη ηα ραξαθηεξηζηηθά πνπ πξνζθέξεη ν Apache . Σέινο απνηειεί έλα βαζηθό θνκκάηη πνιιώλ παθέησλ εθαξκνγώλ όπσο oracle database , IBM WebSphere application server θαη ζε πνιιέο δηαλνκέο ηνπ ιεηηνπξγηθνύ ζπζηήκαηνο linux. Πανοσργιάς Εσάγγελος 1645 38 Δηθόλα 21: Λνγόηππν Xampp 5.2 Σι είναι το XAMPP Σν όλνκα ηνπ XAMPP είλαη έλα αξθηηθόιεμν ησλ : Φ(«cross-platform» δειαδή αλεμάξηεην πιαηθόξκαο) Apache HTTP Server MySQL PHP Perl Σν XAMPP είλαη έλα ειεύζεξν ινγηζκηθό αλνηθηνύ θώδηθα ην νπνίν πεξηέρεη έλα εμππεξεηεηή ηζηνζειίδσλ ην νπνίν κπνξεί λα εμππεξεηεί θαη δπλακηθέο ηζηνζειίδεο ηερλνινγίαο PHP/MySQL. Δίλαη αλεμάξηεην πιαηθόξκαο θαη ηξέρεη ζε Microsoft Windows, Linux, Solaris, and Mac OS X θαη ρξεζηκνπνηείηαη σο πιαηθόξκα γηα ηελ ζρεδίαζε θαη αλάπηπμε ηζηνζειίδσλ κε ηελ ηερλνινγίεο όπσο PHP, JSP θαη Servlets. Δπίζεκα νη ζρεδηαζηέο ηνπ XAMPP πξνόξηδαλ ην ινγηζκηθό σο εξγαιείν αλάπηπμεο θαη δνθηκήο ηζηνζειίδσλ ηνπηθά ζηνλ ππνινγηζηή ρσξίο λα είλαη απαξαίηεηε ε ζύλδεζε ζην δηαδίθηπν.Γηα λα είλαη δπλαηή ε ρξήζε ηνπ, πνιιέο ζεκαληηθέο ιεηηνπξγίεο αζθάιεηαο έρνπλ απελεξγνπνηεζεί ελώ ππάξρεη εηδηθό εξγαιείν ην νπνίν πεξηέρεηαη γηα ηελ πξνζηαζία κε θσδηθό ησλ ζεκαληηθώλ κεξώλ. Όηαλ ην XAMPP εγθαηαζηαζεί ζηνλ ηνπηθό ππνινγηζηή δηαρεηξίδεηαη ηνλ localhost σο έλα απνκαθξπζκέλν θόκβν, ν νπνίνο ζπλδέεηαη κε ην πξσηόθνιιν κεηαθνξάο αξρείσλ FTP. Η ζύλδεζε ζηνλ localhost κέζσ ηνπ FTP κπνξεί λα γίλεη κε ην όλνκα ρξήζηε «newuser» θαη ην θσδηθό «wampp». Γηα ηελ βάζε δεδνκέλσλ MySQL ππάξρεη ν ρξήζηεο «root» ρσξίο θσδηθό πξόζβαζεο. 5.2.1 Αρχιτεκτονική του XAMPP Η εθαξκνγή πνπ αλαπηύρζεθε έρεη ζρεδηαζηεί κε βάζε ηελ κέγηζηε δπλαηή ιεηηνπξγηθόηεηα. Έηζη έρεη πξνζερζεί ώζηε λα είλαη: Πανοσργιάς Εσάγγελος 1645 39 Αλεμάξηεηε ιεηηνπξγηθνύ ζπζηήκαηνο (δειαδή κπνξεί λα εγθαηαζηαζεί ζε νπνηνδήπνηε ιεηηνπξγηθό ζύζηεκα). Πξνζπειάζηκε κέζσ νπνηνπδήπνηε θπιινκεηξεηή (web browser). Πιήξσο ζπνλδπισηή ζηε δνκή ηεο, δειαδή λα ρξεζηκνπνηεί αξζξώκαηα (modules) γηα ηηο δηάθνξεο ιεηηνπξγίεο πνπ εθηειεί πξνζηηή ζηε δηαρείξηζε. Οη παξαπάλσ ηδηόηεηεο-ζηόρνη νδεγνύλ ζε έλα ζύζηεκα πιηθνύ (H/W) θαη ινγηζκηθνύ (S/W) ην νπνίν απνηειείηαη από: Σε βάζε δεδνκέλσλ πνπ πεξηέρεη όιεο ηηο απαξαίηεηεο πιεξνθνξίεο γηα ηε ιεηηνπξγία ηνπ ζπζηήκαηνο. Σα απνζεθεπηηθά κέζα, δειαδή ηνπο ππνινγηζηέο πνπ θηινμελνύλ ην πιηθό. Σν πεξηβάιινλ εξγαζίαο, δειαδή ην ινγηζκηθό δηεπαθήο πνπ επεμεξγάδεηαη ηηο πιεξνθνξίεο θαη θάλεη δπλαηή ηελ αιιειεπίδξαζε ησλ ρξεζηώλ. To XAMPP απνηειεί ζηελ νπζία έλα παθέην, ην νπνίν πεξηιακβάλεη ηηο ηειεπηαίεο εθδόζεηο ηνπ Apache,πνπ ζα ρξεζηκνπνηήζνπκε ζαλ http εμππεξεηεηή, ηελ ΜySQL γηα δεκηνπξγία ηεο βάζεο δεδνκέλσλ θαη ηελ ΡΗΡ , ηελ γιώζζα πξνγξακκαηηζκνύ γηα ηνλ ηζηόηνπν καο γηα δπλακηθό ραξαθηήξα. Πανοσργιάς Εσάγγελος 1645 40 Δηθόλα 22:Xampp Control Panel Δπίζεο πεξηιακβάλεη θαη ηα εξγαιεία όπσο PhpMyAdmin γηα ηελ δηαρεηξεζε ηεο ΜySQL ζην δηαδίθηπν,ηνλ Filezilla Server γηα δεκηνπξγία ftp sever θαη ην Mercury Mail γηα smtp server. Δηθόλα 23: Λνγόηππν Joomla! 5.3 Σί είναι το Joomla Σν Joomla! είλαη κία δσξεάλ εθαξκνγή, αλνηρηνύ θώδηθα ζύζηεκα δηαρείξηζεο πεξηερνκέλνπ, ην νπνίν έρεη ζπληαρζεί ζηελ γιώζζα πξνγξακκαηηζκνύ PHP γηα ηε δηαρείξηζε θαη ηε δεκνζίεπζε πεξηερνκέλνπ ζηνλ ηζηό (web) θαη ελδνδηθηύσλ (intranets) ρξεζηκνπνηώληαο κηα MySQL βάζε δεδνκέλσλ. To Joomla πεξηιακβάλεη ραξαθηεξηζηηθά όπσο ε cache ησλ ζειίδσλ γηα ηε βειηίσζε ησλ επηδόζεσλ, web επξεηεξίαζεο (indexing), RSS feeds, εθηππώζηκεο (printable) εθδόζεηο ησλ ζειίδσλ, newsflashes, blogs, forums, δεκνζθνπήζεηο, εκεξνιόγηα, αλαδήηεζε ζηελ ηζηνζειίδα, ηελ Πανοσργιάς Εσάγγελος 1645 41 αλάινγε γιώζζα αιια θαη ηελ δπλαηόηεηα πνιπγισζζηθώλ ηζηνζειίδσλ. Σν όλνκα "Joomla" είλαη κηα θσλεηηθή γξαθή ηεο γιώζζαο νπαρίιη (Swahili) ζηελ νπνία ε ιέμε "jumla" ζεκαίλεη "όινη καδί" ή "σο ζύλνιν". Δπέιεμαλ απην ην όλνκα γηα λα αληηθαηνπηξίδεη ηε δέζκεπζε ηεο Κνηλόηεηαο θαη ηελ νκάδα αλάπηπμεο ηνπ έξγνπ. Η πξώηε έθδνζε ηνπ Joomla (Joomla 1.0.0) αλαθνηλώζεθε ζηηο 16 επηεκβξίνπ 2005. Απηή ήηαλ κηα λέα νλνκαζία ηεο έθδνζεο Mambo 4.5.2.3 ζε ζπλδπαζκό κε δηνξζώζεηο θάπνηνλ ζθαικάησλ (bug) ζην πεξηβάιινλ δηαρείξεζεο θαη ζηνλ θώδηθα ηεο αζθαιείαο. ηε ζπλέρεηα,γηα ηελ πνξεία αλάπηπμεο ηνπ project, νη πξνγξακκαηηζηέο ηνπ ππξήλα πξνβιέπνπλ όηη ην Joomla! 3.2 εηλαη ελα εληειώο αλαλεσκέλν θαη μαλαγξακκέλν ζε λέν θώδηθα βαζηζκέλν ζε PHP 5. Σν Joomla θπθινθνξεί θαη δηαλέκεηε ππό ηελ GNU General Public License. Αο δνύκε ηώξα θάπνηα απν ηα ραξαθηεξηζηηθά ηνπ Joomla!™: 5.3.1 Χαρακτηριστικά του Joomla Νέα, πξντόληα ή ππεξεζίεο ηκήκαηα θαη ελόηεηεο πιήξσο επεμεξγάζηκα θαη εύρξεζηα Οη ζεκαηηθέο ελόηεηεο κπνξνύλ λα πξνζηεζνύλ από ηνπο ζπληάθηεο Πιήξσο παξακεηξνπνηήζηκν πεξηερόκελν θαη πεξηβάιινλ, ζπκπεξηιακβαλνκέλσλ ησλ ζέζεσλ ηνπ αξηζηεξνύ, θέληξηθνύ θαη δεμηνύ κελνύ Υξεζηκνπνηείζηε ηνλ browser γηα λα αλεβάζεηε εηθόλεο ζηε δηθή ζαο βηβιηνζήθε γηα ρξήζε ζε νπνηνδήπνηε ζεκείν ηνπ site Γπλακηθό Forum / Poll / Voting γηα άκεζα επί ηόπνπ απνηειέζκαηα Σξέρεη ζε Linux, FreeBSD, MacOSX server, Solaris θαη AIX Πιήξεο κεραληζκόο δηαρείξηζεο ηεο βάζεο δεδνκέλσλ Όιν ην πεξηερόκελν είλαη πιήξσο επεμεξγάζηκν θαη εύρξεζην Θεκαηηθέο ελόηεηεο κπνξνύλ λα πξνζηεζνύλ από ηνπο ζπληάθηεο Πιήξσο παξακεηξνπνηεκέλν πεξηερόκελν θαη πεξηβάιινλ Πανοσργιάς Εσάγγελος 1645 42 Υξήζε ελόο νπνηνπδήπνηε browser γηα λα αλεβάζεη θαλείο εηθόλεο, βίληεν θ.ιπ. Γπλακηθό forum , poll , voting γηα άκεζα απνηειέζκαηα Σξέρεη ζε linux, FreeBSD , MacOSX server , Solaris θαη AIX Γηαζέηεη ιεηηνπξγία ηαμηλόκεζεο θαη πξνβνιήο λένπ πεξηερνκέλνπ Δθηεηακέλε δηαρείξηζε θαη δεκνζίεπζε απεξηόξηζηνπ πεξηερνκέλνπ Γηαζέηεη ελζσκαησκέλν επεμεξγαζηή θεηκέλνπ, news feed manager , custom Page Modules δηαρείξηζε ησλ template,Banner manager θαη δπλαηόηεηα πξνεπηζθόπεζεο. Γπλαηόηεηα επέθηαζεο ηνπ ζε ειεθηξνληθό θαηάζηεκα Γηαζέηεη δπλαηόηεηα ιήςεο αληηγξάθνπ αζθαιείαο ηνπ site Γπλαηόηεηα βειηηζηνπνηήζεο ζηηο κεραλέο αλαδήηεζεο (SEO) Αο δόπκε ηώξα θάπνηεο απν ηηο δπλαηόηεηεο δεηαρείξεζεο ηνπ Joomla. 5.3.2 Δυνατότητες Διαχείρισης Μπνξεί θαλείο λα δεκνζηεύεη ζειίδεο θαη άξζξα ρσξίο θαλέλα απνιύησο πεξηνξηζκό Μπνξεί θαλείο λα πξνζζέζεη θσηνγξαθίεο , βίληεν , βηβιηνζήθεο αξρείσλ λα δεκηνπξγήζεη θόξκεο επηθνηλσλίαο θαη πνιιά άιια Υξεζηκνπνηεί Modules γηα απνκαθξπζκέλε ππνβνιή πεξηερνκέλνπ από νπνηνδήπνηε ρξήζηε έρεη ηα αληίζηνηρα δηθαηώκαηα Πεξηέρεη news feed manager Πεξηέρεη archive manager , κε ηνλ νπνίν κπνξεί λα ¨παγώζεη¨ παιαηό πεξηερόκελν , αληί λα δηαγξαθεί Παξέρεη e-mail –a-friend θαη κπνξεί ν ρξήζηεο λα εθηππώζεη ηα άξζξα πνπ εκθαλίδνληαη. Μπνξεί λα δηαρεηξηζηεί θαλείο ηα πξόηππα (templates) Τπάξρεη δπλαηόηεηα πξνεπηζθόπεζεο ηνπ πεξηερνκέλνπ πξνηνύ απηό δεκνζηεπζεί Online Τπάξρεη δπλαηόηεηα πξνζζήθεο γξαθηθώλ , θαη δηάθνξσλ άιισλ εθέ αλάινγα κε ηηο απαηηήζεηο ηνπ πειάηε Γηα δηαθεκηζηηθή πξνβνιή ππάξρεη ν banner manager Δύθνιε δηαρείξηζε ηνπ πεξηερνκέλνπ Γπλαηόηεηα feeds RSS ηξνθνδνζίαο Πανοσργιάς Εσάγγελος 1645 43 Τπάξρεη ε δπλαηόηεηα ε ζειίδα καο λα είλαη θαηαζθεπαζκέλε ζε πνιιέο γιώζζεο Γπλαηόηεηα επέθηαζεο ζε ειεθηξνληθό θαηάζηεκα Σν Joomla είλαη search engine friendly CMS (SEF) ,νπόηε ππάξρεη ε δπλαηόηεηα βειηηζηνπνίεζεο ηεο ηζηνζειίδαο καο ζηηο κεραλέο αλαδήηεζεο (SEO) Σέινο ππάξρεη ε δπλαηόηεηα ιήςεο αληηγξάθνπ αζθαιείαο ηεο ηζηνζειίδαο καο (back up) Φπζηθά ππάξρνπλ αθόκα πάξα πνιιέο δπλαηόηεηεο δηαρείξηζεο ηνπ πεξηερνκέλνπ ηνπ Joomla. Σν Joomla κπνξεί λα ηθαλνπνηήζεη αθόκα θαη ηνλ πην απαηηεηηθό πειάηε θαζώο παξέρεη ηεξάζηηεο δπλαηόηεηεο ζηνλ θαηαζθεπαζηή ηεο ζειίδαο, κέζα από έλα αζθαιέο θαη επέιηθην πεξηβάιινλ εξγαζίαο. Κάπνηεο απν ηηο παξαπάλσ δπλαηόηεηεο ζα ηηο αλαιύζνπκε ζηα θεθάιαηα πνπ ζα αθνινπζήζνπλ ζηελ κεηέπεηηα πνξεία. 5.4 Εγκατάσταση XAMPP και Joomla! 5.5 Eγκατάσταση του λογισμικού XAMPP Γηα λα κπνξέζνπκε λα εγθαηαζηήζνπκε ην Joomla είλαη απαξαίηεην λα έρνπκε ελα server εγθαηαζηεκέλν πάλσ ζην νπνίν ζα ηξέμεη ην Joomla. Ο πην εύθνινο ηξόπνο είλαη λα εγθαηαζηήζνπκε ην XAMPP ην νπνίν είλαη θαηαζθεπαζκέλν γηα απηήλ ηελ δνπιεηά.Σν ινγηζκηθό XAMPP δηαηίζεηαη δσξεάλ θαη κπνξνύκε λα ην θαηεβάζνπκε απν ηελ ηζηνζειίδα (http://www.apachefriends.org/en/xampp.html) κε ηα εμήο ραξαθηεξηζηηθά: XAMPP 1.8.3 Apache 2.4.7 MySQL 5.6.14 PHP 5.5.6 phpMyAdmin 4.0.9 Πανοσργιάς Εσάγγελος 1645 44 FileZilla FTP Server 0.9.41 Tomcat 7.0.42 (with mod_proxy_ajp as connector) Strawberry Perl 5.16.3.1 Portable XAMPP Control Panel 3.2.1 (from hackattack142) Αθνύ θαηεβάζνπκε ην .exe αξρείν ηξέρνπκε ην installer θαη πξνρσξάκε ζηελ εγθαηάζηαζε ηνπ όπσο βιέπνπκε ζηηο παξαθάησ εηθόλεο. Δηθόλα 24:Eγθαηάζηαζε Xampp 5.5.1 Control Panel XAMPP Μεηά ην ηέινο ηεο εγθαηάζηαζεο θαη αθνύ αλνίμνπκε ην Control Panel βιέπνπκε όηη παξνπζηάδεηαη πξόβιεκα ζην λα μεθηλήζνπκε ηηο ιεηηνπξγίεο ηνπ XAMPP αθνύ κπινθάξνληαη θάπνηεο πόξηεο. Σν Apache (http) θαη ην MySQL ρξεζηκνπνηεί ηηο πόξηεο 80 , 443 θαη 3306 αληίζηνηρα γη' απην αλ ρξεζηκνπνηνύληαη απν θάπνηα άιιε εθαξκνγή (όπσο ζηελ πεξίπησζε καο) ζα ρξεηαζηεί λα αιιάμνπκε ην configuration. Aπηό πξαγκαηνπνηείηαη παηώληαο ζην Config(Apache → httpd.conf θαη httpd → ssl.conf ), ελώ παηώληαο PHP→ php.in βιέπνπκε ηηο ξπζκίζεηο ηεο PHP.Σα δύν απηά αξρεία αλνίγνπλ κε Notepad. Πανοσργιάς Εσάγγελος 1645 45 Πην ζπγθεθξηκέλα νη βαζηθέο ιεηηνπξγίεο ηνπ ρξεζηκνπνηνύλ ηηο ζπγθεθξηκέλεο πόξηεο : Apache (HTTP): Port 80 Apache (WebDAV): Port 81 Apache (HTTPS): Port 443 MySQL: Port 3306 FileZilla (FTP): Port 21 FileZilla (Admin): Δηθόλα 25: Control Panel – httpd.conf &httpd - ssl.conf Port 14147 Mercury (SMTP): Port 25 Mercury (POP3): Port 110 Mercury (IMAP): Port 143 Mercury (HTTP): Port 2224 Mercury (Finger): Port 79 Mercury (PH): Port Δηθόλα 26: Xampp Control Panel – παξακεηξνπνίεζε ports 105 Mercury (PopPass): Port 106 Tomcat (AJP/1.3): Port 8009 Tomcat (HTTP): Port 8080 Πανοσργιάς Εσάγγελος 1645 46 Δηθόλα 27: Xampp Control Panel – Έλαξμε ιεηηνπξγηώλ Apache & MySQL Αθνύ θάλνπκε ηηο απαξαίηεηεο αιιαγέο μεθηλνύκε ηηο ιεηηνπξγίεο αλνίγνπκε έλα θπιινκεηξεηή (web browser) θαη (Start) θαη ζηελ ζπλέρεηα πεγαίλνπκε ζηελ δηεύζπλζε http://localhost/xampp (ή http://127.0.0.1/xampp. ) ή πνιύ απιά παηώληαο ην θνπκπί Admin .Άλ όια πάλε θαιά ζα πξέπεη λα καο παξνπζηαζηεί κηα ζειίδα ζηελ νζόλε όπσο ε παξαθάησ : Δηθόλα 28: Γξαθηθό πεξηβάιινλ Xampp 5.5.2 Δημιουργία Βάσης Δεδομένων Δίηε πιεθηξνινγώληαο ζηνλ browser ηελ δηεύζπλζε "http://localhost/phpMyAdmin/" είηε παηώληαο ζηελ θαξηέια phpMyAdmin ηεο παξαπάλσ εηθόλαο ζα αλνίμνπκε ην δηαρεηξηζηηθό ηε βάζεο δεδνκέλσλ. Πανοσργιάς Εσάγγελος 1645 47 Γηα ηελ δεκηνπξγία βάζεο θάλνπκε σο εμήο: i. ην πεδίν θάησ από ηελ εηηθέηα "Create new database" πιεθηξνινγνύκε "joomla_db". ii. Δπηιέγνπκε ζην drop down όπνπ γξάθεη collation "utf8_general_ci" θαη θάλνπκε “θιηθ” ζην "Create". Δηθόλα 29: PhpMyAdmin -Γεκηνπξγία Βάζεο Γεδνκέλσλ (MySQL) 5.5.3 Δημιουργία χρήστη Δπηιέγνπκε ην "Privileges" θαη έπεηηα ην "Add User". ηε ζπλέρεηα πιεθηξνινγνύκε: • User name: vaggelis • Host: localhost • Password: ********* • Re-type: ********* Πανοσργιάς Εσάγγελος 1645 48 Αθνύ επηβεβαησζεί όηη είλαη επηιεγκέλν ην "Grant all privileges on database "joomla_db" θάλνπκε “θιηθ” ζην "Go". Δηθόλα 30: PhpMyAdmin -Eηζαγσγή ζηνηρείσλ ζηελ ΒΓ ΜySQL Σέινο , βιέπνπκε όηη έρνπκε εγθαηαζηήζεη κηα λέα βάζε δεδνκέλσλ ΜySQL θαη όηη έρνπκε δεκηνπξγήζεη έλα ρξήζηε (administrator) απνδίδνληαο ζε απηόλ όια ηα πξνλόκηα ηεο βάζεο καο. Δίκαζηε έηνηκνη γηα λα εγθαηαζηήζνπκε ην ινγηζκηθό Joomla. Δηθόλα 31: PhpMyAdmin -Απόδνζε Γηθαησκάησλ ζηελ ΒΓ ΜySQL Πανοσργιάς Εσάγγελος 1645 49 5.6 Eγκατάσταση του λογισμικού Joomla Αθνύ παξνπζηάζακε ηηο δηαδηθαζίεο ξύζκηζεο ηνπ ζπζηήκαηνο πνπ ζα θηινμελήζεη ην Joomla 3.2.1 ζα εζηηάζνπκε αθελόο ζηελ εγθαηάζηαζε θαη αθεηέξνπ ζηηο αξρηθέο ξπζκίζεηο πνπ ρξεηάδνληαη γηα λα έρνπκε έλα πιήξσο ιεηηνπξγηθό ζύζηεκα δηαρείξεζεο πεξηερνκέλνπ. Σν πξώην βήκα πνπ ρξεηάδεηαη λα θάλνπκε είλαη λα πξνρσξήζνπκε ζηε κεηακόξγσζε ηνπ joomla απν ηελ επίζεκε ηζηνζειίδα http://www.joomla.org . ηελ ζπλέρεηα απνζπκπηέδνπκε ηελ δηαλνκή ηνπ Joomla εληόο ελόο θαθεινπ κε ην όλνκα joomla ή όπσο αιιηώο ζέιεη ν θαζέλαο ζην root ηνπ εμππεξεηεηή. ηελ πεξίπησζε καο (όπνπ έρνπκε εγθαηαζηήζεη ηνλ εμππεξεηεηή Apache ζε πεξηβάιινλ Windows ζηνλ θάθειν C:\xampp), ν root θαηάινγνο είλαη C:\xampp\htdocs. Eθόζνλ έρνπλ πάεη όια θαιά κε ηελ απνζπκπίεζε ηνπ Joomla ζα πξέπεη λα έρεη δεκηνπξγεζεί έλαο θάθεινο εληόο ηνπ root, ν νπνίνο ζα πεξηέρεη όια ηα αξρεία ηεο δηαλνκήο Joomla.Γηα λα ειέγμνπκε άλ είκαζηε έηνηκνη λα πξνρσξήζνπκε ζην επόκελν βήκα ηεο εγθαηάζηαζεο καο αξθεί λα μεθηλήζνπκε ηνλ εμππεξεηεηή Αpache θαη ηελ βάζε MySQL θαη έλα web browser θαη ζηε ζπλέρεηα λα πάκε ζηελ δ/λζε http://localhost/Mysite/index.php ή http://127.0.0.1/Mysite/index. Δηθόλα 32: Δγθαηάζηαζε Joomla! - Configuration Πανοσργιάς Εσάγγελος 1645 50 5.6.1 Configuration ηελ πξώηε θαξηέια καο παξνπζηάδνληαη νη παξαθάησ νη θπξηόηεξεο ξπζκίζεηο πνπ αθνξνύλ ηνλ δηθηπαθό καο ηόπν : Select language: (επηινγή ηεο γιώζζαο εγθαηάζηεζεο θαηα ηελ πξνηίκεζεο καο). Site name: (ην όλνκα πνπ ζέινπκε λα έρεη ν δηθηπαθόο καο ηόπνο). Description: (γηα επηπιεόλ πεξηγξαθή ηνπ site καο). Admin Email Address: (αθνξά ην email ηνπ ππεξδηαρεηξεζηή (super administratνr)). Admin Username: (ην username ηνπ ππεξδηαρεηξεζηή (super administratνr)). Admin Password: (ην password ηνπ ππεξδηαρεηξεζηή (super administratνr)). Site Offline: ( επηινγή γηα νξαηόηεηα ηνπ site ην νπνίν κπνξεί επίζεο θαη λα ηξνπνπνηεζεί αξγόηεξα). Δθόζνλ έρνπκε νινθιεξώζεη ηηο θύξηεο ξπζκίζεηο παηάκε ζην θνπκπί ' Next '. 5.6.2 Database ηελ δεύηεξε θαξηέια καο παξνπζηάδνληαη νη ξπζκίζεηο πνπ αθνξνύλ ηελ βάζε δεδνκέλσλ πνπ ζα ρξεζηκνπνηήζνπκε. Δηθόλα 33: Δγθαηάζηαζε Joomla! - Database Πανοσργιάς Εσάγγελος 1645 51 Database Type : (αλαθέξεηαη ζην ηύπν ηεο βάζεο πνπ ζα ρξεζηκνπνηεζεί (ΜySQLi ή ΜSQL)). Host Name : (επηιέγνπκε localhost αθνύ ε ΒΓ βξίζθεηαη ζην ίδην κεράλεκα κε απην πνπ βξίζθεηαη θαη ν εμππεξεηεηήο Apache). Username : (ην username πνπ δώζακε γηα ηελ ζύλδεζε ζηελ ΒΓ (vaggelis)). Password : (ην password πνπ δώζακε γηα ηελ ζύλδεζε ζηελ ΒΓ (*********)). Database Name : (ηo ην όλνκα ηεο ΒΓ καο (joomla_db)). Table Prefix : (δίλεηαη έλα πξόζεκα απν ην Joomla ή κπνξεί λα ηξνπνπνηεζεί απν εκάο έηζη ώζηε λα έρνπκε ηελ δπλαηόηεηα λα εθηεινύκε πνιιαπιέο εγθαηαζηάζεηο ηνπ Joomla ρξεζηκνπνηώληαο κηα εληαία βάζε δεδνκέλσλ). Old Database Process : (Δάλ ππάξρνπλ πίλαθεο κε ηα ίδηα νλόκαηα ζηε βάζε δεδνκέλσλ καο κπνξνύκε λα θξαηήζνπκε αληίγξαθν είηε λα ηνπο δηαγξάςνπκε. (Αο ζεκεησζεί όηη όια ηα άξζξα Joomla απνζεθεύνληαη ζηελ ΒΓ καο έηζη δελ ζα ήηαλ ζπλεηό λα θαηαξγήζνπκε ην πξνεγνύκελν πεξηερόκελν εληειώο αλ έρνπκε αθόκα ρξήζηκεο πιεξνθνξίεο ζηελ ελ ιόγσ βάζε). 5.6.3 Overview Η ηειεπηαία θαξηέια ζρεηίδεηαη κε ηα δεδνκέλα πνπ ζέινπκε λα εηζάγνπκε ζηελ δηαδηθαζία εγθαηάζηαζεο.ηελ νπζία ην είδνο ησλ sample daηa πνπ ζα απνθαζίζoπκε λα εγθαηαζηήζνπκε, ζα βνεζήζεη λα ξπζκίζνπκε ηελ ηζηνζειίδαο καο κε ηνλ ηξόπν πνπ ην ρξεηάδόκαζηε από ηελ αξρή. Πανοσργιάς Εσάγγελος 1645 52 Δηθόλα 34: Δγθαηάζηαζε Joomla! -Overview Δπηιέγνπκε έλα απν ηα παξαπάλσ αλάινγα ηελ πξνηίκεζε καο. None Αλ επηιέμνπκε θαλέλα sample data, εγθαζηζηάηαη κηα πνιύ βαζηθή ηζηνζειίδα. ηελ αξρηθή ζειίδα ζα εκθαληζηεί έλα κελνύ θαη κηα θόξκα ζύλδεζεο, θαη ηίπνηε άιιν. Blog English(GB) sample data ηελ αξρηθή ζειίδα ζα πεξηέρεη κεξηθά posts, ελώ ζηε δεμηά ζηήιε ζα δνύκε ηππηθά ραξαθηεξηζηηθά ησλ blogs όπσο Older Posts, Blog Roll, θαη Most Read Posts . Brochure English (GB) sample data Σα sample data απηά ζρεδηάδνπλ ην πεξηερόκελν ηνπ Joomla ζαλ ην είδνο brochure .Απην ζεκαίλεη όηη αξρηθή ζειίδα ζα καο δείμεη κόλν έλα άξζξν. Σν sidebar ζα πεξηέρεη έλα ελεκεξσηηθό module,όπσο επίζεο κηα θόξκα ζύλδεζεο, Default English (GB) sample data Η πξνεπηιεγκέλε English sample data κνηάδεη πνιύ κε ηα Brochure sample data. Learn Joomla English (GB) sample data αλ πεξηερόκελν πεξηιακβάλεη άξζξα πνπ εμεγνύλ πώο ιεηηνπξγεί ην Joomla . Η αξρηθή ζειίδα έρεη άξζξα γηα αξράξηνπο, upgraders, θαη ηνπο επαγγεικαηίεο ρξήζηεο ηνπ Joomla. Σν sidebar πεξηιακβάλεη ζπλδέζκνπο πνπ πεγαίλνπλ ζε άξζξα ζρεηηθά κε ην Joomla. Πανοσργιάς Εσάγγελος 1645 53 Test English (GB) sample data Σα sample data απηά είλαη γηα εθείλνπο ηνπο ρξήζηεο πνπ ζέινπλ λα δνθηκάζνπλ θαη λα ζπκβάινπλ ζην Joomla . Γηα παξάδεηγκα, ην άξζξν ηεο αξρηθήο ζειίδαο αλαθέξεηαη ζην πσο λα ειέγμνπκε ην ινγηζκηθό Joνmla θαη λα αλαθέξνπκε ηπρόλ ζθάικαηα πνπ ζα βξνύκε. Email Configuation : Έρνπκε ηελ επηινγή λα καο ζηαιζνύλ κέζσ email νη ξπζκίζεηο πνπ επηιέμακε θαηα ηελ εγθαηάζηαζε. Απν ηελ ζηηγκή πνπ θηάλνπκε ζε απηήλ ηελ νζόλε ζεκαίλεη όηη ε εγθαηάζηαζε καο ερεη νινθιεξσζεί κε επηηπρία θαη είκαζηε έηνηκνη λα πξνρσξήζνπκε ζηα δνκηθά ζηνηρεία ηνπ Joomla . Δηθόλα 35: Οινθιήξσζε εγθαηάζηαζεο Joomla! ην βήκα απηό θαη γηα ιόγνπο αζθαιείαο επηβάιιεηαη λα δηαγξάςνπκε ην installation folder παηώληαο ζην θνπκπί remove installation folder (απηόκαηε δηαγξαθή) θαη ζηελ ζπλέρεηα γηα λα ζηγνπξεπηνύκε όηη δελ ππάξρεη κεηαβαίλνπκε ζην θάθειν ηνπ Joomla . Δηθόλα 36: Δπηβεβαίσζε δηαγξαθήο installation folder Πανοσργιάς Εσάγγελος 1645 54 Κεθάλαιο 6 6.1 Γνφριμία με ηα δομικά ζηοτεία ηοσ Joomla! & Υλοποίηζη ιζηόηοποσ 6.2 Control Panel (Περιοχή διαχείρησης) Aθνύ έρνπκε νινθιεξώζεη επηηπρώο ηελ δηαδηθαζία εγθαηάζηαζεο ζε Xampp θαη Joomla ζα μεθηλήζνπκε ηελ δηαδηθαζία δεκηνπξγίαο ηνπ ηζηόηνπνπ. Γηα λα εηζέιζνπκε ζηε ζειίδα δηαρείξηζεο αξθεί κόλν λα πιεθηξνινγήζνπκε ζηε γξακκή δηεύζπλζεο ηνπ browser καο ηελ παξαθάησ δηεύζπλζε: http://localhost/mysite/administrator/ ηελ ζπλέρεηα εηζάγνπκε ηα ζηνηρεία καο γηα λα απνθηήζνπκε πξόζβαζε δειαδή ην username θαη password πνπ δειώζακε θαηα ηελ εγθαηάζηαζε ηνπ Joomla. Δηθόλα 37: Login ζηελ πιαηθόξκα Joomla! Μεηά ηελ εηζαγσγή ησλ ζηνηρείσλ καο, κεηαθεξόκαζηε ζηελ αξρηθή ζειίδα ηεο πεξηνρήο δηαρείξηζεο (Control Panel) πνπ πεξηέρεη ζπληνκεύζεηο ζε όια ηα ζεκαληηθά εξγαιεία ηνπ Joomla. Δηθόλα 38:Control Panel Joomla! Πανοσργιάς Εσάγγελος 1645 55 Από εδώ πξαγκαηνπνηνύληαη όιεο νη αιιαγέο θαη νη ξπζκίζεηο πνπ ζέινπκε λα θάλνπκε ζηελ ηζηνζειίδα καο. Από ηε ζηηγκή πνπ ερνπκε ζπλδεζεί κε ην backend ρξεζηκνπνηνύκε ηα θνπκπηά ηνπ joomla θαη όρη απηά ηνπ browser γηα ηελ πεξηήγεζε καο ζηηο επηινγέο ηνπ. Δηθόλα 39: Homepage Ιζηόηνπνπ 6.3 Εxtentions (Επεκτάσεις) Οη επεθηάζεηο (extentions) είλαη “ εγθαηεζηήζηκα ” παθέηα ινγηζκηθνύ, ηα νπνία, κε ηνλ έλα ή κε ηνλ άιιν ηξόπν, επεθηείλνπλ ηε ιεηηνπξγηθόηεηα ηνπ ίδηνπ ηνπ joomla. Θα αλαθεξζνύκε ζε απηά αλαιπηηθόηεξα θαη ζηηο επόκελεο ελόηεηεο.Τπάξρνπλ oη εμήο ηύπνη επεθηάζεσλ: Components (Δθαξκνγέο): Μηα εθαξκνγή (component) ηνπ joomla είλαη ν πνιππινθόηεξνο ηύπνο επέθηαζεο. Οπζηαζηηθά είλαη έλα είδνο κίλη- πξνγξάκκαηνο ην νπνίν “απνδίδεη” κε θάπνην ηξόπν ην θύξην πεξηερόκελν πνπ απαξηίδεη κηα ζειίδα θαη εκθαλίδεηαη ζην θπξίσο ζώκα (ηελ θεληξηθή , κεγάιε ζηήιε) ηεο ζειίδαο. Γηα παξάδεηγκα , εθαξκνγή content πνπ πεξηιακβάλεηαη ζηνλ ππξήλα ηνπ joomla (com_content) είλαη απηή πνπ Πανοσργιάς Εσάγγελος 1645 56 δηαρεηξίδεηαη θαη εκθαλίδεη όια ηα άξζξα καο, κε θάπνην ηξόπν. Γελ ζρεηίδνληαη όιεο νη εθαξκνγέο κε ην πεξηερόκελν ελόο ηζηόηνπνπ νξηζκέλεο ρεηξίδνληαη πνιύπινθεο δηαδηθαζίεο. Γηα παξάδεηγκα, ε εθαξκνγή Registration(com_registration) ρεηξίδεηαη ηε δηαδηθαζία εγγξαθήο ρξεζηώλ. Μodules (Eλζέκαηα) : Σα ελζέκαηα (modules) είλαη ζπλήζσο πνιύ κηθξόηεξα (όζνλ αθνξά ην ρώξν πνπ θαηαιακβάλνπλ ζηελ νζόλε) θαη ιηγόηεξν πνιύπινθα από ηηο εθαξκνγέο. πλήζσο εκθαλίδνληαη ζηελ πεξίκεηξν ηνπ θπξίσο ζώκαηνο ηεο ζειίδαο ζηελ θεθαιίδα , πιεπξηθέο ζηήιεο, ή ζην ππνζέιηδν θαη εθηεινύλ εμεηδηθεπκέλεο δηεξγαζίεο, νη νπνίεο κπνξεί λα ζρεηίδνληαη κε ην πεξηερόκελν πνπ εκθαλίδεηαη ζην θπξίσο ζώκα, αιιά κπνξεί θαη όρη. Plug In΄s (Πξόζζεηα): Έλα πξόζζεην (plug in) είλαη έλα εηδηθό ηκήκα θώδηθα, ην νπνίν κπνξεί λα ρξεζηκνπνηείηαη ζε όιε ηελ έθηαζε ελόο ηζηνηόπνπ θαη εθηειείηαη όηαλ θνξηώλεηαη κηα ζειίδα. Θα ρξεζηκνπνηήζακε αξθεηά πξόζζεηα θνκκάηηα γηα λα θαηαλνήζνπκε θαιύηεξα ηελ ιεηηνπξγία ηνπο. Language packs :Σα παθέηα γισζζώλ επηηξέπνπλ ζην joomla λα κηιάεη μέλεο γιώζζεο. Σν παθέην κηαο γιώζζαο πεξηιακβάλεη κεηαθξάζεηο όισλ ησλ θξαζηηθώλ δηαηππώζεσλ πνπ ρξεζηκνπνηνύληαη ζην πεξηβάιινλ επηθνηλσλίαο ηνπ joomla κε ην ρξήζηε. εκεηώλνπκε πσο ε ηειεπηαία έθδνζε ηνπ Joomla εκπεξηέρεη θαηα ηελ εγθαηάζηαζε ηεο πνιιά παθέηα γισζζώλ όπσο γηα παξάδεηγκα ηελ Διιεληθή. Templates (Πξόηππα) : Σν Joomla δίλεη ηελ δπλαηόηεηα λα ρξεζηκνπνηήζνπκε θάπνηα απν ηα πξνεγθαηαζηεκέλα template πνπ παξέρεη είηε λα θαηεβάζνπκε ειεύζεξα ή επη πιεξσκή δηάθνξα είδε απν ηελ παγθόζκηα θνηλόηεηα ηνπ Joomla θαη αθνύ ηα εγθαηαζηήζνπκε λα κπνξέζνπκε λα ηα επεμεξγαζηνύκε όπσο εκείο επηζπκνύκε. 6.4 Εγκατάσταση και παραμετροποιήση template Αθνύ έρνπκε ήδε επηιέμεη έλα πξόηππν παξνπζίαζεο ζα πξέπεη λα εγθαηαζηαζεί θαη λα παξακεηξνπνηεζεί πξηλ απν ηελ πξνζζήθε ηνπ πεξηερνκέλνπ.Η εγθαηάζηαζε ηνπ template γίλεηαη απν ην ζύζηεκα δηαρείξεζεο ηνπ Joomla κε ηελ επηινγή Extentions → Extention manager → θαη Install/Unistall (ην ίδην κνηίβν ηζρύεη γηα όινπο ηνπο ηύπνπο επεθηάζεσλ). Δπηιέγνπκε (Browse..) ην ζπκπηεζκέλν αξρείν πνπ πεξηέρεη ην πξόηππν απν ην ζθιεξό δίζθν καο, ζηελ πξνθεηκέλε πεξίπησζε ην αξρείν κε όλνκα tx_zenith.zip θαη θαηόπηλ Upload File & Install. (http://www.themexpert.com/joomla-templates/zenith). Πανοσργιάς Εσάγγελος 1645 57 Aπό ην βαζηθό menu ζηελ ζπλέρεηα παηάκε Extentions θαη Template Manager θαη εκθαλίδεηαη ε ιίζηα κε ηα εγθαηαζηεκέλα πξόηππα παξνπζίαζεο. Δπηιέγνπκε ην ζπγθεθξηκέλν πξόηππν θαη θαηόπηλ ηνλ αζηεξίζθν ζην θνπκπί Default έηζη ώζηε λα γίλεη πξνθαζνξηζκέλν όπσο θαίλεηαη ζηελ παξαθάησ εηθόλα. Δηθόλα 40: Template Manager – Δπηινγή Πξνηύπνπ Αθνινπζεί ε παξακεηξνπνίεζε ηνπ πξνηύπνπ θιηθάξνληαο πάλσ ζην όλνκα ηνπ απν ηελ παξαπάλσ ιίζηα. Κάζε template έρεη ηηο δηθέο ηνπ παξάκεηξνπο όπσο ηηο έρεη θαζνξίζεη θαη πινπνηήζεη ν έθαζηνο θαηαζθεπαζηήο ηνπ. Σν ζπγθεθξηκέλν πξόηππν επηηξέπεη ηηο εμήο ξπζκίζεηο πνπ ζα αλαιύζνπκε ελώ ζην template.css άξρεην ηνπ εκπεξηέρεη κηα πιεζώξα επηινγώλ γηα ην ζηπι κνξθνπνίεζεο. Styles : παξέρεη θάπνηα πξνθαζνξηζκέλα ζηπι ρξώκαησλ ζε δηάθνξα ραξαθηεξηζηηθά ηνπ template(π.ρ. Υξώκα ησλ ζπλδέζκσλ, ησλ θνπκπηώλ,ηνπ roof module θ.α.). ηελ πξνθεηκέλε πεξίπησζε θάλακε επέκβαζε ζηνλ θώδηθα ησλ ζηπι απν ην .css αξρείν(path: tx_zenith → css →styles ) θαη κε ηελ ρξήζε ησλ εξγαιείσλ Firebug θαη Ννtepad++ δεκηνπξγήζακε ην δηθό καο ρξώκα ζηα παξαπάλσ ραξαθηεξηζηηθά ην νπνίν είλαη ην Gold (HEX Color #DAA520 ). Δηθόλα 41:Δπηινγή ηπιηζηηθνύ ρξώκαηνο ζην πξόηππν Σν ζπγθεθξηκέλν πξόηππν καο παξέρεη ηελ δπλαηόηεηα λα αιιάδνπκε ηα ρξώκαηα ησλ modules ηνπ ηζηόηνπνπ ζύκθσλα κε ηηο πξνηηκήζεηο ηνπ θάζε ρξήζηε. Παηώληαο ην color chooser Πανοσργιάς Εσάγγελος 1645 58 θαηεβαίλεη έλα panel κε κηα παιέηα ρξσκάησλ θάλνπκε ηελ επηινγή πνπ ζέινπκε θαη ζηελ ζπλέρεηα θάλνπκε save ηηο ξπζκίζεηο καο. Σελ επηινγή ρξώκαηνο έρνπκε γηα ηα παξαθάησ module positions. Title Color, Body Background, Header, Top, Feature, Main content, Footer. Eπίζεο έρνπκε ηελ δπλαηόηεηα λα ηνπνζεηήζνπκε ζηα παξαπάλσ θάπνηα πξνθαζνξηζκέλε θσηνγξαθία απν ηνλ ζθιεξό καο δίζθν αλ πξώηα ηελ ηνπνζεηήζνπκε ζην ζπγθεθξηκέλν path : C:\xampp\htdocs\Mysite\templates\tx_zenith\images\backgrounds. Δηθόλα 42:Μondule positioons πξνηύπνπ Widjets :ηελ θαξηέια απηή έρνπκε επηινγέο γηα ηνπνζέηεζε ηνπ ινγόηππνπ, ηελ εκθάληζε εκεξνκελίαο ζην ηζηόηνπν, ηελ εκθάληζε γηα ηα copyrights, ηελ επηινγή γξακκαηνζεηξάο όπσο θαη ηελ αθξηβή ηνπνζέηεζε απηώλ ζηελ ηζηνζειίδα θ.α. Menu : H θαξηέια Menu αλαθέξεηαη γηα ην πσο ζέινπκε ην drop down menu θαη ην animation πνπ ζα ρξεζηκνπνηεί . Layout :Δδώ ηξνπνπνηνύκε ην πιάηνο ησλ modules ηνπ πξνηύπνπ ζύκθσλα κε ηηο αλάγθεο καο ζηνλ ηζηόηνπν. Typography: Αλαθέξεηαη ζηνλ ηύπν ηεο γξακκαηνζεηξάο (π.ρ. Arial Verdana). Advanced : Μπνξνύκε λα ελεξγνπνηήζνπκε ηελ επηινγή γηα ηελ βηβιηνζήθε jQuery, γηα λα ζπλδπάζνπκε css αξρεία ή αξρεηα Javascript νπώο επίζεο θαη ηελ ππνζηήξημε RTL γισζζώλ (Right To Left). Developer: H Developer θαξηέια παξέρεη θάπνην πεδίν ζηνλ πξνγξακκαηηζηή γηα πξνζζήθε/κεηαηξνπή θώδηθα θαηα ηνλ νπνίν ζα αθήζεη αλέπαθα ηα αξρηθά αξρεία css, php θαη html πνπ βξίζθνληαη ζηνλ δίζθν καο. Δπηπιένλ έρνπκε ηελ επηινγή ελεξγνπνίεζεο/απελεξγνπνηήζεο ηεο βηβιηνζήθεο mootools (εκείο ζα ρξεζηκνπνηήζνπκε απνθιεηζηηθά θαη κόλν jQuery), θ.α. Πανοσργιάς Εσάγγελος 1645 59 Έλα παξάδεηγκα πξνζζήθεο επηπιένλ θώδηθα θαίλεηαη ζηελ παξαθάησ εηθόλα όπνπ ζπγθεθξηκέλα ζηελ εηθόλα πνπ εκθαλίδεηαη ζην background ηνπ ηζηόηνπνπ καο εμαιείθεη ηελ ζπλερή επαλάιεςε ηεο θαη ηελ ηνπνζεηεί θεληξηθά όζν θαη λα θάλνπκε scroll down ζηα πεξηερόκελα ηνπ. Δηθόλα 43:Γεκηνπξγία CSS θώδηθα εληόο πξνηύπνπ 6.5 Δημιουργία περιεχομένου 6.5.1 Category Management (Διαχείρηση Κατηγοριών) Ιεξαξρηθά ε θαηεγνξία βξίζθεηαη ζηελ αξρηθή βαζκίδα ηαμηλόκεζεο ηνπ Joomla. Γηα λα κπνξέζνπκε λα πξνζζέζνπκε κηα θαηεγνξία αξθεί λα παηήζνπκε ζην menu → Content → Category Manager-> Add new Category . Γεκηνπξγήζακε κηα πξνο κηα ηηο θαηεγνξίεο πνπ έρνπκε ζρεδηάζεη έηζη ώζηε λα κπνξνύκε κε επθνιία λα δηαρεηξεζηνύκε ηνλ ηζηόηνπν καο εθόζνλ έρνπκε αληηζηνηρήζεη ην πεξηερόκελν ζε απηέο.Η παξακεηξνπνίεζε πνπ καο πξνζθέξνπλ νη θαηεγνξίεο ζα ηηο αλαιύζνπκε ζηελ δηαρείξεζε ηώλ άξζξσλ θαζώο είλαη παλνκνηόηππεο. Δηθόλα 44:Kαηεγνξίεο – Category Manager Πανοσργιάς Εσάγγελος 1645 60 6.5.2 Αrticle Managment (Διαχείρηση Άρθρων) ηελ ηειεπηαία βαζκίδα νξγάλσζεο θαη ηεξάξρηζεο ηεο πιεξνθνξίαο ζην Joomla βξίζθνληαη ηα άξζξα. Γηα λα πξνζζέζνπκε έλα άξζξν κπνξνύκε είηε απν ηελ ζειίδα δηαρείξεζεο παηώληαο Add new Article είηε απν ελαιιαθηηθά απν ην menu → Content → Αrticle Manager-> Add new Article θαη θαηόπηλ εκθαλίδεηαη ε παξαθάησ εηθόλα. Δηθόλα 45:Γεκηνπξγία άξζξνπ Οη επηινγέο πνπ κπνξνύκε λα θάλνπκε ζηηο δηάθνξεο θαξηέιεο ζηελ δεκηνπξγία ελόο άξζξνπ είλαη νη εμήο. Content (Πεξηέρνκελν) Title: Tίηινο ηνπ Άξζξνπ. Alias: Δλαιιαθηηθόο ηίηινο ηνπ άξζξνπ. Category: Η θαηεγνξία πνπ ζα αλήθεη ην άξζξν. Status (Η θαηάζηαζε ηνπ άξζξνπ). i. Published: Σν άξζξν είλαη νξαηό ζην front end ηνπ ηζηόηνπνπ. ii. Unpublished: Σν άξζξν δελ ζα είλαη νξαηό ζε guests ρξήζηεο ζην front end ηνπ ηζηόηνπνπ αιιά ζα είλαη νξαηό ζε όζνπο ρξήζηεο έρνπλ ηελ άδεηα λα ην επεμεξγαζηνύλ. iii. Archived: Σν άξζξν δελ ζα εκθαλίδεηαη ζε blog ή ζε list menu άξζξα. iv. Trashed: Σν άξζξν είλαη δηεγξακκέλν απν ην site αιια ππάξρεη αθόκα ζηε βάζε δεδνκέλσλ . Μπνξεί λα δηαγξαθηεί νξηζηηθά άκα αδεηάζνπκε ηνλ θάδν. Featured: Η έλδεημε καο δειώλεη όηη ην άξζξν αλήθεη ζε κηα εηδηθή θαηεγνξία πνπ νλνκάδεηαη featured. Access: Η νξάηνηεηα ηνπ άξζξνπ θαζνξίδεηαη απν ηελ άδεηα πξόζβαζεο ηνπ θάζε ρξήζηε. Publishing (Δεκνζίεπζε) Πανοσργιάς Εσάγγελος 1645 61 Finish Publishing. Ηκεξνκελία θαη ώξα γηα ηνλ ηεξκαηηζκό δεκνζίεπζεο ηνπ άξζξνπ. Created by. Σν όλνκα ηνπ ρξήζηε πνπ δεκηνύξγεζε ην άξζξν. (απν default ζηνλ όπνηνλ ζπλδεδεκέλν ρξήζηε) . Created By Alias. Απην ην πεδίν επηηξέπεη ηελ εηζαγσγή ελόο ςεπδώλπκνπ ζηνλ ζπγγξαθέα ηνπ άξζξνπ. Created Date. Ηκεξνκελία δεκηνπξγίαο άξζξνπ. Revision. αξηζκόο ησλ ηξνπνπνίεζεσλ ηνπ άξζξνπ. Meta Keywords. Λέμεηο-θιεηδηά γηα ηα search engines θαη ηα banners. Images and links Intro Image & Full Article Image. Eπηινγή κηαο θσηνγξαθίαο γηα λα πξνβιεζεί ζε κηα ζπγθεθξηκέλε ηνπνζεζία ζην άξρε ηνπ άξζξνπ Image Float. (Use Global/Right/Left/None). Δπηιέγεη ηελ ηδηόηεηα float ζηελ ζπγθεθξηκέλε θσηνγξαθία. Options (Επηινγέο) Show Title. Δαλ ζα εκθαλίδεηαη ν ηίηινο ηνπ άξζξνπ. Linked Titles. (ρξήζε Global/Hide/Show).ε πεξίπησζε πνπ εκθαλίδεηαη ν ηίηινο, λα εκθαλίδεηαη ή όρη ελα link ζε απηόλ γηα ην άξζξν. Show Intro Text. Δκθάληζε ή όρη όηαλ θάλεη θάπνηνο θιηθ ζηελ πξνεπηζθόπηζε ελόο άξζξνπ ε πξώηε ηνπ ζειίδα. Show Category. Δκθάληζε θαηεγνξίαο ηνπ άξζξνπ. Link Category. Δαλ ε θαηεγνξία ηνπ άξζξνπ εκθαλίδεηαη, λα ππάξρεη ελα web link γη' απηήλ. Show Parent. Να εκθαλίδεηαη ή όρη ν γόλνο ηνπ άξζξνπ. Link Parent. Δαλ ν γόλνο ηεο θαηεγνξίαο ηνπ άξζξνπ εκθαλίδεηαη ηόηε λα ππάξρεη έλα link ζε έλα Category layout (ιίζηαο ή blog) . Πανοσργιάς Εσάγγελος 1645 62 Show Author. Να εκθαλίδεηαη ή όρη ν ζπγγξαθέαο . Link Author. ε πεξίπησζε πνπ εκθαλίδεηαη ν ζπγγξαθέαο, λα εκθαλίδεηαη θαη έλαο ζύλδεζκνο ζε έλα Contact layout γηα εθείλνλ. Show Modify Date. Να εκθαλίδεηαη ή όρη ε εκεξνκελία ηξνπνπνίεζεο ηνπ άξζξνπ. Show Publish Date Να εκθαλίδεηαη ή όρη ε εκεξνκελία δεκνζίεπζεο ηνπ άξζξνπ. Show Navigation. Να εκθαλίδεηαη ή όρη έλα link πινήγεζεο. Show Icons. Να εκθαλίδεηαη ή όρη έλα εηθνλίδην γηα print θαη email αληί γηα θείκελν. Show Print Icon. Να εκθαλίδεηαη ή όρη έλα θνπκπί γηα print ηνπ άξζξνπ. Show Email Icon. Να εκθαλίδεηαη ή όρη έλα θνπκπί γηα email ηνπ άξζξνπ. Show Hits. Να εκθαλίδεηαη ή όρη ην πόζεο θνξέο έρεη πξνβιεζεί ην άξζξν. Show Unauthorised Links. Να εκθαλίδεηαη ή όρη ην Intro Text γηα πεξηνξηζκέλεο πξόζβαζεο άξζξα. Παηώληαο ζην "Read More" ζύλδεζκν ζα απαηηεί απν ηνπο ρξήζηεο λα ζπλδεζνύλ γηα λα δηαβάζνπλ όιν ην πεξηερνκέλν ηνπ άξζξνπ. Positioning of the Links. Σελ αθξηβή ηνπνζεζία ησλ links ζην άξζξν. Read More Text. Έλα πεδίν πνπ καο επηηξέπεη λα δεκηνπξγήζνπκε έλα θείκελν πνπ λα εκθαλίδεη ηνλ ζύλδεζκν"read more" . Από default είλαη "Read more". Alternative Layout. Έαλ έρνπκε νξίζεη έλα ή πεξηζζόηεξα ελαιιαθηηθά layout γηα έλα αληηθείκελν menu ηύπνπ Single Article , κπνξνύκε λα ην επηιέμνπκε γηα ην άξζξν. Configure Edit Screen Να εκθαλίδνληαη ή όρη όια ηα παξαπάλσ (Οptions, Images and links θαη Publishing επηινγέο ). Permissions Γηαρείξεζε ησλ ρξεζηώλ πνπ ζα έρνπλ πξόζβαζε ζην άξζξν. Αθνύ έρνπκε δεκηνπξγήζεη ην πεξηερνκέλν ηνπ άξζξνπ θαη έρνπκε ζπκπιεξώζεη ηα παξαπάλσ πεδία αλάινγα ησλ πξνηηκήζεσλ καο, ην απνζεθεύνπκε θαη επηζηξέθνπκε ζηελ αξρηθή ζειίδα δηαρείξεζεο ησλ άξζξσλ. Δθεί έρνπκε ηελ δπλαηόηεηα γηα ηα παξαθάησ : Πανοσργιάς Εσάγγελος 1645 63 Νew:Γεκηνπξγία λένπ άξζξνπ. Edit: Δπεμεξγαζία ηνπ επηιεγκέλνπ άξζξνπ. Publish/Unpublish: Γεκνζίεπζε ή όρη ηνπ επηιεγκέλνπ άξζξνπ. Batch(copy , move): Αληηγξαθή ε κεηαθίλεζε ηνπ επηιεγκέλνπ άξζξνπ. Featured: Καηεγνξνπνίεζε ηνπ επηιεγκέλνπ άξζξνπ ώο featured. Archive: Αξρεηνζέηεζε ηνπ επηιεγκέλνπ άξζξνπ. Checkin:Ξεθιείδσκα ηνπ επηιεγκέλνπ άξζξνπ γηα επεμεξγαζία απν θάπνηνλ άιινλ ρξήζηε. Trash: Γηαγξαθή ηνπ επηιεγκέλνπ άξζξνπ. Δηθόλα 46:Γηαρείξεζε άξζξσλ- Article Manager 6.5.3 Menu Manager (Δημιουργία και παραμετροποίηση menu) Έρνληαο δεκηνπξγήζεη άξζξα πεξηερνκέλνπ θαη αθνύ ηα έρνπκε θηόιαο θαηεγνξνπνηήζεη γηα θαιύηεξε δηαρείξεζε, κπνξνύκε λα δεκηνπξγήζνπκε κελνύ κε ζπλδέζκνπο πνπ ζα εκθαλίδνληαη ζε ζε όιεο ηηο ζειίδεο ηνπ ηζηόηνπνπ θαη ζα νδεγνύλ ζε θάζε άξζξν. Σα κελνύ γηα ην Joomla είλαη modules (ηα νπνία ζα αλαιύζνπκε ζηελ ζπλέρεηα) όπνπ κε ηελ εγθαηάζηαζε ηνπ δεκηνπξγείηαη απηόκαηα έλα έλζεκα πνπ νλνκάδεηαη Main Menu. To module απηό είλαη δηαρεηξήζηκν κε δπν ηξόπνπο. Από ηελ θεληξηθή ζειίδα δηαρείξεζεο, επηιέγνληαο Menu θαη Menu Manager, όπνπ εκθαλίδεηαη ε ιίζηα κε όια ηα δηαζέζηκα menu. ηε ζειίδα απηή κπνξεί λα κεηαβιεζεί ην όλνκα ηνπ menu θαζώο θαη ηα ζηνηρεία πνπ πεξηέρεη. Πανοσργιάς Εσάγγελος 1645 64 Δηθόλα 47:Γεκηνπξγία Menu-Menu Manager Από ηελ θεληξηθή ζειίδα δηαρείξεζεο επηιέγνληαο Menu θαη Main Menu όπνπ εκθαλίδνηαη όια ηα ζηνηρεία ηνπ θπξίνπ κελνύ. ηε ζειίδα απηή κπνξνύλ λα πξνζζαθαηξεζνύλ ζηνηρεία ζην θύξην κελνύ πνπ αξρηθά απνηειείηαη από έλα κόλν ζηνηρείν δειαδή έλα ζύλδεζκν ζηελ αξρηθή ζειίδα. Δηθόλα 48:Απεηθόληζε Menu ζηνηρείσλ-Menu Items Πξνηηκήζακε ηνλ δεύηεξν ηξόπν θαη θαηαξρήλ αιιάμακε ηνλ ηίηιν ηνπ ζπλδέζκνπ πνπ ήηαλ Home ζε ΄Διιάδα΄. Καηόπηλ παηάκε New γηα λα πξνζζέζνπκε ζην menu ζπλδέζκνπο πξνο ηα άξζξα δειαδή ηηο ηζηνζειίδεο ηνπ ηζηόηνπνπ καο. Σν είδνο πνπ ρξεζηκνπνηήζακε είλαη Articles → Single Article. Πανοσργιάς Εσάγγελος 1645 65 Δηθ όλα 49: Γεκηνπξγία Menu ζηνηρείσλ-Menu Items Αθνύ επηιέμακε ην θαηάιιειν άξζξν ζεκαληηθό είλαη αλ ζα ζέιακε λα είλαη ΄΄παηδί΄΄ θάπνηνπ άιινπ ζηνηρείνπ ηνπ menu θαζώο επίζεο κπνξνύκε λα ξπζκίζνπκε θάπνηεο παξακέηξνπο, όπσο πξναλαθέξακε θαη ζηα άξζξα (εκθάληζε ησλ ηίηισλ, ησλ ζπγγξαθέσλ, ηεο εκεξνκελίαο δεκηνπξγίαο θ.α.) , αιιά επηπιένλ θαη ζηπιηζηηθέο παξάκεηξνπο όπσο ηελ εηζάγσγε ππόηηηινπ, εηθνληδίσλ (όπσο θαίλεηαη ζηελ παξαθάησ εηθόλα) είηε νπνηαδήπνηε css style επηζπκνύκε θ.α. Καηά ηνλ ίδην ηξόπν δεκηνπξγήζακε όια ηα κελνπ-ζηνηρεία πνπ θαίλνληαη παξαθάησ. Δηθόλα 50:Απεηθόληζε Αξρηθνύ Menu Δθηόο ηεο δπλαηόηεηαο ελόο animated κελνύ πνπ καο δίλεη ην template tx_zenith ρξεζηκνπνηήζακε μαλά ην Firebug θαη ην Ννtepad++ γηα εηζαγώγε ηνπ ρξώκαηνο, ηελ εηζαγσγή ησλ ιεπθώλ νξίσλ αλάκεζα ζηα ζηνηρεία όπσο επίζεο θαη ηελ αιιαγή ηεο γξακκαηνζεηξάο ζε Capitalize κνξθή απν ηελ πξνθαζνξηζκέλε επηινγή Uppercase. 6.6 Components (Εφαρμογές) Μηα εθαξκνγή είλαη έλα εμεηδηθεπκέλν κίλη – πξόγξακκα, ην νπνίν εθηειείηαη κέζα από έλα πεξηβάιινλ ηνπ joomla. Οηηδήπνηε εκθαλίδεηαη ζην θπξίσο ζώκα ησλ ζειίδσλ ελόο ηζηνηόπνπ παξάγεηαη από ηελ εθαξκνγή γηα παξάδεηγκα, κηα εθαξκνγή γηα θόξνπκ ρξεζηώλ, κηα παξνπζίαζε Πανοσργιάς Εσάγγελος 1645 66 θαηαιόγσλ, γηα ζπιινγέο εηθόλσλ, θ.ν.θ. Θα κπνξνύζε θαλείο λα πεη όηη ε εθαξκνγή content είλαη ην επίθεληξν ηνπ joomla ε εθαξκνγή πνπ ηνπ δίλεη ηε δπλαηόηεηα λα εκθαλίδεη ην πεξηερόκελν ζε κνξθή κεκνλσκέλσλ άξζξσλ αλά ζειίδα, ζαλ ηζηνιόγην, ή ζαλ έλαλ πίλαθα κε ηνπο ηίηινπο ησλ άξζξσλ. Όκσο, ζηελ πξαγκαηηθόηεηα, ππάξρεη κηα νκάδα εθαξκνγώλ πνπ απνηεινύλ ηνλ ππξήλα ηνπ joomla . Οξηζκέλεο επεθηάζεηο ζεσξνύληαη εθαξκνγέο, παξόηη δελ εκθαλίδνπλ πεξηερόκελν ζην θπξίσο ζώκα κηαο ζειίδαο ζην frontend. Απηό νθείιεηαη ζην όηη ε ιεηηνπξγηθόηεηα ηνπο είλαη δηαρεηξίζηκε από ην backend ηνπ ηζηόηνπνπ.Οξηζκέλεο εθαξκνγέο ρξεζηκνπνηνύλ ελζέκαηα κε ηελ ίδηα ηελ εθαξκνγή, γηα λα απνδώζνπλ ηελ πιήξε ιεηηνπξγηθόηεηα ηνπο. 6.6.1 Οι εφαρμογές που ανήκουν στο πυρήνα του. Η αθόινπζε ιίζηα παξνπζηάδεη ηηο εθαξκνγέο πνπ πεξηιακβάλνληαη ζηνλ ππξήλα ηνπ joomla θαη ηελ αμηνπνίεζε νξηζκέλσλ απν απηώλ: Banners: Μπνξνύκε λα ρξεζηκνπνηήζνπκε απηό ην εξγαιείν γηα ηελ εθ πεξηηξνπήο παξνπζίαζε δηαθεκίζεσλ ζηνλ ηζηόηνπν καο. Η επέθηαζε απαξηίδεηαη από δύν κέξε: ηελ εθαξκνγή Banner Manager πνπ ηξέρεη backend θη έλα έλζεκα γηα ηελ εκθάληζε ησλ δηαθεκίζεσλ ζην frontend. Contacts: Υξεζηκνπνηώληαο απηή ηελ εθαξκνγή, κπνξνύκε λα εκθαλίδνπκε κηα ιίζηα επαθώλ ζηνλ ηζηόηνπν. Έλαο δηαρεηξηζηήο πνπ ρξεζηκνπνηεί ηελ εθαξκνγή απηή ζην backend έρεη επίζεο ηε δπλαηόηεηα λα πξνζζέηεη θαη λα δηαγξάθεη επαθέο, θαζώο θαη λα δεκηνπξγεί θαηεγνξίεο γηα ηηο επαθέο. Αλαζπλδένληαο ηελ εθαξκνγή κ' έλα ζηνηρείν κελνύ, κπνξνύκε λα έρνπκε πξόζβαζε είηε ζε κεκνλσκέλεο επαθέο, είηε ζε νιόθιεξεο θαηεγνξίεο επαθώλ κε ηε κνξθή ελόο θαηαιόγνπ. Newsfeed: Η εθαξκνγή απηή ρξεζηκνπνηεί ηελ ηερλνινγία RSS θαη απνηειεί έλαλ ζαπκάζην ηξόπν γηα λα εκπινπηίζνπκε ηνλ ηζηόηνπν καο κε ζρεηηθό πεξηερόκελν από ηνπο άιινπο ηζηόηνπνπο, εύθνια θαη γξήγνξα. Δάλ έλαο άιινο ηζηόηνπνο δηαζέηεηκηα ξνή RSS, κπνξνύκε λα ρξεζηκνπνηήζνπκε ηελ εθαξκνγή Newsfeed γηα λα εκθαλίζνπκε απηή ηε ξνή ζε κηα ζειίδα ηνπ δηθνύ καο ηζηνηόπνπ. Δηθόλα 51:Γεκηνπξγία RSSFeed - back-end Πανοσργιάς Εσάγγελος 1645 67 Γηα παξάδεηγκα, δεκηνπξγώληαο έλα ηύπν Menu γηα εκθάληζε RSS Feed έρνπκε ην παξαθάησ απνηέιεζκα ζην front end. Δηθόλα 52:Απεηθόληζε RSS Feed - front-end Search: Σν joomla δηαζέηεη ηζρπξή ιεηηνπξγία δηεμαγσγήο αλαδεηήζεσλ. ε ζπλδπαζκό κε ην αληίζηνηρν έλζεκα , επηηξέπεη ζηνπο επηζθέπηεο ηνπ ηζηόηνπνπ λα δηεμάγνπλ αλαδεηήζεηο ζε όια ηα άξζξα ελόο ηζηόηνπνπ. Weblinks: Οπνηαδήπνηε ηζηνζειίδα κπνξεί λα πεξηέρεη ζπλδέζκνπο πξνο άιινπο ηζηόηνπνπο. Η εθαξκνγή Web links πξνρσξά έλα αθόκε βήκα: απνζεθεύεη ηνπο ζπλδέζκνπο θαη ππνδεηθλύεη πόζεο θνξέο έρνπλ επηιερηεί (ην ζύλνιν ησλ θιηθ πάλσ ηνπο). Μηα ρξήζηκε δπλαηόηεηα απηήο ηεο εθαξκνγήο είλαη όηη επηηξέπεη ζηνπο ρξήζηεο ηνπ ηζηόηνπνπ λα ππνβάιινπλ έλα ζύλδεζκν, δεκηνπξγώληαο έλα αληίζηνηρν ζηνηρείν κελνύ. Σέηνηνπ είδνπο εξγαιεία παξάγνπλ ηνπο απνθαινύκελνπο “θαηαιόγνπο ηζηνζειίδσλ” (web directories). Messaging: Απηό ην εξγαιείν επηηξέπεη ηελ απνζηνιή mail ζε όινπο ηνπο ρξήζηεο πνπ είλαη εγγεγξακκέλνη ζηνλ ηζηόηνπν. Παξέρεη πνιύ απιέο δπλαηόηεηεο θαη δελ κπνξεί λα αληαγσληζηεί ηε ιεηηνπξγηθόηεηα εθαξκνγώλ email από ηξίηνπο θαηαζθεπαζηέο. Δίλαη δύζθνιν λα δηαζθαιίζνπκε όηη ηα κελύκαηα email πνπ απνζηέιινληαη κε ην Messaging ζπκκνξθώλνληαη κε ηνπο όξνπο ηεο Πξάμεο Καηά ηνπ Spam (CAN-SPAM) , αιιά ζα κπνξνύζακε λα ηε ρξεζηκνπνηήζνπκε γηα γξήγνξεο απνζηνιέο κελπκάησλ ζε κηα ζπγθεθξηκέλε νκάδα ρξεζηώλ, όπσο π.ρ. Οη δηαρεηξηζηέο. Redirect: Σν Redirect είλαη έλα ρξήζηκν εξγαιείν, ην νπνίν καο βνεζά ζηε δηαρείξηζε Πανοσργιάς Εσάγγελος 1645 68 παιαηώλ ζειίδσλ θαη δηεπζύλζεσλ URL. Οπνηεδήπνηε έλαο επηζθέπηεο επηρεηξεί λα κεηαβεί ζε κηα ζειίδα πνπ δελ ππάξρεη πιένλ, θαηαρσξίδεηαη έλα ζθάικα 404 ζηα αξρεία θαηαγξαθήο θαη καο επηηξέπεη λα θαζνξίζνπκε έλα λέν URL ή ζειίδα ζηελ νπνία ζα αλαθαηεπζύλεηαη ν επηζθέπηεο. 6.7 Ενθέματα (Μοdules) Θα κπνξνύζακε λα ραξαθηεξίζνπκε ηα ελζέκαηα σο ην κηθξό αδεξθό ησλ εθαξκνγώλ, επεηδή είλαη πνιύ κηθξόηεξα θαη απινύζηεξα ζηε δηαρείξηζή ηνπο. Ο ζηόρνο ηνπο είλαη λα ζπκπιεξώλνπλ, κε θάπνην ηξόπν, ηε ιεηηνπξγηθόηεηα ηνπ πεξηερνκέλνπ ή ηε δηαδξαζηηθόηεηα κηαο ζειίδαο. 6.7.1 Διαχείριση Ενθεμάτων (Μοdule Management) Αξρηθά, επηιέγνπκε Extensions-> Module Manager γηα λα αλνίμνπκε ην Module Manager (Γηαρείξηζε ελζεκάησλ). ε απηή ηελ νζόλε πνπ εκθαλίδεηαη ζε κνξθή πίλαθα, ηα ελζέκαηα εκθαλίδνληαη καδί κε νξηζκέλεο θνηλέο επηινγέο γηα ηνλ ηξόπν παξνπζίαζεο ηνπο. Δάλ επηιέμνπκε έλα έλζεκα γηα επεμεξγαζία (edit), ζα εκθαληζηεί ε νζόλε κε ηηο επηινγέο θαη ξπζκίζεηο ηνπ ελζέκαηνο. Οη βαζηθέο πιεξνθνξίεο θαη επηινγέο γηα ηα modules δελ δηαθέξνπλ πνιύ απν απηά ησλ άξζξσλ. Αναλυτικότερα: Δπηινγέο γηα ηνλ ηίηιν ηνπ θαη αλ ζα εκθαλίδεηαη , ην εάλ είλαη δεκνζηεπκέλν, ην επίπεδν πξόζβαζεο, ε ζέζε όπνπ ζα πξέπεη λα εκθαληζηεί κέζα ζηε δηάηαμε ηεο ζειίδαο, ε ζεηξά ηνπνζέηεζεο ηνπ, εάλ ππάξρνπλ θη άιια ελζέκαηα ζηελ ίδηα ζέζε, ε εκεξνκελία έλαξμεο δεκνζίεπζεο, ε γιώζζα ηνπ ελζέκαηνο θαη ηέινο ηελ επηινγή γηα κηα θαζνξηδόκελε από εκάο ζεκείσζε είλαη ηα θύξηα πνπ πξέπεη λα παξακεηξνπνίεζνπκε. Η δηαζύλδεζε (Μenu Assigment) ελόο module κε ζηνηρεία κελνύ ειέγρεη ζε πνηεο ζειίδεο ζα εκθαλίδεηαη ην module απηό. Γελ μερλάκε όηη κηα «ζειίδα» ππάξρεη κόλν εάλ ηελ παξάγεη έλα ζηνηρείν κελνύ. πλεπώο ε ιίζηα πνπ εκθαλίδεηαη εδώ είλαη ζηελ πξαγκαηηθόηεηα κηα ιίζηα ησλ δηαζέζηκσλ ζηνηρείσλ κελνύ πνπ παξάγνπλ ζειίδεο. Μπνξνύκε λα επηιέμνπκε On all pages Πανοσργιάς Εσάγγελος 1645 69 (εκθάληζε ζε όιεο ηηο ζειίδεο), no pages (ζε θακία ζειίδα), Only all pages selected (κόλν ζηηο επηιεγκέλεο ζειίδεο), ή On all pages except those selected (ζε όιεο εθηόο από ηηο επηιεγκέλεο ζειίδεο). 6.7.2 Σα ενθέματα που περιλαμβάνονται στον πυρήνα του Joomla Τπάξρνπλ αξθεηά ελζέκαηα πνπ πεξηιακβάλνληαη ζαλ κέξνο ηεο ηππηθήο εγθαηάζηαζεο ηνπ Joomla. Σα επξύηεξα πνπ ρξεζηκνπνηνύληαη αιιά θαη νξηζκέλα πνπ επηιέμακε είλαη ηα αθόινπζα: Archived Articles: Απηό ην έλζεκα εκθαλίδεη κηα ιίζηα κελώλ πνπ ιεηηνπξγνύλ σο ζύλδεζκνη πξνο όιν ην αξρεηνζεηεκέλν πεξηερόκελν ζηνλ ηζηόηνπν. Η αξρεηνζέηεζε ηνπ πεξηερνκέλνπ ελόο ηζηόηνπνπ έρεη θαη πιενλεθηήκαηα θαη κεηνλεθηήκαηα. Σν θύξην κεηνλέθηεκα είλαη όηη αιιάδεη ην URL ηνπ πεξηερνκέλνπ. Latest News: Απηό ην ρξήζηκν module εκθαλίδεη κηα ιίζηα ζπλδέζκσλ πξνο ηα ζηνηρεία πεξηερνκέλνπ (άξζξα) πνπ δεκηνπξγήζεθαλ πην πξόζθαηα ζηνλ ηζηόηνπν. Παξά ην γεληθό όλνκα ηνπ, κπνξεί λα δηακνξθσζεί ώζηε λα αληιεί πεξηερόκελν κόλν από ζπγθεθξηκέλεο θαηεγνξίεο. Απνηειεί έλα ζαπκάζην ηξόπν γηα ηελ θνηλνπνίεζε ηνπ πην πξόζθαηνπ πεξηερνκέλνπ καο ζηελ αξρηθή ζειίδα. Articles-New Flash: Μαδί κε ηα Latest News θαη Most Read Content, ζπγθξνηεί ηελ νκάδα modules πνπ εκθαλίδνπλ δπλακηθά πεξηερόκελν ζηελ ηζηνζειίδα. Σν έλζεκα New Flash παξνπζηάδεη ηπραία ζηνηρεία πεξηερνκέλνπ πνπ ηαηξηάδνπλ κε θάπνηα θξηηήξηα επηινγήο. Δηθόλα 53:Απεηθόληζε Most Read Content Δίλαη ειαθξώο δηαθνξεηηθό από ηα άιια δπν ελζέκαηα παξνπζίαζεο δπλακηθνύ πεξηερνκέλνπ, κπνξεί λα δηακνξθσζεί ώζηε λα εκθαλίδεη ην εηζαγσγηθό απόζπαζκα ελόο άξζξνπ, ή κόλν ηνλ ηίηιν ηνπ. Μπνξεί λα εκθαλίδεη πεξηερόκελν νπνηαδήπνηε θαηεγνξία, θαη όρη κόλν από ηελ θαηεγνξία News Flash . Random Image: Λεηηνπξγεί όκνηα κε ην έλζεκα New Flash αιιά εκθαλίδεη εηθόλεο. Most Read Content: Έλα ρξήζηκν έλζεκα γηα ηελ εύθνιε παξνπζίαζε δπλακηθνύ πεξηερνκέλνπ, εκθαλίδεη κηα ιίζηα ζπλδέζκσλ πξνο ηα πην δεκνθηιή άξζξα (αλά πάζα Πανοσργιάς Εσάγγελος 1645 70 ζηηγκή) ηνπ ηζηόηνπνπ. Articles Related Items: Απηό ην module εκθαλίδεη κηα ιίζηα κε ζπλδέζκνπο πξνο όια ηα άξζξα, ηα νπνία ζρεηίδνληαη κε απηό πνπ εκθαλίδεηαη ηελ ηξέρνπζα ζηηγκή. Σν Joomla απνθαζίδεη αλ έλα άξζξν είλαη ζρεηηδόκελν κε ην ηξέρνλ βαζηδόκελν-θιεηδηά πνπ έρνπλ νξηζηεί σο κεηά-δεδνκέλα γηα απηό ην ζηνηρείν πεξηερνκέλνπ ζην πεδίν Metadata Options-> Meta keywords, ζην Article Manager. εκεηώλνπκε όηη δελ είλαη δπλαηόλ λα πεξηνξίζνπκε ηνλ αξηζκό ησλ ζηνηρείσλ πνπ εκθαλίδεη απηό ην έλζεκα, όπσο ζπκβαίλεη κε άιια ελζέκαηα. Άιια ελζέκαηα από ηνλ ππξήλα ηνπ Joomla ηνλ ππξήλα ηνπ Joomla πεξηιακβάλνληαη επίζεο ηα αθόινπζα ελζέκαηα, ηα νπνία πξνζζέηνπλ εηδηθέο ιεηηνπξγίεο ζε έλαλ ηζηόηνπν: Login: Έλα ηδηαίηεξα ζεκαληηθό έλζεκα γηα ηνπο πεξηζζόηεξνπο βαζηδόκελνπο ζην joomla ηζηόηνπνπο. Δκθαλίδεη κηα απιή θόξκα, ηελ νπνία νη ρξήζηεο κπνξνύλ λα ρξεζηκνπνηνύλ γηα λα ζπλδεζνύλ ζηνλ ηζηόηνπν, γηα λα δεκηνπξγνύλ έλα ινγαξηαζκό, ή γηα λα αλαθηήζνπλ έλαλ θσδηθό πξόζβαζεο. Δηθόλα 54:Απεηθόληζε Login Form Module Γηα κηα πην άξηηα εκθάληζε ηεο θόξκαο έρνπκε αιιάμεη ην ζηπι (ρξώκα θαη κεγέζνο,θνπκπί θηι) βάζεη ησλ πξνηηκήζεσλ καο βξίζθνληαο θαη ηξνπνπνηώληαο απν ην template.css ηελ θαηάιιειε γξακκή θώδηθα. (Firebug&Ννtepad++). Menu: Έλζεκα δεκηνπξγίαο κελνύ. Έλα πξόβιεκα πνπ ζέινπκε λα ιύζνπκε είλαη λα πξνζαξκόζνπκε ην θύξην κελνύ εθηόο απν πάλσ πάλσ ζηελ αξρηθή ζειίδα, ζηελ αξηζηεξή πιεπξά ώζηε λα είλαη εύθνιν γηα ηνλ ρξήζηε λα εληνπίζεη απηό πνπ ζέιεη.Γηα λα ην πεηύρνπκε ζα πξέπεη λα ρξεζηκνπνηήζνπκε ην ζπγθεθξηκέλν module ην νπνίν λα εκθαλίδεη ην θύξην κελνύ πάλσ ζην θείκελν.πγθεθξηκέλα ην παξακεηξνπνηήζακε σο εμήο: Title : Aξρηθό Μελνύ Position : Sidebar a (ε αξηζηεξή πιεπξά ηνπ πξόηππνπ) Πανοσργιάς Εσάγγελος 1645 71 Select Menu : Main Menu Menu Class Suffix : box1 (όπνπ box1 είλαη ζπγθεθξηκέλνο css θώδηθαο απν ην πξόηππν ) Δηθόλα 55:Γεκηνπξγία sidebar Menu Έηζη θάζε θνξά πνπ θάλνπκε πξνζζήθε/δηαγξαθή/αιιαγή ζε έλα απν ηα ζηνηρεία ηνπ Main Menu ζα ελήκεξσλεηαη απηόκαηα θαη ηαπηόρξνλα ζρεηηθά θαη ην αληίζηνηρν module πνπ βξίζθεηαη ζηελ αξηζηεξή πιεπξά. Who’s Online: Απηό ην απιό έλζεκα εκθαλίδεη ηνλ αξηζκό ησλ εγγεγξακκέλσλ ρξεζηώλ αη ησλ επηζθεπηώλ πνπ βξίζθνληαη αλά πάζα ζηηγκή ζηνλ ηζηόηνπν Δηθόλα 56:Απεηθόληζε Who's Online Module Statistics: Απηό ην έλζεκα εκθαλίδεη απιά ζηαηηζηηθά ζηνηρεία επηζθεςηκόηεηαο , ελώ καο δίλεη επίζεο ηε δπλαηόηεηα λα εκθαλίζνπκε πην ηερληθήο θύζεο ζηαηηζηηθά γηα ηνλ server. Feed Display: Δκθαλίδεη ξνέο εηδήζεσλ RSS από άιιεο ζειίδεο. Λεηηνπξγεί παξόκνηα κε ηελ εθαξκνγή Newsfeed (όπνπ είδακε παξαπάλσ), ε νπνία κπνξεί λα εκθαλίδεη ξνέο εηδήζεσλ ζην θπξίσο ζώκα ηεο ζειίδαο. Πανοσργιάς Εσάγγελος 1645 72 Δηθόλα 57:Απεηθόληζε Feed Display Module Wrapper: Απηό ην έλζεκα θνξηώλεη κηα εμσηεξηθή ζειίδα κέζα ζε έλα εζσηεξηθό πιαίζην (inline frame) , ζηε ζέζε ηνπ ελζέκαηνο, πεξίπνπ όπσο ην θάλεη ε εθαξκνγή Wrapper γηα ην θπξίσο ζώκα ηεο ζειίδαο. Η ρξεζηκόηεηα ηνπ σο έλζεκα είλαη πεξηνξηζκέλε: κπνξεί λα θνξηώλεη κόλν κηθξέο πνζόηεηεο πεξηερνκέλνπ, θαζώο ηα ελζέκαηα ηνπνζεηνύληαη ζπλήζσο ζε ζηήιεο θαη άιιεο κηθξέο πεξηνρέο ηεο ζειίδαο. Custom HTML: Ο «Διβεηηθόο νπγηάο» ζηνλ θόζκν ησλ ελζεκάησλ. Γέρεηαη νπνηνδήπνηε είδνο HTML θώδηθα, ζπκπεξηιακβαλνκέλνπ θαη απνζπαζκάησλ θώδηθα JavaScript. ηελ παξαθάησ εηθόλα, γηα παξάδεηγκα, δεκηνπξγήζακε κε ηελ βνήζεηα ελόο editor (JCE editor : plug in) ην θείκελν γηα ηηο ηξέρνπζεο εθδειώζεηο, εηζάγσληαο ζπλδέζκνπο ζηνπο ηίηινπο έηζη ώζηε παηώληαο ζε απηέο ν ρξήζηεο λα κπνξεί λα ελεκεξώλεηαη γηα απηέο παξαπέκπνληαο ηνλ ζηηο όπνηεο επίζεκεο ηζηνζειίδεο ηνπο. Δηθόλα 58:Γεκηνπξγία Custom HTML Module Πανοσργιάς Εσάγγελος 1645 73 Eπίζεο,πνιύ απιά θαη εύθνια θαηεβάδνληαο εηθνλίδηα ησλ δεκνθηιέζηεξσλ social media όπσο ηνπ facebook θαη ηνπ twitter ζηνλ WYSIWYG editor θαη ζπλδένληαο ηα (links) κε ηηο επίζεκεο ηζηνζειίδεο ηνπο κεγαιώζακε ην εύξνο δπλαηνηήησλ ηνπ ηζηόηνπνπ καο. Μηα άιιε δπλαηόηεηα πνπ καο παξέρεη ην ζπγθεθξηκέλν πξόηππν ζρεδίαζεο είλαη όηη κπνξνύκε λα ρξεζηκνπνηήζνπκεησλ modules άξζξσλ ηα νπνία ζα εκθαλίδνληαη ζηα ζηνηρεία ηνπ αξρηθνύ menu παξέρνληαο έηζη ζηνλ ρξήζηε κεγαιύηεξν εύξνο πιεξνθνξίαο απν ην menu ην ίδην, όπσο γηα παξάδεηγκα,κε ηελ εηζαγσγή θάπνηαο εηθόλαο . Δηθόλα 59:Γεκηνπξγία Custom HTML Module 6.8 Πρόσθετα & Εφαρμογές που χρησιμοποιήθηκαν 6.8.1 Sigplus Image Gallery-plug in To Sigplus Image Gallery είλαη επέθηαζε ηύπνπ plug in θαη απηόκαηα δεκηνπξγεί γθαιεξί εηθόλσλ ηηο νπνίεο κπνξνύκε λα ηη δνύκε θαη ζε αλαδπόκελν θνπηί (pop up box). Γηα λα ιεηηνπξγήζεη ην ζπγθεθξηκέλν plug in θαη λα θηηάμνπκε κέζα ζην άξζξν θαη ζην ζεκείν πνπ ζέινπκε κηα γθαιεξί εηθόλσλ αξθεί λα ρξεζηκνπνηήζνπκε ηνλ θώδηθα {gallery} Folder Name {/gallery}. Σηο θσηνγξαθηέο πνπ αληηζηνηρνύλ ζε θάπνην άξζξν ηηο έρνπκε απνζεθεύζεη ζε έλα θάθειν π.ρ. MyGallery θαη απηόλ ηνλ ηνπνζεηνύκε ζην βαζηθό θάθειν πνπ ρξεζηκνπνηεί θαη είλαη ζηνλ Πανοσργιάς Εσάγγελος 1645 74 θαηάινγν images/. Δηθόλα 60:Sigplus Image Gallery-Γεκηνπξγία θώδηθα Aλάινγα κε ην πσο ζέιεη ν θαζέλαο λα παξακεηξνπνηήζεη ην plug in κπνξεί λα ην θάλεη κεζα από ηηο βαζηθέο ξπζκίζεηο πνπ βξίζθνληαη ζην Extentions → Plug in Manager θαη παηώληαο ζην αληίζηνηρν όλνκα απηνύ. Δθεί κπνξνύκε λα ξπζκίζνπκε ηνλ αξηζκό ησλ εηθόλσλ πνπ ζα πξνβάιεη ε γθαιεξί όπσο επίζεο ην ύςνο θαη ην πιάηνο ηεο θάζε εηθόλαο. Αθόκε ππάξρνπλ ξπζκίζεηο γηα ην template ηνπ plug in, ην ζηπι ηνπ pop up box (κε ρξήζε jQuery ή Mootools) αιιά θαη ην πσο ζα θαίλνληαη ηα θνπκπηά (Previous/Next).εκεηώλνπκε επίζεο πσο κπνξεί λα δεκηνπξγεζεί θαη μερσξηζηό module γηα ην πξνζζεην απηό ηνπνζεηώληαο ην ζε νπνηνδήπνηε ζέζε ζηνλ ηζηόηνπν καο. Δηθόλα 61:Sigplus Image Gallery-Απεηθόληζε Gallery ζε slider Σέινο, έρνπκε ηελ δπλαηόηεηα λα ην ρξεζηκνπνηήζνπκε θαη ζαλ slider ζην ίδην thumbnail γηα πεξηζζόηεξε θαιαηζζεζία ζην άξζξν (όπσο θαη πξαγκαηνπνηήζακε) ρσξίο βέβαηα λα ράλεη θάπνηεο από ηηο ηδηόηεηεο ηνπ. Πανοσργιάς Εσάγγελος 1645 75 Δηθόλα 62:Sigplus Image Gallery-Απεηθόληζε κε ρξήζε JQuery 6.8.2 JCE Editor Component Σν JCE είλαη έλαο πνιύ εύρξεζηνο θαη κε πνιιέο δπλαηόηεηεο επεμεξγαζηήο θεηκέλνπ πνπ πξνζνκνηάδεη ην πεξηβάιινλ ηνπ Microsoft Office. Ο δηαρεηξηζηήο κπνξεί πνιύ εύθνια λα επεμεξγαζηεί νπνηνδήπνηε θείκελν θαη λα ην ηξνπνπνηήζεη κε βάζεη ηηο ζρεδηαζηηθέο αλάγθεο ηνπ εθάζηνηε ηζηνηόπνπ. Πξνζέρνπκε πξώηα λα ηνλ ελεξγνπνηήζνπκε απν ην Global Configuration → Default Editor (απν default είλαη ν TinyMCE). Δηθόλα 63:JCE Editor Componen-Υξήζε ηνπ JCE editor ζε άξζξα 6.8.3 JSN ImageShow plug-in To JSN ImageShow είλαη έλα από ηα πην δεκνθηιή extention γηα επηδείμεηο θσηνγξαθίσλ γηα ην Joomla. Δίλαη θαηαζθεπαζκέλν θαηάιιεια γηα ηνπο πξνγξακκαηηζηέο, webmasters, θσηνγξάθνπο Πανοσργιάς Εσάγγελος 1645 76 θαη εθδόηεο γηα λα ηνπο βνεζήζεη λα δεκηνπξγήζνπλ πνιύ όκνξθα γθαιεξί εηθόλσλ ζηηο ηζηνζειίδεο ηνπ Joomla. Δίλαη ηζρπξό, εύθνιν ζηε ρξήζε θαη πινύζην ζε ραξαθηεξηζηηθά. Έρεη πνιύ θαιέο θξηηηθέο θαη ζπληζηάηαη ηδηαίηεξα από ηνπο ρξήζηεο. Μεξηθά απν ηα ραξαθηεξηζηηθά ηνπ είλαη ηα εμήο. Πολλαπλές Πηγές εικόνας Μπνξνύκε λα επηιέμνπκε ηηο επηζπκεηέο εηθόλεο απεπζείαο από δεκνθηιείο πεγέο όπσο ην Flickr, ην Picasa, ην Facebook. Instagram, θαη ImageShack, όπσο θαη από γθαιεξί ηνπ Joomla π.ρ. Phoca Gallery,JoomGallery,RSGallery. Πολλαπλές επιλογές Παροσσίασης Μπνξνύκε λα δνύκε ηελ γθαιεξί εηθόλσλ κέζσ ελόο ζηνρείνπ ηνπ κελνύ καο (component), ζε κηα ζέζε ελζέκαηνο (module) θαη κέζα ζε έλα άξζξν ( ζαλ plug-in). Δπίζεο, έρνπκε ηελ δπλαηόηεηα πνιιαπιώλ γθαιεξί ζε κία κόλν ζειίδα. Διατείριση Drag-n-Drop Γξήγνξε κεηαθνξά εηθόλαο κε ηελ ρξήζε Drag-n-Drop . Mobile Ready Καηαζθεπαζκέλν έηζη ώζηε λα δείρλνπλ θαιά νη θσηνγξαθίεο γηα iPhone, iPad, Android θαη Windows θηλεηά. Δηθόλα 64:JSN ImageShow -Aπεηθόληζε Slider Σν ζπγθεθξηκέλν plug-in ην επηιέμακε γηα ηελ δεκηνπξγία κηα όκνξθεο παξνπζίαζεο (slider) ζηνλ Πανοσργιάς Εσάγγελος 1645 77 ηζηόηνπν καο γηα ηελ επίδεημε ησλ όκνξθσλ πεξηνρώλ αλά ηελ Διιάδα όπσο θαη ησλ αλεθηίκεησλ αξραίσλ επξπκάησλ ηεο. Αθνύ εγθαηάζηεζακε ην ImageShow,δεκηνπξγήζακε δπν λέα έλζεκαηα (modules) ηνπνζεηώληαο ηα ζηελ θνξπθή ηεο θάζε ζειίδαο ελώ ηα παξακεηξνπνηήζακε αλάινγα κε ηηο πξνηηκήζεηο καο σο πξνο ηελ επηινγή εηθόλσλ ζε θάζε ζειίδα αιιά θαη ηνλ ηξόπν πνπ ζα εκθαλίδνληαη ζηελ ηειηθή ηνπο κνξθή (π.ρ . θαηάιιειν κέγεζνο παξνπζίαζεο,δηάθνξα εθέ, εηζαγσγή ζρνιίσλ θαη αξηζκό εηθόλαο θ.α.) Δηθόλα 65:JSN ImageShow -Γεκηνπξγία Image Gallery 6.8.4 Jcomments Component/Plug-in To Jcomment πξόθεηηαη γηα έλα plug in – component ην νπνίν επηηξέπεη ζηνπο επηζθέπηεο λα αθήλνπλ ζηελ ηζηνζειίδα ηα ζρόιηα ηνπο ζε θάζε δεκνζηεπκέλε ζειίδα. Παξέρεη έλα επέιηθην ζύζηεκα ξπζκίζεσλ ησλ δηθαησκάησλ πξόζβαζεο, έλα κεγάιν εύξνο δπλαηόηεησλ όζν αθνξά ηελ πξνβνιή ησλ ζρνιίσλ θ.α. ρξεζηκνπνηώληαο ηελ ηερλνινγία AJAX . Κάπνηα απν ηα θύξηα ραξαθηεξηζηηθά ηνπ είλαη ηα παξαθάησ: Δπηηξέπεη ηελ ελεξγνπνίεζε /απελεξγνπνίεζε ηνπ ζπζηήκαηνο ζρνιηώλ γηα θαηεγνξίεο πεξηερνκέλσλ ή ζπγθεθξηκέλνπ πεξηερνκέλνπ. Δπηηξέπεη απηόκαηα ηελ δεκνζίεπζε ζρνιίσλ γηα ηνπο εγγεγξακκέλνπο ρξήζηεο (ή νκάδα ρξεζηώλ). Ρύζκηζε ηεο επεμεξγαζίαο /δηαγξαθήο ησλ δηθαησκάησλ γηα ηηο νκάδεο εγγεγξακκέλσλ ρξεζηώλ. Spambots θαη flood πξνζηαζία. Δλεκέξσζε ηνπ δηαρεηξηζηή γηα λέα ζρόιηα . Δπηηξέπεη ζηνπο ρξήζηεο λα ελεκεξώλνληαη γηα λέα ζρόιηα . Γπλαηόηεηα γηα επεμεξγαζία ζρνιίσλ από ην front-end . Πανοσργιάς Εσάγγελος 1645 78 Τπνζηεξίδεη ην BBCode, RSS Feed Τπνζηεξίδεη ηελ θαηάζηαζε ζρνιίνπ "hot " γηα λα ζηείινπλ ηα ζρόιηα ή εηζάγoπκε εηηθέηεο BBCode . Με ηελ ρξήζε ηεο ηερλνινγίαο AJAX επηηξέπεη λα πξνζζέζνπκε,λα δηαγξάςνπκε θαη λα επεμεξγαζηενύκε ζρόιηα ρσξίο ηελ επαλαθόξησζε ηεο ζειίδαο . Φηιηξάξηζκα ιέμεσλ. Καη πνιιά άιια ρξήζηκα ραξαθηεξηζηηθά... Δηθόλα 66:JComments-Παξακεηξνπνίεζε Δκείο ζα ην ρξεζηκνπνηήζνπκε ην plug in απηό κόλν γηα λα ηελ δπλαηόηεηα θάπνηνπ ελδερόκελνπ ζρνιίνπ ζε θάπνηα απν ηα άξζξα είηε γηα ηελ όπνηα επηθνηλσλία πνπ ζέιεη λα θάλεη θάπνηνο ρξήζηεο κε ηνλ δηαρεηξηζηή ηνπ ηζηόηνπνπ απελεξγνπνηώληαο όια ηα ππόινηπα. Δηθόλα 67:JComments-Απεηθόληζε θόξκαο ζρνιίσλ Πανοσργιάς Εσάγγελος 1645 79 6.8.5 Akeeba Backup Δηθόλα 68:Λνγόηππν Akeeba Backup Σν Akeeba Backup Core είλαη κηα δσξεάλ επέθηαζε ηεο πιαηθόξκαο Joomla θαη πεξηέρεη όια ηα απαξαίηεηα ραξαθηεξηζηηθά γηα λα δεκηνπξγήζνπκε έλα πιήξεο αληίγξαθν αζθαιείαο, απνθαηάζηαζεο αιιά θαη κεηαθνξάο εμνινθιήξνπ ηεο ηζηνζειίδαο καο καδί κε ηα αξρεία θαη ηελ βάζε δεδνκέλσλ γηα ηζηνζειίδεο θαηαζθεπαζκέλεο ζηελ πιαηθόξκα Joomla . Σν Akeeba Backup Core ην νπνίν είλαη ε δσξεάλ έθδνζε ηεο επέθηαζεο παξέρεη ηηο παξαθάησ ιεηηνπξγίεο: Γεκηνπξγεί Backup όισλ ησλ αξρείσλ θαη ηεο βάζεο δεδνκέλσλ κε έλα θιηθ Script επαλαθνξάο ελζσκαησκέλν ζην αξρείν ηνπ backup Μεηαθξάζεηο ηνπ πεξηβάιινληνο ρξήζηε ζε πνιιέο γιώζζεο (πεξηιακβαλνκέλσλ θαη ησλ Διιεληθώλ) Απηόκαηε ηειεηνπνίεζε ηεο πξνζσπηθήο ζαο δηακόξθσζεο ώζηε λα ηαηξηάδνπλ ζηηο δπλαηόηεηεο ηνπ δηαθνκηζηή ζαο ACL: έιεγρν δηθαησκάησλ , γηα έιεγρν ηνπ επηπέδνπ επίδξαζεο πνπ δηαζέηεη θάζε ρξήζηεο ζην δηαρεηξηζηηθό ηνπ Akeeba Backup Πνιιαπινί ηύπνη αξρείσλ γηα ηελ δεκηνπξγία backup ζύκθσλα κε ηηο αλάγθεο ζαο( ZIP / JPA ) Βειηηζηνπνηεκέλε εμαγσγή ηεο βάζεο δεδνκέλσλ (Extend ed INSERTs) Front – end ιεηηνπξγία δεκηνπξγίαο αληηγξάθσλ αζθαιείαο πνπ επηηξέπεη πξνγξακκαηηζκό ( CRON ) αληηγξάθσλ αζθαιείαο θαη backup ρξεζηκνπνηώληαο PDA ή θηλεηό ηειέθσλν Πνιιαπιά πξνθίι αληηγξάθσλ αζθαιείαο Γηαρείξηζε ησλ αξρείσλ απνζήθεπζεο/ επαλαθνξάο Γπλαηόηεηα εμαίξεζεο απζαίξεησλ θαηαιόγσλ ,αξρείσλ ή πεξηερνκέλνπ ηνπ θαηαιόγνπ Γπλαηόηεηα εμαίξεζεο πηλάθσλ ηεο βάζεο δεδνκέλσλ ή πίλαθα πεξηερνκέλσλ κόλν Πανοσργιάς Εσάγγελος 1645 80 Αθνύ έρεη γίλεη ε εγθαηάζηαζε ηνπ κε ηνλ γλσζηό ηξόπν ησλ επεθηάζεσλ , πεγαίλνπκε ζηηο εθαξκνγέο θαη επηιεγνύκε Akeeba Backup θαη καο εκθαλίδεηε ν πίλαθαο ειέγρνπ ηνπ ζπγθεθξηκέλνπ component Δηθόλα 69:Akeeba Backup - Control Panel ηελ ζπλέρεηα, επηιέγνπκε Βack up now θαη μεθηλάκε έηζη ηελ δηαδηθαζία ηνπ αληηγξάθνπ ηεο βάζεο δεδνκέλσλ όπσο επίζεο θαη ησλ πεξηερνκέλσλ νιόθιεξνπ ηνπ back-end ηνπ ηζηόηνπνπ καο. Δηθόλα 70:Akeeba Backup – Oινθιήξσζε αληίγξαθνπ αζθαιείαο Μηα από ηηο ζεκαληηθόηεξεο δπλαηόηεηεο πνπ καο πξνζθέξεη ην πξόζζεην Akeeba Backup, πνπ αλαιύζακε πξνεγνπκέλσο, είλαη ε δπλαηόηεηα πιήξνπο απνζήθεπζεο ηεο ηζηνζειίδαο καο κε όια ηα αξρεία αιιά θαη ηελ βάζε δεδνκέλσλ, ζε έλα εληαίν αξρείν. Η ηζηνζειίδα καο εηνηκάζηεθε όπσο πξναλαθέξακε ζε ηνπηθό επίπεδν κε ηελ ρξήζε XAMPP θαη ζηελ ζπλέρεηα εθηειέζηεθε ην πξόζζεην Akeeba Backup ώζηε λα ιάβνπκε έλα αξρείν κε όιε ηελ ηζηνζειίδα καο. Σώξα κέλεη κε ηελ ρξήζε ηνπ script πνπ νλνκάδεηαη akeeba kickstart θαη ην εληαίν αξρείν καο λα κεηαθέξνπκε ηελ ζειίδα καο ζε δηαθνκηζηή πνπ είλαη ζπλδεδεκέλνο ζην δηαδίθηπν. 6.8.6 Akeeba Kickstart Σν akeeba kickstart δελ είλαη ηίπνηα άιιν παξά έλα αξρείν κε θαηάιεμε .php πνπ ελεξγνπνηεί ηα scripts πνπ βξίζθνληαη κέζα ζην αξρείν αζθαιείαο ( backup ) ηεο ζειίδαο καο. ην zip πνπ πεξηέρεη Πανοσργιάς Εσάγγελος 1645 81 ην αξρείν kickstart.php ζα παξαηεξήζνπκε όηη ππάξρνπλ θαη θάπνηα άιια αξρεία κνξθήο .ini πνπ δελ είλαη ηίπνηα άιιν παξά νη κεηαθξάζεηο ηνπ νδεγνύ επαλαθνξάο ηεο ζειίδαο καο. Γηα λα ρξεζηκνπνηήζνπκε ην Kickstart, δελ κέλεη παξά λα ην θαηεβάζνπκε από ηελ επίζεκε ηζηνζειίδα ηνπ: https://www.akeebabackup.com/products/akeeba-kickstart.html. Καηεβάδνπκε έλα αξρείν ZIP πνπ θαη θάλνπκε εμαγσγή. Μέζα ζε απηό βξίζθνπκε ην αξρείν kickstart.php θαη δηάθνξα αξρεία INI. Αξθεί λα αληηγξάςνπκε ην αξρείν PHP ζηνλ θπξίσο θάθειν πνπ ζέινπκε λα απνθαηαζηαζεί ην site. Γηα παξάδεηγκα, εάλ ζέινπκε λα επαλαθέξνπκε ζto ππνθαηάινγν πνπ νλνκάδεηαη Mysite ζηε ξίδα ηνπ XAMPP, ζα πξέπεη λα αληηγξάςνπκε ην αξρείν κέζα ζηνλ θάθειν C:\xampp\htdocs\Mysite . Σν ηειηθό βήκα πξηλ είκαζηε ζε ζέζε λα εμαγάγνπκε ην αξρείν, είλαη λα αληηγξάςνπκε ην αξρείν επαλαθνξάο ( backup ) ζηνλ ίδην θάθειν. Γηα λα μεθηλήζεη ε επαλαθνξά αξθεί λα θαιέζνπκε ζηνλ θπιινκεηξεηή καο ηελ παξαθάησ δηεύζπλζε localhost/mysite/kickstart.php Αθνινπζώληαο ηα 3 απιά βήκαηα ηνπ νδεγνύ εγθαηάζηαζεο, είκαζηε ζε ζέζε ζε κεξηθά ιεπηά λα επαλαθέξνπκε ηνλ ηζηόηνπν καο , ζηελ ίδηα αθξηβώο κνξθή πνπ ηνλ απνζεθεύζακε κε ην πξόζζεην Akeeba backup. Σν κόλν πνπ πξέπεη λα γλσξίδνπκε είλαη ηα ζηνηρεία ηεο βάζεο δεδνκέλσλ πνπ ζα πξέπεη λα έρνπκε πξνεηνηκάζεη από λσξίηεξα, θαη λα ηα εηζάγνπκε όηαλ δεηεζνύλ. Σν akeeba ζα κεηαθέξεη ζηε λέα βάζε δεδνκέλσλ όινπο ηνπο θαηαιόγνπο πνπ είραλ δεκηνπξγεζεί ζην ηνπηθό καο δηαθνκηζηή. 6.8.7 All Videos plug in Δηθόλα 71: Λνγόηππν All Videos plug in To All Videos πξόθεηηαη γηα έλα flash player πξόζζεην γηα ηελ αλαπαξαγσγή video είηε απν ηελ πξνζσπηθή καο ζπιινγή πνπ βξίζθεηαη ζηνλ ζθιεξό δίζθν καο είηε από απνκαθξπζκέλνπο ππνινγηζηέο (π.ρ. Youtube) .Μεηά ηελ επηηπρήο εγθαηάζηαζε ηνπ, θαηεπζπλόκαζηε ζην Plug in Manager γηα παξακεηξνπνηήζνπκε ην πξόζζεην απηό αθνύ καο δίλεη ηελ δπλαηόηεηα κηαο πιεζώξαο επηινγώλ όπσο ην πιάηνο θαη ύςνο ησλ video, ην ρξώκα ηνπ background, ηελ επηινγή Πανοσργιάς Εσάγγελος 1645 82 ηνπ template θ.α. ηελ δεύηεξε πεξίπησζε πνπ πξνηηκήζακε αξθεί λα πξνζζέζνπκε ζην άξζξν καο ην εμήο {youtube}VKU_mA7MQdg{/youtube} γηα λα δεκηνπξγεζεί ην παξαθάησ παξάδεηγκα πξνβνιήο video. Δηθόλα 72: Απεηθόληζε video ηνπ Youtube ζηνλ ηζηόηνπν 6.8.8 Kunena forum Με ηε εθαξκνγή Kunena forum ζα δεκηνπξγήζνπκε έλα λέν ζηνηρείν ηνπ κελνύ ηνπ ηζηόηνπνπ καο, έλα ρώξν ζπδεηήζεσλ θαη αληαιιαγήο απόςεσλ κεηαμύ ησλ κειώλ ηνπ, όπνπ ν θάζε εγγεγξακκέλνο ρξεζηήο ζα έρεη ηελ δπλαηόηεηα, είηε λα ζπκκεηέρεη ζε θάπνην ζέκα ζπδήηεζεο είηε λα πξνζζέζεη, θάπνην ηεο αξεζθείαο ηνπ, θάπνηα πνιηηηζηηθή εθδήισζε ή πξόηαζε γηα θάπνηνλ πξννξηζκό, πξνζθαιώληαο έηζη ηνπο ππνινίπνπο επηζθέπηεο ηνπ ηζηόηνπνπ ζε απηήλ. Δηθόλα 73: Kunena Forum- Control Panel Πανοσργιάς Εσάγγελος 1645 83 Από ηνλ Category Manager κπνξνύκε λα δηαρεηξηζηνύκε ηηο θαηεγνξίεο ζεκάησλ, απηέο πνπ δεκηνπξγήζακε εκείο είηεη απηέο πνπ έρεη ζαλ πξνεπηινγή ην Kunena forum. Οη θαηεγνξίεο ζην θόξνπκ καο βνεζάλε έηζη ώζηε λα νξγαλώζνπκε ηηο „‟ζπδεηήζεηο‟‟ ζε „‟νηθνγέλεηεο ζεκάησλ‟‟. Δηθόλα 74: Kunena Forum- Categoty Manager Έρνπκε ηελ δπλαηόηεηα λα ηηο ελεξγνπνηήζνπκε ή λα απελεξγνπνηήζνπκε, κε ηα θνπκπηά Publish θαη UnPublish αληίζηνηρα, λα ηηο επεμεξγαζηνύκε κε ην θνπκπί Edit, λα δεκηνπξγήζνπκε λέεο, κε ην θνπκπί New θαη ηέινο λα δηαγξάςνπκε όπνηα επηζπκνύκε κε ην θνπκπί Delete. ηα δεμηά θάζε θαηεγνξίαο ππάξρνπλ βαζηθέο πιεξνθνξίεο γηα ηελ θάζε κηα μερσξηζηά, όπσο ε ζηήιε ID, πνπ είλαη ν αλαγλσξηζηηθόο αξηζκόο ηεο „‟ηαπηόηεηαο‟‟ ηεο θάζε θαηεγνξίαο, νξίδεηαη κόλνο ηνπ θαηά ηελ δεκηνπξγία ηεο θαη είλαη ν αύμσλ αξηζκόο ηεο δηαζθαιίδνληαο έηζη ηελ κνλαδηθόηεηα ηεο. Η ζηήιε Locked πνπ καο δείρλεη εάλ ζα είλαη θιεηδσκέλε ή αλνηρηή πξνο ρξήζε ζηνπο επηζθέπηεο. Η επηινγή Moderated νπνύ καο δείρλεη αλ είλαη έηνηκε γηα δηακόξθσζε, Η ζηήιε Published όπνπ αλ ε θαηεγνξία καο ζα είλαη δεκνζηεπκέλε δειαδή ζα θαίλεηαη ζηνλ ρξεζηή ή όρη. Η επηινγή Order καο δείρλεη ηελ ζεηξά ηαμηλόκεζεο ησλ θαηεγνξηώλ. Σέινο ε ζηήιε Access, όπνπ καο ελεκεξώλεη γηα ην επίπεδν αζθαιείαο ηεο ζπγθεθξηκέλεο θαηεγνξίαο δειαδή εάλ κπνξνύλ λα ηελ δνπλ όινη νη ρξήζηεο νπνύ ζα πξέπεη λα public, κόλν νη εγγεγξακκέλνη όπνπ ζα πξέπεη λα είλαη registered, ή ηέινο κόλν νη εηδηθνί ρξήζηεο νπνύ ζα είλαη special. Όπνπ καο εκθαλίδνληαη ηέζζεξηο θαξηέιεο κε ξπζκίζεηο. ηελ θαξηέια Category Name & Description: Parent: Δδώ επηιεγνύκε ζε πνηα γνληθή θαηεγνξία ζα εληαρζεί ε θαηεγνξία καο. Name: Δδώ νξίδνπκε ην όλνκα ηεο θαηεγνξίαο καο. Δηθόλα 75: Kunena Forum- Aπεηθόληζε ζεκάησλ ηνπ Forum Description: Δδώ γξαθνύκε κηα ζύληνκε πεξηγξαθή ηνπ ζέκαηνο ηεο. Πανοσργιάς Εσάγγελος 1645 84 Category Header: Δδώ βάδνπκε ηελ επηθεθαιίδα πνπ επηζπκνύκε λα έρεη ε θαηεγνξία καο. ηελ θαξηέια Permissions: Access Control Type: Δδώ επηιέγνπκε πνηεο θαηεγνξίεο ρξεζηώλ ζα έρνπλ πξόζβαζε ζην ρώξν ησλ ζπδεηήζεσλ. Primary User Group: Δδώ επηιέγνπκε πνηεο νκάδεο ησλ εγγεγξακκέλσλ ρξεζηώλ ζα πξνεγνύληαη. ηελ θαξηέια Settings: Locked: Δδώ επηιεγνύκε εάλ ε θαηεγνξία καο είλαη θιεηδσκέλε ζην θνηλό ή όρη. Allow anonymous messages: Δδώ επηιεγνύκε εάλ ζηελ ζπγθεθξηκέλε θαηεγνξία δερόκαζηε λα κπνξνύλ λα πξνζηεζνύλ αλώλπκα κελύκαηα. 6.8.9 Google Maps by Reumers plug in Δηθόλα 76: Google Maps- Απεηθόληζε ράξηε ζηνλ ηζηόηνπν Η ζπγθεθξηκέλε επέθηαζε είλαη ηύπνπ plug In ην νπνίν ην ρξεζηκνπνηήζακε ζαλ έλα ζηνηρείν ηνπ αξρηθνύ κελνύ ην νπνίν παξνπζηάδεη ζε έλα άξζξν έλα ράξηε ηεο Google (Google maps) κε ην Πανοσργιάς Εσάγγελος 1645 85 αθξηβέο ζεκείν (pointer) ηεο ηνπνζεζίαο- πξννξηζκνύ πνπ ζέινπκε λα πξνηείλνπκε θάζε θνξά. To κόλν πνπ έρνπκε λα βάινπκε ην mosmap θώδηθα ζε νπνηνδήπνηε πεξηερόκελν (άξζξν,έλζεκα θιπ) ζην Joomla. Ο θώδηθαο είλαη σο εμήο: {mosmapwidth='650'|height='600'|lat='35.3333'|lon='25.1333'| zoom='3'|mapType='Satellite'|text='Ηξάιεην Κξήηεο, Ειιάδα' |tooltip='Ειιάο'|marker='1'| } Κάπνηα ραξαθηεξηζηηθά πνπ κπνξνύκε λα αιιάμνπκε είλαη : width-height :Σν πιάηνο θαη ην ύςνο lat- lon: Σηο ζπληεληαγκέλεο longitude θαη latitude (γεσγξαθηθό πιάηνο θαη κήθνο) zoom: Σν zoom πνπ κπνξνύκε λα θάλνπκε (0-19) mapType: Σν είδνο ηνπ ράξηε text : Πξόθεηηαη γηα ηνλ δείθηε πάλσ ζηνλ ράξηε κε ην ζρήκα ελόο κπαινληνύ ή δηαθνξεηηθά έλα ππεξζύλδεζκν ζε κηα άιιε ηνπνζεζία tooltip: Γηα ηελ εκθάληζε ελόο tooltip όηαλ ην πνληίθη δείρλεη πάλσ ζηνλ δείθηε marker: (0 ή1) Γηα ηελ εκθάληζε ηνπ θεηκέλνπ(Ηξάιεην Κξήηεο, Διιάδα) πάλσ ζηνλ δείθηε ηνπ ράξηε απν ηελ πξώηε ζηηγκή πινήγεζεο. Απηα ηα ραξαθηεξηζηηθά είλαη κόλν θάπνηα ειάρηζηα (κε ηε ρξήζε θώδηθα ή όρη) απν απηά πνπ κπνξνύκε λα παξακεηξνπνηήζνπκε ζπλνιηθά. Γηα πεξηζζόηεξα απιά κπνξνύκε λα κεηαβνύκε ζηo Plug In Manager → System Google Μaps όπνπ ππάξρνπλ νη ίδηεο θαη πάξα πνιιέο άιιεο ξπζκίζεηο ζε γξαθηθό πεξηβάιινλ αλάινγα ησλ πξνηηκήζεσλ καο. Δκείο επηπιένλ πξνζζέζακε zoom κε ηελ ρξήζε ηνπ πνληηθηνύ ή ηεο κπάξαο κεγέλζπζεο, ηελ επηινγή εκθάληζεο ηνπ ράξηε ζε pop up box, όπσο θαη ηελ εκθάληζε Panoramio θσηό πάλσ ζην ράξηε γηα ηελ επηινγή ηνπνζεζίαο απν ηνλ ρξήζηε. Πανοσργιάς Εσάγγελος 1645 86 Κεθάλαιο 7 7.1 Τετνικές επιθέζεφν ζε Web Εθαρμογές & η αζθαλή θφράκιζη ηοσ Joomla ιζηόηοποσ 7.2 Σεχνικές επιθέσεων 7.2.1 Cross-site scripting (XSS) Οη επηζέζεηο κέζσ Cross-site scripting (κεξηθέο θνξέο θαινύκελεο XSS) εκθαλίδνληαη όηαλ έλαο επηηηζέκελνο ρξεζηκνπνηεί κηα δηθηπαθή εθαξκνγή γηα λα ζηείιεη ηνλ θαθόβνπιν θώδηθα, ζην πεδίν ζπκπιήξσζεο ελόο script, ζε έλαλ δηαθνξεηηθό ρξήζηε. Απηέο νη δηαξξνέο αζθαιείαο είλαη αξθεηά δηαδεδνκέλεο θαη εκθαλίδνληαη νπνπδήπνηε κηα δηθηπαθή εθαξκνγή ρξεζηκνπνηεί ηελ είζνδν πνπ δίλεη έλαο ρξήζηεο ρσξίο λα ειέγμεη ηελ εγθπξόηεηά ηεο. Δηθόλα 77: ΥSS επίζεζε Έλαο επηηηζέκελνο κπνξεί λα ρξεζηκνπνηήζεη ην cross site scripting γηα λα ζηείιεη έλα θαθόβνπιν script ζε θάπνηνλ ρξήζηε. Ο browser ηνπ ρξήζηε δελ έρεη θαλέλαλ ηξόπν λα μέξεη όηη ην script δελ πξέπεη λα ηo εκπηζηεπζεί, θαη ζα ην εθηειέζεη. Δπεηδή ζθέθηεηαη όηη ην script πξνήιζε από κηα εκπηζηεπηηθή πεγή, ην θαθόβνπιν script κπνξεί λα έρεη πξόζβαζε ζε νπνηαδήπνηε cookies, ζηα session tokens, ή άιιεο επαίζζεηεο πιεξνθνξίεο πνπ απνζεθεύνληαη από ηνλ browser θαη πνπ ρξεζηκνπνηνύληαη ζε εθείλν ην site. Απηά ηα script κπνξνύλ αθόκε θαη λα μαλαγξάςνπλ ην πεξηερόκελν ηεο ζειίδαο HTML. Οη επηζέζεηο XSS κπνξνύλ γεληθά λα ηαμηλνκεζνύλ ζε δύν θαηεγνξίεο: ηηο stored θαη ζηηο reflected. Οη stored επηζέζεηο είλαη εθείλεο όπνπ ν injected θώδηθαο απνζεθεύεηαη κόληκα ζηνπο δηαθνκηζηέο πνπ απνηεινύλ ζηόρν, π.ρ. ζε κηα βάζε δεδνκέλσλ, ζε έλα θόξνπκ κελπκάησλ, έλα log file επηζθέςεσλ, έλαλ πεδίν γηα ζρόιηα, θιπ. Σν ζύκα αλαθηά έπεηηα ην θαθόβνπιν script από ηνλ δηαθνκηζηή όηαλ δεηά ηηο απνζεθεπκέλεο πιεξνθνξίεο. Πανοσργιάς Εσάγγελος 1645 87 Οη reflected επηζέζεηο είλαη εθείλεο όπνπ ν injected θώδηθαο απεηθνλίδεηαη από ηνλ web server, όπσο ζε έλα κήλπκα ιάζνπο, ην απνηέιεζκα αλαδήηεζεο, ή νπνηαδήπνηε άιιε απάληεζε πνπ πεξηιακβάλεη θάπνην κέξνο ή νιόθιεξε ηελ είζνδν πνπ ζηέιλεηαη ζηνλ δηαθνκηζηή σο ηκήκα ηνπ αηηήκαηνο. Οη reflected επηζέζεηο γίλνληαη ζηα ζύκαηα κέζσ κηαο άιιεο δηαδξνκήο, όπσο ζε έλα e-mail, ή ζε θάπνην άιιν server ηνπ δηθηύνπ. Όηαλ έλαο ρξήζηεο πέθηεη ζύκα απάηεο θάλνληαο θιηθ ζε θάπνην θαθόβνπιν link ή ππνβάιιεη ζηνηρεία ζε θάπνηα εηδηθά επεμεξγαζκέλε θόξκα, ν injected θώδηθαο πεξλάεη ζηνλ web server πνπ απνηειεί ζηόρν, ν νπνίνο ζηέιλεη ηελ επίζεζε πίζσ ζηνλ browser ηνπ ρξήζηε. Ο browser εθηειεί έπεηηα ηνλ θώδηθα επεηδή πηζηεύεη όηη πξνήιζε από έλαλ εκπηζηεπηηθό server. Δηθόλα 78: Απεηθόληζε επίζεζεο Cross-site scripting Η ζπλέπεηα κηαο επίζεζεο XSS είλαη ε ίδηα αλεμάξηεηα από εάλ πξόθεηηαη γηα stored ή reflected επίζεζε. Η δηαθνξά είλαη ζην πώο ε δεκηά πνπ πξνθαιείηαη θζάλεη ζηνλ δηαθνκηζηή. Σν XSS κπνξεί λα πξνθαιέζεη πνηθίια πξνβιήκαηα γηα ηνλ ρξήζηε πνπ θπκαίλνληαη από κηα απιή ελόριεζε έσο ην λα ράζεη ηνλ ίδην ηνλ ινγαξηαζκό ηνπ. Οη πην κεγάιεο επηζέζεηο XSS κπνξνύλ λα πξνθαιέζνπλ ηε δεκνζίεπζε ηνπ session cookie ηνπ ρξήζηε, πνπ επηηξέπεη ζε έλαλ επηηηζέκελν γηα λα θαηαιάβεη ηε ζύλδεζε ηνπ ρξήζηε θαη καδί κε απηή θαη ηνλ ινγαξηαζκό ηνπ. Άιιεο θαηαζηξεπηηθέο επηζέζεηο πεξηιακβάλνπλ ηελ δεκνζίεπζε ησλ αξρείσλ ησλ ρξεζηώλ, εγθαηάζηαζε Trojan horses, πνπ πεγαίλεη απηόκαηα ηνλ ρξήζηε ζε θάπνηα άιιε ζειίδα (redirect), ή πνπ ηξνπνπνηεί ην πεξηερόκελν ηνπ δηθηπαθνύ ηόπνπ. Μηα δηαξξνή αζθαιείαο, επάισηε ζε XSS, πνπ επηηξέπεη ζε έλαλ επηηηζέκελν λα ηξνπνπνηήζεη έλα δειηίν ηύπνπ ή θάπνην site κε εηδήζεηο ζα κπνξνύζε λα έρεη επηπηώζεηο ζηελ εηθόλα κηαο επηρείξεζεο θαη λα κεηώζεη ηελ εκπηζηνζύλε ησλ πειαηώλ ηεο ζε απηήλ. Μηα δηαξξνή αζθαιείαο, επάισηε ζε XSS, ζε κηα θαξκαθεπηηθή πεξηνρή ζα κπνξνύζε λα επηηξέςεη ζε έλαλ επηηηζέκελν λα ηξνπνπνηήζεη ηηο πιεξνθνξίεο ηεο δόζεο ηνπ Πανοσργιάς Εσάγγελος 1645 88 θαξκάθνπ κε ζπλέπεηα λα δνζεί ππεξβνιηθή δόζε ζε θάπνηνλ αζζελή. Οη επηηηζέκελνη ρξεζηκνπνηνύλ ζπρλά δηάθνξεο κεζόδνπο γηα λα θσδηθνπνηήζνπλ ην θαθόβνπιν ηκήκα ηνπ tag, όπσο ε ρξήζε Unicode, έηζη ώζηε ην αίηεκα λα θαίλεηαη ιηγόηεξν ύπνπην ζηνλ ρξήζηε. Τπάξρνπλ εθαηνληάδεο παξαιιαγέο απηώλ ησλ επηζέζεσλ, ζπκπεξηιακβαλνκέλσλ εθδόζεσλ απηώλ πνπ δελ απαηηνύλ ζύκβνια ηνπ ηύπνπ < >. Γηα απηόλ ηνλ ιόγν, ην λα πξνζπαζήζνπκε λα θηιηξάξνπκε απηά ηα scripts δελ ζεκαίλεη όηη ζίγνπξα ζα πεηύρεη ζαλ κέζνδνο. Αληί θάηη ηέηνηνπ πξνηείλνπκε λα ηζεθάξνπκε ηελ εγθπξόηεηα ηεο εηζόδνπ κε θάπνηα πνιύ απζηεξά θξηηήξηα πνπ ζρεηίδνληαη κε ην είδνο ηεο εηζόδνπ πνπ ζα έπξεπε λα αλακέλνπκε. Οη επηζέζεηο κε XSS παξνπζηάδνληαη ζπλερώο κε ηε κνξθή εκθσιεπκέλνπ JavaScript θώδηθα. Παξόια απηά, νπνηνδήπνηε ελζσκαησκέλν active content είλαη κηα πηζαλή πεγή θηλδύλνπ, πνπ πεξηιακβάλεη: ActiveX (OLE), VBscript, shockwave, Flash θαη πεξηζζόηεξα. Σα πξνβιήκαηα πνπ πξνθύπηνπλ από XSS επηζέζεηο κπνξνύλ επίζεο λα δεκηνπξγεζνύλ ζε web θαη application servers. Οη πεξηζζόηεξνη web θαη application servers παξάγνπλ απιέο ηζηνζειίδεο πνπ βγάδνπλ θάπνηα κελύκαηα ζηελ πεξίπησζε ιάζνπο, όπσο κηα ζειίδα 404 „page not found‟ ή έλα 500 „internal server error‟. Δάλ απηέο νη ζειίδεο πεξηέρνπλ νπνηεζδήπνηε πιεξνθνξίεο από ην αίηεκα ηνπ ρξήζηε, όπσο ην URL ζην νπνίν πξνζπαζνύζαλ λα έρνπλ πξόζβαζε, κπνξνύλ λα είλαη επάισηεο ζε κηα reflected επίζεζε XSS. Η πηζαλόηεηα θάπνην site λα είλαη επάισην ζε XSS είλαη εμαηξεηηθά πςειή. Τπάξρνπλ πνιινί ηξόπνη λα πξνζβιεζνύλ από ηέηνηεο επηζέζεηο δηθηπαθέο εθαξκνγέο ζηέιλνληάο ηνπο θαθόβνπια scripts. Οη πξνγξακκαηηζηέο, πξνζπαζώληαο λα θηιηξάξνπλ θαθόβνπια ηκήκαηα απηώλ ησλ αηηεκάησλ είλαη πνιύ πηζαλό λα αγλνήζνπλ άιιεο πηζαλέο επηζέζεηο ή θσδηθνπνηήζεηο. Η εύξεζε απηώλ ησλ δηαξξνώλ αζθαιείαο δελ είλαη παξά πνιύ δύζθνιε γηα ηνπο επηηηζεκέλνπο, θαζώο ην κόλν πνπ ρξεηάδνληαη είλαη έλαο browser θαη ιίγνο ρξόλνο. Δηθόλα 79: ηαηηζηηθά ηερληθώλ επηζέζεσλ ζε Web εθαξκνγέο Τπάξρνπλ πνιιά δσξεάλ εξγαιεία δηαζέζηκα ζην δίθηπν πνπ βνεζνύλ ηνπο επηηηζέκελνπο λα βξνπλ απηέο ηηο δηαξξνέο θαζώο επίζεο θαη ηνλ ηξόπν πξνζεθηηθά πνπ ζα κπνξέζνπλ λα θάλνπλ ηηο επηζέζεηο XSS ζε θάπνην site ζηόρν. Πσο λα δηαπηζηώζεηε αλ είζηε επάισηνο ζε ηέηνηεο επηζέζεηο Οη δηαξξνέο αζθαιείαο ιόγσ XSS κπνξνύλ λα είλαη δύζθνιν λα εληνπηζηνύλ θαη λα αθαηξεζνύλ από κηα δηθηπαθή εθαξκνγή. Ο θαιύηεξνο ηξόπνο λα βξεζνύλ είλαη λα δεκηνπξγεζεί κηα αλαθνξά αζθάιεηαο ηνπ θώδηθα θαη λα αλαδεηεζνύλ όιεο νη ζέζεηο όπνπ δίλεηαη είζνδνο από έλα HTTP Πανοσργιάς Εσάγγελος 1645 89 αίηεκα από ην νπνίν κπνξεί λα εμαρζεί έλα απνηέιεζκα ζε HTML. εκεηώζηε όηη δηάθνξα HTML tags κπνξνύλ λα ρξεζηκνπνηεζνύλ γηα λα πεξάζνπλ έλα θαθόβνπιν JavaScript. Σν Nessus, Nikto, θαη κεξηθά άιια δηαζέζηκα εξγαιεία κπνξνύλ λα βνεζήζνπλ ζηελ εμεξεύλεζε ελόο site γηα ηέηνηνπ είδνπο θελά αζθαιείαο αιιά κόλν ζε επηθαλεηαθό επίπεδν. Δάλ έλα ζεκείν ηνπ site είλαη ηξσηό, ππάξρεη πςειή πηζαλόηεηα όηη ππάξρνπλ θη άιια πξνβιήκαηα. 7.2.2 Η έγχυση SQL (SQL injections) Δηθόλα 80 Έγρπζε SQL Η έγρπζε SQL είλαη κηα ηδηαίηεξα δηαδεδνκέλε θαη επηθίλδπλε κνξθή injection. Γηα λα εθκεηαιιεπηεί κηα δηαξξνή αζθαιείαο κέζσ εγρύζεσλ SQL, ν επηηηζέκελνο πξέπεη λα βξεη κηα παξάκεηξν κέζσ ηεο νπνίαο ε δηθηπαθή εθαξκνγή πεξλά ζε κηα βάζε δεδνκέλσλ. Ο επηηηζέκελνο κπνξεί λα εμαπαηήζεη ηε δηθηπαθή εθαξκνγή ζηέιλνληαο κηα θαθόβνπιε εξώηεζε ζηε βάζε δεδνκέλσλ, ελζσκαηώλνληαο πξνζεθηηθά θαθόβνπιν θώδηθα ζε εληνιέο SQL, κέζα ζην πεξηερόκελν ηεο παξακέηξνπ. Απηέο νη επηζέζεηο δελ είλαη δύζθνιν λα γίλνπλ θαη πνιιά εξγαιεία έρνπλ ηε δπλαηόηεηα λα αληρλεύζνπλ δηθηπαθνύο ηόπνπο γηα ηέηνηνπ είδνπο πξνβιήκαηα. Οη ζπλέπεηεο είλαη ηδηαίηεξα θαηαζηξεπηηθέο, δεδνκέλνπ όηη έλαο επηηηζέκελνο κπνξεί λα ιάβεη, λα αιινηώζεη, ή λα θαηαζηξέςεη ην πεξηερόκελν βάζεσλ δεδνκέλσλ. Οη επηζέζεηο εγρύζεσλ πνιιέο θνξέο είλαη πνιύ εύθνιν λα αλαθαιπθζνύλ από θάπνηνλ επηηηζέκελν ν νπνίνο κπνξεί θαη λα ηηο εθκεηαιιεπηεί, αιιά κπνξνύλ επίζεο λα είλαη εμαηξεηηθά δύζθνιν λα βξεζνύλ. Οη ζπλέπεηεο κπνξεί επίζεο λα είλαη εμαηξεηηθά δξηκείεο (κέρξη ηνπ ζεκείν λα crashάξνπλ ην ζύζηεκα), ή αθόκε θαη αζήκαληεο. Δλ πάζε πεξηπηώζεη, ε ρξήζε ησλ εμσηεξηθώλ θιήζεσλ είλαη αξθεηά δηαδεδνκέλε, έηζη ε πηζαλόηεηα κηαο δηθηπαθήο εθαξκνγήο πνπ έρεη κηα ξσγκή εγρύζεσλ εληνιώλ πξέπεη λα ζεσξεζεί πςειή. Πσο λα ειέγμεηε αλ είζηε ηξσηνί ζε ηέηνηνπ είδνπο επηζέζεηο Ο θαιύηεξνο ηξόπνο λα εληνπίζνπκε εάλ είκαζηε ηξσηνί ζηηο επηζέζεηο εγρύζεσλ εληνιώλ είλαη λα ειέγμνπκε ηνλ πεγαίν θώδηθα γηα όιεο ηηο θιήζεηο ζηνπο εμσηεξηθνύο πόξνπο (πρ., system, exec, fork, Runtime.exec, εξσηήζεηο SQL, ή νπνηνζδήπνηε ζύληαμε είλαη ηθαλή λα ππνβάιεη αηηήκαηα ζηνλ δηεξκελέα ηνπ πεξηβάιινληνο). εκεηώζηε όηη πνιιέο γιώζζεο έρνπλ πνιινύο ηξόπνπο λα ηξέμνπλ εμσηεξηθέο εληνιέο. Οη πξνγξακκαηηζηέο πξέπεη λα ειέγρνπλ ηνλ θώδηθα θαη λα αλαδεηνύλ Πανοσργιάς Εσάγγελος 1645 90 όια ηα ζεκεία όπνπ ε είζνδνο από έλα HTTP αίηεκα κπνξεί πηζαλώο λα πεξάζεη κέζα ζε απηέο ηηο θιήζεηο. 7.2.3 Cross-Site Request Forgery (CSRF) Δηθόλα 81: Cross-Site Request Forgery επίζεζε Σν Cross-Site Request Forgery (CSRF) είλαη κηα επίζεζε πνπ αλαγθάδεη έλαλ ηειηθό ρξήζηε λα εθηειέζεη ηηο αλεπηζύκεηεο ελέξγεηεο ζε κηα δηαδηθηπαθή εθαξκνγή ζηελ νπνία έρεη πηζηνπνηεζεί ζαλ ρξήζηεο. Με ηε βνήζεηα απνζηνιήο link κέζσ κελπκάησλ e-mail θαη εθαξκνγώλ chat, έλαο εηζβνιέαο κπνξεί λα αλαγθάζεη ηνπο ρξήζηεο ηεο web εθαξκνγήο λα εθηειέζνπλ ελέξγεηεο πνπ επηιέγεη ν εηζβνιέαο. Μηα επηηπρεκέλε επίζεζε CSRF κπνξεί λα εθκεηαιιεπηεί ηα δεδνκέλα ηνπ ηειηθνύ ρξήζηε θαη ηε ιεηηνπξγία ζε πεξίπησζε θαλνληθήο ρξήζεο. Αλ ην ζύκα, ηειηθόο ρξήζηεο, είλαη ν δηαρεηξηζηήο, απηό κπνξεί λα ζέζεη ζε θίλδπλν όιε ηελ web εθαξκνγή.Αλαιπηηθόηεξα, είλαη κηα επίζεζε πνπ παγηδεύεη ην ζύκα λα θνξηώζεη κηα ζειίδα πνπ πεξηέρεη κηα θαθόβνπιε αίηεζε. Καθόβνπιε αίηεζε, ππό ηελ έλλνηα όηη θιεξνλνκεί ηελ ηαπηόηεηα θαη ηα πξνλόκηα ηνπ ζύκαηνο γηα λα εθηειέζεη κηα αλεπηζύκεηε ιεηηνπξγία γηα ινγαξηαζκό ηνπ ζύκαηνο, όπσο ε αιιαγή ηνπ e-mail ηνπ παξαιήπηε, ηεο δηεύζπλζεο θαηνηθίαο ή ηνπ θσδηθνύ πξόζβαζεο, ή εθηέιεζε άπνηαο αγνξάο. Δηθόλα 82: Απεηθόληζε επίζεζεο Cross-Site Request Forgery Οη επηζέζεηο CSRF γεληθά ζηνρεύνπλ ζε ιεηηνπξγίεο πνπ πξνθαινύλ αιιαγή ηεο θαηάζηαζεο ζηνλ server, αιιά κπνξεί επίζεο λα ρξεζηκνπνηεζνύλ γηα πξόζβαζε ζε επαίζζεηα δεδνκέλα.Γηα ηνπο πεξηζζόηεξεο ηζηνηόπνπο, νη browsers πεξηιακβάλνπλ απηόκαηα ηέηνηα αηηήκαηα θάζε εληνιήο πνπ ζρεηίδνληαη κε ηνλ ηζηόηνπν, όπσο cookie ζπλόδνπ ηνπ ρξήζηε, βαζηθά auth δηαπηζηεπηήξηα, δηεύζπλζε IP, δηαπηζηεπηήξηα Windows domain θιπ. Δπνκέλσο, αλ ν ρξήζηεο έρεη πηζηνπνηεζεί ζηνλ ηζηόηνπν, ν ηζηόηνπνο δελ ζα έρεη θαλέλα ηξόπν λα θάλεη δηάθξηζε αλάκεζα ζε απηά ηα αηηήκαηα θαη ην λόκηκν αίηεκα ηνπ ρξήζηε. Με ηνλ ηξόπν απηό, ν εηζβνιέαο κπνξεί λα θάλεη ην Πανοσργιάς Εσάγγελος 1645 91 ζύκα λα εθηειεί ελέξγεηεο πνπ δελ είρε ηελ πξόζεζε λα εθηειέζεη, όπσο ε απνζύλδεζε, αγνξά πξντόλησλ, αιιαγή ζηνηρείσλ ηνπ ινγαξηαζκνύ ηνπ, αλάθηεζε ζηνηρείσλ ηνπ ινγαξηαζκνύ ή νπνηαδήπνηε άιια θαζήθνληα πνπ πξνβιέπνληαη από ηνλ επάισην δηθηπαθό ηόπν.Μεξηθέο θνξέο, είλαη δπλαηό λα απνζεθεπηεί ε επίζεζε CSRF ζηνπο επάισηνπο δηθηπαθνύο ηόπνπο. Απηέο νη εππάζεηεο νλνκάδεηαη Stored CSRF flaws. Απηό κπνξεί λα επηηεπρζεί κε ηελ απιή απνζήθεπζε ελόο IMG ή IFRAME tag ζε έλα πεδίν πνπ δέρεηαη HTML ή από κία πην ζύλζεηε cross-site scripting επίζεζε. Αλ ε επίζεζε κπνξεί λα απνζεθεύζεη κηα επίζεζε CSRF ζηνλ ηζηόηνπν, ε ζνβαξόηεηα ηεο επίζεζεο είλαη απμεκέλε. Δηδηθόηεξα, ν θίλδπλνο απμάλεηαη, επεηδή ην ζύκα είλαη πην πηζαλό λα επηζθεθηεί ηε ζειίδα πνπ πεξηέρεη ηελ επίζεζε παξά λα επηζθεθηεί θάπνηα ηπραία ζειίδα ζην δηαδίθηπν. Η πηζαλόηεηα απηή εληζρύεηαη, επίζεο επεηδή ην ζύκα έρεη πηζηνπνηεζεί ζηνλ ηζηόηνπν ήδε.Η επίζεζε CSRF είλαη γλσζηή επίζεο από κηα ζεηξά νλνκάησλ όπσο XSRF, "Sea Surf", Session Riding, Cross-Site Reference Forgery, Hostile Linking. Η Microsoft αλαθέξεηαη ζε απηό ην είδνο ηεο επίζεζεο σο One-Click επίζεζε. 7.2.4 Άρνηση παροχής υπηρεσιών (Denial of Service) Οη δηθηπαθέο εθαξκνγέο είλαη ηδηαίηεξα εππαζείο ζε επηζέζεηο άξλεζεο παξνρήο ππεξεζηώλ. Μηα δηθηπαθή εθαξκνγή δελ κπνξεί εύθνια λα δηαθξίλεη ηε δηαθνξά κεηαμύ κηαο επίζεζεο θαη κηαο ζπλεζηζκέλεο θπθινθνξίαο δεδνκέλσλ. Τπάξρνπλ πνιινί παξάγνληεο πνπ ζπκβάιινπλ ζηελ δπζθνιία απηή, αιιά έλαο από ην ζεκαληηθόηεξνπο είλαη όηη, γηα δηάθνξνπο ιόγνπο, νη δηεπζύλζεηο IP δελ είλαη ρξήζηκεο σο πηζηνπνηεηηθό πξνζδηνξηζκνύ ηεο ηαπηόηεηαο ελόο ηεξκαηηθνύ. Δπεηδή δελ ππάξρεη θαλέλαο αμηόπηζηνο ηξόπνο λα δηαθξίλνπκε ηελ πεγή ελόο HTTP αηηήκαηνο, είλαη πνιύ δύζθνιν λα θηιηξαξηζηεί ε θπθινθνξία πνπ πεξηέρεη θαθόβνπιν θώδηθα θαη εληνιέο. Γηα έλα ζύλνιν επηζέζεσλ, πώο κηα εθαξκνγή ζα κπνξνύζε λα δηαθξίλεη ηε δηαθνξά κεηαμύ κηαο αιεζηλήο επίζεζεο, όηαλ πνιινί ρξήζηεο θάλνπλ ηαπηόρξνλα refresh (πξάγκα πνπ κπνξεί λα ζπκβεί εάλ ππάξμεη έλα πξνζσξηλό πξόβιεκα κε ην site); Δηθόλα 83: Απεηθόληζε επίζεζεο Ddos Attack (1) Οη πεξηζζόηεξνη web servers κπνξνύλ λα ρεηξηζηνύλ εθαηνληάδεο ηαπηόρξνλνπο ρξήζηεο πνπ θάλνπλ όκσο ινγηθή ρξήζε ηνπ site. Κάπνηνο επηηηζέκελνο κπνξεί λα πξνθαιέζεη αξθεηή θπθινθνξία από θάπνην ζπγθεθξηκέλν ζεκείν ηνπ δηαδηθηύνπ γηα λα πιεκκπξίζεη πνιιέο εθαξκνγέο. Η εμηζνξξόπεζε ηνπ θόξηνπ ηεο θίλεζεο κπνξεί λα δπζθνιέςεη ηελ επηηπρία ησλ επηζέζεσλ απηώλ, ρσξίο όκσο λα ηηο θαηαζηήζεη αδύλαηεο λα ζπκβνύλ, εηδηθά εάλ θάπνηεο ζπλδέζεηο είλαη άξξεθηα δεκέλεο κε θάπνην ζπγθεθξηκέλν δηαθνκηζηή. Πανοσργιάς Εσάγγελος 1645 92 Απηόο είλαη έλαο θαιόο ιόγνο λα θξνληίζνπκε ώζηε ηα ζηνηρεία ζπλδέζεσλ κηαο εθαξκνγήο λα είλαη όζν ην δπλαηόλ κηθξόηεξα ζε κέγεζνο θαη λα θξνληίζνπκε λα δπζθνιέςνπκε ηε δηαδηθαζία ζύλαςεο κηαο λέαο ζύλδεζεο . Μόιηο έλαο επηηηζέκελνο κπνξέζεη λα θαηαλαιώζεη όινπο ηνπο απαξαίηεηνπο πόξνπο, ηόηε πεηπραίλεη απηόκαηα θαη ηνλ απνθιεηζκό ησλ λόκηκσλ ρξεζηώλ ηνπ δηθηπαθνύ ηόπνπ από ην λα ηνλ ρξεζηκνπνηήζνπλ. Κάπνηνη πόξνη πνπ από ηε θύζε ηνπο είλαη πεξηνξηζκέλνη πεξηιακβάλνπλ ην εύξνο δώλεο, ην ζύλνιν ησλ ζπλδέζεσλ ζηε βάζε δεδνκέλσλ, ηνλ απνζεθεπηηθό ρώξν ζηνλ δίζθν, ηελ ρξήζε ηεο ΚΜΔ, ηε δηαζέζηκε κλήκε, ηα λήκαηα πνπ ηξέρνπλ, ή ηνπο ζπγθεθξηκέλνπο πόξνπο πνπ ε εθαξκνγή έρεη ζηε δηάζεζή ηεο γηα λα ρξεζηκνπνηήζεη. Όινη απηνί νη πόξνη κπνξνύλ λα θαηαλαισζνύλ από επηηηζέκελνπο πνπ ζηόρν έρνπλ ηελ εμάληιεζή ηνπο έηζη ώζηε λα κελ είλαη πιένλ ε ππεξεζία δηαζέζηκε. Πρ, έλα site πνπ επηηξέπεη ζε κε πηζηνπνηεκέλνπο ρξήζηεο λα δεηήζνπλ ηελ έλαλ πίλαθα κελπκάησλ ηεο θπθινθνξίαο, κπνξεί λα αξρίζεη πνιιέο δηαδνρηθέο εξσηήζεηο ζε θάπνηα βάζε δεδνκέλσλ γηα θάζε αίηεκα HTTP πνπ ιακβάλεη. Δηθόλα 84: Απεηθόληζε επίζεζεο Ddos Attack (2) Έλαο επηηηζέκελνο κπνξεί εύθνια λα ζηείιεη ηόζα πνιιά αηηήκαηα πνπ ν αξηζκόο ησλ ζπλδέζεσλ κε ηε βάζε δεδνκέλσλ λα γίλεη ηόζν κεγάινο πνπ δελ ζα επηηξέπεη πιένλ ζε θαλέλα πηζηνπνηεκέλν ρξήζηε λα θάλεη κηα εξώηεζε ζηε βάζε. Άιιεο παξαιιαγέο απηώλ ησλ ηύπσλ ησλ επηζέζεσλ ελαληίνλ ησλ πόξσλ ηνπ ζπζηήκαηνο κπνξεί λα αθνξνύλ θάπνηνλ ζπγθεθξηκέλν ρξήζηε. Πρ, έλαο επηηηζέκελνο κπνξεί λα είλαη ζε ζέζε λα θιεηδώζεη έμσ από ην ζύζηεκα έλαλ λόκηκν ρξήζηε κε ηελ απνζηνιή ησλ άθπξσλ πηζηνπνηεηηθώλ έσο όηνπ θιεηδώλεη θαηαθέξεη λα θιεηδώζεη ηνλ ινγαξηαζκό ηνπ εμαηηίαο ησλ ζπλερώλ απνηπρεκέλσλ πξνζπαζεηώλ login ζην ζύζηεκα. Ή ν επηηηζέκελνο κπνξεί λα δεηήζεη έλαλ λέν θσδηθό πξόζβαζεο γηα θάπνηνλ ρξήζηε, πξάγκα πνπ ηνλ Πανοσργιάς Εσάγγελος 1645 93 αλαγθάδεη λα έρεη πξόζβαζε ζε έλαλ ελαιιαθηηθό ινγαξηαζκό ειεθηξνληθνύ ηαρπδξνκείνπ γηα λα πάξεη ηνπο λένπο θσδηθνύο. Δλαιιαθηηθά, εάλ ην ζύζηεκα θιεηδώλεη όινπο ηνπο πόξνπο γηα έλαλ ζπγθεθξηκέλν ρξήζηε, θαηόπηλ έλαο επηηηζέκελνο ζα κπνξνύζε ελδερνκέλσο λα ηνπο θξαηήζεη έηζη ώζηε άιινη λα κελ κπνξνύλ λα ηνπο ρξεζηκνπνηήζνπλ. Μεξηθέο δηθηπαθέο εθαξκνγέο είλαη αθόκα θαη επαίζζεηεο ζηηο επηζέζεηο πνπ ζα ηηο βγάινπλ offline άκεζα. Οη εθαξκνγέο πνπ δελ ρεηξίδνληαη νξζά ηα ιάζε κπνξνύλ αθόκε θαη λα ξίμνπλ ην ζύζηεκα ζην νπνίν ηξέρεη ε δηθηπαθή εθαξκνγή. Απηέο νη επηζέζεηο είλαη ηδηαίηεξα θαηαζηξεπηηθέο επεηδή απνηξέπνπλ ακέζσο όινπο ηνπο άιινπο ρξήζηεο από ηε ρξήζε ηεο εθαξκνγήο. Τπάξρεη κηα επξεία πνηθηιία απηώλ ησλ επηζέζεσλ, νη πεξηζζόηεξεο από ηηο νπνίεο κπνξνύλ λα πξαγκαηνπνηεζνύλ εύθνια κε κεξηθέο γξακκέο θώδηθα perl από έλαλ ππνινγηζηή ρακειώλ δπλαηνηήησλ. Δλώ δελ ππάξρεη θακία ηέιεηα άκπλα ζε απηέο ηηο επηζέζεηο, κπνξνύκε λα πάξνπκε κέηξα ελαληίνλ ηνπ, θαζηζηώληαο όζν ην δπλαηόλ πην δύζθνιν ην έξγν ησλ επηηηζέκελσλ. 7.2.5 Παράνομη πιστοποίηση και διαχείριση των συνδέσεων (Broken Authentication and Session Management) Η πηζηνπνίεζε θαη ε δηαρείξηζε ησλ ζπλδέζεσλ πεξηιακβάλεη όιεο ηηο κνξθέο ρεηξηζκνύ πηζηνπνίεζεο ηνπ ρξήζηε θαη δηαρείξηζεο ελεξγώλ ζπλδέζεσλ.Η πηζηνπνίεζε είλαη κηα θξίζηκε πιεπξά απηήο ηεο δηαδηθαζίαο, αιιά αθόκε θαη αμηόπηζηνη κεραληζκνί Δηθόλα 85: BASM επίζεζεο πηζηνπνίεζεο είλαη δπλαηό λα ππνλνκεπζνύλ από ιεηηνπξγίεο δηαρείξηζεο πηζηνπνηεηηθώλ κε δηαξξνέο αζθάιεηαο, ζπκπεξηιακβαλνκέλεο ηεο password change, forgot my password, remember my password, account update, θαη άιισλ ζρεηηθώλ ιεηηνπξγηώλ. Δπεηδή νη επηζέζεηο “walk by” είλαη πηζαλέο γηα πνιιέο δηθηπαθέο εθαξκνγέο, όιεο νη ιεηηνπξγίεο δηαρείξηζεο ινγαξηαζκώλ ζα πξέπεη λα δεηνύλ επαλαπηζηνπνίεζε, αθόκε θαη αλ ν ρξήζηεο έρεη έγθπξν id ζύλδεζεο. Η πηζηνπνίεζε ρξήζηε ζην δηαδίθηπν εκπεξηέρεη ζπλήζσο ηε ρξήζε ελόο user id θαη password. Ιζρπξόηεξεο κέζνδνη πηζηνπνίεζεο είλαη δηαζέζηκεο ζην εκπόξην, όπσο θξππηνγξαθηθέο ζπζθεπέο ή βηνκεηξηθά ζηνηρεία βαζηζκέλα ζε software θαη hardware, αιιά ηέηνηνη κεραληζκνί είλαη απαγνξεπηηθνί ιόγσ θόζηνπο γηα ηηο πεξηζζόηεξεο δηθηπαθέο εθαξκνγέο. Έλα επξύ ζύλνιν δηαξξνώλ αζθάιεηαο ινγαξηαζκώλ θαη δηαρείξηζεο ζπλδέζεσλ κπνξεί λα έρεη σο απνηέιεζκα λα ηεζνύλ ζε θίλδπλν (ινγαξηαζκνί ρξεζηώλ ή δηαρείξηζεο ζπζηεκάησλ). Οη πξνγξακκαηηζηώλ ζπρλά ππνηηκνύλ ηελ πνιππινθόηεηα ηνπ ζρεδηαζκνύ ελόο ζρεδίνπ πηζηνπνίεζεο θαη δηαρείξηζεο ζπλδέζεσλ, ην νπνίν λα πξνζηαηεύεη επαξθώο ηα πηζηνπνηεηηθά ζε Πανοσργιάς Εσάγγελος 1645 94 όιεο ηηο εθθάλζεηο ηνπ site. Οη δηθηπαθέο εθαξκνγέο πξέπεη λα εγθαζηζηνύλ ζπλδέζεηο, ώζηε λα εληνπίδνπλ ην ξεύκα ησλ αηηεκάησλ από θάζε ρξήζηε. Σν HTTP δελ παξέρεη απηή ηε δπλαηόηεηα, έηζη νη δηθηπαθέο εθαξκνγέο πξέπεη λα ηε δεκηνπξγνύλ νη ίδηεο. πρλά, ην πεξηβάιινλ ησλ δηθηπαθώλ εθαξκνγώλ παξέρεη δπλαηόηεηα ζπλδέζεσλ, αιιά πνιινί πξνγξακκαηηζηέο πξνηηκνύλ λα δεκηνπξγνύλ ηηο δηθέο ηνπο ζπλδέζεηο από ηελ αξρή. ε θάζε πεξίπησζε, αλ νη ζπλδέζεηο δελ πξνζηαηεύνληαη επαξθώο, έλαο επηηηζέκελνο κπνξεί λα θάλεη πάξεη ηνλ έιεγρν κηαο ελεξγήο ζύλδεζεο θαη λα απνζπάζεη ην user id. Η δεκηνπξγία ελόο ζρεδίνπ ώζηε λα δεκηνπξγεζνύλ ηζρπξέο ζπλδέζεηο θαη λα πξνζηαηεπηνύλ θαηά ηε δηάξθεηα ηνπ θύθινπ δσήο ηνπο έρεη απνδεηρζεί απαηειή γηα πνιινύο πξνγξακκαηηζηέο. Δθηόο θαη αλ όια ηα πηζηνπνηεηηθά θαη νη ζπλδέζεηο πξνζηαηεύνληαη κε SSL ζπλερώο από ηελ απνθάιπςή ηνπο από άιιεο δηαξξνέο αζθάιεηαο, όπσο cross site scripting, έλαο επηηηζέκελνο κπνξεί λα θάλεη πεηξαηεία ζηηο ζπλδέζεηο ελόο ρξήζηε θαη λα απνζπάζεη ηελ ηαπηόηεηά ηνπο. Δηθόλα 86: Απεηθόληζε ζηαηηζηηθώλ ηώλ ζπρλόηεξσλ επηζέζεσλ ζε Joomla sites ηηο παξαθάησ ελόηεηεο αλαθεξόκαζηε ζηηο ηηο ελέξγεηεο πνπ κπνξνύλ λα γίλνπλ από ηνπο δηαρεηξηζηέο ηνπ δηαδηθηπαθνύ ηόπνπ θαη ηνπ server ώζηε λα απμεζεί ε αζθάιεηα θαη πξνζηαηεπζεί ην πεξηερόκελν ηνπ site. 7.3 Ασφάλεια Server Πανοσργιάς Εσάγγελος 1645 95 7.3.1 .htaccess Δηθόλα 87:Λνγόηππν .htaccess αξρείνπ Ο Apache web server επηηξέπεη ηελ παξακεηξνπνίεζε κηαο ηζηνζειίδαο ζε επίπεδν θαηαιόγνπ κέζσ ησλ αξρείσλ .htaccess. Οη ηνπηθέο .htaccess εληνιέο ζα πξέπεη λα εθηεινύληαη κέζα από ην αξρείν .htaccess ελώ ν ρξήζηεο ζα πξέπεη λα έρεη ηα θαηάιιεια δηθαηώκαηα γηα λα πξνζπειάζεη ή/θαη λα επεμεξγαζηεί ην αξρείν. Οη δπλαηόηεηεο ελόο ηέηνηνπ αξρείνπ είλαη πάξα πνιιέο όπσο εληνιέο γηα λα νξίζνπκε ηελ ώξα δώλεο ηνπ server, λα παξαθάκςνπκε ηνλ δηάινγν Download, ηελ παξάθακςε ηνπ WWW κπξνζηά απν ην όλνκα ηνπ site ,λα πξνζαξκόζνπκε εκείο ηηο ζειίδεο ζθάικάησλ, ζπκπίεζε αξρείσλ, δηαηήξεζε αιιά θαη απελεξγνπνίεζε επηζπκεηώλ αξρείσλ ζηελ cache θ.α. Δίλαη έηζη θαηαλνεηό όηη ε αζθάιεηα ηνπ είλαη πςειήο ζεκαζίαο. Η δηαδηθαζία είλαη πνιύ εύθνιε θαη κπνξνύκε λα δεκηνπξγήζνπκε/ηξνπνπνηήζνπκε ην αξρείν ρξεζηκνπνηώληαο έλαλ απιό text editor όπσο ην notepad ή textpad. Απνθπγή ησλ Hacks Αλ ζέινπκε λα βειηηώζνπκε ην επίπεδν αζθαιείαο ηνπ Web server , ρξεζηκνπνηνύκε ηηο αθόινπζεο γξακκέο θώδηθα πνπ κπινθάξνπλ θάπνηεο θνηλέο ηερληθέο επίζεζεο κε ηνλ εληνπηζκό εηδηθώλ εληνιώλ ζην URL RewriteEngine On # proc/self/environ; Με ηίπνηα! RewriteCond %{QUERY_STRING} proc/self/environ [OR] # Απνθιεηζκόο θάζε ζελαξίνπ πνπ πξνζπαζεί λα νξίζεη ηηκή ζην mosConfig κέζσ θάπνηνπ URL RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR] # Απνθιεηζκόο θάζε ζελαξίνπ πνπ πξνζπαζεί λα παξαβηάζεη ην site κε απνζηνιή θσδηθνπνηεκέλσλ εληνιώλ se Πανοσργιάς Εσάγγελος 1645 96 base64_encode κέζσ URL RewriteCond %{QUERY_STRING} base64_encode.*(.*) [OR] # Απνθιεηζκόο θάζε ζελαξίνπ πνπ πεξηέρεη ηελ εηηθέηα <script> ζην URL RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR] # Απνθιεηζκόο θάζε ζελαξίνπ πνπ πξνζπαζεί λα αιιάμεη ηηο κεηαβιεηέο PHP GLOBALS κέζσ θάπνηνπ URL RewriteCond %{QUERY_STRING} GLOBALS(=|[|\%[0-9A-Z]{0,2}) [OR] # Απνθιεηζκόο θάζε ζελαξίνπ πνπ πξνζπαζεί λα αιιάμεη ηηο κεηαβιεηέο _REQUEST κέζσ θάπνηνπ URL RewriteCond %{QUERY_STRING} _REQUEST(=|[|\%[0-9A-Z]{0,2}) # Αλά-θαηεύζπλζε θάζε απνθιεηζκέλεο αίηεζεο ζηελ αξρηθή ζειίδα κε θσδηθό ζθάικαηνο 403 RewriteRule ^(.*)$ index.php [F,L] Πξνζηαζία ηνπ αξρείνπ .htaccess Ο θώδηθαο πνπ αθνινπζεί ζα απαγνξεύζεη ηελ πξόζβαζε ζην αξρείν .htaccess # Απνθιεηζκόο πξόζβαζεο ζην htaccess <Files .htaccess> order allow,deny deny from all </Files> # Απνθιεηζκόο πξόζβαζεο ζε ζπγθεθξηκέλν αξρείν <Files secretfile.jpg> order allow,deny deny from all </Files> # Απνθιεηζκόο πνιιαπιώλ ηύπσλ αξρείσλ <FilesMatch ".(htaccess|htpasswd|ini|phps|fla|psd|log|sh)$"> Order Allow,Deny Deny from all </FilesMatch> Αιιάγε ζην όλνκα ηνπ .htaccess Αθόκα έλαο ηξόπνο γηα λα πξνζηαηεύνπκε ην htaccess καο από ηελ πξόζβαζε ηξίησλ είλαη ε κεηνλνκαζία ηνπ ζε θάηη άιιν. AccessFileName htacce.ss Πανοσργιάς Εσάγγελος 1645 97 Απελεξγνπνίεζε ηεο πινήγεζεο ζην ζύζηεκα αξρείσλ ηνπ web server Να δηαθόςνπκε ή επηηξέςνπκε ηελ πινήγεζε ζην ζύζηεκα αξρείσλ ηνπ web server καο κε ηνλ αθόινπζν θώδηθα. # Απαγόξεπζε πεξηήγεζεο ζηνπο θαηαιόγνπο Options All -Indexes # Γηθαίσκα πεξηήγεζεο ζηνπο θαηαιόγνπο Options All +Indexes Αιιαγή ηεο πξνεπηιεγκέλεο index ζειίδαο Αλ ζέινπκε κπνξνύκε λα αιιάμνπκε ηελ πξνεπηιεγκέλε ζειίδα index.html ή index.php ζε όηη άιιν ζέινπκε εκείο. DirectoryIndex business.html Απαγόξεπζε πξόζβαζεο ζε θίλεζε από ζπγθεθξηκέλν web site # Απνθιεηζκόο επηζθεπηώλ πνπ έξρνληαη από ζπγθεθξηκέλν web site <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_REFERER} scumbag.com [NC,OR] RewriteCond %{HTTP_REFERER} wormhole.com [NC,OR] RewriteRule .* - [F] </ifModule> Απαγόξεπζε πξόζβαζεο ζε ζπγθεθξηκέλνπο User-Agent Απηόο ν θώδηθαο κπνξεί λα καο εμνηθνλνκήζεη bandwidth απαγνξεύνληαο ηελ πξόζβαζε ζε bots ή spiders πνπ ζαξώλνπλ ηε ζειίδα καο θαη δελ ηα ζέινπκε. # Απνθιεηζκόο ζπγθεθξηκέλσλ User-Agent <IfModule mod_rewrite.c> SetEnvIfNoCase ^User-Agent$ .*(craftbot|download|extract|stripper|sucker|ninja|clshttp|webspider|leacher|collector|grabber|webpictures) HTTP_SAFE_BADBOT SetEnvIfNoCase ^User-Agent$ .*(libwww-perl|aesop_com_spiderman) HTTP_SAFE_BADBOT Deny from env=HTTP_SAFE_BADBOT </ifModule> Πξνζηαζία θαηαιόγσλ κε απαγόξεπζε εθηέιεζεο ζελαξίσλ AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi Options -ExecCGI Πανοσργιάς Εσάγγελος 1645 98 7.3.2 Magic Quotes Off Όηαλ απηή ε επηινγή είλαη ελεξγνπνηεκέλε ζηηο ξπζκίζεηο ηεο PHP ζηνλ server, ηόηε ππάξρεη απμεκέλν ξίζθν θαθόβνπισλ επηζέζεσλ ζηελ επηζέζεσλ ζηελ SQL (SQL injection). H έθδνζε Joomla 3.0 θαη πάλσ ζε ζρέζε κε ηηο πξνεγνύκελεο απαηηνύλ ηελ απελεξγνπνηήζε ηνπ Magic Quotes αιιίσο δελ εγθαζίζηαηαη. 7.3.3 Δικαιώματα Διαχειριστή MySQL Ιδηαίηεξε πξνζνρή πξέπεη λα δνζεί ζηα δηθαηώκαηα ηνπ δηαρεηξηζηή ζηελ MySQL θαηά ηελ δεκηνπξγία ηνπ. Μεγάιε πξνζνρή πξέπεη λα δνζεί ζηελ επηινγή ελόο δπλαηνύ θσδηθνύ πξόζβαζεο γηα ηνλ δηαρεηξηζηή ηεο βάζεο αιιά θαη ηα δηθαηώκαηα πνπ ζα έρεη ν δηαρεηξηζηήο. 7.3.4 Ρυθμίσεις PHP Η πην πξόζθαηε έθδνζε ηεο PHP πξνζθέξεη δηάθνξεο δπλαηόηεηεο αζθάιηζεο ηνπ ηζηνηόπνπ θαη ησλ αξρείσλ. Οη ξπζκίζεηο ηεο PHP είλαη δηαζέζηκεο γηα αιιαγή ζην αξρείν php.ini (ε πξόζβαζε ζην αξρείν απηό εμαξηάηαη από ηελ εηαηξεία πνπ πξνζθέξεη ηνλ ρώξν ζην server. ) Γύν είλαη ε πην δηαδεδνκέλεο ζπκβνπιέο γηα ηελ αζθάιηζε ηνπ joomla site καο. Απελεξγνπνίεζε ηεο PHP safe mode safe_mode = 0 Απελεξγνπνίεζε PHP register_globals register_globals = 0 7.4 Ασφάλιση Joomla πριν και μετά την εγκατάσταση Δίλαη πάληα θαιό λα εγθαζηζηνύκε ηελ ηειεπηαία έθδνζε ην Joomla, έρνληαο έηζη απμεκέλε πξνζηαζία ζην ζύζηεκα καο. Η επηινγή βέβαηα ηεο έθδνζεο πνπ ζα επηιέμνπκε, εμαξηάηαη άκεζα από ηα δηάθνξα components θαη extensions πνπ ζα ρξεζηκνπνηήζνπκε θαη ηελ ζπκβαηόηεηα ηνπο κε ηελ ελ ιόγσ έθδνζε ηνπ Joomla. Πανοσργιάς Εσάγγελος 1645 99 Δπίζεο πξνηείλεηαη λα ειέγρνπκε ηαθηηθά γηα ηηο ηειεπηαίεο εθδόζεηο ηνπ Joomla θαη ησλ plug-ins πνπ ρξεζηκνπνηνύκε θαη λα πξνρσξάκε ζε εγθαηάζηαζε απηώλ όηαλ είλαη δηαζέζηκεο. 7.4.1 Αλλαγή του ονόματος χρήστη για τον διαχειριστή Η αιιαγή ηνπ νλόκαηνο ρξήζηε (username) γηα ηνλ ινγαξηαζκό ηνπ δηαρεηξηζηή, από ην αξρηθό “admin” ζε θάηη άιιν, απμάλεη ηελ πξνζηαζία ζηνλ ηζηόηνπν καο. Δπίζεο, πξνηείλεηαη ε δεκηνπξγία δεύηεξνπ ινγαξηαζκνύ δηαρεηξηζηή θαη ε δηαγξαθή ηνπ αξρηθνύ, πξνζηαηεύνληαο έηζη από απηνκαηνπνηεκέλεο απεηιέο πνπ ζηνρεύνπλ ζην αξρηθό id ηνπ ινγαξηαζκνύ ζηελ βάζε MySQL. 7.4.2 Προστασία φακέλων και αρχείων Γηα θαιύηεξε πξνζηαζία ηνπ δηαδηθηπαθνύ ηόπνπ θαη ηνπ πεξηερνκέλνπ απηνύ, είλαη αλαγθαία ε αιιαγή ησλ δηθαησκάησλ ζε αξρεία θαη θαθέινπο πνπ ρξεζηκνπνηεί ην Joomla site καο. Οη θάθεινη πνπ ρξεζηκνπνηνύληαη γηα εγγξαθή ή θαη αλάγλσζε αξρείσλ πξέπεη λα έρνπλ ηα αληίζηνηρα δηθαηώκαηα. - 755 γηα εγγξαθή θαη αλάγλσζε - 644 γηα αλάγλσζε κόλν ε αξρεία όπσο ην configuration.php ζην Joomla πνπ πεξηέρεη επαίζζεηα δεδνκέλα γηα ηελ ιεηηνπξγία ηνπ site πξέπεη λα είλαη πξνζηαηεπκέλν (κόλν αλάγλσζε, 444) ή θαη λα κεηαθεξζεί εθηόο ηνπ αξρηθνύ θαθέινπ πνπ ην πεξηέρεη. 7.4.3 Προστασία αρχείου configuration.php Έλαο από ηνπο ηξόπνπο βειηίσζεο ηεο αζθάιεηαο ελόο δηθηπαθνύ ηόπνπ είλαη ε πξνζηαζία από ηελ απεπζείαο πξόζβαζε ζπγθεθξηκέλσλ αξρείσλ php πνπ βξίζθνληαη ζηνλ θαηάινγν public_html θαη πεξηέρνπλ εθηειέζηκν θώδηθα ή ζεκαληηθά δεδνκέλα, όπσο θσδηθνύο πξόζβαζεο. Τπάξρνπλ δηάθνξνη ηξόπνη γηα λα πεηύρνπκε θάηη ηέηνην. Απινύζηεξνο θαη αζθαιέζηεξνο ζεσξείηαη λα κελ απνζεθεύνληαη θξίζηκα δεδνκέλα κέζα ζηνλ θαηάινγν public_html. ην θείκελν πνπ αθνινπζεί, πξνζηαηεύνπκε ην αξρείν configuration.php, πνπ είλαη ην πην ζεκαληηθό (γηα ηνλ ηνκέα ηεο αζθάιεηαο) αξρείν γηα έλα Joomla site. Πανοσργιάς Εσάγγελος 1645 100 1. Μεηαθηλείζηε ην αξρείν configuration.php ζε έλα αζθαιή θαηάινγν, έμσ από ηνλ public_html θαη νλνκάζηε ην, όπσο εζείο ζέιεηε. ην παξάδεηγκα ρξεζηκνπνηείηαη ην όλνκα joomla.conf. 2. Γεκηνπξγείζηε έλα λέν αξρείν configuration.php πνπ ζα πεξηέρεη ηνλ παξαθάησ θώδηθα: <?php require( dirname( __FILE__ ) . '/../joomla.conf' ); ?> 3. ηγνπξεπηείηε όηη ην λέν configuration.php δελ είλαη ζε θακία πεξίπησζε εγγξάςηκν (444), θαη δελ ζα αιιάμεη ην πεξηερόκελό ηνπ από ην com_config. 4. Δάλ ρξεηαζηεί λα αιιάμεηε θάπνηα από ηηο ξπζκίζεηο, ηηο αιιάμεηε κε ην ρέξη ζην αξρείν joomla.conf. εκείσζε: Υξεζηκνπνηώληαο ηε κέζνδν απηή, αθόκα θαη αλ γηα θάπνην ιόγν ν Web server κεηαδώζεη ηα πεξηερόκελα αξρείσλ php, ιόγσ θάπνηαο ιαλζαζκέλεο ξύζκηζεο, θαλείο δελ ζα κπνξεί λα δεη ηα πεξηερόκελα ηνπ πξαγκαηηθνύ αξρείνπ configuration.php. 7.4.4 Βάση MySQL Καηά ηελ εγθαηάζηαζε ηνπ Joomla, ζηελ ζειίδα «Ρπζκίζεηο Βάζεο Γεδνκέλσλ», πξνηείλεηαη ε αιιαγή ηνπ πξνζέκαηνο (jos_) γηα ηνπο πίλαθεο ηεο βάζεο δεδνκέλσλ ζε θάηη δηαθνξεηηθό, απμάλνληαο έηζη ηελ πξνζηαζία γηα ηνλ ηζηόηνπν καο. 7.4.5 Διαχείριση Joomla ε θάζε πεξίπησζε πξνηείλεηαη ε θσδηθνί γηα ηνπο ρξήζηεο/δηαρεηξηζηέο ηνπ Joomla site λα είλαη ζσζηά επηιεγκέλνη θαη λα πεξηέρνπλ αιθαξηζκεηηθνύο ραξαθηήξεο θαη ζύκβνια. 7.4.6 Αντίγραφα ασφαλείας Η δεκηνπξγία αληηγξάθσλ αζθαιείαο (backup) θαη ε ηαθηηθή ελεκέξσζε απηώλ, θξίλεηαη Πανοσργιάς Εσάγγελος 1645 101 απαξαίηεηε. Πξηλ ηελ εγθαηάζηαζε επεθηάζεσλ ζεσξείηαη ζσζηό ε δεκηνπξγία αληηγξάθσλ αζθαιείαο γηα ηελ απνθπγή πξνβιεκάησλ. ε πεξίπησζε θαθόβνπιεο επίζεζεο ή εγθαηάζηαζεο πξνβιεκαηηθήο επέθηαζεο, κπνξνύκε λα επαλαθέξνπκε ην site καο ρξεζηκνπνηώληαο ηα δηαζέζηκα αληίγξαθα αζθαιείαο. 7.4.7 Αναβάθμιση της έκδοσης joomla και των extensions Θα πξέπεη πάληα λα έρεηε ηελ ηειεπηαία έθδνζε ηνπ joomla. Πνιιέο από ηηο αλαβαζκίζεηο είλαη γηα ιόγνπο αζθαιείαο. Αλαβάζκηζε ησλ extension είλαη επίζεο ζεκαληηθό θαη θπξίσο ηνπ editor αθνπ έρεη παξαηεξεζεί όηη νη πεξηζζόηεξεο επηζέζεηο μεθηλάλε κε 'ηξύπεο' ζηνλ editor. 7.4.8 Χρησιμοποιήση πρόσθετων ασφαλείας του Joomla Η ρξεζηκνπνηήζε ησλ πξόζζεησλ αζθαιείαο π.ρ Firewall είλαη έλαο άιινο εύθνινο ηξόπνο γηα βειηηώζνπκε ηελ αζθάιεηα ηνπ Joomla ηζηόηνπνπ καο κε πην δεκνθηιή ηα παξaθάησ plug ins jHackGuard Akeeba Admin Tools jomDefender jSecure Πανοσργιάς Εσάγγελος 1645 102 Δηθόλα 88: Λνγόηππν Secure Socket Layer 7.5 HTTPs & SSL Δηδηθά ζε πεξηπηώζεηο εηζαγσγήο επαίζζεησλ δεδνκέλσλ όπσο αξηζκώλ πηζησηηθώλ θαξηώλ θιπ., πξνηείλεηαη ε ρξήζε ηνπ πξσηνθόιινπ αζθαιώλ ζπλδέζεσλ HTTPS θαη πηζηνπνηεηηθώλ αζθαιείαο SSL. Σν HTTPS(Secure HTTP) ρξεζηκνπνηείηαη ζηελ επηζηήκε ππνινγηζηώλ γηα λα δειώζεη κία αζθαιή http ζύλδεζε. Έλαο ζύλδεζκνο (URL) πνπ αξρίδεη κε ην πξόζεκα https ππνδειώλεη όηη ζα ρξεζηκνπνηεζεί θαλνληθά ην πξσηόθνιιν HTTP, αιιά ε ζύλδεζε ζα γίλεη ζε δηαθνξεηηθή πόξηα (443 αληί 80) θαη ηα δεδνκέλα ζα αληαιιάζζνληαη θξππηνγξαθεκέλα. Σν ζύζηεκα απηό ζρεδηάζηεθε αξρηθά από ηελ εηαηξία Netscape Communications Corporation γηα λα ρξεζηκνπνηεζεί ζε sites όπνπ απαηηείηαη απζεληηθνπνίεζε ρξεζηώλ θαη θξππηνγξαθεκέλε επηθνηλσλία. ήκεξα ρξεζηκνπνηείηαη επξέσο ζην δηαδίθηπν όπνπ ρξεηάδεηαη απμεκέλε αζθάιεηα δηόηη δηαθηλνύληαη επαίζζεηεο πιεξνθνξίεο (πρ αξηζκνί πηζησηηθώλ θαξηώλ, passwords θνθ). Σν HTTPS δελ είλαη μερσξηζηό πξσηόθνιιν όπσο κεξηθνί λνκίδνπλ, αιιά αλαθέξεηαη ζηνλ ζπλδπαζκό ηνπ απινύ HTTP πξσηνθόιινπ θαη ησλ δπλαηνηήησλ θξππηνγξάθεζεο πνπ παξέρεη ην πξσηόθνιιν Secure Sockets Layer (SSL). Η θξππηνγξάθεζε πνπ ρξεζηκνπνηείηαη δηαζθαιίδεη όηη ηα θξππηνγξαθεκέλα δεδνκέλα δελ ζα κπνξνύλ λα ππνθιαπνύλ από άιινπο θαθόβνπινπο ρξήζηεο ή από επηζέζεηο man-inthe- middle. Γηα λα ρξεζηκνπνηεζεί ην HTTPS ζε έλαλ server, ζα πξέπεη ν δηαρεηξηζηήο ηνπ λα εθδώζεη έλα πηζηνπνηεηηθό δεκνζίνπ θιεηδηνύ. ε servers πνπ ρξεζηκνπνηνύλ ην ιεηηνπξγηθό ζύζηεκα UNIX απηό κπνξεί λα γίλεη κέζσ ηνπ πξνγξάκκαηνο OpenSSL.ηε ζπλέρεηα ην πηζηνπνηεηηθό απηό ζα πξέπεη λα ππνγξαθεί από κία αξρή πηζηνπνίεζεο (certificate authority), ε νπνία πηζηνπνηεί όηη ν εθδόηεο ηνπ πηζηνπνηεηηθνύ είλαη λνκόηππνο θαη όηη ην πηζηνπνηεηηθό είλαη έγθπξν. Με ηνλ ηξόπν απηό νη ρξήζηεο κπνξνύλ λα δνπλ ηελ ππνγξαθή ηεο αξρήο πηζηνπνίεζεο θαη λα βεβαησζνύλ όηη ην πηζηνπνηεηηθό είλαη έγθπξν θαη όηη θαλέλαο θαθόβνπινο ρξήζηεο δελ ην έρεη πιαζηνγξαθήζεη. Όπσο αλαθέξζεθε πξνεγνπκέλσο, ην HTTPS ρξεζηκνπνηείηαη θπξίσο όηαλ απαηηείηαη κεηαθνξά επαίζζεησλ πξνζσπηθώλ δεδνκέλσλ. Σν επίπεδν πξνζηαζίαο ησλ δεδνκέλσλ εμαξηάηαη από ην πόζν ζσζηά έρεη εθαξκνζηεί ε δηαδηθαζία αζθάιεηαο πνπ πεξηγξάθεθε ζηελ πξνεγνύκελε ελόηεηα Πανοσργιάς Εσάγγελος 1645 103 θαη από ην πόζν ηζρπξνί είλαη νη αιγόξηζκνη θξππηνγξάθεζεο πνπ ρξεζηκνπνηνύληαη. Πνιινί ρξήζηεο πηζησηηθώλ θαξηώλ ζεσξνύλ όηη ην HTTPS πξνζηαηεύεη νινθιεξσηηθά ηνλ αξηζκό ηεο πηζησηηθήο ηνπο θάξηαο από θαηάρξεζε. Απηό όκσο δελ ηζρύεη: Σν HTTPS ρξεζηκνπνηεί ηελ θξππηνγξάθεζε γηα λα κεηαδώζεη ηνλ αξηζκό από ηνλ ππνινγηζηή ηνπ πειάηε πξνο ηνλ server. Η κεηάδνζε είλαη αζθαιήο θαη ηα δεδνκέλα θηάλνπλ ζηνλ server ρσξίο θαλείο λα κπνξέζεη λα ηα ππνθιέςεη. Παξόια απηά ππάξρεη ην ελδερόκελν δηάθνξνη ράθεξ λα έρνπλ επηηεζεί ζηνλ server θαη από εθεί λα έρνπλ ππνθιέςεη ηα επαίζζεηα πξνζσπηθά δεδνκέλα. Σν SSL ρξεζηκνπνηεί κεζόδνπο θξππηνγξάθεζεο ησλ δεδνκέλσλ πνπ αληαιιάζζνληαη κεηαμύ δύν ζπζθεπώλ (ζπλεζέζηεξα Ηιεθηξνληθώλ Τπνινγηζηώλ) εγθαζηδξύνληαο κία αζθαιή ζύλδεζε κεηαμύ ηνπο κέζσ ηνπ δηαδηθηύνπ. Σν πξσηόθνιιν απηό ρξεζηκνπνηεί ην TCP/IP γηα ηε κεηαθνξά ησλ δεδνκέλσλ θαη είλαη αλεμάξηεην από ηελ εθαξκνγή πνπ ρξεζηκνπνηεί ν ηειηθόο ρξήζηεο. Γηα ηνλ ιόγν απηό κπνξεί λα παξέρεη ππεξεζίεο αζθαινύο κεηάδνζεο πιεξνθνξηώλ ζε πξσηόθνιια αλώηεξνπ επηπέδνπ όπσο γηα παξάδεηγκα ην HTTP, ην FTP, ην telnet θνθ. Η κεηάδνζε πιεξνθνξηώλ κέζσ ηνπ δηαδηθηύνπ γίλεηαη σο επί ην πιείζηνλ ρξεζηκνπνηώληαο ηα πξσηόθνιια TCP/IP (Transfer Control Protocol / Internet Protocol). Σν SSL ιεηηνπξγεί πξηλ ην TCP/IP θαη κεηά ηηο εθαξκνγέο πςεινύ επηπέδνπ, όπσο είλαη γηα παξάδεηγκα ην HTTP (πξνβνιή ηζηνζειίδσλ), ην FTP (κεηαθνξά αξρείσλ) θαη ην IMAP (email). Άξα ινηπόλ απηό πνπ νπζηαζηηθά θάλεη ην SSL είλαη λα παίξλεη ηηο πιεξνθνξίεο από ηηο εθαξκνγέο πςειόηεξσλ επηπέδσλ, λα ηηο θξππηνγξαθεί θαη ζηελ ζπλέρεηα λα ηηο κεηαδίδεη ζην Internet πξνο ηνλ Η/Τ πνπ βξίζθεηαη ζηελ απέλαληη πιεπξά θαη ηηο δήηεζε. Πανοσργιάς Εσάγγελος 1645 104 Κεθάλαιο 8 8.1 Πλοήγηση στον ιστότοπο ηελ αξρηθή ζειίδα ηνπ ηζηόηνπνπ καο , ζην menu "Διιάδα", παξνπζηάδνπκε ελ ζπληνκία όιεο ηηο δπλαηόηεηεο θαη ραξαθηεξηζηηθά πνπ πξνζθέξνπκε ζηνλ επηζθέπηε καο. Έρνπκε εηζάγεη 3 Image Sliders (ην θύξην όπνπ είλαη θαη ην κεγαιύηεξν ζε κέγεζνο,όπσο επίζεο θαη 2 αθόκε ζε ζηπι thumbnail κε ηα απαξαίηεηα button-links γηα ηελ "εμεξεύλεζε" ησλ λεζηώλ θαη πνιηηηζκνύ αληίζηνηρα), video 12΄ γηα ηελ Διιάδα απν ελαέξηα θάιπςε, αλαθνξά ζηηο ηξέρνπζεο θνηλσληθέο εθδειώζεηο, links γηα ηνπο ελδηαθεξόκελνπο γηα ηνλ Κνηλσληθό Σνπξηζκό θαη ζηα Social Media θ.α. Δηθόλα 89: Menu - "Eιιάδα" Πανοσργιάς Εσάγγελος 1645 105 ηηο παξαθάησ δπν εηθόλεο, νη νπνίεο απνηεινύλ ζηνηρεία ηνπ κελνύ "Διιάδα", πξνζθέξεηαη εθπαηδεπηηθό πιηθό ζηνλ επηζθέπηε γηα ηελ ηζηνξία,ηηο ηέρλεο θαη ηνλ πνιηηηζκό ηεο ρώξα καο αλά ηνπο αηώλεο. Γίλεηαη εηζαγώγε ηνπ πξώηνπ καο Image Gallery κε ηελ βνήζεηα ηνπ Sigplus plug in (αξηζηεξή εηθόλα) ελώ δηαθνξνπνηνύκε ην θύξην Jsn Image Show Slider επηιέγνληαο εηθόλεο πνπ αθνξνύλ αξραία επηηεύγκαηα. Δηθόλα 90: Menu - "Eιιάδα ->Ιζηνξία /Πνηηιηζκόο " Πανοσργιάς Εσάγγελος 1645 106 ηα άιια δπν ζηνηρεία ηνπ menu "Διιάδα" αλαθεξνκάζηε ζε πιεξνθνξίεο πνπ αθνξνύλ ζηνλ γεσγξαθηθό πξνζδηνξηζκό ηεο ρώξαο καο ζηελ Δπξώπε θαη ζην θόζκν, αιιά θαη έλα ζύλνιν απν γεληθέο πιεξνθνξίεο όπσο γηα παξάδεηγκα εκεξνιόγην κε ηεο ζπνπδαηόηεξεο γηνξηέο αιιά θαη ρξήζηκα ηειέθσλα γηα δηάθνξεο ππεξεζίεο.Δπίζεο ην ζηνηρείν "Γεληθέο Πιεξνθνξίεο" εκπεξηέρεη έλα ππνζηνηρείν πξνο ηελ πξσηεύνπζα καο κε δηάθνξεο αλαθνξέο ζηελ αξραία θαη ζύγρξνλε πνξεία ηεο. Δηθόλα 91: Menu - "Eιιάδα ->Γεσγξαθία /Γεληθέο Πιεξνθνξίεο " Πανοσργιάς Εσάγγελος 1645 107 ην menu "Πξννξηζκνί" γίλεηαη κηα ζύληνκε εηζαγσγή θαη πεξηγξαθή ζηνπο ιόγνπο πνπ θάπνηνο ζα πξέπεη λα επηζθεθζεί ηελ Διιάδα αιιά θαη κηα κηθξή γεύζε ζηηο νκνξθηέο πνπ πξόθεηηαη λα ζπλαληήζεη.Αμίδεη λα ζεκεηώζνπκε πώο εδώ ρξεζηκνπνίεζακε ην JComments plug in όπνπ θάζε ρξήζηεο κπνξεί παξαζέηεη ην δηθό ηνπ ζρόιην γηα νηηδήπνηε επηζπκεί. Δηθόλα 92: Menu - " Πξννξηζκνί " Πανοσργιάς Εσάγγελος 1645 108 ην ππνκελνύ ηνπ "Πξννξηζκνί" εκπεξηέρνπκε ζηνλ ηζηόηνπν πιεξνθνξίεο γηα ηηο "Κύξηεο Πόιεηο", ηα "Διιεληθά Νεζηά" θαη ηελ "Ηπεηξσηηθή Διιάδα" πξνζζέηνληαο RSS Feeds γηα ηα ηειεπηαία λέα ζηνπο επηζθέπηεο , πξνζθνξέο γηα ηνπξηζηηθά ζέξεηξα όπσο επίζεο θαη ηελ δπλαηόηεηα ζρνιηαζκνύ γηα ηελ αληαιιαγή ηδεώλ θαη απόςεσλ. Δηθόλα 93: Menu - " Πξννξηζκνί -> Κύξηεο Πόιεηο/Διιεληθά Νεζηά/Ηπεηξσηηθή Διιάδα " Πανοσργιάς Εσάγγελος 1645 109 Η Διιάδα απνηειεί πξαγκαηηθό παξάδεηζν ηνπ πνιηηηζηηθνύ ηνπξηζκνύ, έλα κεγάιν ηαμίδη ζηε ηζηνξία θαη ηελ ηέρλε. Δθπαηδεπηηθέο πεξηεγήζεηο, ζεαηξηθέο παξαζηάζεηο, θεζηηβάι, πξνζθπλήκαηα, επηζθέςεηο ζε αξραηνινγηθνύο ρώξνπο, κλεκεία θαη κνπζεία, είλαη κεξηθά από όια όζα έρεη λα πξνζθέξεη ε Διιάδα ζην ρώξν ηνπ πνιηηηζηηθνύ ηνπξηζκνύ.'Οια ηα παξαπάλσ πξνζπαζήζακε λα ηα απνηππώζνπκε ζε απην ηνπ ζηνηρείν ηνπ κελνύ πνπ ην νλνκάζακε "Πνιηηηζκόο". Πανοσργιάς Εσάγγελος 1645 110 Δηθόλα 94: Menu - " Πνιηηηζκόο " Πανοσργιάς Εσάγγελος 1645 111 Δηθόλα 95: Menu - " Πνιηηηζκόο -> Μνπζεία/Μλεκεία" Δπεηδή ρίιηεο ιέμεηο ηζνδπλακνύλ κε κηα εηθόλα ζέιακε λα δώζνπκε ζηνλ επηζθέπηε ηελ δπλαηόηεηα λα πεξηεγεζεί ,λα ζρνιηάζεη, λα επεμεξγαζηεί θαη αλ επηζπκεί λα "θαηεβάζεη" απν κηα γθαιεξί εηθόλσλ ηα παλέκνξθα απηα ηνπία πνπ παξνπζηάδνπκε ζηνλ ηζηόηνπν καο. Έηζη δεκηνπξγήζακε ην επόκελν ζηνηρείν κελνύ, ην "Photo Gallery" όπνπ κε ηελ ρξήζε ηνπ Sigplus plug in θαη ηνπ JComments plug in πξνζθέξνληαη όια ηα wallpapers πνπ ρξεζηκνπνηήζεθαλ.Σν απνηέιεζκα απνηππώλεηαη ζηηο παξαθάησ εηθόλεο. Δηθόλα 96: Menu -Photo Gallery " Πανοσργιάς Εσάγγελος 1645 112 ην επόκελν κελνύ ζηνηρείν πνπ ην νλνκάδνπκε Forum κε ηελ βνήζεηα ηεο εθαξκνγήο Kunena ζα δεκηνπξγήζνπκε ζηνλ ηζηόηνπν καο, έλα ρώξν ζπδεηήζεσλ θαη αληαιιαγήο απόςεσλ κεηαμύ ησλ κειώλ ηνπ, όπνπ ν θάζε εγγεγξακκέλνο ρξεζηήο ζα έρεη ηελ δπλαηόηεηα, είηε λα ζπκκεηέρεη ζε θάπνην ζέκα ζπδήηεζεο είηε λα πξνζζέζεη, θάπνην ηεο αξεζθείαο ηνπ, θάπνηα πνιηηηζηηθή εθδήισζε ή πξόηαζε γηα θάπνηνλ πξννξηζκό, πξνζθαιώληαο έηζη ηνπο ππνινίπνπο επηζθέπηεο ηνπ ηζηόηνπνπ ζε απηήλ. Πανοσργιάς Εσάγγελος 1645 113 Δηθόλα 97: Menu - " Forum" Έλα άιιν πνιύ ρξήζηκν θαη ελδηαθέξνλ εξγαιείν πνπ παξέρνπκε ζηνλ ηζηόηνπν καο είλαη ε εηζαγσγή Google ραξηώλ κε ηελ βνήζεηα ηou Google maps by Reumer plug in, ην νπνίν απνηειεί θαη ην επόκελν ζηνηρείν κελνύ, γηα λα παξέρνπκε ηελ δπλαηόηεηα ζηνλ επηζθέπηε λα επηιέγεη ηνλ επόκελν πξννξηζκό ηνπ πξνηείλνληαο ηνπ θάζε θνξά εκείο,αλ ζέινπκε, ηελ δηθηά καο πξνηίκεζε γηα ηελ ζπγθεθξηκέλε ρξνληθή πεξίνδν. Δηθόλα 98: Menu - " Υάξηεο " Πανοσργιάς Εσάγγελος 1645 114 Σέινο, ζεσξνύκε αλαγθαίν ν θάζε επηζθέπηεο λα κπνξεί λα ελεκεξώλεηαη ζρεηηθά κε ηα πην πξόζθαηα ηνπξηζηηθά λέα απν δηάθνξεο άιιεο ηζηνζειίδεο κε ηελ βνήζεηα ησλ RSS Feeds ην νπνίν θαη δεκηνπξγήζακε ζε έλα λέν ζηνηρείν ζην κελνύ καο. Δηθόλα 99: Menu - " Σνπξηζκόο News" Πανοσργιάς Εσάγγελος 1645 115 Σσμπεράζμαηα Η ςυγκεκριμζνθ πτυχιακι εργαςία αναφζρεται ςτα ςυςτιματα διαχείρθςθσ περιεχομζνου (CMSContent Management Systems) τα οποία παρζχουν ςτουσ διαχειριςτζσ ζνα ολοκλθρωμζνο και ςωςτά δομθμζνο περιβάλλον επεξεργαςίασ περιεχομζνων. Αυτό ζχει ςαν αποτζλεςμα να μποροφμε να δθμιουργιςουμε ιςτοςελίδεσ υψθλοφ επιπζδου.Παρζχουν μεγάλο εφροσ επεκτάςεων που μποροφμε να αγοράςουμε είτε να βροφμε δωρεάν ςτο διαδίκτυο.Επιπλζον οι κοινότθτεσ υποςτιριξθσ των CMS φροντίηουν να υπάρχει λφςθ ςε οποιοδιποτε πρόβλθμα δθμιουργθκεί. Πιο ςυγκεκριμζνα φτιάξαμε μια ιςτοςελίδα ενθμζρωςθ και ψυχαγωγία ζχοντασ χρθςιμοποιιςει πολλζσ επεκτάςεισ του CMS Joomla! 3.2.1 και παραμετροποιιςει υπάρχουςεσ λειτουργίεσ. Επιπλζον αςχολθκικαμε ςτα ευάλωτα και τρωτά ςθμεία του ςυγκεκριμζνου cms όςο αφορά τθν αςφάλεια ζτςι ϊςτε να διαςφαλίςουμε όςο τον δυνατό περιςςότερο τθν αποφυγι απομακρυςμζνων επικζςεων που κζτουν ςε κίνδυνο τθν ομαλότθτα ενόσ ιςτότοπου. Πανοσργιάς Εσάγγελος 1645 116 Βιβλιογραθία www.visitgreece.gr - The Official Website of The Greek Tourism Organisation www.joomla.org - Joomla! The CMS Trusted by Millions For Websites extensions.joomla.org - Joomla! Extentions Directory www.w3schools.com - W3schools Online Web Tutorials www.php.net/manual/en/book.com.php - PHP -Manual en.wikipedia.org/wiki/Cascading_Style_Sheets en.wikipedia.org/wiki/JavaScript www.jquery.com/ www.mysql.com/ - CSS - Wikipedia the Free Encyclopedia - JavaScript- Wikipedia the Free Encyclopedia - jquery - The Official Website - The World's Most Popular Open Source Database www.phpmyadmin.net - phpMyAdmin - The Official Website www.getfirebug.com - The Most Popular and Powerful Web Develpment Tool www.opensource.org - The Open Initiative www.apache.org - The Apache Software Foundations www.apachefriends.org - XAMPP Installers and Downloads For Apache Friends www.themexpert.com www.owasp.org - Powerhouse of the Best Joomla 2.5 & 3.0 Responsive Templates & Extentions - The Open Web Application Security Project (OWASP) nefeli.lib.teicrete.gr/.../Katsiavos_Soultetsi2012.pdf - Πηπρηαθή εξγαζία networklab.teipir.gr/patrikakis/.../Gazis_Fotios.pdf - Πηπρηαθή εξγαζία nefeli.lib.teicrete.gr/.../Stivaktakis_Koumparakis2012 - Πηπρηαθή εξγαζία Πανοσργιάς Εσάγγελος 1645 117