Εγχειρίδιο εγκατάστασης και διαχείρισης συστήματος ΥΠΕΡΙΩΝ Σύστημα Αποτίμησης Ποιότητας Ευρυζωνικών Συνδέσεων



Σχετικά έγγραφα
Σύστημα Αποτίμησης Ποιότητας Ευρυζωνικών Συνδέσεων (ΣΑΠΕΣ)

XAMPP Apache MySQL PHP javascript xampp

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

Αραπογιάννης Β. Τεχν.ΚΕΠΛΗΝΕΤ Αγρινίου

Ρυθμίσεις εγκατάστασης ονόματος χώρου σε πίνακα ελέγχου plesk

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

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

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

ARTius με PostgreSQL

JOOMLA CMS ΒΑΣΙΚΗ ΠΑΡΑΜΕΤΡΟΠΟΙΗΣΗ (PART I)

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

Η πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης GUnet eclass 1.7 έχει δοκιμαστεί και λειτουργεί κανονικά:

Εργαστήριο 3. Εγκατάσταση LAMP Stack στο AWS


PHP/MySQL και Project

ΤΕΣΤ ΠΙΣΤΟΠΟΙΗΣΗΣ ΓΝΩΣΕΩΝ ΚΑΙ ΔΕΞΙΟΤΗΤΩΝ

Α.Τ.Ε.Ι. ΚΑΒΑΛΑΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

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

Προγραμματισμός διαδικτυακών εφαρμογών με PHP

Epsilon Net PYLON Platform

Εφαρμογή Βάσης Δεδομένων για την Εθελοντική Αιμοδοσία στο ΑΤΕΙ-Θ

μ μ «μ»

ΚΕΦΑΛΑΙΟ Web Services

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

Διαχείριση χρηστών και δικαιωμάτων

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Ρύθμιση Εξυπηρετητή Apache σε Ubuntu Linux

Θέματα Προγραμματισμού Διαδικτύου ~ MySQL & PHP ~

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

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED σχεδιασμός ιστοσελίδας ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ FORUM SITE

Περιεχόμενα. Πρόλογος... xiii

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

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

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

Βασική εγκατάσταση Asterisk σε Linux

Προστασία Δεδομένων Φυσικών Προσώπων - GDPR

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

Πρότυπες εφαρμογές ανάλυσης Αστικών Δεδομένων

ΥΠΕΡΙΩΝ Σύστημα Αποτίμησης Ποιότητας Ευρυζωνικών Συνδέσεων. Μεθοδολογία υπολογισμού στατιστικών ανά γεωγραφική περιοχή

A J A X AJAX Γιάννης Αρβανιτάκης

Κωνσταντίνος Παρασκευόπουλος Καθηγητής Πληροφορικής (ΠΕ19 MSc) Ελληνικό Κολλέγιο Θεσσαλονίκης

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

Ελένη Σακέρογλου Επιβλέπων Καθηγητής: Δρ. Μηνάς Δασυγένης

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

Βάσεις Δεδομένων

Σύστημα Διαχείρισης Περιεχομένου

Αρχίζοντας. Το Joomla τρέχει: Στο Joomla μπορούμε να προσθέσουμε επιπλέον λειτουργικότητα, να την επεκτείνουμε δηλαδή (extensions) PHP MySql

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

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

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

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

Εφαρμογή Ηλεκτρονικής Διαχείρισης Μετεγγραφών

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

Αρχιτεκτονικές Δικτύων & Πρωτόκολλα Ι

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη

Εφαρµογή: Σύστηµα ιαχείρισης ιαδικτυακού Περίπτερου / Ιστοσελίδας στον διαδικτυακό τόπο kalliergea.gr

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στο Λ.Σ. UNIX

Μόλις επανεκκινηθεί το inetd, η υπηρεσία θα απενεργοποιηθεί. Μπορείτε να απενεργοποιήσετε το inetd με την εντολή:

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

Σχεδίαση και ανάπτυξη ιστοχώρου του εργαστηρίου Μηχανικής Λογισμικού. Παληόπουλος Αποστόλης-Παπαναγιώτου Παναγιώτης

