=================================================================================
LOGBOOK - SUCHMASCHINENROBOTS UND WEBSEITENBESUCHER AUFZEICHNEN
=================================================================================

LOGBOOKS DIENEN DAZU, EINEN UEBERBLICK UEBER DIE NUTZUNG DER INTERNETPRAESENZ
ZU ERHALTEN UND AUFZUZEICHNEN

Die Textdateien mit den Logbook-Eintraegen, werden ueber Email an die eingetragene
Email-Adresse (siehe: »inc_logbook.php« -> Konfiguration) gesendet.

Fuer die optimale Darstellung der gesendeten Logbook-Datei ist ein Bildschirm der
etwa 180 Zeichen pro Zeile anzeigen kann zu empfehlen.

Die PHP-Dateien koennen mit einem beliebigen Texteditor z.B. KWrite, Kate etc.
geoeffnet und bearbeitet werden.

Fuer das einwandfreie Funktionieren des Logbooks ist die Konfiguration der
PHP-Datei »inc_logbook.php« im Verzeichnis »inc« zu ueberpruefen und anzupassen.

Ueber die IP-Adresse des Suchmaschinenrobots oder des Webseitenbesuchers, kann
die ungefaehre Herkunft der Besucher ermittelt werden. Die Genauigkeit der
oeffentlich zugaenglichen Webseitendienste liegt in der Regel bei etwa 90 Prozent.

Geo-Targeting oder Geolocation:
https://db-ip.com
https://ipleak.net/
www.utrace.de
www.maxmind.com/en/locate-my-ip-address
www.infosniper.net
www.hostip.info
www.netip.de
[...]

Einige spezielle Internet-Browser uebermitteln an den Webserver unzureichende
Informationen (z.B. Browser User Agent oder HTTP Browser Agent). In diesen Faellen
- meist Browser der Suchmaschinenrobots - ersetzt das PHP-Skript »inc_logbook.php«
die leere Zeichenkette durch den String »EMPTY«.

Es wird davon ausgegangen, dass Sie zumindest einige Grundkenntnisse
in PHP und HTML besitzen.

Voraussetzung fuer die Nutzung der PHP-Dateien ist verfuegbarer Webspace und
PHP-Unterstuetzung (PHP fuer LINUX/UNIX).

=================================================================================

INSTALLATION

Das Logbook »inc_logbook.php« im Verzeichnis »inc« wird ueber die include-Funktion
auf der entsprechenden Webseite (siehe: start.php) eingefuegt.

Fuer den ersten Test des PHP-Skripts auf einen lokalen Rechner mit installierten
Web- und PHP-Server - ohne installierten und eingerichteten Emailserver, sollte
der Email-Versand des Logbooks in der Konfiguration der Datei »inc_logbook.php«
deaktiviert werden ($logbook_email_send_enable=0;).

Das uebergeordnete Verzeichnis (Bezugspunkt: start.php) sollte das Schreiben
erlauben (Erstellung des Verzeichnisses »txt«). Die Zugriffsrechte sollten
entsprechend angepasst werden (0777). Nach der Erstellung des Verzeichnisses
kann die Zugriffsberechtigung wieder zuruekgesetzt werden (0755).

