Xampp installatie op ubuntu als ontwikkelingsomgeving.
xampp voor linux werd geinstalleerd (zie ook http://develoop.be/node/36)
onder /opt/lampp/htdocs/drupal-5.1
staat een drupal (5.1) geinstalleerd die dus via de browser kan bereikt worden op http://localhost/drupal-5.1. Deze gebruikt de mysql database drupal_5_1
ik wil eigenlijk bereiken dat
http://klant1 mapt op /opt/lampp/klant1
http://klant2 mapt op /opt/lampp/klant2
...
In ubuntu heb ik 127.0.0.1 laten mappen op meerdere hosts door /etc/hosts
(onder windows is dat c:\windows\system32\etc\hosts
denk ik) aan te passen. Daarin staat momenteel iets in de trend van
127.0.0.1 localhost
127.0.1.1 ubuntu
127.0.0.1 klant1
127.0.0.1 klant2
Deze wijziging is onmiddellijk actief, en ik kan nu dus surfen naar http//klant1/
Maar ik wordt dan door mijn xampp installatie onmiddellijk geredirect naar http://klant1/xampp
Momenteel wordt http://klant1 dus gemapped op /opt/lampp/htdocs en dan geredirect naar http://klant1/xampp. we willen bereiken dat http://klant1 mapped op een andere directory. Vhosts is het antwoord!
In xampp voor linux moet je eerst virtual host definities enablen in /opt/lampp/etc/httpd.conf
.
Zoek daar naar de sectie
# Virtual hosts
#Include etc/extra/httpd-vhosts.conf
En wijzig dit naar
# Virtual hosts
Include etc/extra/httpd-vhosts.conf
Eens dat dit in orde is ga je de echte virtual hosts aanpassen in /opt/lampp/etc/extra/httpd-vhosts.conf
Ik heb alles wat er stond weggegooid en vervangen door
NameVirtualHost *:80
ServerName localhost
DocumentRoot /opt/lampp/htdocs
ServerName klant1
DocumentRoot /opt/lampp/htdocs/klant1
ServerName klant2
DocumentRoot /opt/lampp/htdocs/klant2
Resultaat.
/opt/lampp/htdocs/klant1
staat
/opt/lampp/htdocs/klant2
staat
Dat is exact hetgeen ik wou bereiken.
En nu nog een extra trucje om snel een nieuwe website op te zetten voor klant3.
Zorg ervoor dat onder /opt/lampp/htdocs/drupal-5.1
een drupal installatie staat en reeds geinstalleerd is gebruik makend van de database 'drupal_5_1'. (Je kan ook eventueel al wat extra modules installeren die je dikwijls gebruikt, vb. status_update ).
/opt/lampp/htdocs/drupal-5.1
naar /opt/lampp/htdocs/klant3
/opt/lampp/var/mysql/drupal_5_1
naar /opt/lampp/var/mysql/klant3
/opt/lampp/htdocs/klant3/sites/default/settings.php
en vervang127.0.0.1 klant3
toe aan /etc/hosts
ServerName klant3
DocumentRoot /opt/lampp/htdocs/klant3
/opt/lampp/etc/extra/httpd-vhosts.conf
sudo /opt/lampp/lampp restart
Volgende keer.. gaan we een stapje verder en laten we zien hoedat je voor 1 klant meerdere subsites kan opbouwen (vb. voor prod.klantX, qa.klantX en dev.klantX ofwel voor backend.klantY en www.klantY). Stay tuned !!
BTW, als dit artikel goedgekeurd wordt (of tenminste al gelezen) dan verhuis ik dat samen met http://drupal.be/node/340 naar het handboek
Deze website is voor Nederlandstalige Drupal-fans en wordt onderhouden door een groep Belgische en Nederlandse vrijwilligers. Iedereen kan meewerken aan deze site.
Fouten of onjuistheden kun je melden melden via het forum
De site draait op Drupal 7 en wordt gehost door Pantheon.
Drupal is een geregistreerd merk van Dries Buytaert. | Powered by Pantheon.
Drupal.be/Drupal.nl is de website van de Nederlandstalige Drupalgemeenschap.
Mijn configuratie ziet er iets anders uit
In eerste instantie kreeg ik het hierboven beschreven verhaal niet aan de praat en mijn xampp bleef maar de pagina http://klant/xampp weergeven in plaats van http://klant/index.html.
Uiteindelijk heb ik het hosts bestand als volgt aangepast.
127.0.0.1 localhost.net localhost
127.0.0.1 klant.net klant
en het blokje in httpd-vhosts.conf ziet er zo uit
ServerName klant.net
DocumentRoot /opt/lampp/htdocs/klant
Om onduidelijke redenen werkt het nu wel en krijg ik wel de juiste pagina te zien.
Tenminste... ik had de fout gemaakt om het index bestand niet van de juiste permisies te voorzien en apache gaf een 403 (forbidden) foutmelding. Met chown heb ik het bestand voorzien van de dezelfde user en groep als apache zelf.
En nu kijk ik dus naar de goede pagina als ik in mijn browser http://klant.net in typ.