I had a hell of a time getting LimeSurvey up and running (mainly because I didn't know what I was doing). I didn't have any luck with xampp, so I went for IIS.
This guide was a good start, but it won't take you from "I have no idea about setting up a web-server with PHP" to a running LS config. So I suggest to follow the linked guide and use my notes if you are having similar troubles. This is not intended to be any kind of official install guide; these are only my notes of what I did to get LS running on my xp system. Hopefully this can save someone time that I already wasted...
Install mysql first, compile/install php second, and install IIS third.
<----> Installing IIS <---->
Control Panel --> Add or Remove Programs --> Add/Remove Windows Components --> check IIS
Complete the install with windows cd via i386 folder
Control Panel --> Administrative Tools --> IIS
expand local computer and right-click on websites --> properties
ISAPI Filters: click Add... --> Filter Name = PHP && Executable = C:\php\php5isapi.dll
Home Directory: check Read, check Write, Execute Permissions = Scripts Only, click Configuration --> click Add --> Executable = C:\php\php5isapi.dll && Extension = .php
Documents: click Add... --> Default Document Name = index.php
Apply to the correct websites
<----> Installing IIS <---->
<----> Installing MySQL <---->
(! = you may miss this, so make sure not to)
Choose Custom Install
! Select to install all features and sub-features
! Change install path to C:\mysql
Choose to configure server now. No need to register
Choose detailed configuration
Choose Dedicated MySQL Server Machine (3rd option)
Choose Multifunctional Database
Default install path
Decision Support (DSS)/OLAP
Enable TCP/IP
! Check to add firewall exception
Enable strict mode
Standard character set
Install as win service
! Include bin directory in windows path
Set password to password
Execute the install
Setup LS Schema (below)
<----> Installing MySQL <---->
<----> Setup LS Schema (Database) <---->
cd C:\mysql\bin
mysql -u root -p
Enter mysql root user's password (should be password)
CREATE DATABASE limesurvey;
GRANT ALL PRIVILEGES ON limesurvey.* TO 'limesurveyuser'@'%' IDENTIFIED BY 'limesurvey';
Exit the command prompt
Open MySQL GUI Admin
Login as root user to localhost
Go to Tools --> Manage Connections
Under General Options, check Store Passwords
Under Connections, make a new connection:
Connection = lsu-connection
Username = limesurveyuser
Password = password
Hostname = localhost
Use the default port
Schema = limesurvey
Exit MySQL GUI Admin
Edit C:\inetpub\wwwroot\limesurvey\config.php to match the correct usernames and passwords. Set $rootDir='C:\Inetpub\wwwroot\limesurvey';
<----> Setup LS Schema (Database) <---->
<----> Compiling PHP <---->
Follow
php.net/manual/en/install.windows.building.php
Make sure to do "For MySQL:" (below)
Limesurvey php libraries -
docs.limesurvey.org/tiki-index.php?page=Installation
Required:
* Minimum 60 MB disk space
* MySQL 4.1.0 or later OR Microsoft SQL Server 2000 or later OR Postgres 8.1 or later
* PHP 5.x or later with the following modules/libraries enabled:
o mbstring (Multibyte String Functions) extension library (see also Installation FAQ)
o mysql5 PHP library (which is standard with hosting providers - if you have setup your own server make sure it is installed)
o sessions - see
de2.php.net/manual/en/session.installation.php (external link) (this is also standard)
o pcre (regular expressions) - see
de2.php.net/manual/en/book.pcre.php (external link) (this is also pretty standard)
Optional:
* iconv extension library installed (only for PHP 4 versions - needed for Excel export)
* GD-Library with FreeType support installed (for captchas or nice charts in statistics) see GD-Library PHP documentation (external link)
* LDAP-Library installed (to import tokens using LDAP) see PHP LDAP Documentation (external link)
* php_zip (pretty standard) for template upload and import resources Zip archives
* zlib (pretty standard) is needed for the ComfortUpdate - see PHP documentation (external link)
Check bin, lib, & include folders according to php.net's compile faq
pecl2.php.net/downloads/php-windows-builds/php-libs/VC9/x86/
Make sure to have: ICU, iconv (libiconv), libxml2, zlib, FreeType, libpng, libjpeg, zlib, & openssl
For MySQL: copy all files from the bin, include, & lib folders in C:\mysql to the respective folders in C:\php\win32build
If you do not see the above folders then you forgot to "Select to install all features and sub-features" when installing mysql
Copy libmysql.lib from C:\mysql\lib\opt to C:\php\win32build\lib
If recompiling, make sure to delete the contents of C:\PHP\src\Release_TS
Add C:\php\win32build\bin to the system path (right-click my computer --> properties --> advanced --> enironment variables --> under system variables, select path, and edit
All Programs --> Microsoft Visual C++ 2008 Express Edition --> Visual Studio Tools --> Visual Studio 2008 Command Prompt
cd C:\PHP\src
buildconf
configure --enable-mbstring --with-mysql=C:\mysql --with-gd --with-openssl
nmake
cd C:\PHP\src\Release_TS
php -v
if it complains about not finding modules for the configured extensions, don't worry- it's not a compile issue
copy the contents of c:\php\src\release_ts to c:\php
from the php source .zip: copy php_mbstring.dll, php_mysql.dll, & php_openssl.dll to C:\php\ext
<----> Compiling PHP <---->
<----> Misc. <---->
edit php.ini
Comment out the "doc_root =" line
Enable your extensions (php_mbstring, etc.)
Set xp security permissions
first, turn-off windows simple file sharing (google this if you don't know how)
right click C:\inetpub\wwwroot\limesurvey and select properties
under the security tab, select internet guest account, and check read and check write. apply
in IIS, set the php settings for home directory, isapi filters, and index.php
For openssl in php, copy libeay32.dll from C:\php\win32build\bin to C:\php
When tweaking your settings, it may be necessary to restart the web service. Just open a command prompt and type iisreset
<----> Misc. <---->