50% korting alle abonnementen, tijdelijk aanbod. Vanaf $2.48/mo
13 min resterend
Web- en zakelijke apps

Meerdere websites op één server hosten (Apache & IIS) 🌐

Lelie Carnell By Lelie Carnell 13 minuten lezen Bijgewerkt sep 18, 2023
Meerdere websites op één server hosten (Apache & IIS) 🌐

Zodra je gebruik maakt van online hosting, wil je waarschijnlijk weten hoe je meerdere websites op één server kunt hosten. Ook al lijkt dit ingewikkeld, naarmate je meer over dit onderwerp leert, zul je zien dat je dit kunt doen met behulp van technische handleidingen.

Verschillende webservers bieden gratis, open-source diensten die wereldwijd veel worden gebruikt. Maar voordat we uitleggen hoe je meerdere websites op één server host, is het goed om te weten wat een webserver is en hoe die werkt.

Wat is een webserver?

Een webserver slaat content op en levert deze aan bezoekers, zoals tekst, afbeeldingen, video en applicatiedata. Clients die deze content opvragen, krijgen die via de webserver aangeleverd. Een veelvoorkomende client is een webbrowser, die gegevens van je website ophaalt wanneer een gebruiker op een link klikt of een bestand downloadt.

Een webserver communiceert via het Hypertext Transfer Protocol (HTTP) met een webbrowser. De meeste webpagina's zijn opgemaakt in Hypertext Markup Language (HTML). Inhoud kan statisch zijn, zoals tekst en afbeeldingen, of dynamisch, zoals een lijst met producten die een klant heeft geselecteerd. De meeste webservers ondersteunen server-side scripting talen om bedrijfslogica in de communicatie te verwerken en zo dynamische inhoud te leveren. Gangbare talen zijn onder andere Active Server Pages (ASP), JavaScript, PHP, Python en Ruby.

Hoe werkt een webserver?

Webservers werken volgens een client-server model. In deze standaardstructuur vraagt de klant een resource of dienst op bij de server.

Webservers doorlopen een aantal stappen bij het verwerken van verzoeken van webclients:

  1. Wanneer een gebruiker inhoud wil laden op de website, vraagt de webbrowser toegang aan (HTTP-verzoek) via het internet.
  2. De webbrowser zoekt het IP-adres op van de gevraagde website. Daarvoor vertaalt hij de URL van de webpagina's via het Domeinnaamstellsel (DNS) of doorzoekt zijn cache. Dit proces helpt bij het lokaliseren van de webserver: de plek waar de bestanden van de site gehost worden.
  3. Op dit punt ontvangt de webserver het HTTP-verzoek en verwerkt dit via zijn HTTP-server.
  4. Zodra de HTTP-server het verzoek accepteert, doorzoekt hij de serverbestanden om de relevante gegevens op te halen.
  5. De webserver stuurt de sitebestanden terug naar de browser die het verzoek heeft verstuurd. Daarna ziet de gebruiker de website-inhoud.

Let op: als de HTTP-server de gevraagde bestanden niet kan vinden of verwerken, verschijnt er een foutmelding in de webbrowser. Nu je de basisconcepten van webservers kent, kun je ook eenvoudig leren hoe je meerdere websites op één server host. 

Meerdere websites op één server hosten: Apache

Als je meer dan één site op een server wilt hosten, gebruik je de virtual host-bestanden van Apache om aan te geven welk domein gebruikt moet worden. Een veelgebruikte methode voor het afhandelen van siteverzoeken heet Naamgebaseerde virtuele hosts. Wanneer iemand je site bezoekt, gaat het verzoek naar de server, die op basis van de domeinnaam bepaalt welke sitebestanden geserveerd worden. Met deze techniek kun je meerdere sites op één server hosten met hetzelfde IP-adres. Dit artikel legt uit hoe je het virtual host-bestand instelt voor elk van je domeinen. Voordat we verder gaan: zorg dat je bent ingelogd als root.

Lees ook:Linux vs Windows hosting: wat is de beste keuze voor jou?

Stap 1: Maak een map aan voor elke site

Installeer eerst apache2 met dit commando

Voor systemen gebaseerd op Debian

apt install apache2 -y

Voor systemen gebaseerd op CentOS

yum install apache2 -y

Voor elke website die je wilt hosten, moet je een aparte map aanmaken (binnen de map /var/www). Gebruik domain.com en domain2.com als voorbeelddomeinnamen.

mkdir -p /var/www/domain.com/public_html
mkdir -p /var/www/domain2.com/public_html

Stap 2: Stel mappermissies in

chmod -R 755 /var/www

Stap 3: Een indexpagina instellen

Om een startpagina te zien, moet je zorgen dat het index.html bestand voor elk domein is aangemaakt. Je kunt iets eenvoudigs gebruiken zoals testen voor domain.com in dit bestand.

