PN-Installation

  1. Was ist das PN
  2. Dateien für PN
  3. Reihenfolge der Installation
  4. Installation
  5. PN entfernen
  6. PN-Elemente auf anderen Seiten einbauen
  7. PHP-Tuning
  8. Tipps und Tricks

  1. Was ist das PN

    Dies und die Bedienung ist in 'pn.htm' beschrieben, welche ebenfalls mit 'pn.php' im StammOrdner der ZIP-Datei liegt. Diese beiden Dateien können auch auf Deinem Homepage-Platz als Bedienung für die ForenNutzer bereitgestellt werden, ggf. vorher noch etwas an die eigenen Bedürfnisse anpassen.
    Falls Du Regeln für die Nachrichten festlegen möchtest, ist diese Bedienungsseite auch idealer Anlaufpunkt, diese Nutzerregeln dazuzuschreiben.
     
  2. Dateien für PN

    pn.htmBedienung von PN
    pn.phpZusatz zu pn.htm
    pn.csseine Vorlage mit Class-Attributen in PN
    pninstall.htmdiese InstallationsBeschreibung
    im CGI-Ordner (HTM-Dateien in Templates)
    pn.cgiHauptprogramm zum Schreiben von PN
    pna.cgiArbeitsprogramm zum Archivieren und Löschen
    pns.cgiSuchprogramm für Nachrichten
    pnlib.plfür PN-Textvorbelegungen
    forum-lib.plfür PN abgestimmte Routinen
    forum.cgifür PN abgestimmtes Verlinken in Beiträgen
    forumedit.cgienthält ForumEinstellungen
    stammmeld.cgienthält Funktion zum Erhalt von StammposterAnträgen per PN
    lastmessage.cgi *Letzten 3 Forenbeiträge und Letzte Forenmaster-PN-Nummer
    zentral.htmmit Schaltfläche für PN-Beschriftungen/Einstellungen
    pne.htmEinstellungs-Template für PN
    pna.htmweiteres Einstellungs-Template
    kontakt.htmEinstellungs-Template für Kontaktseite
    stamm.htmEinstellungs-Template für Stammposter (neue Anträge)
     
  3. Reihenfolge der Installation

    Bevor Du alles installierst und einstellst, prüfe, ob Dein Webspeicherplatz mit ".htaccess-Dateien" funktioniert, da es Server gibt, die keine Unterstützung vorsehen. Im Negativfall hilft Dir der Support Deines Webspeicherplatzes bei dieser Kleinigkeit.
    Lade zu dieser Prüfung vorerst nur 'pn.cgi' und 'pnlib.pl' in den Programmordner und gib 'pn.cgi' Ausführungsrechte (chmod 755). Starte per Browser die 'pn.cgi', wenn das Forum eine Nummer/Bezeichnung (88) hat, mit Angabe der ForumNummer, also pn.cgi?Nummer=88
    Auf diese Weise wird auch der PN-Ordner "/forum(NUMMER)/pn" angelegt.
    Lege anschließend einen ersten eigenen Empfänger an, indem Du Dir selbst eine Nachricht schickst. Hierbei wirst Du zum Anlegen der "Passwort-Dateien" gebeten, welche dann auch den Login ermöglichen. Gelingt der Login mit dem angelegten Benutzerdaten, unterstützt Dein Server die ".ht-Dateien" richtig. Nun können alle anderen Dateien installiert und PN eingerichtet werden.
     
  4. Installation

    Lade alle Programm- und Template-Dateien in den entsprechenden CGI-Ordner und gebe den neuen CGI-Dateien (pn*.cgi) Ausführrechte (chmod 755). Die Rechte können auch mit 'chmod.htm' oder 'chmod.php' gesetzt werden, welche sicher im Forenordner liegt, auch wenn die neuen Dateien noch nicht darin gelistet werden.
    Lege Dir Deinen ersten Empfänger-Alias (wie bereits oben beschrieben) an und teste selbst die Funktionen in einem TestPosting.
    Logge Dich in die Forenverwaltung ein, rechts unten bei Texten kannst Du nun vom Forum-Schreibprogramm abweichende Beschriftungen vergeben sowie eine ganze Reihe für die PN-Nutzung einstellen. Falls Du weitere Einstellungsmöglichkeiten suchst, teile mir diese für ein künftiges Update mit.
    Im PN-Ordner liegt nach der Ersteinrichtung auch eine Vorlage einer 'robots.txt', deren Inhalt sollte angepasst im Stammordner liegen, um Suchmaschinen von diesem PN-Ordner fernzuhalten. Füge den Inhalt in die 'robots.txt' des Stammordners hinzu, wenn bereits eine eigene existiert oder schiebe mindestens die Vorlage in den StammOrdner, wenn noch keine eigene 'robots.txt' vorhanden ist. Bei Nutzung anderer Domains, welche direkt auf den ForenOrdner zugreift, sollte auch eine angepasste 'robots.txt' im Forenordner liegen.
     
  5. PN entfernen

    Falls Du den PN-Dienst nicht mehr zum Forum bereitstellen möchtest, genügt das Löschen der 'pn*.cgi-Dateien' und des 'pn-Ordners'. Alle weiteren Programm- und Template-Dateien müssen nicht getauscht werden, da die Anfragen an diese Dateien von 'PN' nicht mehr kommen und andere Funktionen nicht behindern. Lediglich in der Forenverwaltung sollte in der Kontaktseite wieder eine andere Kontaktvariante eingestellt werden.
    Auch im Data-Ordner können alle als PN erkennbare Dateien gelöscht werden.
    PN-Nutzer löschen ihre Nachrichten und Archiv-Ordner von ihrem Account, beim Löschen des Account werden alle persönlichen Zusatzdateien ebenfalls entfernt.
    Die Zählerdatei, welche sofort beim Anlegen eines Empfängers erzeugt wird, löscht sich nach drei Tagen, wenn der Empfänger sich in der Zeit nicht vollständig den Account einrichtet.
    Was bleibt übrig, wenn alle Nutzer im PN-Ordner gelöscht wurden? In diesem Fall bleibt eine recht leere 'index.htm' und die 'pnadressen.js' (leeres Adressbuch) übrig. Auch die PN-Log-Datei bleibt noch 100 Tage liegen und würde bei erneutem Schreiben einer Nachricht nach 100 Tagen neu beginnen.
     
  6. PN-Elemente auf anderen Seiten einbauen

    Du kannst einfache Links oder Formularelemente im Forum oder anderen Webseiten einbauen, welche zum PN-Bereich führen. Es funktionieren jedoch nur Teile zu 'pn.cgi', nicht zur Arbeits- oder Such-Datei für PN.
    Im Normalfall genügt ein Link auf die Startdatei im PN-Ordner. Ein Formular kannst Du einbauen, wie es auf der Startseite des Posteinganges zu finden ist. Kopiere hierzu aus dem Quelltext alles zwischen <fieldset> und </fieldset> und lösche das komplette Feld 'pna' (Absender). Lediglich die Pfadangaben sind dann noch zu korrigieren, insbesondere dürfte dies im Scriptbereich die Pfadangabe zum Adressbuch betreffen.
    Für StammposterAnträge gibt es in der 'neuen' Foren-Stammposterverwaltung ein Feld zum fertigen Code herauskopieren.
    Pauschal spar ich mir jetzt mal die Erklärung zum Einbau von HTML-Code, falls wirklich Hilfe notwendig ist, frage in meinem Forum oder nutze die Dokumentation SELFHTML.
     
  7. PHP-Tuning

    Wer denkt, dass PHP-Unterstützung auch nur nutzen kann, wenn die Dateiendung der Webseite 'php' ist, hat sich bisher vieles Nützliche entgehen lassen. Es funktioniert alles auch mit anderen Dateiendungen wie 'htm'.
    Warum schreibe ich das hier? Da ich die PHP-Unterstützung auch im Forum schon ewig nutze und auch eine Einstellungsmöglichkeit hierzu in der Forenverwaltung eingebaut habe, erstrangig um die Seiten gezippt zum Browser zu senden. Bei manchmal recht großen oder vielen Seiten ist der Traffic so erheblich reduziert, welcher zwischen Browser und Server gezippt ausgetauscht wird.
    Es ist nur eine Kleinigkeit nötig, welche mit einer kleinen ".htaccess" machbar ist, um auch die HTM-Seiten eines Forums PHP-fähig zu machen und somit sämtlichen Traffic schnell reduziert. Und wenn ich nun mit PN dafür sorge, dass zusätzliche HTM-Seiten produziert werden und am Traffic-Zähler des Webhosters vorbeihuschen, macht diese PHP-Zippung doppelt Sinn. Übrigens gibt es nur noch wenige alte Browser, die dem Server mitteilen 'ich kann keine gezippte Seite lesen'. Das macht gar nichts, dann bekommt dieser eine Besucher die Seite automatisch ungezippt ausgeliefert, dafür muss er ein wenig länger warten, bis es durch die Leitung gequetscht ist ;-)
    Wie teile ich dem Server mit, dass er HTM-Seiten mit PHP komprimieren soll? Gehe zuerst in die Forenverwaltung und schreibe in der PHP-Unterstützung die Zeile <?php ob_start("ob_gzhandler") ?> in das vorgesehene Feld. Im nächsten geschriebenen Beitrag des Forum oder Nachricht des PN-Bereich findest Du diese Zeile im Quelltext gleich am Anfang wieder, wenn noch keine HTM-Datei vom Server geparst wird.

    Hier zuerst die Big-Version, welche für den gesamten Server gilt:
    In der Server-Konfigdatei "/etc/httpd/httpd.conf" muss die Dateiendungen '.htm' und '.html' hinzugefügt werden, wenn es auf dem gesamten Server funktionieren soll.
    <IfModule mod_php4.c>
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php .htm
    AddType application/x-httpd-php .html

    AddType application/x-httpd-php .php3
    AddType application/x-httpd-php .php4
    AddType application/x-httpd-php-source .phps
    </IfModule>
    Hier ist auch ein Server-Restart nötig.
    Oder wenn es nur auf einem Speicherplatz oder bestimmten Unterordner wirksam werden soll, genügt eine Zeile in der Datei ".htaccess" (möglichst im Stammordner)
    AddType x-mapp-php4 .php .htm .html

    In dem vorher geschriebenen Beitrag oder Nachricht sollte nun nach einem Refresh der Seite der PHP-Code nicht mehr im Quelltext zu finden sein, da nun die Seite geparst wurde und auch schneller geladen wurde, oder?
    Wenn dies alles jetzt einfach klappt, sollte die PHP-Unterstützung für die große Indexseite des Forums auch aktiviert werden. Der gz-Befehl muss im Header ganz vorn platziert werden, vor den Meta-Dingern und den 'möglichen' Style-Schütts, da es anders für diese Seite noch nicht im Foren-Programm vorgesehen ist. In PHP-Seiten, welche den Befehl auch unterstützen und bereits im Forum herumliegen, ist dies schon von vornherein enthalten und muss nirgends ergänzt werden.
     

  8. Tipps und Tricks

    Folgen auch schrittweise.
     
* Sobald die erste Nachricht im ForenMaster-Postfach eingeht, wird mit 'lastmessages.cgi' ein Link mit Anzeige der letzten Nachrichtennummer eingelesen.

Viel Spaß mit dem neuen Programm, weitere Fragen und Anregungen bitte in dieses PN-Fach oder dem zugehörigen Forum.
Thomas Herfort