Αυτό το άρθρο είναι μέρος της σειράς Apache Server Guide:

  • Ασφάλεια Apache στο Ubuntu - Μέρος 1
  • Ασφάλεια του Apache στο Ubuntu - Μέρος 2
  • Βελτιστοποίηση της απόδοσης του Apache - Μέρος 1
  • Βελτιστοποίηση της απόδοσης του Apache - Μέρος 2
  • Ρύθμιση του βασισμένου σε όνομα Apache του
  • Εγκατάσταση IP και Port-Based Virtualhost στο Apache
  • Πώς να ρυθμίσετε τον Κατάλογο Ιστού Προστατέψτε τον Κωδικό στο Apache
  • Εγκατάσταση του Apache Server με υποστήριξη SSL στο Ubuntu
  • Ρύθμιση του Fail2ban για την προστασία του Apache από επίθεση DDOS
  • Πώς να ρυθμίσετε το Webdav με Apache στο Ubuntu
  • Παρακολούθηση του διακομιστή Web Apache χρησιμοποιώντας το Mod_status
  • Πώς να προστατεύσετε το DDoS με Mod_evasive στο Apache Server

Η εικονική φιλοξενία είναι μια μέθοδος για τη φιλοξενία πολλαπλών ιστότοπων σε ένα μόνο διακομιστή. Υπάρχουν δύο τύποι εικονικής φιλοξενίας: Εικονική φιλοξενία με βάση το όνομα και εικονική φιλοξενία που βασίζεται σε IP. Η εικονική φιλοξενία που βασίζεται στην IP είναι μια τεχνική για την εφαρμογή διαφορετικών οδηγιών βάσει της διεύθυνσης IP και της θύρας που λαμβάνει ένα αίτημα. Μπορείτε να αντιστοιχίσετε μια ξεχωριστή διεύθυνση IP για κάθε τομέα σε έναν μόνο διακομιστή χρησιμοποιώντας εικονική φιλοξενία που βασίζεται σε IP. Κυρίως αυτό χρησιμοποιείται για τη φιλοξενία διαφορετικών ιστοσελίδων σε διαφορετικές θύρες ή IP.

Εδώ πρόκειται να φιλοξενήσουμε το "www.ipvhost1.com" σε IP "192.168.1.227", "www.ipvhost2.com" σε IP "192.168.1.228" και "www.portvhost.com" σε IP "192.168.1.228" με το λιμάνι 8080.

Απαιτήσεις

  • OS: Ο διακομιστής Ubuntu 14.04 με εγκατεστημένο το Apache
  • Διεύθυνση IP1: 192.168.1.227
  • Διεύθυνση IP2: 192.168.1.228
  • Τομέας: www.ipvhost1.com
  • Τομέας: www.ipvhost2.com
  • Τομέας: www.portvhost.com

Δημιουργία πολλαπλών διευθύνσεων IP σε μια ενιαία διεπαφή δικτύου

Για να ρυθμίσετε την εικονική φιλοξενία IP, πρέπει να έχετε αντιστοιχίσει περισσότερες από μία διευθύνσεις IP στο μηχάνημά σας Linux. Η δημιουργία πολλών διευθύνσεων IP σε μια ενιαία διεπαφή δικτύου ονομάζεται αλλιώς IP. Το IP aliasing είναι πολύ χρήσιμο αν έχετε μόνο μία κάρτα διασύνδεσης δικτύου.

Για να γίνει αυτό, πρέπει να επεξεργαστείτε το αρχείο "/ etc / network / interfaces".

 sudo nano / etc / δίκτυο / διεπαφές 

Προσθέστε τις ακόλουθες γραμμές:

 αυτόματη eth0 iface eth0 inet στατική διεύθυνση 192.168.1.227 μάσκα δικτύου 255.255.255.0 πύλη 192.168.1.1 dns-nameservers 8.8.8.8 auto eth0: 1 iface eth0: 1 inet στατική διεύθυνση 192.168.1.228 netmask 255.255.255.0 

Αποθηκεύστε και κλείστε το αρχείο και, στη συνέχεια, κάντε επανεκκίνηση της υπηρεσίας δικτύου για να πραγματοποιήσετε αυτές τις αλλαγές.

 sudo /etc/init.d/networking επανεκκίνηση sudo ifup eth0: 1 

