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_html
Questa directory viene utilizzata per memorizzare il contenuto web del tuo sito. Questo è noto come Radice del documento posizione nel
vhost
di Apache file di configurazione. Usando-p
aggiunge 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
vi
editor di testo utilizzando il seguente comando:sudo vi /etc/httpd/conf/httpd.conf
-
Inserisci la seguente riga alla fine del file:
Include vhost.d/*.conf
Questa 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
vi
utilizzando 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
vi
utilizzando 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 restart
Viene 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.