Ροή

Οδηγός: Πώς να δημιουργήσετε εικονικούς υπολογιστές (Virtual Hosts) Apache στο Debian 10/11

techne

Administrator
Joined
27 May 2010
Μηνύματα
1,157
Βαθμολογία
24
Points
38
Website
www.eltube.gr
apache.jpg

Το Apache Virtual Hosts σάς επιτρέπει να εκτελείτε περισσότερους από έναν ιστότοπους σε ένα μόνο μηχάνημα. Με τους Virtual Hosts, μπορείτε να καθορίσετε τη ρίζα του εγγράφου τοποθεσίας (τον κατάλογο που περιέχει τα αρχεία του ιστότοπου), να δημιουργήσετε μια ξεχωριστή πολιτική ασφαλείας για κάθε τοποθεσία, να χρησιμοποιήσετε διαφορετικά πιστοποιητικά SSL και πολλά άλλα.

Αυτό το άρθρο περιγράφει τον τρόπο ρύθμισης των εικονικών κεντρικών υπολογιστών Apache σε έναν διακομιστή Debian 10/11.

Προαπαιτούμενα

Βεβαιωθείτε ότι πληρείτε τις ακόλουθες απαιτήσεις προτού συνεχίσετε με αυτό το σεμινάριο:

Όνομα τομέα που δείχνει την IP του δημόσιου διακομιστή σας.
Το Apache είναι εγκατεστημένο στο σύστημά σας.
Να έχετε συνδεθεί ως root ή χρήστης με δικαιώματα sudo.

Δημιουργία δομή καταλόγου

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

Θα χρησιμοποιήσουμε την ακόλουθη δομή καταλόγου:

/var/www/
├── domain1.com
│ └── public_html
├── domain2.com
│ └── public_html
├── domain3.com
│ └── public_html


Κάθε τομέας που φιλοξενείται στον διακομιστή θα έχει τη ρίζα του εγγράφου του
/var/www/<domain_name>/public_html

Ας ξεκινήσουμε δημιουργώντας τον ριζικό κατάλογο εγγράφων για τον πρώτο τομέα,

Code:
sudo mkdir -p /var/www/example.com/public_html

Θα δημιουργήσουμε επίσης ένα αρχείο index.html μέσα στον ριζικό κατάλογο του εγγράφου τομέα που θα εμφανίζεται όταν επισκέπτεστε τον τομέα στο πρόγραμμα περιήγησης σας. Ανοίξτε το πρόγραμμα επεξεργασίας κειμένου, δημιουργήστε ένα νέο αρχείο και επικολλήστε τα παρακάτω σε αυτό:

Code:
sudo nano /var/www/example.com/public_html/index.html

Code:
<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>Welcome to example.com</title>
  </head>
  <body>
    <h1>Success! example.com home page!</h1>
  </body>
</html>

Μόλις τελειώσετε, αποθηκεύστε το αρχείο πατώντας <Ctrl> + X ακολουθούμενο από Y και <Enter>.

Εφόσον οι παραπάνω εντολές εκτελούνται ως χρήστης sudo, τα αρχεία και οι κατάλογοι που δημιουργήθηκαν πρόσφατα ανήκουν στο root. Για να αποφύγετε τυχόν προβλήματα άδειας αλλάξτε την ιδιοκτησία του ριζικού καταλόγου εγγράφου τομέα και όλων των αρχείων εντός του καταλόγου στον χρήστη apache (www-data):

Code:
sudo chown -R www-data: /var/www/example.com

Δημιουργήστε έναν Virtual Hosts

Στα συστήματα Debian, τα αρχεία ρύθμισης παραμέτρων του Apache Virtual Host βρίσκονται στον κατάλογο /etc/apache2/sites-available και μπορούν να ενεργοποιηθούν δημιουργώντας συμβολικούς συνδέσμους στον κατάλογο με δυνατότητα /etc/apache2/sites, ο οποίος διαβάζεται από τον Apache κατά την εκκίνηση.

Ανοίξτε το πρόγραμμα επεξεργασίας κειμένου και δημιουργήστε το ακόλουθο βασικό αρχείο διαμόρφωσης Virtual Host:

Code:
sudo nano /etc/apache2/sites-available/example.com.conf