Survey 123 User Manual

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

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

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

Βασικές Έννοιες Διαδικτύου, Wordpress και BuddyPress

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

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

HOWTO instal Joomla by A. Andreatos

Οδηγίες Εγκατάστασης της MySQL

Οδηγίες. Xρήση της Υπηρεσίας Φιλοξενίας Προσωπικών Ιστοσελίδων (Private Web hosting)

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

Γενική περιγραφή. Περιγραφή σχεδιασμού εφαρμογής

Εργαλεία ανάπτυξης εφαρμογών internet Ι

ANDROID Προγραμματισμός Εφαρμογών

ΤΕΙ ΗΠΕΙΡΟΥ Τμήμα Τηλεπληροφορικής & Διοίκησης

Web Forms. Το Web Forms βρίσκεται στο µενού Οργάνωση λειτουργίας -> Βοηθητικές εργασίες -> Web Forms.

Παρουσίαση Θερινού Σχολείου. Αριστεία ΕΛ/ΛΑΚ ΤΕΙ Αθήνας

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Ρύθμιση Postfix SMTP Server, Courier IMAP, POP3 σε Ubuntu Linux

Τεχνική Οδηγία. Εγκατάσταση & ρύθμιση MS ISA Server 2000 στο περιβάλλον των σχολικών εργαστηρίων. Έκδοση 1.0. Ιανουάριος 2005

Ο.Π.Σ. σύμφωνα με Π Έκδοση: ι με τη

ΠΡΟΑΙΡΕΤΙΚΑ ΣΕΜΙΝΑΡΙΑ Πληροφορική και Επιστήμη Ηλεκτρονικών Υπολογιστών

Document Scanning System Ιανουάριος, 2014

Οδηγίες Εγκατάστασης της MySQL

Εγχειρίδιο Χρήσης-Οδηγός Εκπαίδευσης Χρηστών. - Δήμος Δέλτα - Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης

Σύστηµα µετάδοσης µετεωρολογικών δεδοµένων σε πραγµατικό χρόνο µέσω του Internet

SCRIPTUM. Διαχείριση του SCRIPTUM eprotocol

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

Σύστημα Αποτίμησης Ποιότητας Ευρυζωνικών Συνδέσεων (ΣΑΠΕΣ) Μεθοδολογία υπολογισμού στατιστικών ανά γεωγραφική περιοχή

Τίτλος Πλατφόρµα Ασύγχρονης Τηλεκπαίδευσης. Συντάκτης. Ακαδηµαϊκό ιαδίκτυο GUnet Οµάδα Ασύγχρονης Τηλεκπαίδευσης

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή

Αρχιτεκτονικές Δικτύων & Πρωτόκολλα Ι

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

NetBeans και σχετικά προγράμματα. Κακαρόντζας Γεώργιος Κέντρο Αριστείας Ανοιχτού Λογισμικού ΑΠΘ 1ο Θερινό Σχολείο Κώδικα

Εγχειρίδιο Ζωντανών Μεταδόσεων Υπηρεσιών Βίντεο. Πανεπιστημίου Κρήτης. Εγχειρίδιο τεχνικού μετάδοσης

Κεφάλαιο 4 Λογισμικό συστήματος. Εφαρμογές Πληροφορικής Κεφ.4 Καραμαούνας Πολύκαρπος 1

ΓΕΝΙΚΗ ΓΡΑΜΜΑΤΕΙΑ ΔΗΜΟΣΙΩΝ ΕΠΕΝΔΥΣΕΩΝ & ΕΣΠΑ

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Εξυπηρετητής Apache

Ρύθμιση apache 2.0 web server σε Debian linux variations

Για τους Χρήστες του RICOH Smart Device Connector: Διαμόρφωση του Μηχανήματος

Transcript:

