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