ΔΗΜΙΟΥΡΓΙΑ ΔΥΝΑΜΙΚΗΣ ΙΣΤΟΣΕΛΙΔΑΣ ΜΕ ΤΕΧΝΟΛΟΓΙΑ PHP ΚΑΙ ΧΡΗΣΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ MYSQL



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

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

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

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

Μέρος Ι: Εγκατάσταση και ιαμόρφωση των MySQL, Apache και PHP

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

Epsilon Net PYLON Platform

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

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

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

Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης eclass 1.7. Οδηγίες Αναβάθμισης (Upgrade) Αθήνα, 16 Μαρτίου Εισαγωγή

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Διαχείριση Πληροφοριών στο Διαδίκτυο. Εργαστήριο 1

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

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

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

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

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

Πλατφόρµα Ασύγχρονης Τηλεκπαίδευσης eclass 2.0. Οδηγίες Αναβάθµισης (Upgrade) Αθήνα, 1 Ιουνίου Εισαγωγή

XAMPP Apache MySQL PHP javascript xampp

PRISMA Win POS Sync Merge Replication

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

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

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

MCSS Medical Center Support Systems. Setup Instructions

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

Περιεχόμενα. Μέρος 1: Βασικές έννοιες της πληροφορικής Πρόλογος... 11

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΟΔΗΓΟΣ ΧΡΗΣΗΣ ΓΙΑ ΛΟΓΙΣΜΙΚΟ CISCO JABBER ΥΠΗΡΕΣΙΑ ΠΛΗΡΟΦΟΡΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΥΠΣ-ΕΔ/76

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

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

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

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΗΣ ΛΟΓΙΣΜΙΚΟΥ E-LEARNING - 2 -

Εργαστήριο Βάσεων Δεδομένων. Δικαιώματα Χρηστών Προβολές

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

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα;

Με λίγα λόγια, το TCP/IP καθορίζει τον τρόπο που πακετάρονται και μεταφέρονται τα δεδομένα της σύνδεσής μας.

ηµιουργία ηλεκτρονικής εφηµερίδας µε χρήση PHP και βάσεων δεδοµένων MySQL

Εργαστήριο Βάσεων Δεδομένων

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

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

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

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

Βάσεις δεδομένων (Access)

ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ.

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

Windows 7 Windows Vista

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

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού

Οδηγός εγκατάστασης προγράμματος TestDrive του Υ.Μ.Ε.

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

Εκπαιδευτικά Περιβάλλοντα Διαδικτύου

Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ

Εθνική Πύλη

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

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο)

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

Εθνική Πύλη


Οδηγίες για την εγκατάσταση του πακέτου Cygwin

Περιεχόμενα. Αντί προλόγου Πώς να χρησιμοποιήσετε το βιβλίο Κεφάλαιο 1: Πώς δημιουργώ το Προφίλ μου στο Facebook;...

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

Εργαστήριο Βάσεων Δεδομένων

TeleCost Hotel για Panasonic TDA

Πλοήγηση www / Με τον Internet Explorer

Στο παράθυρο που θα εµφανιστεί πατήστε το κουµπί Unzip.

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

Simplifying Complexity. Οδηγός Χρήσης Διαδικτυακής Πλατφόρμας

Κοινή χρήση πόρων με τα Windows XP

Εγκατάσταση Joomla! Στο ΠΣΔ. 1. Μεταβαίνουμε στο και συνδεόμαστε στο λογαριασμό μας. 2. Μεταβαίνουμε στο «MySch»

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10

ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ Α2Α

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

Δραστηριότητα 3: Ρυθμίσεις Oικιακής Ομάδας Τοπικού Δικτύου Η/Υ σε WINDOWS 7 & 8

ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΨΗΦΙΑΚΩΝ ΠΙΣΤΟΠΟΙΗΤΙΚΩΝ

ΠΛΑΤΦΟΡΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΙΝΤΕΟΔΙΑΛΕΞΕΩΝ ΔΗΛΟΣ delos.uoa.gr. Εγχειρίδιο Χρήσης Μελών ΔΕΠ

server : Ο υπολογιστής του καθηγητή που θέλουμε να ελέγχει τους υπόλοιπους του εργαστηρίου client : Οι υπολογιστές των μαθητών

Tο περιβάλλον Code::Blocks

Κεφάλαιο 5. Βασικές Τεχνολογίες για την Υποστήριξη ΕΠΔ

ΠΛΗΡΟΦΟΡΙΚΗ Ι Εργαστήριο 1 MATLAB ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave

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

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

Υπηρεσία Απομακρυσμένης Πρόσβασης VPN Οδηγός Εγκατάστασης και Διαμόρφωσης για χρήστες λειτουργικών συστημάτων MAC OS X

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

Βάσεις δεδομένων (Access)

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ

Οδηγός Εισαγωγή Χρηστών σε LDAP Server με χρήση. LdapAdmin TEMPLATE

ΟΔΗΓΙΕΣ ΣΥΝΔΕΣΗΣ ΣΤΟ ΔΙΚΤΥΟ ΤΟΥ ΟΠΑ ΑΠΟ ΕΞΩΤΕΡΙΚΟ ΠΑΡΟΧΟ (ΥΠΗΡΕΣΙΑ VPN) Windows 8, Windows 7, Windows Vista, Windows XP

Π : Εγχειρίδια χρήσης της υπηρεσίας για τα κύρια υποστηριζόμενα Λειτουργικά

Οδηγίες Λήψης & Εγκατάστασης του Jitsi 2.0

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

Περιεχόμενα. Λίγα λόγια από το συγγραφέα... 7

Περιεχόμενα. Πληροφορίες Σχετικά με το βιβλίο...11 Τι είναι το WordPress...11 Πληροφορίες για τον συγγραφέα...12

Linux με τη χρήση κονσόλας

Σχεδιασμός Βάσεων Δεδομένων

Εγκατάσταση του Arduino IDE

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

Διαδικασία εγκατάστασης και ρύθμισης AUA-VPN για Windows XP/Vista/7/8

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Transcript:

ΤΕΧΝΟΛΟΓΓΙ ΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ Ι ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΓΙ ΙΚΩΝ ΕΦΑΡΜΟΓΓΩΝ ΔΗΜΙΟΥΡΓΙΑ ΔΥΝΑΜΙΚΗΣ ΙΣΤΟΣΕΛΙΔΑΣ ΜΕ ΤΕΧΝΟΛΟΓΙΑ PHP ΚΑΙ ΧΡΗΣΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ MYSQL ΣΣΠΟΥΥΔΑΣΣΤΤΕΕΣΣ: : ΑΝΤΤΩΝΙ ΙΟΣΣ ΤΤΡΡΑΟΥΥΔΑΣΣ ΔΗΜΗΤΤΡΡΙ ΙΟΣΣ ΚΚΟΥΥΡΡΠΕΕΤΤΗΣΣ ΕΕΙ ΙΣΣΗΓΓΗΤΤΗΣΣ: : ΚΚΑΘΗΓΓΗΤΤΗΣΣ Δ.. ΠΟΓΓΑΡΡΙ ΙΔΗΣΣ ΚΑΒΑΛΑ,, 2009

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΔΗΜΙΟΥΡΓΙΑ ΔΥΝΑΜΙΚΗΣ ΙΣΤΟΣΕΛΙΔΑΣ ΜΕ ΤΕΧΝΟΛΟΓΙΑ ΣΠΟΥΔΑΣΤΕΣ: ΑΝΤΩΝΙΟΣ ΤΡΑΟΥΔΑΣ ΔΗΜΗΤΡΙΟΣ ΚΟΥΡΠΕΤΗΣ ΕΙΣΗΓΗΤΗΣ: ΚΑΘΗΓΗΤΗΣ Δ. ΠΟΓΑΡΙΔΗΣ ΚΑΒΑΛΑ, 2009 1