Εγχειρίδιο εγκατάστασης και διαχείρισης συστήματος ΥΠΕΡΙΩΝ Σύστημα Αποτίμησης Ποιότητας Ευρυζωνικών Συνδέσεων Έκδοση 1.3 Φεβρουάριος 2013 Εγκατάσταση του λογισμικού Οι αναλυτικές απαιτήσεις του συστήματος ΥΠΕΡΙΩΝ σε υλικό και λογισμικό περιγράφονται στο αντίστοιχο κείμενο της ομάδας ανάπτυξης. Ακολουθεί η περιγραφή των σημαντικότερων διαδικασιών εγκατάστασης, ρύθμισης και διαχείρισης θεωρώντας ότι γίνονται σε έναν τυπικό εξυπηρετητή με λειτουργικό σύστημα FreeBSD 8.x με τις τυπικές ρυθμίσεις. Οι διαδικασίες είναι παρόμοιες και σε οποιοδήποτε άλλο λειτουργικό σύστημα ελεύθερου λογισμικού / λογισμικού ανοικτού κώδικα (π.χ. Linux). Παράλληλα, περιγράφεται αδρά πώς κάθε τμήμα της αρχιτεκτονικής επηρεάζει την λειτουργία των υπολοίπων. Απαραίτητες βιβλιοθήκες για το mlab-listen Για την λειτουργία του συλλέκτη των στατιστικών, απαιτείται η εγκατάσταση των εξής Perl Modules: DBD::Mysql (για την επικοινωνία με την βάση δεδομένων) JSON (για το deserialization των μηνυμάτων) Crypt::Rijndael (για την αποκρυπτογράφηση του user-id) Log::Log4perl (για την καταγραφή σε log) Mime::Base64 (για την αποκρυπτογράφηση του user-id) Συνιστάται τα modules να εγκαθίστανται με τον τυπικό τρόπο των FreeBSD ports ώστε τυχόν αναβάθμιση ή διόρθωση στο μέλλον να είναι όσο το δυνατό πιο εύκολη. Εναλλακτικά, μπορεί να χρησιμοποιηθεί το πρόγραμμα cpan, αν και η οδός αυτή εμφανίζει σημαντικές δυσχέρειες εν σχέσει με την πρώτη.

