Εισαγωγή
Σκοπός του παρόντος οδηγού είναι να καταδείξει, ακόμα και σε αρχάριους , την διαδικασία δημιουργίας ενός Home/ Small Business File Server , βασισμένου στο λειτουργικό σύστημα Ubuntu Server 20.04 64 bit.
Ο οδηγός αυτός θα είναι πολύ μακρύς και αναλυτικός, καθώς θα γίνεται προσπάθεια να εξηγούνται οι ενέργειες που κάνουμε και το υπόβαθρο πίσω από αυτές, ώστε ο αναγνώστης να καταλαβαίνει όχι μόνο πώς κάνουμε κάτι, αλλά και γιατί το κάνουμε.
Ο οδηγός αυτός αποτελεί την δεύτερη έκδοση, και αποτελεί την λογική συνέχεια της πρώτης έκδοσης, η οποία αφορούσε στον Ubuntu Server 16.04 και είχε δημοσιευθεί παλαιότερα σε άλλα fora.
Όπως είχα υποσχεθεί παλαιότερα, όταν θα κυκλοφορούσε η έκδοση 20.04 του λειτουργικού, θα ανανέωνα τον οδηγό.
Πλέον δεν είμαι ο αρχάριος χρήστης που ήμουν τότε, οπότε υπάρχει μια θεμελιώδης αλλαγή στη δομή του Server. ΔΕΝ θα εγκαταστήσουμε σε αυτόν γραφικό περιβάλλον, αλλά ο έλεγχός του θα γίνεται αποκλειστικά απομακρυσμένα, μέσω δικτύου και terminal. Αυτό κάνει την εγκατάσταση και την ρύθμιση του Server απλούστερες, ευκολότερες και γρηγορότερες, ενώ και οι ενημερώσεις θα παίρνουν λιγότερο χρόνο, καθώς θα υπάρχουν λιγότερα πακέτα software προς ενημέρωση.
Για όσους χρήστες έχουν ήδη πανικοβληθεί, έχω να πω να μην φοβούνται, ψυχραιμία, διότι η χρήση του terminal είναι απλούστατη, και όλα τα ζητήματα θα καλυφθούν πλήρως από τον παρόντα οδηγό, ενώ το κέρδος σε χρόνο και κόπο είναι σημαντικό.
Σε παρά πολλά σημεία θα χρησιμοποιούνται οι αγγλικοί όροι, ενώ και ο server θα στηθεί εξ ολοκλήρου στην Αγγλική γλώσσα. Αυτό διότι οι τεχνικοί όροι εξαρχής γεννώνται στην Αγγλική γλώσσα, οπότε αυτή είναι η μητρική γλώσσα της σχετικής τεχνολογίας, ενώ επιπρόσθετα πολλές φορές οι μεταφράσεις των τεχνικών όρων στην Ελληνική, είναι απλά τραγικές και δεν βγάζουν καν νόημα, τουλάχιστον κατά την άποψη του γράφοντος.
Για τις ανάγκες του οδηγού, θα χρησιμοποιηθεί virtual pc σε virtual box, ενώ όπου κρίνεται απαραίτητο, θα υπάρχει screenshot.
Ο οδηγός θα ολοκληρωθεί σε τμήματα, τα οποία θα ανεβαίνουν σιγά σιγά, όποτε ο γράφων έχει το χρόνο να τα ολοκληρώνει.
Απαιτήσεις από τον Server
Ο server μας θα είναι μόνο File Server, με σκοπό να χρησιμοποιηθεί οικιακά ή σε μικρές επιχειρήσεις, που έχουν απαίτηση από πολλούς χρήστες ταυτόχρονα, να έχουν πρόσβαση σε αρχεία αποθηκευμένα κεντρικά. Κάθε χρήστης θα έχει πρόσβαση στο δικό του share (=διαμοιραζόμενο φάκελο), ενώ θα υπάρχουν και κοινόχρηστοι φάκελοι. Στον server θα υπάρχουν περισσότεροι από ένας φυσικοί σκληροί δίσκοι, όχι σε raid, αλλά σε απλή μορφή JBOD (just a bunch of disks). Φυσικά θα γίνεται διαχείριση του server από απόσταση (remote control), χωρίς σε αυτόν να είναι προσαρτημένα περιφερειακά ελέγχου (πληκτρολόγιο, ποντίκι, οθόνη).
Οι απαιτήσεις του σε hardware είναι ελάχιστες. Ένας διπύρηνος επεξεργαστής και 2 GB μνήμης είναι υπεραρκετά για το θαυμάσιο αυτό λειτουργικό.
Κεφάλαιο Α – Εγκατάσταση του Server
Ξεκινάμε λοιπόν το μακρύ ταξίδι μας!
Για την εγκατάσταση χρειαζόμαστε, πέραν του υπολογιστή μας, έναν οπτικό δίσκο ή USB Flash, στο οποίο θα περιέχεται η έκδοση του Ubuntu Server 20.04, την οποία μπορείτε να κατεβάσετε από εδώ:
Φροντίζουμε ρυθμίζοντας το BIOS/UEFI του υπολογιστή μας, να ξεκινήσει ο υπολογιστής (boot) από τον οπτικό δίσκο ή το USB Flash. Επίσης φροντίζουμε ο υπολογιστής να έχει ήδη πρόσβαση στο διαδίκτυο, πριν ξεκινήσουμε την εγκατάσταση.
Στο σημείο αυτό να τονίσουμε ότι η έκδοση Server του Ubuntu δεν είναι κάτι διαφορετικό από την κανονική έκδοση Ubuntu, αλλά απλά μια πιο «γδυμένη» έκδοση (stripped down) του λειτουργικού, προσαρμοσμένη στις ανάγκες ενός server. Με την προσθήκη των κατάλληλων πακέτων λογισμικού, μπορεί ανά πάσα στιγμή να μετατραπεί στην «κανονική» έκδοση, ενώ και το αντίθετο, η κανονική έκδοση μπορεί να μετατραπεί σε server. Προτιμούμε όμως την έκδοση server, καθώς είναι πιο ελαφριά, επειδή περιέχει και φορτώνει λιγότερα πακέτα και εξαρτήσεις.
ΠΡΟΣΟΧΗ: Για την αποφυγή λαθών από αρχάριους, προτείνεται να αφήσετε στον υπολογιστή μόνο τον σκληρό δίσκο στον οποίο θα εγκατασταθεί το λειτουργικό, και να προσθέσετε τους υπόλοιπους δίσκους σας, ΜΕΤΑ την ολοκλήρωση της εγκατάστασης.
Πάμε λοιπόν. Οι επιλογές κατά την εγκατάσταση γίνονται με το πλήκτρο Enter , ενώ η μετακίνηση με τα βελάκια του πληκτρολογίου και το πλήκτρο tab . Η επιλογή μεταξύ πολλών, όπου χρειάζεται, γίνεται με το πλήκτρο Space .
Επιλέγουμε αρχικά γλώσσα επικοινωνίας, φυσικά Αγγλικά:
Επιλέγουμε γλώσσα και διάταξη πληκτρολογίου, φυσικά επίσης Αγγλικά:
Η εγκατάσταση μας βάζει απευθείας στα βαθιά, στις ρυθμίσεις δικτύου.
Βλέπουμε ότι έχει ήδη εντοπίσει την κάρτα δικτύου του υπολογιστή μας, εδώ με το όνομα “ enp0 s3 ”, ενώ έχει ήδη τοποθετήσει αυτόματες ρυθμίσεις για λήψη διεύθυνσης μέσω DHCP. Εμείς όμως θέλουμε να έχουμε σταθερή διεύθυνση IP στον Server μας, ώστε αφενός μεν ο εντοπισμός του από τους άλλους υπολογιστές του δικτύου μας να είναι πιο εύκολος, αφετέρου δε να μπορούμε εύκολα να λύσουμε τυχόν προβλήματα στο μέλλον. Έτσι διαλέγουμε να δώσουμε χειροκίνητες (manual) ρυθμίσεις, επιλέγοντας “ Edit IPv4 ” και στη συνέχεια, στην επόμενη οθόνη, IPv4 Method à Manual:
Στη συνέχεια, στην επόμενη οθόνη, δίνουμε τις εξής ρυθμίσεις:
Subnet: 192.168.0.0./24
Address: 192.168.0.38
Gateway: 192.168.0.1
Name Servers: 1.1.1.1,1.0.0.1
ΠΡΟΣΟΧΗ: Οι ρυθμίσεις αυτές φυσικά διαφέρουν, ανάλογα το εκάστοτε τοπικό δίκτυο. Η ανάλυση των ιδιοτήτων του δικτύου δεν αποτελεί μέρος του παρόντος οδηγού . Πολύ περιληπτικά, το Subnet καθορίζεται από τον Router σας, πρέπει δηλαδή να είναι το ίδιο με του Router σας, η Address είναι η διεύθυνση που θέλουμε να έχει ο Server, η Gateway είναι η διεύθυνση του Router σας στο τοπικό δίκτυο, ενώ Name Servers βάζουμε όποιους θέλουμε, εγώ επιλέγω αυτούς της Cloudflare: https://1.1.1.1/dns/
Με την επιλογή Save επιστρέφουμε στην προηγούμενη οθόνη και το πρόγραμμα εγκατάστασης ενεργεί έλεγχο αν υπάρχει επικοινωνία με το διαδίκτυο. Εάν όλα έχουν καλώς, στη στήλη NOTES δεν θα υπάρχει κανένα σχόλιο:
Με την επιλογή Done προχωράμε στην επόμενη οθόνη εγκατάστασης, όπου μας ζητείται η ρύθμιση Proxy address. Αφήνουμε κενό και προχωράμε:
Στη συνέχεια η εγκατάσταση μας ζητάει mirror για τα updates του Ubuntu, ενώ έχει ήδη επιλέξει αυτόματα τον Ελληνικό. Αφήνουμε την επιλογή ως έχει και προχωράμε:
Ακολουθεί η επιλογή και διαμόρφωση δίσκου στον οποίον θα γίνει η εγκατάσταση. Μπορείτε να επιλέξετε την αυτόματη ρύθμιση, κατά την οποία η εγκατάσταση θα χρησιμοποιήσει όλο τον δίσκο, και να προχωρήσετε κατευθείαν, όμως εγώ προτείνω χειροκίνητη ρύθμιση των Partitions του δίσκου. Ο λόγος είναι ότι θέλουμε να χωρίσουμε το partition που θα περιέχει το λειτουργικό, από το partition που θα περιέχει τα δεδομένα, δηλαδή από το / home , ώστε αυτά να παραμένουν ανεξάρτητα από την εγκατάσταση. Έτσι ακόμα και αν για κάποιο λόγο πάθει κάτι η εγκατάσταση, τα δεδομένα των χρηστών θα παραμείνουν ανέπαφα.
Έτσι από τις παραπάνω επιλογές, επιλέγουμε (με το Space, όπως έχουμε πει παραπάνω) το “ Custom storage layout ” και προχωράμε:
Στην παραπάνω οθόνη, βλέπουμε ότι το πρόγραμμα εγκατάστασης μας δείχνει τους δίσκους του συστήματός μας, εδώ φυσικά μόνο έναν. Επιλέγουμε από τις “AVAILABLE DEVICES” τον δίσκο μας και στη συνέχεια “ Add GPT Partition ”.
ΣΗΜΕΙΩΣΗ : Όλα όσα ακολουθούν, αναφέρονται σε μη διαμορφωμένο (νέο) δίσκο. Αν ο δίσκος σας έχει partitions από προηγούμενη χρήση, τότε θα πρέπει πρώτα να τα διαγράψετε , μέσα από τις επιλογές της εγκατάστασης που φαίνονται στην παραπάνω οθόνη.
Στην επόμενη οθόνη λοιπόν, δίνουμε μέγεθος του partition όπου θα γίνει η εγκατάσταση του λειτουργικού. 10 GB είναι αρκετά, ώστε να αφήσουμε τον περισσότερο χώρο για τα δεδομένα των χρηστών. Φυσικά μπορείτε ελεύθερα να καθορίσετε αυτή τη ρύθμιση, ιδίως αν στο μέλλον πρόκειται να προσθέσετε και άλλες χρήσεις στον Server ή να εγκαταστήσετε γραφικό περιβάλλον.
Ως file system αφήνουμε το default ext4, ενώ ως mount point φυσικά ορίζουμε το root του λειτουργικού, το / :
Με τον ίδιο ακριβώς τρόπο στη συνέχεια, προσθέτουμε δεύτερο partition, για το οποίο ορίζουμε ως mount point το / home , δίνοντας μέγεθος της ελεύθερης επιλογής μας:
Τέλος, προσθέτουμε ένα τρίτο partition, μεγέθους περίπου 3 GB, το οποίο θα χρησιμοποιείται για την εικονική μνήμη (swap) του λειτουργικού, όταν αυτό την χρειάζεται. Ως σύστημα αρχείων (Format) επιλέγουμε “swap”, οπότε αμέσως απενεργοποιείται η επιλογή mount point:
Μετά από όλα τα παραπάνω, η διαμόρφωση του δίσκου μας έχει κάπως έτσι:
Μέχρι τώρα, δεν έχει επέλθει στην πραγματικότητα κάποια αλλαγή στον δίσκο μας. Επιλέγοντας “ Done ”, η εγκατάσταση μας προειδοποιεί ότι πλέον οι αλλαγές που επιλέξαμε θα εφαρμοστούν:
Αμέσως μετά η εγκατάσταση αρχίζει να τρέχει στο παρασκήνιο, ενώ παράλληλα μας ζητείται να επιλέξουμε username , password και server name . Δίνουμε ελεύθερα τις επιλογές μας και προχωράμε. Εδώ για τις ανάγκες του οδηγού επιλέξαμε dimix και ubserver2004 αντίστοιχα.
Στην επόμενη οθόνη, οπωσδήποτε επιλέγουμε να εγκαταστήσουμε το πακέτο “ OpenSSH Server ”, που θα μας επιτρέπει τον πλήρη έλεγχο από απόσταση του Server μας:
Στη συνέχεια μας δίνεται η δυνατότητα να επιλέξουμε προκαθορισμένα πακέτα χρήσεων για τον Server μας. Δεν επιλέγουμε τίποτα, καθώς τίποτα δεν είναι απαραίτητο για την χρήση ως File Server, και προχωράμε:
Εδώ τελείωσαν όλες οι επιλογές που είχαμε να κάνουμε. Η εγκατάσταση προχωράει πλέον:
και ολοκληρώνεται σε ελάχιστα λεπτά, ζητώντας μας επανεκκίνηση:
Αφαιρούμε το μέσο εγκατάστασης (USB stick ή οπτικό δίσκο DVD) που χρησιμοποιήσαμε, και μετά την επανεκκίνηση, η οθόνη υποδοχής διαπνέεται από ιδιαίτερη λιτότητα:
Δίνουμε διαδοχικά το username και το password που είχαμε ορίσει κατά την εγκατάσταση (αν είστε απολύτως αρχάριος στο linux, να σας πούμε ότι δίνοντας τον κωδικό το σύστημα δεν αντιδρά, ούτε καν αστεράκια δείχνει, όμως ο κωδικός περνάει κανονικά), και έχουμε το πρώτο login μας στον Server μας:
Τρέχουμε αμέσως την ακόλουθη εντολή, για να εγκαταστήσουμε τυχόν ενημερώσεις του λειτουργικού:
sudo apt-get update && sudo apt-get dist-upgrade -y
Με την εντολή
lsblk
μπορούμε να δούμε τους δίσκους μας και τα partition τους:
Με την εντολή
sudo apt install dfc
εγκαθιστούμε το πρόγραμμα dfc , το οποίο μας δείχνει με ωραία χρώματα τον ελεύθερο χώρο των δίσκων μας. Στη συνέχεια τρέχοντας
dfc -d -p /dev
βλέπουμε την χωρητικότητα και τον ελεύθερο χώρο όλων των δίσκων μας (στο screenshot έχω ήδη αντιστοιχίσει την παραπάνω εντολή με alias στο d , κάτι που φυσικά δεν είναι απαραίτητο εσείς να κάνετε):
Τέλος με την εντολή
ip -c a
βλέπουμε με χρώματα την διεύθυνση ip του Server μας, στην περίπτωση που την έχουμε ξεχάσει, εδώ η 192.168.0.38:
Συνεχίζεται…