Installationsanleitung für die Suche
1. Apache2 + PHP installieren
Apache for windows mit .msi Endung: http://httpd.apache.org/download.cgi Anleitung: http://httpd.apache.org/docs/2.4/platform/windows.html
PHP: http://windows.php.net/download Unter VC6 + Thread Safe – Installer runterladen und installieren
Wichtig: PHP mit mb_string package = UTF8 support.(Choose Items to install: PHP, Extensions, Multi-Byte String)
In der Apache Konfigurationsdatei (...\ApacheX.Y\conf\httpd.conf) Folgendes ergänzen.
# PHP Konfiguration. LoadModule php5_module "<wo immer das liegt>/php/php5apache2.dll" AddHandler application/x-httpd-php .php PHPIniDir "<wo immer das liegt>/php" # Zur Vermeidung diverser potenzieller Probleme unter Windows. EnableSendfile off EnableMMAP off Win32DisableAcceptEx
Zum Testen eine Datei test.php mit folgendem Inhalt in das htdocs Verzeichnis der Apache Installation legen:
<?php echo mb_strtolower("Ö"); ?>
Es sollte dann mit der folgenden URL eine Seite mit einem kleinen ö angezeigt werden (je nach Apache Konfiguration, die 80 evtl. durch 8080 ersetzen):
2. Cygwin Pakete nachinstallieren
Zum Nachinstallieren unter cygwin, einfach die setup.exe (von der ursprünglichen Installation von cygwin) aufrufen, und so lange next klicken, bis man zur Select Packages Seite kommt. Falls die setup.exe nicht mehr da ist, einfach neu von http://www.cygwin.com/ runterladen, damit kann man auch für eine bestehende cygwin Installation Pakete nachinstallieren.
Folgende Pakete nachinstallieren (kann man alles auf einmal machen). Dazu am einfachsten rechts View von Category auf Full ändern, und dann für jedes Paket den Paketnamen (oft reicht schon ein Präfix davon) in das Suchfeld eintippen, und dann bei dem passenden Paket auf das Skip klicken.
vim openssh wget unzip zlib-devel libboost-devel libexpat1-devel libiconv (nicht libiconv2), make (GNU version)
Das dauert eine Weile, während der man aber nichts machen muss bzw. auch was anderes mit dem Rechner machen kann.
3. Google sparsehash installieren
Dazu in cygwin im Home Verzeichnis (oder wo immer gwünscht) Folgendes machen:
mkdir install cd install wget http://sparsehash.googlecode.com/files/sparsehash-2.0.2.zip (oder wie immer die neueste Version ist) unzip sparsehash-2.0.2.zip cd sparsehash-2.0.2 ./configure make make install
4. STXLL installieren.
Dazu in cygwin im selben Ordner install wie oben Folgendes machen:
wget http://sourceforge.net/projects/stxxl/files/stxxl/1.3.1/stxxl-1.3.1.zip (oder was immer die neueste Version ist) unzip stxxl-1.3.1.zip cd stxxl-1.3.1 # In utils/mlock.cpp, add #include <unistd.h> because of use of sleep make config_gnu make library_g++
5. CompleteSearch installieren
Version aus unserem SVN auschecken im selben Ordner install wie oben, Unterordner completesearch. Am einfachsten mit Tortoise SVN, da das ja eh schon installiert ist (für SVN von der cygwin Kommandozeile müsste das Paket subversion nachinstalliert werden, siehe 2)
Explorer: Rechtsklick in Ordner Completesearch, SVN Checkout auswählen, URL = https://ad-svn.informatik.uni-freiburg.de/completesearch/codebase, username und password bei Hannah Bast erfragen.
Dann in der Datei install/completesearch/Makefile die beiden folgenden Variablen wie folgt setzen (unter SECTION 1 fast ganz oben)
CS_CODE_DIR = /home/$(USER)/install/completesearch STXXL_CONFIG = /home/$(USER)/install/stxxl-1.3.1/stxxl.mk
Dann den Code wie folgt kompilieren:
cd completesearch make build-all
Der letze Befehl wird eine Weile dauern (weil fast 100.000 Zeilen Code).
6. Bauen des Indexes einrichten und testen
In einem Cygwin Fenster, im Homeverzeichnis dort (da wo man ist, wenn man das Fenster gerade aufgemacht hat):
ln -s /cygdrive/c/<Pfad zur HomeoVim Installation ab C:\ mit / statt \>/HomeoVim homeovim (setzt einen symbolischen Link) cd homeovim/Search ln -s ~/install/completesearch make parser make xml pall start
7. User Interface einrichten und testen
In Cygwin im Homeverzeichnis (wie in 6.):
ln -s /cygdrive/c/<Pfad zur Apache Installation ab C:\ mit / statt \>/ApacheX.Y apache2 cp -a completesearch/userinterface/autocomplete-php apache2/htdocs mkdir apache2/homeovim cp -a apache2/htdocs/autocomplete-php/*.css apaches/homeovim cp -a apache2/htdocs/autocomplete-php/*.php apaches/homeovim cp -a apache2/htdocs/autocomplete-php/images apaches/homeovim cp -f homeovim/Search/autocomplete_config.php apaches/homeovim cp -f homeovim/Search/autocomplete.css apaches/homeovim
Jetzt sollte unter folgender URL die Suche erscheinen und funktionieren (wobei <port> gleich 80 oder 8080, je nach Apache Konfiguration):
http://localhost:<port>/homeovim/index.php