Αρχικοποίηση της Βάσης Δεδομένων Για την καταγραφή μετρήσεων από το εργαλείο NDT και για την λειτουργία του web interface του συστήματος ΥΠΕΡΙΩΝ, απαιτείται η ύπαρξη βάσης δεδομένων MySQL με την οποία επικοινωνούν αυτά τα υποσυστήματα. Για τη συγκεκριμένη υπηρεσία προτείνεται να χρησιμοποιηθεί η έκδοση 5.1.54 της MySQL ή νεότερη. Η εγκατάσταση συνίσταται να γίνει με τον τυπικό τρόπο των FreeBSD ports. Το σχήμα της βάσης περιγράφεται αναλυτικά στο αντίστοιχο παραδοτέο κείμενο της ομάδας ανάπτυξης (βλέπε αρχείο mlab_dsl_v3.sql). Για την αναδημιουργία της δομής της βάσης δεδομένων, απαιτείται τυπικά η εκτέλεση μιας εντολής που δημιουργεί όλο το σχήμα της βάσης δεδομένων ΥΠΕΡΙΩΝ ως εξής: # mysql p < spebs_schema.sql Εκτός από τη δημιουργία της σχετικής βάσης μέσα στην MySQL, απαιτείται η εξουσιοδότηση του χρήστη mlab-listen ώστε ο δαίμονας καταγραφής μετρήσεων να μπορεί να εκτελεί τις παρακάτω ενέργειες στους αντίστοιχους πίνακες: GRANT SELECT ON `spebs`.* TO 'mlab-listen'@'localhost'; GRANT INSERT ON `spebs`.`ndt_measurement` TO 'mlab-listen'@'localhost';grant INSERT ON `spebs`.`web100_measurement` TO 'mlab-listen'@'localhost';grant INSERT ON `spebs`.`measurement` TO 'mlab-listen'@'localhost'; GRANT INSERT ON `spebs`.`generic_measurement` TO 'mlab-listen'@'localhost'; Τα αντίστοιχα grants για την εφαρμογή web είναι: GRANT SELECT ON `spebs`.* TO 'www'@'localhost'; GRANT INSERT ON `spebs`.connection TO 'www'@'localhost'; GRANT UPDATE ON `spebs`.connection TO 'www'@'localhost'; GRANT INSERT ON `spebs`.users TO 'www'@'localhost'; GRANT UPDATE ON `spebs`.users TO 'www'@'localhost'; GRANT INSERT ON `spebs`.user_connection TO 'www'@'localhost'; GRANT UPDATE ON `spebs`.user_connection TO 'www'@'localhost'; GRANT INSERT ON `spebs`.access_logs TO 'www'@'localhost'; GRANT INSERT ON `spebs`.postal_codes TO 'www'@'localhost'; GRANT UPDATE ON `spebs`.postal_codes TO 'www'@'localhost'; Η εξαγωγή στατιστικών των μετρήσεων από την εφαρμογή απαιτεί τη δημιουργία και συχνή ενημέρωση των πινάκων στατιστικών. Για το λόγο αυτό απαιτείται η εκτέλεση του scrtipt spebs_update.php ανά τακτά χρονικά διαστήματα. Προς το παρόν η συχνότητα είναι ρυθμισμένη στα 5 λεπτά μέσω του crontab του χρήστη root, αλλά ενδεχομένως στο μέλλον, ανάλογα με το πλήθος των μετρήσεων και των συνδέσεων αλλά και του χρονικού παραθύρου υπολογισμού τους, να χρειαστεί να μειωθεί. Εγκατάσταση και ρύθμιση του mlab-listen daemon Ο κώδικας του δαίμονα mlab-listen (διατίθεται σε ξεχωριστό πακέτο από την ομάδα ανάπτυξης) μπορεί να τοποθετηθεί σε οποιοδήποτε σημείο του συστήματος, π.χ. /usr/local/mlab-listen. Κάτω από το path bin/ του κώδικα μπορεί να βρεθεί το αρχείο mlab-listen.logger με την βοήθεια του οποίου μπορεί να ρυθμιστεί σε ποιο σημείο καταγράφεται το log λειτουργίας του δαίμονα και πόσο αναλυτικό πρέπει να είναι: log4perl.logger=debug, LOGFILE

Ρυθμίζοντας το επίπεδο καταγραφής σε DEBUG ή WARNING είναι δυνατό να ελεγχθεί ο βαθμός λεπτομέρειας με την οποία καταγράφονται οι ενέργειες του δαίμονα. Άλλες τιμές εκτός από DEBUG ή WARNING επιτρέπονται αλλά δεν έχουν αξία λόγω της απλότητας του κώδικα του δαίμονα. Για την ρύθμιση της τοποθεσίας στην οποία καταγράφεται το log: log4perl.appender.logfile.filename = /var/log/mlab-listen.log Συνιστάται η συμπίεση και ανακύκλωση του log file ανά την περίοδο που κρίνεται απαραίτητη από τον διαχειριστή. Για τη ρύθμιση των διαπιστευτηρίων για τη σύνδεση του δαίμονα στη βάση, συνιστάται η απευθείας τροποποίηση του κώδικα του mlab-listen. Στην αρχή του αρχείου οι μεταβλητές db_driver,db_bas,db_host,db_user και db_password ρυθμίζουν τις λεπτομέρειες σύνδεσης στην βάση. Π.χ. my $db_driver = "mysql"; my $db_dbase = "spebs"; my $db_host = "localhost"; my $db_user = "mlab-listen"; my $db_passwd = 'dummy ; Για την ενεργοποίηση του δαίμονα μέσω του inetd στο αρχείο /etc/inetd.conf απαιτείται η γραμμή: mlab-listen stream tcp nowait/10/3/1 nobody /root/mlab-listen/bin/mlab-listen Επίσης, στο αρχείο /etc/services η γραμμή: mlab-listen 33001/tcp Επειδή ο δαίμονας εκτελείται ως χρήστης nobody για περισσότερη ασφάλεια, πρέπει οπωσδήποτε το αρχείο να έχει τα κατάλληλα permissions ώστε να μπορεί να εκτελεστεί από τον inetd. Μετά την ολοκλήρωση των ρυθμίσεων απαιτείται επανεκκίνηση του inetd. Για να δοκιμάσει κανείς αν λειτουργεί ο δαίμονας, αρκεί μια σύνδεση TCP στο αντίστοιχο port: # telnet localhost mlab-listen για να φανεί αν ο δαίμονας ακούει σε αυτό. Αντίστοιχα μηνύματα για κάθε σύνδεση θα υπάρχουν και στο log file. Σε οποιαδήποτε τροποποίηση του δαίμονα, ιδιαίτερη μέριμνα πρέπει να λαμβάνεται ώστε το πρώτο argument της Perl να είναι πάντα το T ώστε το script να τρέχει κάτω από taint mode για περισσότερη ασφάλεια. Εγκατάσταση και ρύθμιση της εφαρμογής web Για την λειτουργία της εφαρμογής web, απαιτείται η χρησιμοποίηση web server Apache (έκδοσης 2.2.17 ή νεότερης) με υποστήριξη για γλώσσα PHP (έκδοσης 5.3.5 ή νεότερης) σε μορφή Apache HTTPD module (mod_php). Όπως και προηγουμένως, αρκεί η εγκατάσταση μέσω του αντίστοιχου FreeBSD port.

