9/2.11 Virtuele webservers aanmaken in Apache



Vergelijkbare documenten
Installeer Apache2: Landstede februari 2009 versie 3 1 Bertil Hoentjen

4/5 Installatieservers

Chapter 4. eenvoudige webserver opzetten

Apache heeft standaard een /var/www directory met daarin een index.html bestand.

Huiswerk Linux: installatie mod_auth_pam

Je gaat nu een Zend-Project maken in de map C:/wamp/www (de document root van de webserver) met behulp van Zend Tool..

HANDLEIDING. IPv6 implementatie op een DirectAdmin server met CentOS

5/8 Patch management

5/5 Red Carpet. 5/5.1 Inleiding

HTTP: headers. HTTP: hypertext transfer protocol. HTTP: headers. HTTP: commands

Huiswerk Linux: Installatie phpmyadmin

4/1.4 Service Location Protocol

Huiswerk Linux: Installatie WordPress

Huiswerk Linux: Apache SSL

Huiswerk Linux: Installatie WordPress

Virtual Web mini-howto

WebHare Professional en Enterprise

16. Web Station. In dit hoofdstuk komen de volgende onderwerpen aan bod:

10/5 Integratie met Windows

Aanmelden Na installatie wordt de service automatisch gestart en kunt u meteen aanmelden van op afstand:

Studietaak 5 Hoe installeer ik software? ProFTPD FTP-Server

Les 4 Installeren Apache2 Php MySQL

Gegevens. Cliënt met browser Server met Apache/IIS Databaseserver En PHP

Het aanmaken en installeren van een ZOVAR-servercertificaat onder een Apache webserver

Aandachtspunten voor installatie suse in vmware server

Xampp Web Development omgeving opzetten onder Windows.

[ EXAMEN LINUX UBUNTU SERVER ]

Het aanmaken en installeren van een servercertificaat onder Apache

Samba installeren en configureren

Settings for the C100BRS4 MAC Address Spoofing with cable Internet.

HowTo => OpenBSD => Local Caching DNS + DNSSEC (BIND)

Howto make Exim work with Freesco 0.2.7

Installatie How-to Kodak Scanstation 100 t.b.v. Factuurscanning TBlox

HOWTO: Named, a Domain Name Server. geschreven door Johan Huysmans

5/9 PlateSpin. 5/9.1 PlateSpin Portability Suite

Linux Gevorderden Basis installatie Linux. Elektronica-ICT. Selina Oudermans 2ICT4. Academiejaar

Central Station. Handleiding configuratie Exchange / Central Station

Instellingen voor de C100BRS4 met Chello kabel Internet.

Inhoudsopgave... 1 Disclaimer... 3 Voorwoord... 3 Inleiding... 5 Het downloaden van XAMPP... 7 Het installeren van XAMPP... 8 Joomla installeren op

De installatie en configuratie van een webserver

Configureren van een VPN L2TP/IPSEC verbinding

Inhoudsopgave Disclaimer... 3 Voorwoord... 4 Inleiding... 5 Het downloaden van XAMPP... 7 Het installeren van XAMPP... 8 Joomla installeren op

Practicum Software & Web Security 2. Instructies voor installatie en gebuik van WebGoat en WebScarab

IAAS HANDLEIDING - SOPHOS FIREWALL

Net2WebServer. Installatie handleiding

Instellingen voor de C100BRS4 met Wanadoo kabel Internet.

Multi user Setup. Firebird database op een windows (server)

Denit Backup instellen op een Linux server

