## Virtuele host instellen

Apache op Ubuntu 20.04 heeft standaard één serverblok ingeschakeld dat is geconfigureerd om documenten uit de `/var/www/html`map te serveren. Hoewel dit goed werkt voor een enkele site, kan het onpraktisch worden als u meerdere sites host. In plaats van te wijzigen `/var/www/html`, maken we een directorystructuur binnen `/var/www`voor een site met uw_domein, en laten we deze `/var/www/html`op zijn plaats als de standaarddirectory die wordt bediend als een verzoek van een klant niet overeenkomt met andere sites.

Maak de map voor uw_domein als volgt:

    sudo mkdir /var/www/your_domain

Wijs vervolgens het eigendom van de directory toe met de `$USER`omgevingsvariabele:

    sudo chown -R $USER:$USER /var/www/your_domain

Maak vervolgens een voorbeeldpagina `index.html`met `nano`of uw favoriete editor:

    sudo nano /var/www/your_domain/index.html

Voeg binnen de volgende voorbeeld-HTML toe:

Om Apache deze inhoud te laten leveren, is het nodig om een ​​virtueel hostbestand met de juiste richtlijnen te maken. In plaats van het standaard configuratiebestand te wijzigen dat zich `/etc/apache2/sites-available/000-default.conf`direct op bevindt, laten we een nieuw bestand maken op:`/etc/apache2/sites-available/your_domain.conf`

    sudo nano /etc/apache2/sites-available/your_domain.conf

Maak het volgende configuratieblok, dat vergelijkbaar is met het standaard, maar bijgewerkt voor onze nieuwe directory en domeinnaam:

    <VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName noorderpoort
        ServerAlias www.noorderpoort
        DocumentRoot /var/www/noorderpoort
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>

Merk op dat we het hebben bijgewerkt `DocumentRoot`naar onze nieuwe directory en `ServerAdmin`naar een e-mail waartoe de sitebeheerder van uw_domein toegang heeft. We hebben ook twee richtlijnen toegevoegd: `ServerName`die het basisdomein bepalen dat moet overeenkomen met deze virtuele hostdefinitie, en `ServerAlias`, die andere namen definieert die moeten overeenkomen alsof ze de basisnaam zijn.

Sla het bestand op en sluit het als u klaar bent.

Laten we het bestand inschakelen met de `a2ensite`tool:

    sudo a2ensite your_domain.conf

Schakel de standaardsite uit die is gedefinieerd in `000-default.conf`:

    sudo a2dissite 000-default.conf

Laten we vervolgens testen op configuratiefouten:

    sudo apache2ctl configtest

U zou de volgende uitvoer moeten ontvangen:

`Output`

`Syntax OK`

Start Apache opnieuw om uw wijzigingen door te voeren:

    sudo systemctl restart apache2

Apache zou nu uw domeinnaam moeten bedienen. U kunt dit testen door te navigeren naar, waar u zoiets als dit zou moeten zien:`http://IP_van_je_server`