Φτιάξτε εύκολα τον δικό σας web, ftp, email κτλ server δωρεάν με το Virtualmin

Βαθμολογήστε αυτό το άρθρο
(1 Ψήφος)

Εύκολη διαχείριση με Web interface.

Προφανώς η παρουσίαση γίνεται για εκπαιδευτικούς λόγους ή για πολύ απλές εφαρμογές.

Τι χρειαζόμαστε:

  • Εναν υπολογιστή με επαρκείς επιδόσεις. Μπορούμε να πειραματιστούμε πχ με ένα παλιό dual core και 4Gb Ram, αν όμως σκοπεύουμε να τρέξουμε ένα cms με mysql database οι απαιτήσεις αυξάνουν
  • Μια VDSL σύνδεση με static ip αν θέλουμε να βγάλουμε τον server μας στο internet. 
  • Ενα domain name πάλι για την περίπτωση που σκοπεύουμε να ανοίξουμε τον server στο internet (μπορούμε να το αγοράσουμε από το papaki.gr)

Θα ξεκινήσουμε με μια καθαρή εγκατάσταση του λειτουργικού συστήματος που στην περίπτωσή μας θα είναι το CentOS. Κατά την εγκατάσταση το σωστό είναι να δώσουμε στον υπολογιστή μας στατική ip address στο τοπικό δίκτυο.

Μιας και η παρουσίαση απευθύνεται σε αρχάριους θα εγκαταστήσουμε και επιφάνεια εργασίας Gnome. Γενικά όμως όταν στήνουμε έναν server εγκαθιστούμε όσο τον δυνατόν λιγότερα για λόγους ασφαλείας αλλά και απελευθέρωσης πόρων του υπολογιστή. 

Το CentOS θα το βρούμε εδώ: centos.org

Η πρόσβαση στον server μας θα γίνεται κατά βάση με τον χρήστη root οπότε ειδικά αν τον ανοίξετε έξω από το τοπικό δίκτυο το password πρέπει να είναι ισχυρό.

Μπαίνουμε στη σελίδα του Virtualmin (virtualmin.com) και κατεβάζουμε την GPL έκδοση

Οπως βλέπετε θα μπορούσαμε να κάνουμε minimal εγκατάσταση του CentOS χωρίς Gnome desktop. Σε αυτή την περίπτωση με wget θα κατεβάζαμε το install.sh και θα το τρέχαμε στην γραμμή εντολής. Αλλωστε μόλις τελειώσει η εγκατάσταση του Virtualmin η διαχείριση του server μας θα γίνεται απομακρυσμένα με web interface και ssh.

Ανοίγουμε ένα τερματικό και τρέχουμε: sudo /bin/sh install.sh

Μόλις τελειώσει η εγκατάσταση και κάνουμε restart μπορούμε να έχουμε πρόσβαση στον server μας από κάποιον υπολογιστή του δικτύου μας στο https://serverip:10000 όπου serverip η ip address του server μας στο τοπικό δίκτυο. Στην περίπτωση μας, μιας και έχουμε εγκαταστήσει Gnome desktop μπορούμε να έχουμε πρόσβαση στο web interface από τον ίδιο τον server στη διεύθυνση https://localhost:10000 ή ακόμα και στο https://mydomain.gr:10000 όπου mydomain.gr το πραγματικό domain μας. Αφού ρυθμίσουμε DNS για το domain μας και ρυθμίσουμε τον router μας να κάνει Port Forwarding το port 80 (web), το 443, το 21 (ftp), το 22 (ssh) και το 10000 (virtualmin) στην ip του υπολογιστή - server μπορούμε να έχουμε πρόσβαση από οπουδήποτε. Ομως επειδή δεν έχουμε εγκαταστήσει ακόμα πιστοποιητικό ασφαλείας ο browser βγάζει προειδοποίηση ασφαλείας που πρέπει να παρακάμψουμε προσθέτοντας μια εξαίρεση όπως μπορείτε να δείτε.

Για είσοδο θα χρησιμοποιήσουμε το username υπερχρήστη root και τον κωδικό που διαλέξαμε κατά την εγκατάσταση του CentOS

Την πρώτη φορά που κάνουμε login μπορούμε να ακολουθήσουμε τα βήματα του wizard 

Οπως βλέπετε πάνω αριστερά υπάρχουν 2 tabs: Webmin & Virtualmin

Η κεντρική διαχείριση του υπολογιστή μας γίνεται από το WebMin ενώ η διαχείριση των domain από το Virtualmin

Ας ρίξουμε μια ματιά στις βασικές επιλογές

Στην αρχική οθόνη του Webmin θα βλέπουμε μεταξύ άλλων και τις διαθέσιμες ενημερώσεις λογισμικού. Η ενημέρωση είναι πλέον εύκολη υπόθεση πατώντας απλά το κουμπί "Update selected packages"

Στο menu: System->Bootup and Shutdown έχουμε πρόσβαση σε όλες τις υπηρεσίες που φορτώνει ο server μας καθώς και στο κλείσιμο ή την επανεκκίνησή του. Μπορούμε να επιλέξουμε ακόμα ποιες υπηρεσίες ανοίγουν αυτόματα, να προσθέσουμε σε αυτές παραμέτρους, να τις απενεργοποιήσουμε ή να τις επανεκκινήσουμε μεμονωμένα κτλ