Στους γονείς μου, Βασίλειο και Όλγα Α. Τραούδας Στους γονείς μου, Αθανάσιο και Ολυμπιάδα Δ. Κουρπέτης 2

ΚΕΦΑΛΑΙΟ 1: Σκοπός Πτυχιακής Εργασίας ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ Σκοπός Πτυχιακής Εργασίας... 8 ΚΕΦΑΛΑΙΟ 2: Εγκατάσταση και διαμόρφωση της MySQL 2.1: H τρέχουσα και οι μελλοντικές εκδόσεις της MySQL και ο τρόπος απόκτησής της... 9 2.2: Εγκατάσταση της ΜySQL σε συστήματα Linux/Unix... 9 2.3: Εγκατάσταση της MySQL στα Windows... 10 2.4: Αντιμετώπιση προβλημάτων κατά την εγκατάσταση... 13 2.5: Βασικές οδηγίες ασφάλειας... 14 2.6: Παρουσίαση του συστήματος δικαιωμάτων της MySQL... 14 2.7: Διαδικασία Πιστοποίησης... 15 2.8: Προσθήκη χρηστών... 15 ΚΕΦΑΛΑΙΟ 3: Εγκατάσταση και διαμόρφωση του Apache 3.1: Η τρέχουσα και οι μελλοντικές εκδόσεις του Apache... 15 3.2: Επιλογή της μεθόδου εγκαταστασης... 15 3.3: Μεταγλώττιση του πηγαίου κώδικα... 15 3.4: Εγκατάσταση του Apache από δυαδικά αρχεία... 17 3.5: Εγκατάσταση του Apache σε Linux/Unix... 17 3.6: Εγκατάσταση του Αpache σε Windows... 17 3.7: Παράμετροι διαμόρφωσης του Apache... 22 3.8: Ντιρεκτίβες... 22 3.9: Περιέκτες (Containers)... 24 3.10: ServerRoot... 25 3.11: Αρχεία Διαμόρφωσης ανά κατάλογο... 25 3.12: To Δυαδικό αρχείο... 26 3.13: Εκκίνηση του Apache για πρώτη φορά... 26 3.14: Αντιμετώπιση Προβλημάτων... 27 ΚΕΦΑΛΑΙΟ 4: Εγκατάσταση και διαμόρφωση της PHP 4.1: Η τρέχουσα και οι μελλοντικές έκδοσεις της PHP... 29 4.2: Εγκατάσταση της PHP με τον Αpache σε συστήματα Linux/Unix... 29 4.3: Εγκατάσταση της PHP στα Windows... 30 4.4: Εγκατάσταση της PHP στα Windows χρησιμοποιώντας τον PHP installer... 31 4.5: Αρχείο php.ini... 35 4.6: Βοήθεια για την Εγκατάσταση... 35 4.7: PHP Scripts... 36 4.8: Συνδυασμός HTML με PHP... 37 4.9: Προσθήκη σχολίων σε κώδικα της PHP... 37 ΚΕΦΑΛΑΙΟ 5: Τα Δομικά Στοιχεία της PHP 5.1: Μεταβλητές... 38 5.2: Γενικές και υπερ-γενικές μεταβλητές... 38 5.3: Τύποι δεδομένων... 39 5.4: Η συνάρτηση settype()... 39 5.5: Αλλαγή του τύπου δεδομένων μιας μεταβλητής με ρητή δήλωση τύπου... 39 5.6: Τελεστές και εκφράσεις... 39 5.7: Αριθμητικοί τελεστές... 40 5.8: Τελεστής εκχώρησης τιμής και σύνθετοι τελεστές εκχώρησης τιμής... 40 5.9: Αυτόματη αύξηση/μείωση της τιμής μιας ακέραιας μεταβλητής... 41 3

5.10: Τελεστές σύγκρισης... 41 5.11: Λογικοί τελεστές... 42 5.12: Προτεραιότητα των τελεστών... 42 5.13: Σταθερές... 43 5.14: Προκαθορισμένες σταθερές... 43 5.15: H εντολή if... 43 5.16: Xρήση της else στην Eντολή if... 43 5.17: Χρήση της elseif στην Εντολή if... 44 5.18: Η Εντολή switch... 44 5.19: Ο Τελεστής?... 44 5.20: Βρόχοι... 45 5.21: While... 45 5.22: Η εντολή do...while... 45 5.23: Η εντολή for... 45 5.24: Έξοδος από ένα Βρόχο με την Εντολή break... 46 5.25: Παράκαμψη μιας επανάληψης με την εντολή continue... 46 5.26: Κλήση συναρτήσεων... 46 5.27: Ορισμός μιας συνάρτησης... 46 ΚΕΦΑΛΑΙΟ 6: Οι Βασικές Εντολές της SQL 6.1: Οι Τύποι Δεδομένων της ΜySQL... 47 6.2: Οι Αριθμητικοί Τύποι Δεδομένων... 47 6.3: Τύποι Δεδομένων για Τιμές Ημερομηνίας/Ώρας... 47 6.4: Τύποι Αλφαριθμητικών... 48 6.5: Η Εντολή CREATE... 48 6.6: Η Εντολή INSERT... 48 6.7: Η Εντολή SELECT... 49 6.8: Η Εντολή LIMIT... 49 6.9: Η Εντολή WHERE... 49 6.10: Η Εντολή JOIN... 50 6.11: Η Εντολή UPDATE... 50 6.12: Η Εντολή REPLACE... 50 6.13: Η Εντολή DELETE... 50 ΚΕΦΑΛΑΙΟ 7: Οδηγός και Τεκμηρίωση Ιστοσελίδας 7.1: Δημιουργία Frames... 51 7.2: Σχεδιασμός και ανάπτυξη ιστοσελίδων με το Dreamweaver... 53 7.2.1: Σχεδιασμός και ανάπτυξη mainframe.php... 54 7.2.2: Σχεδιασμός και ανάπτυξη kathigitis.php... 54 7.2.3: Σχεδιασμός και ανάπτυξη ergastirio.php... 57 7.2.4: Σχεδιασμός και ανάπτυξη ptyxiakes.php... 59 7.3: Εγκατάσταση και λειτουργία του Forum... 63 7.4: Βάση Δεδομένων... 66 7.5: Πρόσθετες Εφαρμογές... 68 7.6: Αρχεία ιστοτόπου... 69 ΚΕΦΑΛΑΙΟ 8: Προγραμματισμός (Πηγαίος Κώδικας) 8.1: Πηγαίος κώδικας index.php... 71 8.2: Πηγαίος κώδικας topframe.php... 71 8.3: Πηγαίος κώδικας leftframe.php... 73 8.4: Πηγαίος κώδικας mainframe.php... 78 8.5: Πηγαίος κώδικας mathimata/psifiaka 1.php... 81 8.6: Πηγαίος κώδικας mathimata/psifiaka 2.php... 85 8.7: Πηγαίος κώδικας mathimata/mikro 1.php... 88 8.8: Πηγαίος κώδικας mathimata/mikro 2.php... 91 4

