ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΑΝΑΠΤΥΞΗ ΔΙΑΔΙΚΤΥΑΚΗΣ ΕΦΑΡΜΟΓΗΣ ΑΡΧΕΙΟΘΕΤΗΣΗΣ ΕΙΚΟΝΩΝ ΜΕ ΤΟ ΕΡΓΑΛΕΙΟ WEBSH, ΤΗΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ TCL ΣΕ ΣΥΝΔΥΑΣΜΟ ΜΕ ΤΗ MySQL ΚΑΙ ΤΗΝ HTML. Επιβλέπων καθηγητής: ΜΑΡΔΥΡΗΣ ΒΑΣΙΛΕΙΟΣ Επιμέλεια : ΜΑΤΡΑΚΑ ΑΙΚΑΤΕΡΙΝΗ Α.Ε.Μ. : 212
Ευχαριστίες Αρχικά, θα ήθελα να ευχαριστήσω τους γονείς μου για την αμέριστη συμπαράσταση τους, στην διάρκεια των σπουδών μου. Ιδιαιτέρως θα ήθελα να εκφράσω την ευγνωμοσύνη μου στον επιβλέποντα καθηγητή µου, Βασίλειο Μαρδύρη, για την ουσιαστική βοήθεια που µου προσέφερε καθ όλη τη διάρκεια της εκπόνησης της εργασίας αυτής, καθώς και στο σύζυγο μου Αντώνη για την υπομονή που επέδειξε όλο αυτό τον καιρό. Ματράκα Κατερίνα 1
ΠΕΡΙΕΧΟΜΕΝΑ Ευχαριστίες 1 Περιεχόμενα 2 Εισαγωγή.4 Κεφάλαιο 1 Ψηφιακά Έγγραφα Ψηφιακή Εικόνα Photoshop Ορισµός Ψηφιακών Εγγράφων...6 ηµιουργία Ψηφιακών Εγγράφων.7 Ψηφιακή Εικόνα. 8 Κατηγορίες Ψηφιακών Εικόνων..8 Πρότυπα Αποθήκευσης Εικόνας 9 Ψηφιακή Εικόνα και Photoshop...11 Εργαλεία Photoshop..12 Παλέτα Εργαλείων..13 Παράθυρα Πληροφοριών.14 Κεφάλαιο 2 ΕΙΣΑΓΩΓΗ ΣΤΟ LINUX Τι είναι το Linux.18 Δομή του Linux..20 Εγκατάσταση Linux RED HAT 9...21 LILO...22 Ρύθμιση Δικτύου....23 X WINDOWS SYSTEM..24 Κεφάλαιο 3 WEBSH TCL WEBSH...26 Τι είναι το Websh...26 APACHE2 Ενότητα..26 Ιστορία Websh.. 26 Με Βάση την TCL..27 Request/URL..28 Διαχείριση Session..29 Security by encryption(ασφάλεια με κρυπτογράφηση)...29 Messages On Streams(Μηνύματα στα Ρεύματα)....30 Δυνατότητα Αναγραφών(logging facility)......30 Ματράκα Κατερίνα 2
Κεφάλαιο 4 WEBMIN CGI WEBMIN..32 CGI(Common Gateway Interface)..33 Κεφάλαιο 5 APACHE SSH(Secure Shell) APACHE..36 SSH 37 Κεφάλαιο 6 ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ MySQL ΑΝΑΠΤΥΞΗ ΚΑΙ ΛΕΙΤΟΥΡΓΙΑ Συστήματα Βάσεων Δεδομένων(Data Base System)..40 MySQL....41 Παρουσίαση πινάκων Βάσης Δεδομένων..41 Περιγραφή Βάσης Δεδομένων. 42 Λειτουργία Βάσης Δεδομένων. 42 Κεφάλαιο 7 HTML ΠΑΡΟΥΣΙΑΣΗ ΕΦΑΡΜΟΓΗΣ Η Γλώσσα HTML.....46 Παρουσίαση εφαρμογής..47 Κεφάλαιο 8 ΣΥΓΓΡΑΦΗ ΚΩΔΙΚΑ WEBSH Συγγραφή κώδικα.54 Φόρμες... 55 Συναρτήσεις.55 Κεφάλαιο 9 ΣΥΜΠΕΡΑΣΜΑΤΑ ΠΡΟΟΠΤΙΚΕΣ Συμπεράσματα Προοπτικές.59 Βιβλιογραφία 63 Ματράκα Κατερίνα 3
Εισαγωγή Καθώς το μέγεθος της ηλεκτρονικά διατιθέμενης πληροφορίας συνεχώς αυξάνεται, γίνεται περισσότερο επιτακτική η ανάγκη χρήσης τεχνικών αρχειοθέτησης, καθώς και εξατομικευμένης αναζήτησης, ώστε να εντοπίζονται εκείνες οι πληροφορίες που πραγματικά ενδιαφέρουν τους χρήστες. Η πτυχιακή αυτή εργασία, περιγράφει την ανάπτυξη διαδικτυακής εφαρμογής αρχειοθέτησης εικόνων. Αναλυτικά η εφαρμογή επιτρέπει: Α) την εισαγωγή εικόνων και περιγραφών τους, Β) αρχειοθέτηση και αναζήτηση εικόνων βάση των περιγράφων αυτών, Γ) επεξεργασία περιγραφών που αντιστοιχούν σε κάθε εικόνα, Δ) διαγραφή εικόνων και περιγραφών τους. Επιπλέον, οι δυνατότητες της εφαρμογής δεν περιορίζονται μόνο στην χρήση αρχείων εικόνας αλλά επεκτείνονται και στη χρήση οποιαδήποτε άλλης μορφής αρχείων-εγγράφων. Στην εφαρμογή αυτή χρησιμοποιούνται μόνο αρχεία εικόνας προς αρχειοθέτηση. Η εφαρμογή αναπτύχθηκε με το εργαλείο Websh της γλώσσας προγραμματισμού Tcl. Χρησιμοποιήθηκε επίσης η γλώσσα HTML για την παρουσίαση των Ιστοσελίδων στο web, καθώς και η MySql για την δημιουργία και διαχείριση της βάσης δεδομένων. Οι Servers και η εφαρμογή, εγκαταστάθηκαν σε λειτουργικό σύστημα Linux Red Hat 9. Η διαχείριση των Servers έγινε μέσα από το Linux, καθώς και διαδικτυακά, από περιβάλλον Windows μέσο της εφαρμογής Webmin. Οι εικόνες που χρησιμοποιήθηκαν για τη διακόσμηση της εφαρμογής καθώς και αυτές που καταχωρήθηκαν προς αρχειοθέτηση, δημιουργήθηκαν ή επεξεργάστηκαν με τη βοήθεια του adobe Photoshop. Παρακάτω παρατίθενται αναλυτικά τα παραπάνω στοιχεία. Ματράκα Κατερίνα 4
ΚΕΦΑΛΑΙΟ 1 ΨΗΦΙΑΚΑ ΕΓΓΡΑΦΑ ΨΗΦΙΑΚΗ ΕΙΚΟΝΑ - PHOTOSHOP Ματράκα Κατερίνα 5
Ψηφιακά έγγραφα Ορισµός ψηφιακών εγγράφων Ο ορισµός των ψηφιακών εγγράφων µπορεί να δοθεί ως: Αναπαράσταση δεδοµένων κατανοητή από τα υπολογιστικά συστήµατα π.χ. µία εικόνα της πραγµατικότητας, µία ψηφιακή εγγραφή ήχου ή οποιαδήποτε πληροφορία σε µορφή κατανοητή από τον υπολογιστή (ένα πρόγραµµα υπολογιστή, ένα αρχείο δεδοµένων κ.λ.π.). Στο Σχήµα 2 δίδονται διάφορα παραδείγµατα ψηφιακών εγγράφων. Ένας τρόπος δόµησης της πληροφορίας σε ψηφιακή µορφή Ένα σύνολο από bits (που έχουν συγκεκριµένη δοµή, περιεχόµενο και πληροφορίες) Σχήμα 1 Παραδείγµατα ψηφιακών εγγράφων: (α) κείµενο, (β) εικόνα, (γ) γραφικό, (δ) ήχος, (ε) frames ενός animation. Ματράκα Κατερίνα 6
ηµιουργία ψηφιακών εγγράφων Στο Σχήμα 2 φαίνονται τα διάφορα ήδη ψηφιακών εγγράφων (animation, video, γραφικά, κείµενο, ήχος, εικόνες) και ο τρόπος δηµιουργίας τους. Από µία ψηφιακή φωτογραφική µηχανή µπορούµε να δηµιουργήσουµε εικόνες. Με τον scanner ψηφιοποιούµε φωτογραφίες και δηµιουργούµε εικόνες ή κείµενο αν χρησιµοποιούµε την διαδικασία αναγνώρισης του κειµένου (OCR). Από µία πηγή ήχου, µέσω του αισθητήρα καταγράφουµε το αναλογικό σήµα, στη συνέχεια το ψηφιοποιούµε και παράγουµε ψηφιακό ήχο ή κείµενο µε την βοήθεια της αναγνώρισης (σύστηµα αναγνώρισης φωνής). Με την χρήση της βιντεοκάµερας, ψηφιοποιούµε το σήµα αν πρόκειται για αναλογική κάµερα και στη συνέχεια παράγουµε video ή εικόνες και ήχο. Επίσης, µε την βοήθεια του υπολογιστή µπορούµε να δηµιουργήσουµε κυρίως animation και γραφικά καθώς και να επεξεργαστούµε όλα τα υπόλοιπα ήδη ψηφιακών εγγράφων. Σχήµα 2 Τα διάφορα ήδη ψηφιακών εγγράφων και ο τρόπος δηµιουργίας τους. Ματράκα Κατερίνα 7
Ψηφιακή Εικόνα Οι εικόνες χωρίζονται σε τρεις βασικές κατηγορίες: Στις ασπρόµαυρες ή διτονικές εικόνες όπου έχουµε ύπαρξη µόνο δύο χρωµάτων, συνήθως άσπρου και µαύρου (Σχήμα 3α). Οι ασπρόµαυρες εικόνες βρίσκουν εφαρµογή σε συστήµατα αρχειοθέτησης εγγράφων, σε συστήµατα αναγνώρισης κειµένου (OCR), στην διαχείριση τεχνικών σχεδίων, διαγραµµάτων, χαρτών κ.λ.π. Στις εικόνες κλίµακας του γκρίζου ή gray scale (β-γ). Οι εικόνες αυτές αποδίδονται µε διαβαθµίσεις του γκρίζου. Μια βασική εφαρµογή των gray scale εικόνων είναι οι ιατρικές εικόνες και τα υπερηχογραφήµατα. Στις έγχρωµες εικόνες όπου έχουµε απόδοση της εικόνας µε χρώµατα (δ). Ο αριθµός των χρωµάτων µπορεί να ποικίλει από 256 µέχρι εκατοµµύρια χρώµατα. Σχήµα 3 Παραδείγµατα εικόνων: (α) ασπρόµαυρη, (β)-(γ) gray scale, (δ) έγχρωµη. Ματράκα Κατερίνα 8
Βασικά χαρακτηριστικά των εικόνων είναι οι διαστάσεις (οριζόντιος και κάθετος αριθµός εικονοστοιχείων) και η ανάλυση ψηφιοποίησης η οποία μετριέται σε dpi (dots per inch). Η ανάλυση της εικόνας δίνει τον αριθµό των εικονοστοιχείων στον οποίο αντιστοιχίζεται µία τετραγωνική ίντσα της εικόνας που ψηφιοποιείται. Η ρύθµιση της ανάλυσης εξαρτάται από την χρήση της ψηφιοποιηµένης εικόνας. Μερικά παραδείγµατα ανάλυσης είναι τα 400-600 dpi για αρχειοθέτηση εικόνων µε µεγάλη πληροφορία, τα 300-400dpi για αναγνώριση των εγγράφων µε χρήση της οπτικής αναγνώρισης χαρακτήρων (OCR), τα 150-300dpi για εικόνες που θα μεταδοθούν στο ιαδίκτυο, 75 dpi για εικόνες που θα εµφανιστούν στην οθόνη του υπολογιστή. Άλλα χαρακτηριστικά των εικόνων είναι το πρότυπο αποθήκευσης (format) και ο τρόπος συµπίεσης. Οι ψηφιακές εικόνες παράγονται κυρίως µε την βοήθεια της σάρωσης. ύο βασικές κατηγορίες σαρωτών είναι οι επιτραπέζιοι σαρωτές και οι σαρωτές χειρός (Σχήμα 4). Στον επιτραπέζιο σαρωτή τοποθετούµε το έγγραφο στο εσωτερικό του σαρωτή ενώ τον σαρωτή χειρός τον σέρνουµε πάνω από την εικόνα που θέλουµε να ψηφιοποιήσουµε. Σχήµα 4 Είδη σαρωτών: (α) επιτραπέζιος, (β) χειρός. Μετά την σάρωση της εικόνας πρέπει να επιλεγεί ο τύπος του αρχείου µε τον οποίο θα αποθηκευτεί η εικόνα στο υπολογιστικό σύστηµα. Υπάρχει µεγάλη ποικιλία στα πρότυπα αποθήκευσης των εικόνων, τα κυριότερα των οποίων είναι τα ακόλουθα: TIF: Είναι το πιο διαδεδοµένο πρότυπο. Είναι το πιο δηµοφιλές format για ψηφιακή αποθήκευση. Βγάζει σχετικά µεγάλο αρχείο για τις έγχρωµες εικόνες, χρησιµοποιεί LZW συµπίεση χωρίς απώλειες και έχει πολλές παραλλαγές οι οποίες δεν διαβάζονται από όλα τα προγράµµατα. Το TIF πρότυπο χρησιµοποιείται συνήθως για ασπρόµαυρες εικόνες Ματράκα Κατερίνα 9
αφού πετυχαίνει µεγάλα ποσοστά συµπίεσης (µέθοδος συµπίεσης, CCITT Group 4). Ένα άλλο χαρακτηριστικό των TIF εικόνων είναι ότι αποθηκεύουν και αρκετές πληροφορίες σχετικά µε τις εικόνες (δηµιουργός, ηµεροµηνία τελευταίας αλλαγής κ.α.). GIF: Το GIF πρότυπο αποθήκευσης επιτρέπει το πολύ 256 χρώµατα και εφαρµόζεται κυρίως για απλές εικόνες, για παράδειγµα ένα λογότυπο εταιρείας, έχει καλή συµπίεση, όµως η χρήση της GIF κωδικοποίησης έχει πατέντα και χρειάζεται άδεια για την χρήση του από τα διάφορα προγράµµατα. JPEG: Το JPEG πρότυπο είναι το πιο συνηθισµένο για δηµιουργία µικρών αρχείων ιδανικών για αποστολή µε e-mail ή µεταφορά µέσω ιαδικτύου. Χρησιµοποιεί συµπίεση µε απώλειες (ρύθµιση του παράγοντα JPG ποιότητας). Είναι σχεδιασµένο για εικόνες µε συνεχείς τόνους ενώ δεν έχει καλά αποτελέσµατα για εικόνες µε ακµές και γωνίες, για κείµενα, λογότυπα κ.λ.π. Ματράκα Κατερίνα 10
Ψηφιακή εικόνα και Photoshop Η ψηφιακή φωτογραφία ήταν άπιαστο όνειρο μόλις πριν μερικά χρόνια για το μέσο χρήστη. Οι διαφορές της με τη συμβατική λειτουργούν θετικά υπέρ της σε σχέση με τη συμβατική, στις περισσότερες περιπτώσεις. Το adobe Photoshop είναι μια ισχυρή εφαρμογή η οποία θέτει τα πρότυπα στον τομέα της ψηφιακής επεξεργασίας εικόνων, παρέχοντας απαράμιλλη ισχύ, ακρίβεια και έλεγχο σε όλους τους χρήστες. (α) 8 bit RGB εικόνα Για να σχηματιστεί μία έγχρωμη ψηφιακή εικόνα απαιτούνται 2 8 =256 bit για κάθε ένα από τα τρία χρώματα ανά pixel. Ας θεωρήσουμε μία ψηφιακή εικόνα ανάλυσης 3000 x 2000 pixels. Για την εικόνα αυτή έχουμε: 3000*2000=6000000=6*10 6 pixels. Οπότε για τα τρία (3) χρώματα από 2 8 =256 bit για κάθε ένα απαιτούνται: 6*10 6 *3*8=1,44*10 8 bit=17,16mbyte. (β) 8 bit Grayscale εικόνα Σε αντιστοιχία με την έγχρωμη εικόνα, η ασπρόμαυρη απαιτεί μόνο 256 bit ανά pixel μιας και το χρώμα είναι ένα, το μαύρο. Οπότε η παραπάνω εικόνα χρειάζεται: 6*10 6 *8=4,8*10 7 bit=5,72 Mbyte Για να δούμε τις παραπάνω πληροφορίες αρκεί να πατήσουμε στο Photoshop Image Mode όπως φαίνεται στην παρακάτω εικόνα. Ματράκα Κατερίνα 11
Εργαλεία Photoshop Το Photoshop αποτελείται από τρεις βασικούς τομείς. (α) Την παλέτα εργαλείων (β) Την περιοχή ρύθμισης του επιλεγμένου εργαλείου (γ) Τα παράθυρα πληροφοριών (Info, Layers, History, κτλ.) Ματράκα Κατερίνα 12
(α) Η παλέτα εργαλείων Ορισμένα από τα εργαλεία έχουν παραπάνω από μία επιλογές. Τα εργαλεία αυτά, είναι εκείνα τα οποία έχουν ένα μικρό τρίγωνο κάτω δεξιά. Για να εμφανιστούν οι επιλογές αυτές, αρκεί ένα παρατεταμένο πάτημα του ποντικιού. Η ρύθμιση κάθε εργαλείου όπως π.χ μέγεθος και σκληρότητα βούρτσας πραγματοποιείται από τον τομέα «Ρύθμιση επιλεγμένου εργαλείου» Ματράκα Κατερίνα 13
(β) Παράθυρα πληροφοριών Πληροφορίες για το χρώμα σε συγκεκριμένο σημείο μιας εικόνας μπορεί να δει κανείς από το Info Window (Window Info). Στο πάνω αριστερά φαίνεται ο τόνος κάθε χρώματος (0-255) στο σημείο που βρίσκεται το ποντίκι. Πάνω δεξιά φαίνονται πάλι πληροφορίες χρώματος στο πρότυπο CMYK το οποίο χρησιμοποιείται ως επί τω πλείστον σε εκτυπωτές και τυπογραφικά μηχανήματα (Cyan Magenta Yellow Key (=black)). Κάτω δίδονται πληροφορίες για της συντεταγμένες στις οποίες βρισκόμαστε (οι μονάδες μέτρησης μπορεί να αλλάξουν) καθώς και για το μέγεθος του crop. 3. Προετοιμασία φωτογραφίας για το Διαδίκτυο Συχνά θέλουμε να βάλουμε στο διαδίκτυο μία φωτογραφία την οποία είτε την έχουμε τραβήξει με μία ψηφιακή φωτογραφική μηχανή, είτε την έχουμε σκανάρει από το αρνητικό φιλμ. Τα αρχεία που έχουμε και στις δύο περιπτώσεις είναι απαγορευτικά μεγάλα. Για το λόγω αυτό είναι σκόπιμο να μικρύνουμε την φωτογραφία πριν την ανεβάσουμε σε κάποιον ιστότοπο. Αρχικά ανοίγουμε μία φωτογραφία από το μενού File Open. Υπάρχει περίπτωση να μας ενδιαφέρει ένα συγκεκριμένο τμήμα στην φωτογραφία το οποίο να θέλουμε να απομονώσουμε και να απορρίψουμε το υπόλοιπο. Σε μία ανάλογη περίπτωση επιλέγουμε το Crop Tool και μαρκάρουμε την περιοχή που μας ενδιαφέρει. Έπειτα πατάμε το κουμπί τικ. Ματράκα Κατερίνα 14
Στη συνέχεια επιλέγουμε Image Image Size και στο Width βάζουμε πχ 800 pixels. Παρατηρούμε ότι ταυτόχρονα αλλάζει και το Height αφού είναι επιλεγμένο το Constraint Proportions. Επίσης επιλεγμένα θα πρέπει να είναι και το Resample Image και το Scale Styles. Έχοντας μεταβάλλει το μέγεθος της εικόνας μας είναι λογικό να έχουμε απώλειες στην οξύτητα. Για το λόγω αυτό κάνουμε χρήση του Unsharp Mask από το μενού Filter Sharpen Unsharp Mask. Ματράκα Κατερίνα 15
Πριν κάνουμε Unsharp Mask (USM) καλό θα είναι να φέρουμε την εικόνα στο 100% με τον συνδυασμό πλήκτρων Ctrl + + (αντίστοιχα μειώνουμε με Ctrl + -) ούτως ώστε να βλέπουμε άμεσα τις μεταβολές που προκαλούν οι ρυθμίσεις μας. Το USM θέλει προσοχή στη χρήση του για να μην δημιουργηθούν αντιαισθητικά halos. Τέλος σώζουμε τη φωτογραφία μας σε μορφή JPG πατώντας File Save for Web. ΠΡΟΣΟΧΗ! Δε σώζουμε με το ίδιο όνομα με την αρχική μας φωτογραφία γιατί θα χάσουμε τη γνήσια και θα μείνουμε με μία μικρή και άχρηστη, για οποιαδήποτε άλλη χρήση πλην του διαδικτύου, φωτογραφία. Ματράκα Κατερίνα 16
ΚΕΦΑΛΑΙΟ 2 ΕΙΣΑΓΩΓΗ ΣΤΟ LINUX Ματράκα Κατερίνα 17
ΤΙ ΕΙΝΑΙ ΤΟ LINUX Η εφαρμογή αναπτύχθηκε και εγκαταστάθηκε σε περιβάλλον Linux. Το Linux είναι ένα λειτουργικό σύστημα για προσωπικούς υπολογιστές και σταθμούς εργασίας το οποίο τώρα πλέον διαθέτει χαρακτηριστικά ενός πλήρως λειτουργικού γραφικού περιβάλλοντος επικοινωνίας χρήστη (graphical user interface- GUI), ακριβώς όπως τα Windows και τα Mac. Το Linux αναπτύχθηκε στις αρχές της δεκαετίας του 1990 από τον Linus Torvald, σε συνεργασία με άλλους προγραμματιστές σε όλο τον κόσμο. Σαν λειτουργικό σύστημα, το Linux λειτουργεί με τον ίδιο τρόπο όπως το UNIX,το Mac και τα Windows. Όμως το Linux διακρίνεται για την ισχύ και την ευελιξία του. Τα λειτουργικά συστήματα αναβαθμίζονται συνεχώς για να παρακολουθήσουν τις συνεχώς μεταβαλλόμενες δυνατότητες των επί μέρους συσκευών των προσωπικών υπολογιστών. Το Linux, από την άλλη πλευρά, αναπτύχθηκε σε ένα διαφορετικό πλαίσιο. Αποτελεί την έκδοση για προσωπικούς υπολογιστές του λειτουργικού συστήματος UNIX, το οποίο χρησιμοποιήθηκε επί δεκαετίες σε υπολογιστές main-frame και μίνι, και τώρα είναι το σύστημα επιλογής για σταθμούς εργασίας. Το Linux φέρνει την ταχύτητα, την απόδοση και την ευελιξία του UNIX στον προσωπικό υπολογιστή, εκμεταλλευόμενο όλες τις δυνατότητες που προσφέρουν σήμερα οι προσωπικοί υπολογιστές. Μαζί με τις δυνατότητες του UNIX έρχονται και οι πανίσχυρες δυνατότητες δικτύωσης, συμπεριλαμβανόμενης και της υποστήριξης για Internet, intranet, Windows και δικτύωσης Apple Talk. Στην βασική του έκδοση το Linux περιλαμβάνει γρήγορους, αποδοτικούς, και σταθερούς διακομιστές του Internet, όπως οι διακομιστές Web, FTP και Gopher, καθώς επίσης και οι διακομιστές ονομάτων περιοχής, διαμεσολάβησης, ανάγνωσης συζητήσεων, αλληλογραφίας, και ευρετηριοποίησης. Με άλλα λόγια, το Linux διαθέτει οτιδήποτε χρειαζόμαστε για να εγκαταστήσουμε, να υποστηρίξουμε και να συντηρήσουμε ένα πλήρες λειτουργικό δίκτυο. Το Linux διατίθεται δωρεάν, συμπεριλαμβανόμενων των διακομιστών δικτύου και των επιφανειών εργασίας GUI. Σε αντίθεση με το επίσημο λειτουργικό σύστημα του UNIX, το Linux διανέμεται δωρεάν κάτω από μια GNU General Public License όπως καθορίζεται Ματράκα Κατερίνα 18
από την Free Software Foundation. Το Linux προστατεύει τα πνευματικά του δικαιώματα και δεν είναι δημόσιας χρήσης. Όμως, μια GNU Public License έχει περίπου τα ίδια αποτελέσματα σαν να είναι δημόσιας χρήσης. Η GNU Public License είναι σχεδιασμένη για να εξασφαλίσει ότι το Linux διατίθεται δωρεάν, και ταυτόχρονα είναι τυποποιημένο. Μόνο ένα επίσημο Linux υπάρχει. Το GNU είναι ένα έργο που άρχισε και συντονίζεται από την Free Software Foundation με σκοπό να παρέχει δωρεάν λογισμικό στους χρήστες και στους προγραμματιστές. Η λίστα του διαθέσιμου λογισμικού κάτω από την GNU Public License είναι μεγάλη, συμπεριλαμβάνοντας περιβάλλοντα, γλώσσες προγραμματισμού, εργαλεία του Internet και κειμενογράφους. Οι άνθρωποι μερικές φορές έχουν την λανθασμένη εντύπωση ότι το Linux είναι κάτι λιγότερο από ένα επαγγελματικό λειτουργικό σύστημα, επειδή διανέμεται δωρεάν. Το Linux είναι στην πραγματικότητα μια έκδοση του UNIX για προσωπικούς υπολογιστές και σταθμούς εργασίας. Πολλοί το θεωρούν κατά πολύ σταθερότερο και ισχυρότερο από τα Windows. Αυτή η ισχύς και η σταθερότητα κατέστησαν το Linux ένα λειτουργικό σύστημα επιλογής για να χρησιμοποιηθεί σαν διακομιστής δικτύου. Ματράκα Κατερίνα 19
ΔΟΜΗ ΤΟΥ LINUX Όπως το UNIX, το Linux μπορεί γενικά να θεωρηθεί ότι αποτελείται από τρία κύρια συστατικά: Τον πυρήνα, το κέλυφος και τη δομή αρχείων. Ο πυρήνας (kernel) είναι το πρόγραμμα πυρήνα το οποίο τρέχει προγράμματα και διαχειρίζεται συσκευές υλικού, όπως οι δίσκοι και οι εκτυπωτές. Το περιβάλλον (Environment) παρέχει στο χρήστη ένα περιβάλλον επικοινωνίας. Δέχεται εντολές από αυτόν και τις στέλνει στον πυρήνα για εκτέλεση. Η δομή αρχείων (file structure) καθορίζει τον τρόπο με τον οποίο αποθηκεύονται τα αρχεία σε μια συσκευή αποθήκευσης, όπως ένας δίσκος. Τα αρχεία είναι οργανωμένα σε καταλόγους. Κάθε κατάλογος μπορεί να περιέχει οποιοδήποτε αριθμό υποκαταλόγων, κάθε ένας από τους οποίους με τη σειρά του περιέχει αρχεία. Ο πυρήνας, το περιβάλλον, και η δομή αρχείων μαζί αποτελούν τη δομή του βασικού λειτουργικού συστήματος. Με αυτά τα τρία, μπορούμε να τρέξουμε προγράμματα, να διαχειριστούμε αρχεία και να αλληλεπιδράσουμε με το σύστημα. Σχήμα 5 Βασικά στοιχεία ενός συστήματος Linux Ματράκα Κατερίνα 20
ΕΓΚΑΤΑΣΤΑΣΗ LINUX RED HAT 9 Παρακάτω παρουσιάζεται η διαδικασία με την οποία εγκαταστήσαμε το Linux Red Hat 9 σε PC πάνω στο οποίο «στήθηκε» η εφαρμογή μας. Πριν την εγκατάσταση του Linux, θα πρέπει να είμαστε σίγουροι ότι ο υπολογιστής μας ικανοποιεί τις ελάχιστες απαιτήσεις υλικού. Χρειάζεται επίσης να βεβαιωθούμε ότι έχουμε ορισμένες πληροφορίες έτοιμες, οι οποίες αφορούν την οθόνη, την κάρτα βίντεο το ποντίκι, και τον οδηγό CD_ROM. Η πρώτη οθόνη ζητά να επιλέξουμε τη γλώσσα που θέλουμε να χρησιμοποιήσουμε. Κάνουμε κλικ στη γλώσσα που θέλουμε και στη συνέχεια κλικ στο κουμπί next. Στην επόμενη οθόνη θα ρυθμίσουμε το πληκτρολόγιο. Η οθόνη εμφανίζει λίστες για επιλογή του μοντέλου του πληκτρολογίου, της διάταξης, και επιλογές. Σ' αυτές τις περιπτώσεις ένα πρωτογενές μοντέλο λειτουργεί καλά. Στην επόμενη οθόνη ρυθμίζουμε το ποντίκι. Η εικόνα εμφανίζει τους διάφορους τύπους ποντικιών μαζί με τα ειδικά μοντέλα. Κάνουμε κλικ στο σύμβολο + για να αναπτύξουμε μια λίστα μοντέλων. Επιλέγουμε το ποντίκι μας. Μπορούμε επίσης να τσεκάρουμε ένα κουμπί στη βάση της οθόνης για να έχουμε ένα ποντίκι δυο κουμπιών να εξομοιώνει ένα ποντίκι τριών κουμπιών. Ένα πρωτογενές ΡS/2 ή σειριακό ποντίκι θα λειτουργεί σε περίπτωση που το μοντέλο μας δεν υπάρχει στη λίστα. Αν επιλέξουμε ένα σειριακό ποντίκι θα πρέπει να επιλέξουμε επίσης τη θύρα και τη συσκευή στην οποία είναι συνδεδεμένο. Τώρα που το πληκτρολόγιο και το ποντίκι είναι ρυθμισμένα, μπορούμε να αρχίσουμε τη διαδικασία εγκατάστασης. Η επόμενη οθόνη εμφανίζει ένα μήνυμα Welcome to Red Hat. Κάνουμε κλικ στο κουμπί Next για να συνεχίσουμε. Στην επόμενη οθόνη, η οποία ονομάζεται Install Path, επιλέγουμε αν θέλουμε να εγκαταστήσουμε ένα καινούργιο σύστημα ή να αναβαθμίσουμε ένα προηγούμενο. Στο πάνελ που ονομάζεται Install Type κάνουμε κλικ στο κουμπί Install. Εφόσον επιλέξαμε την εγκατάσταση Install μπορούμε στη συνέχεια να καθορίσούμε μια διαφορετική κλάση εγκατάστασης. Μπορούμε να επιλέξούμε ένα σταθμό εργασίας Gnome ή KDE, μια εγκατάσταση διακομιστή, ή μια προσαρμοσμένη εγκατάσταση. Ματράκα Κατερίνα 21
Οι εγκαταστάσεις σταθμών εργασίας Gnome και KDE διαγράφουν αυτόματα όλα τα διαμερίσματα Linux στον υπολογιστή και τα χρησιμοποιούν για να εγκαταστήσουν Red Hat Linux. Εμείς επιλέξαμε την εγκατάσταση Server. Η εγκατάσταση Server θα διαγράψει όλα τα διαμερίσματα του σκληρού δίσκου του υπολογιστή, συμπεριλαμβανομένων των διαμερισμάτων Windows και OS/2. Η εγκατάσταση Server είναι για υπολογιστές που θα λειτουργήσουν αποκλειστικά σαν διακομιστές και οι οποίοι θα εκτελούν μόνο εργασίες διακομιστή δικτύου. Εάν κάποιος χρησιμοποιεί Windows στον ίδιο υπολογιστή που θέλει να εγκαταστήσει Linux δεν πρέπει να επιλέξει την εγκατάσταση Server. Οι εγκαταστάσεις σταθμών εργασίας Gnome και KDE θα εγκαταστήσουν όλες τις απαραίτητες εφαρμογές για ένα σταθμό εργασίας Linux, με τις Επιφάνειες εργασίας Gnome ή KDE σαν προεπιλεγμένες επιφάνειες εργασίας. Η εγκατάσταση Server θα εγκαταστήσει προγράμματα διακομιστή που θα επιτρέψουν στο σύστημα του Linux να λειτουργήσει σαν διακομιστής δικτύου Εφόσον επιλέξαμε την επιλογή Server, τότε εμφανίζεται μια οθόνη Automatic Partitioning με δύο επιλογές, Manually Partition και Remove Data. Στο Manually Partition μπορούμε να ελέγξουμε και να επιλέξουμε τα διαμερίσματα που θέλουμε να εγκαταστήσουμε και να μορφοποιήσουμε. Εμείς επιλέγουμε Remove Data. Με την επιλογή αυτή η Workstation θα διαγράψει οποιαδήποτε υπάρχον διαμερίσματα Linux στο σύστημα μας, ενώ η εγκατάσταση Server θα διαγράψει όλα τα διαμερίσματα μας (συμπεριλαμβανομένων των Windows). LILO Αφού τα διαμερίσματα μας έχουν προετοιμαστεί, εγκαθιστούμε το Linux LOader (LILO). Χρησιμοποιούμε το LILO για να ξεκινήσουμε το Red Hat Linux από το σκληρό μας δίσκο. Μπορούμε επίσης να το χρησιμοποιήσουμε για να ξεκινήσουμε οποιοδήποτε άλλο Λειτουργικό σύστημα εάν έχουμε εγκατεστημένο στον υπολογιστή μας, όπως τα Windows. Έχουμε δύο επιλογές σχετικά με το πού να εγκαταστήσουμε το LILO: το Master Boot Record (MBR) ή το διαμέρισμα ρίζας. Το συνιστώμενο είναι το MBR. Η οθόνη Configuration εμφανίζει διάφορες επιλογές του LILO. Εδώ μπορούμε να επιλέξουμε που θα εγκαταστήσουμε το LILO (MBR ή διαμέρισμα ρίζας), μια ετικέτα για το σύστημα του Linux (συνήθως Ματράκα Κατερίνα 22
Linux ), εάν Θα είναι το προεπιλεγμένο σύστημα (εάν έχουμε περισσότερα από ένα λειτουργικά συστήματα), και να καθορίσουμε οποιεσδήποτε παραμέτρους πυρήνα που πιθανόν απαιτεί το σύστημά μας για το Linux. Στο πάνω μέρος της οθόνης υπάρχουν επιλογές για τη δημιουργία ενός δίσκου εκκίνησης και ΟΧΙ για να εγκαταστήσουμε το LILO. Η επιλογή δίσκου εκκίνησης γίνεται αυτόματα. Μπορούμε να χρησιμοποιήσουμε τη δισκέτα εκκίνησης για να ξεκινήσουμε το σύστημα του Linux, σε περίπτωση που έχουμε πρόβλημα με την εκκίνηση από το σκληρό δίσκο (για παράδειγμα, εάν επανεγκαταστήσουμε τα Windows στην μονάδα του σκληρού μας δίσκου, το LILO διαγράφεται και θα χρειαστεί να χρησιμοποιήσουμε τη δισκέτα εκκίνησης για να ξεκινήσετε το Linux, ώστε να μπορέσουμε να εγκαταστήσουμε και πάλι το LILO). Η βάση της οθόνης εμφανίζει μια λίστα από διαμερίσματα με δυνατότητα εκκίνησης. Η επιλογή ενός από αυτά μας επιτρέπει να εισάγουμε ειδικές πληροφορίες για το διαμέρισμα στο πάνω τμήμα, όπως είναι ο τίτλος που θέλουμε να δώσουμε σε αυτό το διαμέρισμα και οποιεσδήποτε απαιτούμενες παραμέτρους πυρήνα. Το διαμέρισμα ρίζας ή εκκίνησης Linux χρησιμοποιεί συνήθως ένα τίτλο με το όνομα " Linux" και ένα διαμέρισμα Windows μπορεί να ονομάζεται "Win". ΡΥΘΜΙΣΗ ΔΙΚΤΥΟΥ Η οθόνη Networking Configuration εμφανίζει καρτελοποιημένα τμήματα στο πάνω μισό μέρος για διάφορες συσκευές δικτύου του υπολογιστή. Κάνουμε κλικ στην καρτέλα για τη συσκευή που θέλουμε να ρυθμίσουμε. Επειδή ο υπολογιστής μας είναι ήδη συνδεδεμένος σε ένα δίκτυο με κάρτα Ethernet, η καρτέλα ονομάζεται eth0. Μια τέτοια καρτέλα εμφανίζει ένα τμήμα με πλαίσια για την εισαγωγή διαφόρων διευθύνσεων ΙΡ για το δίκτυο που είναι προσβάσιμο μέσα από αυτή τη συσκευή. Αυτές περιλαμβάνουν την διεύθυνση ΙΡ της συσκευής (συνήθως την διεύθυνση ΙΡ του υπολογιστή μας), τη διεύθυνση του δικτύου, και τη διεύθυνση εκπομπής, μαζί με τη μάσκα του δικτύου. Το τμήμα στη βάση τηρεί πλαίσια για την εισαγωγή διευθύνσεων ΙΡ για τους υπολογιστές Domain Name Servers (DNS) και Gateway για το δίκτυο μας, καθώς επίσης και το όνομα του κεντρικού υπολογιστή που θέλουμε να δώσουμε στο σύστημα μας. Στο πλαίσιο Hostname εισάγουμε το πλήρες όνομα περιοχής για τον υπολογιστή μας. Στην οθόνη Account Configuration, μπορούμε να ορίσουμε το κωδικό πρόσβασης ρίζας για το λογαριασμό ρίζας του συστήματος μας. Αυτός είναι ο λογαριασμός που χρησιμοποιείται για λειτουργίες διαχείρισης του συστήματος όπως είναι η εγκατάσταση του λογισμικού και η διαχείριση των χρηστών. Στην ίδια οθόνη μπορούμε επίσης να προσθέσουμε Ματράκα Κατερίνα 23
κοινούς λογαριασμούς χρηστών. X WINDOWS System Επειδή δεν μας ενδιαφέρει η χρήση των Χ Windows κάνουμε κλικ στο πλαίσιο ελέγχου skip Χ Configuration για να παρακάμψουμε τη ρύθμιση του X Windows System. Βέβαια η ρύθμιση του X Windows System μπορεί να γίνει αργότερα εφόσον έχουμε εγκαταστήσει το σύστημά μας. Η οθόνη Installing Packages η οποία εμφανίζεται στη συνέχεια, δείχνει κάθε πακέτο καθώς εγκαθίσταται, καθώς επίσης και την πρόοδο εγκατάστασης. Όταν ολοκληρωθεί η εγκατάσταση, το κουμπί Next θα ενεργοποιηθεί. Μπορούμε στη συνέχεια να μετακινηθούμε στην οθόνη Boot Disk Creation. Εδώ μπορούμε να δημιουργήσουμε ένα δίσκο εκκίνησης χρησιμοποιώντας μια τυπική δισκέτα. Αφού δημιουργηθεί η δισκέτα εκκίνησης, η εγκατάσταση έχει ολοκληρωθεί. Κάνουμε κλικ στο κουμπί Exit στην τελική οθόνη. Το σύστημα μας θα ξεκινήσει και πάλι εμφανίζοντας μια προτροπή εκκίνησης LILO. Εφόσον εγκαταστήσαμε το Linux σαν το προεπιλεγμένο λειτουργικό σύστημα, απλά πατάμε Ender. ΤΟ LINUX στη συνέχεια θα ξεκινήσει. Εάν το Linux δεν ήταν το προεπιλεγμένο σύστημα μας, εισάγουμε τον τίτλο που του δώσαμε όταν ρυθμίσαμε το LILO (συνήθως "linux"). Όταν το σύστημα μας ξεκινήσει και πάλι, η προτροπή σύνδεσης θα εμφανιστεί. Μπορούμε στη συνέχεια να συνδεθούμε στο σύστημα μας χρησιμοποιώντας το όνομα σύνδεσης και ένα κωδικό πρόσβασης. Εάν συνδεθούμε σαν χρήστης ρίζας μπορούμε να εκτελέσούμε λειτουργίες διαχείρισης όπως η εγκατάσταση νέου λογισμικού ή η δημιουργία επιπλέον χρηστών. Για να συνδεθούμε σαν χρήστης ρίζας, εισάγουμε root στην προτροπή σύνδεσης και τον κωδικό πρόσβασης χρήστη ρίζας. Εάν το σύστημα μας αποτύχει να ξεκινήσει οποιαδήποτε στιγμή, μπορούμε να χρησιμοποιήσουμε το δίσκο εκκίνησης που δημιουργήσαμε για να εκτελέσουμε μια εκκίνηση ανάγκης. Μπορούμε επίσης να χρησιμοποιήσουμε το δίσκο εγκατάστασης και, στην προτροπή εκκίνησης, να εισάγουμε: boot rw root= με το όνομα της συσκευής του διαμερίσματος ρίζας του Linux. Για παράδειγμα, το δικό μας διαμέρισμα ρίζας του Linux είναι /dev/hda2 τότε θα πρέπει να εισάγουμε boot rw root=/dev/hda2 Ματράκα Κατερίνα 24
ΚΕΦΑΛΑΙΟ 3 WEBSH - TCL Ματράκα Κατερίνα 25
WEBSH Τι είναι το Websh Το Websh είναι ένα ευέλικτο περιβάλλον ανάπτυξης, για την δημιουργία ισχυρών, γρήγορων, και αξιόπιστων εφαρμογών Web. Το Websh είναι ευπροσάρμοστο, και μπορεί να συμπεριλάβει τη χρήση της HTML, σε σχέση με τη δημιουργία βάσεων δεδομένων, οι οποίες προσανατολίζονται στη δημιουργία ξεχωριστών σελίδων. Το περιβάλλον αυτό χρησιμοποιείται ευρέως τα τελευταία χρόνια σε πολλά προγράμματα επιχειρήσεων της Netcetera, όπως καταστήματα ηλεκτρονικού εμπορίου καθώς και σε ηλεκτρονικές τραπεζικές εφαρμογές. Το Websh είναι επεκτάσιμο και το σύνολο εντολών του γίνεται εύκολα κατανοητό. Προϊόν ελεύθερου λογισμικού Το Websh είναι προϊόν ελεύθερου λογισμικού. Ο κώδικάς του, όπως και τα δυαδικά αρχεία πλατφόρμας είναι διαθέσιμα για download μέσω διαδικτύου, δωρεάν. Οι χρήστες Websh έχουν τον πλήρη έλεγχο και την ευελιξία να επεμβαίνουν μέσα σε αυτό, καθιστώντας το ασφαλές και μη προσβάσιμο από εξωτερικούς παράγοντες. Apache 2 ενότητα Το Websh έχει τη δυνατότητα αναβάθμισης. Η διεπαφή CGI εξασφαλίζει ότι το Websh μπορεί να υιοθετηθεί ουσιαστικά παντού, χρησιμοποιώντας τους off-the-shelf κεντρικούς υπολογιστές δικτύου Ιστορία Websh Η ανάπτυξη Websh άρχισε το 1996 και από τότε χρησιμοποιείται επιτυχώς σε πολλά προγράμματα πελατών της εταιρίας Netcetera. Ενώ το Διαδίκτυο αλλάζει με γρήγορο ρυθμό, οι βασικές τεχνολογίες παραμένουν σταθερές και το Websh έχει χτιστεί για να τις χειρίζεται. Η έκδοση Websh 3 έχει ενσωματώσει όλα τα χαρακτηριστικά και την τεχνογνωσία των προηγούμενων εκδόσεων. Ματράκα Κατερίνα 26
Με βάση την Tcl Το Websh είναι βασισμένο στη γλώσσα TCL. H Tcl (Tool Command Language) είναι μια open source, scripting γλώσσα, καθώς και μια βιβλιοθήκη. Η ανάπτυξη της Tcl άρχισε το 1987 στο πανεπιστήμιο Μπέρκλεϋ της Καλιφόρνια από τον John K. Ousterhout και συνεχίζεται από ομάδα εθελοντών κάτω από την επιστασία της Tcl Core Team. Είναι Γλώσσα Υψηλού Επιπέδου, πιο αφαιρετική σε σχέση με την Γλώσσα C και ο ίδιος κώδικας τρέχει σε Πλατφόρμες Windows, Linux, Unix, Macintosh. Χρησιμοποιεί έναν Interpreter που είναι ο διερμηνέας ανάμεσα στον κώδικα και στο Λειτουργικό Σύστημα, ο οποίος είναι φυσικά διαφορετικός για το κάθε λειτουργικό σύστημα. Τα χαρακτηριστικά της είναι τα εξής: Είναι δυναμική Script γλώσσα Παρέχει γρήγορη ανάπτυξη εφαρμογών Είναι ιδανική "glue language" γιατί μπορεί εύκολα να ενσωματωθεί και σε άλλες γλώσσες όπως η C και η C++ Οι χρήστες δημιουργούν εύκολα εφαρμογές χωρίς να χρειάζεται να εμβαθύνουν σε πολύπλοκα χαρακτηριστικά της γλώσσας Είναι δωρεάν Η επιλογή να χτιστεί το Websh πάνω από την Tcl έχει διάφορα πλεονεκτήματα, τα οποία το καθιστούν ιδιαίτερα "ευέλικτο". Το σχήμα 6 δίνει μια επισκόπηση της αρχιτεκτονικής Websh. Οι περισσότερες WEB εφαρμογές πρέπει να έχουν τη δυνατότητα να Ματράκα Κατερίνα 27
διαχωρίζουν τα στοιχεία από άλλα στατικά μέρη (configurability). Παραδείγματος χάριν, η παραγωγή HTML πρέπει να είναι μεταβλητή χωρίς να είναι απαραίτητο το recompilation της εφαρμογής. Χρησιμοποιώντας Tcl, τέτοια διαμορφώσιμα μέρη μπορούν να σχεδιαστούν ως snipplets κώδικα Tcl και αρχεία διαμόρφωσης. Οι WEB εφαρμογές απαιτούν έναν υψηλό βαθμό ευελιξίας ή επεκτασιμότητας. Το Websh δεν διαχειρίζεται την πρόσβαση σε βάσεις δεδομένων, αλλά στηρίζεται στις αποδεδειγμένες επεκτάσεις της Tcl για αυτόν τον στόχο. Η επιλογή της Tcl για Websh καθιστά αυτόματα ευέλικτο και επεκτάσιμο το ίδιο το Websh. Τέλος, οι WEB εφαρμογές πρέπει να έχουν τη δυνατότητα να αναπτυχθούν σε ένα ευρύ φάσμα πλατφορμών. Η Tcl έχει τη δυνατότητα να εγκαθίσταται σε όλα τα λειτουργικά συστήματα. Η ενσωμάτωση Tcl εξασφαλίζει έτσι τη φορητότητα του Websh. Σχέδιο Websh Το Websh έχει ένα modular design, δίνοντας έμφαση στην ασφάλεια της εφαρμογής. Κάθε module διαχειρίζεται τις δικές του πληροφορίες, και οι μηχανισμοί ασφαλείας χρησιμοποιούνται όπου απαιτείται. Τα Websh modules είναι επεκτάσιμα μέσω του plug - ins. Το σχήμα 7 δίνει μια επισκόπηση των ενοτήτων Websh. Παρακάτω, κάθε ενότητα περιγράφεται σύντομα. Request/URL (αίτημα και διαχείριση url) Η ανάπτυξη εφαρμογής Websh δεν απαιτεί τη γνώση του πρωτοκόλλου http, αλλά επικεντρώνεται στο λογικό τμήμα ανάπτυξης της εφαρμογής και αφήνει τα υπόλοιπα στο Websh. Αυτό το module αναλύει τα στοιχεία HTML που εισάγονται από τον browser και τα καθιστά διαθέσιμα στο Websh. Ένα από τα διαφοροποιητικά χαρακτηριστικά Websh είναι η ικανότητα κρατικής διαχείρισής του. Οι βασισμένες στο WEB εφαρμογές πρέπει συχνά να φέρουν τις πληροφορίες από μια transaction HTTP στην Ματράκα Κατερίνα 28