Linux als SOHO-Server

für Linux- und Windows-Clients
http://linux.eusterholz.dyndns.org

Kapitel:

Home
Debian Installation
Debian Etc.
Internet-Zugang
Telnet
FTP
r-Utilities
SSH
Printing
NTP
Nameserver
NFS/NIS/Automount
Samba (SMB-Server)
Apache (WEB-Server)
Modem / ISDN
Backup
Etc.


ht://Dig

Installation/Konfiguration ] Status/Info ] UserDir ] Virtuelle Hosts ] Authentifizierung ] CGI ] mod_perl ] PHP ] SSI ] SSL ] WebDAV ] Log-Dateien ] [ ht://Dig ]


Das Programm 'ht://dig' ist ein komplettes Index- und Suchprogramm für begrenzte Bereiche z.B. für das Intranet. Es kann dazu verwendet werden, um für den eigenen Web-Server eine Volltextsuche anzubieten. Dabei wird die Suche nicht nur in html- oder txt-Dateien, sondern auch in Word- oder PDF-Dateien unterstützt. Das Prinzip basiert auf einer Indizierung des gesamten Datenbestandes, in dem nachher ein bestimmter Begriff durch einem Fuzzy-Algorithmus bestimmt wird. Das Programm 'ht://dig' wurde von der 'San Diego State University' entwickelt und ist kostenlos (unter Einhaltung der GNU General Public Lizense) erhältlich.

Installation/Konfiguration

In der Debian-Distribution kann das Programm-Paket mit: 'apt-get install htdig' installiert werden, weitere Abhängigkeiten sollten automatisch aufgelöst werden. Zusätzlich empfiehlt es sich, dass dazugehörige Paket: 'htdig-doc' gleich mit zu installieren. In der Dokumentation sind wichtige Hinweise über Aufbau, Wirkungsweise, Installation und Konfiguration der Suchmaschine erhalten. Natürlich kann das Programm auch direkt von der Homepage: 'www.htdig.org' herunter geladen, kompiliert und installiert werden. Bei dieser Variante der Installation sind die entsprechenden Empfehlungen (Readme) zu beachten. Weiterhin ist zu beachten, dass auf dem Server genügend freier Plattenspeicherplatz für die indizierte Datenbank zur Verfügung stehen sollte. Je nach Größe des Webs sollten so ca. 250MB kalkuliert werden.

Die Konfigurationen zu 'ht//dig' befindet sich nach der Installation im Verzeichnis: 'etc/htdig'. Dabei ist die Hauptkonfigurationsdatei: 'htdig.conf' eigentlich schon sehr gut vorbereitet. Die wichtigste Konfiguration ist der start_url-Eintrag. Hier sollte der Name des Apache-Webs stehen, ab der die Suchmaschine arbeiten soll:

Auszug aus: /etc/htdig/htdig.conf (ca. Zeile: 29)

#
# This specifies the URL where the robot (htdig) will start. You can specify
# multiple URLs here. Just separate them by some whitespace.
# The example here will cause the ht://Dig homepage and related pages to be
# indexed.
# You could also index all the URLs in a file like so:
# start_url: `${common_dir}/start.url`
#
start_url: http://www.experimental.tld/

Alle anderen Konfigurationen können erstmal so übernommen werden.

Bevor die Suchmaschine genutzt werden kann, ist eine Indizierung notwendig. Hiefür ist das Script: '/usr/bin/rundig' zu starten. Es werden eine Reihe von Datenbanken für die Stichwortsuche im Verzeichnis: '/var/lib/htdig/' erzeugt. Dieser Vorgang kann bei vielen WEB-Seiten und langsamen Rechnern zum Teil mehrere Stunden dauern. Wie schon erwähnt sollte auf der Festpatte ausreichend freier Platz vorhanden sein.

Erst wenn das Script: 'rundig' beendet ist, kann mit einen Browser die Suchseite unter der URL: 'http://<localhost>/search.html' aufgerufen werden und eine erste Suche gestartet werden:

Die Beispiel-Suchseite: 'search.html' wurde bei der Installation von 'ht//dig' ins Verzeichnis: '/var/www' abgelegt. Die Darstellung der Suchergebnisse erfolgt dann mit einer CGI-Ausgabe.

Anmerkungen

Damit die deutsche Sprache bei 'ht//dig' besser unterstützt wird, sollten deutsche Wörterbuchdateien benutzen werden. Auf der Homepage von 'ht//dig' befinden sich solche vorgefertigte Wortlisten für die deutsche Sprache. Die gepackte Datei: 'GermanWordlist.zip' beinhaltet Dateien für deutsche Endungen und Algorithmen. Zur Installation sollte ein Verzeichnis: '/etc/htdig/german' angelegt werden in dem die gepackten Dateien: 'bad_words', 'german.0' und 'german.aff' aus 'GermanWordlist.zip' hineinkopiert werden.
Damit diese Dateien auch benutzt werden sind folgende Zeilen in der 'htdig.conf' anzufügen:

Auszug aus: /etc/htdig/htdig.conf (ca. Zeile: > 214)

search_algorithm: exact:1 endings:0.5
lang_dir: ${common_dir}/german
bad_word_list:  ${lang_dir}/bad_words
endings_affix_file: ${lang_dir}/german.aff
endings_dictionary: ${lang_dir}/german.0
endings_root2word_db: ${lang_dir}/root2word.db
endings_word2root_db: ${lang_dir}/word2root.db

Die deutschen Datenbanken 'root2word.db' und 'word2root.db' für Endungen kann mit dem Kommando:

/usr/bin/htfuzzy endings

erzeugt werden.
Weiterhin sollten die Dateien: 'search.html', 'header.html', 'footer.html', 'nomatch.html' und 'syntax.html' in deutsch Sprache übersetzt werden. Damit auch deutsche Auswahl-Menüs erscheinen, sind an der Datei 'htdig.conf' folgende Zeilen anzufügen:

Auszug aus: /etc/htdig/htdig.conf (ca. Zeile: > 214)

# Deutsche Übersetzung der Suchausgabe
locale: de_DE

date_format: %d. %m. %Y

method_names: and 'UND-Verknüpfung'\
              or 'ODER-Verknüpung'\
              boolean 'logischer Ausdruck'

sort_names:   score 'Resultate - beste zuerst'\
              time 'Zeit - von neu zu alt'\
              title 'Titel - aufsteigend'\
              revscore 'Resultate - schlechteste zuerst'\
              revtime 'Zeit - von alt zu neu'\
              revtitle 'Titel - absteigend'

template_map: lang long ${common_dir}/long.html \
              kurz short ${common_dir}/short.html

Weitere Infos

Homepage: ht://Dig http://www.htdig.org/
Manualseiten zu: htdig man htdig
System-Dokumentation: htdig /usr/share/doc/htdig
Wortlisten für htdig http://www.htdig.org/files/contrib/wordlists/

Home ] Nach oben ] Installation/Konfiguration ] Status/Info ] UserDir ] Virtuelle Hosts ] Authentifizierung ] CGI ] mod_perl ] PHP ] SSI ] SSL ] WebDAV ] Log-Dateien ] [ ht://Dig ]

letzte Änderung: 07. März 2006

 

Copyright © 2004 Norbert Eusterholz