8.9: Πηγαίος κώδικας kathigitis/kathigitis.php... 94 8.10: Πηγαίος κώδικας ergastirio/ergastirio.php... 102 8.11: Πηγαίος κώδικας ptyxiakes/ptyxiakes.php... 110 8.12: Πηγαίος κώδικας syndesmoi/syndesmoi.php... 113 8.13: Πηγαίος κώδικας programmatismos/psifiaka I.php... 120 8.14: Πηγαίος κώδικας biblia/psif sxed me VHDL.php... 125 8.15: Πηγαίος κώδικας erg askhseis/psifiaka I.php... 128 8.16: Πηγαίος κώδικας forum/index.php... 131 Αναφορές Βιβλιογραφικές Αναφορές... 139 Ψηφιακά Τεκμήρια... 139 5

ΠΕΡΙΕΧΟΜΕΝΑ ΕΙΚΟΝΩΝ ΚΕΦΑΛΑΙΟ 2: Εγκατάσταση και διαμόρφωση της MySQL Εικόνα 2.1.1: Κεντρική σελίδα της MySQL... 9 Εικόνα 2.3.1: Το πρώτο παράθυρο του οδηγού εγκατάστασης της MySQL... 11 Εικόνα 2.3.2: Οι διαθέσιμοι τύποι εγκατάστασης της MySQL... 11 Εικόνα 2.3.3: Το τρίτο παράθυρο εγκατάστασης της MySQL... 12 Εικόνα 2.3.4: Η διαδικασία κατά την οποία η εγκατάσταση αντιγράφει τα αρχεία στο σύστημα... 12 Εικόνα 2.3.5: Ολοκλήρωση της εγκατάστασης... 13 Εικόνα 2.4.1: MySQL documentation από το site της MySQL... 14 ΚΕΦΑΛΑΙΟ 3: Εγκατάσταση και διαμόρφωση του Apache Εικόνα 3.1.1: Κεντρική σελίδα του Apache... 16 Εικόνα 3.3.1: Οι διαθέσιμες εκδόσεις του Apache HTTP Server... 17 Εικόνα 3.6.1: Εκδόσεις του Apache διαθέσιμες για κατέβασμα (download)... 18 Εικόνα 3.6.2: Το πρώτο παράθυρο του οδηγού εγκατάστασης του Apache... 18 Εικόνα 3.6.3: Apache 2.0 License Agreement... 19 Εικόνα 3.6.4: Γενικές πληροφορίες για τον Apache HTTP Server... 19 Εικόνα 3.6.5: Πληροφορίες για τον Server του συστήματος... 20 Εικόνα 3.6.6: Διαθέσιμοι τύποι εγκατάστασης του Apache... 20 Εικόνα 3.6.7: Επιλογή φακέλου εγκατάστασης του Apache... 21 Εικόνα 3.6.8: Η εγκατάσταση ενημερώνει για την έναρξη αντιγραφής των αρχείων... 21 Εικόνα 3.6.9: Ολοκλήρωση της εγκατάστασης... 22 Εικόνα 3.8.1: Μερικές από τις ντιρεκτίβες που χρησιμοποιεί ο Apache Web Server... 23 Εικόνα 3.9.1: Πληροφορίες για τους περιέκτες από το site του Apache... 24 Εικόνα 3.9.2: Επιπλέον πληροφορίες για τους περιέκτες από το site του Apache... 24 Εικόνα 3.13.1: Apache Licenses... 27 Εικόνα 3.14.1: Apache HTTP Server Version 2.2 Documentation... 28 ΚΕΦΑΛΑΙΟ 4: Εγκατάσταση και διαμόρφωση της PHP Εικόνα 4.1.1: Η κεντρική σελίδα της PHP... 29 Εικόνα 4.4.1: Το πρώτο παράθυρο του οδηγού εγκατάστασης... 31 Εικόνα 4.4.2: End-User License Agreement... 32 Εικόνα 4.4.3: Φάκελος εγκατάστασης της PHP στο σύστημα του χρήστη... 32 Εικόνα 4.4.4: Επιλογή έκδοσης του Server που τρέχει στο σύστημα του χρήστη... 33 Εικόνα 4.4.5: Ο φάκελος που περιέχει τα αρχεία του Server... 33 Εικόνα 4.4.6: Επιλογή στοιχείων εγκατάστασης της PHP... 34 Εικόνα 4.4.7: Το παράθυρο που ενημερώνει για την έναρξη της εγκατάστασης αρχείων... 34 Εικόνα 4.4.8: Ολοκλήρωση της διαδικασίας εγκατάστασης... 35 Εικόνα 4.6.1: Documentation της PHP... 36 Εικόνα 4.6.2: Οι πιο συχνές ερωτήσεις που στέλνονται στο PHP.net... 36 ΚΕΦΑΛΑΙΟ 7: Οδηγός και Τεκμηρίωση Ιστοσελίδας Εικόνα 7.1: Adobe Dreamweaver CS3... 51 Εικόνα 7.2: Paint.Net v3.36 (δεξιά)... 51 Εικόνα 7.1.1: Δημιουργία frames με το Dreamweaver... 51 Εικόνα 7.1.2: Διαμόρφωση frames με τη βοήθεια του Dreamweaver... 52 Εικόνα 7.2.1: Γραφικό περιβάλλον (Design) του Dreamweaver... 53 Εικόνα 7.2.2: Προγραμματιστικό περιβάλλον (Code) του Dreamweaver... 53 Εικόνα 7.2.1.1: Προβολή μέρους κώδικα του αρχείου mainframe.php στον Internet Explorer... 54 Εικόνα 7.2.2.1: Προβολή μέρους κώδικα του αρχείου kathigitis.php στον Internet Explorer... 56 Εικόνα 7.2.3.1: Προβολή του video του εργαστηρίου μέσα από το YouTube... 57 Εικόνα 7.2.3.2: Προβολή μέρους κώδικα του αρχείου ergastirio.php στον Internet Explorer... 59 6

