31 januari 2007

Self made Wamp (do it yourself)

Introductie

In deze howto, zal ik uitleggen hoe je een volledige webserver kan opzetten onder Windows.
wamp
wamp staat voor Windows Apache MySQL en PHP. Met andere woorden is het een totaaloplossing om dynamische websites te draaien.

Benodigdheden

Apache
Apache is een opensource webserver voor UNIX, Microsoft Windows, ... Er is geen duidelijkheid over de oorsprong van de naam. Sommigen beweren dat het komt van "A patchy server". De eerste versie dateert van februari 1995 en was een gepatchte versie van de NCSA HTTP-server. Nadien is alle code van Apache herschreven.
Op het moment van schrijven is de laatste stabiele versie Apache 2.2.4. Je kan deze downloaden via: http://httpd.apache.org/download.cgi. Kies hier voor de MSI-installer.
MySQL
MySQL is een opensource RDBMS. Ook hier is het onduidelijk waar de naam vandaan komt, een mogelijke verklaring is dat de dochter van medeoprichter Monty Widenius My heet.
Op dit moment is de meest recentste stabiele versie MySQL 5.0.27. Je kan deze downloaden via: http://dev.mysql.com/downloads/mysql/5.0.html#downloads. Kies hier voor de Windows Essentials.
PHP
PHP is een scripttaal waarmee je dynamische pagina's kan maken. PHP is ontwikkeld in 1994 door Rasmus Lerdorf. PHP stond voor Personal Home Page. Sinds PHP 3.0 staat het voor PHP Hypertext Preprocessor.
De meest recente versie is PHP 5.2.0. Download hier zowel de installer als de zip package van http://www.php.net/downloads.php.
phpMyAdmin
phpMyAdmin is een dynamische website die toelaat om MySQL-databases te beheren via een webserver.
De meest recente versie is phpMyAdmin 2.9.2. Je kan deze downloaden via: http://www.phpmyadmin.net/home_page/downloads.php.

installatie Apache

We openen "apache_2.2.4-win32-x86-no_ssl.msi", klik op "Next", aanvaard de licentievoorwaarden. Klik op "Next". Nu gaan we alle informatie over de server zelf invullen, wat je invult is van minder belang. Wat wel van belang is, is dat we Apache als service installeren. "Server Kies in het volgende scherm voor "Custom", waarom? Omdat we zelf willen bepalen waar alles zal terecht komen. In het volgende scherm verander je het installatiepad naar "c:\webserver\Apache2\". "Custom Kies voor install, wacht geduldig tot alles is geinstalleerd. Na de installatie kan je controleren of alles werkt door naar http://127.0.0.1 te surfen. Je zal iets te zien krijgen zoals onderstaande afbeelding. "It

installatie en configuratie MySQL

Open "mysql-essential-5.0.27-win32.msi", klik "Next" en kies voor "Custom". Verander het installatiepad naar "c:\webserver\MySQL\". Klik "Next" en "Install", wacht geduldig tot alles geinstalleerd is. "Custom Kies "Skip Sign-up", vink "Configure the MySQL Server now" aan. Kies "Standard Configuration", vink alle vinkjes aan. Kies een sterk wachtwoord, klik "Next" en "Execute". "finish" Controleer of MySQL correct geinstalleerd is door via het start-menu naar "MySQL" - "MySQL Server 5.0" - "MySQL Command Line Client" te gaan. Er zal gevraagd worden naar je rootpassword. Geef dit in, indien dit correct verloopt dan is de installatie succesvol. "MySQL

installatie PHP

Open "php-5.2.0-win32-installer.msi". Kies "Next", aanvaard de licentievoorwaarden. Verander het installatiepad naar "c:\webserver\PHP\". "Destination Kies "Apache 2.2.x module". Verander de "Apache Configuration Directory" naar "c:\webserver\Apache2\conf\". Kies de gewenste "Extensions" (bzip2, GD2, MySQL, MySQLi, ...) en de gewenste "Extras" (PEAR install, PHP manual). UPDATE: zet niet alles aan, als je zeker bent zet enkel MySQL en MySQLi aan. Doorloop de wizard tot alles geinstalleerd is en laat de wizard Apache herconfigureren. Maak een bestand "phpinfo.php" aan, met onderstaande code: [code lang="PHP"] < ?php phpinfo(); ?> [/code] En plaats dit in "C:\webserver\Apache2\htdocs", herstart Apache en surf naar http://127.0.0.1/phpinfo.php. Indien je iets te zien krijgt zoals onderstaande afbeelding dan is de installatie correct verlopen. "PHPinfo"