Επιπλέον, χρειάζονται τα εξής FreeBSD ports για ορισμένες εξωτερικές βιβλιοθήκες της PHP: php5-bz2 php5-ctype php5-curl php5-dom php5-filter php5-gd php5-hash php5-iconv php5-json php5-mbstring php5-mcrypt php5-mhash php5-mysql php5-mysqli php5-openssl php5-pcre php5-pdo php5-posix php5-session php5-simplexml php5-soap php5-spl php5-tokenizer php5-xml php5-xmlreader php5-xmlwriter php5-xsl php5-zip php5-zlib The bz2 shared extension for php The ctype shared extension for php The curl shared extension for php The dom shared extension for php The filter shared extension for php The gd shared extension for php The hash shared extension for php The iconv shared extension for php The json shared extension for php The mbstring shared extension for php The mcrypt shared extension for php The mhash shared extension for php The mysql shared extension for php The mysqli shared extension for php The openssl shared extension for php The pcre shared extension for php The pdo shared extension for php The posix shared extension for php The session shared extension for php The simplexml shared extension for php The soap shared extension for php The spl shared extension for php The tokenizer shared extension for php The xml shared extension for php The xmlreader shared extension for php The xmlwriter shared extension for php The xsl shared extension for php The zip shared extension for php The zlib shared extension for php Η εφαρμογή web είναι γραμμένη σε PHP, οπότε απαιτείται απλά η τοποθέτηση του δένδρου του κώδικά της σε ένα directory ενός web server στο οποίο είναι ενεργοποιημένη η PHP. Πχ. αν το directory που βρίσκεται ο κώδικας είναι το /var/www/spebs, τότε αρκεί μια ρύθμιση του τύπου DirectoryIndex index.php index.html index.htm Στο location ή directory tag του configuration του apache. Για τις σχετικές ρυθμίσεις της εφαρμογής web, οι σχετικές μεταβλητές ορίζονται στο αρχείο init.php κάτω από το δένδρο του κώδικα της εφαρμογής. Π.χ. για τις ρυθμίσεις σύνδεσης στην ΒΔ: $user = 'root'; $password = dummy ; $database = 'spebs'; Επειδή η MySQL δεν διαθέτει εσωτερική συνάρτηση υπολογισμού της ενδιάμεσης τιμής (median) είναι απαραίτητη η εγκατάσταση της σχετικής συνάρτησης ως εξωτερική βιβλιοθήκη (MySQL user defined function). Η σχετική υλοποίηση είναι διαθέσιμη από τη σελίδα http://mysql-udf.sourceforge.net/ και υπάρχει σαν FreeBSD