Εικόνα 7.2.4.1: Προβολή μέρους κώδικα του αρχείου ptyxiakes.php στον Internet Explorer... 62 Εικόνα 7.3.1: Η πρώτη σελίδα εγκατάστασης του forum... 63 Εικόνα 7.3.2: Εισαγωγικό σημείωμα πριν αρχίσει η διαδικασία εγκατάστασης... 63 Εικόνα 7.3.3: Έλεγχος του συστήματος... 64 Εικόνα 7.3.4: Database configuration... 64 Εικόνα 7.3.5: Administrator configuration... 64 Εικόνα 7.3.6: Παραμετροποίηση ρυθμίσεων e-mail και url... 65 Εικόνα 7.3.7: Ολοκλήρωση της εγκατάστασης... 65 Εικόνα 7.3.8: Administration Control Panel... 66 Εικόνα 7.4.1: Η κεντρική σελίδα του phpmyadmin... 66 Εικόνα 7.4.2: Το λογότυπο της εφαρμογής phpmyadmin... 67 Εικόνα 7.4.3: Οι πίνακες της βάσης δεδομένων... 67 Εικόνα 7.5.1: Οι πρόσθετες εφαρμογές της κεντρικής σελίδας του site... 68 Εικόνα 7.6.1: Φάκελος αρχείων του ιστοτόπου... 69 Εικόνα 7.6.2: Φάκελος Forum του ιστοτόπου... 69 7

ΚΕΦΑΛΑΙΟ 1: Σκοπός Πτυχιακής Εργασίας Είναι ξεκάθαρο ότι τα τελευταία χρόνια ο παγκόσμιος ιστός έχει ξεπεράσει κάθε αναμενόμενη προσδοκία. Η αναβάθμιση της ποιότητας των ιστοσελίδων είναι οφθαλμοφανής και η χρήση των τελευταίων σε δυνατότητες εφαρμογών είναι πλέον δεδομένη. Σκοπός της πτυχιακής εργασίας είναι η δημιουργία μιας δυναμικής ιστοσελίδας χρησιμοποιώντας μερικές από τις πιο διαδεδομένες και λειτουργικές εφαρμογές του διαδικτύου. Η ιστοσελίδα αυτή περιέχει πληροφορίες και διδακτικό υλικό των μαθημάτων Ψηφιακά Συστήματα Ι & ΙΙ και Μικροϋπολογιστές Ι & ΙΙ. Επίσης περιέχει πληροφορίες για το εργαστήριο της σχολής, τον καθηγητή του τμήματος, υλικό πτυχιακών εργασιών, καθώς και διαφόρων εφαρμογών που παρέχουν πολλές δυνατότητες στον επισκέπτη της ιστοσελίδας. Κάπου εδώ πρέπει να αναφερθεί ότι ο ιστοχώρος υλοποιήθηκε με κύριο γνώμονα την καλή λειτουργία και την ευχρηστία που μπορεί να παρέχει στον χρήστη, ενώ δόθηκε λιγότερη σημασία στη δημιουργία υπερβολικών γραφικών ή στη χρησιμοποίηση πολύπλοκων εφαρμογών όπως CMS, scipts κ.ά. Για την υλοποίηση του ιστοχώρου χρησιμοποιήθηκαν οι εφαρμογές Apache, MySQL και PHP. Η σχεδίαση καθώς και η συγγραφή κώδικα των ιστοσελίδων έγινε με τη χρήση της εφαρμογής Dreamweaver CS3 της εταιρίας Adobe (http://www.adobe.com) ενώ η σχεδίαση των γραφικών έγινε με τη χρήση της εφαρμογής Paint.net της εταιρίας dotpdn LLC (http://www.dotpdn.com). Η συγκεκριμένη πτυχιακή εργασία αποτελείται από οκτώ κεφάλαια. Εκτός από το πρώτο κεφάλαιο στο οποίο βρισκόμαστε αυτή τη στιγμή, ακολουθούν τα τρία επόμενα στα οποία γίνεται αναλυτική περιγραφή των εγκαταστάσεων και διαμορφώσεων των Apache, PHP και MySQL. Στο πέμπτο και έκτο κεφάλαιο υπάρχουν κάποιες πληροφορίες για τα δομικά στοιχεία της PHP και τις βασικές εντολές της SQL. Στο έβδομο κεφάλαιο γίνεται η τεκμηρίωση των ιστοσελίδων που δημιουργήθηκαν. Αυτό το κεφάλαιο θα μπορούσε να χαρακτηριστεί και σαν οδηγός για τον χρήστη, ο οποίος περιέχει υλικό το οποίο αφορά την φάση ανάπτυξης της πτυχιακής εργασίας. Τέλος, στο όγδοο κεφάλαιο εμπεριέχονται οι πηγαίοι κώδικες των σελίδων του ιστοχώρου. 8

ΚΕΦΑΛΑΙΟ 2: Εγκατάσταση και Διαμόρφωση της MySQL 2.1: H τρέχουσα και οι μελλοντικές εκδόσεις της MySQL και ο τρόπος απόκτησής της Οι οδηγίες εγκατάστασης που παρουσιάζονται αντιστοιχούν στην έκδοση 5 της MySQL η οποία είναι η έκδοση που χρησιμοποιείται. Η MySQL AB είναι η εταιρεία που αναπτύσσει και διανέμει την MySQL. H ΜySQL AB χρησιμοποιεί αριθμούς δευτερεύουσας έκδοσης για να χαρακτηρίσει τις ενημερώσεις της κύριας έκδοσης του λογισμικού που περιέχουν σχετιζόμενες με την ασφάλεια διορθώσεις ή βελτιώσεις σφαλμάτων. Η ΜySQL AB κάθε φορά που προστίθονται νέες βελτιώσεις ή διορθώσεις στον κώδικα και αφού ελεγχθούν σχολαστικά κυκλοφορεί μια νέα έκδοση του λογισμικού με νέο αριθμό δευτερεύουσας έκδοσης. Επειδή ο αριθμός της δευτερεύουσας έκδοσης αλλάζει αρκετά συχνά, σε περίπτωση που συμβεί κάτι τέτοιο θα πρέπει ο χρήστης να κοιτάξει τη λίστα αλλάγων που έχουν γίνει στην δική του έκδοση για να ενημερωθεί για οποιεσδήποτε αλλαγές απαιτούνται στη διαδικασία εγκατάστασης ή διαμόρφωσης. Tα παραπάνω υπάρχουν στην διεύθυνση http://www.mysql.com. Στην πραγματικότητα βέβαια είναι πολύ δύσκολο να αλλάξουν οποιεσδήποτε οδηγίες εγκατάστασης μεταξύ δύο δευτερευουσών εκδόσεων, καλό είναι όμως να ελέγχεται η λίστα αλλαγών κάθε λογισμικού που θέλει ο χρήστης να χρησιμοποιήσει στο σύστημά του. Αν τώρα παρουσιαστεί μια νέα δευτερεύουσα έκδοση και στη λίστα αλλαγών δεν βρεθεί κάποια αλλάγη στην διαδικασία εγκατάστασης, ο χρήστης κάνει εγκατάσταση τη νέα έκδοση όπως ακριβώς το έκανε πριν. Εικόνα 2.1.1: Κεντρική σελίδα της MySQL Η εταρεία ΜySQL AB διανέμει την MySQL μέσω του Web site της στη διεύθυνση http://www.mysql.com/. Επίσης στο συγκεκριμένο site υπάρχουν διανομές της MySQL σε δυαδική μορφή για όλες τις πλατφόρμες, RPM αρχεία και αρχεία πηγαίου κώδικα για τις πλατφόρμες Linux/Unix. Ακόμη μπορεί να αποκτηθεί το λογισμικό σε συσκευασία η οποία θα περιέχει εκτενές έντυπο εγχειρίδιο της MySQL από το online κατάστημα της MySQL AB. 2.2: Εγκατάσταση της ΜySQL σε συστήματα Linux/Unix H διαδικασία εγκατάστασης της ΜySQL σε συστήματα Linux/Unix είναι εύκολη. Η εγκατάσταση γίνεται είτε με το να χρησιμοποιηθούν τα RPM αρχεία είτε με το να εγκατασταθούν τα δυαδικά αρχεία. Εάν επιλεχθεί εγκατάσταση από τα RPM αρχεία θα χρειαστούν τα εξής δύο ακόλουθα 9

αρχεία: - MySQL-server-VERSION.i386.rpm - O ΜySQL server - MySQL-client-VERSION.I386.rpm - Οι στάνταρ βιβλιοθήκες client προγραμμάτων MySQL Για να εκτελεστεί η «ελάχιστη» δυνατή εγκατάσταση από τα RPM αρχεία θα εισαχθεί η ακόλουθη εντολή στην προτροπή: #> rpm -i MySQL-server-VERSION.i386.rpm MySQL-client-VERSION.i386.rpm Για να γίνει εγκατάσταση με δυαδικά αρχεία θα πρέπει να χρησιμοποιηθούν τα βοηθήματα gunzip και tar για την αποσυμπίεση των δυαδικών αρχείων. Επίσης θα πρέπει να δημιουργηθούν ομάδες και χρήστες στο σύστημα. Στην πρώτη σειρά εντολών που απαιτείται για την εγκατάσταση της MySQL από δυαδικά αρχεία θα πρέπει να προστεθεί μία ομάδα και έναν χρήστη και να αποσυμπιεστούν τα αρχεία ως εξής: #> groupadd mysql #> useradd -g mysql mysql #> cd/usr/local #> gunzip < /path/to/mysql-version-os.tar.gz Στη συνέχεια θα ζητηθεί να δημιουργηθεί μία σύνδεση (link) με μικρότερο όνομα: #> ln -s mysql-version-os mysql #> cd mysql Αφού αποσυμπιεστούν τα αρχεία README και INSTALL, καθοδηγούν το χρήστη στην συνέχεια της διαδικασίας εγκατάστασης ανάλογα με την έκδοση MySQL που έχει επιλεχθεί. Γενικότερα χρησιμοποιείται η εξής σειρά εντολών: #> scripts/mysql_install_db #> chown -R root /usr/local/mysql #> chown -R mysql /usr/local/mysql/data #> chgrp -R mysql /usr/local/mysql #> chown -R root /usr/local/mysql/bin Κάπου εδώ μπορεί να γίνει εκκίνηση του MySQL server. Σε περίπτωση τώρα κάποιου προβλήματος θα πρέπει ο χρήστης να ανατρέξει στην ενότητα «Αντιμετώπιση Προβλημάτων». 2.3: Εγκατάσταση της MySQL στα Windows H διαδικασία εγκατάστασης της MySQL στα Windows είναι αρκετά απλή. Η εταιρεία MySQL AB διανέμει το πρόγραμμα εγκατάστασης μαζί με ότι άλλο χρειάζεται σε ένα συμπιεσμένο (zip) αρχείο. Γίνεται μεταφορά του zip αρχείου στο σύστημά μας, αποσυμπιέζεται σε ένα προσωρινό κατάλογο και εκτελείται το πρόγραμμα εγκατάστασης setup.exe. Παρακάτω παρουσιάζεται αναλυτικά η εγκατάσταση της MySQL 5 στα Windows: 1) Γίνεται διπλό κλικ πάνω στο αρχείο setup.exe για να εκκινήσει η εγκατάσταση. Αναφέρονται κάποιες γενικές πληροφορίες, όπως για παράδειγμα ότι μπορεί να χρησιμοποιηθεί το λογισμικό αλλά δεν μπορεί να υποστηρίξει ο χρήστης ότι είναι δικό του. Επίσης ενημερώνει τον χρήστη ότι θα πρέπει να κλείσει όλα τα υπόλοιπα προγράμματα για να μπορέσει να συνεχίσει την εγκατάσταση. 10

Εικόνα 2.3.1: Το πρώτο παράθυρο του οδηγού εγκατάστασης της MySQL 2) Το δεύτερο παράθυρο του οδηγού εγκατάστασης πληροφορεί για τους τρεις τύπους εγκατάστασης. Επιλέγεται ο τύπος Typical και γίνεται κλικ στο Next για συνέχεια. Εικόνα 2.3.2: Οι διαθέσιμοι τύποι εγκατάστασης της MySQL 11