A: Logbookversand ueber Email ist aktiviert
   1. Erstellung einer PHP-Datei mit folgenden Inhalt:

   <?php
   phpinfo();
   ?>

   2. PHP-Datei zum eigenen Webspace hochladen und aufrufen

   3. Suche (Tastenkombination: [Strg] + [F]) nach dem Bereich »core« und der
      PHP-Variablen »default_charset«
      - Default-Charset (z.B. ISO-8859-1, UTF-8) notieren

   4. Suche nach dem PHP-Modul »iconv«

      HINWEIS: Sind die Textkodierungen (Charset) des PHP-Servers und des lokalen
      Rechners gleich (Eintragung in der Konfiguration), so wird das PHP-Modul
      »iconv« vom Logbook nicht aufgerufen.

   5. Ermittlung des Default-Charset auf dem lokalen Rechner
      Linux/Unix: Terminalbefehl -> locale

      Windows: powershell oder cmd-Befehl -­> systeminfo oder msinfo32
               Tastenkombination [Window] + [R] -> cmd -> chcp
               Tastenkombination [Window] + [R] -> cmd -> regedit
               und anschlieszende Suche nach dem regedit-Verzeichnis -> CodePage

      BEACHTE: Windows benutzt intern die Textkodierungen UTF-16 (systemnahe Text-
      Kodierung).
      Der Windows-Standardzeichensatz (z.B. Textprogramme) fuer westeuropaeische Laender
      ist der 8-Bit-Zeichensatz CP1252 (CP.. Code Page oder auch Charset, character set).
      Im Kommandozeilenfenster (CMD-Fenster) verwendet Windows normalerweise einen
      anderen Zeichensatz (in Westeuropa CP850).

      CodePage Country/ Region/ Language
      437 	United States
      850 	Multilingual (Latin I)
      852 	Slavic (Latin II)
      855 	Cyrillic (Russian)
      857 	Turkish
      860 	Portuguese
      861 	Icelandic
      863 	Canadian-French
      865 	Nordic
      866 	Russian
      869 	Modern Greek
      1252 	West European Latin
      65000 	UTF-7
      65001 	UTF-8

      Wer fuer das CMD-Fenster statt der Codepage 850 eine andere benoetigt, kann
      dies ueber das Tool MSCONFIG (START -> Ausfuehren -> MSConfig) unter der
      Registerkarte International festlegen (MS-DOS-Codepage).

      Um die Schwierigkeiten mit den Textkodierungen zu umgehen, sollten nur die
      ASCII-Zeichen 32 bis 126 verwendet werden. Einige ASCII-Zeichen: englisches
      Alphabet: 0-9a-zA-Z(einschlieszlich des Leerschritts, Leerzeichen) <>=_$-.?
      !"/|\'%+*^()[]{};#,&@:

      HINWEIS: Sind die Textkodierungen (Charset) des PHP-Servers und des lokalen
      Rechners gleich (Eintragung in der Konfiguration des Logbooks), so wird das
      PHP-Modul »iconv« vom Logbook nicht aufgerufen.

   6. Konfiguration der Datei »inc_logbook.php« anpassen
      [...]
      $logbook_email_address = "webmaster@domain.de";
      $logbook_email_send_enable=1;
      [...]
      $server_standard_charset = 'ISO-8859-1';
      $client_standard_charset = 'UTF-8';
      [...]

      Die anderen Werte der Konfiguration koennen fuer den 1. Test erstmal
      unveraendert bleiben.

  7. Die Logbook-Datei die ueber Email gesendet wurde, kann ueber die Programm-Funktion
     des Email-Programmes lokal als Textdatei gespeichert werden.


B: Logbookversand ueber Email ist deaktiviert

   1. Konfiguration der Datei »inc_logbook.php« anpassen
      [...]
      $logbook_email_send_enable=0;
      [...]

      Die anderen Werte der Konfiguration koennen fuer den 1. Test erstmal
      unveraendert bleiben.

   2. Bei deaktivierten Logbookversand ueber Email koennen die Archivdateien des
      des Logbooks im Verzeichnis ./txt heruntergeladen werden und geloescht
      werden. Die aktuelle Logbook-Datei (logbook.txt) sollte im Regelfall nicht
      geloescht werden.

      Syntax der Archivdatei: d-m-Y_H-i-s_logbook.txt
      Beispiel: 12-10-2020_14-23-11_logbook.txt
      Download-Protokolle: FTP, SFTP oder SSH

      HINWEIS: Bei deaktivierten Logbookversand ueber Email sollte die maximale
      Anzahl der Logbook-Eintraege erhoeht werden ($logbook_maximal_line=10000;),
      da sonst die Anzahl der Archivdateien sehr schnell ansteigen kann. Dazu
      tragen im erheblichen Umfang die Suchmaschinenrobots bei.


