== 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"
Options Indexes FollowSymLinks
Order allow,deny
Allow from all
DirectoryIndex index.html index.php
}}}
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 "" > 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
}}}