Εικόνα 2.3.3: Το τρίτο παράθυρο εγκατάστασης της MySQL 3) Με το που έγινε κλικ στο Next του 2 βήματος ξεκίνησε η διαδικασία εγκατάστασης. Όταν τελειώσει εμφανίζεται το μήνυμα που πληροφορεί τον χρήστη ότι τελείωσε η εγκατάσταση. Εικόνα 2.3.4: Η διαδικασία κατά την οποία η εγκατάσταση αντιγράφει τα αρχεία στο σύστημα Με το που εμφανίζεται το μήνυμα ολοκλήρωσης της εγκατάστασης, γίνεται κλικ στο κουμπί Finish και το πρόγραμμα είναι έτοιμο. 12

Εικόνα 2.3.5: Ολοκλήρωση της εγκατάστασης Η MySQL παρέχει την εφαρμογή winmysqladmin.exe. Γίνεται διπλό κλικ στο αρχείο και τότε εμφανίζεται ένα φωτεινό εικονίδιο στη γραμμή εργασιών της επιφάνειας εργασίας. Όταν κάποιος τρέξει για πρώτη φορά το αρχείο θα του ζητηθεί ένα όνομα χρήστη (username) και ένας κωδικός πρόσβασης (password). Αφού δημιουργηθεί ο λογαριασμός μας, από εκεί και πέρα το WinMySQLadmin θα δίνει χρήσιμες πληροφορίες για το περιβάλλον στο οποίο τρέχει, όπως για την διεύθυνση IP και το όνομα του υπολογιστή. Οι καρτέλες που εμφανίζονται στο πάνω τμήμα του παραθύρου δίνουν τη δυνατότητα να εξεταστούν πληροφορίες για το σύστημα και να προσαρμόζονται οι επιλογές διαμόρφωσης της MySQL. Για παράδειγμα διαλέγοντας την επιλογή Variables μπορούν να εξεταστούν πληροορίες για τη διαμόρφωση του server. Επίσης για όσο χρόνο τρέχει ο MySQL server θα μπορούν να τρέχουν και άλλες εφαρμογές μέσω ενός παραθύρου κονσόλας όπως το MySQL monitor. 2.4: Αντιμετώπιση προβλημάτων κατά την εγκατάσταση Σε περίπτωση που υπάρξει κάποιο πρόβλημα κατά την διάρκεια εγκατάστασης της MySQL θα πρέπει να ο χρήστης να ανατρέξει για βοήθεια στο εγχειρίδιο της MySQL το οποίο βρίσκεται στη διεύθυνση http://www.mysql.com/doc/p/r/problems.html. Μερικά από τα πιο συνηθισμένα προβλήματα είναι τα εξής: α) Εάν εμφανιστεί το μήνυμα ''Access denied'' κατά τη σύνδεση μσς στην MySQL σημαίνει ότι έχει γίνει λάθος στο username (όνομα χρήστη) ή στο password (κωδικό πρόσβασης) ή και στα δύο. β) Εάν εμφανιστεί το μήνυμα ''Can't connect to server'' πρέπει να ελεγχθεί ότι η MySQL τρέχει στο σύστημα. Αν τώρα με τη χρήση του εγχειριδίου της MySQL δε μπορεί να λυθεί οποιοδήποτε πρόβλημα μπορεί να παρουσιάστηκε, τότε ο οποιοσδήποτε χρήστης μπορεί να στείλει ένα μήνυμα στη MySQL στη διεύθυνση http://lists.mysql.com/ και μπορεί να πάρει την απάντηση για το πρόβλημά του. Τέλος μπορεί να αποκτήσει ένα συμβόλαιο υποστήριξης με πολύ μικρό κόστος από την MySQL AB. 13

