Handleiding Apache Virtual Host op Ubuntu 22.04

Wat is een Apache Virtual Host?

Met Virtual Host kunt u meerdere websites uitvoeren vanaf één fysieke server of Virtual Private Server. Er zijn twee soorten virtuele hosts op Apache:

IP-gebaseerde virtuele hosts – elke individuele website op de Apache Server gebruikt een ander uniek IP-adres.

Op naam gebaseerde virtuele hosts – stelt u in staat om meerdere domeinen toe te voegen met behulp van een enkel IP-adres.

Deze handleiding laat zien hoe u Apache Virtual Hosts instelt op Ubuntu 22.04

Hoe een op naam gebaseerde virtuele host in te stellen?

Op naam gebaseerde virtuele hosting stelt de cliënt in staat om de hostnaam aan de server te rapporteren, als onderdeel van de HTTP-header. Deze functie betekent dat één machine meerdere websites kan hosten die hetzelfde IP-adres delen.

Stap 1: maak een directorystructuur aan

Elke virtuele host moet een map hebben voor het opslaan van virtuele host gegevens. Maak mappen en een mappenstructuur op de volgende locatie /var/www. In het voorbeeld heb ik kmkoster1.info en kmkoster2.info mappen gemaakt, één voor elke domeinnaam.

1. Voer de volgende opdracht in en vervang het voorbeelddomein door uw domeinnamen:

sudo mkdir -p /var/www/kmkoster1.local/public_html

sudo mkdir -p /var/www/kmkoster2.local/public_html

Binnen de mappen heb ik ook public_html mappen gemaakt. In deze mappen worden de website-bestanden geplaatst voor de domeinen.

2. Maak vervolgens een voorbeeldpagina voor elk domein met behulp van nano of uw favoriete teksteditor. Begin met het eerste domein:

sudo nano /var/www/kmkoster1.local/public_html/index.html

3. Voeg de volgende voorbeeld HTML toe:

<html>
<head>
<title>Welkom bij kmkoster1!</title>
</head>
<body>
<h1>Alles werkt op het domein kmkoster1.local</h1>
</body>
</html>

4. Sla het bestand op en sluit het af.

5. Maak vervolgens een voorbeeldpagina voor het tweede domein:

sudo nano /var/www/kmkoster2.local/public_html/index.html

6. Voeg de volgende voorbeeld HTML toe:

<html>
<head>
<title>Welkom bij kmkoster2!</title>
</head>
<body>
<h1>Alles werkt op het domein kmkoster2.local</h1>
</body>
</html>

7. Sla het bestand op en sluit het af.

8. Om bestandspermissies te voorkomen, wijzigt u de eigenaar van de hoofdmap van uw bestanden in www-data. Het chown commando is in dit geval handig:

sudo chown –R www-data:www-data /var/www/kmkoster1.local
sudo chown –R www-data:www-data /var/www/kmkoster2.local

U heeft nu met succes het eigendom van de map gewijzigd in de Apache-gebruiker.

Stap 2: maak een virtueel host configuratiebestand

Apache Virtual Host configuratiebestanden worden opgeslagen in de map /etc/apache2/sites-available.

1. Om een ​​basis configuratiebestand voor uw eerste domein te maken, voert u de domeininformatie in de opdracht in:

sudo nano /etc/apache2/sites-available/kmkoster1.local.conf

2. Voeg het volgende configuratieblok toe om een ​​basis configuratiebestand te maken. Dit voorbeeld gebruikt het eerste domein kmkoster1.info. Zorg ervoor dat u het juiste domein voor uw website invoert:

<VirtualHost *:80>

ServerAdmin webmaster@kmkoster1.local
ServerName kmkoster1.local
ServerAlias www.kmkoster1.local
DocumentRoot /var/www/kmkoster1.local/public_html

ErrorLog ${APACHE_LOG_DIR}/kmkoster1.local-error.log
CustomLog ${APACHE_LOG_DIR}/kmkoster1.local-access.log combined

</VirtualHost>
  • Servernaam – vertegenwoordigt het domein
  • ServerAlias ​​– vertegenwoordigt alle andere domeinen zoals subdomeinen
  • DocumentRoot – de map die door Apache wordt gebruikt om domeinbestanden te serveren
  • ErrorLog, CustomLog – geeft de locatie van de logbestanden aan

Er is geen vast formaat. Het is echter een goede gewoonte om uw configuratiebestanden een naam te geven op basis van de domeinnaam.

3. Nadat u het configuratiebestand voor het eerste domein heeft bewerkt, herhaalt u het proces voor tweede domein:

sudo nano /etc/apache2/sites-available/kmkoster2.local.conf

4. Voeg vervolgens het configuratieblok toe zoals in het onderstaande voorbeeld, en zorg ervoor dat u de waarden voor kmkoster2.info wijzigt:

<VirtualHost *:80>

ServerAdmin webmaster@kmkoster2.local
ServerName kmkoster2.local
ServerAlias www.kmkoster2.local
DocumentRoot /var/www/kmkoster2.local/public_html

ErrorLog ${APACHE_LOG_DIR}/kmkoster2.local-error.log
CustomLog ${APACHE_LOG_DIR}/kmkoster2.local-access.log combined

</VirtualHost>

Stap 3: schakel virtuele host configuratiebestanden in

Om het virtuele hostbestand in te schakelen, maakt u een symbolische koppeling van het virtuele hostbestand naar de sites-enabled directory. Apache2 leest dit bestand tijdens het starten.

1. Gebruik de a2ensite commando om het virtuele hostbestand in te schakelen met de opdracht:

sudo a2ensite kmkoster1.local

2. Herhaal het proces voor het tweede domein:

sudo a2ensite kmkoster2.local

3. Controleer vervolgens of de syntaxis van het configuratiebestand correct is met behulp van de opdracht:

sudo apachectl configtest

Het bericht in de terminal bevestigt dat de syntaxis correct is: “Syntax OK”

4. Herstart Apache2 om de wijzigingen toe te passen:

sudo systemctl restart apache2

Het enige dat u nog hoeft te doen, is een webbrowser openen om toegang krijgen tot uw websites. Op basis van het index.html bestand dat we eerder hebben gemaakt, zou het juiste bericht voor elk domein moeten verschijnen.

Stap 4: Firewall configureren (optioneel)

Voeg de regels toe om toegang tot Apache toe te staan.

sudo ufw allow in “Apache Full”

Schakel vervolgens de firewall in.

sudo ufw enable

Als de firewall goed werkt, zou u moeten zien “Firewall is actief en ingeschakeld bij het opstarten van het systeem.”

Conclusie

Door deze handleiding te volgen, hebt u met succes een Apache Virtual Host op Ubuntu gemaakt en geconfigureerd. U kunt nu meerdere op namen gebaseerde virtuele hosts maken en een groot aantal domeinen uitvoeren/hosten vanaf één enkele server door één IP-adres te gebruiken.

Delen:

Plaats een reactie

Welkom

Installeer kmkoster.nl
×