PHPNuke Dokumentation Version 1.2
Transcription
PHPNuke Dokumentation Version 1.2
PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 1/124 PHPNuke Dokumentation Version 1.2 PHPNuke Documentation Project (G) Frei verfügbares Projekt Homepage : http://www.phpnuke-book.com Version 1.2 Autor & Copyright : Jens Ferner PHPNuke ist ein freies Webportal System, basierend auf PHP. Die Homepage zum PHPNuke Projekt findet sich unter www.phpnuke.org, die deutsche Anlaufstelle unter www.phpnuke.de Diese Dokumentation zu PHPNuke 6.5 soll der deutschen PHPNuke Gemeinde eine Hilfe sein und Anfängern den Einstieg erleichtern. Diese Dokumentation ist ein Vorgeschmack auf das PHPNuke Buch von Jens Ferner, das 2003 im Programm des Vieweg Verlages erscheinen wird Copyright © Jens Ferner, http://www.2f-promoting.com kontakt at 2f-promoting dot com Impressum unter http://www.2f-promoting.com/intern/impressum.htm Weitere Informationen über diese Dokumentation in Kapitel 1, IV. PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 2/124 Inhaltsverzeichnis Teil 1 : Die Kapitel Inhaltsverzeichnis...............................................................................2 Kapitel 1 : Einleitung ..........................................................................8 Kapitel 2 : Installation .......................................................................14 Kapitel 3 : Administration..................................................................26 Kapitel 4 : Personalisieren................................................................78 Kapitel 5 : Die Funktionen ................................................................84 Kapitel 6 : Module ............................................................................89 Kapitel 7 : Sicherheit in PHPNuke....................................................89 Kapitel 8 : PHPNuke im Netz ...........................................................89 Kapitel 9 : PHPMyAdmin ..................................................................89 Kapitel 10 : Kleine FAQ ....................................................................89 Kapitel 11 : Impressum.....................................................................89 Kapitel 12 : Stichwörter ....................................................................89 Teil 2 : Detailliertes Inhaltsverzeichnis Inhaltsverzeichnis...............................................................................2 Kapitel 1 : Einleitung ..........................................................................8 I. Was ist PHPNuke ? .....................................................................8 II. Was genau ist das besondere an PHPNuke? ............................8 III. Was benötigt man für den Einsatz von PHPNuke ? ..................9 IV. Nuke Systeme und Spinn Offs ................................................10 V. Die Nuke Versionen .................................................................11 VI. Über dieses Projekt .................................................................12 Kapitel 2 : Installation .......................................................................14 I. Vorbereitung ..............................................................................14 II. Konfigurieren ............................................................................14 III. Hochladen ...............................................................................15 PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 3/124 IV. CHMOD...................................................................................16 V. Datenbank ................................................................................17 VI. Die Sache mit dem Prefix........................................................18 VII. Sprachdatei installieren ..........................................................20 VIII. Der erste Aufruf des Portals ..................................................21 IX. Allgemeines zum Aufbau einer PHPNuke Seite......................24 X. Die Ansteuerung der Datenbank ..............................................24 Kapitel 3 : Administration..................................................................26 I. Neuer Artikel ..............................................................................26 II. Backup DB................................................................................31 III. Banner .....................................................................................31 a) Kunden anlegen....................................................................32 b) Banner erstellen....................................................................33 c) Die Übersicht ........................................................................33 d) Der Kundenlogin ...................................................................34 e) Fehlerquellen ........................................................................35 f) Alternative Bannersysteme ....................................................36 IV. Blöcke .....................................................................................36 a) Systemblöcke .......................................................................39 b) Benutzerdefinierte Blöcke .....................................................40 c) Funktionsblöcke ....................................................................41 d) Headlines ..............................................................................45 V. Content Manager......................................................................47 VI. Downloads ..............................................................................49 VII. Administratoren ......................................................................53 VIII. Benutzer................................................................................54 IX. Enzyklopädie ...........................................................................54 X. Tagesmotto ..............................................................................56 XI. FAQ.........................................................................................57 XII. Forum.....................................................................................58 a) Forum Manager ....................................................................58 b) Ranks....................................................................................59 PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 4/124 c) Config....................................................................................60 d) Icons .....................................................................................61 e) Censur ..................................................................................62 f) Ban System ...........................................................................62 XIII. HTTP-Referer........................................................................62 XIV. Mitteilungen ..........................................................................63 XV. Modules .................................................................................65 XVI. Newsletter .............................................................................66 XVII. Optimize DB.........................................................................67 XVIII. Einstellungen ......................................................................68 a) Allgemeine Informationen über die Website .........................68 b) Mehrsprachige Optionen.......................................................69 c) Banner Optionen ...................................................................70 d) Fußzeilen ..............................................................................70 e) Backend – Konfiguration.......................................................70 f) Neue Artikel an Administrator senden ...................................70 g) Moderation der Kommentare ................................................70 h) Optionen der Kommentare....................................................71 i) Einstellungen zu den Grafiken ...............................................71 j) Sonstiges ...............................................................................71 k) Zensuroption .........................................................................72 l) Benutzeroptionen ...................................................................72 m) Webmail – Optionen ............................................................72 XIX. Testberichte ..........................................................................73 XX. Spezial – Bereiche .................................................................73 XXI. Artikel....................................................................................74 XXII. Umfragen .............................................................................75 XXIII. Themen...............................................................................75 XXIV. Links ...................................................................................76 XXV. Abmelden ............................................................................77 Kapitel 4 : Personalisieren................................................................78 I. Themes......................................................................................78 PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 5/124 II. Themes anpassen ....................................................................78 III. Die Menüs ...............................................................................80 IV. Eigene Seiten hinzufügen .......................................................80 V. Benutzer – Prüfung ..................................................................81 VI. Headlines in eigene Seiten einbinden .....................................82 VII. Woher bekomme ich Headlines? ...........................................83 Kapitel 5 : Die Funktionen ................................................................84 I. Der Artikel..................................................................................84 II. Kommentare .............................................................................87 III. Die Testberichte.......................................................................89 IV. Die Suche................................................................................89 V. Downloads ...............................................................................89 VI. Die Statistiken .........................................................................89 VII. Inhalt ......................................................................................89 VIII. Extrabereiche ........................................................................89 IX. FAQ.........................................................................................89 X. Die backend.php ......................................................................89 XI. Benutzerfunktionalität..............................................................89 Kapitel 6 : Module ............................................................................89 I. Was sind Module .......................................................................89 II. Programmierung eigener Admin-Module..................................89 III. Die Verzeichnisse ....................................................................89 IV. Die Verzeichnisse : „links“ .......................................................89 V. Die Verzeichnisse : „case“........................................................89 VI. Die Verzeichnisse : „modules“.................................................89 Kapitel 7 : Sicherheit in PHPNuke....................................................89 I. Neu : Das Admin-Menü .............................................................89 II. Die Sache mit den Skripten ......................................................89 III. Das Auslesen der Daten..........................................................89 IV. Kopieren der config.php ..........................................................89 V. Zugriff auf die Variablen ...........................................................89 VI. Die Daten erhalten ..................................................................89 PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 6/124 VII. Die Sache mit dem CHMOD ..................................................89 VIII. SQL Injection.........................................................................89 IX. Schmuggeln von Code ............................................................89 X. Hilfe!? .......................................................................................89 Kapitel 8 : PHPNuke im Netz ...........................................................89 Kapitel 9 : PHPMyAdmin ..................................................................89 Kapitel 10 : Kleine FAQ ....................................................................89 I. Installation & erstes Testen .......................................................89 a) Wie installiere ich PHPNuke ? ..............................................89 b) Was benötige ich für PHPNuke ? .........................................89 c) Wie viel Platz benötigt PHPNuke ? .......................................89 d) Wie installiere ich PHPNuke unter einem Windows-System? ..................................................................................................89 e) Ist PHPNuke frei verfügbar ? ................................................89 f) Darf ich PHPNuke verkaufen .................................................89 g) Wie entferne ich die Copyright Zeile .....................................89 h) Kann ich mehrere PHPNuke Seiten mit einer Datenbank einrichten? ................................................................................89 i) Warum erhalte ich beim ersten Laden eine Fehlermeldung und ist kein Design zu sehen ? ........................................................89 j) Ich bekomme immer die Fehlermeldung „crypt() not supported“! ................................................................................89 k) Wie kann ich eigene Seiten hinzufügen ? .............................89 l) Wie kann ich prüfen, ob es sich um einen registrierten Benutzer handelt? .....................................................................89 m) Warum erhalte ich beim Speichern meiner Einstellungen nur Fehlermeldungen ? ...................................................................89 n) Ich habe meinen Superadmin gelöscht, bzw. die Rechte aberkannt. Was nun ? ...............................................................89 o) (Wie) werden eigene Seiten von der Statistik Funktion erfasst ? Siehe Kapitel 5 .......................................................................89 II. Verwaltung der Seiten ..............................................................89 PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 7/124 III. Module / AddOns & Updates hinzufügen.................................89 a) Wie installiere ich ein Modul ? ..............................................89 b) Ich möchte nicht, dass Module unter „Andere Optionen aufgeführt werden“! ...................................................................89 c) Wozu ist die Datei backend.php............................................89 d) Warum werden meine Banner nicht angezeigt? ...................89 IV. Fehler in Nuke .........................................................................89 a) Was wenn ich einen Fehler (Bug) in PHPNuke gefunden habe und die Lösung suche? .............................................................89 b) Wie gehe ich am besten vor, wenn ich zu einem neuen Fehler die Lösung habe? .....................................................................89 Kapitel 11 : Impressum.....................................................................89 Kapitel 12 : Stichwörter ....................................................................89 PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 8/124 Kapitel 1 : Einleitung I. Was ist PHPNuke ? PHPNuke ist ein Web – Portal System. Das bedeutet, es stellt ein fertiges System zur Verfügung, das der Anwender im Idealfall lediglich kopieren und ein wenig konfigurieren muss, um eine eigene, professionelle Homepage anzubieten. Durch das eingebaute Artikel – System ermöglicht PHPNuke vor allem den Projekten eine Verwirklichung, bei denen mehrere Personen auf der Homepage Artikel schreiben bzw. Verfassen sollen – ohne jedoch die Seite als solche editieren zu müssen. Auch die eigentliche Verwaltung der Seite, das bedeutet das System und das äußere Erscheinungsbild, kann bequem über die Homepage erfolgen – ohne dass die Seite umprogrammiert werden muss. Zudem ist PHPNuke ein frei verfügbares System, veröffentlicht unter der GPL. Es darf von jedem eingesetzt werden, gleich ob kommerziell, privat oder gemeinnützig. Durch den frei verfügbaren Code und die täglich wachsende Gemeinde an PHPNuke Nutzern werden täglich neue Funktionen zu diesem System verfügbar, die teilweise simpel zu dem bestehenden System hinzugefügt werden können. II. Was genau ist das besondere an PHPNuke? Einmal installiert, ist es als Redaktionssystem gedacht. Das bedeutet, jeder eingerichtete Administrator kann Artikel wie in einer Textverarbeitung schreiben und diese auf der Seite veröffentlichen. Es muss nicht wie in einer HTML Seite der Inhalt noch extra eingebaut werden, die Artikel werden gespeichert und von dem System selbstständig abgerufen. Es können somit nicht nur mehrere Personen gemeinsam eine solche Seite betreuen, sondern es müssen noch nicht mal Kenntnisse von HTML vorliegen. Auch muss PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 9/124 kein Zugriff per FTP für jeden Benutzer bestehen, da die Inhalte über das Web eingepflegt werden. Jedem Administrator können dabei genau definierte Rechte gegeben werden. Weiterhin können in Form von Modulen die vorhanden Funktionen von PHPNuke nahezu kinderleicht erweitert werden. Meistens muss man nur die neuen Dateien kopieren und schon erhält man großartige weitere Funktionen wie Gelbe Seiten, Kleinanzeigenmarkt, Feedbackformular usw. Häufig müssen keine tiefergehenden Programmierkenntnisse in PHP vorhanden sein, um sein eigenes Portal zu personalisieren und zu erweitern. Wer Erfahrungen mit PHP hat, kann mit ein wenig Verständnis ein PHPNuke Portal auf seine eigenen Bedürfnisse umschreiben. III. Was benötigt man für den Einsatz von PHPNuke ? PHPNuke basiert auf einer Datenbank und der Skriptsprache PHP. Wenn es auf einem Webserver zum Einsatz kommen soll, muss dieser somit über eine Datenbankanbindung und PHP Unterstützung verfügen. Empfehlenswert ist eine mySQl Datenbank, diese ist jedoch keinesfalls zwingend. Als Datenbanken werden von PHPNuke unterstützt: MySQL, mSQL, PostgreSQL, PostgreSQL_local, ODBC, ODBC_Adabas, Interbase und Sybase. Das System selber benötigt nicht sehr viel Speicherplatz, es reichen zumeist 5 – 10 MB vorhandener Platz aus – die meisten Provider bieten inzwischen standardmäßig 20MB oder 50MB an, das wird problemlos reichen. Die Dateien selber sind gerade mal 5MB groß, lediglich die Datenbank wird immer größer. Um die Seiten aufspielen zu können, muss man einen FTP Zugriff auf seinen Webserver haben. Zusätzlich sollte man in irgendeiner Form (Telnet, phpmyadmin) auf die eigene Datenbank zugreifen können. PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 10/124 Wer das System erst mal testen möchte, wird zuhause einen eigenen Server benötigen. Hierzu gibt es verschiedene Lösungen, wer einen Linux Rechner hat, wird in der Regel bereits einen laufenden Apache Server haben. Lösungen für Windows® stellen PHPTriad und FoxServ dar. Beide sind selbstinstallierende „OneClick-Archive“, die unter einem Windows® System einen Apache Server mit PHP4 und mySQL installieren. Die Projekte werden bei www.sourceforge.net geführt, direkte Downloads und mehr Erläuterungen zu diesem Thema gibt es natürlich bei www.netzid.de/artikel54.html IV. Nuke Systeme und Spinn Offs Vielleicht kennen Sie sie schon: Die Nuke Spinn Offs oder Splitt Offs. Es handelt sich um Systeme, die einmal eine PHPNuke Version als Ausgangspunkt genutzt und darauf basierend ein eigenes System gegründet haben. An dieser Stelle erfolgt keine wertende Aufstellung, dies hätte wenig Sinn. Nur ein kurzer Überblick, damit Sie die Namen kennen: PostNuke ist das jüngste und inzwischen sicher auch erfolgreichste Projekt in diesem Zusammenhang. Viele ziehen PostNuke PHPNuke inzwischen vor. Sie finden das Projekt unter www.postnuke.com Ein anderes bekanntes Projekt ist myPHPNuke, dass Sie unter www.mynuke.de finden. Der Ursprung von PHPNuke ist Thatware das sich unter www.thatware.org findet. Eine Reihe von CMS, die auf PHP basieren (und frei zur Verfügung stehen) finden Sie unter www.php-cms.com im Überblick. Die Seite wird ständig von 2F gepflegt und ist relativ aktuell Lassen Sie sich hiervon nicht verwirren. Testen und nutzen Sie PHPNuke. Sollten Sie der Meinung sein, dass PHPNuke PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 11/124 grundsätzlich gut ist, aber doch einiges anders sein müsste, testen Sie die anderen Projekte. Wenn Sie mit PHPNuke zufrieden sind und lediglich einige Funktionen vermissen kommt Ihnen das Modul System (dazu unten mehr) entgegen. Sie können sich fehlende Module auch von Unternehmen programmieren lassen. V. Die Nuke Versionen Es gibt viele verschiedene Versionen von PHPNuke. Anders als aber der normale Nutzer glaubt ist die neueste nicht auch gleich die beste Version. Die erste wirklich ausgereifte Version war die 4.4.1a; Hierfür finden Sie auch bereits sehr viele Downloads und unsere Dokumentation gibt es auch für diese Version. Das System ist –aufgrund seiner Struktur- etwas schneller und vor allem wegen des fehlenden Modulsystems auch sehr leicht anzupassen. Das System ist noch „relativ“ schlank. Das bedeutet aber nicht, dass Ab der Version 5 das PHPNuke System aufgebläht ist. Durch ein Kensequentes Aufräumen der Systemdateien hat 2F PHPNuke 5 auf ein minimales Paket von nur wenigen Dateien beschränkt. Es gibt in meinen Augen keinen Grund, die Version 4 noch einzusetzen. Die Version 5 in PHPNuke kannte die wichtigsten Neuerungen: Blöcke und Module. In der Version 5.5 wurde die Modularisierung endgültig vollständig umgesetzt. Das PHPNuke 5.5 System verfügt über einen weit fortgeschrittenen Code, ist strukturiert und leicht anzupassen. Außerdem gibt es keine Beschränkungen bezüglich der Veränderung – hier kann die Copyright Zeile noch entfernt werden. Seit PHPNuke 5.6 hat sich (leider) nur wenig im Code getan. Die Versionen 5.5, 5.6, 6.0 und 6.5 sind praktisch Baugleich. Der Programmierer von PHPNuke hat sich scheinbar darauf festgelegt, mehr „Features“ einzubauen anstatt den Code weiter zu entwickeln. PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 12/124 Außerdem wird hier die Copyright Zeile geschützt, sie darf nicht mehr entfernt werden. Gerade das macht das System seit der Version 5.6 für Web Agenturen und kommerzielle Einsatzgebiete sehr unattraktiv. Generell kann ich empfehlen die Version 5.5 einzusetzen. Es gibt meiner Meinung nach keinen Grund die 5.6 oder folgende Versionen im Einsatz zu haben. Gerade Web Agenturen sollten auf die Version 5.5 setzen und werden damit wohl auch sehr zufrieden sein. Insbesondere das Artikelsystem –wohl der Hauptgrund für ein CMS wie PHPNuke- hat sich seit der Version 5.0 nicht mehr weiterentwickelt. VI. Über dieses Projekt Bisher sind Dokumentationen zu PHPNuke nur in geringer und auf Deutsch nur in eher mäßiger Qualität zu finden. Dieses Projekt versucht eine Dokumentation der Installation und der Bedienung des PHPNuke Systems zu erreichen und dabei den sich fast täglich ändernden Bedingungen gerecht zu werden. Bei dieser Dokumentation handelt es sich um einen Bestandteil des PHPNuke Buches, das 2003 im Vieweg Verlag (Autor: Jens Ferner) erscheinen wird. Während es hier um eher allgemeine Einführungen und Erläuterungen geht, wendet sich das PHPNuke Buch an Webagenturen und professionelle Anwender die sich den Themen fortgeschrittener Anwendung widmen und vor allem eine vollständige interne Funktionsreferenz suchen. Informationen zum PHPNuke Buch laufend unter http://www.phpnuke-book.com Diese Datei ist und bleibt geistiges Eigentum von Jens Ferner (2F Promoting & Consulting; http://www.2f-promoting.com). Ein Verbreiten dieser Datei ist dennoch erlaubt und auch erwünscht. Ein kommerzieller Nachdruck durch Dritte ohne vorherige Genehmigung, PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 13/124 etwa als Buch zum Verkaufszweck, ist nicht gewünscht und ausdrücklich untersagt ! Es ist somit erlaubt, diese Dokumentations-Datei an andere weiterzureichen oder auf der eigenen Seite zum Download anzubieten. Ausgenommen hiervon sind Internetseiten, die anstößige oder strafrechtlich bedenkliche Inhalte bereithalten. Diese Dokumentation ist nicht über solche Seiten zu verbreiten. Auch muss diese Datei frei verfügbar sein, sie darf nicht nur registrierten Benutzern als Download angeboten werden, sondern muss jedem frei zur Verfügung stehen! Wer einen Verstoß hiergegen entdeckt möchte bitte eine Mail an dokumentationen at 2F-Promoting dot com senden! Diese PHPNuke Dokumentation ist frei verfügbar unter www.phpnuke-book.com und es wird regelmäßig ein Update geben. Unter www.nukeforums.de steht auch ein Forum zur Verfügung, in dem Vorschläge für Kapitel und häufige Fragen gepostet werden können. Sollte ein Thema fehlen, bitte dort posten und es wird bei der Bearbeitung des Projektes beachtet. In nächster Zeit werden weitere Werke zu PHPNuke folgen, aktuelle Informationen immer auf der Homepage. Dieses Werk wird durch deutsches und internationales Urheberrecht geschützt. Der Autor des Werkes lässt sich durch die Anwaltskanzlei Ferner & Kollegen (www.ferner.de) vertreten und wird jeden, wie auch immer gearteten Urheberrechtsverstoß international mit rechtlichen Schritten und insbesondere Schadenersatzforderungen ahnden! Ein Nachdruck, in welcher Form auch immer, wird unter keinen Umständen geduldet. PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 14/124 Kapitel 2 : Installation I. Vorbereitung Als erstes muss man sich die Codes zum Installieren besorgen. Die jeweils aktuelle Version gibt es unter www.phpnuke.org oder bei www.nukedownloads.org II. Konfigurieren Nach dem Kopieren der Datei muss diese in ein Verzeichnis auf der Festplatte entpackt werden. Beigelegt zum Download sind diverse Dokumentationen im TXT Format, diese sind problemlos als Installationshilfe nutzbar. Im Verzeichnis „html“ befinden sich die PHPNuke Dateien. Als erstes muss in der config.php im oberen Teil der Datei etwas nachgetragen werden : Die Datenbank Konfiguration. Der obere Teil der config.php sieht folgendermaßen aus : ############################################################# # Database & System Config # # dbhost: SQL Database Hostname # dbuname: SQL Username # dbpass: SQL Password # dbname: SQL Database Name # $prefix: Your Database table's prefix # $user_prefix: Your Users' Database table's prefix (To share it) # $dbtype: Your Database Server type. Supported servers are: # MySQL, mysql4, postgres, mssql, oracle, msaccess, # db2 and mssql-odbc # Be sure to write it exactly as above, case SeNsItIvE! # $sitekey: Security Key. CHANGE it to whatever you want, as long # as you want. Just don't use quotes. ############################################################# $dbhost = "localhost"; $dbuname = "root"; $dbpass = ""; $dbname = "nuke"; PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 15/124 $prefix = "nuke"; $user_prefix = "nuke"; $dbtype = "MySQL"; $sitekey = "SdFk*fa28367-dm56w69.3a2fDS+e9"; Hinter die jeweilige Variable muss nun der entsprechende Wert eingetragen werden. Dabei muss hinter $dbhost der Name des Datenbankservers, hinter $dbuname der Name des Datenbankbenutzers und hinter $dbpass das Passwort des Datenbankbenutzers stehen – jeweils innerhalb der Anführungsstriche. Hinter $dbname muss der Name der Datenbank eingetragen werden. Als $dbtype geben Sie den Datenbanktyp an Hinweis : Wer bereits eine ältere PHPNuke Version genutzt hat, wird sich wundern, wo die $system Variable geblieben ist. Diese ist seit Nuke 5.4 nicht mehr nötig, da crypt() komplett von md5() abgelöst wurde, dass Windows® kompatibel ist. Ein Nachteil tritt allerdings im User Modul auf, wenn Emails versendet werden sollen, da mail() unter Windows für gewöhntlich nicht läuft. Wenn Sie das jetzt nicht verstanden haben, vergessen Sie diesen Absatz und lesen Sie einfach weiter. Die Zeile mit den beiden „Prefix“ und dem „user_prefix“ hat eine gesonderte Bedeutung, mehr dazu in VI: „Die Sache mit dem Prefix“ ab Seite 18! III. Hochladen Die Dateien im Verzeichnis HTML und alle Unterverzeichnisse müssen nun auf den Webserver hochgeladen werden. Optimal nutzt man hierfür das Root Verzeichnis – erfahrene Anwender können auch in ein Unterverzeichnis installieren. Seit der Version 5.0 sind die Pfade relativ eingebaut, es sollte somit kein Problem beim Installieren in ein Unterverzeichnis geben. Doch muss bedacht PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 16/124 werden, dass manche Modul-Programmierer hieran nicht denken. Wer nicht unbedingt muss, sollte einfach ins Root-Verzeichnis installieren. Hinweis: Man muss nicht das Verzeichnis als ‚HTML’ hochladen, so dass also die Seite später nicht unter www.meineseite.de/html/index.php liegen muss. IV. CHMOD Dieser Teil ist nicht ganz einfach; Unter Windows® kennt man keine besonderen Dateirechte – unter Unixsystemen ist das anders. Auf Ihrem Windows® Heimserver können Sie dieses Kapitel getrost überspringen. Sobald Sie auf einem Unix Rechner installieren –und Ihr Webserver ist sicher einer- müssen Sie sich damit aber auseinandersetzen. Unter Unix gibt es ein recht verzwicktes Rechtesystem für Dateien & Verzeichnisse. Es gibt bei Unix Rechnern zum einen Benutzer, die ausserdem jeweils einer bestimmten, fiktiven Gruppe zugeordnet sind. Ausserdem hat jede Datei Ihren speziellen „Eigentümer“. Für jede dieser Personen: „Alle Benutzer, Gruppe, Eigentümer“ kann man nun einzeln das Recht zum lesen, schreiben und ausführen (Verzeichnisse) einer Datei geben. Die Problematik kann man sich recht schnell klar machen: Legen Sie einmal auf Ihrem Server ein Verzeichnis /meintest/ an und setzen Sie dort als Rechte, dass nur der Eigentümer Lesen, Schreiben und Ausführen kann. Wenn Sie nun versuchen das Verzeichnis in Ihrem Browser aufzurufen, bekommen Sie ein „Verboten“ angezeigt. Sie müssen somit dafür Sorge tragen, dass wenigstens sämtliche Dateien lesbar sind – ein großes Problem sollte dies auch nicht PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 17/124 darstellen. Die Frage ist nur, welchen Dateien Sie welche Schreibrechte geben. Folgende Dateien werden auf jeden Fall regelmäßig mit Schreibrechten benötigt: - config.php - ultramode.txt - Das Verzeichnis /cache V. Datenbank Sofern noch nicht geschehen, muss die Datenbank angelegt werden. Hierfür sind leider die jeweiligen Dokumentationen der einzelnen Provider zurate zu ziehen. Meistens haben Sie bei Ihrem Provider ein Konfigurationsmenü, mit dem Sie die Datenbank ganz leicht anlegen können. Wenn Sie dies nicht finden, konsultieren Sie die jeweilige FAQ des Providers. In der Datenbank müssen nun die notwendigen Tabellen erstellt werden. Dies geht über die Datei „nuke.sql“ im Verzeichnis SQL. Bei den meisten Providern ist phpmyadmin als Interface installiert. Dieses bitte aufrufen und die gewünschte Datenbank im linken Teilfenster aussuchen. Es öffnet sich im rechten Teilfenster ein Menü. Direkt oben findet sich ein Feld : „mySQL Befehl ausführen“. Darunter ist ein anderes Feld „oder Datei“. Neben diesem Feld auf „Durchsuchen“ klicken und die Datei nuke.sql auf der Festplatte auswählen und auf OK klicken. Die nuke.sql Datei wird nun ausgeführt und die Tabellen angelegt. Hinweis: Am Ende dieser Dokumentation befindet sich eine genauere Anleitung, wie man mit PHPMyAdmin diese Datei einbindet! Mehr dazu ab Seite 89. Wenn Sie mehr über phpMyAdmin lesen möchten, finden Sie unter http://www.homepage-tutorials.de eine Sammlung von PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 18/124 Tutorials – dort ist auch eine Kurzanleitung mit den wichtigsten Funktionen und der Bedienung von phpMyAdmin Es geht natürlich auch ohne phpmyadmin, über eine Shell, wenn Sie diesen Zugriff haben. Dazu müssen Sie die nuke.sql auf Ihren Server kopieren. Lloggen Sie sich dann zum Beispiel per SSH oder TELNET ein. Der notwendige Shell Befehl zum ausführen der nuke.sql lautet: mysql Datenbankname < nuke.sql Nach dem Anlegen der Tabellen ist das Grundgerüst von PHPNuke fertig. Es kann nun die Seite aufgerufen werden. Über den Aufruf der Seite admin.php kommt man in das Administrator Menü. Hinweis: Wenn Sie nach all diesen Schritten zum ersten Mal Ihre Nuke Seite aufrufen und eine Menge an Fehlermeldungen sehen: Prüfen Sie umgehend Ihre Datenbankkonfiguration in der config.php; Mit sehr hoher Wahrscheinlichkeit haben Sie den falschen Datenbankserver angegeben oder sich schlichtweg vertippt. VI. Die Sache mit dem Prefix Bereits unter Teil II hatten wir die Variable $prefix, auf die nicht näher eingegangen wurde. Für Anfänger, die lediglich eine einzelne PHPNuke Seite anlegen möchten, ist dieser Abschnitt unbeachtlich. Die Installation ist nach dem vorangegangenen Erläuterungen PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 19/124 durchzuführen. Fortgeschrittene Benutzer, die ein wenig von Datenbanken verstehen, sollten sich aber mit diesem Abschnitt kurz auseinandersetzen. Bei PHPNuke wird in einer Datenbank Inhalt abgelegt, der dann mittels der PHP Seiten abgefragt wird. Innerhalb der Datenbank existieren mehrere Tabellen, jede Tabelle hat einen Namen. Dies sollte nicht verwundern, doch besteht hierbei ein Problem: Wenn man einmal eine PHPNuke Datenbank eingerichtet hat und alle notwendigen Tabellen bestehen, so ist es scheinbar unmöglich, mit der gleichen Datenbank noch eine PHPNuke Seite zu erstellen. Wenn man nun eine neue PHPNuke Seite erstellen möchte, muss man ja erneut alle Tabellen anlegen, doch bestehen diese ja bereits. Bis PHPNuke4 ist dieses Problem nur mit Hacks gelöst wurden, seit PHPNuke5 gibt es eine einprogrammierte, saubere Lösung: Die Prefix-Variable. Das System ist simpel: Jeder Tabelle in der Datenbank wird das Prefix vorangestellt, aus „downloads“ wird also „nuke_downloads“ oder „xyz_downloads“, wenn man als Prefix „xyz“ angibt. Es ist somit möglich in einer Datenbank mehrere Tabellen mit unterschiedlichen Prefix anzugeben, so dass man mehrere PHPNuke Seiten mit einer Datenbank steuern kann! Problematisch ist aber, dass man dazu das mitgelieferte SQL File von Hand ändern muss, da es standardmäßig auf „nuke“ als Prefix eingestellt ist. Seit der PHPNuke Version 5.4 steht eine weitere $prefix Variable zur Verfügung: $user_prefix; Der Sinn dieser Variable ist simpel wie effektiv: Geben Sie hier die Bezeichnung der Datenbank an, in der die User Tabelle liegt, die genutzt werden soll. Sinn macht dies dann, wenn Sie z.B. auf dem gleichen Datenbankserver mehrere Datenbanken für PHPNuke Seiten haben. Durch dieses Prefix PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 20/124 können sich alle Nuke Seiten die gleiche User-Tabelle teilen – wenn ein Benutzer sich auf Seite 1 registriert, wird er auch auf Seite 2 erkannt. VII. Sprachdatei installieren Sofern nicht vorhanden, die deutsche Sprachdatei auf den Server hochladen. Die Sprachdateien sind bei den beiden PHPNuke Servern verfügbar. Inzwischen kommt PHPNuke in den Paketen seit der Version 5 mit einer sehr umfangreichen Sammlung an Sprachdateien. Eine modifizierte Sprachdatei ist unter www.nukedownloads.org verfügbar. Leider wird in PHPNuke nicht immer auf die Sprachdatei zurückgegriffen, sondern auch teilweise in den Dateien direkt Englisch benutzt – hier hilft nur ein direktes Editieren. Wenn einmal etwas nicht richtig geschrieben ist, direkt in der lang-german.php nach dem String suchen und verbessern. Ein typischer Fehler im Zusammenhang mit Sprachdateien ist es, dass ein Text noch nicht übersetzt wurde. Das äußert sich derart, dass die Variable auf der Seite erscheint. Dort steht dann zum Beispiel „Wilkommen _USERNAME“. Das bedeutet, der String „_USERNAME“ existiert in Ihrer Sprachdatei nicht. U Ihn nachträglich einzufügen, öffnen Sie Ihre Sprachdatei (im Verzeichnis /languages/) und bauen Sie dort in die letzte Zeile define("_USERNAME","Benutzername"); ein. Danach wird die Variable (oder genauer Konstante) _USERNAME mit dem Begriff „Benutzername“ dargestellt. PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 21/124 VIII. Der erste Aufruf des Portals Wenn Sie Ihr frisch installiertes PHPNuke Portal zum ersten Mal aufrufen werden Sie in der Mitte der Seite eine Mitteilung vorfinden Das bedeutet, Sie sollten als erstes bevor Sie etwas anderes tun einen Administrator anlegen. Dazu klicken Sie auf das unterstrichene „HERE“ in der Mitteilung oder greifen direkt auf die admin.php zu. Beim ersten Start der Admin.php (solange noch kein Administrator angelegt ist), werden Sie folgende Eingabeaufforderung sehen: PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 22/124 Geben Sie hier die üblichen Daten (Benutzername des Admins, Homepage, Emailadresse und gewünschtes Passwort) ein. Die folgende Frage bedeutet, dass (mit gleichen Daten) auch ein normaler Benutzer erstellt wird. Benutzer und Admins haben getrennte Tabellen – wenn Sie hier ein „Nein“ auswählen existiert nur ein Administrator. Sie können sich dann nur in den Adminbereich, nicht aber mit diesen Daten in den Userbereich einloggen. Für gewöhnlich wählen Sie einfach „Ja“. Nach dem Klick auf „Fertig“ öffnet sich der normale Admin Login, den Sie ab dann immer sehen: Hier geben Sie Ihren Admin-Benutzernamen und Ihr Passwort ein. Nach dem Klick auf „Login“ öffnet sich das Administrationsmenü. Hinweis: Eventuell werden Sie Opfer des „Login-Loops“. Das sieht so aus, dass Sie –als Admin oder User- zwar die richtigen Logindaten angeben, aber trotzdem sofort oder nach dem Klick auf ein folgendes Item immer wieder bei der Eingabeaufforderung für Ihre Daten landen. Das ist kein Fehler von PHPNuke und tritt verstärkt unter dem Internet Explorer© ab Version 6 auf. Dies liegt daran, dass PHPNuke die Login Daten in einem Cookie speichert. Sie müssen in Ihrem Explorer diese Cookies auch zulassen. Dies geht unter Einstellungen -> Datenschutz. Geben Sie hier an, dass die Domain unter der PHPNuke liegt Cookies anlegen und auch lesen darf Danach auf Einstellungen (Preferences) klicken und zuerst die PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 23/124 Sprache in Deutsch ändern, da hier alle Erläuterungen auf der deutschen Sprachdatei basieren. Hinweis : Es kann vorkommen, dass trotz des Umstellens auf „German“ immer noch die Seite in Englisch erscheint. Das liegt daran, dass ein Cookie angelegt wurde, in dem immer noch Englisch als Sprache steht. Es gibt 2 Möglichkeiten : 1. Cookie löschen oder 2. im links stehenden Language Block die entsprechende Sprache auswählen: Es kann –gerade bei Anfängern- passieren, dass man aus Versehen den Superadmin löscht und nur noch einen Admin mit minimalen Rechten hat. PHPNuke muss nun keinesfalls neu installiert werden! Öffnen Sie Ihre Datenbank mit PHPMyAdmin und suchen Sie die Tabelle „_authors“. Diese öffnen Sie und suchen Ihren Admin – in der Spalte „radminsuper“ tragen Sie nun eine 1 ein. Beim nächsten Login steht Ihnen alles wieder zur Verfügung. Wenn Sie gar keinen Admin mehr in der Tabelle stehen haben sollte beim Aufruf der admin.php wieder die Option erscheinen um einen neuen Admin anzulegen. Sollten Sie gar das Passwort für Ihren einzigen Administrator vergessen haben, können Sie dieses nicht wiederherstellen. Öffnen Sie die Tabelle _authors mit phpmyadmin und suchen Sie Ihren Administrator. Editieren Sie den Eintrag und tragen Sie unter „Password“ folgenden Wert ein: PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 24/124 21232f297a57a5a743894a0e4a801fc3 – Danach laden Sie PHPNuke erneut. Das Passwort für Administrator lautet nun „admin“. IX. Allgemeines zum Aufbau einer PHPNuke Seite Die Struktur (das Erscheinungsbild) einer normalen PHPNuke Seite ist sehr einfach und gliedert sich genau genommen in nur 5 Bereiche: Sie haben oben in Ihrem Portal einen Header, die Ränder links und rechts sind „Blöcke“. In der Mitte (ganz oben) finden Sie eine „Mitteilung“, darunter werden die verschiedenen Artikel Ihres Portals aufgelistet. Am Ende der Seite wird ein allgemeiner Footer eingerichtet. Sie können jeden dieser Bereiche einzeln einstellen (dazu später mehr). Wichtig ist im Moment, dass Sie die Bezeichnung der einzelnen Bereiche kennen und zuordnen können X. Die Ansteuerung der Datenbank Einige kurze Worte zur Datenbank – Verbindung. PHPNuke setzt auf ein internes, selbstständiges Modul um die verschiedenen Datenbankabfragen für die jeweilige Datenbank aufzubereiten. PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 25/124 Zentrale Schnittstelle dabei ist die Datei sql_layer.php. Der Ablauf innerhalb der PHPNuke Struktur sieht so aus, dass ein Datenbankkommando zuerst an die SQL_Layer.php weitergereicht wird, diese führt das Kommando aus und gibt die Ergebnisse an das ausführende Skript zurück. Dementsprechend empfiehlt es sich, mit der internen Struktur zu arbeiten – unabhängig davon sind natürlich die üblichen PHP Befehle, wie etwa mysql_connect() funktionsfähig und können in eigenen Modulen & Skripten problemlos verwendet werden Diese Handhabung der Datenbankabfragen hat den Vorzug, dass relativ Mühelos PHPNuke auch mit anderen Datenbanken als nur mySQL zusammenarbeitet. Als Nebeneffekt der aktuellen Lösung tritt allerdings ein Problem auf: Wenn ein Datenbankfehler auftritt (etwa weil eine nicht existierende Tabelle abgefragt wird) wird nicht wie sonst üblich das Skript mit Zeile gemeldet das eigentlich den Fehler beinhaltet. Vielmehr werden Sie bei jedem Datenbankfehler als Ursache die sql_layer.php gemeldet bekommen – weil diese das SQL Kommando der dahinter stehenden, eigentlichen Skriptdatei ausführt. Wenn Sie nun in einem Forum den Fehler schreiben wollen oder selber auf Fehlersuche gehen, vergessen Sie die sql_layer.php. Suchen Sie das ausführende Skript, hier liegt Ihr Fehler Weil die Suche nach dem ausführenden Skript mitunter sehr schwer ist – insbesondere die genaue Suche nach der Fehlerhaften Zeile – gibt es eine modifizierte sql_layer.php. Diese gibt genau aus, welcher Fehler auftrat, in welcher Datei und in welcher Zeile. Sie erhalten diese sql_layer.php bei Nukedownloads.org. Dort einfach nach „sql_layer“ suchen. PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 26/124 Kapitel 3 : Administration Es geht nun um die Beschreibung des Administrationsmenüs : Was bedeutet jeder einzelne Klick – was kann eingestellt werden. I. Neuer Artikel Mit dieser Funktion können neue Artikel zur Veröffentlichung geschrieben werden. Das Artikelsystem ist der Kern einer jeden PHPNuke Seite. Den Großteil Ihrer Informationen werden Sie über Artikel veröffentlichen – die Artikel werden über das News Modul in die PHPNuke Seite eingebunden. Nach einem Klick auf das Item öffnet sich ein neues Menü: PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 27/124 Zuerst muss ein Titel für den Artikel angegeben werden, dies ist die später sichtbare Überschrift. Danach kann ein Thema ausgewählt werden. Die Themen sind spezifische Zuordnungen, sie werden einzeln eingestellt, mehr dazu ab Seite 75. Beides muss man nicht angeben, doch macht ein Artikel ohne Titel und Thema wohl wenig Sinn ? Wenn man kein spezifisches Thema auswählt, wird dem Artikel kein Thema zugeordnet – als Nebeneffekt tritt aber möglicherweise der Fehler auf, dass in dem Artikel ein Rotes Kreuz erscheint, weil kein Themen-Bild geladen werden kann. Es ist also auch besser, ein Thema auszuwählen. PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 28/124 Weiterhin kann eine Kategorie gewählt werden, muss aber nicht. Wenn keine Kategorie für den Artikel ausgewählt wird, erscheint der Artikel automatisch auf der Startseite. Sollte eine Kategorie ausgewählt werden, kann der Artikel auch wahlweise nur in dieser Kategorie erscheinen. Hinter dem Auswahlfeld für die Kategorien sind 3 Links : Hier kann eine neue Kategorie angelegt oder eine bestehende, ausgewählte geändert bzw. gelöscht werden. Häufig kommt am Anfang die Frage auf, wozu Kategorien dienen. Am einfachsten ist es, sie als einfache Strukturierungshilfe aufzufassen; Zu Beginn des eigenen Portales werden wohl nicht viele Artikel veröffentlicht werden, diese können dann auch alle auf der Startseite stehen. Wer aber einmal 100 Artikel hat, wohl aber möchte, dass die Besucher dennoch alle gut auffinden, muss eine Struktur schaffen. Zumeist bietet es sich an, mehrere Themen zu erstellen, zum Beispiel zu Linux, PHPNuke, Internet usw. Diese Themen können sich aber überschneiden, so gibt es in allen 3 Themen den Aspekt der Sicherheit. Sie können also nun eine Kategorie „Sicherheit“ erstellen, der Sie den jeweiligen Artikel zuordnen. Somit haben Sie zum einen mehrere Themen, wenn ein Besucher aber nur die Artikel zum Bereich „Sicherheit“ lesen möchte, kann er dies über die Kategorie tun. Zudem können Sie eine Übersichtsseite erstellen, wo nur die Artikel der Kategorie Sicherheit aufgelistet werden. Bei dem folgenden Radio-Button kann man auswählen, ob der Artikel auf der Startseite veröffentlicht werden soll oder nicht. Die Auswahl „Nein“ zeigt nur dann einen Effekt, wenn eine Kategorie außer PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 29/124 „Artikel“ ausgewählt wurde – dann erscheint der Artikel nicht auf der Startseite sondern nur in der jeweiligen Kategorie. In PHPNuke können –sofern gewollt- zu Artikeln von den Benutzern Kommentare geschrieben werden. Wenn Sie bei einem Artikel nicht möchten, dass Benutzer Kommentare verfassen können, schalten Sie bei dem Button um auf „Nein“. Die Option beim Lesen von Artikeln, Kommentare zu verfassen, wird bei diesem Artikel nicht mehr angezeigt. Nun kann der Artikel eingegeben werden. Es sind 2 Felder vorhanden : „Beitrags-Aufmacher“ und „Erweiterter Text“. Der Text im Feld „Beitrags-Aufmacher“ ist jederzeit zu sehen. Der restliche Text im Feld „Erweiterter Text“ ist erst zu sehen, wenn der Betrachter auf den Link „mehr...“ unterhalb des späteren Artikels klickt. Zweck des ganzen ist, dem Besucher einen Einblick in den Artikel zu geben, ähnlich einer Schlagzeile. Nur wenn er sich dafür interessiert, klickt er auf mehr und sieht den Rest des Artikels. Ein Artikel kann auch zeitversetzt programmiert werden: Das bedeutet er erscheint automatisch zu einem vorgegebenen Zeitpunkt in dem Portal, ist bis dahin aber im Admin Menü zu sehen und kann bei Bedarf gelöscht oder editiert werden. PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 30/124 Wenn Sie alles fertig ausgefüllt haben, können Sie auswählen, ob Sie den Artikel direkt veröffentlichen oder erst in einer Voransicht betrachten möchten: Das bedeutet, Sie sehen den Artikel wie er bei einer Veröffentlichung erscheint – das erspart böse Überraschungen Zu beachten : In dem Textfeld sind HTML Befehle erlaubt, etwa Fett Markierungen mit <b> oder (wichtig) Zeilenumbrüche mit <br>. Insbesondere die Zeilenumbrüche sind zu beachten, da diese die einzige Möglichkeit darstellen, in dem Artikel Zeilenumbrüche zu erstellen. Wenn Sie in einem Artikel lediglich „Enter“ drücken (also einen ASCII Zeilenumbruch), wird im späteren Artikel dieser Umbruch verloren gehen! Am Ende der Seite finden Sie die Möglichkeit eine Umfrage zu dem Artikel anzulegen. Diese Umfrage wird mit dem Artikel zusammen angezeigt: Geben Sie hier einfach den Titel für die Umfrage und die verschiedenen Anwortmöglichkeiten an. PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 31/124 II. Backup DB Seid Version 5.4 von PHPNuke ist es möglich, die aktuelle Datenbank direkt aus PHPNuke heraus zu sichern. Hierbei wird die komplette Datenbank als Kopie ausgelsen und in einer Textdatei (sogenannter SQL Dump) gespeichert. Diese Datei steht nach dem Klick auf das Symbol zum Download. Allerdings ist gleichzeitig Vorsicht geboten: Wenn Sie eine gut besuchte Seite und ein gut genutztes Forum haben wird Ihre Datenbank als DUMP-File recht groß sein. Wenn Sie zudem eine recht langsame Verbindung zum Internet haben, bedenken Sie dies. Kleiner Tipp: In PHPMyAdmin gibt es seit der Version 2.4.0 die Möglichkeit, einen GZ Dump zu kopieren. Die Textdatei wird dann vorher noch nach dem GZip Verfahren komprimiert, was eine Verkleinerung um bis zu 10% verspricht. Bei einer langsamen verbindung sollten Sie diese Möglichkeit in Betracht ziehen. Tipps zum Einspielen eines solchen DUMP Files mit phpMyAdmin finden Sie am Ende dieses Manuals in einer Kurzanleitung oder in unserem phpMyAdmin Tutorial unter http://www.homepagetutorials.de III. Banner In PHPNuke gibt es (selbstverständlich) die Möglichkeit, Banner einzubauen. Das Prinzip dabei ist einfach: Man legt einen Kunden an, zu diesem werden dann einzelne Banner angelegt. PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 32/124 a) Kunden anlegen Als erstes legen Sie einen Kunden an: Das einzige Pflichtfeld dabei ist der Kundenname, alles andere kann leer bleiben. Was man als Kundenlogin und Passwort angibt, kann später vom Kunden genutzt werden, um sich einzuloggen (dazu später mehr). Die Email wird zur Zusendung der Statistiken verwendet. Einmal einen Kunden angelegt, kann man diesem Kunden Banner zuordnen. Eingerichtete Kunden stehen oben in einer Übersicht und können jederzeit geändert oder gelöscht werden PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 33/124 b) Banner erstellen Über dem Formular zum Anlegen von Kunden ist die Möglichkeit Banner einzurichten. Diese ist erst sichtbar, wenn man wenigstens einen Kunden angelegt hat: In dem Dropdown Menü werden alle Kunden dargestellt. Hier den betroffenen auswählen. In gekaufte Einblendungen trägt man ein, wie oft das Banner dargestellt werden soll, eine 0 steht für eine unbegrenzte Zahl von Anzeigen. In Banner-Adresse gibt man die URL zum Banner (das BIld) ein. Darunter gibt man an, wohin ein Klick führen soll. Neu für PHPNuke 5 Benutzer ist der „Typ“: Sie können neben normalen Bannern nun auch noch Blöcke einrichten c) Die Übersicht Alle angelegten Banner sind in einer Übersicht zu sehen: PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 34/124 Die aktiven Banner sind die Banner, die angezeigt werden. Man sieht dabei, wie oft bereits Eingeblendet wurde und wie viele Klicks bereits erfolgten. Auch die Zahl der noch übrigen Einblendungen ist ersichtlich. Am Ende der Zeile sieht man die Optionen zum Ändern und Löschen eines Banners. d) Der Kundenlogin Kunden können sich mit ihren Login Daten über ein Interface einloggen und die gemachten Einblendungen, Klicks usw. selber einsehen. Dazu müssen sie folgende URL aufrufen: banners.php?op=login, dann öffnet sich ein Login Fenster: Hier müssen die Kunden die Daten eingeben, die der Admin beim anlegen eines Kunden abgespeichert hat. Nach einem erfolgreichen Login ist das Verwaltungsfenster zu sehen: PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 35/124 Die Kunden sehen dann in einer Übersicht die Banner, die noch zu machenden Einblendungen usw. Über den Change Button kann die Klick URL jederzeit geändert werden. e) Fehlerquellen Es kann zu diversen Fehlern kommen. So kann man z.B. Banner anlegen und sie werden dennoch nicht angezeigt. Dann bitte sofort prüfen, ob in den Einstellungen die Banner überhaupt aktiviert sind! Wenn die Banner aktiviert sind, ein Banner angelegt ist und dennoch keine Banner gezeigt werden, kann die Fehlerquelle auch im Theme zu suchen sein. So steht in der theme.php des jeweiligen Themes immer eine Funktion themeheader(). Im oberen Teil der Themeheader() wird irgendwo die banners.php aufgerufen. Über diesem Aufruf der banners.php muss irgendwo die Variable $banners als global definiert werden! Das muss dann so aussehen : global $banners. Wenn das zwischen dem Aufruf der Banners.php und der Zeile „function themeheader {„ nicht passiert, bitte dies von Hand nachtragen! Ein anderes Problem ist, dass die Kunden sich nicht einloggen können. Immer an die Gross / Kleinschreibung von Benutzername und Passwort denken! Dies ist ständig eine Fehlerquelle. PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 36/124 f) Alternative Bannersysteme Möglicherweise sind Sie an einem bestimmten Zeitpunkt mit dem PHPNuke-internen Bannersystem unzufrieden. Wenn Sie ein Leistungsfähigeres Modul suchen, sehen Sie sich einmal bei http://www.nukescripts.de um. Hier gibt es ein sehr Leistungsstarkes Bannermodul für PHPNuke Besonders beliebt ist das PHP Programm phpAdsNew. Dieses einzubinden ist recht leicht. phpAdsNew in der neuesten Version ermöglicht „Affiliates“. Legen Sie für Ihre PHPNuke Seite einen Affiliate Account ein und erzeugen Sie den Code für die „remote invocation“. Sie erhalten einen Code in der Art <a href=><img src=></a>. Diesen Code bauen Sie nun in Ihrem Theme anstelle der banners.php ein IV. Blöcke Das PHPNuke System führt die eingegebenen Artikel in der Mitte der Seite auf. Links und Rechts sind „Ränder“ in denen sich mehrere Boxen befinden – so z.B. das Hauptmenü oder die Umfrage. Über das Admin – Menü, Bereich „Blöcke“, können vom Administrator diese Boxen verwaltet werden. Seit der Version 5.0 ist ein komplettes Blöcke-System eingerichtet, dass eine komplette Verwaltung der Ränder unter diesem Menüpunkt vereinigt. Gleich ob man eine Umfrage, Benutzerdefinierte Boxen oder Headlines anzeigen möchte, hier läuft die Administration. In der Version 5.4 wurden die Boxen noch einmal stark geändert, man kann inzwischen je nach Benutzerstatus „Admin, PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 37/124 Registriert, Anonym“ eigene Boxen definieren. Ursprüngliche Probleme in der Reihenfolgenverwaltung der einzelnen Blöcke wurden in der Version 5.5 endgültig behoben Ein Klick auf „Blöcke“ zeigt die bereits bestehenden Boxen. Zu jeder Box ist angegeben, in welchem Rand sie erscheint, ob Sie aktiv ist und welchen „Rang“ sie hat: Aufgeführt wird als erstes der Titel der Box, dies ist der Name und steht zumeist über der Box in der Titelzeile. Dahinter wird als Position angegeben, auf welcher Seite (links oder rechts) die Box erscheint. Diesen Wert kann man nur über den „Ändern“ Link am Ende der Zeile verändern. Interessant ist die folgende Spalte : Reihenfolge. Hier legen Sie fest, in welcher Reihenfolge die Boxen erscheinen. Die Box mit 1 steht ganz oben, dann kommt die Box mit der Nummer 2 usw. Die Reihenfolge zu ändern ist Kinderleicht : Mit einem Klick auf den gewünschten Pfeil (rauf oder runter) wird die Box verschoben. Die PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 38/124 Zahl, die den Rang angibt, wird sich nach einem Klick sofort verändern. Bei „Typ“ wird meistens HTML stehen, dass ändert sich erst, wenn man hier eine Nachrichtendatei (RDF) einbindet. Mehr dazu weiter unten unter „Headlines“. Im Status steht, ob die Box aktiv ist und auch zu sehen ist oder ob sie zur Zeit Inaktiv ist. Um Änderungen an einer Box vorzunehmen klicken Sie in der Zeile mit der entsprechenden Box auf „Ändern“ klicken. Die letzte Angabe ist „Zu sehen für“; hier wird angezeigt, für welchen Benutzer die Box zu sehen ist (Admin, Registrierte, Alle). Im folgenden kommt ein Bereich mit Links (Funktionen), welcher die bestehende Box einstellt. Folgende Funktionen stehen Ihnen zur Auswahl: - Ändern Inhalt der Box usw. einstellen - Deaktivieren / Aktivieren Die Box wird angezeigt bzw. ausgeblendet - Löschen Die Box wird ganz gelöscht - Zeigen Sie können sich eine deaktivierte Box anzeigen lassen, um zu entscheiden, ob sie aktiviert werden soll Je nach Box-Typ sind unterschiedliche Informationen gewünscht, darauf wird sogleich in den entsprechenden Bereichen eingegangen. Am Ende der Seite ist immer die Möglichkeit eine neue Box zu erstellen – hier einen Titel und den zugehörigen Text eingeben und auf OK klicken. Wie immer sind HTML Befehle möglich, es können also Links <a href=> oder Hervorhebungen <b> eingebaut werden. PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 39/124 Man kann hier 2 verschiedene Blöcke anlegen : Einen „normalen“ Block oder auch einen Headline Block. Die Darstellung des Menüs erklärt sich dabei eigentlich von selbst: Je nachdem welche Art von Block Sie anlegen möchten haben die verschiedenen Eingabefelder eine unterschiedliche Bedeutung. Im folgenden nun die verschiedenen Blöcke, Ihre Funktionen und welche Felder hier von Bedeutung sind. Im Blocksystem werden 4 verschiedene Blöcke unterschieden: a) Systemblöcke Die Systemblöcke sind Boxen, die vom System voreingestellt und auch benötigt sind. Diese Boxen können und dürfen nicht gelöscht werden! Wenn man eine Box nicht sehen möchte, kann man sie aber deaktivieren und sie erscheint nicht. Inzwischen gibt es in PHPNuke nur noch 2 echte Systemblöcke: Die Administration und den Benutzerblock. Die Benutzer Box (User Custom Box) ist eine Box, die sich ein registrierter Benutzer selber anlegen kann. Jeder User kann sich PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 40/124 eine eigene Box erstellen, der Inhalt dieser Box wird in der Benutzer Box angezeigt. Die Administration ist der Block, den nur Administratoren sehen können und in dem die zur Zeit auf eine Freigabe wartenden Links, Artikel und Downloads warten. b) Benutzerdefinierte Blöcke Sie können natürlich eigene Blöcke, mit Texten, Links usw. komfortabel einrichten. So kann man in einem solchen Block einen Text schreiben um auf einen besonderen Artikel mit direktem Link hinzuweisen. Mit einem Klick auf „Blöcke“ im Admin-Menü lädt man die Block – Konfiguration. Ganz unten findet man die Funktion zur Einrichtung eines Blocks: Dem eigenen Block muss zuerst ein Titel zugeordnet werden. Dazu im betreffenden Feld (1) den entsprechenden Titel eingeben. Wie immer : Kurz und Beschreibend. In den Inhalt (2) können dann Texte und HTML Befehle eingebaut werden. Es sind dabei Fett Druck, <br>, Link und Italic Font als Formatierungshilfen ganz besonders zu PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 41/124 bedenken. Weiterhin muss festgelegt werden (3), auf welcher Seite (links oder rechts) der Benutzerdefinierte Block erscheinen soll. Auf Wunsch kann der Block deaktiviert werden, dann wird er erst mal nicht erscheinen. Das Aktualisieren Feld kann außer Acht bleiben, es spielt nur bei Headlines eine Rolle (siehe sogleich). Unter „Wer kann es ansehen“ (4) legen Sie fest, welche Art von Benutzern diesen Block sehen kann: Alle, nur registrierte und nur Administratoren. Nach dem Klick auf „Block erstellen“ wird der Block im System erzeugt. Wie immer kann der Block natürlich auch später geändert werden, dazu in der entsprechenden Spalte auf Ändern klicken, siehe auch oben. c) Funktionsblöcke Sie können nicht nur Blöcke über das Admin Menü anlegen; Wenn Sie einen Block über das Admin-menü anlegen, können Sie schließlich nur HTML oder RDF Blöcke anlegen. Wenn Sie nun einen eigenen Block schreiben möchten, der auch PHP Befehle zulässt, können Sie dies über eine Block-Datei machen. Solche Dateien sind reine PHP Skripte, in denen der Block dynamisch generiert wird. Zur Erstellung eigener Blöcke über diesen Weg finden Sie in Teil2 dieses Werkes Ausführungen. Die Ausgangsdateien für diese Blöcke liegen in dem Verzeichnis /blocks. Alle Dateien in „blocks/“ werden beim Anlegen eines neuen Blocks automatisch angezeigt: Sie müssen lediglich einen Titel angeben, der Inhalt des Blocks wird dann aus dem ausgewählten PHP Skript erzeugt. Sozusagen „von Haus aus“ bringt PHPNuke bereits einige solcher Dateien mit, die nun vorgestellt werden: PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 42/124 Die „Wer ist Online Box“ (Who’s Online) Box zeigt an, wie viele Benutzer gerade Online sind, unter welchem Namen man eingeloggt ist und wie viele Private Nachrichten man hat. [Block-Who_Is_Online.php] Letzte Artikel (Past Articles) zeigt die letzten erschienenen Artikel auf der PHPNuke Seite an. Wie viele Artikel hier erscheinen, wird unter „Einstellungen“ konfiguriert. [Last_5_articles.php] In der Suche (Search Box) ist ein kleines Suchformular eingebaut, mit dem die Datenbank nach einem Begriff durchsucht werden kann. [Block-Search.php] Das Tagesmotto (Ephemeriden) stellt die Box mit dem jeweils eingestellten Motto dar. Mehr dazu ab Seite 56. Unbedingt beachten: Mann muss diese Box aktivieren, damit man was sieht. Wenn die Box deaktiviert ist, aber im Einstellungspunkt Tagesmotto etwas eingegeben wird, sieht man nichts! [Block-Ephemerids.php] Die Sprachen Box (Languages) stellt dem Benutzer alle verfügbaren Sprachen zur Auswahl. Standardmäßig erfolgt dies in Form eines Auswahlmenüs. Sie können aber durch einen Klick auf „Zeige Flaggen“ im Admin Bereich „Einstellungen“ PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 43/124 auch die Flaggen des jeweiligen Landes anzeigen lassen. Angezeigt werden sodann automatisch alle Sprachen aus dem Verzeichnis „language“ – die Flaggen werden anhand des Dateinamens aus der images/language gelesen. [Block-Languages.php] Das Kategorien Menü zeigt die vorhandenen Kategorien auf und der Besucher kann mit einem Klick auf die entsprechende Kategorie alle Artikel dieser Kategorie ansehen. Beachten: Es werden nur die Kategorien angezeigt, in denen auch Artikel stehen. Wenn noch in keiner Kategorie ein Artikel steht, erscheint die Box gar nicht, auch wenn Sie aktiviert ist! [Block-Categories.php] Die Zufälligen Headlines (Random Headlines) zeigen eine Box mit Zufälligen Schlagzeilen aus der Datenbank an. Weitere Infos zu den Headlines in b – Headlines. [Block-Random_Headlines.php] In der Umfrage (Survey) Box ist die aktuelle Umfrage zu lesen und es kann abgestimmt werden. Die Umfrage wird in einem separaten Punkt eingestellt. Wenn diese Box aber nicht aktiviert ist, erscheint auch die eingestellte Umfrage nicht! Ältere Umfragen stehen über den Link „Umfragen“ zur weiteren Verfügung. [Block-Survey.php] PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 44/124 Die „Biggest Story Box“ zeigt den am aktuellen Tag häufigst gelesenen Artikel an. Gezählt wird hierbei, wie oft bei dem jeweiligen Artikel auf „mehr“ geklcikt wurde. [Block-Big_Story_of_today.php] Praktisch ist die Login Box (Users Login) : Registrierte Benutzer können sich hier einloggen und gleichzeitig steht dort auch etwas Text für die Anonymen Benutzer. Der angezeigt Text wird bestimmt durch „_ASREGISTERED“ in der jeweiligen language.php [Block-Login.php] Beispiel zum Anlegen eines solchen Blockes: Gehen Sie in den unteren Bereich der Seite zum Anlegen eines neuen Blockes. Wählen Sie die gewünschte Block-Datei aus, hier Ephemeriden: Danach die üblichen Daten angeben und auf „Block erstellen“ klicken: PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 45/124 d) Headlines Das Überschriften System stellt die Möglichkeit dar, die Überschriften zu den letzten 10 Artikeln einer fremden Seite in seine eigene einzubinden. Man kann somit einen Überblick über ausgewählte Nachrichten geben. Die Nachrichten selber werden aber nicht Bestandteil der eigenen Nukeseite! Man sieht lediglich die Titel der Artikel und mit einem Klick kommt man zu der eigentlichen Seite mit den Artikeln, wobei der gewünschte Artikel sofort geöffnet wird. Möglich wird das ganze durch die Unterstützung des RSS Systems. In einer solchen Datei sind jeweils die Headlines abgespeichert und müssen lediglich ausgelesen werden. Dementsprechend benötigt man immer die URL zu der entsprechenden RSS (oder auch RDF) Datei. Jedes PHPNuke Portal unterstützt Standardmäßig dieses Dateityp. Als Datei muss hierbei die backend.php angesteuert werden, als Beispiel: http://www.netz-id.de/backend.php ist die RSS PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 46/124 Datei unseres Netz-ID Portals. Wenn man die Adresse der RSS Datei einmal kennt, muss man sie beim anlegen eines neuen Blocks lediglich eingeben: In das Feld RSS/RDF Url (1) gibt man die Adresse zu der RSS Datei ein. So z.B. http://www.netz-id.de/backend.php. Das Feld „Inhalt“ ist beim einrichten eines Headline – Blockes ohne Bedeutung, bitte leer lassen! Dafür ist diesmal das Aktualisieren-Feld (2) von Bedeutung: Hier gibt man an, nach wie vielen Stunden sich das aktuelle File gezogen werden soll. Zur Erläuterung: Die fremde RSS Datei wird nicht ständig eingebaut, sondern es wird eine Kopie angelegt (im cache –Verzeichnis). Das bedeutet, dass nach einer bestimmten Zeit die Kopie veraltet ist. Aus diesem Grund stellt man eine automatische Aktualisierung ein. Welche angemessen ist, ist von der Zahl der Aktualisierungen der eingebundenen Site abhängig. Um den Einstieg zu erleichtern, ist ein kleines Archiv mit vorgespeicherten Adressen beigelegt. Im RSS Archiv (3) kann man wahlweise aus vorgespeicherten RSS Dateien auswählen. Das erspart das PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 47/124 Heraussuchen der entsprechenden URL. Wer das Archiv erweitern oder ändern möchte, kann dies über den Link „Setup“ tun. Eine kleine Linkliste zu solchen RSS Dateien findet sich bei Netz-ID.de im Bereich „Web Links > Webmasters Ressourcen > RSS Dateien“ Hinweis : Wenn das Einbinden von Headlines nicht klappt, testen ob das Verzeichnis „cache“ im Root-Verzeichnis existiert und mit CHMOD auf die Rechte 777 eingestellt wurde – dies ist Vorraussetzung zum Nutzen des Nachrichten Systems. V. Content Manager Der Content – Manager oder auch „Inhalt“ ist ein vorinstalliertes Modul in PHPNuke. Sie können hiermit eigene Seiten in PHPNuke realisieren. Damit diese Seiten gesehen werden können, muss entweder das Modul „Content“ in den Blöcken aktiviert sein oder Sie schalten direkte Links aus dem Hauptmenü auf diese Seiten. Dabei haben Sie innerhalb des Moduls die Wahl, ob Sie Kategorien erstellen oder nicht. So können Sie (wie bei Artikeln auf der Startseite) jeden Inhalt einer Kategorie zuordnen – oder auch nicht. Das Anlegen einer solchen Seite erklärt sich von selbst, die folgenden Formularfelder ausfüllen und auf OK klicken. Erwähnenswert ist „Aktivieren“, geben Sie hier Nein an, wenn die Seite noch nicht zu sehen sein soll. Einmal angelegt, steht die Seite im Modul „Content“ zur Verfügung: PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 48/124 Die bereits eingerichteten, wohl aber deaktivierten Seiten sind nur für den Administrator einzeln aufgelistet. Im Admin Bereich werden die eingerichteten Seiten auch mit Optionen aufgeführt: Hier können Sie die jeweilige Seite editieren, Deaktivieren oder löschen. Tipp: Um direkt auf eine Seite zu linken, klicken Sie mit der rechten Maustaste auf den Titel der gewünschten Seite und kopieren Sie den Link. An der gewünschten stelle Verlinken Sie nun: <a href=Link>Hier zur Seite</a> Im oberen Bereich legen Sie Kategorien an, wenn Sie Kategorien angelegt haben, erscheint beim Erstellen neuer Seiten automatisch ein Auswahlmenü, um Seiten einer Kategorie zuzuordnen PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 49/124 Die Kategorien werden im Content-Modul einzeln aufgelistet, das ermöglicht ein Browsen der Seiten nach Themengebieten VI. Downloads Dieser Menüpunkt verwaltet die Downloads, die den Besuchern im Download Modul offeriert werden. Die Downloads werden (ähnlich den Links) nach Hauptkategorien und Unterkategorien sortiert, wobei seit PHPNuke 5.4 die Zahl der Unterkategorie-Ebenen nicht mehr begrenzt ist.. Man muss also nicht nur Downloads einbauen, sondern sich auch ein vernünftiges Kategorien – System überlegen. Zu bedenken ist dabei weiterhin, dass in diesem Download Verzeichnis lediglich Links auf die jeweiligen Downloads gesetzt werden, es muss somit nicht die jeweilige Datei auch noch über das Web hinterlegt werden. Häufig kommt die Frage auf, wie das eigene Download-Archiv optimal errichtet wird. Es bietet sich meistens an, in einem eigenen PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 50/124 Verzeichnis „/downloads“ o.ä. die zu offerierenden Dateien zu hinterlegen. In der Downloads Administration schaltet man dann Links auf die jeweiligen Dateien. Übrigens Vorsicht: Viele Provider begrenzen den erlaubten Datentransfer. Bei Netz-ID kam plötzlich ein Datentransfer von bis zu 1GB pro Tag auf, was beinahe das Ende bedeutete. Wer hieran nicht denkt, kann sich an den Rand des Ruins treiben. Am besten große und häufige Downloads auf einen Server verlegen, der ein grösseres oder sogar unbegrenztes Transvervolumen bietet. Doch auch hier ist Vorsicht geboten: Gerade kostenlos Provider untersagen ein Hinterlegen von ZIP, EXE und ähnlichen Dateien! Vorher also informieren. Beim ersten Aufruf dieses Admin Bereiches bestehen üblicherweise noch keine Kategorien. Sie müssen somit beim ersten Mal wenigstens eine Hauptkategorie anlegen. Hierzu einfach einen Titel und eine Beschreibung angeben. Auch im weiteren Verlauf besteht dieses Formular und kann zum Anlegen von Hauptkategorien genutzt werden. Ganz oben in der Download Administration ist eine kleine Leiste zu sehen. Diese Leiste dient der Verwaltung der Downloads: Jeder Download kann von den Besuchern des Portals bewertet werden. Mit der ersten Option in dieser Leiste werden die Bewertungen wieder gelöscht. Weiterhin können defekte Downloads (also wenn ein Link nicht mehr Funktioniert) von den Benutzern gemeldet werden. In der 2. Option steht dann anstelle einer 0 die PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 51/124 Zahl der defekten Links. Mit einem Klick hierauf werden alle Meldungen aufgelistet und können bei Bedarf bearbeitet werden. Besucher können außerdem beantragen, dass Downloads geändert werden, sowohl im eigentlichen Link, als auch im beschreibenden Text. Der Verwaltung dieser Änderungen dient die 3. Option. Unter dieser Leiste kommt das bereits bekannte Formular zum Anlegen einer Hauptkategorie. Diesem folgt die Möglichkeit, Unterkategorien anzulegen. Beides erklärt sich von selbst. Darunter kann man einen neuen Download einrichten. Das Formular sollte leicht verständlich sein: Als erstes muss der Programmname für den Download angegeben werden. Dies kann der Name aber auch eine kurze Beschreibung PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 52/124 sein. Wichtig ist dann die Angabe des direkten, absoluten Links auf die Datei, der Dateipfad: http://www.meineurl.de/downloads/download1.exe. Hiernach muss die Kategorie ausgewählt werden, in welcher der Link auf den Download erscheinen soll. Die angelegten Kategorien stehen in einem Dropdown Menü zur Verfügung. Zum Anlegen von Kategorien siehe die Ausführungen oben. In das Beschreibungs-Feld kommt ein Text, der bis zu 255 Zeichen lang sein kann. Dieser Text sollte klar machen, worum es bei diesem Download geht. Nicht unbedingt nötig, aber interessant sind die Angaben zum Autor : Name und Email-Adresse. Man kann hier zum Beispiel den Betreuer des jeweiligen Projektes angeben. Die angegebene Dateigröße wird automatisch umgerechnet, also 9000 wird in der Anzeige auf download.php zu 8.7kb. Man sollte seinen Besuchern den Gefallen tun und auf Korrektheit achten. Viele werden wissen wollen, ob ein Download 1MB oder 10MB umfasst! Gleiches gilt bei der Version: Wer eine aktuelle Version sucht, wird bereits vor dem Kopieren wissen wollen, welche Version angeboten wird. Insofern ist auch die Angabe der Homepageadresse zu beachten: Wer mehr Informationen haben möchte, wird sich gerne einmal bei der zugehörigen Projekt Homepage umsehen. Der letzte Punkt sind die Hits: Hier kann man angeben, wie oft die Datei bereits kopiert wurde. Später wird diese Zahl bei jedem Kopieren erhöht, so dass nachvollzogen werden kann, wie oft darauf zugegriffen wurde. Unter diesem Formular kommt die Möglichkeit, vorhandene Kategorien zu modifizieren. Hier kann der Titel oder die Beschreibung geändert werden. Die Kategorie kann auch gelöscht werden. PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 53/124 VII. Administratoren Über dieses Menü kann man bestehende Administratoren editieren, löschen oder neue Anlegen. Um bestehende Admins zu editieren muss man im Menü auf „Admins editieren“ klicken. Eine Liste der bestehenden Administratoren wird angezeigt. Hinter den gewünschten Admin auf „Ändern“ oder „Löschen“ klicken und das gewünschte wird ausgeführt. Um einen neuen Admin anzulegen wie oben auf „Admins editieren“ klicken. Unter der Auflistung vorhandener Admins besteht die Möglichkeit einen neuen Admin hinzuzufügen. In das Feld Benutzername bitte den Namen eintragen, unter dem sich der Admin einloggen soll! In das Feld Name kommt der „echte“ Name, dieser wird in manchen Begrüßungsroutinen von PHPNuke genutzt. Email und URL sollten klar sein. Hinweis : Bei URLs in PHPNuke immer ein http:// voranstellen, ansonsten funktionieren die Links später nicht. Der nächste Bereich ist von enormer Bedeutung : Hier wird festgelegt, welche Rechte der Admin erhält. Jedes Feld, das mit einem Haken versehen werden kann, steht für den entsprechenden Link im Admin Menü. Dieser Admin kann somit nur auf die Menü Befehle zurückgreifen, die bei ihm mit einem Haken versehen werden. So kann ein Admin, bei dem nur „Artikel“ mit einem Haken versehen wird, nur Artikel schreiben – sonst nichts. Praktisch bei Systemen, in denen mehrere schreiben können sollen, aber nur wenige auch den Rest verstellen dürfen. Achtung : Es muss immer ein Superuser vorhanden sein ! Ansonsten gibt es plötzlich niemanden mehr, der das System administrieren kann. Sollte aus Versehen bei dem einzigen PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 54/124 Super User der entsprechende Haken gelöscht werden, gibt es nur einen Weg, das wieder hinzukriegen ! Man muss von Hand die jeweilige Datenbank öffnen. Hier, in der Tabelle Authors, den Admin raussuchen, der ein Superuser sein soll. In dem Feld „Password“ das Passwort checken und merken (nur zur Sicherheit). In dem Feld „radminsuper“ wird eine „0“ stehen. Diese durch eine „1“ ersetzen. Nun ist der Admin wieder ein Superadmin. Mit dem Adminnamen und dem gemerkten Passwort neu einloggen unter admin.php Die Möglichkeit, unterschiedlichen Administratoren auch unterschiedliche Schreibrechte in verschiedenen Themen zu geben (Admin 1 darf nur um Thema X schreiben, Admin 2 nur in Thema Y) gibt es bei PHPNuke nicht. Dies ist nur über einen Hack zu lösen, 2F Promoting.com hat hier eine kostenpflichtige Lösung umgesetzt. Bei Interesse kontaktieren Sie uns über [email protected] VIII. Benutzer Dieses Menü ermöglicht es, die Daten von registrierten Benutzern einzusehen und auch zu ändern. Man muss in das obere Formular lediglich den betreffenden Namen des Benutzers eingeben und kann die Daten einsehen und auch modifizieren. Darunter bietet sich die Möglichkeit von Hand einen neuen Benutzer anzulegen. IX. Enzyklopädie Die Enzyklopädie ist eine Art Glossar, allerdings recht umfangreich. Als erstes muss eine „Seite“ angelegt werden: PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 55/124 Der Sinn liegt hier in einer Struktur – Ebene: Sie können mehrere Ebenen einrichten, auf jeder Ebene werden dann eigene Begriffe erklärt. Sie haben somit später z.B. eine Ebene „PHPNuke“, „Grafik“ usw wobei auf jeder Ebene eigene Schlagwörter definiert werden, die auch nur auf dieser Ebene lesbar sind. Nach dem Anlegen einer Ebene, erscheint diese im oberen Teil: Hier können die üblichen Funktionen vorgenommen werden. Im unteren Teil können Sie nun Schlagwörter hinzufügen, die vom Besucher nachgeschlagen werden können: PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 56/124 Ab wann eine solche Funktion für Ihre Seite Sinn macht, müssen Sie entscheiden. X. Tagesmotto Die Ephemeriden (Tagesmotto) sind eine nette kleine Idee um die Seite interessanter zugestalten. Im Ephemeriden System kann für bis zu jeden Tag des Jahres eine kleine Geschichte bzw. Anekdote abgespeichert werden. Dazu zuerst Monat und Tag in dem Drop Down Menü auswählen und das Jahr angeben, in dem das Ereignis stattfand: PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 57/124 Etwa 1.1.1900 : Das BGB tritt in Kraft. Den Text in den großen Feldbereich schreiben. Nach dem speichern wird dieses Ereignis nun an jedem 1.1. eines Jahres angezeigt – vorausgesetzt das Ephemeriden System ist im Einstellungen – Menü aktiviert: Sollten Sie den Ephemeriden Block gar nicht in der Liste finden, ist er noch nicht angelegt. Dazu müssen Sie lediglich einen neuen Block anlegen und die Datei „ephemeriden“ auswählen. Ein Beispiel dazu finden Sie auf Seite 44. Zum editieren bestehender Daten, einfach unten das Datum auswählen und auf „Ändern“ klicken XI. FAQ Die FAQ stellt die Möglichkeit dar, auf häufige Fragen von Benutzern einzugehen. Man erstellt Kategorien und in jeder Kategorie eine PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 58/124 Frage und die dazugehörige Antwort. Das ganze ist für Besucher über das FAQ Modul zu betrachten. XII. Forum Vorinstalliert in PHPNuke 5.4 ist ein Forum. Es basiert auf dem beliebten phpBB (Version 1.4). Ein Klick hierauf öffnet die ForenAdministration: Der Forum-Manager verwaltet die einzelnen Foren, Ranks sind eine Art Auszeichnungen, die den Besuchern ja nach Zahl der Posts verliehen werden. Unter Config stellt man allgemeine Einstellungen ein, Censure ist eine Liste verbotener Worte. Teil des ganzen ist auch ein Ban System zum Verbannen unerwünschter Schreiber. a) Forum Manager Die Foren werden nach folgendem System verwaltet: Sie müssen einzelne Kategorien anlegen, in jeder Kategorie dann wiederum die eigentlichen Foren. Nach dem Anlegen von Kategorien werden diese gelistet: Die Kategorien werden in der dargestellten Reihenfolge im Forum angezeigt. Wie bei den Blöcken kann mit einem Klick auf den entsprechenden Pfeil die Rangfolge geändert werden. Mit Edit kann eine Kategorie Verändert, mit Delete ganz gelöscht werden. Vorsicht: Beim Löschen werden auch alle der Kategorie zugeordneten Foren gelöscht! PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 59/124 Um in einer Kategorie Foren anzulegen auf „Edit Forums klicken“, dort können Sie ein neues Forum anlegen: Geben Sie Name und Beschreibung des Forums an; Als Moderator müssen Sie ein registriertes Mitglied Ihres Portals angeben, achten Sie dabei auf die Gross- und Kleinschreibung! Access Level ist entweder Zugang für Alle, nur registrierte Benutzer oder nur Administratoren. Wenn Sie als Typ nicht Public, sondern Privat auswählen, ist das Forum nur für den Forumsadministrator und ausgewählte Benutzer einzusehen. Nach dem Anlegen des privaten Forums können Sie zugelassene Benutzer auswählen: Die Eigenschaften des Forums können Sie jederzeit mit einem Klick auf Edit verändern, mit Delete wird das Forum endgültig gelöscht. b) Ranks Die Ranks sind „Ränge“, Sie können hier festlegen, dass ein Benutzer bei einer bestimmten Anzahl von Postings einen bestimmten Rang erhält. Sie können Festlegen, dass jeder Benutzer mit 1 bis 10 Postings als „Grünschnabel“ bezeichnet wird. Füllen Sie dazu die entsprechenden Felder aus: PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 60/124 Geben Sie die Bezeichnung sowie die Zahl von mindestens und maximal vorhandenen Postings an, bei denen die Bezeichnung erscheinen soll. Gleichzeitig können Sie eine Zahl von „Sternen“ zuordnen, um das ganze auch noch netter aussehen zu lassen. Nutzen Sie dies, um Ihre Besucher zum posten anzuregen. Seien Sie aber nicht beleidigend, nur um den Poster zu veranlassen, möglichst viel zu posten, um aus seiner aktuellen Bezeichnung herauszukommen. Wenn Sie den Haken bei „Special“ setzen, wird es ein Benutzer – Definierter Rang. Er gilt dann nicht für alle registrierten Benutzer, sondern nur für diejenigen, dem Sie diesen Rang zuordnen. Leider fehlt die Option aber in PHPNuke 5.4 bisher. c) Config Hier geben Sie grundsätzliche und globale Einstellungen zum Forum vor. Folgende Optionen bieten sich Ihnen: PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 61/124 Die Benutzer können im Forum wählen, ob bei einer Antwort eine Email gesendet werden soll. Stellen Sie hier ein, wer als Absender und welche Signatur dabei genutzt wird. Weiterhin können Sie entscheiden, on HTML, BBCode und SIgnaturen in Postings erlaubt sind. „Hot Topic“ gibt an, bei wie vielen Postings ein Thema als „Hot“ gekennzeichnet wird – dann erscheint ein Ordner mit brennenden Flammen. Zum Schluß geben Sie vor, wie viele Posts pro Seite und wie viele Themen pro Forum angezeigt werden. d) Icons Smilies kennen Sie sicher: ;-) Unter Icons können Sie Zeichenketten festlegen, bei denen (nicht nur) Smilies angezeigt werden sollen. Sie müssen lediglich die Zeichenkette eingeben und Ihr ein Bild zuordnen. Wann immer ein Benutzer diese Zeichenkette im Forum eingibt, wird sie mit dem entsprechenden Bild ersetzt. Voreingestellt sind eine ganze Menge ein Smilies: PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 62/124 Die einzelnen Bilder können Sie dann ncch aktivieren oder deaktivieren – eine nette Beschäftigung für einen langweiligen Sonntag Nachmittag. e) Censur Ein Zensur System ist Teil des Forums. Definieren Sie Worte, die nicht benutzt werden dürfen. Tipp: Seien Sie vorsichtig bei der Nutzung dieser Funktion. Ihre Besucher merken schnell, wenn Sie zensieren. Ein regelmäßiges, sorgfäliges Lesen der Beiträge im eigenen Forum sollte ohnehin stattfinden und Sie können mit eigenem Beiträgen unerwünschtem Treiben entgegenwirken. f) Ban System Hier können Sie wahlweise eine IP oder einen bestimmten Benutzernamen für einen frei bestimmbaren Zeitraum aus dem Forum verbannen, so dass dort nicht mehr gepostet werden kann. XIII. HTTP-Referer Hier werden die Referer dargestellt. Referer sind die „Herkunft – Links“, man sieht, woher die Besucher kamen. Einstellungen dazu PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 63/124 werden ausschließlich im Menüpunkt „Einstellungen“ vorgenommen. Dazu dann später. Hinweis : Die Referer funktionieren nur, wenn direkt auf die index.php zugegriffen wurde. Wenn erst eine index.html geladen wird, die dann auf die index.php weiterleitet, gehen die Referer verloren. In der index.php werden die referer in der Variable $referer abgespeichert. XIV. Mitteilungen Eine Mitteilung „schwebt“ über allen anderen Artikeln auf der Startseite. Dies ist praktisch, wenn man seinen Besuchern etwas Mitteilen möchte: Der Nachteil bei Artikeln ist, dass diese sich ja ständig neu ordnen, man also nicht einen Artikel schreiben kann, der immer an erster Stelle steht. Hier helfen die Mitteillungen. Beim Aufruf zeigt sich (wie immer) ein Formular, das sich fast von selbst erklärt : PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 64/124 Es wird zuerst ein Titel angegeben. Dann folgt der Inhalt, es kann wie immer mit den grundsätzlichen HTML Befehlen gearbeitet werden. Anders als bei einem normalen Artikel stellt man hier einen Verfall ein. Nach dem hier angegebenen Zeitraum verschwindet die Nachricht automatisch. Wie bei den Blöcken kann die Mitteilung Aktiv oder Deaktiviert sein. Praktisch ist die Option der Betrachter: Hier suchen Sie aus, welche Benutzergruppe die Mitteilung sehen kann. Tipp: Sie können durchaus mehrere Mitteilungen anlegen; somit ist es möglich, für jede Art von Besucher – ob registriert, anonym oder Administrator – eine eigene Mitteilung zu hinterlassen. PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 65/124 XV. Modules Dieser Menü Punkt ermöglicht es, die installierten Module zu verwalten. Wie das jeweilige Modul installiert wird, ist im einzelnen vom Modul abhängig. Einmal installierte Module werden hier nun aufgeführt und können bearbeitet werden. Betroffen hiervon ist in erster Linie der Block „Module“ der in einem normalen System als Navigationsblock fungiert. Die erste Ansicht stellt sich folgendermaßen dar: Dabei fällt als erstes die Hinterlegung eines einzelnen Modules –hier „News“- besonders auf. Das bedeutet, dieses Modul liegt „im Home“ (dies ist auch im Status vermerkt). Dieses „im Home“ bedeutet, dass dieses Modul angezeigt wird, wenn die index.php des Portals geladen wird. Der spezielle Titel ist die Bezeichnung unter der das Modul im Block angezeigt wird, der Status legt fest, ob das Modul zu sehen ist oder nicht. Als letztes stehen Ihnen die verschiedenen Funktionen zur Auswahl. Sie können Module hier entweder Ändern oder Aktivieren bzw. Deaktivieren. Ein deaktiviertes Modul ist nur für Administratoren zu laden (zu Testzwecken). Mit einem Klick auf PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 66/124 „Ändern“ können Sie einstellen, unter welchem Titel das Modul erscheint und wer das Modul sehen kann: Geben Sie einen beliebigen Namen für das Modul an, in der Leiste können Sie wählen, wer das Modul sieht. Sie können ein Modul auch aktivieren – es aber nicht im Modulblock erscheinen lassen. XVI. Newsletter Hier können Sie an Ihre Mitglieder einen Newsletter versenden: PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 67/124 Geben Sie einfach Betreff der Email an und schreiben Sie die gewünschte Nachricht in das Feld „Inhalt“. Überlegen Sie gut, wem Sie den Newsletter schreiben möchten – die Benutzer können selber einstellen, ob Sie einen Newsletter haben möchten oder nicht. Wenn Sie dies missachten und dennoch einen Newsletter uneingeschränkt an alle Mitglieder senden, können Sie Vertrauen verlieren und Ärger hervorrufen. XVII. Optimize DB Sozusagen ein Aufräumen der Datenbank, steht seid PHPNuke 5.4 zur Verfügung PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 68/124 XVIII. Einstellungen Der Bereich Einstellungen ist der zentrale Bereich, wenn es um die Konfiguration des „Kerns“ des PHPNuke Systems geht. Dieser Bereich ist sehr lang und Günstigerweise in Unterpunkte aufgegliedert. Bis zur Version 5.5 wurde die gesamte Konfiguration noch in die Datei config.php geschrieben. Dies hat sich geändert, bis auf die Datenbank Verbindungsdaten finden sich dort nun keine Konfigurationsdaten mehr. Es wird alles in der Tabelle _config abgespeichert a) Allgemeine Informationen über die Website Hier werden einige Allgemeine Informationen abgespeichert. Die hier eingegebenen Daten werden an mehreren Stellen der Homepage eingesetzt. Das Nuke System erscheint somit etwas personalisierter. Der eingegebene Name etwa (Variable : $sitename) wird im Forum, bei den Statistiken oder auch beim Versenden eines Artikels per Email eingesetzt. Die eingegebene URL dient an vielen Stellen als Link, so ist das Logo ein Link auf die hier eingegebene URL. Der Slogan wird ähnlich dem Seitennamen auf vielen Seiten, auch dem Forum, eingesetzt. Das Startdatum wird in den Statistiken angezeigt : „Wir erhielten X Zugriffe seit dem ‚Startdatum’“. Die Email des Administrators wird von dem System beim Versenden von Mails als Absender Email, etwa bei dem Versenden von Artikeln per Mail oder dem zusenden eines Verlorenen Passwortes, genutzt. Die nächsten 3 Drop Down Felder geben an, wie viele Artikel an der jeweiligen Stelle angezeigt werden. Hauptseite ist dabei die Seite PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 69/124 index.php. Es empfiehlt sich, die Zahl der Nachrichten in der „Ältere Artikel“ Box nicht zu hoch einzustellen, weil es sonst unübersichtlich wird. Wenn Ultramode aktivieren : Ja ausgewählt wird, erstellt das System eine ultramode.txt Datei. Diese Dient dazu, anderen Benutzern das Grabben der Nachrichten zu erlauben. Es kann dann auf fremden Seiten die Titel der aktuellsten Nachrichten der eigenen Seite eingebunden werden. Ein Klick auf einen solchen Titel führt dann zur eigenen Seite, direkt auf den entsprechenden Artikel. Als nächstes kann man angeben, ob nur registrierte Benutzer einen Artikel schreiben dürfen. Nicht irritieren lassen, es bleibt dabei, dass erstellte Artikel erst moderiert werden müssen. Bei „Aussehen der Website“ kann ein Theme als Standard – Theme installiert werden. Dieses wird dann bei jedem Benutzer angezeigt, der nicht registriert ist und eventuell ein anderes Theme ausgewählt hat. Zuletzt kommen noch einige Sprachoptionen, so die Auswahl der Systemsprache und des Zeitformates. Hier „german“ und de_DE auswählen. b) Mehrsprachige Optionen Wählen Sie, ob Sie mehrsprachige Optionen wünschen. Wenn ja, können Sie Artikel und auch Blöcke nur für eine bestimmte Sprache einstellen. So etwa, dass ein Artikel nur dann zu lesen ist, wenn der Benutzer „Englisch“ ausgewählt hat sind nur Artikel der Sprache Englisch zu sehen. Weiterhin können Sie auswählen, ob im Sprachen-Block Flaggen oder ein Dropdown Menü zu sehen ist. Insbesondere, wenn Sie viele Sprachdateien installiert haben, ist die Anzeige von Flaggen störend. PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 70/124 c) Banner Optionen Hier stellen Sie nur ein, ob das PHPNuke interne Bannersystem aktiviert werden soll d) Fußzeilen Hier kann man bis zu 3 Fußzeilen eingeben. Diese werden auf jeder Seite des Nuke Systems unten angezeigt. Praktisch für rechtliche Hinweise und Credits. Seit der PHPNuke Version 5.6 stehen ganz unten immer 2 Zeilen mit einem Copyright Hinweis und einem Link zu phpnuke.org; Nach dem Wunsch des Autors soll diese Zeile nicht entfernt werden und wir erklären hier nicht, wie dies geht. Sollten Sie diese Zeile störend finden, nutzen sie einfach die Version 5.5 e) Backend – Konfiguration Das Backend ist die Schnittstelle zum Grabben von Nachrichten (siehe auch oben, ultramode). Hier können einige Informationen eingegeben werden : Titel und Sprache. f) Neue Artikel an Administrator senden Dieser Unterabschnitt ermöglicht es, eine Benachrichtigungs- Email bei jedem eingegangenen, neuen Artikel zu senden. Nützlich ist dies, wenn man nicht so häufig auf seiner Seite vorbeischaut. Dazu angeben, ob Artikel gesendet werden sollen und im nächsten Feld, an welche Email Adresse dies erfolgen soll. Dann wie bei einer Email Nachricht einen Betreff und etwas Text angeben. Zuletzt angeben, woher die Email kommt : Etwa „Webmaster“. g) Moderation der Kommentare Ursprünglich diente diese Option, die Kommentare auf die Artikel moderieren zu lassen. Seit PHPNuke 5.4 erscheint zwar die Option PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 71/124 in den Einstellungen noch, die eigentliche Funktion scheint aber nicht mehr vorhanden zu sein. Hinweis : Kommentare können bei PHPNuke auf jeden Artikel gepostet werden. Dazu ist in der Detail – Ansicht ein Link „Schreibe Kommentar“ vorhanden. Kommentare stellen eine interessante Möglichkeit dar, Besucher zu binden und zur Interaktivität. Sie können beim Verfassen eines jeden Artikels einstellen, ob Kommentare möglich sein sollen oder nicht h) Optionen der Kommentare Angeben, wie groß ein Kommentar in Byte maximal sein darf und welche Name bei nicht registrierten Postern als Absender genommen wird. Die Einstellung, ob Anonyme überhaupt Kommentare schreiben dürfen, wurde bereits unter a) festgelegt. Hinweis : Am besten hier einen Nutzer Anonymous angeben. Dieser Benutzer sollte um Fehler zu vermeiden auch im System bestehen. Standardmäßig existiert ein Benutzer „Anonymous“. i) Einstellungen zu den Grafiken Ob im Administrations- Menü Grafiken angezeigt werden sollen, ist Geschmacksache, einfach Ja oder Nein auswählen. j) Sonstiges Hier werden einige weitere Optionen festgelegt. Eine Interessante Option ist die http-Referer Option. Mit dieser Funktion wird erkannt, woher Benutzer kommen, welche die PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 72/124 index.php Seite aufrufen und diese Ursprünge werden abgespeichert. Die Liste kann jederzeit im Menü Punkt http-Referer abgerufen werden, siehe auch die Erläuterungen dazu oben. Nicht unwichtig ist die Zahl der gespeicherten Ursprünge im folgenden Feld. Wenn man dies auf 1000 stellt, verliert man schnell die Übersicht – manche können es aber brauchen. Zuletzt noch angeben, ob Benutzer in den Umfragen Kommentare schreiben dürfen. Angegeben werden kann auch, ob generell Kommentare zu Artikeln geschrieben werden dürfen oder nicht. k) Zensuroption Sie können Wörter eingeben, die zensiert werden sollen. Hier geben Sie an, wie genau zensiert wird l) Benutzeroptionen Hier geben Sie an, wie lang jedes Benutzerpasswort mindestens sein muss. Ausserdem müssen Sie angeben, ob Broadcast Nachrichten erlaubt sind. Dies sind nachrichten, die ein Benutzer an alle anderen Benutzer schreiben kann. Eine solche Nachricht erscheint für jeden anderen Benutzer genau einmal auf der Startseite. Ausserdem können Sie Benutzern erlauben, eigene RSS Dateien (Headlines) in den eigenen Account einzubinden und festzulegen, wie viele Artikel auf der Startseite zu sehen sind. m) Webmail – Optionen Ein Tipp: Deaktivieren Sie dieses Modul. Erlauben Sie den Benutzern nicht, Emails über dieses Modul zu senden. Es ist ein enormes Sicherheitsrisiko, aus diesem Grund hier auch keine näheren Erläuterungen dazu Zuletzt muss man die Einstellungen speichern. Es kann bei PHPNuke Versionen bis 5.5 vorkommen, dass bei ersten Installationen nach dem Klick auf Speichern plötzlich viele PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 73/124 Fehlermeldungen auftauchen. Das liegt dann daran, dass keine Schreibrechte für die config.php gesetzt wurden. XIX. Testberichte Dieser Menüpunkt dient der Verwaltung des Moduls Reviews. Auf dieser können Besucher Produkte vorstellen und auch bewerten. Als erstes einen Titel für die reviews.php Seite und einen erläuternden Text eingeben. Dieses wird dann auf der Seite angezeigt. Wenn Benutzer Reviews erstellt haben und diese auf eine Moderation warten, wird das im nächsten Feld angezeigt. Es kann dann jeder Review angezeigt und einzeln gelöscht oder freigeschaltet werden. Bereits freigeschaltete Reviews sind nur noch über die reviews.php Seite zu editieren. Diese Seite als Admin laden, hinter jedem Review sind nun die entsprechenden Optionen. XX. Spezial – Bereiche Der Name für diesen Menü Punkt mag etwas verwirrend sein . Es geht hier um die Verwaltung des Bereiches „Sections“ oder „sections.php“. Sinn dieses Bereiches ist das Hinzufügen von Inhalten, die nicht mit den übrigen Artikeln auf der Seite im Zusammenhang stehen. So werden Beiträge in Sections keinen Themen oder Kategorien zugeordnet und können von der Suchfunktion gesondert durchsucht werden. Bei dem ersten Aufruf sieht man lediglich den Bereich zum Hinzufügen neuer Überschriften. Hier muss der gewünschte Titel und ein Bild angegeben werden. Das Bild liegt in dem Verzeichnis PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 74/124 images, deswegen die Adresse in der Form bild.jpg oder topics/bild.jpg angeben. Nach einem Klick auf „Bereich hinzufügen“ wird der Bereich erstellt. In dem sich nun öffnenden Fenster hat sich einiges geändert : Zuerst werden nun die bestehenden Bereiche dargestellt. Um einen Bereich, das bedeutet Namen und Bild, zu ändern, muss man auf den entsprechenden Link klicken. Darunter kommt das Formular, in dem Artikel erstellt werden können. Wie bei jedem Artikel müssen hier Titel und Text angegeben werden. Zusätzlich wird nun noch der Bereich ausgewählt, in dem der Artikel erscheinen soll – ähnlich einem Thema. Die hier erstellten Artikel sind getrennt von den übrigen – das bedeutet, sie tauchen auch nicht auf der Startseite des Administrationsmenüs auf. Aus diesem Grund werden die letzten 20 Artikel aus dem Bereich „Sections“ im Folgenden Feld aufgelistet. Ähnlich der Adminmenü – Startseite kann man hier auch eine Artikel ID eingeben und dann den Artikel editieren. Als letztes kommt wieder das Formular, um neue Bereiche hinzuzufügen. XXI. Artikel Über den Link im Hauptmenü auf submit.php können Besucher der PHPNuke Seite eigene Artikel schreiben. Diese werden unter dem Menüpunkt „Neuzugänge“ zwischengespeichert und können von Ihnen moderiert werden. Bei einem Klick hierauf werden alle geschriebenen Artikel aufgelistet und Sie können entscheiden ob Sie einen Artikel freigeben zur Veröffentlichung oder Löschen. PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 75/124 XXII. Umfragen Zu einem Web – Portal gehören auch Umfragen. Diese können hier eingestellt werden. Nach einem Klick kann man sofort eine neue anlegen : Zuerst einen Umfragetitel eingeben – dieser steht über der Umfrage und stellt fest, um welches Thema sich die Umfrage dreht. Darunter kann man die unterschiedlichen Umfragetitel eingeben – wie viele möglich sind, wird im Menü Punkt „Einstellungen“ festgelegt; dazu später. Man muss nicht alle Felder ausfüllen, es werden später nur die Antworten angezeigt, die auch eingetippt wurden. Nach einem Klick auf „Erstellen“ wird die Umfrage angelegt. Normalerweise wird immer die neueste, die zuletzt angelegte, Umfrage bei PHPNuke angezeigt. Um Umfragen zu löschen, wieder auf „Umfragen“ im Admin Menü klicken. Über der Möglichkeit, einen Umfragetitel für eine neue Umfrage einzugeben, ist ein kleiner Link „Umfragen löschen“. Ein Klick hierauf öffnet ein neues Fenster, in dem alle bestehenden Umfragen angezeigt werden. Nun einfach die Umfrage auswählen, die gelöscht werden soll und auf „Löschen“ klicken. XXIII. Themen Mit dem Themen – Manager können die einzelnen Themen organisiert werden. Es können Themen angelegt und gelöscht werden. Diese Themen tauchen dann im Menü „Artikel schreiben“ auf und es können somit Artikel diesen Themen zugeordnet werden. Beim erstmaligen Laden werden die einzelnen Themen aufgelistet. Unterhalb der aufgelisteten Themen ist die Möglichkeit ein neues PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 76/124 Thema zu erstellen. Dazu muss man zuerst einen Themennamen eingeben : Dieser ist für die interne Verwaltung, darf keine Leerzeichen enthalten und darf maximal 20 Zeichen lang sein. Danach kommt der Titel des Themas, das ist der Text, der angezeigt wird. Hier bitte einen ausführlichen, verständlichen Text wählen. Zum Schluss muss noch ein Bild angegeben werden. Diese Datei muss in dem Verzeichnis images/topics hinterlegt sein. Sie wird relativ angegeben, also zum Beispiel phpnuke.gif, nicht images/phpnuke.gif oder ähnlich. Nach der Bestätigung wird das Thema erstellt. Die Verwaltung erfolgt über den Klick auf das entsprechende Thema. Nach einem Klick auf das ausgewählte Thema wird die Seite neu geladen und man sieht die vorherigen Einstellungen aufgelistet : Interner Name, Thementext und Bildfile. Diese Daten können frei verändert werden. Neu sind nun die folgenden beiden Felder : Einen zugehörigen Link einfügen. Hier kann man eine Internetadresse und eine Bezeichnung für diese Adresse eingeben. Diese abgespeicherten Adresse(n) werden nun bei jedem Artikel in der Detailansicht (Klick auf „mehr...“) oben rechts angezeigt. Dieser Bereich nennt sich in der Detail – Ansicht des Artikels „Links zum Thema“. Wenn man im Bereich „Themen Manager“ auf das jeweilige Thema klickt, werden alle zu diesem Thema abgespeicherten Links am unteren Teil des Fensters der Reihe nach aufgelistet. Hinter jedem gespeicherten Link ist die Möglichkeit auf „Ändern“ oder „Löschen“ zu klicken. XXIV. Links PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 77/124 Das Menü Web Links dient der Verwaltung der PHPNuke – Internen Linkliste. Beim ersten Aufruf dieses Punktes ist lediglich eine Zeile mit 3 Funktionen zu sehen und darunter die Aufforderung eine Hauptkategorie einzurichten. Ausnahmsweise fangen wir mal unten an : Das Einrichten einer Hauptkategorie. Zuerst einen Namen und dann einen beschreibenden Text einfügen. Nach dem Klick auf OK ändert sich der Aufbau dieses Menüs; Unter dem bisherigen Feld kommt nun ein neuer Bereich : Unterkategorie hinzufügen. Hier kann man etwa zur Hauptkategorie „Literatur“ nun die Unterkategorien „Zeitschriften“, „Bücher“ und „Verlage“ hinzufügen. Es sind mehrere Ebenen möglich : Hauptkategorie und Unterkategorie. Eine Unter-Unterkategorie ist seit PHPNuke 5.4 möglich. Zu beachten : Hinter der Unterkategorie wird noch mal ausgewählt, in welcher Hauptkategorie diese angelegt werden soll – also Aufpassen! Als nächstes kann man dann endlich eigene Links hinzufügen. Dazu einen Namen der Seite eingeben, den Link als www – URL und eine Beschreibung. Ein Name / Email muss nicht angegeben werden. Zuletzt kommt die Möglichkeit erstellte Hauptkategorien zu ändern bzw. zu löschen. Lediglich die Kategorie in dem Drop – Down Menü auswählen und auf Ändern klicken. Es öffnet sich ein Fenster, in dem alle Daten editiert werden oder die Kategorie im ganzen gelöscht werden kann. Vorsicht : Beim Löschen gehen auch alle Links dieser Kategorie flöten ! XXV. Abmelden Als Administrator abmelden, der gespeicherte Cookie wird gelöscht. Vor allem zu empfehlen, wenn man von einem fremden Rechner aus gearbeitet hat. PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 78/124 Kapitel 4 : Personalisieren Die Standard Nuke Seiten sehen alle gleich aus. Das möchte natürlich niemand, häufig müssen Dinge auch geändert werden, weil Sie so nicht zu dem behandelten Thema der Seite passen. In diesem Kapitel erhalten Sie einige kleine Tipps und Erläuterungen. Fortgeschrittene werden hier wohl kaum neues finden, diese Benutzer seien auf das PHPNuke Buch verwiesen. I. Themes Die erste und wohl auch einfachste Möglichkeit ist, sich weitere Themes zu besorgen. Diese gibt es bei www.nukethemes.de mit Vorschau. Die Installation ist denkbar simpel : Das Theme auf den Server in das Verzeichnis Themes kopieren und schon kann es im Menüpunkt „Einstellungen“ ausgewählt werden. II. Themes anpassen Schnell wird es nötig das bevorzugte Theme zu ändern, spätestens wenn man endlich das eigene Logo eingebunden haben will. Dies geht, indem man sein Logo als logo.gif speichert und in das jeweilige Theme kopiert. Eine bestehende logo.gif muss dabei überschrieben werden. Manchmal will man aber auch mehr, etwa keine Abstimmung sehen oder keine Anzeige der älteren, häufig gelesenen Artikel. In PHPNuke 5 kann dies problemlos über das Block System verwaltet werden. In PHPNuke4 ist das leider etwas komplizierter; um auch den PHPNuke4 Benutzern entgegen zu kommen, erkläre ich kurz, wie es unter PHPNuke4 funktioniert. Dazu muss man in dem jeweiligen PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 79/124 Theme – Verzeichnis die entsprechenden Funktionen von Hand löschen. Jeder Block, etwa Umfragen, Ältere Artikel oder auch Kategorien, ist eine eigene Funktion. Die Funktionen werden in der Datei mainfile.php definiert und von dem Theme zumeist in der Datei footer.php geladen. Manchmal aber auch in der Datei header.php oder ganz selten in der Datei theme.php. Folgende Funktionen laden folgende Kästen : - category(); Kasten Kategorie - pollNewest(); Aktuelle Abstimmung - bigstory(); Story von heute - loginbox(); Login Box - userblock(); Who’s Online - oldNews($storynum); Ältere Artikel Wenn ein Kasten nicht gewünscht ist, die entsprechende Funktion in der Theme Datei raussuchen und mit einem # auskommentieren. Der Kasten wird nun nicht mehr angezeigt. Beispiel für die footer.php im OpenMind Theme : <?php if ($index == 1) { echo "</td><td><img src=\"themes/OpenTheme/pixel.gif\" width=15 height=1 border=0 alt=\"\"></td><td width=150>"; category(); #pollNewest(); #bigstory(); loginbox(); userblock(); #oldNews($storynum); rightblocks(); Wenn die Footer.php wie oben aussieht, wird kein Kasten Abstimmung, keine Story von heute und kein Kasten „Ältere Nachrichten“ angezeigt. PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 80/124 III. Die Menüs Die hauptsächliche Navigation wird über den Modul-Block laufen. Um hier Änderungen vorzunehmen greifen Sie im Adminmenü auf „Module“ zu und ändern hier, welche Module angezeigt werden sollen und welchen Namen sie haben sollen. Eventuell ist Ihnen dieser Weg generell zu umständlich? Abhilfe schafft hier folgende simple Lösung: Einen neuen Block anlegen, in dem man seine Navigation so anlegt, wie man sie gerne haben möchte. Diesen Block nun an der gewünschten Stelle platzieren und das „normale“ Hauptmenü deaktivieren – schon hat man sein eigenes Navigationsmenü. IV. Eigene Seiten hinzufügen Häufig werden eigene Seiten nötig sein, zumeist reicht es, wenn man eine eigene HTML Seite in den PHPNuke „Rahmen“ laden kann. Den „Rahmen“ von PHPNuke lädt man durch das „includen“ der Dateien mainfile.php, header.php und footer.php. Wenn eine eigene Seite test.php mit folgender Struktur angelegt wird : <?php include('mainfile.php'); include('header.php'); include('footer.php'); ?> und diese geladen wird, sieht man eine PHPNuke Seite, wobei in der Mitte der Seite kein Inhalt ist. Um dort nun etwas hinzuzufügen, einfach mittels Include Befehl die gewünschte Datei einbauen. So z.B.: PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 81/124 <?php include('mainfile.php'); include('header.php'); include('meinedatei.htm'); include('footer.php'); ?> Der Inhalt der HTML Seite meinedatei.htm wird nun als PHPNuke Seite angezeigt. Genauso kann man auch eigene PHP Seiten in PHPNuke integrieren. Hinweis : Es empfiehlt sich, bei eingebundenen HTML Seiten die HTML Kopfzeilen am Anfang und Ende des Dokumentes <html> und </html> zu entfernern, da ja von PHPNuke diese Header erzeugt werden. Noch ein Tipp bei den eigenen Seiten: Wenn eine eigene Seite nach diesem Beispiel erstellt wird, werden rechts keine Blöcke angezeigt. Wer rechts die Blöcke auch sehen möchte, muss noch die Variable $index auf 1 setzen. Das sieht dann so aus: <?php include('mainfile.php'); $index=1; include('header.php'); include('meinedatei.htm'); include('footer.php'); ?> V. Benutzer – Prüfung Von Zeit zu Zeit wünscht man sich einen eigenen Bereich, der nur für registrierte Benutzer zur Verfügung steht – etwa spezielle Aufsätze. PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 82/124 Bei der Programmierung eigener Seiten ist dann eine dementsprechende Abfrage einzubauen. In PHPNuke steht für die Prüfung des Benutzerstatus mit is_user() eine eigene Funktion zur Verfügung. Aufgerufen wird diese Funktion so: is_user($user). Ein praktisches Beispiel: <?php include('mainfile.php'); include('header.php'); if(is_user($user)) include('meinedatei.htm'); else include(‘keinuser.htm’); include('footer.php'); ?> Hier sehen registrierte User die Datei meinedatei.htm, nicht registrierte Benutzer sehen die „Keinuser.htm“. VI. Headlines in eigene Seiten einbinden Headlines (Schlagzeilen) werden üblicherweise als Blöcke links oder rechts aufgeführt. Es kann aber auch sehr praktisch sein, wenn man in eine eigene Seite den Seiteninhalt, solche Headlines einbinden kann. Das Vorgehen ist dabei simpel : Einfach wie bisher eine Headline Box anlegen. Diese jedoch deaktivieren, so dass sie nicht erscheint! Wenn man im „Blöcke“ Menü bei der entsprechenden Box die Maus auf „Ändern“ steuert (nicht klicken!), sieht man im Browser die genaue URL, auf die bei einem Klick zugegriffen wird. Letzter Bestandteil dieser Adresse ist „&bid=“. BID steht dabei für Block-ID, das ist die ID, die diesem Block zugeordnet ist. Wer weiß wie es geht, kann natürlich auch direkt auf die Datenbank zugreifen und in der Tabelle „_blocks“ nachsehen, welche ID der jeweilige Block hat. PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 83/124 Mithilfe dieser ID kann man den Block nun auch in eigenen Seiten aufrufen. Zuständig dafür ist die in der mainfile.php definierte Funktion „Headlines()“. Wenn man diese Funktion zusammen mit der zugehörigen BID aufruft, erscheint der gewünschte Headline-Block. In unserer oben erstellten, eigenen Seite, sieht das dann folgendermaßen aus: <?php include('mainfile.php'); include('header.php'); echo “<center>Dies ist meine Seite</center><br>”; echo “Und dies ist meine Headline – Box :<br><br>”; headlines(12); include('footer.php'); ?> Hier wird nun in die Mitte der Seite der Headline-Block mit der ID 12 geladen! Man kann somit auf spezifische Seiten ausgesuchte Headlines einbauen! VII. Woher bekomme ich Headlines? In PHPNuke ist ein kleines Archiv mit PHPNuke Ressourcen. Manche wollen aber noch mehr, andere Headlines. Grundsätzlich gilt, dass man bei jeder PHPNuke-based Homepage über die backend.php auf News zugreifen kann – das sind übrigens nicht wenig! So kann man die News von phpnuke.org und phpnuke.de über diese Datei erfassen. Wer Linux News sucht, wird bei www.12linux.de fündig werden. Besonders beliebt sind die Headlines von Heise Online, Infos dazu gibt es bei www.heise.de/fanpages/. Weitere Quellen werden ständig bei Netz-ID.de im Weblinks Bereich gesammelt, dort sind bereits einige Sourcen zu finden und jeder kann sich selber hinzufügen! PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 84/124 Kapitel 5 : Die Funktionen Es wird in diesem Kapitel auf die einzelnen Funktionen in PHPNuke eingegangen. Das PHPNuke Portal bietet mehrere, von Beginn an eingebaute Funktionen, hier kurz im Überblick : - Artikel schreiben und verwalten - Kommentare verfassen - Testberichte schreiben - Eingebaute Suchfunktion - Download-Archiv - Statistik – Funktion - Inhalte - Extrabereiche - FAQ - Benutzerfunktionalität I. Der Artikel Ein geschriebener Artikel ist grundsätzlich immer in einer Übersicht zu sehen: Dabei sehen Sie als Überschrift immer die Kategorie des Artikels in Verbindung mit dem eingegebenen Artikelnamen. Auf diese Kategorie kann geklickt werden, dann PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 85/124 öffnet sich ein Fenster mit den letzten Artikeln dieser Kategorie in einer Übersicht. Wie viele Artikel angezeigt werden, kann unter Einstellungen im Administrations- Menü eingestellt werden. Auch der einzelne Benutzer kann die Zahl der angezeigten Artikel einstellen, dazu später mehr. Neben der Kategorie steht der eingegebene Titel des Artikels – hier "Artikel 1". Unter dem Titel kommt der erste Text des Artikels, dies ist der Text, den man beim Schreiben des Artikels in das erste Textfeld (Text) eingegeben hat. Unter dem Text sind einige Kurzinfos zu sehen: Von welchem Administrator wurde der Artikel freigeschaltet bzw. geschrieben, wann wurde der Artikel veröffentlicht und wie häufig wurde der Artikel gelesen. Letzteres wird nur dann gezählt, wenn ein Benutzer auf die Schaltfläche "mehr" oder "Kommentare" klickt. Manchmal fehlt die Schaltfläche "mehr", da kein erweiterter Text angegeben worden ist oder noch kein Kommentar vorliegt. Weiterhin findet man in dieser Zeile weitere Optionen : Ein Klick auf Kommentare öffnet den Artikel in der Detail Ansicht – die "Anzahl gelesen" wird um eins erhöht – und der Nutzer kann nun einen Kommentar schreiben und die bisherigen Kommentare lesen. Durch Klicken auf das Drucker Symbol wird der Artikel in einer druckerfreundlichen Version angezeigt; ein Klick auf das Email – Symbol öffnet ein Fenster, in dem an einen Freund per Email ein Hinweis auf diesen Artikel gesendet werden kann. Daneben ist erneut, wie im Titel, ein Link auf die jeweilige Kategorie (Hier : Neues). Sollte zu dem Artikel ein erweiterter Text angegeben worden sein, erscheint in der Statuszeile zusätzlich die Option "mehr" und dahinter eine Angabe, wie viel erweiterter Text in Byte vorhanden ist. Durch anklicken dieser Option wird der Artikel in der Detailansicht geladen PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 86/124 und der angegebene „erweiterte Text“ zusätzlich angezeigt. Die "Anzahl gelesen" wird hierbei um 1 erhöht : Im unteren Bereich finden Sie die Kommentare und es kann ein eigener Kommentar geschrieben werden. Zusätzlich können die Kommentare in der Anzeige anders sortiert werden (älteste zuerst, PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 87/124 neueste zuerst). Neu ist der Teil rechts neben dem Artikel. Hier werden zugehörige Links angezeigt. Diese Links werden zum einen vom Administrator vorgegeben. Das PHPNuke System ordnet allerdings auch automatisch, beim vorkommen bestimmter Schlüsselwörter im Artikel-Text, bestimmte Links zu. Tipp: Viele mögen diese automatischen Links nicht oder möchten die Liste erweitern. Dies geht nicht über ein Web-Interface! Hierzu muss die Datei article.php von Hand geöffnet und im entsprechenden Abschnitt das gewünschte nachgetragen werden. Dies ist nur für Fortgeschrittene zu empfehlen und es muss ein Minimum an PHP Kenntnissen vorhanden sein. Unter den „zugehörigen Links“ kommt die Möglichkeit den Artikel zu bewerten. Als letzter Block werden noch mal die druckerfreundliche Darstellung und die Versendung des Artikels als Email (FriendFunktion) angeboten. Administratoren sehen hier zudem die Optionen zum Ändern und Löschen des Artikels II. Kommentare Benutzer können zu jedem Artikel innerhalb von PHPNuke Kommentare schreiben. Kommentare stellen die Möglichkeit dar, Besucher der Seite zur Interaktivität anzureizen. Es können Meinungen oder aktuelle News auf diese Art eingebunden werden. Kommentare können moderiert werden, je nach Belieben dürfen Kommentare von jedem Besucher, nur von registrierten Benutzern oder von Administratoren geschrieben werden. Sie haben außerdem beim Verfassen neuer Artikel immer die Option das Schreiben von Kommentaren für den jeweiligen Artikel zu aktivieren oder zu deaktivieren PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 88/124 Kommentare können in der Detailansicht des jeweiligen Artikels verfasst werden. Hierzu kann in der Übersicht auf "Kommentare" geklickt werden : Ein Klick hierauf öffnet den Artikel in der Detail Ansicht. Hier kann im unteren Bereich der Kommentar verfasst werden : Ein Klick öffnet das Fenster um einen Kommentar zu verfassen. Der Nutzer muss einen Titel und einen Text eingeben, dieser wird dann zu dem zugehörigen Artikel veröffentlicht: PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 89/124 Das Formular sollte nicht allzu schwer zu verstehen sein. Über dem Formular ist dabei noch mal der original Artikel zu sehen, damit man weiß, wozu man seinen Kommentar schreibt. Kommentare funktionieren ähnlich einem Forum : Zu jedem Kommentar kann auch eine Antwort verfasst werden. Es entsteht somit – bei Wunsch – eine echte Kommunikationsplattform. Dabei ist zu beachten, dass zum beantworten eines bereits bestehenden Kommentars auf die entsprechende Schaltfläche geklickt werden muss: Manche denken, es genügt wenn man den Kommentar in der Detailansicht lädt und auf „Kommentar schreiben“ klickt – immer bedenken und auf „darauf Antworten“ klicken. Ein Administrator kann PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 90/124 den einzelnen Kommentar auch löschen, dazu ist der dahinter stehende Link. III. Die Testberichte Der Bereich Testberichte (reviews.php) ist ein Teil des PHPNuke Portals, in dem Besucher Bewertungen abgeben können. Dabei kann zu einem Artikel, Produkt, einer Website usw. ein Bericht geschrieben werden. Die Startseite erklärt sich von selber. Die Bereiche „Reviews Section Title“ und „Reviews Section Long Description” können über das Admin Menü geändert werden. Während im unteren Teil steht, wie viele Berichte insgesamt vorhanden sind und die letzten bzw. meistgelesenen Berichte angezeigt werden, kann über die Buchstabenleiste nach einem PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 91/124 bestimmten Bericht gesucht werden. Ein neuer Testbericht wird über den Link „Testbericht schreiben“ verfasst. Ein Klick hierauf öffnet das Eingabemenü: PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 92/124 Dies sollte nicht zu kompliziert sein : Zuerst angeben, was genau Bewertet bzw. Vorgestellt wird. Danach wird der eigentliche Testbericht eingegeben. Wie immer in Nuke : Die grundsätzlichen HTML Befehle sind erlaubt. Für die detaillierteren Informationen folgen weitere Eingabemöglichkeiten: Der Autor der Bewertung muss Informationen über sich angeben. Zudem wird (natürlich) die Bewertung des Produktes verlangt. Hierbei kann auf eine Skala von 1 bis 10 zurückgegriffen werden. Später wird dies in Sternen dargestellt. Zu der Bewertung kann man einen Link angeben und diesem eine Bezeichnung zuordnen. Dies macht Sinn, um auf eine zugehörige Homepage zu verweisen. Eine schöne Idee ist, dass man eine Bilddatei angeben kann. Das angegebene Bild muss sich jedoch in dem Verzeichnis images/reviews befinden. Da Besucher keine eigenen Bilder hochladen können, wird dies in der Regel nichts bringen. IV. Die Suche Wenn man diese Seite ohne Angabe von Daten aufruft, wird automatisch eine Suche ausgeführt und es werden einfach alle Artikel als Suchergebnis zurückgegeben. Geben Sie einfach einen Suchbegriff ein und Sie erhalten die dazugehörigen Artikel: PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 93/124 Entgegen dem ersten Eindruck können auch die Bereiche Testberichte und die Extrabereiche durchsucht werden. Die zugehörigen Buttons erscheinen aber erst, wenn wenigstens ein Testbericht oder ein Artikel in den Extrabereichen besteht. Über die Dropdown-Menüs kann man seine Suche einschränken: Nach Thema, Kategorie, Autor und Erscheinungsdatum. In Zusammenhang mit der Suchfunktion muss die Suchbox gesehen werden. Eine Suche über die Suchbox nach einem Suchbegriff entspricht einer uneingeschränkten Suche über das Suchmodul. Tatsächlich wird bei einer Suche über die Suchbox das Suchmodul aufgerufen und die Ergebnisse präsentiert. V. Downloads Der Download Bereich gibt die über das Admin Menü eingepflegten Downloads wieder. Zum grundsätzlichen Aufbau ist nicht viel zu sagen, es werden die Kategorien angezeigt und in den Kategorien jeweils die Downloads. Über den Kategorien ist die Kopfzeile mit weiteren Funktionen zu sehen, hierzu sollten ein paar Worte gesagt werden: Über das Suchformular kann nach einem Stichwort gesucht werden; PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 94/124 durchsucht werden hierbei angegebene Beschreibung und Titel der Downloads. Darunter finden sich 4 Links, jeder mit einer eigenen Funktion. Die hintersten 3 listen ausgewählte Downloads auf : Die neuesten, die beliebtesten und die Downloads mit den höchsten Bewertungen. Nach welchen Kriterien ein Download als beliebt gilt, wird über das Admin Menü eingestellt. Von Interesse sollte die Funktion „Download hinzufügen“ sein. Jeder Benutzer kann hierüber einen Download vorschlagen. Dieser Vorschlag wird aber nicht sofort übernommen, sondern muss erst von einem Admin freigeschaltet werden! Mit einem Klick öffnet sich das Menü zum Eingeben eines neuen Downloads: PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 95/124 Der Aufbau entspricht dem im Admin Menü. Es sollte sich von selbst Erklären, nähere Erläuterungen in Kapitel 3. Wer übrigens die Texte ändern möchte, in diesem Fall „Anleitung :...“, wird in der Datei langgerman.php (Verzeichnis language) fündig. Also nicht lange in der Modul Datei suchen! VI. Die Statistiken Die Seite stats.php stellt die Zugriffe auf das PHPNuke System übersichtlich dar. Es wird hier aufgelistet, wie oft eine Seite innerhalb des PHPNuke Systems aufgerufen wurde und gibt einige Informationen über den Besucher wieder, etwa welches Betriebssystem und welchen Browser er eingesetzt hat. Auch sind Informationen über das PHPNuke System aufgelistet : Zahl der Autoren, welche PHPNuke Version wird eingesetzt, wie viele Kommentare wurden bereits verfasst usw. Diese Seite erklärt sich im weiteren von selber. Verantwortlich für das Zählen der Seitenaufrufe ist die Datei counter.php. Diese wird in der header.php automatisch aufgerufen, die header.php. Es wird also jede aufgerufene Seite in der Statistik mitgezählt, welche die Datei header.php nutzt. Wenn Sie nach dem obigen Beispiel eine eigene Seite erstellen, wird diese somit automatisch in die Statistik aufgenommen. VII. Inhalt Der Inhalt stellt die über das Admin Menü eingerichteten Seiten zur Verfügung. Besonders Attraktiv ist es, hier Seiten einzustellen und auf diese direkt zu verlinken. Das Inhalt Modul ist das geeignete Modul, um eigene HTML Seiten zu erstellen (die nicht wie Artikel aufgebaut sind, sondern wie „normale“ Seiten) und diese in das Portal einzubinden PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 96/124 VIII. Extrabereiche Die Seite „sections.php“ stellt Artikel zur Verfügung, die nicht in den sonstigen Themen aufgelistet werden sollen. Dies macht Sinn bei zeitlosen Artikeln. Die Artikel in den Extrabereichen können auch gesondert durchsucht werden. Die Darstellung erinnert stark an die Themendarstellung, es ergibt sich nichts neues in diesem Bereich. Die Verwaltung dieses Bereiches erfolgt über die Admin.php (wie immer). Wenn Sie ganze HTML Seiten einbinden wollen (etwa aus einem früher bestehenden Angebot) bietet sich eher der Bereich „Inhalte“ an. IX. FAQ In der FAQ werden die gespeicherten Fragen und Antworten angezeigt. Der Benutzer kann hier lediglich lesen und sich informieren. Verwaltung über das Admin Menü. X. Die backend.php PHPNuke Benutzer können per RSS News in die eigene Seite einbauen, das hatten wir ja bereits. Die Datei backend.php stellt anderen Benutzern die eigenen News als RSS Datei zur Verfügung. So können z.B. die Headlines von Netz-ID.de eingebunden werden, indem man als RSS Datei http://www.netz-id.de/backend.php angibt. Hierbei werden nur die Titel der letzten 10 Artikel in einer Box bei der fremden Seite dargestellt; wenn man den Artikel lesen möchte, muss man auf den Titel klicken und die eigene Seite öffnet sich in einem neuen Fenster mit dem entsprechenden Artikel. Somit gehen einem die News nicht „verloren“! PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 97/124 XI. Benutzerfunktionalität Zu einem vernünftigen Portalsystem gehört die Benutzerfunktionalität, das bedeutet, jeder Benutzer kann sich (auf Wunsch) registrieren und erhält dafür ein paar Funktionen mehr. Die zentrale Schnittstelle hierzu ist die Datei user.php. Bei Benutzern werden 3 verschiedene Formen unterschieden: - Anonym : Benutzer ist nicht registriert - Registriert : Benutzer hat sich registriert und ist eingeloggt - Registriert aber nicht eingeloggt : Benutzer hat sich registriert, auf seinem Rechner liegt aber kein Cookie. Beim nächsten Besuch wird er also nicht erkannt und muss sich erst einloggen. Wenn ein nicht registrierter Benutzer bzw. nicht eingeloggter User diese Datei aufruft, sieht er 2 Formulare : Eines zum registrieren und eines um sich einzuloggen. Das Formular zum Einloggen steht ganz oben und fragt in gewohnter Weise nach Benutzername und Passwort. Komplizierter ist das Registrierungsformular darunter: Gerade Anfänger haben Probleme damit, bzw. verstehen es nicht ganz. Es ist zu empfehlen, die kärgliche Dokumentation etwas auszubauen. Auch sollte man dem Benutzer sagen, was mit den angegebenen Daten geschieht, optimal ist es, einen eigenen Bereich in der FAQ dazu einzurichten und darauf zu verweisen. Vor allem sollte man klar stellen, dass bei einer Registrierung das Passwort erst per Email zugestellt wird, aus meiner Erfahrung weiß ich, dass viele neue Internet Nutzer dieses Verfahren nicht kennen und auch nicht verstehen, wo sie das Passwort erhalten sollen. Ein großes Problem ergibt sich, wenn die Zusendung des Passwortes nicht funktioniert! Grundsätzlich muss man nach einer PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 98/124 Neuinstallation testen, ob das Passwort ankommt, also einmal selber Registrieren. Aber selbst wenn dann alles klappt, kann es später Probleme geben. Um dem entgegenzukommen, am besten Hinweise schalten, um den Benutzer bei Problemen aufzufordern, sich zu melden – ansonsten kann es passieren, dass man Mitglieder verliert. Wenn sich nun ein registrierter Benutzer einloggt, findet er seine persönliche Seite („Dein Account“): Die Funktionen sind nicht sonderlich kompliziert: Unter „Ihre Informationen“ können die angegebenen, persönlichen Informationen verändert werden. Mit „Startseite anpassen“ kann der Benutzer die Startseite etwas personalisieren, so kann er angeben, wie viele Artikel auf der Startseite angezeigt werden und er kann sich eine eigene Box einrichten. Diese Box ist eine Systembox und kann im allgemeinen vom Admin in Blockmenü geändert werden. Es ist dabei zu beachten, dass die Benutzereinstellungen die allgemeinen Einstellungen ignorieren! Wenn man im Adminmenü einstellt, dass auf der Startseite nur 5 Artikel erscheinen sollen, der Benutzer hat aber 10 Eingestellt, dann erscheinen beim Aufruf durch den Benutzer 10 Artikel und nicht 5 auf der Startseite! PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 99/124 Die Kommentaransicht dient der Einstellung, wie Kommentare sortiert werden. Benutzer werden vor allem die Option „Seitenansicht“ mögen, hier können sie aus allen installierten Themes eines auswählen, also sich selber aussuchen, wie die Seite aussehen soll. Selbstverständlich wird dieses Theme nur bei dem spezifischen Benutzer angezeigt und gilt dann nicht für alle! Die letzte Option „Abmelden“ dient zum Ausloggen. Der Benutzer meldet sich aus dem System ab und sein Cookie wird gelöscht. Der Benutzer wird allerdings nicht aus dem System gelöscht! Beim nächsten Besuch kann er sich wieder einloggen. Hierin liegt die Schwäche des PHPNuke Systems: Der Benutzer kann seinen Account nicht löschen. Einmal angemeldet, gibt es für ihn keine Möglichkeit, seine Daten wieder komplett zu löschen. Dies ist auch rechtlich problematisch, da in Deutschland eine solche Option vorgeschrieben ist (Teledienstedatenschutzgesetz). Artikel dazu und eine Anleitung, wie man diese Option nachträglich einbauen kann gibt es bei www.netz-id.de. PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 100/124 Kapitel 6 : Module I. Was sind Module Module sind funktionelle Erweiterungen des PHPNuke Systems. Module sind seit PHPNuke5 verfügbar; das besondere ist, dass diese lediglich kopiert werden müssen und man keine bestehenden Dateien verändern muss. Man kann somit kinderleicht z.B. ein Forum, ein Kontaktformular usw. nachinstallieren. Wenn man ein Modul installiert, erscheint es automatisch im Hauptmenü als Link unter „Andere Optionen“ und kann dort aufgerufen werden. Der Zugriff auf die Module erfolgt über die Datei modules.php, der Aufruf ist immer gleich : modules.php?name=Members_List Hinter „name=“ wird der Name des Moduls angegeben. II. Programmierung eigener Admin-Module Für PHPNuke zusätzliche Software schreiben ist gar nicht mal so schwer. Ein eigenes Admin Modul verfassen schreckt allerdings ein wenig ab, wenn man zum ersten Mal die reine Ordnerstruktur betrachtet und nicht weiss wo man Ansetzen soll. Tatsächlich aber bietet PHPNuke mit seinem (einfachen!) System die Möglichkeit, ein jederzeit einzubindendes Modul zu erzeugen, mit dem auch andere Ihre Freude haben können. Das Programmieren eigener Module läuft nach dem gleichen Schema ab. Ausführungen dazu werden hier nicht aufgeführt, konkrete Beispiele gibt es im PHPNuke Buch III. Die Verzeichnisse Ein Blick in das Verzeichnis „admin“ offenbart 3 Unterverzeichnisse: - case PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com - links - modules - language Seite 101/124 Jedes dieser Verzeichnisse hat eine eigene Funktion: - case : Was ist zu tun - links : Eintrag im Admin Menü - modules : Das eigentliche Programm - language : Hier liegen die Sprachdateien In der chronologischen Reihenfolge kommt also zuerst „links“ (dort wird erst der Eintrag im Admin Menü erzeugt), danach „case“ (was ist bei einem Klick zu tun) und zuletzt das ausführende Skript in „modules“. In dieser Reihenfolge wird hier nun auch vorgegangen. IV. Die Verzeichnisse : „links“ Jede einzelne Datei in diesem Verzeichnis stellt einen einzelnen Eintrag (Button) im Adminmenü dar. Der Name der jeweiligen Datei spiele keine Rolle, wichtig ist alleine, dass sie mit „links.“ beginnt. Alle Dateien die diesen Anfang haben, werden der Reihe nach in das Adminmenü eingebunden. In eine solche Datei kommt ein 3 Zeiler: if ($radminsuper==1) { adminmenu("admin.php?op=upload", "Datei hochladen", "upload.gif"); } Das bedeutet: Wenn der aufrufende Admin ein “Superadmin” ist, soll ein Button angezeigt werden der als Link auf "admin.php?op=upload" verweist, den Titel „Datei hochladen“ trägt und als Bild wird „upload.gif“ (aus dem Verzeichnis images/admin) angezeigt. Das war schon der erste Teil, wenn man dies nun als Datei links.upload.php unter admin/links abspeichert ist beim nächsten PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 102/124 Aufruf des Adminmenüs der neue Button zu sehen. Wenn man allerdings darauf klickt passiert nicht allzu viel, dazu ist das nächste Verzeichnis. V. Die Verzeichnisse : „case“ Oben wurde ein neuer Button eingefügt. Der Link auf die admin.php mir „op=upload“ existiert allerdings nicht. Es muss nun eingestellt werden, was in diesem Fall geschehen soll. Genauer: Welches Skript soll aufgerufen werden, wenn hierauf geklickt wird? Dazu muss im Ordner „case“ wieder eine eigene Datei angelegt werden. Hier muss am Anfang „case.“ Stehen, der Rest ist wieder gleichgültig. Als Beispiel nehmen wir hier „case.upload.php“. Auch hier ist der Standardcode recht kurz: if (!eregi("admin.php", $PHP_SELF)) { die ("Access Denied"); } switch($op) { case "upload": include("admin/modules/upload.php"); break; } Die erste Zeile soll vermeiden, dass die case.* Datei direkt aufgerufen wird und immer die admin.php dazwischen geschaltet ist. Die Zeile danach ist eine einfache switch() Anweisung, mit der je nach $op auf das entsprechende Skript verwiesen wird. In unserem Fall liegt nur eine $op (nämlich „upload“) vor. Diese verweist im Beispiel nun auf die Datei upload.php im Verzeichnis „admin/modules“. Mehr macht diese Datei nicht: Sie bestimmt, welches Skript bei welcher Aktion einschlägig ist. PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 103/124 VI. Die Verzeichnisse : „modules“ Hier kommen wir nun zum Kernstück des ganzen. Hier steht das eigentliche Skript. Der Dateiname ist egal, abgelegt wird das Skript unter „admin/modules“, wie bereits gezeigt wurde, verweist die entsprechende Datei unter „case“ auf dieses Skript. Am Anfang sollte man die üblichen Zeilen aus PHPNuke übernehmen: if (!eregi("admin.php", $PHP_SELF)) { die ("Access Denied"); } $result = sql_query("select radminsuper from ".$prefix."_authors where aid='$aid'", $dbi); list($radminsuper) = sql_fetch_row($result, $dbi); if ($radminsuper==1) { Damit wird zuerst geprüft, dass das Skript nicht direkt sondern über die admin.php aufgerufen wird. Ausserdem wird nachgeprüft ob der aufrufende Autor auch wirklich ein „Superadmin“ ist. Im ürbigen kann man nun sein eigenes Skript verfassen. Ein Hinweis: die folgenden Funktionen gehören am Anfang mit eingebunden: include("header.php"); GraphicAdmin(); Die header.php sorgt dafür, dass das Theme erhalten bleibt, die Funktion GraphicAdmin() zeigt das Adminmenü an. Wer Anregungen braucht, kann in die vorhandenen Module hineinsehen, diese folgen immer der gleichen Struktur. PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 104/124 Kapitel 7 : Sicherheit in PHPNuke Die Frage der Sicherheit stellt sich bei Portal Systemen wie PHPNuke in einer anderen Weise als bei „normalen“ Internetseiten, die alleine auf HTML basieren. Bei einer rein HTML basierten Homepage der „normalen“ Art ohne Webinterfaces via CGI/PHP kann ein Hacker nur dann etwas verändern, wenn er sich Zugang zum Server verschafft und neue Dateien hochlädt – ein gut ausgesuchtes Passwort ist hier bereits ein guter Schutz; allerdings auch alles, was man schon tun kann. Beachten Sie unser Portal unter http://www.phpnuke-security.com; Hier bieten wir Ihnen aktuelle Sicherheitslöcher und eine Auflistung bestehender Sicherheitsprobleme I. Neu : Das Admin-Menü Bei einem Portalsystem wie PHPNuke ist das dann schon anders: Der Hacker kann sich zum einen auf den Server hacken und neue Dateien hochladen, insofern nix neues. Problematisch aber ist, dass es nun auch ein Webinterface gibt: Das Admin Menü (admin.php). Der Hacker muss nun also gar nicht mehr auf den Server selber gelangen, um Daten zu ändern! Vielmehr genügt es, den Zugang zum Adminmenü zu bekommen, um z.B. negative Artikel zu schreiben, Benutzerdaten zu löschen oder zu verändern. Da der Admin ja auch unter seinem Namen Artikel schreibt, kennt der mögliche Hacker auch bereits den Zugangsnamen, lediglich das Passwort muss er herausfinden. Aufgrund letzter Statistiken nutzen die meisten Benutzer immer noch Passwörter wie den Namen der Frau, Geburtstag o.ä. Es wird somit Hackern (und Möchtegern-Hackern) der Zugriff stark erleichtert, da man mit ein wenig Raterei bereits Passwörter herausfinden kann. PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 105/124 Also: Am besten eine wahllose Zeichenkette, mit unterschiedlicher Gross/Kleinschreibung verwenden.! II. Die Sache mit den Skripten Ständig schreibt jemand zu PHPNuke mehr oder weniger nützliche Skripte. Seit der Modularisierung von PHPNuke können diese Skripte nun auch leicht in jede PHPNuke Seite eingebaut werden. Doch es ist Vorsicht geboten: Wer den Drang dazu verspürt, wird schnell auf die Idee kommen, in ein solches Skript einige zusätzliche Zeilen einzubauen. So könnten durchaus die hinterlegten Zugangsdaten zur Datenbank ausgelesen und per Email versendet werden (im Juli 2001 wurde erstmalig ein solches Skript gefunden). Zum Glück sind aber immer die Codes ersichtlich, so dass man jederzeit die Codes durchsuchen und entsprechende Zeilen entfernen kann. Es darf aber nicht außer acht gelassen werden, dass viele Nutzer von PHPNuke keine Programmierer sind und auch einige Probleme mit PHP haben, so dass sie nicht wissen, wie man solche Zeilen erkennt. Da ich hier nicht nur verunsichern möchte, folgen nun einige prinzipielle Erklärungen, damit jeder Benutzer sich mit der Materie vertraut machen kann. III. Das Auslesen der Daten Ein böser Mensch, der Schaden zufügen möchte, wird zuerst einmal die Zugangsdaten benötigen. Unser Vorteil: Diese werden lediglich an einer Stelle angegeben: In der config.php und zwar in den Variablen: dbhost, dbpass, dbuser, dbname (siehe dazu auch in Kapitel 2). Logischerweise wird der Hacker nun auf irgendetwas zugreifen müssen, entweder auf die config.php oder auf die Variablen! Dies ist bereits eine große Hilfe: Einfach die neuen Codes, die eventuell installiert werden sollen, nach diesen Begriffen „config.php“ oder z.B. „$dbhost“ durchsuchen. Wann immer diese PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 106/124 Werte vorkommen, genau betrachten, was da eigentlich geschieht! Die gängigsten Methoden werden im folgenden kurz dargestellt. IV. Kopieren der config.php Ein nicht zu verachtendes Problem: Ein kopieren der config.php unterbinden! So ist es ein leichtes, mittels copy(‚config.php’,’test.txt’); die komplette config.php in eine test.txt Datei zu kopieren. Diese Test.txt muss man nun nur im Browser aufrufen und schon sieht man alles. Das einfachste Kommando hierzu ist das „copy“ Kommando. Wann immer damit auf die config.php zugegriffen wird: Dieses Skript nicht installieren! Ich kann mir im Moment nicht vorstellen, dass ein Skript derart auf die config.php zugreifen muss, ohne dass dahinter böse Gedanken stehen! Ein komplizierterer Weg anstelle des Copy-Kommandos ist es, die Datei zu öffnen und sequenziell auszulesen. Hierzu müsste mittels fopen auf die config.php zugegriffen werden. Hier gilt das gleiche wie oben! Generell sollte das fopen Kommando nur sehr selten genutzt werden müssen, tatsächlich ist mein MetaTag Skript zur Zeit dass einzige, dass ich kenne. FOpen wird eigentlich nur benötigt, wenn man Informationen in Dateien und nicht in der DB hinterlegen möchte! V. Zugriff auf die Variablen Wer nicht auf die config.php als solche zugreift, wird zum auslesen der Zugangsdaten auf die einzelnen Variablen zugreifen müssen! Das bedeutet, der Hacker wird z.B. die Variable „$dbhost“ direkt ansteuern und somit in seinen Quellcodes nutzen müssen. Vorteil für uns: Diese Variable sollte niemals verwendet werden müssen! In der mainfile.php wird bereits eine Datenbankverbindung aufgebaut, die PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 107/124 jedes Skript nutzen kann, ein direkter Rückgriff auf die Zugangsdaten ist nicht nötig. Also (ganz primitiv) alle Dateien des neuen Skripts nach den Variablen für die Zugangsdaten durchsuchen. Sollten Sie genutzt werden : Vorsicht! VI. Die Daten erhalten Unser kleine Möchtegern-Hacker wird im folgenden irgendwie die ausspionierten Daten erhalten müssen. Primitiv, aber häufig genutzt ist das zumailen mit dem „mail()“ Kommando. Am besten einfach alle Dateien nach dem Begriff „mail(„ durchsuchen und die Ergebnisse betrachten. Verdächtig ist jede Zusendung an eine im Code fest eingebaute Email Adresse die Sie nicht zuordnen können! VII. Die Sache mit dem CHMOD In den Installationsanleitungen (auch hier) wird normalerweise Empfohlen, auf alle Dateien ein CHMOD 666 und auf alle Verzeichnisse ein CHMOD 777 anzuwenden. Das hat Vorteile in der Bedienung – aber auch starke Nachteile im Bereich der Sicherheit. Wenn jemand irgendwo ein Sicherheitsloch findet um Dateien auf dem Server umzukopieren, kann er zB die config.php in eine test.txt umkopieren und sich diese Problemlos mit dem Browser ansehen. Wer auf Nummer Sicher gehen möchte, sollte allen Dateien die Schreibrechte entziehen – ausgenommen config.php & ultramode.txt. Genauso sollte nur noch das Verzeichnis „cache“ mit Schreibrechten belegt sein – alle anderen Verzeichnisse dürfen nur Lesbar und Ausführbar sein. Das Manko hierbei ist aber, dass dann der Systeminterne Filemanager nicht mehr funktioniert. PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 108/124 VIII. SQL Injection Ein neues Wort mit dem wenige etwas Anfangen können. Hier nunn das kurze Prinzip. Wenn neue Daten in eine Datenbank geschrieben werden, sieht das in etwa so aus: INSERT in tabelle WERT1=1 Einfaches Beispiel. Wenn nun für Wert1 eine Variable aus dem Querystring übernommen wird, sieht das etwa so aus: Querystring: insert.php?var1=1 INSERT in tabelle WERT1=var1 Nun könnte man auf die Idee kommen, die var1 zu erweitern. Etwa um einen WERT2, den es in der Tabelle ja auch gibt. Ein Beispiel hierfür: Querystring: insert.php?var1=’1,WERT2=2’ Auf den ersten Blick macht dieser Querystring keinen Sinn. Doch wenn man nun den Wert für var1 in das SQl Kommando einsetzt sieht man, was passiert: INSERT in tabelle WERT1=var1,WERT2=2 Auf diese Art können „unschuldige“ Variablen um Anhängsel erweitert werden, die dann zu einem unbeabsichtigten Ausbau des SQl Kommandos führen. Unterbinden kann man dies nur durch eine explizite Prüfung der Variablen und durch Vollständige Queries im Code. IX. Schmuggeln von Code Ein anderes Problem ist das einschmuggeln von Code. So war es einmal „Mode“ über die Kommentarfunktion Javascript Code PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 109/124 einzubinden. Dieser JS Code bewirkte zum Beispiel eine Weiterleitung des Besuchers auf eine andere Seite im Web. Dadurch das Benutzer Kommentare schreiben können, können Sie natürlich auch ungewollte Inhalte hinterlegen. PHPNuke kann solche Tricks filtern, dennoch empfiehlt es sich, wenigstens nur registrierten Benutzern die Kommentarmöglichkeit anzubieten. X. Hilfe!? Der normale Programmierer wird schnell sehen, was ein Code bewirkt und auch (hoffentlich) schnell alle anderen mit Artikeln warnen. Wer jedoch nur wenig Erfahrung mit PHP hat, wird sich nicht immer sicher sein, ob eine Zeile nun „gut“ oder „böse“ ist. Eines vorab: Bitte nicht panisch reagieren! Wer sich nicht sicher ist, aber einen Verdacht hat, kann in den Diskussionsforen bei phpnuke.de und bei netz-id.de posten, bei netz-id.de gibt es ein eigenes Forum zur Sicherheit. Andere (erfahrene) Programmierer werden gerne weiterhelfen und im Ernstfall auch wissen, was zu tun ist. Ich habe in dieses Kapitel bewusst nur allgemeine Informationen und Hilfen gesteckt. Vor allem habe ich darauf geachtet, nur Techniken zu beschreiben, die ich bereits aus „PHPNuke-Viren“ oder in Form von Artikeln von anderen Seiten kenne. Ich versuche, niemandem hier eine Anleitung zum „Viren basteln“ zu geben, aus diesem Grund ist dieses Kapitel auch nicht vollständig. So habe ich z.B. eine Technik außen vor gelassen, die bisher noch nicht offen diskutiert wurde. Immer wenn ein neuer Versuch mit einer neuen Technik bekannt wird, erweitere ich dieses Kapitel PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 110/124 Kapitel 8 : PHPNuke im Netz PHPNuke erfreut sich großer Beliebtheit – inzwischen gibt es viele Seiten im Internet zu diesem Thema. Wir haben sehr umfangreiches Seitennetzwerk aufgebaut, das Ihnen vielerlei Seiten bietet: PHPNuke.de : Die Startseite ins Netzwerk Netz-ID.de : Tutorials, News & Workshops Nukeforums.de : Ihr Diskussionsforum Nukedownloads.org : Diverse Downloads Homepage-Tutorials.de : Tutorials & Workshops PHPNuke-Book.com : Die kostenlosen Anleitungen & das Buch PHPNuke-Security.com : Das Sicherheitsportal Seiten anderer Anbieter zum Thema: Nukethemes.de : Umfassende Themesammlung Warp-Speed.de : Umfassendes Downloadarchiv Webhosteranalyse : Eine umfassende FAQ für PHPNuke PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 111/124 Kapitel 9 : PHPMyAdmin Wer längere zeit mit PHPNuke arbeitet, wird nicht umhin können, ein wenig an der Datenbank zu ändern. Bereits bei der Installation muss man ja auch schon eine Datenbank erstellen und Tabellen einpflegen. Da die meisten Provider hier zur Verwaltung auf phpMyAdmin setzen, folgen einige Erläuterungen zum Einsatz und zur Nutzung dieses Tools. Keine Erläuterungen mache ich vorerst zur Installation von phpMyAdmin. Nachdem man bei seinem Provider eine Datenbank eingerichtet hat und zum ersten Mal phpMyAdmin aufruft, erwartet einen wenig aufregendes: PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 112/124 Der linke (dunklere) Teilbereich stellt die verfügbaren Datenbanken dar. Meistens wird man hier nur eine sehen, da Provider einem zumeist nur eine Datenbank zur Verfügung stellen. Das rechte Teilfenster zeigt einem die verschiedenen Optionen, die man durchführen kann. Oben steht (noch), dass keine Tabellen existieren. Das holen wir gleich nach. Mit „Print view“ kann man drucken. Interessanter und wichtiger sind die folgenden beiden Formularfelder: In dem großen kann man SQl Befehle eingeben und auf „Go“ klicken, diese werden dann ausgeführt. Bei PHPNuke wird einem aber eine SQL Datei mitgeliefert, dazu ist das nächste, kleinere Fenster. Wenn man daneben auf „Durchsuchen“ klickt, kann man auf seinem Rechner eine Datei auswählen: Hierbei muss man die nuke.sql Datei auswählen und danach auf „Go“ klicken. Es wird nun von phpMyAdmin die nuke.sql Datei ausgeführt und die Tabellen werden erzeugt. Es kommt eine Bestätigung und plötzlich sieht alles anders aus: PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 113/124 Dort wo vorher noch „Keine Tabellen“ stand, sieht man nun alle angelegten Tabellen. Am Ende steht „Records“, das sind die Anzahl Datensätze in dieser Tabelle. Vor den Records stehen die Aktionen, die man ausführen kann: - Browse : Tabelle und Einträge durchsehen - Select Datensätze in dieser Tabelle spezifisch durchsuchen - Insert : Neuen Datensatz hinzufügen - Properties . Die Eigenschaften betrachten - Drop : Tabelle löschen - Empty : Alle Datensätze aus dieser Tabelle löschen Bevor ich auf einige Funktionen näher eingehe, noch kurz etwas zur Startseite. Dort sind noch die Optionen: PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 114/124 das „Query by Example“ ist eine Suchfunktion. Bedeutend ist das folgende „view dump“! Hiermit kann man seine Datenbank problemlos kopieren: Mit Struktur oder Struktur und Daten kann man aussuchen, was man sichern möchte: Nur die Tabellen als Struktur oder auch gleich die darin enthaltenen Datensätze. Hierhinter gibt es 3 Felder: - Drop : Die DB wird gelöscht (ACHTUNG!) - Send : das Ergebnis wird als Datei auf dem eigenen Rechner gespeichert - Complete Inserts : Vollständige Insert-Befehle abrufen Zum Backup einfach „Struktur und Daten“ sowie „Send“ auswählen. Keinesfalls „Drop“!. Wenn man nun auf Go klickt, öffnet sich ein Downloadfenster und man kann eine SQL Datei auf dem Rechner abspeichern. Diese kann später problemlos über PHPmyAdmin installiert werden! (Genauso wie die Nuke.sql). PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 115/124 Kapitel 10 : Kleine FAQ Hier nur schnell ein paar Fragen und Verweise dazu. Eine ausführliche FAQ finden Sie unter http://www.webhosteranalyse.de. Nutzen Sie bei Fragen auch das Stichwortverzeichnis zu diesem Dokument I. Installation & erstes Testen a) Wie installiere ich PHPNuke ? Dazu habe ich hier ein eigenes Kapitel geschrieben !? Siehe das gesamte Kapitel 2. b) Was benötige ich für PHPNuke ? Siehe Kapitel 1, Teil II c) Wie viel Platz benötigt PHPNuke ? Siehe Kapitel 1 d) Wie installiere ich PHPNuke unter einem Windows-System? Siehe Kapitel 1 e) Ist PHPNuke frei verfügbar ? Ja, es ist jedenfalls bis zur aktuellen Version 5.0.1 frei verfügbar und darf kommerziell wie nicht-kommerziell eingesetzt werden. Es ist unter der GPL (General Public License) veröffentlicht – Sie liegt PHPNuke als Textdatei bei. In dieser Lizenz stehen alle wichtigen Infos zur Weiterverbreitung. Aktuelle Infos zu PHPNuke immer bei www.phpnuke.org f) Darf ich PHPNuke verkaufen Nein, das Skript gehört Ihnen nicht und es wäre mit der GPL unvereinbar. Allerdings können Sie eine Dienstleistung „Installation“ erbringen und hierfür Geld verlangen. PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 116/124 g) Wie entferne ich die Copyright Zeile Bis zur Version PHPNuke 5.5 über die Einstellungen im Admin Menü, Bereich Footer. Ab Version 5.6 ist das Entfernen der Footer unzulässig und führt mit großer Sicherheit zu Ärger h) Kann ich mehrere PHPNuke Seiten mit einer Datenbank einrichten? Ja das geht, Kapitel 2 i) Warum erhalte ich beim ersten Laden eine Fehlermeldung und ist kein Design zu sehen ? Siehe Kapitel 2 j) Ich bekomme immer die Fehlermeldung „crypt() not supported“! Siehe Kapitel 2 k) Wie kann ich eigene Seiten hinzufügen ? Siehe Kapitel 4 l) Wie kann ich prüfen, ob es sich um einen registrierten Benutzer handelt? Siehe Kapitel 4 m) Warum erhalte ich beim Speichern meiner Einstellungen nur Fehlermeldungen ? Siehe Kapitel 3 n) Ich habe meinen Superadmin gelöscht, bzw. die Rechte aberkannt. Was nun ? Kein Grund zur Panik, siehe Kapitel 3 PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 117/124 o) (Wie) werden eigene Seiten von der Statistik Funktion erfasst ? Siehe Kapitel 5 II. Verwaltung der Seiten III. Module / AddOns & Updates hinzufügen a) Wie installiere ich ein Modul ? Module müssen meistens lediglich kopiert werden; Kapitel 7, Teil I b) Ich möchte nicht, dass Module unter „Andere Optionen aufgeführt werden“! Kein Problem, siehe 7, II c) Wozu ist die Datei backend.php Siehe Kapitel 6 d) Warum werden meine Banner nicht angezeigt? Siehe Kapitel 3 IV. Fehler in Nuke a) Was wenn ich einen Fehler (Bug) in PHPNuke gefunden habe und die Lösung suche? Unter nukeforums.de stehen differenzierte Foren zur Verfügung. Hier kann man seine Frage jederzeit stellen. Aber : Erst über die Foren Suche nachsehen, ob diese Frage bereits beantwortet wurde – PHPNuke ist inzwischen schon recht alt, die Chance einen Bug zu finden, den noch keiner kennt, ist doch recht gering. b) Wie gehe ich am besten vor, wenn ich zu einem neuen Fehler die Lösung habe? Andere Benutzer werden dankbar sein: Bei phpnuke.de und phpnuke.org einfach einen Artikel schreiben. Wenn der Bugfix als PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 118/124 einzelne Datei vorliegt, bei www.nukedownloads.de im Download Verzeichnis den Bugfix vorschlagen! PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 119/124 Kapitel 11 : Impressum Dieses Dokument wurde verfasst von Jens Ferner 2F Promoting & Consulting An der Mönch Hof Sod 5 52477 Alsdorf Telefon & Fax : 0700-23526683 (12 ct. / Minute) Internet : http://www.2f-promoting.com Email : [email protected] Weitere Tutorials und Workshops finden Sie unter http://www.homepage-tutorials.de 2F Promoting & Consulting bietet auch PHPNuke Dienstleistungen an: - Suchmaschinenoptimierung - Programmierung individueller Skripte - Erstellung von Seiten auf PHPNuke Basis Beachten Sie auch die Bücher von Jens Ferner, Informationen verfügbar unter 2F-Promoting.com PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 120/124 Kapitel 12 : Stichwörter $dbhost ............................... 13 Kunde anlegen .................31 $dbpass............................... 13 Kundenlogin .....................34 $dbuname ........................... 13 Optionen...........................71 $prefix ................................. 17 Übersicht ..........................33 $sitename............................ 69 Benötigte Ressourcen ...........7 $system............................... 13 Benutzer Admin Bearbeiten........................55 Gelöscht .......................... 22 Modifizieren......................55 Passwort vergessen ........ 22 Bewertungen........................74 Versehentlich gelöscht..... 22 Blöcke ..................................36 admin.php ........................... 20 Beispiel zum Anlegen aus Administrator anlegen ......... 20 Datei .............................44 Administratoren ................... 54 Biggest Story....................44 Artikel Eigene anlegen ................40 Auf Startseite ................... 27 Ephemeriden....................42 Formatierung ................... 29 Headlines .........................46 Programmieren ................ 28 Kategorien........................43 Schreiben ........................ 25 Letzte Artikel ....................42 Struktur ............................ 27 Login Box .........................44 Themen verwalten ........... 77 Mit Funktionen..................41 Verwaltung....................... 27 RDF..................................38 Zeitabhängig veröffntlichen Reihenfolge ......................37 ..................................... 28 Sichtbarkeit festlegen .......36 backend.php........................ 46 Sprachen..........................42 Einstellungen ................... 71 Sprachenspezifisch ..........70 Backup ................................ 30 Suche ...............................42 Banner Systemblöcke...................39 Anlegen ........................... 32 Tagesmotto ......................42 Fehlerquellen................... 35 Umfrage ...........................44 PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 121/124 Wer ist Online .................. 42 DUMP ..................................30 Zufällige Headlines .......... 43 Eigene Blöcke......................40 Boxen .................................. 36 Eigene Seite ........................48 Cache.................................. 48 Einstellungen .......................69 categories............................ 27 Allgemeines......................69 CHMOD............................... 14 Grafiken im Admin Menü..72 CMS Kommentare.....................72 Übersicht ........................... 9 Email config.php............................ 12 Senden bei Artikel ............71 Content Manager ................ 48 Enzyklopädie .......................56 Cookie ................................. 21 Ephemeriden .................42, 57 und Sprache .................... 21 FAQ .....................................59 Copyright........................... 6, 9 Fehler crypt() .................................. 13 Bei Thema steht ein Rotes X Dateirechte.......................... 14 ......................................26 Datenbank Anlegen ........................... 15 Beim ersten Laden ...........16 Trotz umstellung alles in Backup............................. 30 Englisch ........................21 Optimieren ....................... 68 Flaggen................................70 Tabellen erstellen ............ 15 Footer ..................................71 Datenbank konfigurieren ..... 12 Forum ..................................59 Datenbanken Anlegen ............................59 Unterstützte ....................... 7 Icons.................................62 Datenbankserver ................. 13 Kategorie..........................59 Datenbanl Konfigurieren....................61 Eine DB und mehrere Ranks ...............................61 Portale.......................... 17 Smilies..............................62 define .................................. 19 Verbannen........................63 Download Zensur ..............................63 Hinzufügen ...................... 53 FoxServ .................................8 Kategorien ....................... 51 Freischalten von Arikeln.......76 Downloads .......................... 50 Fußzeilen .............................71 PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Seite 122/124 Glossar................................ 56 myphpnuke ............................8 GPL ....................................... 6 MySQL...................................7 Grafiken im Admin Menü Newsletter............................67 anzeigen .......................... 72 Versenden........................68 Headlines ............................ 46 nuke.sql ...............................15 Hochladen ........................... 14 Beispiel zum hochladen .115 http-Referer ......................... 63 Schnellanleitung ...............16 Interbase ............................... 7 ODBC ....................................7 Kategorien........................... 27 Optimieren Kommentare Optionen .......................... 72 Konfigurieren config.php ........................ 12 Datenbank........................68 Passwort vergessen ............22 phpBB ..................................59 PHP-CMS language-.php ..................... 18 Übersicht ............................9 Links.................................... 78 phpmyadmin ......................114 Login Backup der Datenbank...117 Bannerkunden ................. 34 Datenbank löschen.........117 Logo .................................... 69 nuke.sql laden ................115 Logout ................................. 79 Übersicht ........................114 md5()................................... 13 Mehrere PHPNuke Seiten und PHPNuke Benötigte Kenntnisse .........7 eine Datenbank ............... 17 Datenbank Backup ...........30 Mehrsprachige Optionen ..... 70 Download des Paketes.....12 Messages............................ 64 Einsatz ...............................6 Mitteilung Hochladen ........................14 Anlegen ........................... 64 Mitteilungen......................... 64 Module Kopieren...........................12 Mehrere Portale auf einer Datenbank ....................17 Installierte Verwalten ....... 66 Quellen.............................12 Modules............................... 66 Unterstützte Datenbanken..7 mSQL .................................... 7 Vorraussetzungen ..............7 Multilingual .......................... 70 Was ist das.........................6 PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com PHPNuke bekommen.......... 12 PHPTriad............................... 8 Seite 123/124 Sprache ...............................18 Trotz umstellung alles in PostgreSQL........................... 7 Englisch ........................21 PostNuke............................... 8 SQL Dump ...........................30 Prefix ............................. 13, 17 sql_layer.php .......................24 Quellen für PHPNuke .......... 12 SSH .....................................16 Ranks .................................. 61 Submissions ........................76 RDF..................................... 46 Sybase...................................7 Rechte setzen ..................... 14 Tagesmotto..........................57 Redaktionssystem ................. 6 Telnet...............................8, 16 Referer ................................ 63 Testberichte .........................74 Einstellungen ................... 73 Thatware................................9 Maximale Zahl ................. 73 Thema Reviews............................... 74 Artikel zuordnen ...............26 Root Verzeichnis ................. 14 Theme..................................70 Installation in.................... 14 Themen RSS..................................... 46 Verwalten .........................77 Schlagzeilen........................ 46 Traffic...................................51 Schreibfehler berichtigen..... 19 ultramode.txt ........................70 Schreibrechte ...................... 15 Umfragen .............................76 Sections .............................. 74 Einrichten .........................76 Seitenname ......................... 69 Kommentare.....................73 Settings ............................... 69 Unterverzeichnis ..................14 Shell .................................... 16 Installation in ....................14 Smilies................................. 62 user_prefix ...........................18 Speicherplatz Verbannen Benötigter .......................... 7 Im Forum..........................63 Spezial-Bereiche ................. 74 Voraussetzungen ...................7 Spinn Off ............................... 8 Web Katalog ........................78 Splitt Offs............................... 8 Web Links ............................78 Sprachdatei ......................... 18 Web-Portal System ................6 Fehler .............................. 19 Zeitgesteuerter Artikel..........28 PHPNuke 6.5 Documentation © Jens Ferner, http://www.2f-promoting.com Zensur Seite 124/124 Im Forum..........................63