configuratie Apache

Bookmark deze blog: http://blog.verkoyen.eu, reboot de computer en keer terug naar deze blog. Open "C:\webserver\Apache2\conf" en vervang: [code lang="BASH"] DirectoryIndex index.html [/code] door: [code lang="BASH"] DirectoryIndex index.html, index.htm, index.php [/code]

installatie phpMyAdmin

Pak "phpMyAdmin-2.9.2-english.zip" uit en verplaats de inhoud naar "C:\webserver\Apache2\htdocs\phpMyAdmin". Kopieer "config.sample.inc.php" naar "config.inc.php" en open de nieuwe file. Vervang onderstaande: [code lang="php"]$cfg['blowfish_secret'] = '';[/code] door: [code lang="php"]$cfg['blowfish_secret'] = 'een heel lange string';[/code] Vervang: [code lang="php"]$cfg['Servers'][$i]['extension'] = 'mysql';[/code] door: [code lang="php"]$cfg['Servers'][$i]['extension'] = 'mysqli';[/code] Vervang: [code lang="php"] $cfg['Servers'][$i]['controluser'] = 'pmausr'; $cfg['Servers'][$i]['controlpass'] = 'pmapass'; [/code] door: [code lang="php"] $cfg['Servers'][$i]['controluser'] = 'root'; $cfg['Servers'][$i]['controlpass'] = 'pass'; [/code]

installatie PEAR

Surf naar http://go-pear.org/ en sla de pagina op als "c:\webserver\PHP\go-pear.php". Open een Windowsprompt en ga naar "c:\webserver\PHP". Voer het commando "php go-pear.php" uit. "pear" Volg de wizard. Herstart de computer.

configuratie Alias

Gesteld dat je mappen buiten de DocumentRoot van Apache hebt die je toch wil gebruiken. Dan kan je dit via Alias. Ik heb bijvoorbeeld een map "l:\crsolutions\Sites" en deze wil ik koppelen aan http://localhost/crs. Dan doe je dit als volgt: Open "c:\webserver\Apache2\conf\httpd.conf" en voeg onderaan volgende code toe: [code lang="bash"] Alias /crs L:/crsolutions/Sites Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all [/code]

configuratie VHosts

Indien je net zoals mij veel moet aanpassen in de database kan het handiger zijn om een korte url zoals http://pma.local te typen ipv http://localhost/phpMyAdmin/index.php. Open "c:\windows\system32\drivers\etc\hosts" met notepad en voeg onderstaande lijn toe: [code lang="bash"]127.0.0.1 pma.local[/code] Open nu "c:\webserver\Apache2\conf\httpd.conf" en zoek naar: [code lang="bash"] # Virtual hosts #Include conf/extra/httpd-vhosts.conf [/code] en vervang dit door: [code lang="bash"] # Virtual hosts Include conf/extra/httpd-vhosts.conf [/code] Open nu "c:\webserver\Apache2\conf\extra\httpd-vhosts.conf" en vervang onderstaande code: [code lang="bash"]NameVirtualHost *:80[/code] door: [code lang="bash"]NameVirtualHost *[/code] Voeg onderstaande code toe: [code lang="bash"] ServerName localhost DocumentRoot "C:/webserver/Apache2/htdocs" ServerName pma.local DocumentRoot "C:/webserver/Apache2/htdocs/phpMyAdmin" [/code]

Dit artikel gaat over: , , , , , , , , , , . Self made Wamp (do it yourself) werd geschreven door Tijs.
Er zijn al 13 reacties.

Reacties

Johan

Johan schreef:
11/07/07

Hallo,

Nauwkeurig heb ik u installatievoorschriften gevolgd. Alles verliep naar wens behalve:

1) Maak een bestand ?phpinfo.php? aan, met onderstaande code...
Onder deze opmerking vindt ik geen te kopiëren code.

