Εγκατάσταση IP και Port-Based Virtualhost στο Apache
Αυτό το άρθρο είναι μέρος της σειράς 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. Μπορείτε εύκολα να ρυθμίσετε πολλούς τομείς στον ίδιο διακομιστή.