Στο μενού Webmin ρυθμίζονται όλες οι παράμετροί του. Θα μπορούσαμε πχ να αλλάξουμε το port 10000 σε κάποιο άλλο αλλά προσοχή γιατί ίσως χρειαστεί να ρυθμίσετε να ανοίξει το νέο port και στο firewall

Στο Networking->Network Configuration έχετε πρόσβαση στις ρυθμίσεις δικτύου. Εδώ πχ μπορείτε να αλλάξετε την ip address του υπολογιστή σας στο τοπικό δίκτυο.

Ρυθμίσεις Firewall

Αν θέλετε να έχετε απομακρυσμένη πρόσβαση γραμμής εντολής πρέπει να τρέχει ο ssh server. Καλό θα είναι να αλλάξετε το default port του ssh server για λόγους ασφαλείας. Θα χρειαστεί να ανοίξετε την υπηρεσία ssh στο port που θέλετε και στο firewall

Το Fail2Ban είναι πολύ χρήσιμο εργαλείο ασφαλείας μιας και είναι κάτι παραπάνω από βέβαιο πως μόλις ανοίξετε τα ports του router σας στον έξω κόσμο για τον server σας οι επιθέσεις θα αρχίσουν άμεσα.

Αν θέλετε να μοιράσετε κάποιους πόρους του server στο τοπικό δίκτυο ενεργοποιήστε τον Samba server

Ρυθμίσεις email server. 

Εδώ είναι οι κεντρικές ρυθμίσεις του Apache webserver. Ξεκινήστε για αρχή με τις default ρυθμίσεις και ρυθμίστε αν χρειαστεί τον apache στα επιμέρους domains από το Virtualmin. Μάλλον θα χρειαστεί να κατεβάσετε και τα όρια συνδέσεων του Apache μιας και χρησιμοποιείτε παλιό υπολογιστή με οικιακή σύνδεση internet με χαμηλό upload. 

Εδώ οι κεντρικές ρυθμίσεις του Ftp server. Και εδώ συνήθως για αρχή δεν θα χρειαστεί να πειράξετε κάτι μιας και οι ρυθμίσεις γίνονται ανά domain στο Virtualmin. Αν αντιμετωπίσετε πρόβλημα σύνδεσης ρυθμίστε το firewall. Εννοείται πως αν θέλετε να δώσετε πρόσβαση ftp έξω από το τοπικό σας δίκτυο πρέπει να κάνετε και εδώ port forwarding το port 21 στον router σας να οδηγεί στην ip του server σας

Εδώ οι κεντρικές ρυθμίσεις του MySQL server. Απαραίτητος αν θέλετε να εγκαταστήσετε πχ ένα CMS όπως Joomla ή Wordpress

Προσοχή μην ξεχάσετε να ορίσετε ένα δυνατό password root στον MySQL

Εδώ μπορείτε να βρείτε ένα βασικό πρόγραμμα backup

Πάμε τώρα στο tab Virtualmin όπου υπάρχουν όλες οι ρυθμίσεις των domain σας.

Ας προσθέσουμε το κεντρικό μας domain. Επιλέξτε ποιες υπηρεσίες θα ενεργοποιηθούν. Μην ξεχάσετε να επιλέξετε το SSL.

Εδώ να πούμε πως μπορείτε να προσθέσετε πχ ένα domain για κάποιον χρήστη ώστε να έχει πρόσβαση από το web interface μόνο στις δικές του ρυθμίσεις και το domain του. Με τον χρήστη root έχετε πλήρη πρόσβαση στα πάντα.

Καλό θα είναι να εγκαταστήσετε το phpMyAdmin για την εύκολη διαχείριση των databases και το Roundcube για webmail

Είναι σχεδόν σίγουρο πως θα χρειαστεί να ρυθμίσετε αρκετά πράγματα στο php όπως upload και timeout limits κτλ. Μπορείτε να τα πειράξετε στο php configuration του webmin για να ισχύουν για όλους τους virtual servers ή ανά domain στο Virtualmin

Η σημερινή παρουσίαση θα σας βοηθήσει απλά να πειραματιστείτε. Αν ο server σας θα τρέχει μόνο στο τοπικό σας δίκτυο όλα καλά...

Αν θελήσετε να βγάλετε τον server σας στον έξω κόσμο του internet θα πρέπει:

Να έχετε κάποια γρήγορη σύνδεση internet με μεγάλο upload όπως VDSL με static ip address (το κόστος σήμερα είναι κάτι πάνω από 30 ευρώ το μήνα)

Να ρυθμίσετε τον router σας να κάνει port forwarding στην τοπική ip του server σας τα αντίστοιχα ports

Να εγκαταστήσετε πιστοποιητικό ασφαλείας (μπορείτε να βρείτε εδώ: namecheap.com)

Να δώσετε ιδιαίτερη προσοχή στις ρυθμίσεις ασφαλείας

Να είστε έτοιμοι για δυσάρεστες εκπλήξεις. Ειδικά αν αφήσετε ανοιχτό τον mail server. Η άποψη "τι να με κάνουν εμένα οι χάκερς" δεν ισχύει. Μετά από λίγο καιρό θα εκπλαγείτε βλέποντας τα log files. 

Γενικά δεν είναι καθόλου καλή ιδέα να τρέχετε πχ το domain της επιχείρησής σας με αυτό τον τρόπο εκτός κι αν έχετε τους λόγους σας. Και μόνο η χαμηλή ταχύτητα της σύνδεσής σας μπορεί να προκαλέσει σοβαρές δυσλειτουργίες.