port (databases/mysql-udf). Μετά την εγκατάσταση της βιβλιοθήκης στο σύστημα πρέπει να φορτωθεί (άπαξ) στη MySQL με την εντολή: CREATE AGGREGATE FUNCTION median RETURNS REAL SONAME 'udf_median.so'; Ρύθμιση της κρυπτογράφησης του user-id Το user-id που μεταδίδεται από την εφαρμογή web στο applet και από εκεί στον δαίμονα καταγραφής μετρήσεων είναι κρυπτογραφημένο. Το κλειδί της κρυπτογράφησης είναι ενσωματωμένο στα αρχεία Για αποκρυπτογράφηση: mlab-listen στον δαίμονα καταγραφής μετρήσεων (subroutine decode_id). Για κρυπτογράφηση: library.php στην εφαρμογή web (μέθοδος produce_encoded_str). Σε περίπτωση που χρειαστεί αλλαγή του κλειδιού κρυπτογράφησης, φανερά η αλλαγή πρέπει να γίνει συντονισμένα τόσο στον δαίμονα καταγραφής όσο και στην εφαρμογή web. Σημειώνεται ότι το applet χειρίζεται το user-id σαν ένα αδιαφανές αλφαριθμητικό, οπότε δεν απαιτείται καμία τροποποίηση σε αυτό. Ρύθμιση του εξυπηρετητή για το εργαλείο NDT Για την ρύθμιση του mlab-listen, της εφαρμογής web και του applet που εκτελείται στον browser κάθε χρήστη, χρειάζεται μια σειρά από συνδυασμένες ενέργειες και στα τρία εργαλεία. To ndt.jar πρέπει να τοποθετηθεί στο path που βρίσκεται και η υπόλοιπη εφαρμογή web ώστε να μπορεί να ζητηθεί από τον εκάστοτε browser. Υπενθυμίζεται ότι το ndt.jar πρέπει να είναι υπογεγραμμένο με το κατάλληλο πιστοποιητικό ώστε να μπορεί να ζητήσει ανεβασμένα προνόμια από τον υπολογιστή του χρήστη. Στην αντίθετη περίπτωση, το applet δεν λειτουργεί. Χρήση αυτοϋπογεγραμμένου πιστοποιητικού είναι επιτρεπτή. Σε αυτή την περίπτωση, ο χρήστης θα ρωτηθεί αν εμπιστεύεται το πιστοποιητικό, ερώτηση στην οποία θα πρέπει να απαντήσει καταφατικά για να προχωρήσει. Οι παράμετροι του NDT applet που ενδεχομένως χρειάζονται τροποποίηση είναι οι εξής: reporthost: (υποχρεωτικό) πού βρίσκεται ο δαίμονας mlab-listen. Βρίσκεται ορισμένο στο αρχείο παραμέτρων parameters.inc.php reportport: (προαιρετικό, default 33001) σε ποιο port ακούει ο δαίμονας mlab-listen. Αν χρειαστεί μπορεί να οριστεί απευθείας στο n.php, που είναι το script που περιέχει το περιεχόμενο του frame του NDT. testingserver: (υποχρεωτικό) πού βρίσκεται ο δαίμονας μετρήσεων web100srv. Παίρνει την τιμή της μεταβλητής $measurement_server που ορίζεται στο parameters.inc.php.

