How to install Apache + PHP on Windows for CompleteSearch

1. Install Apache 2.x for Windows

Go to http://httpd.apache.org/download.cgi and download the latest stable version. Specify an arbitrary target directory; for the following description we will assume

C:\Program Files\CompleteSearch\Apache2.2

2. Install PHP 5.x for Windows

Go to http://www.php.net/downloads.php and download the latest stable version. Specify an arbitrary target directory; for the following description we will assume

C:\Program Files\CompleteSearch\php5

You will be asked with which (version of which) web server you want to run PHP. Select Apache 2.2 + specify the directory of the configuration file when asked:

C:\Program Files\CompleteSearch\Apache2.2\conf

The installer will then automatically edit the httpd.conf config file, so that Apache will run with PHP.

You will also be asked which non-standard extensions you want to be enabled. Specify the following:

mb_string

3. Configure Apache + PHP and test it

In the Apache config file

C:\Program Files\CompleteSearch\Apache2.2\conf\httpt.conf

add/change the following lines

ServerRoot "C:/Program Files/CompleteSearch/Apache2.2"
Listen 8080
LoadModule php5_module "C:/Program Files/CompleteSearch/php5/php5apache2.dll"
AddType application/x-httpd-php .php
PHPIniDir "C:/Program Files/CompleteSearch/php5"
DocumentRoot "C:/Program Files/CompleteSearch/www"
<Directory "C:/Program Files/CompleteSearch/www">
  Options Indexes FollowSymLinks
  Order allow,deny
  Allow from all
</Directory>
<IfModule dir_module>
  DirectoryIndex index.html index.php
</IfModule>

In the PHP config file

C:\Program Files\CompleteSearch\php5\php.ini

add/modify the following lines:

display_errors = On
log_errors = On
error_log = "C:/Program Files/CompleteSearch/php5/error.log"
extension_dir = "C:\opt\php5\ext"
extension=php_mbstring.dll

Test your setup by creating the following file (assuming a cygwin shell). TODO: test should use mb_string!

cd /cygdrive/c/Program Files/CompleteSearch
mkdir www
cd www
echo "<?php echo mb_strtolower(\"HI!\", \"utf-8\"); ?>" > test.php
chmod 644 test.php

and then viewing the following URL in your browser (it should say "hi!")

http://localhost:8080/test.php

TODO: troubleshooting!

4. Install CompleteSearch

4.1 Check out the CompleteSearch source code as follows (assuming the choice of directories above and that you are in a cygwin shell):

cd /cygdrive/c/Program Files/CompleteSearch
svn co svn+ssh://hannah@contact.mpi-sb.mpg.de/KM/ir/SVN/autocompletion
mv autocompletion bin
cd bin
make

4.2 Check out the CompleteSearch UI code as follow:

cd /cygdrive/c/Program Files/CompleteSearch/www
cvs -d hannah@contact.mpi-sb.mpg.de://KM/ir/CVS checkout autocomplete-php

4.3 Create a UI instance as follows

cd /cygdrive/c/Program Files/CompleteSearch/www
mkdir test
cd autocomplete-php
cp -a index.php autocomplete_config.php *.css images ../test
cd ../test 
vim autocomplete_config.php

In autocomplete_config.php edit the following lines

$config->autocomplete_path = "/autocomplete-php/autocomplete/";
$config->port = "8888";
$config->access_log = "C:\Program Files\CompleteSearch\log\completesearch.access_log";
$config->error_log = "C:\opt\Program Files\log\completesearch.error_log";

4.4 Test the UI

Start an instance of the completion server. TODO: provide a test database with the source code!

cd /cygdrive/c/Program Files/CompleteSearch/bin
startCompletionServer.exe -Z test.hybrid

Point your browser to the following URL

http://localhost:8080/test/index.php

CompleteSearch: completesearch/ApachePhpWindows (last edited 2009-02-13 17:14:47 by 193)