vim /var/www/domain.com/public_html/index.html

testen voor domain.com

Sla het bestand nu op en sluit het af met de Ontsnappen knop en typ: wq

Gebruik de onderstaande opdracht om al deze stappen te herhalen voor je tweede domein.

vim /var/www/domain2.com/public_html/index.html

Stap 4: Het configuratiebestand kopiëren voor elke site

Kopieer het standaard configuratiebestand voor elke site, zodat je altijd een reservekopie hebt voor toekomstige sites.

cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/domain.com.conf
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/domain2.com.conf

Stap 5: Het configuratiebestand bewerken voor elke site

Vervolgens pas je de gemarkeerde regels aan binnen het <VirtualHost *:80> en </VirtualHost> tags.

Let op dat ServerAlias is de alternatieve naam voor je domein. In de meeste gevallen zet je www voor de domeinnaam, zodat bezoekers de site kunnen bereiken met én zonder www (ServerName).

vim /etc/apache2/sites-available/domain.com.conf

Sitegegevens
Sitegegevens

Sluit opnieuw af en sla op met wq. Herhaal dit proces voor je domain2.com.conf bestand. Vergeet niet de ServerName, ServerAlias, en DocumentRoot bij te werken voor je tweede domein.

Lees ook:Apache vs NGINX

 Stap 6: Schakel je configuratiebestand in

Standaard leest je server het bestand 000-default.conf. In de vorige stap hebben we echter een nieuw configuratiebestand aangemaakt voor elk domein. Daarom moet je het standaardbestand uitschakelen en het nieuwe configuratiebestand activeren.

a2dissite 000-default.conf

Activeer elk van je nieuwe .conf-bestanden zodat je server de bijbehorende domeinen herkent.

a2ensite domain.com.conf
a2ensite domain2.com.conf

Herstart Apache nu om de wijzigingen door te voeren.

systemctl restart apache2

Stap 7: Apache-configuraties verifiëren

Na het herstarten van Apache kun je controleren of de configuratie correct werkt door je /etc/host-bestand op uw computer of de DNS van je domein.

Als alles is ingesteld, kun je je website in een browser openen om de index.html-pagina's te zien die je in stap 3 hebt aangemaakt.

Lees ook: On-Premises versus Cloud

Meerdere websites op één server hosten: IIS

Met een IIS (Internet Information Services)-webserver kun je tientallen of zelfs honderden websites hosten. Je kunt meerdere websites op dezelfde server draaien, allemaal luisterend op dezelfde TCP-poort. De IIS Manager-interface lijkt te suggereren dat je een extra website alleen kunt hosten door deze aan een andere poort te koppelen, zoals 8080. In dit gedeelte leggen we uit hoe je meerdere websites op dezelfde IIS-server kunt hosten en ze kunt koppelen aan dezelfde poort en hetzelfde IP-adres, of juist aan verschillende IP-adressen.

Hoe installeer je IIS op een Windows-server?

Wanneer je IIS installeert op Windows, wordt er een lege standaardwebsite aangemaakt die luistert op de standaard web HTTP poort – TCP 80. Technisch gezien is onze site gekoppeld aan poort TCP/80. We moeten de naam van de IIS server ("http://web-srv1") of het IP-adres ervan ("http://192.168.1.100") in uw browser invoeren om deze site te openen.

Stap 1: IIS-website koppelen 

Een web IIS-server op Windows Server kan meerdere websites hosten. IIS verdeelt HTTP-verzoeken alleen correct als elke website een unieke identificatie heeft. Elke website in IIS heeft drie kenmerken die samen een unieke combinatie vormen:

  • een TCP poortnummer
  • een IP-adres
  • een host-header (hostnaam)

De informatie over de gehoste websites wordt opgeslagen in de ServerBindings attribuut van de IIS Metabase, en de indeling is als volgt: IP:Poort:Hostnaam. Als je meerdere websites op één server wilt hosten (met hetzelfde poortnummer en IP-adres), heb je een unieke Host-header.

Je vraagt je misschien af: wat is een host header? Een host header is een onderdeel van een HTTP-verzoek aan de server dat aangeeft welke website wordt aangesproken. Daarom moet deze host header aan de kant van de webserver worden ingesteld. Zorg ervoor dat de DNS het juiste record bevat dat overeenkomt met de hostnaam en het IP-adres van de IIS-webserver.

Stel dat je een website hebt die draait op de IIS-server en luistert op poort 80. Wat doe je als je een tweede website aan dezelfde poort wilt koppelen?

Stap 2: De tweede IIS-website koppelen

Open de Internet Information Services (IIS) Manager en maak een nieuwe website aan via het venster Website toevoegen. Geef deze de naam TestSite en stel het pad in op C:\inetpub\TestSite. Laat het hostnaam-veld voorlopig leeg.

