Computer: PHP (aus Wiki)

Gehört zu: Web-Anwendungen
Siehe auch: Google Fotos, Apache, PHP
Benutzt: Fotos von Flickr, Fotos aus Google Drive

Stand: 30.10.2021

PHP mit Apache auf meinen Windows-Computern

PHP ist in meinem Anwendungskatalog die Scriptsprache der ersten Wahl.

Was ist PHP?

PHP steht für “PHP Hypertext Prozessor”. Eine Scriptsprache, die für die Entwicklung dynamischer Web­seiten und WebApplications gedacht ist – wie beispielsweise auch mit ASP oder ColdFusion. PHP ist aber im Gegensatz zu solchen Ansätzen eine freiverfügbare Open Source Software und quer über viele Plattformen (Betriebssysteme, WebServer) einsetzbar. Im Gegensatz zu älteren Scriptsprachen (wie Perl), die aus der Zeit vor dem Web stammen, wurde PHP speziell für ein Einsatz auf WebServern ent­wickelt. PHP besticht durch einfache Verarbeitung von Web-Formularen, seine gute Anbindung an Datenbanken und die Vielfalt weiterer Funktionsbibliotheken, sowie seine weite Verbreitung. PHP ist ein Apache Projekt http://php.apache.org = http://www.php.net

Aufruf von PHP

PHP wird normalerweise als Modul in Apache installiert und benutzt.
Man kan PHP aber auch von der Komandozeile aus aufrufen (s.u.).

Viele wichtige Anwendungen laufen unter Apache mit PHP:

Geschichte von PHP

Im Herbst 1994 begann Rasmus Lerdorf mit einem Hack. Versionen:

  • PHP/FI 1.0, Frühling 1995,
  • PHP – “Personal Home Page Tools”, PHP/FI 2.0, Sommer 1995,
  • FI – “Form Interface”, PHP 3.0, 1997,
  • “Personal Home Page” oder “PHP HyperText Preprocessor”, PHP 4.0, Frühling 2000.
  • PHP5 ab Juli 204
  • PHP7 ab Dezember 2015

Meine Installationen von PHP

Ich betreibe/benutze folgende PHP-Installationen:

Upgrading to PHP 7.0.33

Bei meinem WebProvider Strato musste ich schon in 2018 auf PHP7 umstellen, da PHP5 nur noch mit zusätzlichen Kosten unterstützt wurde.

MIt dem neuen PHP7 liefen dann meine MediaWikis bei Strato nicht mehr, sodass ich diese im März 2019 ebenfalls auf neune Versionen migrieren musste.

Upgrading to PHP 5.2.17

WordPress 3.3.1 läuft nicht mehr mit PHP 5.2.3, deshalb habe ich PHP von 5.2.3 auf 5.2.17 upgraded.
Echte Upgrades gibt es leider nicht. Mann muss das neue PHP in einen neuen Ordner installieren (D:\bin\PHP\, D:\bin\PHP\php5apache2_2.dll),
Die PHP-Installation mit MSI macht dann ein kleines Update der Apache-Konfigurationsdatei httpd.conf. Dabei werden am Ende der Conf-Datei drei Zeilen eingetragen, die auf den Installtionsordner von PHP zeigen. Diese müssen eventuell manuell angepasst werden.

Besonderheiten bei PHP5 (Windows)

PHP5 und Sessions

Unter Windows Vista wird in der php.ini angelegt:

session.save_path = C:\Users\dkracht\AppData\Local\Temp\php\session

Wenn diese Ordner-Struktur versehentlich gelöscht wird, funktioniert die PHP-Session-Verwaltung nicht mehr richtig.
Z.B. kann man sich in MediaWiki nicht mehr anmelden…
Beispielsweise löscht das “Aufräum”-Programm CCleaner alles unterhalb von Tmp….

PHP5 und MySQL

Bei PHP5 ist die MySQL-Unterstützung nicht fest eingebaut (ein-compiliert), sondern es wird die sog. Client-Bibliothek namens libmysql.dll benötigt und zwar zusätzlich zu der PHP-Extension php_mysql.dll.

Die Client-Bibliothek ist Bestandteil von MySQL, wird aber auch im PHP5-Paket mitgeliefert. Achtung: Es könnten Versionskonfilikte auftreten.

Die MySQL-Client-Bibliothek muss vom Apache geladen werden, sonst kann die PHP-Extension php_mysql.dll auch nicht geladen werden und es gibt eine entsprechende Fehlermeldung im Apache-Error-Log (da sollte man ruhig ab und zu hineinschauen!).

Damit die MySQL-Client-Bibliothek zum Laden gefunden wird, kann man sie in den Order Windows/System tun. Wer das nicht möchte, kann sie im Ordner PHP belassen, dann muss alldings zwingend der Ordner PHP in den PATH mit aufgenommen werden. Alternativ kann man sie in den Ordner Apache/bin tun.

PHP5 und OpenSSL

Die PHP-EXtension php_openssl.dll benötigt zusätzlich die Bibliothek libeay32.dll. Bei mir hat das nur dann funktioniert, wenn ich libeay32.dll in den Ordner Apache/bin kopiert habe.

PHP auf Computer Kragenbaer

 Installation

Konfiguration

PHP auf Computer Westhost

PHP Installation Westhost

  • Version: 5.2.1
  • Installations-Verzeichniss: ???
  • Konfigurations-Dateien
    • INI-Datei: /etc/php.ini (siehe Abschnitt “Konfiguration”)

 PHP Konfiguration Westhost

Umgebungsvariable

  • PATH=???
  • PHPRC=??? (Wo die INI-Datei ist)
  • PHPINFO:
    • Server API: Apache
    • Configuration File (php.ini) Path: /etc/php.ini

PHP auf ComputerLonzo

 PHP Installation ComputerLonzo

  • Version: 5.2.3
  • Installations-Verzeichnis: C:\Programme\PHP
  • Konfigurations-Dateien
    • INI-Datei: C:\Programme\php\php.ini (siehe Abschnitt “Konfiguration”)

 PHP Konfiguration ComputerLonzo

Umgebungsvariable

  • PATH=C:\Programme\PHP
  • PHPRC=C:\Programme\PHP (ComputerLonzo: Wo die INI-Datei ist)
  • PHPINFO:
    • Server API: Apache
    • Configuration File (php.ini) Path: C:\WINDOWS
    • Loaded Configuration File: C:\Programme\php\php.ini

 PHP Apache 1.3.29 Konfiguration

In der Apache-Konfigurationsdatei “httpd.conf” eintragen:

 LoadModule php5_module "C:\\Programme\\PHP\\php5apache.dll"
 ...
 AddModule  mod_php5.c
 ...
 AddType application/x-httpd-php .php .php4 .php3 .phtml
 AddType application/x-httpd-php-source .phps
  • Nicht “PHPIniDir=…” das ist für Apache 2 gedacht…
#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
####PHPIniDir "C:\\Programme\\PHP\\"
LoadModule php5_module "C:\\Programme\\PHP\\php5apache.dll"
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL

Abbildung 1: Event Log wegen Apache-Fehler (Google Drive: EventApachePHP5.jpg)


Apache Service

PHP auf ComputerBraunbaer

 PHP 5.2.3 Installation

  • Definitive Software Library ID: PHP
  • Name: PHP
  • Version: 5.2.3 (28.6.2007 ComputerBraunbaer)
  • Lieferant: http://www.php.net
  • Installations-Verzeichniss: d:\Programme\PHP
  • Konfigurations-Dateien
    • INI-Datei: d:\programme\php\php.ini (siehe Abschnitt “Konfiguration”)

 Installierte Extensions

Bei PHP5 können die Extensions bereits beim Installationsvorgang ausgewählt werden.

Zusätzlich dazu können in der php.ini noch sog. dynamische Extensions angegeben werden.

 PHP Konfiguration auf ComputerBraunbaer

