== 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 }}}