Εγκατάσταση πολλαπλών παρουσιών του Apache

Από προεπιλογή, το Apache ακούει στη θύρα 80. Για την εικονική φιλοξενία που βασίζεται σε θύρα, πρέπει να ενημερώσετε το Apache να ακούσει τα IP "192.168.1.227" και "192.168.1.228" στη θύρα 80 και IP "192.168.1.228" στη θύρα 8080.

Για να ρυθμίσετε πολλές θύρες, θα πρέπει να επεξεργαστείτε το αρχείο "/etc/apache2/ports.conf".

 sudo nano /etc/apache2/ports.conf 

Προσθέστε την ακόλουθη γραμμή:

 Ακούστε 192.168.1.227:80 Ακούστε 192.168.1.228:80 Ακούστε 192.168.1.228:8080 

Αποθηκεύστε και κλείστε το αρχείο και, στη συνέχεια, κάντε επανεκκίνηση του Apache για να πραγματοποιήσετε αυτές τις αλλαγές.

 sudo /etc/init.d/apache2 επανεκκίνηση 

Δημιουργία εικονικών καταλόγων

Πρώτον, πρέπει να δημιουργήσετε μια δομή καταλόγου που θα κρατά τις ιστοσελίδες. Αυτός ο κατάλογος είναι γνωστός ως DocumentRoot για τον τομέα.

Δημιουργήστε τρεις καταλόγους για τους ιστότοπους "www.ipvhost1.com", "www.ipvhost2.com" και "www.portvhost.com" κάτω από τον προεπιλεγμένο κατάλογο DocumentRoot του Apache.

 sudo mkdir -p /var/www/html/www.ipvhost1.com sudo mkdir -p /var/www/html/www.ipvhost2.com sudo mkdir -p /var/www/html/www.portvhost.com 

Δημιουργία ιστοσελίδων δοκιμής για κάθε εικονικό κεντρικό υπολογιστή

Δημιουργήστε ένα αρχείο "index.html" για κάθε ιστότοπο που προσδιορίζει συγκεκριμένα IP και θύρα.

Δημιουργήστε ένα αρχείο index.html για τον εικονικό κεντρικό υπολογιστή "www.ipvhost1.com".

 sudo nano /var/www/html/www.ipvhost1.com/index.html 

Προσθέστε το ακόλουθο περιεχόμενο.

 www.ipvhost1.com 

Αποθηκεύστε και κλείστε το αρχείο όταν τελειώσετε.

Δημιουργήστε ένα αρχείο "index.html" για τον εικονικό κεντρικό υπολογιστή "www.ipvhost2.com".

 sudo nano /var/www/html/www.ipvhost2.com/index.html 

Προσθέστε το ακόλουθο περιεχόμενο.

 www.ipvhost2.com 

Αποθηκεύστε και κλείστε το αρχείο όταν τελειώσετε.

Δημιουργήστε ένα αρχείο "index.html" για τον εικονικό κεντρικό υπολογιστή "www.portvhost.com".

 sudo nano /var/www/html/www.portvhost.com/index.html 

Προσθέστε το ακόλουθο περιεχόμενο.

 www.portvhost.com 

Αποθηκεύστε και κλείστε το αρχείο όταν τελειώσετε.

Δημιουργία ιδιοκτησίας και δικαιωμάτων

Από προεπιλογή, η υπηρεσία Apache εκτελείται ως χρήστης "www-δεδομένων" στο Ubuntu. Πρέπει να αλλάξετε την ιδιοκτησία αυτών των τριών εικονικών καταλόγων σε "www-data", έτσι ώστε το Apache να μπορεί να διαβάζει και να γράφει δεδομένα.

Για να το κάνετε αυτό, εκτελέστε:

 sudo chown -R www-δεδομένα: www-δεδομένα /var/www/html/www.ipvhost1.com sudo chown -R www-δεδομένα: www-δεδομένα /var/www/html/www.ipvhost2.com sudo chown -R www-δεδομένα: www-data /var/www/html/www.portvhost.com 

Επίσης, πρέπει να βεβαιωθείτε ότι ο κατάλογος root του Apache (/ var / www / html) είναι ευανάγνωστος ώστε όλοι να μπορούν να διαβάσουν αρχεία από αυτό.

 sudo chmod-R 755 / var / www / html 

Δημιουργία αρχείων Virtual Host

