Als je op Linux een Apache2 webserver draait is het mogelijk om meerdere websites tegelijk te serveren. In dit artikel gebruik ik als voorbeeld interne IP adressen. Bij openbare domeinnamen komt het op hetzelfde neer.
In de root is je index.htm te vinden. Maar als je nog een submap er bij hebt staan met een andere index.htm is deze alleen zo te vinden: http://192.168.1.250/submap/index.htm. Dit gebeurd uiteraard op poort 80. Je andere website kan je ook laten bezoeken op een ander poort nummer, bijvoorbeeld 81. Dat ziet er dan zo uit: http://192.168.1.250:81. Je zal nu de index.htm zien uit de submap.
Wanneer is dit handig? Het is namelijk niet gebruiksvriendelijk. Als je een WAF (Web Application Firewall), ook wel reverse proxy genoemd, hebt is dit erg handig. Je kan dan vanaf verschillende url’s dezelfde webserver bezoeken. Dus als voorbeeld: test.rfuchs.nl gaat automatisch naar de website met poort 80. Test2.rfuchs.nl gaat automatisch naar de website met poort 81. Dit zonder in de url met poortverwijzingen te werken.
Hoe doe je dit?
Als je bent ingelogd op je Linux webserver ga je naar de map:
cd /etc/apache2/sites-enabled
In deze map maak je een nieuw config bestand aan met de naam of onderwerp van je website, bijvoorbeeld website2.conf
sudo nano website2.conf
In dit nog lege bestand zet je de volgende tekst neer
Listen 81
<VirtualHost *:81>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/submap
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Het enige wat je moet aanpassen is het poortnummer als je een andere wil gebruiken. Ook het pad naar je tweede website moet je aanpassen. Als dit is gelukt sluit je je nano editor met CTRL + X, vervolgens Y om aan te geven dat je het bestand wil overschrijven en druk ENTER om dezelfde bestandsnaam te gebruiken.
Als dit is gelukt moet je Apache2 herstarten. Dit doe je zo
sudo systemctl restart apache2
Als het allemaal gelukt is kan je nu de tweede website bezoeken op poort 81. En als je gebruik maakt van WAF kan je op een nieuwe url je website tonen met dezelfde webserver.