Gli host virtuali (vhost) vengono utilizzati per servire più domini utilizzando un singolo server o un indirizzo IP (Internet Protocol). Vengono visualizzate pagine diverse in base a quanto impostato nel file host per quel particolare sito. Puoi aggiungere tutti gli host virtuali di cui hai bisogno al tuo server. Questo articolo fornisce istruzioni per la creazione di vhost su CentOS® in particolare.
Nota: Sostituisci qualsiasi istanza di domain.com in questo articolo con il nome di dominio del tuo sito.
Prerequisiti di configurazione Vhost per CentOS
Questo articolo presuppone che tu abbia configurato Domain Name Services (DNS) in modo che il tuo dominio punti al tuo sito o che tu stia utilizzando un file host locale sul tuo computer per indirizzare il dominio al server a scopo di test.
Il tuo server deve avere Apache® installato per configurare i vhost. Installa Apache eseguendo il seguente comando:
sudo yum install httpd
Nota: Verifica che il firewall sul tuo server sia configurato per consentire il traffico HTTP sulla porta 80.
Crea una directory vhost su CentOS
-
Crea una nuova directory usando il seguente comando:
sudo mkdir -p /var/www/vhosts/domain.com/public_htmlQuesta directory viene utilizzata per memorizzare il contenuto web del tuo sito. Questo è noto come Radice del documento posizione nel
vhostdi Apache file di configurazione. Usando-paggiunge automaticamente i genitori della tua nuova directory. -
Imposta le autorizzazioni necessarie sulla nuova directory utilizzando il comando seguente:
sudo chown -R username:vhostuser /var/www/vhosts/domain.com/public_html
Nota: Sostituisci vhostuser in username:vhostuser con l'utente che dovrebbe avere accesso alla nuova directory.
Concedi l'accesso in lettura a tutti i file all'interno della directory vhosts utilizzando quanto segue:
sudo chmod -R 755 /var/www/vhosts/
Configura il file dell'host virtuale
-
Apri httpd.conf file nel
vieditor di testo utilizzando il seguente comando:sudo vi /etc/httpd/conf/httpd.conf -
Inserisci la seguente riga alla fine del file:
Include vhost.d/*.confQuesta azione imposta Apache per leggere tutti i file che terminano con .conf all'interno di /etc/httpd/vhost.d directory.
-
Salva ed esci dal file di configurazione.
-
Crea la directory per i file di configurazione di vhost utilizzando il comando seguente:
sudo mkdir /etc/httpd/vhost.d/ -
Crea un modello vhost da cui puoi creare futuri host virtuali utilizzando il comando seguente:
touch /etc/httpd/vhost.d/default.template -
Apri il default.template file in
viutilizzando il seguente comando:vi /etc/httpd/vhost.d/default.template -
Inserisci il codice seguente all'interno di /etc/httpd/vhost.d/default.template file:
<VirtualHost *:80> ServerName domain.com ServerAlias www.domain.com DocumentRoot /var/www/vhosts/domain.com/public_html <Directory /var/www/vhosts/domain.com/public_html> Options Indexes FollowSymLinks MultiViews AllowOverride All </Directory> CustomLog /var/log/httpd/domain.com-access.log combined ErrorLog /var/log/httpd/domain.com-error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn </VirtualHost> #<VirtualHost _default_:443> # ServerName example.com # DocumentRoot /var/www/vhosts/domain.com/public_html # <Directory /var/www/vhosts/domain.com/public_html> # Options Indexes FollowSymLinks MultiViews # AllowOverride All # </Directory> # CustomLog /var/log/httpd/example.com-ssl-access.log combined # ErrorLog /var/log/httpd/example.com-ssl-error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. # LogLevel warn # SSLEngine on # SSLCertificateFile /etc/ssl/certs/domain.crt # SSLCertificateKeyFile /etc/ssl/certs/domain.key #</VirtualHost> -
Salva le modifiche al file ed esci da
vi.
Crea il file vhost e riavvia il servizio Apache
-
Crea il file vhost all'interno di /etc/httpd/vhost.d directory utilizzando il comando seguente:
sudo cp /etc/httpd/vhost.d/default.template /etc/httpd/vhost.d/domain.com.conf -
Apri il dominio.com.conf file in
viutilizzando il seguente comando:sudo vi /etc/httpd/vhost.d/domain.com.conf -
Salva le modifiche al file ed esci da
vi. -
Riavvia Apache eseguendo il seguente comando:
sudo service httpd restartViene visualizzato il seguente messaggio:
Stopping httpd: [OK] Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using 0000:0000:0000:0000:0000:0000:0000:0000 for ServerName [OK]
Questo è un avviso predefinito che puoi ignorare.
Il tuo host virtuale è ora configurato e pronto per l'uso. Devi caricare contenuti web su DocumentRoot directory che hai creato sul tuo server per visualizzare i contenuti quando accedi al tuo nome di dominio utilizzando un browser.