Ovviamente una volta che abbiamo installato il nostro serverino è molto probabile che abbiamo necessità, in prima battuta di creare dei Virtual Host per poter dirottare più siti con domini differenti (lo spazio è relativo a 20GB, ma ovviamente su macchine simili se si alzano le prestazioni il risultato non cambia).
Come per il THE MATRIX MACHINE Project, anche su queste macchine è possibile fare la stessa cosa.
In questo articolo tratteremo i virtual host su porta 80, quella classica dell'http (senza il famoso catenaccio vicino l'indirizzo)
Un virtual host è una serie di regole che Apache 2 deve fare per poter caricare i dati da una cartella del server specifica.
Per intenderci sito1.tld sarà differente da sito2.tld, ma entrmabi si trovano sulla stessa macchina, ovvero hanno lo stesso Indirizzo IP che identifica univocamente il server su Internet.
A seconda della distribuzione di Linux ci sono metodi per attivare e disattivare i Virutal Host (in seguito VH)
Ad esempio, su Ubuntu Server (come già mostrato), ogni Virtual Host deve essere gestito in un singolo file che deve essere attivato sul Server ed in seguito si riavvia il servizio apache2.
Su CentOS 6 (in configurazione Server Aruba Cloud) tutti i virtual host sono gestiti da un unico file (httpd.conf) nella cartella /etc/httpd/conf.
Di volta in volta si aggiungono dei VH e poi si riavvia il servizio httpd (vedremo come dopo)
Su CentOS 7 (sempre in configurazione Server Aruba Cloud) c'è una sorta di media res tra Ububtu e CentOS 6, ovvero ci sono dei file dove inserire i VH e poi si riavvia il server.
Nella seguente disamina (esendo il server usato in questione un Server Aruba Cloud LAMP) considereremo giò installato il modulo mod_rewrite che è usato per i file .htaccess per scrivere direttamente l'indirizzo di pagina in modo "naturale" e non in modo "meccanico" con passaggio dati (principalmente usato dai CMS Joomla o WordPress)
Sintassi del Virtual Host
###
### - www.sito.tld:80
### - Con accesso con .htaccess
######
# Apertura del file di Virtual Host
<VirtualHost www.sito.tld:80>
# Cartella dove si trova il sito in questione
DocumentRoot "/domini/sito.tld/www"
# Nome del Server DNS (:80 è la porta sul quale deve ascoltare
# in linea di massima questa sintassi è comoda quando
# affronteremo SSL
ServerName www.sito.tld:80
# Elenco del tipo di file da caricare come primo (ad esempio se # si usa perr avviare default.html. il sistema mostrerà una
# pagina di default
# perché non riconosciuto
DirectoryIndex index.html index.htm index.php
# Parametri da usare per accedere alla cartella
<Directory "/domini/sito.tld/www">
allow from all
# consente di leggere il file .htaccess
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
# Chiude il Virtual Host
Dove inserire il file col nuovo VH
A differenza di CentOS 6, il 7 nel file di configurazione /etc/httpd/conf/httpd.conf, carica alla fine del file un'opzione che consente di caricare tutti i file di configurazione .conf dalla cartella /etc/httpd/conf.d/.
Quindi il file precedente potrebbe essere salvato come sito.tld.conf nella suddetta cartella.
Fatto ciò si deve riavviare il servizio httpd con la seguente sintassi
sudo systemctl restart httpd
In aggiunta ci sono anche gli ulteriori comandi
sudo systemctl stop httpd
sudo systemctl start httpd
Nota:
Se il sistema dovessa dare errori, ricopiare il VH nel file in /etc/httpd/conf/httpd.conf
Potrebbe non funzionare il costrutto iframe (X-Frame-Options), clicca qui per vedere come risolvere il problema
Commenti