Εικόνα 2.4.1: MySQL documentation από το site της MySQL 2.5: Βασικές οδηγίες ασφάλειας H ασφάλεια της MySQL ξεκινάει από τη διαδικασία εκκίνησης του server. Όταν δεν είναι κάποιος administrator δεν μπορεί να αλλάξει την διαδικασία εκκίνησης, μπορεί όμως να αναφέρει τα τρωτά σημεία που εντοπίζει στην εταιρεία παροχής Internet με την οποία συνεργάζεται. Μπορεί να συνδεθεί στην MySQL χρησιμοποιώντας το MySQL monitor ή άλλες εφαρμογές καθεμία από τις οποίες έχει τους δικούς της κινδύνους. Αν εγκατασταθεί η MySQL στο σταθμό εργασίας του χρήστη οι κίνδυνοι είναι πολλοί λιγότεροι από ότι αν ο χρήστης χρησιμοποιήσει μία σύνδεση δικτύου για να προσπελάσει τον MySQL server. 'Οταν η MySQL είναι εγκατεστημένη στο σταθμό εργασίας του χρήστη ο μεγαλύτερος κίνδυνος που υπάρχει είναι να βρίσκεται ο υπολογιστής σ'ένα χώρο που έχουν πρόσβαση και άλλα άτομα και κάποια στιγμή ενώ τρέχει η MySQL ο χρήστης να τον αφήσει εκτεθειμένο. Σ αυτή την περίπτωση κάποιο άλλο άτομο μπορεί να χρησιμοποιήσει τον υπολογιστή και να κάνει ότι θέλει. Το πρόβλημα λύνεται εύκολα χρησιμοποιώντας ένα screen saver ή κάποιο μηχανισμό κλειδώματος της οθόνης με κωδικό πρόσβασης. Όταν ο χρήστης χρησιμοποιεί σύνδεση δικτύου η ασφάλεια είναι κάτι το πολύ σημαντικό. Τα δεδομένα του χρήστη μπορούν να υποκλαπούν. Αν τώρα η μετάδοση των δεδομένων γίνεται σε μη-κρυπτογραφημένη μορφή, το άτομο που θα τα κλέψει μπορεί να τα χρησιμοποιήσει αμέσως. Το αυτονόητο που θα κάνει θα είναι να χρησιμοποιεί το username και το password του χρήστη. Έτσι θα φαίνεται ότι είναι ο ίδιος ο χρήστης και θα μπορεί να προσπελάσει όλη τη βάση δεδομένων. Ένας τρόπος είναι να χρησιμοποιηθεί μια ασφαλής σύνδεση όπως το SSH. Mε το SSH η μεταφορά δεδομένων γίνεται σε κρυπτογραφημένη μορφή. Ακόμη εάν χρησιμοποιηθεί ένα εργαλείο διαχείρισης του server όπως το phpmyadmin ή κάποιο άλλο πoυ παρέχει η εταιρεία Internet που συνεργάζεται με τον χρήστη, θα πρέπει να προσπελαστεί μέσω μιας ασφαλής σύνδεσης HTTP. 2.6: Παρουσίαση του συστήματος δικαιωμάτων της MySQL To σύστημα δικαιωμάτων της MySQL είναι πάντα ενεργό. Κάθε φορά που επιχειρεί ένας χρήστης να συνδεθεί η MySQL ελέγχει τα εξής: α) τη θέση από την οποία την προσπελάζει β) την ταυτότητα του χρήστη 14

γ) ποιες ενέργειες μπορεί να κάνει ο χρήστης και ποιες όχι Όλες οι πληροφορίες αυτές αποθηκεύονται σε μία βάση δεδομένων με όνομα mysql η οποία δημιουργείται αυτόματα κατά την εγκατάσταση της MySQL. Υπάρχουν αρκετοί πίνακες στην βάση δεδομένων mysql: α) columns_priv: Ορίζει τα δικαιώματα των χρηστών για συγκεκριμένα πεδία ενός πίνακα. β) db: Oρίζει τα δικαιώματα για όλες τις βάσεις δεδομένων που υπάρχουν στον server γ) host: Ορίζει τους υπολογιστές που μπορούν να συνδέονται σε μία συγκεκριμένη βάση δεδομένων δ) tables_priv: Ορίζει τα δικαιώματα των χρηστών για συγκεκριμένους πίνακες μιας βάσης δεδομένων ε) user: Ορίζει τα δικαιώματα εκτέλεσης εντολών για ένα συγκεκριμένο χρήστη 2.7: Διαδικασία Πιστοποίησης Η MySQL ελέγχει τρία πράγματα κατά τη διαδικασία πιστοποίησης (τα οποία αναφέρθηκαν πριν). Ο έλεγχος σε αυτά τα τρία πράγματα γίνεται σε δύο βήματα: α) Η MySQL ελέγχει το όνομα χρήστη και τον κωδικό πρόσβασης που χρησιμοποιεί ο χρήστης. Αν ο κωδικός πρόσβασης και το όνομα χρήστη είναι σωστά τότε η MySQL προχωράει στο επόμενο βήμα. β) Οποιαδήποτε εντολή πληκτρολογηθεί από τον χρήστη, η MySQL ελέγχει αν όντως ο συγκεκριμένος χρήστης έχει το δικαίωμα να εκτελέσει αυτή την εντολή στην συγκεκριμένη βάση δεδομένων, πίνακα και πεδίο. Στην περίπτωση που υπάρχει πρόβλημα στο βήμα 1 εμφανίζεται ένα μήνυμα σφάλματος και δεν προχωράει στο βήμα 2. Για να γίνει πιο κατανοητό αναφέρεται το εξής παράδειγμα. Αν το όνομα χρήστη είναι antonis και το password pwd25209 και θέλει ο χρήστης να διαχειριστεί μια βάση δεδομένων με όνομα mydatabase, αν υπάρχει πρόβλημα θα ληφθεί ένα μήνυμα σφάλματος για τους εξής λόγους: α) Το όνομα χρήστη antonis δεν υπάρχει β) Ο κωδικός πρόσβασης pwd25209 είναι λάθος γ) Ο χρήστης antonis δεν μπορεί να χρησιμοποιήσει την βάση δεδομένων mydatabase Αν όλα είναι εντάξει η MySQL ελέγχει τις ενέργειες που μπορεί να κάνει ο χρήστης. Για παράδειγμα, μπορεί να έχει το δικαίωμα να επιλέγει δεδομένα από την βάση αλλά δε μπορεί να εισάγει δεδομένα σε αυτήν. 2.8: Προσθήκη χρηστών Ο πιο απλός τρόπος για την προσθήκη νέων χρηστων είναι με την εντολή GRANT. Αφού συνδεθεί ο χρήστης με την ταυτότητα του χρήστη root, εισάγει την εντολή GRANT για να δημιουργήσει νέους χρήστες. Ένας άλλος τρόπος είναι με την εντολή INSERT, την οποία πρέπει να εισάγει ο χρήστης σε όλους τους σχετικούς πίνακες της βάσης δεδομένων. Η προσθήκη νέων χρηστών με την εντολή INSERT προυποθέτει ο χρήστης να γνωρίζει όλα τα πεδία που χρησιμοποιούνται για την εισαγωγή σε αυτούς τους πίνακες. Τα δικαιώματα που μπορούν να παραχωρηθούν στο νέο χρήστη με την εντολη GRANT είναι: α) με την εντολή ALTER ο χρήστης μπορεί να τροποποιήσει πίνακες, στήλες και ευρετήρια β) με την εντολή CREATE ο χρήστης μπορεί να δημιουργήσει βάσεις δεδομένων και πίνακες γ) με την εντολή DELETE ο χρήστης μπορεί να διαγράφει εγγραφές από πίνακες δ) με την εντολή DROP o χρήστης μπορεί να καταργεί πίνακες και βάσεις δεδομένων ε) με την εντολή FILE ο χρήστης μπορεί να διαβάζει και να γράφει αρχεία στ) με την εντολή INSERT ο χρήστης μπορεί να προσθέτει εγγραφές σε πίνακες ζ) με την εντολή SELECT ο χρήστης μπορεί να επιλέγει εγγραφές από πίνακες η) με την εντολή UPDATE ο χρήστης μπορεί να τροποποιεί εγγραφές σε πίνακες 15

