ΠΡΟΑΙΡΕΤΙΚΑ ΣΕΜΙΝΑΡΙΑ 2012-2013 Πληροφορική και Επιστήμη Ηλεκτρονικών Υπολογιστών Εγκατάσταση Linux Server/Samba/Web Server (Apache)/MySQL Database Server/Joomla/Moodle/Word Press (Blog)/Email Server/File Server/Advanced Router Programming ΗΛΙΑΣ ΘΕΟΔΩΡΟΥ Καθηγητής & Σύμβουλος Πληροφορικής και Επιστήμης Ηλεκτρονικών Υπολογιστών Λύκειο Αγίου Νεοφύτου Πάφος Samba/Web Server (Apache)/MySQL Database Server/Joomla/Moodle/WordPress (Blog)/Email Server/File Server/Advanced Router Programming
Περιεχόμενα 1 Εισαγωγή στο λογισμικό ανοιχτού κώδικα/ελεύθερο λογισμικό... 2 2 Εγκατάσταση Oracle VirtualBox... 3 2.1 Download (www.virtualbox.org)... 3 2.2 Εγκατάσταση... 4 2.3 Δημιουργία Virtual Machine... 6 3 Εισαγωγή στο λειτουργικό σύστημα Linux και στο λογισμικό GNU... 13 3.1 Εισαγωγή... 13 3.2 Εγκατάσταση λειτουργικού συστήματος Linux (Ubuntu Desktop)... 14 4 Σύντομη ξενάγηση βασικές ρυθμίσεις και χρήσιμες εντολές στο περιβάλλον Linux 18 4.1 Το Γραφικό Περιβάλλον Επικοινωνίας... 18 4.2 Το Περιβάλλον Γραμμής Εντολών... 19 4.3 Βασικοί φάκελοι... 20 4.4 Παραδείγματα υπηρεσιών που παρέχονται από το Linux... 20 1
1 Εισαγωγή στο λογισμικό ανοιχτού κώδικα/ελεύθερο λογισμικό Ο όρος ελεύθερο λογισμικό αναφέρεται σε λογισμικό το οποίο ο δημιουργός παρέχει στους χρήστες: Δωρεάν Μαζί με τον πηγαίο κώδικα, ώστε να μπορούν, εάν επιθυμούν, να το προσαρμόσουν στις ανάγκες τους Συνήθως ο δημιουργός διατηρεί τα πνευματικά του δικαιώματα όσον αφορά το λογισμικό, αλλά εκχωρεί το δικαίωμα τροποποίησης σε τρίτους. Οι υπέρμαχοι του όρου «Ελεύθερο λογισμικό» (Free Software) συχνά επικρίνουν τη χρήση του όρου «Λογισμικό Ανοιχτού Κώδικα» (Open Source Software) διότι αυτός δεν προϋποθέτει την ελευθερία στην τροποποίηση του λογισμικού, αλλά μόνο εγγυάται ότι ο πηγαίος κώδικας παρέχεται μαζί με το λογισμικό και άρα δεν συνεπάγεται αυτόματα τον ίδιο συγκεκριμένο βαθμό ελευθερίας. Συνήθως χρησιμοποιείται ο όρος Ελεύθερο Λογισμικό/Λογισμικό Ανοιχτού Κώδικα (Free and Open Source Software, FOSS). Η πιο γνωστή και μεγάλη συλλογή τέτοιου λογισμικού σήμερα προέρχεται από το έργο GNU ( GNU project), που άρχισε να εγκαθιδρύεται το 1983 με κύριο εμπνευστή το Richard Stallman που ίδρυσε για την προώθησή του Free Software Foundation (FSF). Αρχικός του στόχος ήταν να δημιουργήσει ένα λειτουργικό σύστημα συμβατό με το Unix. Η προσπάθεια δεν οδήγησε στο συγκεκριμένο αποτέλεσμα, αλλά στη δημιουργία μιας μεγάλης συλλογής από πολλές χιλιάδες εφαρμογές και εργαλεία που παρέχονται με άδεια χρήσης που επιτρέπει τον πειραματισμό, την προσαρμογή και χρήση χωρίς κόστος, με την υποχρέωση της διανομής με την ίδια άδεια χρήσης, the GNU General Public License (GPL), the GNU Lesser General Public License (LGPL) και the GNU Free Documentation License (GFDL). Η αδυναμία ανάπτυξης ενός σταθερού λειτουργικού συστήματος μέσα από το GNU, οδήγησε στην υιοθέτηση άλλων λειτουργικών συστημάτων για την εφαρμογή και ανάπτυξη του λογισμικού του έργου GNU, και συγκεκριμένα του λειτουργικού συστήματος Linux. Ο συνδυασμός των δύο κάποτε αναφέρεται ως το σύστημα GNU/Linux, αλλά η ονομασία αυτή δεν είναι αποδεκτή από όλους. Το Linux αναπτύχθηκε αρχικά από το Linus Torvalds με τη βοήθεια από τη μεγάλη κοινότητα από προγραμματιστές και χρήστες. Η πρώτη του έκδοση χρονολογείται από το 1991. Αποτελεί χαρακτηριστικό παράδειγμα λογισμικού που αναπτύχθηκε με τη συνδρομή ενός μεγάλου αριθμού ατόμων που λειτουργούσαν με τον ελάχιστο συντονισμό και αποτελεί εναλλακτικό τρόπο ανάπτυξης λογισμικού σε σύγκριση με τις καθιερωμένες δομημένες μεθοδολογικές προσεγγίσεις. 2
Σήμερα το Linux απαντάται σε ένα ευρύ φάσμα ηλεκτρονικών υπολογιστών που περιλαμβάνει υπερυπολογιστές, διακομιστές, προσωπικούς υπολογιστές, κινητά τηλέφωνα κ.ά. Το Ελεύθερο Λογισμικό/Λογισμικό Ανοιχτού Κώδικα έχει εφαρμογές στην εκπαίδευση, κυρίως λόγω της ευκολίας που παρέχεται στον εκπαιδευτικό να δώσει αντίγραφό του στους μαθητές χωρίς να ανησυχεί για παραβίαση πνευματικών δικαιωμάτων, της δυνατότητας προσαρμογής του στα μέτρα των μαθητών (π.χ. απλοποίηση της διεπαφής, εισαγωγή νέων λειτουργιών), αλλά και λόγω των στενών οικονομικών πλαισίων που επικρατούν σε πολλά σχολεία. 2 Εγκατάσταση Oracle VirtualBox 2.1 Download (www.virtualbox.org) Μπορείτε να το κατεβάσετε από την πιο πάνω διεύθυνση. 1 2 2 1 3
2.2 Εγκατάσταση 1 Η εγκατάσταση του είναι απλή όπως ένα συνηθισμένο πρόγραμμα εκτός από ένα δύο σημεία. 2 4
3 4 Διπλό κλικ 5
5 2.3 Δημιουργία Virtual Machine 1 Ubuntu 2 6
1024 3 4 5 7
6 7 8 8
Επιλέξετε που θα αποθηκευτή το αρχείο ~20GB 9 10 Το Virtual Machine σας έχει δημιουργηθεί 9
Επιλέξετε από το Shared Clipboard το Bidirectional Επιλέξετε το από ISO το File του Shared Ubuntu Clipboard που σας το Bidirectional δόθηκε 10
11 Θα κάνουμε 32-bit Ubuntu setup. Πρέπει να το βλέπουμε εδώ 11
Κλικ Start για να ξεκινήσει η εγκατάσταση 12
3 Εισαγωγή στο λειτουργικό σύστημα Linux και στο λογισμικό GNU 3.1 Εισαγωγή Το λειτουργικό σύστημα Linux μαζί με το λογισμικό από την κοινότητα ελεύθερου λογισμικού GNU αποτελούν τη βάση για μια πληθώρα εφαρμογών, π.χ. Διακομιστές (servers) Παγκόσμιου Ιστού, Ηλεκτρονικού Ταχυδρομείου, Πολυμέσων Συστήματα αρχειοθέτησης (file servers) Προσφορά υπηρεσιών σε τοπικό δίκτυο (directory servers, terminal servers) Διαχειριστές Βάσεων δεδομένων (database management systems) Συστήματα εξ αποστάσεως εκπαίδευσης (e-learning) Προσωπικοί υπολογιστές γενικής χρήσης Υπερφορητά συστήματα (netbooks, tablet PCs, smartphones) Συστήματα υψηλής απόδοσης και υπερυπολογιστές Στην εκπαίδευση συνήθως χρησιμοποιείται είτε σε συστήματα εξ-αποστάσεως εκπαίδευσης και παροχής υπηρεσιών στο τοπικό δίκτυο, είτε σε προσωπικούς υπολογιστές, λόγω της δυνατότητας προσαρμογής του για λειτουργία και αξιοποίηση παλαιότερων υπολογιστών. Το Linux παρέχεται από διάφορους οργανισμούς ως πακέτο μαζί με μια συλλογή από λογισμικό ανοιχτού κώδικα (GNU), που ονομάζεται διανομή (distribution, distro). Η κάθε διανομή διατίθεται μέσα από ξεχωριστό δικτυακό τόπο, και γενικά παρέχει ένα βασικό σύστημα σε μορφή που ο χρήστης να μπορεί να το εγγράψει σε CD, σε DVD ή σε USB flash drive και μια μεγαλύτερη συλλογή από «πακέτα» (packages), δηλαδή εφαρμογές και εργαλεία, από τα οποία ο χρήστης μπορεί να επιλέξει αυτά που θέλει να εγκαταστήσει. Το τι διαφέρει από τη μια διανομή στην άλλη είναι η μορφή και σε κάποιο βαθμό το περιεχόμενο της συλλογής των «πακέτων», καθώς και μικρές διαφορές στη διαδικασία εγκατάστασης. Σήμερα έχουν επικρατήσει δύο είδη πακέτων, τα πακέτα.rpm που καθιέρωσε η εταιρεία Red Hat και που υιοθετήθηκαν επίσης από άλλες διανομές (fedora, Suse, κ.ά) και τα πακέτα.deb που καθιέρωσε η διανομή Debian και χρησιμοποιούνται επίσης από τη διανομή Ubuntu που θα εγκαταστήσουμε στη συνέχεια. Η διανομή Ubuntu είναι πολύ δημοφιλής και θεωρείται από τις πιο εύκολες στην εγκατάσταση. Παρέχονται διαφορετικά Live CD, ανάλογα με τις προδιαγραφές του συστήματος (32 bit, 64 bit) και τη χρήση (Desktop, Server), τα οποία ο χρήστης μπορεί να κατεβάσει σε μορφή ISO image από τον ιστοχώρο http://www.ubuntu.com/download και να εγγράψει σε CD. 13
3.2 Εγκατάσταση λειτουργικού συστήματος Linux (Ubuntu Desktop) Υπάρχουν τρεις τρόποι γνωριμίας με το Ubuntu. Χωρίς εγκατάσταση, εκκινώντας τον υπολογιστή με το Live CD. Εγκατάσταση μέσα από τα Windows (dual Boot) Εγκατάσταση σε ξεχωριστό χώρο στο δίσκο (dual Boot) ή αντικατάσταση των Windows Η πρώτη επιλογή μας επιτρέπει να δοκιμάσουμε το σύστημα και τις εφαρμογές του, αλλά δεν μπορούμε να τροποποιήσουμε το σύστημα με μόνιμη εγκατάσταση νέων εφαρμογών ή χρηστών. Η δεύτερη και η τρίτη επιλογή μας παρέχουν τη δυνατότητα να αξιοποιήσουμε στο μέγιστο βαθμό τις δυνατότητες του Ubuntu/Linux, αφού κατά την εκκίνηση του υπολογιστή έχουμε τη δυνατότητα να επιλέξουμε ποιο λειτουργικό σύστημα επιθυμούμε να χρησιμοποιήσουμε. Για να το εγκαταστήσουμε σύμφωνα με τη δεύτερη επιλογή, εισάγουμε το live CD ενόσω λειτουργούν τα Windows και ενεργοποιούμε το πρόγραμμα εγκατάστασης wubi.exe. Πιο κάτω θα περιγράψουμε την τρίτη επιλογή, η οποία είναι κάπως πιο πολύπλοκη από τη δεύτερη, αλλά επίσης είναι πιο αποδοτική. 1. Βεβαιωνόμαστε ότι έχουμε ρυθμίσει το BIOS ώστε στη σειρά αναζήτησης μέσου για εκκίνηση (boot media) το CD/DVD-ROM Drive να εμφανίζεται πριν από το σκληρό δίσκο. 2. Τοποθετούμε το Ubuntu Live CD στον υπολογιστή και τον ενεργοποιούμε. 3. Θα εμφανιστεί η οθόνη που φαίνεται στα δεξιά. Περιμένουμε μέχρι να ολοκληρωθεί η εκκίνηση του λειτουργικού συστήματος και να εμφανιστεί η εισαγωγική σελίδα. 4. Εάν επιλέξουμε Try Ubuntu θα μπορύμε να το δοκιμάσουμε μέσα από το Live CD χωρίς εγκατάσταση. Επιλέγοντας Install Ubuntu θα προχωρήσει αμέσως στην εγκατάσταση. Θα επιλέξουμε αρχικά Try Ubuntu, για να το δοκιμάσουμε. Αργότερα θα μας δώσει επίσης επιλογή για εγκατάσταση. 5. Θα εμφανιστεί η επιφάνεια εργασίας, 14
από όπου μπορούμε να δοκιμάσουμε το Ubuntu. 6. Για να το εγκαταστήσουμε στο σκληρό μας δίσκο, κάνουμε κλικ πάνω στο εικονίδιο Install Ubuntu. 1 12 13 15
7. Η επόμενη οθόνη αφορά στην εξεύρεση χώρου στο σκληρό δίσκο για εγκατάσταση. Επειδή ήδη έχουμε δημιουργήσει ένα εικονικό δίσκο για το Virtual Machine μας θα επιλέξουμε διαγραφή και χρήση ολόκληρου του δίσκου. 4 8. Τέλος θα μας ζητηθεί να καθορίσουμε το όνομα του υπολογιστή μας και να δημιουργήσουμε ένα χρήστη και κωδικούς πρόσβασης. Ο χρήστης αυτός είναι μοναδικός, διότι κάτω από συγκεκριμένες συνθήκες λειτουργεί ως διαχειριστής του συστήματος. 54 6 7 8 16
9. Όταν ολοκληρωθεί η διαδικασία, επιλέγουμε Restart Now για επανεκκίνηση. 17
10. Με την επανεκκίνηση και αφού αφαιρέσουμε το Ubuntu CD (ISO File) το Virtual Machine θα ξεκινήσει και θα ενεργοποιήσει το νέο λειτουργικό μας σύστημα. Υπάρχουν όμως μερικές επιπρόσθετες ρυθμίσεις που ίσως χρειαστεί να κάνουμε στη συνέχεια. 4 Σύντομη ξενάγηση βασικές ρυθμίσεις και χρήσιμες εντολές στο περιβάλλον Linux 4.1 Το Γραφικό Περιβάλλον Επικοινωνίας Το σύστημα μας ενεργοποιεί ένα γραφικό περιβάλλον επικοινωνίας που ονομάζεται Gnome. Σε αντίθεση με τα Windows, στο Linux υπάρχουν διάφορα γραφικά περιβάλλοντα επικοινωνίας, με πιο γνωστά το Gnome, το Unity, τo KDE και το Xfce. Το Unity είναι καινούργιο με πρωτοποριακό σχεδιασμό, αλλά πολύ διαφορετικό από ότι έχουμε συνηθίσει. Gnome Unity Μια από τις πρώτες μας εμπειρίες θα είναι η εγκατάσταση όλων των updates χρησιμοποιώντας περιβάλλον γραμμής εντολών (CLI ή Terminal). Πατούμε στο μενού Applications μετά Accessories και τέλος Terminal. Θα μπορούσαμε να ενεργοποιήσουμε το Terminal και με τον συνδυασμό πλήκτρων Ctrl+Alt+T. 18
Terminal Στο περιβάλλον γραμμής εντολών που θα ανοίξει πληκτρολογούμε την εντολή sudo apt-get update θα μας ζητήσει τον κωδικό πρόσβασης και στη συνέχεια θα εντοπίσει από το repository το συγκεκριμένο πακέτο, θα το κατεβάσει και θα το εγκαταστήσει. Η εντολή εγκατάστασης είναι apt-get install package name. Η εντολή sudo σημαίνει «εκτέλεσε ως διαχειριστής του συστήματος» και δικαιούται να την εκτελέσει μόνο ο πρώτος χρήστης που δημιουργήσαμε. Στο Ubuntu, o διαχειριστής συστήματος root είναι μόνιμα απενεργοποιημένος για επιπρόσθετη ασφάλεια και οι εντολές διαχείρισης δίνονται μόνο με τον πιο πάνω τρόπο. Υπάρχουν τρία μενού πάνω αριστερά, Applications, Places και System. Το Places περιλαμβάνει διάφορους συνήθεις χώρους όπου τοποθετούμε αρχεία (ο φάκελος μας, εικόνες, βίντεο, USB drives, κ.λπ.). Το Applications περιλαμβάνει προγράμματα και εργαλεία ρυθμίσεων. Στην πιο πάνω εικόνα φαίνεται η επιλογή System Settings από όπου μπορούμε να αλλάξουμε τις ρυθμίσεις του συστήματος. Σημαντικό είναι επίσης το Ubuntu Software Center από όπου μπορούμε να επιλέξουμε/αναζητήσουμε και να εγκαταστήσουμε εφαρμογές από τα repositories. 4.2 Το Περιβάλλον Γραμμής Εντολών Σε πολλές περιπτώσεις είναι ευκολότερο να πληκτρολογήσουμε εντολές για κάποια διαδικασία, παρά μακρές εξηγήσεις. Παρακάτω παρατίθενται μερικές χρήσιμες εντολές, κυρίως για διαχείριση. Εντολή Περιγραφή Παράδειγμα ls Κατάλογος περιεχομένων ενός φακέλου ls -l /home/user cd Μετακινήσου σε έναν άλλο φάκελο cd /var/log mkdir Δημιούργησε ένα νέο φάκελο mkdir /home/share 19
rm Διάγραψε αρχείο/φάκελο rm /home/share/* mv Μετακίνησε αρχείο/φάκελο mv a.jpg b.jpg cp Αντίγραψε αρχείο/φάκελο cp /var/www/* /home/user chmod Άλλαξε δικαιώματα ανάγνωσης/ εγγραφής/ εκτέλεσης για χρήστη/ ομάδα/άλλους σε αρχείο/φάκελο chmod 0750 /etc/samba/smb.conf chown Άλλαξε τον ιδιοκτήτη αρχείου/φακέλου chown student /home/share shutdown Απενεργοποίησε το σύστημα shutdown h now apt-get Εγκατάστησε πακέτο apt-get install mysql 4.3 Βασικοί φάκελοι Η δομή του συστήματος αρχειοθέτησης ακολουθεί μια απλή ιεραρχία, ξεκινώντας από το / (ονομάζεται root). Όλες οι μονάδες αποθήκευσης συνδέονται/ενσωματώνονται κάπου πάνω στην ιεραρχία. Βασικοί φάκελοι είναι οι ακόλουθοι: Φάκελος Περιγραφή /boot Αρχεία που σχετίζονται με την εκκίνηση του συστήματος /bin Εκτελέσιμα αρχεία, εφαρμογές /sbin Εκτελέσιμα αρχεία και εργαλεία για διαχείριση του συστήματος /lib Βιβλιοθήκες /etc Αρχεία ρυθμίσεων για το σύστημα και τις υπηρεσίες του /home Φάκελοι χρηστών, ένας για τον καθένα /var Αρχεία δεδομένων διάφορων υπηρεσιών /var/www Αρχεία του web server /dev Συσκευές του συστήματος 4.4 Παραδείγματα υπηρεσιών που παρέχονται από το Linux Ένα από τα πλεονεκτήματα του Linux είναι και η ύπαρξη πολλών έτοιμων υπηρεσιών δικτύου (network services) που εύκολα μπορεί κανείς να εγκαταστήσει και να προσφέρει. Απαριθμούνται μερικές από αυτές: Apache2 Mysql, postgres Postfix, sendmail Dovecot Squirrelmail Smb Iptables Openldap Διακομιστής ιστού (Web server) Συστήματα διαχείρισης βάσεων δεδομένων Διακομιστές αποστολής/δικπεραίωσης Ηλ. ταχυδρομείου Διακομιστής παραλαβής Ηλ. Ταχυδρομείου Διαχείριση Ηλ. ταχυδρομείου μέσω ιστοσελίδας (Webmail) Υπηρεσίες αντίστοιχες με Microsoft networking Τείχος προστασίας Υπηρεσίες διαχείρισης χρηστών (Directory services) 20