2) De installatie van PEAR.
Bij het uitvoeren van het bestand php go-pear.php vindt hij de bestanden niet. Nogthans staan deze in de correcte map. Wat doe ik verkeerd?

Met vriendelijke groeten,
Johan

tijs

tijs schreef:
12/08/07

@Johan: beter laat dan nooit, in het bestand phpinfo.php moet je < ?php phpinfo(); ?> plaatsen

Bij het installeren van PEAR zal er op bepaald moment gevraagd worden naar de locatie, deze dien je te wijzigen

Dextro

Dextro schreef:
15/08/07

Als phpMyAdmin klaagt dat het mcrypt niet kan vinden moet je volgende items aanpassen:
1. De ; weghalen voor de regel 'extension=php_mcrypt.dll' in php.ini
2. libmcrypt.dll downloaden van volgende locatie en in c:/WINDOWS/system32 plaatsen: http://files.edin.dk/php/win32/mcrypt/
3. Apache herstarten

Dieter

Dieter schreef:
15/08/07

Deze tutorial kwam mij nog maar eens van pas! Thx ;-)

tijs

tijs schreef:
15/08/07

@dextro: tijdens het installeren van PHP, kan je bij de extensions ergens mcrypt aanvinken als ik me niet vergis.

Bryan

Bryan schreef:
29/08/07

Het lukt mij echt niet om PEAR te installeren...

Ik krijg de hele tijd:

Could not open info file: go-pear.php


En als ik in de map PHP dubbelklik op go-PEAR.bat dan doe ik system en local, maar als hij om iets vraagt van php.ini file zeg ik nee, maar als ik dan mijn pc heb ge reboot, geeft apache de hele tijd een error...

Wat doe ik fout of wat moet ik doen? :S

Bryan

Bryan schreef:
31/08/07

laat dat pear maa zitten, maar hoe moet je mysql oproepen met php?

mysql_connect('localhost',USERNAME,PASSWORD,);


???

tijs

tijs schreef:
31/08/07

@bryan:
1) zoek zelf eens op google... meer dan genoeg voorbeelden
2) http://uk3.php.net/manual/en/ref.mysql.php
3) tip: MDB2 van PEAR is best ok

Joke

Joke schreef:
24/01/08

Ik heb hulp nodig voor het op Internet laten draaien van mijn webpagina. Op het lokale netwerk verloopt alles perfect, echter krijg ik de pagina niet via Internet. Als Servername heb ik mijn IP adres ingegeven. Wat moet ik nog aanpassen?

Javache

Javache schreef:
27/08/08

Hey mr. Verkoyen.
Heb je toevallig geen super-cool batch scriptje om snel &amp; easy subdomeinen aan te maken? Ik dacht dat ik je zoiets had horen zeggen.

Bramus!

Bramus! schreef:
24/10/08

Pas op als je copypaste hieruit ... 't zijn bekanst allemaal curly quotes geworden (vhosts enzo), waardoor uwen apache ni zal willen restarten! ;)

Rupert Mergan

Rupert Mergan schreef:
18/02/09

Hallo Tijs,
Ik heb je installatie instructies gevolgd, en alles lijkt goed te werken, tot ik aan het stukje PHP kom: ik zet in het php bestandje volgende string (zonder de quotes):
"[code lang="PHP"] &lt; ?php phpinfo(); ?&gt; [/code]", maar als ik dan naar die pagina surf krijg ik enkeldie tekst te zien, ik neem aan dat dat niet de bedoeling is?

Bij de instructies voor Apache config mis ik een bestandsnaam (er staat enkel Open "C:\webserver\Apache2\conf", maar dat is een directory. Ik heb een search gedaan naar de aan te passen tekst in de voor de hand liggende bestanden, maar niks gevonden. Alvast bedankt voor de handleiding en de instructies tot nu toe.

Mvg,
Rupert

Tijs

Tijs schreef:
19/02/09

Rupert, ik moet het artikel nog eens nalezen en aanpassen. Ik vermoed dat er iets misgegaan is bij het importeren van mijn oude blog.

Reageer velden gemarkeerd met een sterretje zijn verplicht

*