Vhosts opzetten

In deze tutorial leer ik jullie op een vlotte manier het opzetten van een vhost maar ook met eigen URL voor de vhost. Eerst een situatieschets. Ik heb al mijn projecten onder een map staan (D:\Projects\EclipsePHP).  Ik gebruik Eclipse PHP editor om mijn projecten te ontwikkelen (dit ter info). Ieder project heeft een naam en een map in mijn project map.

Project: gastenboek
Map: D:\Projects\EclipsePHP\Gastenboek

Nu als ik naar http://localhost surf, zal Apache mijn DocumentRoot nemen en kijken of daar een index.php staat. Omdat http://localhost/gastenboek te lastig is voor mij, maak ik per project ook een hostnaam aan.

Host: http://gastenboek

De software die ik gebruik is:

  • Zend Server Community Edition
  • Eclipse PDT (dit is niet nodig maar ik vermeld graag een goeie PHP editor)

Stap 1: hostnaam maken

Ga naar C:\Windows\System32\drivers\etc. Daar vind je een bestand hosts. Zorg dat je dit kan bewerken. Met Windows Vista/7 moet je hier even zelf toegang geven.

  • Rechtsklik op hosts -> Eigenschappen
  • Klik op tabblad Beveiliging
  • Klik op de knop Bewerken
  • Klik op de knop Toevoegen
  • Type je gebruikersnaam in en op de knop Namen controleren en klik OK
  • Vink Volledig beheer aan (dit is het makkelijkst).

Nu je het bestand kan bewerken, open het en voeg de onderstaande lijn toe aan het bestand.

127.0.0.1        gastenboek

Stap 2: vhost maken

In je Apache folder (bij mij is dit C:\Program Files (x86)\Zend\Apache2) vind je in de map conf/extra het bestand httpd-vhosts.conf. Zorg dat je dit bestand kan bewerken en open het. Er zal al één en ander instaan van voorbeeld code. Je mag die voorbeeld <Vhost> tags wegdoen als dit jou irriteert. Voor het gastenboek kleef je de volgende code erin. De uitleg staat eronder

<VirtualHost *:80>
DocumentRoot “D:\Projects\EclipsePHP\Gastenboek\public”
ServerName gastenboek
ErrorLog “logs/gastenboek-error.log”

<Directory D:\Projects\EclipsePHP\Gastenboek\public>
Allow from all
AllowOverride All
</Directory>
</VirtualHost>

  • De documentroot zegt waar Apache moet kijken
  • De servername is de naam van onze hostnaam
  • De errorlog is handig om per vhost een log file te hebben
  • De directory tag zorgt ervoor dat wij als bezoeker toegang hebben tot die map. Zonder die tag krijg je een HTTP 403 error

update voor nieuwere apache versies:

De allow from all, allowoverride all kan je vervangen door Require local.

http://stackoverflow.com/questions/8413042/client-denied-by-server-configuration

Stap 3: httpd-vhosts.conf

In je httpd.conf moet je nog enkel de httpd-vhosts.conf includen. In de httpd.conf staat die er al maar er staat een # voor. Dus die moet eventjes weggehaald worden.

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

Finale

Ziezo, meer is er eigenlijk niet. Je kan altijd meer vinden op Apache website.

Om alles te testen moet je nu Apache herstarten en surfen naar http://gastenboek. Als alles goed is, kan je nu je project zien.

Bronnen

One Response to Vhosts opzetten

  1. ignace zegt:

    Hoi Stijn,

    Hoe gaat het?

    Je moet eens kijken naar VirtualDocumentRoot http://httpd.apache.org/docs/2.2/mod/mod_vhost_alias.html#virtualdocumentroot.

    Een VirtualDocumentRoot zorgt er voor dat je niet telkens opnieuw je vhosts file moet aanpassen maar gewoon een bepaald patroon volgt.

    Om je hosts file aan te passen gebruik je ook best HostsMan http://www.abelhadigital.com/hostsman

    Zodat je niet altijd moet navigeren naar de /etc/ map en dan niet vergeten uit te voeren als administrator of je kan niet editen.

    Groeten

Geef een reactie

Vul je gegevens in of klik op een icoon om in te loggen.

WordPress.com logo

Je reageert onder je WordPress.com account. Log uit / Bijwerken )

Twitter-afbeelding

Je reageert onder je Twitter account. Log uit / Bijwerken )

Facebook foto

Je reageert onder je Facebook account. Log uit / Bijwerken )

Google+ photo

Je reageert onder je Google+ account. Log uit / Bijwerken )

Verbinden met %s

%d bloggers op de volgende wijze: