Apache Virtual Hosts, hvordan kan vi konfigurere dem i Ubuntu 20.04

om virtuel vært Apache

I den næste artikel skal vi se på Apache Virtual Hosts. Først og fremmest er det nødvendigt at forklare det en virtuel vært er et Apache-konfigurationsdirektiv, der giver os mulighed for at køre mere end et websted på en enkelt server. Det faktum, at de kører på den samme fysiske server, er ikke indlysende for slutbrugeren.

Med virtuelle værter vil vi være i stand til at angive roden til webstedet (det bibliotek, der indeholder webstedsfilerne), oprette en separat sikkerhedspolitik for hvert websted, bruge forskellige SSL-certifikater og meget mere.

I de følgende linjer vil vi se hvordan man konfigurerer Apache Virtual Hosts på Ubuntu 20.04, og til dette skal vi opfylde følgende krav, inden vi fortsætter; et eller flere domænenavne, der peger på IP-adressen på din offentlige server og en Apache installeret på Ubuntu.

Opret katalogstrukturen

Dokumentrod er det bibliotek, hvor webstedsfiler til et domænenavn lagres og serveres som svar på anmodninger. Vi kan etablere roden på det sted, der interesserer os. Hvert domæne er hostet på apache-server vil have sin dokumentrod sat til / var / www / domain-name / public_html.

Vi skal start med at oprette rodmappen til de to domæner som jeg vil bruge i dette eksempel:

oprette katalogstruktur

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

også vi opretter en fil index.html inden for dokumentets rodmappe for hvert domæne. Dette vises, når vi besøger domænet fra browseren:

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

Inde i filen skal vi indsætte følgende indhold:

hjemmekodedomæne1

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

For det andet domæne redigerer vi dens index.html-fil og tilføjer den følgende indhold:

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

hjemmekodedomæne2

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

Da ovenstående kommandoer køres med sudo, ejes de nyoprettede filer og mapper af root. For at undgå tilladelsesproblemer vi vil ændre ejerskabet af rodmappen til domænerne og alle filerne i disse mapper til apache-brugeren (www-data):

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

Opret virtuelle værter

På Ubuntu-systemer, De virtuelle værtskonfigurationsfiler til Apache findes i biblioteket / etc / apache2 / sites-tilgængelig. De kan aktiveres ved at oprette symbolske links til biblioteket / etc / apache2 / sites-aktiverede, som Apache læser under opstart.

Vi kan navngive konfigurationsfilerne, hvad vi vil. Men den bedste praksis er at bruge domænenavnet som navnet på den virtuelle værtskonfigurationsfil. Nu skal vi åbne vores foretrukne teksteditor og oprette de grundlæggende konfigurationsfiler. I eksemplet skal jeg bare vise koden til domæne1:

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

Inde vil vi tilføje noget som det følgende, men for domæne2 skal vi ændre domæne1 til domæne2 i følgende kode:

virtuel vært til domæne1

<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>
  • Server navn → Du vil angive det domæne, der skal matche denne virtuelle værtskonfiguration. Øst skal være domænenavnet.
  • ServerAlias → Alle de andre domæner eller underdomæner, der skal matche for denne virtuelle vært, såsom www.
  • DocumentRoot → Her er vil angive den mappe, hvorfra Apache vil tjene filerne.
  • Muligheder → Dette direktiv styrer, hvilke serverfunktioner der er tilgængelige i et bestemt bibliotek.
    • Indexes → Undgå katalogoversigter.
    • FollowSymLinks → Når denne indstilling er aktiveret, følger Apache de symbolske links.
  • AllowOverride → Du skal specificere hvad Direktiver, der er erklæret i .htaccess-filen, kan tilsidesætte konfigurationsdirektiver.
  • ErrorLog, CustomLog → Her specificerer du logfilplaceringer.

Når filerne er gemt, skal vi til at aktivere den nye virtuelle værtsfil Opret et symbolsk link fra den virtuelle værtsfil til det stedaktiverede bibliotek. Vi gør dette ved hjælp af scriptet a2ensite:

a2ensite domæne1

sudo a2ensite dominio1.com

Den anden mulighed er manuelt oprette et symbolsk link som det er vist i følgende:

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

Når dette er gjort, kan vi test konfigurationen for syntaksfejl med:

sudo apachectl configtest

Hvis der ikke er fejl, ser vi et resultat i terminalen som følger:

syntaks ok

Vi fortsætter genstart af Apache-tjenesten for at ændringerne skal træde i kraft:

sudo systemctl restart apache2

Endelig for at kontrollere, at alt fungerer som forventet, vi åbner URL'en http://dominio1.com i browseren, og vi skal se indholdet af siden index.html for domain1:

hjemme domino1

Med virtuelle værter kan vi være vært for flere domæner på en enkelt Ubuntu-server. Vi kan gentage de trin, der er beskrevet i de foregående linjer for at oprette yderligere virtuelle værter til alle vores domæner.

virtuel vært apache-browser

Den udsatte ting i denne artikel er kun en grundlæggende forklaring om Virtual Host og dens konfiguration i Ubuntu. Det kan få mere information på Apache-websted.


En kommentar, lad din

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   Carlos sagde han

    Hej, det hjalp mig meget at oprette virtuelle værter, men da jeg kørte apachectl confitest, fik jeg følgende fejl: "AH00558: apache2: Kunne ikke pålideligt bestemme serverens fuldt kvalificerede domænenavn ved hjælp af 127.0.1.1. Indstil 'ServerName'-direktivet globalt for at undertrykke denne meddelelse
    Syntaks OK»

    Jeg ved ikke, hvad der kan være galt