ΚΕΦΑΛΑΙΟ 3: Εγκατάσταση και Διαμόρφωση του Αpache 3.1: Η τρέχουσα και οι μελλοντικές εκδόσεις του Apache Οι οδηγίες εγκατάστασης που παρουσιάζονται παρακάτω αντιστοιχούν στην έκδοση 2 του Apache HTTPD server. Το Apache Software Foundation χρησιμοποιεί αριθμούς «δευτερεύουσας έκδοσης» για να χαρακτηρίσει τις ενημερώσεις της κύριας έκδοσης του λογισμικού που περιέχουν σχετιζόμενες με την ασφάλεια βελτιώσεις ή διορθώσεις σφαλμάτων. Οι δευτερεύουσες εκδόσεις δεν κυκλοφορούν βάσει καθορισμένου χρονοδιαγράμματος. Όταν προστεθούν βελτιώσεις ή διορθώσεις στον κώδικα και αφού ελεγχθούν, το Apache Software Foundation κυκλοφορεί μία νέα έκδοση του λογισμικού με νέο αριθμό δευτερεύουσας έκδοσης. Αν και είναι δύσκολο να αλλάξουν οποιεσδήποτε οδηγίες εγκατάστασης μεταξύ δύο δευτερεύουσων εκδόσεων καλό θα είναι να αποκτηθεί η συνήθεια να ελέγχεται η λίστα αλλαγών κάθε λογισμικού που εγκαθίσταται και διατηρείται στο σύστημα του κάθε χρήστη. Εικόνα 3.1.1: Κεντρική σελίδα του Apache 3.2: Επιλογή της μεθόδου εγκαταστασης Για την εγκατάσταση του Apache υπάρχουν αρκετές επιλογές στην διάθεση του χρήστη. Το Apache είναι ανοιχτό «λογισμικό» πράγμα που δίνει τη δυνατότητα να υπάρχει πρόσβαση σε όλο τον πηγαίο κώδικα του. Το Apache επιτρέπει να δημιουργείται μία εξειδικευμένη έκδοση του server ανάλογα μ'αυτό που θέλει ο χρήστης. Ακόμη υπάρχουν διανομές του Apache με προ-μεταγλωτισμένα δυαδικά αρχεία για τις πιο πολλές σύγχρονες πλατφόρμες Unix. 3.3: Μεταγλώττιση του πηγαίου κώδικα Ο πηγαίος κώδικας του Apache server δημιουργεί εκτελέσιμα αρχεία με αποτέλεσμα να υπάρχει η δυνατότητα να δημιουργηθεί η έκδοση server ανάλογα με αύτο που θέλει ο χρήστης. Για παράδειγμα μπορεί να παραλείψει ρουτίνες που δεν χρειάζεται και να χρησιμοποιήσει ρουτίνες τρίτων. Ακόμη μπορεί να αναβαθμίσει εύκολα τις πιο πρόσφατες εκδόσεις και να εφαρμόσει τις διορθώσεις για την ασφάλεια. Αντίθετα οι ενημερωμένες εκδόσεις που διανέμουν οι εταιρείες χρειάζονται πιο πολύ χρόνο για να φτάσουν στους χρήστες. Η δημιουργία των εκτελέσιμων αρχείων του Apache από τον πηγαίο κώδικα είναι εύκολη για τις απλές εγκαταστάσεις αλλά γίνεται αρκετά 16

