Virtual Hosts d'Apache, com els podem configurar en Ubuntu 20.04

about Virtual host Apache

En el següent article anem a fer una ullada als Virtual hosts d'Apache. Primer de tot, cal explicar que un host virtual és una directiva de configuració d'Apache que ens permetrà executar més d'un lloc web en un sol servidor. El fet que s'estiguin executant en el mateix servidor físic, no resulta evident per a l'usuari final.

Amb els Virtual Hosts podrem especificar l'arrel de el lloc (el directori que conté els fitxers del lloc web), crear una política de seguretat separada per a cada lloc, fer servir diferents certificats SSL i molt més.

En les següents línies veurem com configurar Apache Virtual Hosts en Ubuntu 20.04, I per a això hem de complir amb els següents requisits abans de continuar; un o més noms de domini que apunten a la IP del teu servidor públic i un Apache instal·lat en Ubuntu.

Crear l'estructura de directoris

L'arrel dels documents és el directori on s'emmagatzemen i serveixen els arxius del lloc web per a un nom de domini, en resposta a les sol·licituds. Podrem establir l'arrel en la ubicació que ens interessi. Cada domini allotjat al servidor apache tindrà la seva arrel de documents establerta a / Var / www / nom-de-domini / public_html.

anem a començar creant el directori arrel per als dos dominis que utilitzaré en aquest exemple:

crear estructura de directoris

sudo mkdir -p /var/www/dominio1.com/public_html
sudo mkdir -p /var/www/dominio2.com/public_html

També crearem un arxiu index.html dins el directori arrel de documents de cada domini. Aquest es mostrarà quan visitem el domini des del navegador:

sudo vim /var/www/dominio1.com/public_html/index.html

Dins de l'arxiu, anem a enganxar el següent contingut:

home codi domini1

 
<!DOCTYPE html>
<html lang="es">
  <head>
    <meta charset="utf-8">dominio1</title>
  </head>
  <body>    
<h1>Home del dominio1</h1>
  </body>
</html>

Per al segon domini, editarem el seu arxiu index.html i li afegirem el següent contingut:

sudo vim /var/www/dominio2.com/public_html/index.html

home codi dominio2

<!DOCTYPE html>
<html lang="es">
  <head>
    <meta charset="utf-8">dominio2</title>
  </head>
  <body>
<h1>Home del dominio2</h1>
  </body>
</html>

Atès que les ordres anteriors s'executen amb suo, els arxius i directoris acabats de crear són propietat de root. Per evitar problemes de permisos, canviarem la propietat de directori arrel dels dominis i de tots els fitxers dins d'aquests directoris a l'usuari d'apache (www-data):

sudo chown -R www-data: /var/www/dominio1.com
sudo chown -R www-data: /var/www/dominio2.com

Crear Virtual hosts

En els sistemes Ubuntu, els fitxers de configuració dels Hosts virtuals per Apache es troben al directori / Etc / apache2 / sites-available. Es poden habilitar creant enllaços simbòlics a directori / etc / apache2 / sites-enabled, Que Apache llegeix durant l'inici.

Podrem anomenar els fitxers de configuració com vulguem. però la millor pràctica és utilitzar el nom de domini com el nom de l'arxiu de configuració de l'amfitrió virtual. Ara anem a obrir el nostre editor preferit ia crear els arxius bàsics de configuració. En l'exemple només vaig a mostrar el codi per al domini1:

sudo vim /etc/apache2/sites-available/dominio1.com.conf

Dins afegirem alguna cosa com el següent, però per al dominio2, haurem de canviar domini1 per dominio2 en el següent codi:

virtual host per al domini1

<VirtualHost *:80>
    ServerName dominio1.com
    ServerAlias www.dominio1.com
    ServerAdmin webmaster@dominio1.com
    DocumentRoot /var/www/dominio1.com/public_html

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

    ErrorLog ${APACHE_LOG_DIR}/dominio1.com-error.log
    CustomLog ${APACHE_LOG_DIR}/dominio1.com-access.log combined
</VirtualHost>
  • Nom del servidor → Va a indicar el domini que ha de coincidir amb aquesta configuració d'amfitrió virtual. aquest hauria de ser el nom de domini.
  • ServerAlias → Tots els altres dominis o subdominis que haurien de coincidir per a aquest host virtual, Com el subdomini www.
  • DocumentRoot → Aquí es indicarà el directori des del qual Apache servirà els arxius.
  • Opcions → Aquesta directiva controla quines funcions de servidor estan disponibles a un directori específic.
    • Índexs → Evita llistats de directoris.
    • FollowSymLinks → Quan aquesta opció està habilitada, Apache va seguir els enllaços simbòlics.
  • AllowOverride → Va a especificar què directives declarades a l'arxiu .htaccess poden anul·lar les directives de configuració.
  • ErrorLog, CustomLog → Aquí es van a especificar les ubicacions dels fitxers de registre.

Un cop guardats els arxius, per habilitar el nou arxiu d'amfitrió virtual, anem a crear un enllaç simbòlic des de l'arxiu d'amfitrió virtual a directori habilitat per als llocs. Això ho farem utilitzant el script de a2ensite:

a2ensite domini1

sudo a2ensite dominio1.com

L'altra opció és crear manualment un enllaç simbòlic com es mostra a continuació:

sudo ln -s /etc/apache2/sites-available/dominio1.com.conf /etc/apache2/sites-enabled/

Un cop fet això, podem provar la configuració per detectar errors de sintaxi amb:

sudo apachectl configtest

Si no hi ha errors, a la terminal veurem un resultat com el següent:

sintaxis ok

continuem reiniciant el servei Apache perquè els canvis tinguin efecte:

sudo systemctl restart apache2

Finalment, per verificar que tot funciona com esperem, obrirem la URL http://dominio1.com en el navegador i hauríem de veure el contingut de la pàgina index.html de l'domini1:

home domino1

Amb els Virtual Hosts podrem allotjar múltiples dominis en un sol servidor Ubuntu. Podrem repetir els passos que s'han descrit en les anteriors línies per a crear hosts virtuals addicionals per tots els nostres dominis.

virtual hosts apatxe navegador

El que s'exposa en aquest article és només una explicació bàsica sobre Virtual Host i la seva configuració en Ubuntu. es pot obtenir més informació a la pàgina web d'Apache.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   Carlos va dir

    Hola, em serví molt per poder crear host virtuals, però en córrer l'apachectl confitest em llenço el següent error: «AH00558: apache2: Could no reliably determini el seu full qualified nom domain name, using 127.0.1.1. Set the 'Se rverName' directivament globally to suppress this message
    Syntax OK»

    No sé que pot estar fallant