Ρύθμιση του εξυπηρετητή για το εργαλείο Glasnost Το εργαλείο Glasnost αποτελείται από δύο μέρη, ένα Java applet και κώδικα PHP. Το Java applet, κατά αντιστοιχία με αυτό του NDT πραγματοποιεί την μέτρηση. Ο κώδικας PHP αναλαμβάνει να λάβει τις παραμέτρους της μέτρησης από το χρήστη και μετά την ολοκλήρωσή της να υπολογίσει, να αποθηκεύσει και να παρουσιάσει τα αποτελέσματα. Καθώς το Java applet από πλευράς εμφάνισης και λειτουργικότητας (user interface) είναι πολύ απλό, δεν χρειάστηκε να τροποποιηθεί και το ΣΑΠΕΣ χρησιμοποιεί την έκδοση που παρέχει το Measurement Lab. Ο κώδικας PHP έχει προσαρμοστεί καταλλήλως και ενσωματώθηκε στον υπόλοιπο κώδικα της εφαρμογής web. Όντας μέρος της εφαρμογής web, δεν χρειάζεται ξεχωριστή εγκατάσταση και παραμετροποίηση. Οι βασικές παράμετροί του υπάρχουν στο αρχείο parameters.inc.php μαζί με τις υπόλοιπες της εφαρμογής. Αρχείο ρυθμίσεων εφαρμογής Οι παράμετροι της εφαρμογής web βρίσκονται όλες συγκεντρωμένες στο αρχείο parameters.inc.php. Αναλυτικά είναι οι ακόλουθες: 1. Ρυθμίσεις διεύθυνσης: $relative_path: συμπληρωματικό path της διεύθυνσης της εφαρμογής πέρα του domain εφόσον υπάρχει, διαφορετικά ορίζεται κενό $home: πλήρης διεύθυνση της εφαρμογής αποτελούμενη από το domain σε συνέχεια με το $relative_path που ορίζεται παραπάνω. 2. Ρυθμίσεις βάσης δεδομένων $dbu: username του χρήστη της web εφαρμογής για τη σύνδεση στη βάση $dbpsw: password του χρήστη της web εφαρμογής για τη σύνδεση στη βάση $database: το όνομα της βάσης (αν διατηρείται το παρόν σχήμα spebs) 3. Ρυθμίσεις session $rememberme_duration: Διάρκεια ζωής cookie της συνόδου του χρήστη που έχει επιλέξει τη δυνατότητα «Να με θυμάσαι». 4. Κρυπτογράφηση Η κρυπτογράφηση αφορά τις παραμέτρους NDT applet και των δεδομένων της συνόδου (session cookie) όταν επιλέγεται η δυνατότητα «Να με θυμάσαι» κατά τη διαδικασία login. $enc_key: κλειδί κρυπτογράφησης $enc_phrase: φράση κρυπτογράφησης 5. Ρυθμίσεις NDT

$measurement_server: εξυπηρετητής διεξαγωγής μετρήσεων $report_host: εξυπηρετητής καταγραφής μετρήσεων (στην παρούσα φάση ταυτίζεται με το web server) $MAXUPLOAD: Μέγιστο επιτρεπτό όριο μετρούμενης ταχύτητας upload σε Mbps. Σε κάθε χρήστη επιβάλλεται το όριο του πακέτου σύνδεσης που έχει ορίσει. Σε κάθε περίπτωση, όμως, αν η μέτρηση προκύψει πάνω από το $MAXUPLOAD δε θα καταγραφεί. $MAXDOWNLOAD: Μέγιστο επιτρεπτό όριο μετρούμενης ταχύτητας download σε Mbps. Σε κάθε χρήστη επιβάλλεται το όριο του πακέτου σύνδεσης που έχει ορίσει. Σε κάθε περίπτωση, όμως, αν η μέτρηση προκύψει πάνω από το $MAXDOWNLOAD δε θα καταγραφεί. 6. Ρυθμίσεις Glasnost $glasnost_server: εξυπηρετητής μέτρησης Glasnost $glasnost_repeat: αριθμός επαναλήψεων ανά μέτρηση $glasnost_duration: διάρκεια μέτρησης 7. Πακέτα σύνδεσης διαθέσιμα στην αγορά $bandwidths: Πίνακας που περιέχει τα πακέτα σύνδεσης στην αγορά. Η ταχύτητα upload αποθηκεύεται στη θέση 'u' σε Kbps και αντίστοιχα στη θέση 'd' η ταχύτητα download επίσης σε Kbps. Η λίστα των πακέτων εμφανίζεται στις σελίδες Εγγραφή και Ρυθμίσεις για καθορισμό του πακέτου σύνδεσης του χρήστη. Στη συνέχεια οι τιμές download/upload αποθηκεύονται ως παράμετροι της σύνδεσης του χρήστη στη βάση δεδομένων. 8. Παράμετροι υπολογισμού στατιστικών $min_measurements_per_user: Ελάχιστος αριθμός NDT μετρήσεων ώστε να εμφανισθεί το μπαλόνι σύνδεσης του χρήστη στο χάρτη και να συμμετέχει στον υπολογισμό των στατιστικών της περιοχής του. $min_glasnostmeasurements_per_user: Ελάχιστος αριθμός Glasnost μετρήσεων ώστε να εμφανισθεί το μπαλόνι σύνδεσης του χρήστη στο χάρτη και να συμμετέχει στον υπολογισμό των στατιστικών της περιοχής του. $glasnost_throttles_accepted_percentage: Ποσοστό αποδεκτών throttled μετρήσεων ανά μετρούμενο μέγεθος Glasnost από ένα χρήστη. $glasnost_throttled_connections_accepted_percentage: Ποσοστό αποδεκτών throttled συνδέσεων (με βάση το άνω κριτήριο) ανά μετρούμενο μέγεθος Glasnost σε μια περιοχή. $min_connections_per_postal_code: Ελάχιστος αριθμός συνδέσεων με ικανοποιητικό αριθμό μετρήσεων, για παρουσίαση στατιστικών NDT σε μια περιοχή ταχυδρομικού κωδικού.