Από προεπιλογή, το Apache συνοδεύεται από προεπιλεγμένο αρχείο εικονικού κεντρικού υπολογιστή που ονομάζεται "000-default.conf". Πρέπει πρώτα να απενεργοποιήσετε αυτό το αρχείο εικονικού κεντρικού υπολογιστή.

Για να το κάνετε αυτό, εκτελέστε την ακόλουθη εντολή.

 sudo a2dissite 000-default.conf 

Το επόμενο βήμα είναι να δημιουργήσετε ένα εικονικό αρχείο ρύθμισης παραμέτρων για κάθε ιστότοπο. Το όνομα κάθε αρχείου διαμόρφωσης πρέπει να τερματίζεται με ".conf".

Δημιουργήστε ένα εικονικό αρχείο φιλοξενίας για τον ιστότοπο "www.ipvhost1.com".

 sudo nano /etc/apache2/sites-available/www.ipvhost1.com.conf 

Προσθέστε το ακόλουθο περιεχόμενο.

 ServerAdmin [email protected] Όνομα_υπολογιστή www.ipvhost1.com DocumentRoot /var/www/html/www.ipvhost1.com ErrorLog $ {APACHE_LOG_DIR} /www.ipvhost1.com_error.log CustomLog $ {APACHE_LOG_DIR} /www.ipvhost1.com_access. log συνδυαστικά 

Αποθηκεύστε και κλείστε το αρχείο.

Δημιουργήστε ένα αρχείο εικονικού κεντρικού υπολογιστή για τον ιστότοπο "www.ipvhost2.com".

 sudo nano /etc/apache2/sites-available/www.ipvhost2.com.conf 

Προσθέστε το ακόλουθο περιεχόμενο.

 ServerAdmin [email protected] Όνομα_υπολογιστή www.ipvhost2.com DocumentRoot /var/www/html/www.ipvhost2.com ErrorLog $ {APACHE_LOG_DIR} /www.ipvhost2.com_error.log CustomLog $ {APACHE_LOG_DIR} /www.ipvhost2.com_access. log συνδυαστικά 

Αποθηκεύστε και κλείστε το αρχείο.

Δημιουργήστε ένα εικονικό αρχείο φιλοξενίας για τον ιστότοπο "www.portvhost.com".

 sudo nano /etc/apache2/sites-available/www.portvhost.com.conf 

Προσθέστε το ακόλουθο περιεχόμενο.

 ServerAdmin [email protected] Όνομα_υπολογιστή www.portvhost.com DocumentRoot /var/www/html/www.portvhost.com ErrorLog $ {APACHE_LOG_DIR} /www.portvhost.com_error.log CustomLog $ {APACHE_LOG_DIR} /www.portvhost.com_access. log συνδυαστικά 

Αποθηκεύστε και κλείστε το αρχείο.

Μετά τη δημιουργία των εικονικών αρχείων κεντρικού υπολογιστή, πρέπει να ενεργοποιήσετε τους εικονικούς κεντρικούς υπολογιστές.

Μπορείτε να το κάνετε αυτό τρέχοντας.

 sudo a2ensite www.ipvhost1.com.conf sudo a2ensite www.ipvhost2.com.conf sudo a2ensite www.portvhost.com.conf 

Τέλος, κάντε επανεκκίνηση της υπηρεσίας Apache.

 sudo /etc/init.d/apache2 επανεκκίνηση 

Δοκιμή εικονικών υπολογιστών

Τώρα, ήρθε η ώρα να δοκιμάσετε το IP Virtualhost. Σε έναν υπολογιστή, ανοίξτε το πρόγραμμα περιήγησης ιστού και μεταβείτε στις διευθύνσεις URL "http://192.168.1.227:80" και "http://192.168.1.228:80". Θα πρέπει να δείτε δείγματα σελίδων επίδειξης για εικονική φιλοξενία βασισμένη σε IP που μοιάζουν με αυτό:

Ομοίως, για να ελέγξετε το Port Virtualhost, ανοίξτε το πρόγραμμα περιήγησης ιστού και μεταβείτε στη διεύθυνση URL "http://192.168.1.228:8080". Θα πρέπει να δείτε μια δοκιμαστική σελίδα επίδειξης για εικονική φιλοξενία που βασίζεται σε θύρα, η οποία μοιάζει με αυτή:

συμπέρασμα

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