Na het kopiëren van de site-inhoud in C:\inetpub\Open Internet Information Service (IIS) Manager op TestSite, ga naar de hostnaam van de server en voeg een site toe via de wizard.

hostwebsites.png

voeg-nieuwe-site-toe-iis
Website toevoegen

 

Na het klikken op Ok verschijnt er een waarschuwing dat je de volgende mogelijkheid niet kunt gebruiken binding *:80 voor beide websites.

website toevoegen

de binding 80 is al toegewezen aan een andere site
Binding controleren

Zodra je akkoord gaat met deze waarschuwing, wordt er een tweede site gekoppeld aan poort 80. Je kunt die site niet starten zonder de eerste eerst te stoppen. De onderstaande afbeelding legt dit verder uit.

4 Verschillende bindingspoorten toewijzen aan websites
Verschillende bindingspoorten toewijzen aan websites

windows-original-vps Windows VPS-hosting

Bekijk onze betaalbare Windows VPS-plannen met krachtige hardware, lage latentie en een gratis Windows naar keuze!

Claim je gratis Windows

Meerdere websites hosten op een IIS-server via Host Headers

Je moet een andere naam (Host Name) kiezen voor de tweede IIS-website om een unieke binding te maken. Klik hiervoor met de rechtermuisknop op TestSite en selecteer Bewerken Bindings. Selecteer de gewenste binding en klik op Bewerken.

Zoals je in de onderstaande afbeelding ziet, moet je de unieke hostnaam opgeven die de gebruiker invoert. In deze tutorial gebruiken we TestSite. Vul die in het veld Hostname in.

test-iis-site-binding
Bewerk Site Binding Window

Je kunt de opdrachtprompt gebruiken om de IIS-sitebinding te configureren. Als je IIS 7 of nieuwer gebruikt, zie je na het uitvoeren van het configuratiecommando iets als dit:

C:\Windows\System32\inetsrv\appcmd.exe set site /site.name:testsite /+bindings.[protocol='http',bindingInformation='*:80:testsite']

Net als bij de eerste website kun je ook de tweede starten.

start-iis-site
Websites beheren

Je moet nu een DNS-alias aanmaken voor de server (A of CNAME), die verwijst naar het IP-adres of de hostnaam van je IIS-webserver. Gebruik je een Active Directory-domein, dan moet je DNS-records aanmaken op de domeincontroller. Met IIS kun je een CNAME record aanmaken voor de naam TestSite in de DNS-console (dnsmgmt.msc) en de domeinnaam van je IIS-server instellen als FQDN-doelhost.

een CNAME-record aanmaken voor de naam TestSite in de DNS-console
een CNAME-record aanmaken voor de naam TestSite in de DNS-console

Je kunt dit DNS-record ook aanmaken via PowerShell met het volgende commando:

Add-DnsServerResourceRecordCName -HostNameAlias web-srv1.woshub.com -Name testsite -ZoneName woshub.com

Probeer nu http://TestSite te openen in de browser. Als alles correct is ingesteld, zou de pagina zonder problemen moeten laden.

meerdere-iis-sites-op-dezelfde-80-http-poort
Eindresultaat van testsite

 

linux-vps Linux Hosting Eenvoudig Gemaakt

Op zoek naar een betere manier om je websites en webapps te hosten? Iets nieuws aan het bouwen? Of gewoon niet blij met Windows? Daarom hebben wij Linux VPS.

Haal je Linux VPS

Meerdere sites draaien met verschillende IP-adressen op een IIS-server

Nu bespreken we hoe je twee sites op de IIS-webserver kunt draaien met verschillende IP-adressen. Eerst moet je een apart VLAN-interface toevoegen op de Windows-server, of een extra IP-adres (alias) toewijzen aan de NIC.

In deze tutorial heeft de server het primaire IP-adres 192.168.13.100. We voegen het IP-alias 192.168.13.101 toe aan dezelfde netwerkadapter:

Get-NetIPAddress | ft IPAddress, InterfaceAlias, SkipAsSource
New-NetIPAddress –IPAddress 192.168.13.101 –PrefixLength 24 –InterfaceAlias “Ethernet” –SkipAsSource $True

Maak nu een A-record aan voor je nieuwe site op de DNS-server:

Add-DnsServerResourceRecordA -Name NewSite3 -IPv4Address 192.168.13.101 -ZoneName woshub.com -TimeToLive 01:00:00 –CreatePtr

Tot slot open je de Site Binding-instellingen en koppel je de site aan het extra IP-adres van je host. Je kunt sitebindingen op een IIS-server beheren via PowerShell. Hiervoor wordt de WebAdministration-module gebruikt:

Import-Module WebAdministration

Je kunt alle beschikbare IIS-sites en hun bindingen bekijken:

Get-IISSite

Of alleen de gegevens van één specifieke site:

(Get-Website -Name NewSite).bindings.Collection

bindings.Collection

Gebruik het volgende commando om de binding van deze site te wijzigen. Hiermee kun je het IP-adres, de poort of de naam aanpassen:

Set-WebBinding -Name NewSite1 -BindingInformation "192.168.13.101:80:NewSite1" -PropertyName 'Port' -Value '8080'
Set-WebBinding -Name NewSite1 -BindingInformation "192.168.13.101:8080:NewSite1" -PropertyName 'IPAddress' -Value '192.168.13.100'

Gebruik dit commando om een nieuwe binding toe te voegen aan een specifieke IIS-site:

New-IISSiteBinding -Name NewSite1 -BindingInformation "*:9090:" -Protocol http

Een binding verwijder je met de volgende opdracht:

Remove-IISSiteBinding -Name NewSite1 -BindingInformation "*:9090:"

Zoals je hier hebt gezien, kun je meerdere websites op de IIS-webserver uitvoeren, zowel op verschillende IP-adressen als op hetzelfde IP-adres en TCP-poortnummer.

Conclusie: Meerdere websites hosten op één server

 Dit artikel richtte zich voornamelijk op de basisconcepten van servers en legt uit hoe je meerdere websites op één server kunt hosten. We bieden ook verschillende Linux VPS hostingoplossingen waarmee je verschillende websites op één server kunt draaien. De plannen van Cloudzy verlagen de kosten van meerdere servers, en je kunt onze diensten optimaal benutten. Bovendien kun je de resources van je server eenvoudig uitbreiden, waaronder RAM, opslag, processor en bandbreedte.

Veelgestelde vragen

 

Kun je meerdere websites hosten op één webserver?

Als je een krachtige server hebt met voldoende resources zoals HDD-ruimte, RAM en CPU-rekenkracht, kun je meerdere websites hosten via virtual hosting. Het aantal websites dat je op je webserver kunt hosten is onbeperkt.

Hoe kun je twee websites op één server draaien?

Het hosten van meerdere websites op één webserver heet Virtual Server. Zorg er wel voor dat de gekozen server voldoende resources heeft om het verkeer en de schijfruimtevereisten aan te kunnen.

Waarvoor wordt een VPS-server gebruikt?

VPS is een hostingdienst die je toegang geeft tot dedicated (privé) resources op een server. Belangrijk om te weten: VPS is een veiligere en stabielere keuze dan gedeelde hosting, waarbij je geen eigen serverruimte krijgt.

Waarom gebruiken mensen VPS?

VPS-hosting is een populaire keuze geworden omdat het doorgaans goedkoper is dan dedicated hosting, maar betere betrouwbaarheid, beveiliging en prestaties biedt dan gedeelde hosting.

Delen

Meer van de blog

Verder lezen.

Reviewafbeelding van Odoo met grote koptekst aan de linkerkant en het Odoo-logo aan de rechterkant, omgeven door zwevende app-interfacepanelen op een zachte paarse achtergrond met wolkenmotief.
Web- en zakelijke apps

Een uitgebreide Odoo-review: is Odoo het juiste ERP voor jouw bedrijf?

Odoo is een van de meest besproken ERP-platformen voor groeiende bedrijven, en dat heeft een eenvoudige reden: het belooft veel onder één dak. Verkoop, boekhouding, voorraad

Jim SchwarzJim Schwarz 11 min lezen
Afbeelding bij artikel over open-source WordPress-alternatieven, met een kleurrijke verloopachtergrond, desktopmonitor, code-editor, wazig dashboardvoorbeeld en grote koptekst aan de linkerkant.
Web- en zakelijke apps

De beste open-source WordPress-alternatieven voor developers

WordPress is nog steeds relevant en bedient een groot aantal sites goed. De plug-indirectory telt meer dan 62.000 plug-ins en de themedirectory biedt meer dan 14.000 gratis thema's. Da

Jim SchwarzJim Schwarz 14 minuten lezen
Afbeelding bij vergelijkingsartikel Automad vs. WordPress, met beide platformlogo's en een koptekst over welk CMS developers zouden moeten kiezen.
Web- en zakelijke apps

Automad vs. WordPress: een grondige vergelijking tussen twee toonaangevende CMS-platformen

Automad en WordPress lossen hetzelfde probleem op, maar op heel verschillende manieren. Automad is een flat-file CMS met een template-engine, waardoor content in bestanden wordt opgeslagen in plaats van een database, maar WordPress,

Jim SchwarzJim Schwarz 9 minuten lezen

Klaar om in te zetten? Vanaf $2.48/mnd.

Onafhankelijke cloud, sinds 2008. AMD EPYC, NVMe, 40 Gbps. 14 dagen geld-terug-garantie.