Although I’m a great Linux fan, i still have Windows on my personal computer, since the computer is not used by me alone, and although i have various Linux OS installed on this same computer, most of the time its on the windows mode. so what do i do when i need to test something on wordpress or mediawiki?
For that reason i needed a development environment on my home computer that will run Apache, MySQL, php and Perl. There are some ways to go about that – i could have installed Cygwin, which is a Linux-like environment for windows.
These two options are fine solutions but they will need some more work on them , other then the point and click option which is xampp.
xampp for windows version 1.7.1 on default will include all of these:
- Apache HTTPD 2.2.11 + Openssl 0.9.8i
- MySQL 5.1.33
- PHP 5.2.9
- phpMyAdmin 188.8.131.52
and if you want to can add Perl 5.10.0-2.2.11 from their Add-Ons page.
The install process is a next,next,next version of a regular windows install, and in the the end you have everything installed into the default location at C:\xampp.
This is the windows control panel that stops and starts the Apache and MySQL for you if you don want to install them as services, personally i prefer to start them when I’m developing since they are resource heavy applications.
Some default file locations:
the html and php files are installed to C:\xampp\htdocs
Perl scripts should be placed here: C:\xampp\cgi-bin
the php.ini (php config file) can be found at: C:\xampp\apache\bin\php.ini
httpd.conf (apache config file) is located in: C:\xampp\apache\conf
Note that for Unix Perl scripts you need to replace the first line with the location of the Perl binary on your windows, so it should look like:
Another not is that the xampp on default is set to work with php 5 , but you can from the xampp configure page which is at http://localhost/xampp/ , use the “PHP switcher” and change the install to work with php 4 instead.
And that’s it – your local development website is ready and is available at: http://localhost/ to play with.