Installeer drupal op een cloud server Gepubliceerd op Dominique De Cooman (

Picture to . How-To: ROBIN Tech Note. Version: NL Datum:

PHP (v5.2.0): homepage: downloadpagina: bestandsnaam: php win32.

HOWTO: Microsoft Domain Controller en Linux DNS-server. geschreven door Johan Huysmans

Aan de slag met DNS Jeroen van Herwaarden, Robbert-Jan van Nugteren en Yannick Geerlings

Netwerkprinter Dell 1320C installeren op Ubuntu LTS - Lucid Lynx

xxter Mobotix T24 configuratie

Pheenet WAS-105r standaard configuratie zonder VLAN s. Technote

Linux Server Installatie

Pheenet WAS-105r standaard configuratie met VLAN s. Technote

Quarantainenet Log Forwarder

Printen met Vector Linux 4.3

Instellingen voor de C100BRS4 met Wanadoo kabel Internet.

NSS volumes in een bestaande tree aanspreken vanuit Domain Services for Windows

MULTIFUNCTIONELE DIGITALE SYSTEMEN. Instellen en gebruiken van LDAP met Active Directory

HOWTO: Samba en Name Servers. geschreven door Johan Huysmans

5/7 Imaging in ZENworks 7.0

Quarantainenet Log Forwarder

5/3.5 Appliances maken met Su SE Studio

Installatie instructies

RF Monitoring: Handleiding

Studietaak 4 Hoe installeer ik software? Apache Webserver

Op de Virtual Appliance is MySQL voorgeïnstalleerd. MySQL is momenteel de meest gebruikte database op het internet.

Quarantainenet Log Forwarder

Instellingen Microsoft ISA server

Om een contentmanagementsysteem

Van dvd naar webserver. Marcel Nijenhof 18 Juli

Installatie van WerkMeester

Configureren van een VPN L2TP/IPSEC verbinding. In combinatie met:

Examen Windows & Linux Server

1. Controleren van de aansluiting op de splitter

Een eenvoudige webserver maken in Lazarus

Getting Started. AOX-319 PBX Versie 2.0

UNIX FAQ. Migratie naar een nieuwe server

1 Installatie van de server... 2

Test Joomla op je PC 1

XAMPP Web Development omgeving opzetten onder Windows.

Raspberry Pi VPN-server. Auteur: Ger Stok

Module VIII - DNS. Stefan Flipkens - Cursus: Internet - Intranet ( )

Inrichting Windows XP Pro werkstation in schoollan

Postcode module Webservices

RUCKUS GUEST ACCESS. Technote. Alcadis Vleugelboot CL Houten Versie: 1.0 Auteur: Thomas Snijder Datum:

Installeren van het programma:

b-logicx handleiding INHOUDSOPGAVE Toegang op afstand via extern IPadres UG_NoIP.pdf

MxStream & Linux. Auteur: Bas Datum: 7 november 2001

LES 11: VAN LOKAAL NAAR ONLINE. Lesoverzicht: Aan de slag Domeinnaam Web hosting FTP gegevens FTP programma s Database exporteren Samenvatting

Computer vanop afstand overnemen via Extern Bureaublad.

Uw Xirrus XN configureren voor gebruik met de 802.1xfunctionaliteit

Over PHP. PHP en MySQL. 1.1 Inleiding. In dit hoofdstuk maak je kennis met PHP. Hoe werkt deze

Boutronic. MSSQL Express server voor Log functie. >> Installatie handleiding << 23 april 2014, versie 1.0d

ipact Installatiehandleiding CopperJet 816-2P / P Router

Transcriptie:

Internet, Intranet & Webservices 9/2.11 Virtuele webservers aanmaken in Apache Een van de meest gebruikte processen op Linux is de Apache-webserver. Nu kunt u uw webserver laten voorzien in een enkele website, maar nog veel mooier is dat Apache ook in staat is om vanuit één proces meerdere webservers te hosten. Dit fenomeen staat bekend als virtuele webservers. U leert hier hoe u deze virtuele webservers aanmaakt op een Su SE Linux Enterprise Server-systeem. Voordat we beginnen te kijken naar de details van de configuratie van virtuele servers op Su SE Linux Enterprise Server ( SLES ), een opmerking over de werkwijze die voor andere distributies gebruikt wordt. Er bestaan op het gebied van Apache namelijk de nodige verschillen tussen de diverse distributies. Dit betekent dat in grote lijnen een en ander er op bijvoorbeeld Ubuntu wel hetzelfde uitziet, maar dat er op detailniveau toch nog wel wat verschillen zijn. Houd daar rekening mee als u deze procedure ook voor andere distributies wilt uitvoeren. Procedure Het configureren van virtuele servers voor Apache is niet echt moeilijk, zolang u de grote lijnen van de procedure maar in de gaten houdt. Deze kan als volgt samengevat worden: 1. Zorg ervoor dat alle virtuele servers op basis van hun naam ook teruggevonden kunnen worden. 2. Maak voor elke virtuele server een configuratiebestand aan. 3. Maak een document root voor elke virtuele server. 4. Herstart Apache. De benodigde stappen worden hierna verder uitgewerkt. Novell Netwerkoplossingen, aanvulling 35 9/2.11-1

Apache 9/2.11.1 Name resolving voor virtuele servers Met het aanmaken van virtuele servers alleen bent u er nog niet. Waarschijnlijk vindt u het ook leuk als gebruikers de virtuele servers terug kunnen vinden. Dit betekent dat u de servers in DNS bekend moet maken. Dit is een taak die u waarschijnlijk moet regelen in de DNS -configuratie-interface van uw provider; informeer in elk geval bij de provider wat de te volgen procedure is. Om te kunnen werken met virtuele servers hoeft u overigens niet voor elke afzonderlijke server ook een IP -adres te hebben. Apache kan prima overweg met meerdere servers die aangeboden worden op één IP -adres, een procedure die door heel veel hostingproviders ook wordt aangeboden. Wel is het bij deze configuratie van belang dat u aan Apache vertelt op welke wijze hij moet kijken naar de virtuele servers. Dit doet u op SLES door het bestand listen.conf aan te passen. Het gaat om de parameters uit de listing 9/2.11-1 die u onderaan in het bestand listen.conf terugvindt. Use name-based virtual hosting on a specified address / port: NameVirtualHost 12.34.56.78:80 name-based virtual hosting: NameVirtualHost *:80 on all addresses and ports. This is your best bet when you are on 9/2.11-2 Novell Netwerkoplossingen, aanvulling 35

Internet, Intranet & Webservices dynamically assigned IP addresses: NameVirtualHost * Listing 9/2.11-1 Verschillende manieren om met virtuele hosts te communiceren. Zoals u ziet, zijn er drie verschillende manieren om de parameter NameVirtualHost te gebruiken. U kunt ervoor kiezen om specifiek op te nemen welke virtuele hosts via welk IP -adres aangeboden worden. Deze manier is het meest voor de hand liggend als u meerdere IP -adressen hebt waarbij elke virtuele Apache-server zijn eigen IP -adres heeft. U neemt dan een lijstje op van alle IP -adressen en bijbehorende poorten zodat Apache weet waar hij moet luisteren. De andere optie die vaak gebruikt wordt, is gewoon een * te gebruiken om aan te geven waar de virtuele hosts luisteren. Apache houdt in dat geval alle IP -adressen en poorten in de gaten. Deze optie is met name handig als u één IP -adres hebt waarop alle servers luisteren en kan tevens gebruikt worden als het betreffende IP -adres regelmatig gewijzigd wordt, bijvoorbeeld omdat het opnieuw wordt uitgedeeld door een DHCP -server. Nadat u bepaald hebt op welke wijze de Apache-server moet luisteren naar binnenkomende requests voor virtuele servers, regelt u de name resolving zelf. In de meeste gevallen zult u dit bij de provider doen. Als u een eenvoudige testomgeving intern wilt opzetten, kunt u ook gebruikmaken van /etc/hosts. Dit doet u op de computer waar u uiteindelijk wilt gaan testen. In /etc/hosts neemt u een lijstje op met IP -adressen en daarachter de servers die op het betreffende IP -adres staan te luisteren. In listing 9/11.2-2 ziet u hoe dit werkt voor de virtuele webservers www.example.nl en www.example.be. Novell Netwerkoplossingen, aanvulling 35 9/2.11-3

Apache hosts This file describes a number of hostname-to-address mappings for the TCP / IP subsystem. It is mostly used at boot time, when no name servers are running. On small systems, this file can be used instead of a named name server. Syntax: IP -Address Full-Qualified-Hostname Short-Hostname 127.0.0.1 localhost special IP v6 addresses ::1 localhost ipv6-localhost ipv6-loopback fe00::0 ipv6-localnet ff00::0 ipv6-mcastprefix ff02::1 ipv6-allnodes ff02::2 ipv6-allrouters ff02::3 ipv6-allhosts 127.0.0.2 brainshare.example.com brainshare 10.0.0.10 brainshare brainshare 10.0.0.21 www.example.nl 10.0.0.21 www.example.be Listing 9/11.2-2 Als u niet via DNS wilt of kunt werken, kunt u name resolving ook regelen via /etc/hosts. Zoals u in listing 9/11.2-2 ziet, zijn er twee regels opgenomen voor het IP -adres 10.0.0.21: het adres waarop de virtuele servers staan te luisteren. Hierdoor kunt u in de browser gewoon de DNS -naam gebruiken, waarop de Apache-server u doorstuurt naar het juiste IP -adres. U hoeft 9/2.11-4 Novell Netwerkoplossingen, aanvulling 35

Internet, Intranet & Webservices dit op dit moment nog niet te proberen, want er is nog niets geconfigureerd. 9/2.11.2 Configuratie van de virtuele servers Op SLES wordt voor het aanmaken van virtuele webservers gewerkt met templates. Het principe is vrij eenvoudig: in /etc/apache2/vhosts.d vindt u een bestand met de naam vhost.template. Dit bestand kopieert u naar een specifiek configuratiebestand voor de aan te maken virtuele server. Hierbij is het van belang dat dit bestand de extensie.conf heeft, anders gaat het namelijk niet werken. Als we ervan uitgaan dat u inderdaad twee virtuele servers wilt aanmaken, namelijk www.example.nl en www.example.be, voert u nu dus de volgende twee opdrachten uit: cp /etc/apache2/vhosts.d/vhost.template /etc/apache2/ vhosts.d/www.example.nl.conf cp /etc/apache2/vhosts.d/vhost.template /etc/apache2/ vhosts.d/www.example.be.conf Vervolgens zorgt u ervoor dat de betreffende configuratiebestanden de juiste inhoud krijgen. In listing 9/2.11-3 ziet u alle regels in het voorbeeldconfiguratiebestand die standaard gebruikt worden: <VirtualHost *:80> ServerAdmin webmaster@dummy-host.example.com ServerName dummy-host.example.com DocumentRoot /srv/www/vhosts/dummy-host.example.com ErrorLog /var/log/apache2/dummy-host.example.com-error_log CustomLog /var/log/apache2/dummy-host.example.com-access_log combined HostnameLookups Off UseCanonicalName Off Novell Netwerkoplossingen, aanvulling 35 9/2.11-5

Apache ServerSignature On ScriptAlias /cgi-bin/ /srv/www/vhosts/dummy-host.example. com/cgi-bin/ <Directory /srv/www/vhosts/dummy-host.example.com/ cgi-bin > AllowOverride None Options +Exec CGI -Includes Order allow,deny Allow from all </Directory> <IfModule mod_userdir.c> UserDir public_html Include /etc/apache2/mod_userdir.conf </IfModule> <Directory /srv/www/vhosts/dummy-host.example.com > Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> </VirtualHost> Listing 9/2.11-3 Standaardregels in /etc/apache2/vhosts.d/vhost.template. Belangrijke regels Niet alle regels zijn even belangrijk; we bespreken hierna de regels die echt aangepast moeten worden. <VirtualHost *:80> Deze regel geeft aan waar de virtuele host aangeboden moet worden. De aanduiding die hier staat, moet overeenkomen met de NameVirtualHost-setting die u in /etc/apa- 9/2.11-6 Novell Netwerkoplossingen, aanvulling 35

Internet, Intranet & Webservices che2/listen.conf hebt gebruikt. De standaardwaarde in dit bestand gaat ervan uit dat het Apache-proces op poort 80 van elk IP -adres moet luisteren of er calls voor deze specifieke server binnenkomen. Pas dit aan als u wilt dat Apache overal luistert (en niet alleen op poort 80), of als u wilt dat Apache alleen op een specifiek IP -adres luistert. ServerAdmin webmaster@dummy-host.example.com Met deze parameter laat u weten op welk mailadres de beheerder van de Apache-server bereikt kan worden. Verander de naam dummy-host.example.com in de (volledige) DNS -naam van de virtuele server. ServerName dummy-host.example.com Dit is de naam van de virtuele server. Uiteraard moet u ook deze veranderen in de volledige DNS -naam van de virtuele server die u wilt configureren. DocumentRoot /srv/www/vhosts/dummy-host.example.com Met deze parameter verwijst u naar de document root. Dit is de directory waarin deze virtuele server zijn documenten gaat zoeken. De directory in kwestie wordt niet standaard aangemaakt; zorg er dus voor dat de betreffende directory inderdaad bestaat voordat u ernaar gaat verwijzen. Om ook een werkende host te hebben maakt u vervolgens een index.html-bestand aan. ErrorLog /var/log/apache2/dummy-host.example.com-error_log CustomLog /var/log/apache2/dummy-host.example.com-access_ log combined Novell Netwerkoplossingen, aanvulling 35 9/2.11-7

Apache Deze twee regels geven aan waar de logbestanden voor deze server aangemaakt moeten worden. Ook hier moet de naam van de virtuele host in kwestie opgenomen worden. HostnameLookups Off UseCanonicalName Off ServerSignature On Deze drie parameters bepalen hoe de server moet omgaan met reverse DNS name lookups. Over het algemeen wordt dit beschouwd als tijdverspilling; daarom hoeft u in de meeste gevallen niets aan deze regels te veranderen en kunt u gewoon de standaardregels laten staan. ScriptAlias /cgi-bin/ /srv/www/vhosts/dummy-host.example. com/cgi-bin/ <Directory /srv/www/vhosts/dummy-host.example.com/cgibin > AllowOverride None Options +Exec CGI -Includes Order allow,deny Allow from all </Directory> Als u via uw Apache-server scripts wilt aanbieden, moet de virtuele server weten waar deze scripts staan. Het blokje onder de regel die dat specificeert, geeft aan wat de instellingen zijn voor de scriptdirectory. Neem deze regels gewoon over, de standaardinstellingen volstaan in de meeste gevallen prima. <IfModule mod_userdir.c> UserDir public_html Include /etc/apache2/mod_userdir.conf </IfModule> 9/2.11-8 Novell Netwerkoplossingen, aanvulling 35

Internet, Intranet & Webservices Als de virtuele servers geconfigureerd zijn met de mod_ userdir-module, kunnen gebruikers hun eigen document root aanmaken in hun homedirectory. Dit blokje parameters doet de benodigde bijbehorende instellingen. Ook hier is het in de meeste gevallen niet nodig om veranderingen aan te brengen. <Directory /srv/www/vhosts/dummy-host.example.com > Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> Tot slot bepaalt het bovenstaande blok met instellingen hoe documenten uit de directory gelezen moeten worden. De instellingen die hier gebruikt worden, geven aan dat er standaard beveiliging wordt toegepast (waar alle documenten gewoon bereikbaar zijn), maar dat er wel een index. html-bestand aanwezig moet zijn en dat niet zomaar klakkeloos de inhoud van de directory getoond moet worden. Ook deze standaardinstellingen voldoen in de meeste gevallen prima. </VirtualHost> Aan het eind van het configuratiebestand moet u de instellingen voor de virtuele host afsluiten. Dat doet u met deze afsluitend directive. Zoals u hebt kunnen afleiden uit de voorgaande informatie, zijn er niet zo heel veel wijzigingen die u moet doorvoeren. Eigenlijk kunnen de benodigde wijzigingen als volgt worden samengevat: Novell Netwerkoplossingen, aanvulling 35 9/2.11-9

Apache 1. 2. 3. Wijzig dummy-host.example.com in de naam van de te gebruiken virtuele host. Maak de document root directory aan. Plaats inhoud in de document root. De eerste van deze drie taken is vrij eenvoudig uit te voeren als u gebruikmaakt van een editor die een globale zoek-en-vervangoptie biedt. In de vi-editor kunt u dit doen met het onderstaande voorbeeldcommando, waar de hostnaam dummy-host.example.com vervangen wordt door www.example.nl: :%s/dummy-host.example.com/www.example.nl/g 9/2.11.3 De document root aanmaken Maak nu de document root directory aan: mkdir /srv/www/vhosts/www.example.nl Voor alle duidelijkheid, het maakt niet zo heel veel uit wat de naam is van deze directory, zolang de gebruikte naam maar exact hetzelfde is als de naam die u in het configuratiebestand gemaakt hebt. Tot slot moet u ervoor zorgen dat er ook inhoud staat in de document root. Dit kunt u doen door een bestand aan te maken met de naam index.html en dit in de document root te plaatsen. Hieronder ziet u een eenvoudig voorbeeld van hoe dit bestand eruit kan zien: <html> Welkom op www.example.nl </html> 9/2.11-10 Novell Netwerkoplossingen, aanvulling 35

Internet, Intranet & Webservices 9/2.11.4 Apache opnieuw opstarten Nu hoeft u alleen de veranderingen nog maar te activeren. Dit doet u door het Apache-proces opnieuw op te starten. Gebruik hiervoor het volgende commando: service apache2 restart Als u dit gedaan hebt, is het tijd voor een test. Start uw browser en kijk of u verbinding kunt maken met de nieuwbakken virtuele server. Als u dit overigens wilt doen vanaf de server zelf en er draait geen grafische console op de server, dan kunt u voor dit doel de browser w3m gebruiken. Deze eenvoudige tekstbrowser is prima in staat de zojuist aangemaakte welkomstpagina te tonen. Figuur 9/2.11-1 Met w3m verifieert u gewoon vanaf de serverconsole of de virtuele Apacheservers bereikt kunnen worden. Novell Netwerkoplossingen, aanvulling 35 9/2.11-11

Apache 9/2.11.5 Tot slot Een van de grote voordelen van Apache is dat u met virtuele hosts meerdere servers kunt draaien op één fysieke machine. U hebt geleerd hoe u dit doet door virtuele hosts te configureren, een procedure die niet moeilijk is uit te voeren op Su SE Linux Enterprise Server. 9/2.11-12 Novell Netwerkoplossingen, aanvulling 35