Στο τελευταίο κομμάτι της σειράς, θα αναλύσω το setup του Υπολογιστή server του Εργαστηρίου Πληροφορικής. Χαρακτηρίζω τον υπολογιστή ως server λόγω του ρόλου που έχει να φιλοξενεί μια σειρά από υπηρεσίες. Σε κάθε περίπτωση δεν χρειάζεται να έχει αποκλειστικά τον ρόλο του server.
Μερικοί από τους ρόλους που έχει ο server είναι οι παρακάτω:
0. Web server (apache2): χρησιμοποιείται για να παίρνουν οι μαθητές τις εργασίες που τους αναθέτω σε κάθε διδακτική ώρα. Όπως έχω γράψει και σε προηγούμενο άρθρο, χρησιμοποιώ στατικές IPs. Έχω προσθέσει μια εγγραφή στο /etc/hosts των σταθμών εργασίας ώστε να μπορούν να μπαίνουν στον web server με domain name (και όχι με IP). Είναι κάτι που μαθαίνω στους μαθητές μου από την Γ τάξη και πάνω. Σε μικρότερες τάξεις στέλνω τις εργασίες – αρχεία που χρειαζόμαστε σε κάθε Επιφάνεια εργασίας. Το υλικό που χρησιμοποιώ είναι οργανωμένο ανά τάξη. Όλος ο φάκελος που περιέχει το υλικό μου είναι ένα μεγάλο git αποθετήριο το οποίο φιλοξενείται σε ιδιωτικό server. Έτσι σε καθένα από τα 3 σχολεία που πηγαίνω κάθε χρόνο, κατεβάζω το νεότερο υλικό (με πιθανές αλλαγές ή προσθήκες που έχω κάνει) με ένα git pull. Επίσης ο web server, εκτός από το υλικό μαθημάτων, φιλοξενεί και μια σειρά από εκπαιδευτικά παιχνίδια (σχεδόν αποκλειστικά open source). Έτσι υπάρχει αυτονομία ακόμη και σε περίπτωση που δεν υπάρχει internet ή η σύνδεση internet είναι πολύ αργή για να καλύψει τις ανάγκες μας.
1. Mail server: Παλιότερα χρησιμοποιούμε το Google Apps for Education και είχα φτιάξει μαθητικά Gmail. Για μερικά χρόνια δούλευε πολύ καλά μέχρι που άρχισε να κλειδώνει λογαριασμούς γιατί άλλαξαν οι ρυθμίσεις ασφαλείας του Gmail. Δηλαδή επειδή στη διάρκεια του μαθήματος ανίχνευε πολλαπλές προσβάσεις από την ίδια IP, κλείδωνε προσωρινά τους λογαριασμούς και έπρεπε χειροκίνητα να μπω και να τους ξεκλειδώνω έναν έναν. Έτσι λοιπόν εγκατέλειψα αυτή τη λύση. Εναλλακτικά εγκατέστησα έναν πλήρη Mail server με frontend το Roundecube και το πρόβλημα λύθηκε μια και καλή. Ένα επιπλέον πλεονέκτημα αυτής της λύσης είναι ότι λειτουργεί μόνο μέσα στο σχολείο και μόνο στις ώρες σχολείου. Εκτός των υπόλοιπων άλλων σημαίνει ότι δεν χρειαζόμαστε εγκρίσεις από τους γονείς για τη χρήση του. Το πως ρυθμίζεται ένας web server για χρήση σε σχολικό εργαστήριο πληροφορικής είναι ένα ολόκληρο άρθρο από μόνο του. Χρειάστηκε αρκετές δοκιμές και πειράματα αλλά με αποζημίωσε πλήρως!
2. Epoptes server: για να διαμοιράζω την οθόνη μου σε όλους τους σταθμούς εργασίας και να μην χρειαζόμαστε προτζέκτορα. Εδώ θα βάλω έναν αστερίσκο σχετικά με την προβολή βίντεο/ταινίας. Η λύση προβολής οθόνης με epoptes έχει χαμηλό framerate και πρακτικά δεν μπορεί να χρησιμοποιηθεί για streaming βίντεο. Κατά τα άλλα λειτουργεί εξαιρετικά και μάλιστα εκτός από την προβολή οθόνης μπορεί να ανοίξει εφαρμογές στους σταθμούς εργασίας, να στείλει popup μήνυμα και να τερματίσει του υπολογιστές του εργαστηρίου.
3. Chevereto server: επειδή κάθε φορά που ψάχναμε στο google εικόνες για τις σχολικές εργασίες μας, έβγαιναν μαζί και εικόνες που “δημιουργούσαν διδακτικό θόρυβο”, αποφάσισα να φιλοξενώ και μια εφαρμογή hosting εικόνων. Το chevereto είναι ότι ακριβώς χρειάζομαι.
4. apt-chacher-ng: επειδή τα updates θα πρέπει να κατεβαίνουν μια φορά στον υπολογιστή server και να μοιράζονται από την cache στους σταθμούς εργασίας. Έτσι κερδίζουμε πολύ χρόνο και πολύ bandwidth
5 ssh-server: Από τις πρώτες δουλειές, αν όχι η πρώτη, όταν φτιάχνω τον server είναι να μοιράζω το δημόσιο κλειδί του στους σταθμούς εργασίας (ssh-copy-id) ώστε να μπορώ να κάνω login χωρίς username και password.
6. clusterssh: ssh σε ομάδες σταθμών εργασίας ώστε οι διαχειριστικές εργασίες να γίνονται μαζικά, γρήγορα και παράλληλα