πολύπλοκη όταν μπαίνουν ρουτίνες και βιβλιοθήκες τρίτων κατασκευαστών. Εικόνα 3.3.1: Οι διαθέσιμες εκδόσεις του Apache HTTP Server 3.4: Εγκατάσταση του Apache από δυαδικά αρχεία Τα δυαδικά αρχεία για εγκατάσταση του Apache σε Linux/Unix μπορούν να μεταφερθούν από το Web site του Apache Software Foundation ενώ και διανομές του Apache σε μορφή δυαδικών αρχείων για Linux/Unix διατίθονται από διάφορους κατασκεύαστες. Με δυαδικά αρχεία η εγκατάσταση του Apache γίνεται εύκολη για χρήστες με μικρές γνώσεις στη διαχείριση συστήματος και για χρήστες που δεν έχουν ιδιαίτερες απαιτήσεις στον τομέα της διαμόρφωσης. Επίσης υπάρχουν κατασκευαστές λογισμικού που διαθέτουν πακέτα που περιέχουν πέρα απο το Apache και ένα server εφαρμογών (application server) καθώς και επιπλέον ρουτίνες (modules). Tέλος το Apache Software Foundation διαθέτει και ένα πρόγραμμα εγκατάστασης για συστήματα Windows για το οποίο όμως δεν υπάρχουν ευρέως διαθέσιμοι μεταγλωττιστές σε αντίθεση με τα Linux/Unix. 3.5: Εγκατάσταση του Apache σε Linux/Unix Τα βήματα που απαιτούνται για την επιτυχή εγκατάσταση του Apache 2 σε ένα σύστημα Linux/Unix είναι τα εξής: α) Μεταφορά του λογισμικού στο σύστημα μας β) Εκτέλεση του script διαμόρφωσης γ) Μεταγλώττιση του κώδικα και εγκατάστασή του 3.6: Εγκατάσταση του Αpache σε Windows To Αpache 2 τρέχει στις περισσότερες εκδόσεις των Windows και προσφέρει αυξημένη απόδοση και σταθερότητα έναντι της έκδοσης 1.3 για Windows. Πριν εγκατασταθεί ο Apache θα πρέπει να μην τρέχει κάνενας Web server (κάποια άλλη έκδοση του Apache ή o Ιnternet Explorer) στο σύστημα του χρήστη. Πριν γίνει εκκίνηση της εγκατάστασης είναι καλό ο χρήστης να ανατρέξει στη διεύθυνση http://www.apache.org/dist/httpd/binaries/win32/readme.html όπου θα βρει χρήσιμες πληροφορίες για όλες τις εκδόσεις των Windows που χρησιμοποιούνται σήμερα. Παρακάτω παρουσιάζονται αναλυτικά τα βήματα της διαδικασίας εγκατάστασης του Apache 2.2 στα Windows: 17

Εικόνα 3.6.1: Εκδόσεις του Apache διαθέσιμες για κατέβασμα (download) 1) Όταν ο χρήστης είναι έτοιμος να ξεκινήσει την εγκατάσταση, κάνει διπλό κλικ πάνω στο αρχείο εγκατάστασης για να ξεκινήσει ο οδηγός εγκατάστασης. Αφού διαβαστούν οι σχετικές πληροφορίες, η εγκατάσταση μας ενημερώνει ότι μπορεί να γίνει χρήση του λογισμικού αλλά ο χρήστης δεν μπορεί να ισχυριστεί ότι είναι δικό του. Εικόνα 3.6.2: Το πρώτο παράθυρο του οδηγού εγκατάστασης του Apache 18

Εικόνα 3.6.3: Apache 2.0 License Agreement Εικόνα 3.6.4: Γενικές πληροφορίες για τον Apache HTTP Server 2) Το δεύτερο παράθυρο εγκατάστασης ενημερώνει ότι πρέπει να δωθούν κάποιες πληροφορίες για τον υπολογιστή που είναι η διεύθυνση δικτύου, το όνομα του server καθώς και η ηλεκτρονική διεύθυνση (email) του administrator του server. Αυτό το βήμα μας ενημερώνει επίσης για τον αν θα εκκινήσει ο Apache σαν υπηρεσία στο σύστημα ή με χειροκίνητη εκκίνηση. Η εγκατάσταση του Apache σαν υπηρεσία έχει σαν αποτέλεσμα ο server να εκκινεί κάθε φορά που εκκινούν τα Windows και έτσι μπορεί ο χρήστης να τον ελέγχει με τα εργαλεία διαχείρισης υπηρεσιών που παρέχουν τα 19

Windows. Εικόνα 3.6.5: Πληροφορίες για τον Server του συστήματος 4) Το τρίτο παράθυρο εγκατάστασης ζητάει να επιλεχθεί ο τύπος εγκατάστασης. Εικόνα 3.6.6: Διαθέσιμοι τύποι εγκατάστασης του Apache Οι τύποι είναι δύο. Ο Typical και o Custom. Με την Typical εγκατάσταση εγκαθίστανται τα δυαδικά αρχεία του Apache και τα αρχεία πληροφοριών τεκμηρίωσης αλλά δεν εγκαθίστανται τα header 20

αρχεία και οι βιβλιοθήκες. Με την Custom εγκατάσταση μπορεί να επιλεχθεί εάν θα εγκατασταθούν τα header αρχεία ή τα αρχεία πληροφοριών τεκμηρίωσης. Επιλέγεται από τον χρήστη ο τύπος Typical και έπειτα Next. Εικόνα 3.6.7: Επιλογή φακέλου εγκατάστασης του Apache Εικόνα 3.6.8: Η εγκατάσταση ενημερώνει για την έναρξη αντιγραφής των αρχείων 5) Με το που έγινε κλικ στο Install ξεκίνησε η διαδικασία εγκατάστασης και αργότερα εμφανίζεται το μήνυμα που ενημερώνει ότι τελείωσε η εγκατάσταση. Κλικ στο κουμπί Finish για τέλος. 21

Εικόνα 3.6.9: Ολοκλήρωση της εγκατάστασης 3.7: Παράμετροι διαμόρφωσης του Apache Tο Apache διατηρεί όλες τις παραμέτρους διαμόρφωσης σε αρχεία απλού κειμένου. Το κύριο αρχείο παραμέτρων διαμόρφωσης ονομάζεται httpd.conf. To αρχείο αυτό περιέχει ντιρεκτίβες και περιέκτες. Αυτό δίνει τη δυνατότητα στον χρήστη να προσαρμόζει την εγκατάσταση του Apache ανάλογα με αυτό που θέλουμε. Οι ντιρεκτίβες ρυθμίζουν τις παραμέτρους για τον έλεγχο πρόσβασης την απόδοση και την λειτουργία στο δίκτυο. Οι περιέκτες είναι υπεύθυνοι για το τι αφορούν αυτές οι ρυθμίσεις. Μπορεί να αναφέρονται στον server, σε έναν κατάλογο, ή σε ένα αρχείο. 3.8: Ντιρεκτίβες Η σύνταξη μιας ντιρεκτίβας του Apache απαιτεί κάποιες προυποθέσεις όπως: α) Τα ορίσματα της ντιρεκτίβας χωρίζονται μεταξύ τους με κενά. β) Τα ορίσματα της ντιρεκτίβας ακολουθούν μετά από το όνομά της. γ) Ο αριθμός και ο τύπος των ορισμάτων είναι διαφορετικές από ντιρεκτίβα σε ντιρεκτίβα δ) Κάποιες ντιρεκτίβες δεν έχουν ορίσματα ε) Το σύμβολο # προηγείται της ντιρεκτίβας και πρέπει να εμφανίζεται σε ξεχώριστη γραμμή. Οι ντιρεκτίβες παρουσιάζοται και τεκμηριώνονται αναλυτικά στα εγχειρίδια του Apache. Εντοπίζουμε πoια ντιρεκτίβα μιας ενδιαφέρει και πηγαίνουμε στην διεύθυνση http://httpd.apache.org/docs-2/mod/directive-dict.html. Η παρουσίαση των ντιρεκτίβων στα εγχειρίδια του Apache είναι στο ίδιο στυλ για όλες τις ντιρεκτίβες και αφορά: α) Syntax: Μας δείχνει την σύνταξη της ντιρεκτίβας. Μας πληροφορεί ότι οι υποχρεωτικές παράμετροι γράφονται με πλάγια γραμμή και οι προαιρετικές παράμετροι γράφονται με πλάγια γραφή και περικλείονται σε αγκύλες. 22