$min_connections_per_municipality: Ελάχιστος αριθμός συνδέσεων με ικανοποιητικό αριθμό μετρήσεων, για παρουσίαση στατιστικών NDT σε ένα δήμο. $min_connections_per_prefecture: Ελάχιστος αριθμός συνδέσεων με ικανοποιητικό αριθμό μετρήσεων, για παρουσίαση στατιστικών NDT σε ένα νομό. $min_connections_per_periphery: Ελάχιστος αριθμός συνδέσεων με ικανοποιητικό αριθμό μετρήσεων, για παρουσίαση στατιστικών NDT σε μια περιφέρεια. $min_connections_per_country: Ελάχιστος αριθμός συνδέσεων με ικανοποιητικό αριθμό μετρήσεων, για παρουσίαση στατιστικών NDT σε μια περιοχή ταχυδρομικού κωδικού. $min_connections_per_postal_code_glasnost: Ελάχιστος αριθμός συνδέσεων με ικανοποιητικό αριθμό μετρήσεων, για παρουσίαση στατιστικών Glasnost σε μια περιοχή ταχυδρομικού κωδικού. $min_connections_per_municipality_glasnost: Ελάχιστος αριθμός συνδέσεων με ικανοποιητικό αριθμό μετρήσεων, για παρουσίαση στατιστικών NDT σε ένα δήμο. $min_connections_per_prefecture_glasnost: Ελάχιστος αριθμός συνδέσεων με ικανοποιητικό αριθμό μετρήσεων, για παρουσίαση στατιστικών NDT σε ένα νομό. $min_connections_per_periphery_glasnost: Ελάχιστος αριθμός συνδέσεων με ικανοποιητικό αριθμό μετρήσεων, για παρουσίαση στατιστικών NDT σε μια περιφέρεια. $sliding_window_in_days: Χρονικό παράθυρο από το παρόν προς το παρελθόν στο οποίο υπολογίζονται όλα τα στατιστικά. $max_distance_from_exchange_meters: Απόσταση μιας σύνδεσης από αστικό κέντρο πέρα από την οποία η εκτιμώμενη μέγιστη ταχύτητα παρουσιάζεται ως απροσδιόριστη. 9. Κλειδιά Google Maps και recaptcha $googlemapskey: Κλειδί για χρήση Google Maps API V2 αντίστοιχο του domain του web server. $recaptchapublickey: Δημόσιο κλειδί για χρήση της βιβλιοθήκης recaptcha αντίστοιχο του domain του web server. $recaptchaprivatekey: Ιδιωτικό κλειδί για χρήση της βιβλιοθήκης recaptcha αντίστοιχο του domain του web server.