#acl All:read ## page was renamed from HomeoVim/Suche == 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 "/php/php5apache2.dll" AddHandler application/x-httpd-php .php PHPIniDir "/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: {{{ }}} Es sollte dann mit der folgenden URL eine Seite mit einem kleinen ö angezeigt werden (je nach Apache Konfiguration, die 80 evtl. durch 8080 ersetzen): http://localhost:80/test.php === 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 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//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//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 gleich 80 oder 8080, je nach Apache Konfiguration): {{{ http://localhost:/homeovim/index.php }}}