C: Konvertierung der Textkodierung (Charset)

   Verwendet der PHP-Server eine andere Textkodierung als der lokale Rechner auf
   dem das PHP-Skript erstellt und bearbeitet wurde, so kann es vorkommen das einige
   Zeichen nicht korrekt dargestellt werden.

   In diesem Fall sollte die Textkodierung der PHP-Skripte konvertiert werden. Fuer
   die Konvertierung kann entweder die entsprechende Funktion des HTML- oder PHP-Editors
   verwendet werden oder ein geeignetes Terminalprogramm (Linux: recode).

   Beispiel: Konvertierung von UTF-8 zu ISO-8859-1
   file -i inc_logbook.php
   recode UTF­8..ISO-­8859-­1 ./inc_logbook.php

   Recode kodiert die benannte PHP-Datei von UTF-­8 nach ISO-­8859-­1 (LATIN1).

   HINWEIS: Diese Befehle mit denselben Kodierungen nicht mehrmals auf die gleiche
   Datei anwenden -­ d.h. LATIN1..UTF­8 und danach nicht noch einmal LATIN1..UTF­8.

   Werden in den PHP-Skripten die ASCII-Zeichen 32 bis 126 verwendet, so kann die
   Konvertierung entfallen. Da die ASCII-Zeichen 32 bis 126 von jedem Charset
   unterstuetzt werden.

   Einige ASCII-Zeichen:
   englisches Alphabet: 0-9a-zA-Z(einschlieszlich des Leerschritts, Leerzeichen)
   <>=_$-.?!"/|\'%+*^()[]{};#,&@:

   ASCII ... American Standard Code for Information Interchange


D: Hinweise fuer Windows-Benutzer

   Werden die gesendeten Logbooks oder heruntergeladenen Archivdateien mit
   Windows-Betriebssystemen ausgewertet, so ist das PHP-Skript »inc_logbook.php«
   anzupassen.

   Mit der Suchen/Ersetzen-Funktion eines Texteditors ist das Linux/Unix-Zeichen
   fuer das Zeilenende (\n) in das Windows-Zeichen fuer das Zeilenende (\r\n)
   abzuaendern (siehe weiter unten: HINWEISE: PHP-SKRIPTE).

=================================================================================

HINWEISE: PHP-SKRIPTE

ACHTUNG: Die PHP-Skripte wurden unter Linux erstellt und sollten i.d.R. auch nur
unter Linux-Systeme ausgefuehrt, bearbeitet und gespeichert werden. Die meisten
Webhoster benutzen aus Kosten- und Stabilitaetsgruenden meist sowieso nur
Linuxsysteme fur ihre Server.

Andere Betriebssysteme benutzen fuer das Zeilenende ein anderes NICHT sichtbares
Steuerzeichen (Linux \n; MAC \r; Windows \r\n), d.h. wird die nicht linuxkonforme
Ansicht - z.B. unter Windows - mit dem Standard-Editor bearbeitet und gespeichert;
so werden die PHP-Skripte unter Umstaenden unbrauchbar. Diese nicht linuxkonforme
Darstellung erkennt man daran, dass der gesamte Text in einer einzigen Zeile
dargestellt wird.

LOESUNG: HTML- oder PHP-Editoren stellen i.d.R. auch unter anderen Betriebssystemen
die Zeilenumbrueche korrekt dar.

Die Dateien verwenden die UTF-8 Textkodierung. Falls Probleme auftauchen, so
sollten Sie sich mit der Konvertierung von Textkodierungen beschaeftigen.

Die PHP-Skripte funktionieren nur mit PHP 4.x oder hoeher fuer Linux (sogenannte
LAMP-Systeme: L ... Linux, A ... Apache-Webserver, M ... MySQL-Datenbank,
P ... PHP), da PHP fuer Windows einige hier verwendete Befehle und Funktionen nicht
unterstuetzt (z.B. unlink, chmod etc.).

Aus diesen Gruenden sollten Sie bei Experimenten unter Linux und anderen
Betriebssystemen - aus was fuer Gruende auch immer - nur die Kopien der
PHP-Skripte verwenden.

=================================================================================
Viel Spaß!