Umgebungsvariable

  • PATH=D:\Programme\PHP
  • PHPRC=D:\Programme\PHP (ComputerBraunbaer: Wo die INI-Datei ist)

Folgende Einstellungen sind in der php.ini vorgenomen worden:

  • Ordner für Extensions: d:/programme/php/ext
  • register_globals = On (für Anwendung PhpLinks)
  • upload_max_filesize = 16M (für Anwendung Owl)
  • Include_path (für Smarty)
    • = “.;d:\php\pear;d:\php\smarty;.\templates;.\plugins;.\include”  ?????????????????
    • php_db.dll  ???
    • php_dba.dll  ???
    • php_domxml.dll (welche Anwendung benötigt das???)
    • php_gd2.dll (für Anwendung MediaWiki
    • php_iconv.dll (für Anwendung MediaWiki)
    • php_ldap.dll (für Anwendung Rolodap)
  • Zend Optimizer (für welche Anwendung???)
  • PHP-GTK

Apache 1.3.29 Konfiguration

Installation als dynamisches Apache-Modul (SAPI):

LoadModule php4_module d:/php/sapi/php4apache.dll
AddModule mod_php4.c

Das Hauptmodul php4apache.dll benötigt das zentrale PHP-Modul php4ts.dll. Das wird zunächst in \WINNT\system32 gesucht, wenn man es dahin nicht kopieren möchte, kann man es auch in den gleichen Ordner wie php4apache.dll kopieren:

copy d:/php/php4ts.dll d:/php/sapi/php4ts.dll

Wenn man jetzt den Apache-Service neu startet, meldet er sich mit: Apache/1.3.27 (Win32) PHP/4.3.1…

Nun fügt man noch zur Apache-Konfikurationsdatei httpd.conf folgendes hinzu:

AddType application/x-httpd-php .php

und schon werden PHP-Scripts vom Apache-WebServer ausgeführt. Z.B. http://localhost/phpinfo.php

PHP Applikationen

Tabelle 1: Meine PHP-Applikationen

Applikation Nutzung MySQL-Datenbank
GmoChronik Mein altes Web-Log (migriert nach DocBook) b2
PhpWorkshop Für SQL-Workshop im PhpWorkshop fruits, vokabeln,…
gmo Migrierte GMO-Access-Datenbanken gmo
PhpKnowhow Mein KnowlegeManagement: phpKnowhow knowhow
kr8 ich ??? kr8
mydms Testweise ein Dokumentenmanagement mydms
nuke PhpNuke-Installation von GMO/Bonzo nuke
Owl Owl DokumentenManagement owl
PhpKalender Monatskalenderblätter
PhpLinks Anwendung PhpLinks (Link-Management) phplinks
PhpMyAdmin MySQL-Administration (alle)
PhpWiki Mein altes phpwiki (migriert nach TWiki) phpwiki
Rolodap Zugriffe auf ein LDAP-Directory
Smarty Template-Engine für WebsiteTraditionell phplinks
Telefonbuch Telefonnummern zur Inverssuche (u.a.) telefonbuch
Typo3 <Testweise für das Content-Management-System Typo3 typo3
MediaWiki Faulkner-Wiki wikidb
Xanadu Meine Archiv-Datenbank (Anwendung Archivierung) xanadu

Der PHP Command Line Interpreter “CLI”

Für die meinen Einsatz der Smarty Template Engine wird PHP CLI benötigt, da ich PHP-Skripts ohne den WebServer Apache einfach “so” ausführen will. Genauer gesagt, sollen die PHP-Skripts in einem Make-File ausgeführt werden zur Erstellung statischer HTML-Seiten.

Seit PHP Versiom 4.3.0 ist das CLI standardmässig im PHP enthalten und kann wie folgt einfach benutzt werden:

d:\php\php.exe  -f methods.php > \home\kracht\www\www.kr8.de\htdocs\methods.htm 

— Main.DietrichKracht – 25 Mar 2004

Computer: Cygwin (aus Wiki)

Gehört zu: Betriebssysteme
Siehe auch: Windows, Unix, Linux

Cygwin das Unix-Environment für Windows (aus Wiki)

Cygwin wird von der Firma Redhat (Linux Distribution) zur Verfügung gestellt, um unter Win32 eine Unix-Umgebung (genauer: Posix) bereitzustellen (Cygwin = GNU + Cygnus + Windows). Damit kann man (wenn alles klappt) Linux/Unix-Software auf Win32 nutzen.

Meine Beispiele:

Weitere Beispiele:

  • CVS
  • KDE mit XFree86
  • FileManager: Midnight Commander (MC) (Win32 File Manager: Total Commander, Servant Salam, Directory Opus, Advanced File Manager….)
  • FileManager: XFE (mit FOX >= 1.4)
  • FileManager: gentoo (Worker File Manager) mit Cygwin gtk

 Installation von Cygwin

  • Definitive Software Library ID: Cygwin
  • Version: cygcheck -s sagt: cygwin.dll version 1.5.9
  • Hersteller/Quelle: Redhat http://www.cygwin.com
  • Root Install Directory: d:\programme\cygwin
  • Local Package Directory: e:\var\cygwin ……
  • Programmstart: s.u.

 Konfiguration: Mount Points

Standardmässig wird das Installationsverzeichnis (Hier: d:\programme\cygwin) als “/” gemountet.
Unterhalb des so als Root-Verzeichniss definierten Installationsverzeichnisses (d:\programme\cygwin) werden die Standard-Unix-Verzeichnisse angelegt:

  • /bin
  • /c (Mount Point)
  • /d (Mount Point)
  • /etc
  • /home
  • /lib
  • /tmp
  • /twiki (Mount Point)
  • /usr
  • /var

Hierhin gehören dann auch Mount-Punkte wie z.B. /c, /d oder /twiki (letzteres für TWikiInstallation). An so einen Mount-Punkt werden dann die echten Verzeichnisse eingehängt. Z.B. könnte man mit “mount -b -s d:/home /home” an den Mount-Point “/home” (s.o.) den Windows-Ordner “d:/home” hängen.

Die Mounts sind “permanent” und werden gespeichert im Windows-Registry unter: HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\…

 Konfiguration: User-Konten

Anlegen der Dateien group und passwd, diese werden mit den Daten der Windows-User-Konten gefüllt.

  • cd \Programme\OpenSSH\bin
  • mkgroup -l >../etc/group
  • mkpasswd -l >../etc/passwd
  • Das in der Datei passwd angegebene User-Verzeichnis (z.B. /home/dkracht) muss vorhanden sein.

 Konfiguration Diverse

  • Umgebungsvariable CYGWIN: set CYGWIN=”…winsymlinks….” (siehe auch: HardLinks )

 Starten von Cygwin

Cygwin wird durch Aufruf der BAT-Datei cygwin.bat, die sich im Root Install Directory (hier: D:\Programme\cygwin) befindet, gestartet.

 @echo off
 D:
 chdir D:\Programme\Cygwin\bin
 bash --login -i

 Die Bash Shell

Global Startup-File: /etc/profile

Das Home-Verzeichnis für den User solle sich aus der Eintragung in /etc/passwd ergeben… Ich habe da folgende Eintragungen:

  • User Administrator: /home/Administrator (/cygdrive/d/home/Administrator ????)
  • User dkracht: /home/dkracht
  • User lonzo: /home/lonzo

Nützliche Befehle:

  • ln -s hugo otto Erstellen eines “Symlink” namens otto für die Datei hugo
  • cp -L otto emil Kopieren von otto nach emil, wobei der Symlink dereferenziert wird (target, Follow links)

 X-Windows

 Installation

  • Installiertes Cygwin-Packet: xorg-x11-base
  • Installiertes Cygwin-Paket: mc (FileManager: Moonlight Commander)

 Konfiguration

  • Konfigurationsdatei: /etc/X11/xorg.conf
  • Interessantes Problem: Grafikkarte mit TVout z.B. für MythTV
    • Option “TVOutFormat” “SVIDEO” oder “COMPOSITE” oder “RGB” (Composite —> FBAS)
    • Option “TVStandard” “PAL-G” oder “PAL-B” oder …?
    • Option “ConnectedMonitor” “TV” ????

 Aufruf Schritt für Schritt

Schritt für Schritt

  • cd /usr/X11R6/bin
  • export DISPLAY=127.0.0.1:0.0
  • echo $DISPLAY
  • run -p /usr/X11R6/bin XWin -multiwindow -clipboard
  • xterm -e /usr/bin/bash -l &

Bei “run XWin” wird ein Init-Shell-Script ausgeführt: /etc/X11/xinit/xinitrc

 Aufruf kompakt

  • startx (mit kofortabler Konfiguration im Shell-Script)
  • Oder: xinit (sehr einfache Konfiguration)

 Installed Cygwin Packages

Tabelle 1: Installed Cygwin Packages

Package Category Version Remarks
rcs Devel 5.7-3 TWiki
bash Base 2.05b-16 TWiki
binutils Devel 2004031 TWiki
diffutils Base 2.8.1-1 TWiki
gcc Devel 3.1.3-4 TWiki
grep Base 2.5-1 TWiki
gzip Base 1.3.5-1 TWiki
make Base 3.80-1 TWiki
nano Editors 1.2.2-1 TWiki
ncftp Net 3.1.4-1 TWiki
pcre Devel 4.5-1 TWiki
perl Interpreters 5.6.1-2 TWiki

— Main.DietrichKracht – 23 Mar 2004

Computer: E-Mail-Clients (aus Wiki)

Gehört zu: E-Mail
Siehe auch: E-Mail-Server, E-Mail-Provider, Spamfilter, Klammeraffe, Terminkalender, Adressbuch
Siehe auch: Thunderbird, Outlook, fruxx, Windows Live Mail

E-Mail-Clients (aus Wiki)

Meine Anforderungen

Meine Kandidatenliste

  • MicrosoftOutlook 2000 / Outlook Express
  • Lotus Notes
  • Eudora
  • MozillaThunderbird
  • RoundCube Webmail (Web-Mail-Client, der IMAP unterstützt und eine Web-2.0-Oberfläche hat)

Meine Produktauswahl

Nachdem ich lange Zeit Outlook benutzt habe (und in der Firma Lotus Notes) haben mich zunehmend die proprietäten Formate der Mail-Box-Dateien gestört. Deshalb wechselte ich zu Eudora, wo die E-Mail im MBOX-Format abgelegt wird. Mozilla als WebBrowser/E-Mail-Client-Kombination verwendet ebenfalls MBOX-Format und hat als OpenSourceSoftware die breitere Basis und Vorteile beim Adressbuch.

Mozilla Thunderbird

MozillaThunderbird ist der aus dem grossen Mozilla-Paket herausgelöste standalone E-Mail-Client. Die Version 2.0 (Okt 2007) macht eine ausgereiften Eindruck (Google Mail, Terminkalender,…).

  • Das Ablageformat ist ebenfalls MBOX.
  • Es gibt eine Version Portable Thunderbird
  • Es gibt eine Linux-Version

Microsoft Outlook

Bei der Beschäftigung mit den Desktop-Suchmaschinen stellte sich heraus, dass MozillaThunderbird nicht unterstützt wird. Alle Suchmaschinen unterstützen aber MicrosoftOutlook, manche noch Eudora. Deswegen plane ich, wieder von Thunderbird auf MicrosoftOutlook zu wechseln.

SpamFilter

Siehe: Spamfilter

— Main.DietrichKracht – 03 Mar 2004

Computer: WinPE (aus Wiki)

Gehört zu: Microsoft Windows

Stand: 27.03.2004

WinPE-Notfall-CD aktualisiert (aus Wiki)

 Installation

  • Definitive Software Library ID: pebuilder
  • Name: PE-Builder
  • Version: v2.0.2b-BETA
  • Hersteller/Bezugsquelle: Bart Lagerweij http://www.nu2.nu/pebuilder/
  • Installationsplattform: Windows XP
  • Installationsordner:
  • Konfiguration: s.u.
  • Systemvoraussetzungen: WindowsXP-CD

Aufgrund der unten geschilderten Erfahrungen vom 26.3. habe ich folgende Aktualisierungen vorgenommen:

  • McAfee Stinger vom 26.03.2004
  • McAfee Virusdefinitionsdateien (DAT) vom 26.03.2004
  • PuTTY ergänzt um PSFTP
  • WinSCP als weiteres “Plugin” und Menüpunkt aufgenommen (SSH-Client mit grafischer Benutzeroberfläche).

PE-Builder stellt damit ein aktualisiertes ISO-Image her, das ich dann auf CD brenne.

Der Versuch, das mit PE-Builder erzeugte ISO-Image nachträglich mit UltraISO zu bearbeiten, war leider nicht von Erfolg gekrönt. Die davon gebrannte CD funktionierte nur teilweise (Start Network Services ging z.B. nicht).

Mit Total Commander 5.51 können ohne Umwege im rechten Fenster Netzwerkverbindungen aufgebaut werden, wenn die Arbeitsgruppe WORKGROUP heisst. Ansonsten können mit dem Menüpunkt “Net” Netzwerkverbindungen (ohne händisches “net use …”) hergestellt werden.

Der Einsatz des SSH-Clients WinSCP, das eine schöne grafische Benutzeroberfläche für eine SSH-Verbindung zur Verfügung stellt, ist natürlich genial für den Notfall. Voraussetzung ist aber, dass ich auf der Gegenseite einen SSH-Server (etwa den OpenSSHServer) habe. Dann kann ich in der Tat auf den ganzen Microsoft-Netzwerk-Kram verzichten und arbeite auf der einfachen Ebene von TCP/IP und das verschlüsselt und sicher.

 26.03.2004 Der Ernstfall: Ein Fallbeispiel

Bericht des Users: Mein Windows ME Computer “geht nicht mehr richtig”. Berichtetes Symptom: “kurze E-Mails gehen, lange aber nicht, die Maus bleibt stehen…” Analyse: Computer ohne Netzwerk-Verbindung funktioniert (auf den ersten Blick) einwandfrei. Aber sobald man das Ethernetkabel (mit Internetverbindung) einsteckt bleibt so nach 10-15 Sekunden die Maus fast stehen und lässt sich nur noch extrem langsam bewegen. Sobald man das Ethernetkabel wieder rausnimmt normalisiert sich der Computer so nach ca. 30 Sekunden. Hypothese: Ein Trojanisches Pferd macht Internet-Verbindungen auf (und zwar heftige, z.B. DOS-Angiffe…). Schlussfolgerung: Es besteht Virenverdacht, ein Virenscanner ist auf dem Computer nicht vorhanden. Da ich auch keine LAN-Verbindung zu meinen anderen Computern aufbauen kann: Computer von WinPE-Notfall-CD starten. Dazu im BIOS-Setup Boot-Sequenz ändern.

 Nach dem Booten von der Notfall-CD schrittweise folgende Aktionen

  • Aus dem Menü McAfee Stinger starten. Das ist vom 28.8.2003 und viel zu alt.
  • Aus dem Menü McAfee Virusscan starten. SCAN /AD erkennt keine Viren (DAT-Dateien vom 3.9.2003 sind wohl zu alt…).
  • Aus dem Menü Start Network Services. Mein Hostname ist “minint-mcpz1e”.
  • Aus dem Menü starte ich Putty (SSH-Client) und kann erfolgreich mit meinem Notebook “lonzo” eine Session aufbauen. Ich lade auf “lonzo” die aktuellen DAT-Dateien aus dem Internet herunter. Dann komme ich aber mit dem scp nicht klar. Ich kann so die Dateien nicht von “lonzo” auf den kranken Computer kopieren.
  • Menü Command Prompt (CMD). net view \\lonzo funktioniert. Also auf “lonzo” eine Freigabe einrichten und diese auf ein Laufwerk mappen: net use h: \\lonzo\archiv
  • Menü Total Commander. Damit kopieren der DAT-Dateien von H: auf C:
  • Menü Command Prompt (CMD) scan /adl zeigt Virenbefall (Mydoom, Doomjuice, QDial14). Cleanen mit scan /adl /clean
  • Computer wieder von Festplatte starten. Ethernetverbindung zu LAN und Internet herstellen. Alles funktioniert wunderbar.
  • Nun zur Vorbeugung installieren: Virenscanner und Firewall.
  • P.S.: scp funktioniert natürlich auch: “scp lonzo:/d/home/kracht/datei.txt .” (absolute Pfadnamen bitte!).

 13.09.2003 Software für WinPE

Für die Boot-CD, die für den Notfall ein abgespecktes Betriebssystem “WinPE” bereistellt, muss man sich Software bereitstellen, die man im Notfall dringend benötigt und die auch wirklich unter “WinPE” lauffähig ist.

 Software unter WinPE

  • TotalCommander (eine Art Explorer mit ZIP/RAR und FTP und FileChop und FileDate und Laplink und …)
  • McAffe Virusscan
  • Stinger (McAfee Virusscan Emergency)
  • Ad-Ware 6.0 (Lavasoft)
  • IrfanView (Bildbetrachtung und -bearbeitung)
  • VNCViewer (Remote Control) see: RealVNC
  • OB1 (ganz einfacher WebBrowser)
  • K-Meleon (WebBrowser mit Gecko-Engine. Z.B. für OnlineBanking, für Downloads,…)
  • PowerQuest DriveImage 7 (Drive Image 2002 geht nicht)
  • Norton Symantec Ghost (benötigt wird Version 7.5 mit ghost32.exe,…)
  • CDCheck (Prüfen von CDs http://Fusion.zejn.si)
  • IsoBuster (Lesen von CDs – http://www.isobuster.com)
  • Putty (SSH-Client mit pscp, psftp, plink, …)
  • E-Mail-Client????????????
  • Palm Desktop ?????????
  • Firewall ??????????

 07.09.2003 Boot-fähige Notfall-CD für Windows 2000 und Windows XP erstellt

Es hat funktioniert. Mit PE Builder 2.0 habe ich eine Notfall-CD erstellt, von der ich meine WindowsXP-Computer booten kann, also so etwas wie “Knoppix für Windows”. Folgendens war zu tun:

  • Alle Computer so einstellen, dass als Boot-Device das CDROM-Laufwerk ausgewählt werden kann bzw. vor der Festplatte (HDD) drankommt.
  • PE Builder installieren auf einer WindowsXP Professional Maschine.
  • WindowsXP Installations-CD bereitlegen.
  • Die Software, die auf die Notfall-CD soll, zusammenstellen bzw. besorgen und dann in die Verzeichnisstruktur von PE-Builder (unter den Ordner addon) und in das PE-Builder-Menü eintragen.
  • PE-Builder starten, beim Output das Häkchen bei “Create ISO-Image” anhaken.
  • Mit einem CDROM-Brennprogramm “Create CD from CD-Image…” (Easy CD Creator, OSCDIMG,…)
  • Die Notfall-CD ist unter Win XP Professional, Win XP Home Edition und unter Windows 2000 funktionsfähig. Enjoy <a href=”http://www.nu2.nu/pebuilder/“>Bart Lagerweij’s</a> superb solution…

 Hintergrund

Die Notfall-CD startet ein kleines Win32-Betriebssystem “WinPE”, mit dem man viele Windows-Programme mit grafischer Benutzeroberfläche laufen lassen kann, auf die Festplatte (auch NTFS) zugreifen kann und auch Netzwerkverbindungen nutzen kann. Microsoft will das alte DOS beim Installationsvorgang von Windows durch WinPE ablösen. Das nächste Windows Desktop OS, mit dem Kodenamen Longhorn wird mit WinPE installiert.

Microsoft Windows Preinstallation Environment (WinPE) is a minimal operating system based on the Windows XP kernel. It will give you a complete Win32 environment with network support, a graphical user interface (800×600) and FAT/NTFS/CDFS filesystem support. Very handy for burnin testing systems with no OS, rescuing files to a network share, virus scan and so on.

Windows PE will replace any Dos bootdisk (even masterpieces like modboot and Bart’s Network Bootdisk) in no time! Please note that I (Bart) did not create Windows PE, Microsoft did. I only created a builder program called “PE Builder” that creates a base Windows PE ISO image very suitable for PC maintenance tasks.

 Erfahrungen mit WinPE

  • CompactFlash-Karten im PCMCIA-Adapter werden funktionsfähig als Laufwerk “SunDisk” über “PCMCIA IDE/ATAPI Controller” bereitgestellt.
  • USB-Festplatte funktioniert (Intel Ultra ATA Ctorage Controller).
  • TWAIN-Schnittstellen funktionieren nicht (nicht auf dem Image von PE-Builder 2).
  • Deutsche Tastatur wird noch nicht unterstützt (nicht mit dem Image von PE-Builder 2).

 Generelle Restriktionen von WinPE

To reduce its size, WinPE includes only a subset of the available Win32 APIs. Included are I/O (disk and network) and core Win32 APIs. To prevent its use as a pirated operating system, WinPE automatically stops running the shell and reboots after 24 hours of continuous use. No network access to files or folders on a WinPE computer from another location on your network. Distributed File System (DFS) name resolution is not supported.

The tested methods of gaining network connectivity to file servers are TCP/IP and NetBIOS over TCP/IP. The drive letters assigned during WinPE are not saved to any registry that persists when you reboot. The drive letter assignment when you create partitions is in the order of creation, but the drive letter assignments when you reboot will be in the default order. WinPE requires a VGA-compatible device and uses a screen resolution of 800 x 600 pixels. If WinPE cannot detect video settings, the default screen resolution is 640 x 480 pixels.

WinPE is too large to fit on a floppy disk.

You cannot build a custom version of WinPE from Windows XP Home Edition. WinPE does not support the Microsoft .NET framework. The WOW32 subsystem is not included in WinPE for i386, so 16-bit applications will not function. This means that Dos programs also will not run.

 03.09.2003 Notfall System: Boot-CD für Windows XP mit PE Builder

Morgens um 7 Uhr am Flughafen, auf dem Weg zur Angebotspräsentation: Mein WinXP-Notebook startet nicht. Das veranlasste mich, nach Notfall-Lösungen für WinXP zu suchen. Ein erstes Ergebnis ist hier dokumentiert: Windows 2000/xp/2003 live cd like Knoppix!!!

I stumbled upon this the other day and it got me thinking: <a href=”http://www.nu2.nu/pebuilder/“>PE Builder</a>. Thanks to google, I found the following download links:

Bart’s PE Builder v3 – cause being an Admin is hard enough…
Von: Teletom Am: 01.09.2003, 11:49
Hi, der PE-Builder ist unaufhaltsam. Mit den Versionen 1.0.3 und 2.0.2b, die ausgezeichnet funktionieren, eröffnet Bart Largeweij neue Horizonte.
Die neueste Version 3.0.2 BETA erweitert die PE-Möglichkeiten des genialen Tools.
Der PE-Builder kommt übrigens mit dem optimalen Nu2Menu von Henk de Jong, das Nu2Menu ist unverzichtbar für ressourcensparende Programmaufrufe. PE Builder Homepage

— Main.DietrichKracht – 02 Mar 2004

Computer: LDAPBrowserEditor (aus Wiki)

Gehört zu: LDAP
Siehe auch: Adressbuch, DefSoftLib

LDAPBrowserEditor (aus Wiki)

Jarek Gawor LDAP Browser/Editor

Ein LDAP-Browser und -Editor in als Java-Application realisiert….

 Installation

  • Definitive Software Library ID: LDAPBrowserEditor
  • Name: LDAP Browser/Editor
  • Hersteller/Bezugsquelle: Jarek Gawor http://www-unix.mcs.anl.gov/~gawor/ldap/index.html
  • Installations-Ordner: D:\Programme\ldapbrowser
  • Konfigurations-Dateien: D:\Programme\ldapbrowser\*.cfg und D:\Programme\ldapbrowser\templates ( Datensicherung CVS )
  • Systemvoraussetzungen: Java

— Main.DietrichKracht – 21 Feb 2004

Computer: RSS (aus Wiki)

Siehe auch: RSS Reader
Siehe auch: ContentSyndication
See also: Atom, News Feeds, Newsfeed Reader, Newsfeed Writer, XSLT

Newsfeeds und Content Syndication mit RSS (aus Wiki)

What is RSS?

By Mark Pilgrim (http://www.xml.com/lpt/a/2002/12/18/dive-into-xml.html)

RSS is a format for syndicating news and the content of news-like sites, including major news sites like Wired, news-oriented community sites like Slashdot, and personal weblogs. But it’s not just for news. Pretty much anything that can be broken down into discrete items can be syndicated via RSS: the “recent changes” page of a wiki, a changelog of CVS checkins, even the revision history of a book. Once information about each item is in RSS format, an RSS-aware program can check the feed for changes and react to the changes in an appropriate way.

Verzeichnisse von RSS-Newsfeeds

 RSS 2.0 Format

  • Datumsfelder müssen nach RFC822 (1982) aufgebaut sein; d.h. es muss zwingend immer der Wochentag am Anfang stehen.
  • Der Verfasser eines Artikels kann nur als E-Mail-Adresse angegeben werden, nicht als Klartext.
  • Validator: http://feedvalidator.org

 RSS Software

  • RSS Clients: Newsfeed Reader
    • RSS Bandit
  • RSS Server: Newsfeed Writer
    • I try to do this with WebLogs
    • Tristana Writer RSS (kann RSS und Atom, Timestamp-Automatismus aber ganz schlecht)
    • Absolute RSS Editor
    • Easy RSS Content Generator (NO, benötigt als Input vorhandene RSS Feeds)
    • mirabyte Feed Writer (kann nur RSS, gute Oberfläche)

 A brief RSS history

Code Fragments only

But coders beware. The name “RSS” is an umbrella term for a format that spans several different versions of at least two different (but parallel) formats. The original RSS, version 0.90, was designed by Netscape as a format for building portals of headlines to mainstream news sites. It was deemed overly complex for its goals; a simpler version, 0.91, was proposed and subsequently dropped when Netscape lost interest in the portal-making business. But 0.91 was picked up by another vendor, UserLand Software, which intended to use it as the basis of its weblogging products and other web-based writing software.

In the meantime, a third, non-commercial group split off and designed a new format based on what they perceived as the original guiding principles of RSS 0.90 (before it got simplified into 0.91). This format, which is based on RDF, is called RSS 1.0. But UserLand was not involved in designing this new format, and, as an advocate of simplifying 0.90, it was not happy when RSS 1.0 was announced. Instead of accepting RSS 1.0, UserLand continued to evolve the 0.9x branch, through versions 0.92, 0.93, 0.94, and finally 2.0.

What a mess.

Abbildung 1: SVG-Grafik showing this family tree (GitHub: Rss-Family.svg)

https://raw.githubusercontent.com/dkracht/drawings/master/Rss-family.svg

RSS-Family Tree

 

 So which one do I use?

That’s 7 — count ’em, 7! — different formats, all called “RSS”. As a coder of RSS-aware programs, you’ll need to be liberal enough to handle all the variations. But as a content producer who wants to make your content available via syndication, which format should you choose?

 RSS versions and recommendations

Tabelle 1: RSS versions

Version Owner Pros Status Recommendation
0.90 Netscape Obsoleted by 1.0 Don’t use
0.91 UserLand Drop dead simple Officially obsoleted by 2.0, but still quite popular Use for basic syndication. Easy migration path to 2.0 if you need more flexibility
0.92, 0.93, 0.94 UserLand Allows richer metadata than 0.91 Obsoleted by 2.0 Use 2.0 instead
1.0 RSS-DEV Working Group RDF-based, extensibility via modules, not controlled by a single vendor Stable core, active module development Use for RDF-based applications or if you need advanced RDF-specific modules
2.0 UserLand Extensibility via modules, easy migration path from 0.9x branch Stable core, active module development Use for general-purpose, metadata-rich syndication

 RSS Namespaces

Da RSS-Dateien ein XML-Dialekt darstellen, sollte immer ein korrekter Namespace angegeben werden….

   xmlns="http://backend.userland.com/RSS2"

 Eigene RSS Newsdfeeds

 Newsfeed Reader

Siehe: Newsfeed Reader
— Main.DietrichKracht – 07 Feb 2004

Computer: WinTV (aus Wiki)

Gehört zu: Fernsehen
Siehe auch: Computer, Hardware

TV-Tuner WinTV USB von Hauppauge (aus Wiki)

Dieses kleine USB-Hardware-Teil habe ich mir vor ca. zwei Jahren gekauft. Damit kann ich mit dem Notebook wunderbar Fernsehen. Auch das Schiessen von Standfotos und das Mitschneiden von Fernsehsendungen (Aufnahmen, Recording, Capturing, Video) ist möglich.

Herzstück ist der WinTV USB Treiber, der den TV-Tuner als Windows-Videoquelle zur Verfügung stellt. Auf diese Videoquelle können beliebige Windows-Programme zugreifen; z.B. VirtualDub, RealProducer, CyberLink VCR,…. – oder auch das zum Lieferumfang gehörige “WinTV2000″….

 Installation Treiber

  • Definitive Software Library ID: WinTV_USB
  • Name: WinTV USB
  • Version: 2.62.21125.0
  • Hersteller/Bezugsquelle: Hauppauge http://www.hauppauge.com/html/sw_tvusb.htm
  • Installations-Verzeichnis: C:\WINNT\system32 (ksdata.ax, ksinterf.ax,…, ksxbar.ax)
  • Konfigurations-Dateien:
  • Systemvoraussetzungen: vfwwdm.dll (Video for Windows)

 Installation Anwendungssoftware

 Schritte zur Neuinstallation

Ein paar Probleme macht es immer wieder, die neuesten Treiber und die neueste Software zu bekommen und zu installieren. Gerade heute (23.01.2004) habe ich für mein Windows 2000 WinTV erfolgreich neuinstalliert.

  • Aktuelle Versionen Downloaden von http://www.hauppauge.com/html/sw_tvusb.htm
  • hcwclear.exe zur vollständigen Entinstallation von Treibern (USB. Plug-and-Play), und Anwendungssoftware (TV-Tuner, VideoCapture)
  • USB-Treiber: usbdrv262_21125.exe installieren
  • Anwendungssoftware wintv2k40_21126.exe installieren

 Neuigkeiten

  • TV-Tunerkarte: NVTV ist eine TV Tuner Karte (PCI) von Nvidia, die mit einem analogen TV-Tuner und einem schnellen MPEG2-Encoder bzw-Decoderchip ausgetattet ist. Preis EUR 140…
  • DVB-T gibt es seit dem 24. Mai 2004 in Hannover/Braunschweig und Bremen/Oldenburg. Hamburg folgt im November…

 DivX 5.1 Codec und MJPEG (16.11.2003)

DivX als Weiterentwicklung des MPEG-4 Codecs von Microsoft ist der zukunftssichere Standard für Video-Aufnahmen. Allerdings kann ich Live-Aufnahmen vom TV-Tuner damit nicht machen. Das scheint mit dem Microsoft MPEG-4 Codec zu gehen. Empfohlen wird aber, Live-Aufnahmen mit dem MJPEG-Codec zu machen und die dann in einem weiteren Durchlauf auf DivX (Sound dann als MP3) zu komprimieren.

Das MJPEG-Codec von PICVideo (Pegasus) wurde installiert. Die Live-Aufnahme erfolgt mit folgenden Einstellungen:

  • Video Compression: PICVideo MJPEG Codec, Compression/Quality: 17
  • Audio Compression: PCM 44100 kHz, 16 Bit, Stereo, 172 kByte/s (Quailtät einer Audio-CompactDisk)
  • Framerate 25 fps mit 320×240 Pixel

Mit diesen Einstellungen werden ein Speicherplatz von 30 MByte pro Minute benötigt (unkomprimiert: 220 MB/Min).

Nach der Live-Aufnahme wird wie folgt komprimiert:

  • Video: DivX 5.1, 1-pass, Performance/Quality: Standard, Bitrate 1200
  • Audio: MPEG-3, 44100 Hz, 96 KB/s

Mit diesen Einstellungen wird dann nur noch ein Speicherplatz von 10 MByte pro Minute benötigt.

— Main.DietrichKracht – 23 Jan 2004

Computer: Wiki-Adressbuch

Gehört zu: E-Mail
Siehe auch: LDAP, OpenLDAP, ApacheDS, E-Mail-Client, vCard

Adressbuch und Kontakte (aus Wiki)

Aktuelles

  • Von meinem Outlook auf dem T400 habe alle “Contacts” als vCard-Files exportiert. Adressbuch#Exportieren_Outlook_Comntacts
  • Zur Datensicherung habe ich die vCard-Files nach Z:\Backups\OutlookContacts kopiert
  • Als Adressbuch-Manager habe auf ComputerThinkbaer ein Outlook 2010 ohne E-Mail installiert und dort alle vCards importiert. Die Photos sind dabei erhalten geblieben

Meine Adressbücher und Telefonbücher

Werden benötigt

  • zum Telefonieren
  • für das Schreiben von E-Mails mit dem E-Mail-Client
  • zur Speicherung von Adressen von Bekannten, Restaurants, Hotels, Golfplätzen etc.

Zur Zeit arbeite ich mit folgenden Adressbüchern:

Um alle diese verschiedenen Adressbücher zu verwalten (Impoprt/Export, Backup, evtl. Synchronisierung…) suche ich einen Adressbuch-Manager

 Meine Anforderungen an einen Adressbuch-Manager

  • Verwaltung in einer Datenbank mit der Möglichkeit des Import und Export von LDIF und/oder vCard-Formaten (etwa als Langfrist-Backup in einem nicht-proprietären Format)
  • Import/Export MozillaThunderbird
  • Import/Export MicrosoftOutlook
  • Import/Export Nokia N8-00 Smartphone
  • Import/Export Google Kontakte
  • Alle Adressfelder von Outlook, einschießlich eines Fotos, müssen unterstützt werden
  • Der Adressbestand soll in mehrere Adressbücher unterteilt werden können

 Meine Short List von Adressbuch-Managern

  • vCardMagic

Outlook-Adressbuch

Berufliche Gründe gaben den Ausschlag dafür doch wieder MicrosoftOutlook mit seinem Adressbuch (Telefonbuch) und seinem Terminkalender einzusetzen.

Synchronisieren mit SmartPhone

Die Synchronisation des Outlook-Adressbuchs mit meinem SmartPhone ist ein wichitges Auswahlkriterium für das SmartPhone.

SmartPhone mit Windows CE
Hervorragende Synchronosation da alles Microsoft (ActiveSync und Nachfolger)
SmartPhone mit Symbian
Problematisch z.B. Nokia N8-00 mit Nokia OVI ergeugt doppelte Einträge im Adressbuch
SmartPhone mit Android
 ?????

Generelle wichtige Punkte beim Synchronisieren sind:

  • SyncML als Basis
  • Menge der Adressen und Telefonnummern, die auf dem Mobil-Telefon gespeichert werden können

Exportieren Outlook Comntacts

MicrofoftOutlook unterstützt vCard das offene (Internet) Format für Adressen leider nur rudimentär. Wenn mann massenweise Kontakte als vCard exportieren will, gibt es folgenden Trick (mit Outlook 2007):

  • Contacts multipel selektieren
  • Menue: Actions –> Send full Contact –> In Internet Format vCard
  • This creates an email with the vCards as attachments. Type in a meaningfull “Subject” and store in “Drafts”
  • Switch to “Email Drafts” and select that new email with the attached vcards
  • Menue: File –> “Save Attchments” –> “All Attachments”

Thunderbird-Adressbuch E-Mail-Client

Nach der Umstellung des E-Mail-Clients von Mozilla 1.5 auf MozillaThunderbird 0.5 konnte die PalmHotSync Funktion einsetzt werden. Das Palm-Adressbuch und das E-Mail-Client-Adressbuch wurden manuell bereinigt und konsolidiert. Von nun an ist das Thunderbird-Adressbuch mein führendes Adressbuch und wird auf den Palm mit PalmHotSync regelmäßig heruntergeladen.

Thunderbird Import vCard

…. morefunctionsforAB-TB3-0.6.4.3.xpi …

Synchronsation

Ähnlich wie ich meine Terminkalender über Google synchronisiere (und für Datensicherheit sorge), so möchte ich auch mein Adressbuch bei einem WebProvider pflegen und von da aus mit meinen lokalen Kopien synchronisieren. Google hat zwar auch einen Adressbuch-Service, allerdings gibt es in einem Google-Adressbuch nur einen Bruchteil der Datenfelder, die ich in meinem Outlook-Adressbuch bzw. Thunderbird-Adressbuch habe.

Daher ging ich auf die Suche nach einem Provider, der sich auf Outlook- bzw. Thunderbird-Adressbücher spezialisiert hat.

 Plaxo

Mein erster Treffer war: http://www.plaxo.com, wo ich mich mit zwei Identities angemeldet habe (rubaschow und bunsch).

 Google

Bei Google hat man als Zugabe zur E-Mail auch ein Adressbuch. Das kann man über Google-Mail ansprechen (links oben) oder aber auch direkt im Web-Browser über:
Link: http://www.google.com/contacts

 t-online

Siehe: SyncML

 Telefonnummern-Datenbank

Zur automatischen Unterscheidung von Privat-Telefonaten von Geschäfts-Telefonaten aus dem elektronischen Einzelverbindungsnachweis von Vodafone habe ich alle per Handy benutzen Telefonnummern in eine MySQL-Datenbanktabelle getan. Zusätzlich habe ich die im Handy (Nokia 6310i) gespeicherten Telefonnummern mit Hilfe des Programms Oxygen Phone Manager II in ein Excel-Sheet exportiert und dann in besagte Datenbanktabelle konsolidiert. Als führender Datenbestand soll nun die MySQL-Datenbank dienen.

 Palm-Adressbuch

Mein Adressbuch verwalte ich als Palm-Adressbuch (Palm-Handheld), wobei die Mutterversion, die auf dem PC befindliche Version ist, die mit der Software PalmDesktop verwaltet wird. Die Palm-Adress-Datenbank wird per PalmHotSync ebenfalls auf dem PC gespeichert.

Der Inhalt der Palm-Adress-Datenbank AddressDB.pdb kann mit einem kleinen Perl-Programm pdb2ldif von Geoff Silver (http://www.netadmintools.com/text/pdb2ldif.txt, http://www.netadmintools.com/art81.html) in LDIF-Format konvertiert werden. Allerdings musste ich ein Paar kleinere Anpassungen an pdb2ldif vornehmen, um für meine Zwecke eine vollständige Abdeckung meiner Anforderungen zu erhalten.

Die Palm-Adress-Datenbank AddressDB.pdb befindet sich auf dem Palm. Um sie auf den PC zu kopieren reicht ein Palm-Hotsync manchmal nicht aus, sondern man muss die Palm-Datenbanken mit einem speziellen Hilfsprogramm auf den PC kopieren; siehe dazu: PalmHotsync. (Tilo Christ hat das Pilot-Xfer von Kenneth Albanowski auf Win32 portiert.)

Nun muss nur noch die mit pdb2ldif erstellte LDIF-Datei in meinen OpenLDAP-Server geladen werden. Das mache ich mit der LDIF-Import-Funktion von Jarek Gawor’s genialem LDAPBrowserEditor.

 LDAP-Adressbücher

Auf meinem OpenLDAP-Server verwalte ich folgende Adressbücher:

  • GMO-Lotus-Notes-Adressbuch (migriert vom Lotus-Notes-Server, mit Password-Hashs)
  • GMO-Veteranen (GMO-Mitarbeiter mit den privaten E-Mail-Adressen)
  • Palm-Adressbuch (mit pdb2ldif als LDIF importiert)
  • Rolodap-Testbestand
  • NLDAP-Staging (für www.nldap.com, vereinfachtes Rolodap)

 LDAP-GMO-Lotus-Notes

  • Root: o=gmo, c=de
  • Objectclass: dominoPerson

LDAP-GMO-Veteranen

  • Root: ou=contacts, o=kr8, c=de
  • Objectclass: inetOrgPerson

 Palm-Adressbuch

  • Root: ou=palm, o=kr8, c=de
  • Objectclass: inetOrgPerson (ändern auf: mozillaAaPersonObsolete)

 Rolodap-Testbestand

  • Root: o=contacts.kr8.de
  • Objectclass: rolodapContact, rolodapUser, rolodapBook, rolodapadmin

 NLDAP-Staging

  • Root: ou=lonzo, ou=user, o=NOVELL
  • Objectclass: nur standards

— Main.DietrichKracht – 10 Jan 2004

Computer: Suchmaschinen (aus Wiki)

Gehört zu: Dokumentenmanagement
Siehe auch: CopernicDesktopSearch, YahooDesktopSearch, Google, Metadaten, DesktopSuchmaschine

Suchmaschinen (aus Wiki)

(Redirected from Suchmaschine)

Suchen und Finden

Meine Anforderungen

Die wichtigste Funktion meines Wissensmanagements (KnowledgeManagement) ist, Dinge wiederaufzufinden, die ich schon irgendwo (auf meinem PC oder in Papierablagen) habe. Darüberhinaus kommt es vor, dass ich Informationen aus fremden Quellen suche.

  • Klassich ist der Fall eines Archivs, das in spezieller Form Dinge abspeichert, nach denen dann mit speziellen Suchfunktionen gesucht werden kann.
  • Auch klassisch ist heutzutage das Suchen im Internet, wo im einfachsten Fall nach HTML-Seiten gesucht wird.
  • Ich möchte möchte nun aber ganz schlicht und ergreifend in allen meinen Dateien auf meinem Notebook-Computer suchen. Für diesen Fall muss ein Index aufgebaut werden, der dann als Basis für Suchanfragen dient.

Aufgabenstellung: Website-Indexer / Desktop-Indexer

Für meine eingene Website möchte ich eine Suchmaschine anbieten, mer Besucher, zusätzlich zur ausgeklügelten Navigation auch über eine Volltextsuche über alle meine Webseiten möglichst direkt das finden kann, was er/sie sucht.

Die dafür eventuell erforderlichen technischen Komponenten auf der Server-Seite müssen sehr genau überlegt werden, denn ein billiger Web-Hosting-Provider bietet da nur sehr wenig.

Zur Zeit ist die eigene Website bei t-online gehostet. Als Provider mit PHP und MySQL steht auch free.fr zur Verfügung.

Siehe auch: http://www.searchtools.com

 Lösungsarchitektur

Wichtig ist die Erkenntnis, das hier eine Schichtenarchitektur sinnvoll ist, wobei die untern dargestellten drei Schichten unterschiedliche systemtechnische Anforderungen aben und auch auch unterschiedlichen Systemplattformen laufen könnten.

 Indexing – Harvesting

Man benötigt einen wirklich guten Indexer, der die Website wie ein Spider per HTTP-Protokoll durchläuft und dabei den auf der Oberfläche sichtbaren Text indiziert. Damit werden die Hyperlinks durchlaufen, dynamische inhalte (z.b. von PHP, ASP, JSP-Seiten) richtig behandelt, Zeichensätze (Umlaute) richtig beachtet und ggf. weitere Dokumenttypen (PDF, MicrosoftWord, PowerPoint,…) auch verarbeitet.

Das Ergbnis ist eine Dokumentliste und eine Wortliste.

Diese Komponente muss nicht notwendig als Web-Applikation laufen.

Schnelle Indexdatenbank

Die in der Stufe 1 (Indexing/Harvesting) gewonnenen “Rohdaten” werden jetzt veredelt und für den Zweck des schnellen Suchzugriffs optimiert aufbereitet.

Diese Komponente muss nicht notwendig als Web-Applikation laufen.Schnelle Such-Oberfläche

Über ein HTML-Formular soll der Anwender seine Suchbegriffe eingeben. Das Suchergebniss soll dann als Fundstellenliste präsentiert werden.

Diese Komponente muss zwingend als Web-Applikation laufen.

 Lösungsmöglichkeiten

  1. Fremdanbieter: Provider für solche Website-Suchmaschinen
  2. ht://Dig (SourceForge)
  3. mnogosearch
  4. siteIndexer (SourceForge)
  5. dtSearch
  6. PerlfectSearch

 Software für Suchmaschinen

Man hat sich ja an sehr schöne Suchfunktionen aus dem Internet gewöhnt (früher Altavista, heute Google). Wenn man so etwas auf den lokalen PC übertragen könnte, wäre dann noch eine grosse Frage zusätzlich: Kann ich auch nach den Inhalten von Nicht-HTML-Dateien (z.B. MicrosoftWord, PowerPoint, PDF, E-Mails,…) suchen?

Microsoft:
Da gab es zum Web-Server IIS schon immer einen Index-Server. Für den lokalen PC gibt es auch eine in Windows integrierte Suchfunktion nach Inhalten, die auf einem File-Indexer beruht.
Altavista:
Da gab es mal ein Personal Altavista, mit dem man seine lokalen Daten durchsuchen konnte.
dtSearch:
Habe ich 2001 mal ausprobiert, war gut, aber ist auch teuer.
ht://Dig:
Eine sehr verbreitete klassische Index-/Such-Lösung. Einzelheiten unter HtDig.
Perlfect Search 3.31:
Eine Index-/Such-Lösung in Perl, die mein WebProvider-Provider Westhost unterstützt. Einzelheiten unter PerlfectSearch.
SearchBlox:
Eine in Java (J2EE) auf Basis von Jakarta Lucene (http://jakarta.apache.org/lucene/docs/index.html) realisierte Suchmaschine. Kann auch Word, PowerPoint, PDF und Excel. Leider kommerziell und gepfefferte Preise…. http://www.searchblox.com
nutch:
Eine in Java (J2EE) auf Basis von Jakarta Lucene realisierte einfache OpenSourceSoftware http://www.nutch.org
ASPSeek:
Linux-only. Free Software under GNU GPL. CGI-Fontend… (http://www.aspseek.org)
mnoGoSearch:
http://www.mnogosearch.org/win.html
Namazu:
….
sitesearch:
…Teil von….
Search Engine Builder Professional:
Indexiert Dokumenttypen: xyz. Baut lokale Suchmaschine (ASP, PHP, JavaScript – ohne MySQL), die z.B. auch für CD-ROMs und DVDs geeignet ist.
Search Maker Pro:
Indexiert Dokumenttypen: PDF, DOC, RTF, PPT, XLS,.. Dabei werden Dokumentinhalt und Dokument-Property-Felder indexiert. Es wird eine lokale, in sich abgeschlossene Suchmaschine generiert (ASP, PHP, JavaScript), die z.B. auch für CD-ROMs und DVDs geeignet ist.

 Update Oktober 2004: Desktop Search

blinkx:
Produkt “blinks 0.4.34” http://www.blinkx.com Windows-Oberfläche, Dateien: …, PDF, PPT, ZIP. Aber völlig instabil.
Anstelle eines Pre-View gibt es ein Pop-Up-Fenster mit einem Abstract.
Copernic:
Produkt “Copernic Desktop Search 1.0” http://www.copernic.com/en/products/desktop-search Windows-Oberfläche, Dateien: TXT/RTF DOC XLS, PPT, Outlook-Mail, PDF, Music, Video, Pictures (ZIP?????)
Enfish:
Produkt Enfish “Professional 6.1” http://www.enfish.com Windows-Oberfläche, Dateien: …PDF, PPT, ZIP-Inhalte, kommerziell
HotBot:
Produkt “HotBot Desktop” http://www.hotbot.com/tools/desktop
Google:
Produkt “Google Desktop Search” http://desktop.google.com Dateien: TXT, DOC, XLS, PPT, Outlook-Mail (PDF nicht)
Filehand:
Produkt “FilehandSearch 2.0” http://www.filehand.com Oberfläche: Windows, Dateien: TXT, DOC, XLS, PPT, PDF, MP3 (ZIP???)
SWISH-E:
http://www.swish-e.org
Wilbur:
Produkt “Wilbur 2.2” http://wilbur.redtree.com Oberfläche: Windows,…
X1 Technologies:
Produkt “X1Searchhttp://www.x1.com Oberfläche: Windows, ….
X-Dot:
Produkt “x-friend 0.2” http://www.x-friend.de Browser-Oberfläche, Java-basiert, verwendet Apache-Lucene, Dateien: TXT, DOC, XLS, PPT, PDF, IMAP E-Mail, MP3 ID3 Tag, Bilder, ZIP-Archive,…

Update Januar 2005: Desktop Search

Yahoo Desktop Search:
Yahoo hat sich mit X1Search zusammen getan und eine bessere Oberfläche geschaffen. Überragender Pluspunkt bleibt die Viewer-Technologie von X1Search (ex Magellan) YahooDesktopSearch

 Meine Bewertung

Tabelle 1: Meine Bewertung von Desktop-Suchmaschinen

Produkt/Klasse Pro Contra
blinkx 0.4.34 kann PDF, PPT und ZIP-Inhalte
E-Mail: Outlook und Eudora
kostenfrei
läuft extrem instabil unter Win2000
kommerziell
Thunderbird-E-Mail nicht unterstützt
CopernicDesktopSearch 1.0
Desktop-Indexer
Dokumenten-Preview
On-the-fly indexing
Kleiner Index (Beispiel: 662MB/34MB)
E-Mail nur Outlook, nicht IMAP/POP3
Indiziert nicht den Inhalt von ZIP-Archiven!!!
dtSearch Selbsttragende CD-Indizierung teuer
Enfish 6.1 kann PDF, PPT und ZIP-Inhalte
E-Mail Outlook, Lotus Notes, AOL-Mail
Schönes Pre-View
E-Mail nicht Thunderbird
kommerziell teuer
Filehand 2.0 Windows-Oberfläche Inhalte von ZIP-Archiven werden nicht indiziert
Google PDF nicht indiziert
Nocht nicht fertig (Beta)
htDig
Website-Indexer
Bestandteil der Linux SuSE Edition CGI-Binary muss kompiliert werden (Cygwin)
mnogoserach
PerlfectSearch
Website-Indexer
Plattformen Linux/Windows durch Perl
Internationalisierung durch i18n
Website-Indexer
PDF und Word durch Third-Party-Zusätze
Wilbur 2.2
Desktop-Indexer
Inhalte von ZIP-Archiven werden indiziert
CD-ROM Indexing
QuickView support
Freeware
PDF und Thunderbird-Email wird indexiert
Word und PowerPoint werden nicht indexiert.
Kein Document Preview, aber Integration mit QuickView
X1Search 04.09
Desktop-Indexer
Inhalte von ZIP-Archiven werden indiziert
Dokument-Preview integriert
Guter PowerPoint-Preview
teuer: $99
Thunderbird-Email wird nicht indiziert
Im PPT-Preview wird nicht mit Autoscroll auf “first occurance” positioniert
x-friend 0.2
Desktop-Indexer
Plattformunabhägig durch Java
Beliebiger WebBrowser
Gut passend zur meiner Architektur (Java, WebBrowser,
Apache Lucene, IMAP…)
E-Mail IMAP
Selbsttragende CD-Indizierung
Inhalte von ZIP-Archiven werden nicht indiziert
PowerPoint PPT wird nicht indiziert
POP3-Email wird nicht indiziert
Preview von der Ansichsgrösse nicht einstellbar
Sehr schlichter PPT Preview

 Meine Lösungsauswahl

Für das russische mnogoserach spricht die Verwendung von PHP für die Search-Funktion.

Allerdings wird ein modifiziertes PHP benutzt, das man sich selbst durch Compilation erzeugen muss. Da die Lösung bei einfachen Providern laufen soll, scheidet diese Variante aus.

Für die Variante ht://Dig spricht:

  • Die sehr grosse Verbreitung und damit eine Sicherheit für eine mittelfristig gesicherte Nutzung
  • ht://Dig wird als Bestandteil der SuSE 8.0 Edition mit ausgeliefert (binary)
  • Eine Compilation unter Win98 mit Cygwin war auf Anhieb erfolgreich.

Nachteil bei ht://Dig ist nachwievor, dass die Such-Oberfläche als CGI-Executable realisiert ist. Nicht jeder Web-Hosting-Provider lässt “freie CGIs” zu.

Die Auswahl fiel trotzdem auf HtDig, da die Ausgereiftheit und Mächtigkeit der Funktionen sowie die solide Community einfach überzeugen. Der Nachteil der CGI-Suchoberfläche wird im Sinnne der Architektur in Kauf genommen, mit der Idee, dafür im Laufe der Zeit einen Austausch vorzunehmen. Die Idee ist, eine PHP-Suchoberfläche entweder direkt auf die Berkely-DB2-Datenbank zu setzten, oder die DB2 auf MySQL zu konvertieren und dann eine PHP-Oberfläche darauf zu setzen.

Mehr Komfort: Enfish oder Copernic oder X1Search

Enfish 6.1 und Copernic bestechen durch sehr elegante Windows-Oberflächen. Allerdings ist die Funktionalität von Copernic nicht ausreichend und Enfish 6.1, das sehr mit seiner Lotus-Notes-Email-Indexierung lockt, ist viel zu teuer. Es bleibt X1Search, das zwar nicht so elegant aussieht, aber durch solide Funktionalität überzeugt.


 Indizieren: Was soll, was soll nicht indiziert werden

Da das aufbauen und Aktualisieren eines solchen Index erstens Zeit kostet und zweitens Platz kostet, loht es sich zu überlegen, welche Datei-Typen man wirklich indizieren will und welche man nicht indizieren will.

 Postiv (sollen indiziert werden)

Zur Konfiguration von Indexern (Teil einer Suchmaschinen-Archtektur) benötigt man MIME-Types und Parser für jeden MIME-Type:

Tabelle 2: Was soll indiziert werden?

Extension MIME Type Parser
.dbf application/dbase
application/x-dbase
 ?
.doc application/msword catdoc aus: http://freshmeat.net/projects/catdoc/
.pdf application/pdf pdftotext.exe aus XPDF: http://www.foolabs.com/xpdf/
.rtf application/rtf  ?
.xls application/vnd.ms-excel catdoc aus: http://freshmeat.net/projects/catdoc/
.ppt application/vnd.ms-powerpoint  ?
.html text/html OK
.htm text/htm OK
.svg image/svg+xml  ?
.txt text/plain OK
.vsd application/vnd.visio Visio
.xml text/xml
application/XML
 ?
.xsl  ?  ?
.zip application/zip  ?

 Negativ (sollen nicht indiziert werden)

  • *.bak
  • *.dbs
  • *.dl_
  • *.do_
  • *.dsk
  • *.ex_
  • *.e2_
  • *.ndx
  • *.ffx (löschen)
  • *.ffo (löschen)
  • *.ffl (löschen)
  • *.ffa (löschen)
  • *.pqi
  • *.z

— Main.DietrichKracht – 09 Jan 2004