Code:
<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    ServerAdmin [email protected]
    DocumentRoot /var/www/example.com/public_html

    <Directory /var/www/example.com/public_html>
        Options -Indexes +FollowSymLinks
        AllowOverride All
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
    CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
</VirtualHost>

Μόλις τελειώσετε, αποθηκεύστε το αρχείο πατώντας <Ctrl> + X ακολουθούμενο από Y και <Enter>.

  • ServerName: Ο τομέας που πρέπει να ταιριάζει με αυτήν τη διαμόρφωση εικονικού κεντρικού υπολογιστή. Αυτό θα πρέπει να είναι το όνομα τομέα σας.
  • ServerAlias: Όλοι οι άλλοι τομείς ή υποτομείς που πρέπει να ταιριάζουν και με αυτόν τον εικονικό κεντρικό υπολογιστή, συνήθως τον υποτομέα www.
  • DocumentRoot: Ο κατάλογος από τον οποίο ο Apache θα εξυπηρετεί τα αρχεία τομέα.
  • Options: Αυτή η οδηγία ελέγχει ποιες δυνατότητες διακομιστή είναι διαθέσιμες σε έναν συγκεκριμένο κατάλογο.
  • -Indexes: Αποτρέπει τις καταχωρίσεις καταλόγων.
  • FollowSymLinks: Όταν αυτή η επιλογή είναι ενεργοποιημένη, ο Apache θα ακολουθήσει τους συμβολικούς συνδέσμους.
  • AllowOverride: Καθορίζει ποιες οδηγίες που δηλώνονται στο αρχείο .htaccess μπορούν να παρακάμψουν τις οδηγίες διαμόρφωσης.
  • ErrorLog, CustomLog: Καθορίζει τη θέση για τα αρχεία καταγραφής.

Επεξεργαστείτε το αρχείο σύμφωνα με τις ανάγκες σας και αποθηκεύστε το. Μπορείτε να ονομάσετε το αρχείο διαμόρφωσης όπως θέλετε. Η καλύτερη πρακτική είναι να χρησιμοποιήσετε το όνομα τομέα ως όνομα του αρχείου διαμόρφωσης εικονικού κεντρικού υπολογιστή. Για να ενεργοποιήσετε το νέο αρχείο εικονικού κεντρικού υπολογιστή, χρησιμοποιήστε τη βοηθητική δέσμη ενεργειών a2ensite που δημιουργεί έναν συμβολικό σύνδεσμο από το αρχείο εικονικού κεντρικού υπολογιστή στον κατάλογο sites-enabled:

Code:
sudo a2ensite example.com

Η άλλη επιλογή είναι η μη αυτόματη δημιουργία ενός συμβολικού συνδέσμου όπως φαίνεται παρακάτω:

Code:
sudo ln -s /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-enabled/

Μόλις ενεργοποιηθεί η διαμόρφωση, ελέγξτε εάν η σύνταξη είναι σωστή:

Code:
sudo apachectl configtest

Εάν δεν υπάρχουν σφάλματα, θα δείτε την ακόλουθη έξοδο:

Code:
Syntax OK

Επανεκκινήστε την υπηρεσία apache2 για να τεθούν σε ισχύ οι αλλαγές:

Code:
sudo systemctl restart apache2

Για να επαληθεύσετε ότι όλα λειτουργούν όπως αναμένεται, ανοίξτε το http://example.com στο αγαπημένο σας πρόγραμμα περιήγησης και θα δείτε κάτι σαν αυτό:

apache-welcome.jpg

Συμπέρασμα

Σε αυτό το σεμινάριο, σας δείξαμε πώς να δημιουργήσετε μια διαμόρφωση εικονικού κεντρικού υπολογιστή Apache στο Debian 10/11. Μπορείτε να επαναλάβετε τα βήματα που περιγράψαμε παραπάνω και να δημιουργήσετε επιπλέον εικονικούς κεντρικούς υπολογιστές για όλους τους τομείς σας. Εάν θέλετε να ασφαλίσετε τον ιστότοπό σας με πιστοποιητικό SSL, μπορείτε να δημιουργήσετε και να εγκαταστήσετε ένα δωρεάν πιστοποιητικό Letsencrypt SSL .

Μη διστάσετε να αφήσετε ένα σχόλιο εάν έχετε οποιεσδήποτε ερωτήσεις.
 
Top Bottom