Quan utilitzeu el Servidor Web Apache, podeu utilitzar els servidors virtuals (Virtual Hosts) per encapsular els detalls de la configuració i allotjar més d'un domini des d'un sol servidor. Configurarem un domini anomenat exemple.com, però hauríeu de reemplaçar-lo amb el vostre propi nom de domini.
Apache en Debian 9, té un bloc de servidor habilitat per defecte que està configurat per servir documents del directori /var/www/html. Tot i que funciona bé per a un sol lloc, pot tornar-se difícil de manejar si està allotjant múltiples llocs. En lloc de modificar /var/www/html, creem una estructura de directoris dins de /var/www per al nostre lloc amb el nom del domini 'exemple.com', deixant /var/www/html en el seu lloc com a directori predeterminat que s'ha de servir si una sol·licitud del client no coincideix amb altres llocs.
Creu el directori exemple.com que allotjara els documents del lloc web de la següent manera, usant la -p per a crear el directori arrel (directori pare o principal) del lloc. Amb privilegis de superusuari, fent ús de sudo o com usuari root tecleja:
mkdir -p /var/www/example.com/html
A continuació, assigneu la propietat del directori amb la variable d'entorn $USER . Amb privilegis de superusuari, fent ús de sudo o com usuari root tecleja:
chown -R $USER:$USER /var/www/example.com/html
Els permisos als directoris arrels del web han de ser correctes, si no heu modificat el vostre valor unmask, però podeu assegurar-vos teclejant. Amb privilegis de superusuari, fent ús de sudo o com usuari root tecleja:
chmod -R 755 /var/www/example.com
A continuació, creeu una pàgina index.html, per exemple amb nano o el vostre editor favorit. Amb privilegis de superusuari, fent ús de sudo o com usuari root tecleja:
nano /var/www/example.com/html/index.html
A l'interior, afegiu el codi HTML de mostra següent:
<html>
<head>
<title>Benvingut a Example.com!</title>
</head>
<body>
<h1>Èxit! El Virtual Host del servidor example.com està funcionant!</h1>
</body>
</html>
Deseu i tanqueu el fitxer quan hàgeu acabat.
Perquè Apache puga servir aquest contingut, és necessari crear un fitxer host virtual (Virtual Hosts), amb les directives correctes. En lloc de modificar el fitxer de configuració predeterminat localitzat a /etc/apache2/sites-available/000-default.conf directament, fem un de nou a /etc/apache2/sites-available/example.com.conf. Amb privilegis de superusuari, fent ús de sudo o com usuari root tecleja:
nano /etc/apache2/sites-available/example.com.conf
Enganxa al següent bloc de configuració, que és similar al predeterminat, però actualitzat per al nostre nou directori i nom de domini:
<VirtualHost *:80>
ServerAdmin admin@exemple.com
ServerName exemple.com
ServerAlias www.exemple.com
DocumentRoot /var/www/exemple.com/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Tingueu en compte que hem actualitzat DocumentRoot al nostre nou directori i ServerAdmin a un correu electrònic que l'administrador del lloc de example.com pot tindre accés. També hem afegit dues directives: ServerName , que estableix el domini base que hauria de coincidir per a aquesta definició d'amfitrió virtual, i ServerAlias , que defineix altres noms que haurien de coincidir com si es tractés del nom base. Deseu i tanqueu el fitxer quan hàgeu acabat.
Habilita l'arxiu amb l'eina a2ensite . Amb privilegis de superusuari, fent ús de sudo o com usuari root tecleja:
a2ensite example.com.conf
Desactiveu el lloc predeterminat definit a 000-default.conf. Amb privilegis de superusuari, fent ús de sudo o com usuari root tecleja:
a2dissite 000-default.conf
A continuació, provem els errors de configuració. Amb privilegis de superusuari, fent ús de sudo o com usuari root tecleja:
apache2ctl configtest
Heu de veure la sortida següent:
Syntax OK
Reinicia Apache per implementar els canvis. Amb privilegis de superusuari, fent ús de sudo o com usuari root tecleja:
systemctl restart apache2
Apache ara ha d'estar servint el seu nom de domini. Podeu provar això navegant en http://exemple.com, on hauries de veure alguna cosa així:
Èxit! El Virtual Host del servidor servidorsroig.sytes.net està funcionant!