Projektdokumentation - BBS
Transcription
Projektdokumentation - BBS
Projektdokumentation Webportal zur Präsentation von Projektarbeiten der Technikerschule von Thomas Post und Gunnar Wieking 2008 Persönliche Erklärung der Projektteilnehmer Thomas Post und Gunnar Wieking Wir, Thomas Post und Gunnar Wieking, versichern durch unsere Unterschrift, dass wir die Projektarbeit und die dazugehörige Dokumentation selbstständig in der vorgegebenen Zeit bearbeitet haben. Ebenso bestätigen wir, dass wir bei der Erstellung der Dokumentation keine vollständigen Passagen aus vorhergehenden Projektarbeiten übernommen haben. Wilhelmshaven, 14. Mai 2008 Thomas Post Gunnar Wieking Inhaltsverzeichnis 1 Einleitung......................................................................................................................5 2 Projektbearbeitung.......................................................................................................7 2.1 Projektbeschreibung...................................................................................................7 2.2 Ziel des Projektes.......................................................................................................8 2.3 Verwendete Software..................................................................................................8 2.3.1 Was ist pragmaMx?.............................................................................................9 2.3.2 Was ist PHP?.....................................................................................................11 2.3.3 Was ist MySQL?................................................................................................11 2.3.4 Was ist der MySQLDumper?.............................................................................12 2.3.5 Was ist Apache?................................................................................................12 2.4 Planung.....................................................................................................................12 2.5 Umsetzung................................................................................................................15 2.6 Fazit..........................................................................................................................26 3 Administrationshandbuch..........................................................................................29 3.1 Einleitung..................................................................................................................30 3.2 Erstmalige Portalerstellung.......................................................................................31 3.2.1 Konfigurationen unter Webmin..........................................................................31 3.2.1.1 Webmin Einstellungen...............................................................................31 3.2.1.2 Apache Einstellungen.................................................................................32 3.2.1.3 MySQL Einstellungen.................................................................................34 3.2.1.4 System Einstellungen.................................................................................36 3.2.2 Konfigurationen unter pragmaMx......................................................................37 3.2.2.1 Einbinden von pragmaMx..........................................................................37 3.2.2.2 Portal Design-Einstellungen.......................................................................42 3.2.2.2.1 Theme für das Portal auswählen........................................................43 3.2.2.2.2 Willkommen-Nachricht einrichten.......................................................43 3.2.2.2.3 Logo einstellen....................................................................................44 3.2.2.2.4 Icon einstellen.....................................................................................44 3.2.2.3 Portalverwaltung........................................................................................44 3.2.2.3.1 Wysiwyg-Editor einstellen...................................................................44 3.2.2.3.2 Themen verwalten..............................................................................45 3.2.2.3.3 SMTP-Mailserver-Einstellungen.........................................................45 3.2.2.3.4 Benutzer Neuzugänge........................................................................46 3.2.2.3.5 Artikel aktivieren..................................................................................48 3.2.2.3.6 FAQ.....................................................................................................48 3.2.3 Abschließende Arbeitsschritte...........................................................................49 3.3 Portal sichern............................................................................................................50 3.3.1 MySQLDumper Installation...............................................................................50 3.3.2 Datenbankbackup mit MySQLDumper..............................................................53 3.3.3 Webseite sichern...............................................................................................54 3.4 Portal wiederherstellen.............................................................................................54 3.4.1 Vorbereitung zur Wiederherstellung..................................................................54 3.4.2 Reaktivierung eines Datenbankbackups...........................................................57 4 Benutzerhandbuch.....................................................................................................61 4.1 Neuen Benutzer anmelden.......................................................................................61 4.2 pragmaMx verwenden..............................................................................................63 5 Anhang........................................................................................................................66 5.1 Wochenprotokolle.....................................................................................................66 5.1.1 Woche 1.............................................................................................................66 5.1.2 Woche 2.............................................................................................................67 5.1.3 Woche 3.............................................................................................................68 5.1.4 Woche 3a...........................................................................................................68 5.1.5 Woche 4.............................................................................................................68 5.1.6 Woche 5.............................................................................................................69 5.1.7 Woche 6.............................................................................................................69 5.1.8 Woche 7.............................................................................................................70 5.1.9 Woche 8.............................................................................................................70 5.1.10 Woche 9...........................................................................................................71 5.1.11 Woche 10.........................................................................................................71 5.2 Literaturverzeichnis...................................................................................................72 5.3 pragmaMx Skript.......................................................................................................73 Webportal zur Präsentation von Projektdokumentationen 1 Einleitung Der Abschluss der zweijährigen Fachschule Elektrotechnik erfordert die Durchführung eines Projektes. Dieses Projekt ist neben den schriftlichen Prüfungen als Teil der Abschlussprüfungen zu verstehen, woraus sich dessen Wichtigkeit erklärt. In einem solchen Projekt soll eine gestellte fachliche Aufgabe eigenständig durchdacht, ausgeführt und dokumentiert werden. Da es sich größtenteils um Projektteams handelt, stehen neben der rein fachlichen Bewältigung einer gestellten Aufgabe, auch persönliche Befähigungen im Vordergrund. Zu diesen auch Soft Skills genannten Dingen zählen unter anderem die Fähigkeit in einem Team zu arbeiten, Arbeitsschritte und Zeiten zu planen und aufzuteilen, sowie eine gemeinschaftliche Lösungsfindung. Daraus ergibt sich, dass seitens der TeamMitglieder auch ein gewisses Maß an Kompromissbereitschaft gefordert ist. Gerade dann, wenn es sich um ein „Luftschloss“, d.h. um ein rein gedankliches Konstrukt handelt, welches ohne genaue Vorgabe der äußeren Erscheinung oder seiner exakten Funktionsweise in die Realität umgesetzt werden soll. Zu diesem Punkt hat jeder eine eigene Vorstellung und favorisiert diese. Nur durch eine sachliche Diskussion und ein gemeinschaftliches Abwägen von Vor- und Nachteilen ist es möglich in die gleiche Richtung zu gehen und so gezielt das Problem zu lösen. All das sind Fähigkeiten, welche von einem Staatlich geprüften Techniker erwartet und durch das Projekt abverlangt werden. Das von uns, Thomas Post und Gunnar Wieking, durchgeführte Projekt entstammt einer Reihe von Vorschlägen, welche seitens der Lehrkräfte gemacht wurden. Da unser Interesse an Webapplikationen schon vorher recht groß war, jedoch beide bisher keinerlei Erfahrungen mit derartigen CMS-Systemen gesammelt hatten, war die Entscheidung schnell getroffen. Wir hoffen, dass unsere Arbeit soweit Zuspruch finden wird, dass sie auch tatsächlich umgesetzt und online gestellt wird. T. Post 5 G. Wieking Kapitel 2 Projektbearbeitung Webportal zur Präsentation von Projektdokumentationen 2 Projektbearbeitung 2.1 Projektbeschreibung Das exakte Projektthema lautet: Aufbau eines Webportals zur Präsentation von Projektarbeiten an den BBS-Friedenstraße Wilhelmshaven auf der Basis von 'pragmaMx', Schulung von Redakteuren. Das Vorliegende Projekt gliedert sich in folgende Teilprobleme: ● Erstellen eines Webportals mittels PHP basierender Software pragmaMx ● Verwendung von Apache und MySQL ● Auf dem Server bereits vorhandene Web-Präsenzen dürfen nicht beeinflusst werden ● Integration vorhandener Projektdarstellungen ● Download-Möglichkeit der Projektdokumentationen ● Schaffung eines Gästebuches ● Benutzerzugänge für die Projektteams sind vorzusehen ● Erstellen eines Administratorhandbuchs ● Planung der Einweisung der Projektteams in einer Schulung ● Erstellen von Schulungsunterlagen ● Ausarbeitung von Designregeln ● Festlegung der Arbeitsschritte für den Übergang auf das Produktionssystem und enge Zusammenarbeit mit Server betreuender Projektgruppe ● Übertragung auf das Produktionssystem ● Erstellung eigener Projektdokumentation ● Zusammenstellen der Software auf Datenträger ● Erzeugen einer eigenen Web-Präsentation als Bestandteil des Portals ● Präsentation T. Post 7 G. Wieking Webportal zur Präsentation von Projektdokumentationen 2.2 Ziel des Projektes An den BBS Friedenstraße werden Staatlich geprüfte Techniker verschiedener Fachrichtungen ausgebildet. Jedes Jahr verlassen Absolventen die BBSF und haben dazu ein Projekt abgeschlossen und dokumentiert. Dazu gehörte bis jetzt auch eine Darstellung des Projektes als Webseite. All diese Ausarbeitungen, die wirklich sehenswert sind und in denen ein großer Aufwand an Arbeit und Energie steckt, haben bisher in Kartons und Ordnern geschlummert und sind auf diese Art und Weise Außenstehenden nicht zugänglich gewesen. Um diesen Zustand zu ändern wird nun ein Portal geschaffen, das als Plattform zur Darstellung der einzelnen Projekte und deren Dokumentation dienen soll. Es soll extern zugänglich sein, sodass es auch nach außen hin die Leistungen der Absolventen und die Ansprüche die an diese gestellt werden offen legt. 2.3 Verwendete Software Zum Einsatz kommt u.a. folgende Software: ● Apache 2.2.6 ● Fedora 8 ● MySQL in der Version 5.0.45 ● MySQLDumper in der Version 1.22 ● PHP in der Version 5.2.4 ● pragmaMx in der Version 0.1.10.0 ● Webmin in der Version 1.400 Die für den Verwendungszweck maßgeblichen Programme sind hier pragmaMx, PHP und MySQL. Weitere viele kleine Programme und Pakete werden ebenfalls benötigt, werden aber größten Teils zur Erfüllung von Paketabhängigkeiten automatisch mit installiert. T. Post 8 G. Wieking Webportal zur Präsentation von Projektdokumentationen 2.3.1 Was ist pragmaMx? pragmaMx ist ein so genanntes CMS (Content Management System). Es ist in PHP programmiert und steht unter der GNU General Public License. Dadurch kann es von jedem frei und kostenlos verwendet werden. Dieses CMS hat zwar seine Wurzeln bei PHPNuke, jedoch wurde in Puncto Sicherheit und Stabilität viel verbessert. Der große Vorteil eines CMS gegenüber einer statischen Webseite ist seine enorme Modularität. So ist es möglich Aussehen und Verhalten sehr genau den Bedürfnissen anzupassen. Dies ist aber kein Nachteil. Obwohl pragmaMx sehr komplex ist und viele Freiheiten bei der Gestaltung ermöglicht, ist es nicht notwendig in PHP programmieren zu können. Dies ist zugleich die große Stärke von CMS-Systemen. Denn dadurch ist nahezu jeder in der Lage Beiträge auf einer Webseite zu veröffentlichen, ohne tiefere Kenntnisse über das System zu haben. Ein weiterer Vorteil ist die völlige Trennung von Inhalt und Aussehen. So ist es möglich das Design einer Webseite vollständig zu ändern ohne das Inhalte angetastet werden. Gerade hier liegt eine weitere Stärke von pragmaMx, da es durch seine Kompatibilität zu PHPNuke auch hier aus dem Vollen schöpfen kann. Die Systemanforderungen sind relativ gering. Es wird lediglich ein Server mit PHP ab Version 4.2.x und eine MySQL-Datenbank benötigt. Funktionen Die Steuerung des Systems erfolgt größtenteils über Blöcke und Module im Administrationsbereich. Nahezu alle wichtigen Funktionen werden durch einzelne Module eingebunden, die beliebig ein- und ausgeschaltet werden können. Durch die Blockverwaltung ist eine individuelle Gestaltung und Platzierung von Menüblöcken möglich. Des Weiteren können eigene Blöcke erstellt und hinzugefügt werden. Zum Funktionsumfang von pragmaMx gehören unter anderem: ● Artikelverwaltung (News, Kommentare, Abstimmungen) ● Contentmanager zur flexiblen Erfassung und Darstellung von Inhalten ● Download-Bereich ● Frei definierbare Bannerrotation ● Gästebuch ● integrierter WYSIWYG-Editor mit individuellen Berechtigungen ● Mediengalerie T. Post 9 G. Wieking Webportal zur Präsentation von Projektdokumentationen ● News- und Content-System ● Newsletter-Versand ● Seitenstatistiken und Besucherzähler ● Umfragenfunktion ● Weblink-Management Erweiterungen Durch die hohe Modularität von pragmaMx ist das Einbinden von weiteren Modulen möglich, welche nicht von vornherein Bestandteil des Systems sind. Dazu gehören, z.B. ● das Forenmodul „mxBoard“, ein eigenes Forensystem, ● die Coppermine Photo Gallery, die als Zusatzmodul für pragmaMx angepasst wurde und erweiterte Galeriefunktionen bietet, ● ein Kalendermodul, ● das Sommaire Paramétrable (Customize Menu), ein Werkzeug zur Kontrolle des Inhalts und des Aussehens von Menüs, ● ein Ticket System ● verschiedene Vorlagen zur grafischen Gestaltung. Sie können über das Modul „themes“ installiert werden und dann, je nach gewählter Grundeinstellung, vom Administrator oder auch von den einzelnen Benutzern individuell ausgewählt werden. Sicherheit Das Thema Systemsicherheit spielt bei pragmaMx eine wichtige Rolle. So enthält das CMS eine Reihe von Sicherheitsmerkmalen. Dazu zählen: ● Variabler HTML-Filter ● Usergruppenmanagement ● Variabler Datenbankprefix ● Schutz vor SQL-Angriffen ● Log von Änderungen der Systemeinstellungen ● Informationssystem über Angriffsversuche ● Steuerung der Zugriffsmöglichkeiten für Administratoren und Benutzer ● Sperrfunktion für Benutzernamen, IP-Adressen und E-Mail-Adressen T. Post 10 G. Wieking Webportal zur Präsentation von Projektdokumentationen 2.3.2 Was ist PHP? PHP ist eine Skriptsprache die u.a. dazu verwendet wird Webseiten dynamisch zu gestalten. Das besondere an PHP ist, dass diese Skripte nicht wie z.B. bei Javascript auf dem Rechner des Benutzers ausgeführt wird und der Zugriff auf Datenbanken von Hause aus unterstützt wird. Die Verarbeitung findet auf dem Server statt von dem Daten angefordert werden. Dem entsprechend ist der Ablauf eines Aufrufs einer PHP basierten Webseite etwa so: ● der Clientrechner fordert eine Webseite beim Server an ● daraufhin wird die geforderte Datei von der Festplatte des Servers geladen ● diese Datei wird dann an den Interpreter des Servers übergeben ● der Interpreter erzeugt aus den angeforderten Daten eine Datei, deren Format durch das Skript festgelegt ist. Daraus kann also eine HTML-Seite oder ein PDF-Dokument o.ä. entstehen ● diese erzeugte Datei wird dann an den Clientrechner als Antwort auf seine Anforderung zurückgegeben Aus diesem Ablauf wird deutlich, dass die Verarbeitung der Daten die CPU des Servers belasten. So sind auch aufwendige Webseiten mit geringer Hardware auf der Client-Seite darstellbar. Aber genau das kann für den Betreiber des Servers auch ein Nachteil sein. So wird z.B. bei jedem Aufruf eines Inhalts die angeforderte Datei neu generiert. Das bedeutet, dass bei häufigen Aufrufen die Rechnerlast steigt; im Umkehrschluss bedeutet dies aber auch, dass die Geschwindigkeit einer Webseite von der Leistungsfähigkeit der Serverhardware abhängt. 2.3.3 Was ist MySQL? MySQL ist eine freie Datenbanksoftware, die unter der General Public License (GPL) steht. Sie ermöglicht das Verwalten mehrerer Datenbanken welche jeweils aus einer Vielzahl von Tabellen bestehen können. Der Umfang dieser Datenbanken ist lediglich durch das Betriebssystem und die Hardware begrenzt. Die momentan verbreitetsten Anwendungen von MySQL sind Webanwendungen. Dies ist auch die Art wie MySQL bei pragmaMx verwendet wird. So werden die Anfragen mit PHP an die Datenbank gestellt. Derzeit ist MySQL mit mehr als 6 Millionen Installationen und über 35.000 Downloads pro Tag die populärste Open Source Datenbanksoftware weltweit. T. Post 11 G. Wieking Webportal zur Präsentation von Projektdokumentationen Eine weitere Anwendung für MySQL ist die Integration in datenbankbasierten Softwarepaketen. 2.3.4 Was ist der MySQLDumper? Der MySQLDumper ist ein Werkzeug um Backups von MySQL Datenbanken zu erstellen und diese wiederherzustellen. Dabei kann es sich auch um mehrere Datenbanken handeln. Dieses PHP basierte Programm besitzt weitreichende Konfigurationsmöglichkeiten und lässt sich optimal an seine Umgebung anpassen. So ist MySQLDumper z.B. in der Lage das Backup in Pakete vordefinierter Größe zu packen. Ein weiterer Vorteil ist seine Plattformunabhängigkeit. Es berücksichtigt außerdem die standardmäßige maximale Ausführdauer von PHP-Skripten von 30 Sekunden. Außerdem ist es durch sein Webinterface aus der Ferne mittels Webbrowser zu bedienen. Bei den Backups handelt es sich um .tar.gz Dateien die im Verzeichnispfad des MySQLDumpers abgelegt werden. 2.3.5 Was ist Apache? Apache ist ein mächtiger Webserver der sich sehr umfangreich den jeweiligen Bedürfnissen anpassen lässt. Diesem hohen Grad an Flexibilität, gepaart mit seiner Modularität, verdankt Apache seine Vormachtstellung unter den Webservern. Laut netcraft.com lag der Anteil von Apache bei Webserver im April 2008 bei 50,42%, wobei Apache acht mal unter den ersten zehn vertreten war. 2.4 Planung Der überarbeitete Webserver soll um die Möglichkeit der Präsentation von Projekten mit einem Portal auf pragmaMx Basis erweitert werden. Bereits vorhandene Web-Projektdokumentationen sollen dazu statisch eingebunden werden, zukünftige Projekte aber direkt innerhalb dieses Portals online präsentiert werden. Hierzu sollen für die Projektgruppen Benutzerzugänge entstehen, die das Einstellen der Beiträge durch die Gruppen selbst ermöglichen. Ebenso ist ein Gästebuch vorzusehen. Im Anschluss sollen alle anderen Projektgruppen für die Benutzung des Portals geschult werden. T. Post 12 G. Wieking Webportal zur Präsentation von Projektdokumentationen Arbeitsschritte: - Feststellung der benötigten Betriebsumgebung von pragmaMx - Anpassen von MySQL - Anpassen von Apache - Installation von pragmaMx - Einrichten von pragmaMx - Möglichkeit des Backups und der Weitergabe des Portals ermitteln - Einarbeiten vorhandener Webpräsentationen - Erstellung der Dokumentation nebst Handbüchern - Zusammenstellung der Software und des Ur-Backups Projektbeginn: 18.02.2008 Projektende: 19.05.2008 Betreuer: Herr Appenzeller Projektteam: Thomas Post und Gunnar Wieking Projektkosten: Als Kosten für die Umsetzung sind lediglich Kosten für Büromaterial und Fachliteratur an zuführen. Als Hardware wird ein bereits vorhandener Rechner mitverwendet. Sämtliche Software ist frei und somit kostenlos aus dem Internet zu beziehen. Aufgabenteilung: Thomas Post: - Anpassen von pragmaMx - Einarbeiten vorhandener Web-Präsentationen - Erstellen des Benutzerhandbuchs - Erstellung der Schulungsunterlagen Gunnar Wieking: - Systemintegration von pragmaMx - Strategieentwicklung für den Transport und die Si- cherung des Portals - Ausarbeiten der Installationsanweisung - Dokumentationserstellung T. Post 13 G. Wieking Webportal zur Präsentation von Projektdokumentationen Hardware: Arbeitsrechner: Notebook Dell Inspiron 9400 Fedora 8 Intel Centrino Duo 1,8GHz 1 GByte RAM 120 GByte HD Notebook Dell Inspiron 1501 Fedora 8 AMD Turion 64, 2x 1,6GHz 1 GByte RAM 120 GByte HD Testsystem: IBM eServer xSeries 360 Fedora 8 4x Intel Xeon 1,5GHz MP 2 GByte RAM 2x 36GByte HD T. Post 14 G. Wieking Webportal zur Präsentation von Projektdokumentationen 2.5 Umsetzung Das folgende Kapitel beschreibt die von uns vorgenommenen Arbeitsschritte, Gedanken und Fehlschläge. Für Details der Installation möchten wir auf das Administrationshandbuch verweisen. Der Anfang war geprägt von vielen Fragen. So war zunächst zu klären, was für eine Umgebung von pragmaMx benötigt wurde, damit es überhaupt arbeitete. Des Weiteren war zu klären, wie die verwendeten Programme ineinander verzahnt waren und zusammenarbeiteten. Wir entschlossen uns mit Hilfe eines Handbuchs einer älteren Version von pragmaMx eine erste Installation durchzuführen, da zu der aktuellen Version kein solches Handbuch existierte. Es zeigte sich, dass dafür eine funktionsfähige MySQL Datenbank notwendig war, welche zuvor eingerichtet werden musste. Ebenso eine funktionsfähige PHP Umgebung. T. Post 15 G. Wieking Webportal zur Präsentation von Projektdokumentationen Nachdem diese Hürden genommen waren, verlief die Installation trotzdem nicht erfolgreich. Es stellte sich heraus, dass für die Installation und den Betrieb von pragmaMx einigen Verzeichnissen und Dateien abweichende Rechte gegeben werden mussten. Um das in Zukunft einfacher zu machen wurde ein Shell-Skript begonnen das diesen Vorgang automatisieren sollte. Ein Ausdruck befindet sich im Anhang. Zu diesem Zeitpunkt war das Portal als bereits prinzipiell funktionsfähig, jedoch zeigten sich fehlerhafte Darstellungen von Sonderzeichen und Umlauten. T. Post 16 G. Wieking Webportal zur Präsentation von Projektdokumentationen Wir begannen nun uns tiefer in pragmaMx einzuarbeiten und hofften so das Zeichensatzproblem zu lösen. Es stellte sich jedoch heraus, dass das bedeuten würde Teile von pragmaMx neu zu schreiben. Es zeigte sich nämlich noch ein Phänomen. Lediglich die in pragmaMx bereits bei der Installation enthaltene Texte zeigten dieses Problem. Wurde Text nachträglich eingearbeitet, so wurden die Sonderzeichen und Umlaute einwandfrei dargestellt. Zusammen mit der Option Teile von pragmaMx neu zu schreiben kamen wir zu der Auffassung, das dies der falsche Ansatz sein musste und das Problem an anderer Stelle zu suchen sei. Weiterhin wuchs die Erkenntnis, dass wir uns um eine geeignete Möglichkeit Gedanken machen mussten das Portal zu transportieren, was unter anderem ein Backup der MySQL Datenbank bedeutete. Zwischenzeitlich wurde damit begonnen das vorhandene Material vergangener Projekte zu sichten und zunächst auf einen Rechner zu laden und zu sortieren. Nach der Durchsicht konnten 37 Projekte für das Portal verwendet werden. Dabei wurden die vorhandenen Dokumentationen in das PDF -Format gewandelt um sie der Allgemeinheit zugänglich zu machen. Die Webseiten waren zum Teil in einem Zustand, der abgesehen vom HTML -Gerüst, schon allein bei der Namensgebung der verwendeten Dateien nahezu alle Unmöglichkeiten beinhaltete. So wurden sowohl Groß- als auch Kleinschreibung wie auch Sonderzeichen und Leerzeichen verwendet. Gleiches galt für den Quelltext der Webseiten. Eine Windowsmanier die uns viel Arbeit bereitete und die nächsten Wochen beschäftigte. Fehlerhafter Pfad mit Backslash T. Post 17 G. Wieking Webportal zur Präsentation von Projektdokumentationen Falsche Verwendung von Umlauten Die Ursache für die fehlerhafte Darstellung der Sonderzeichen wurde weiterhin gesucht und ein Lösungsansatz in der httpd.conf von Apache gefunden. Hier ist standardmäßig der Zeichensatz UTF-8 ausgewählt. Nachdem dieser auf ISO-8859-1 geändert wurde war die Seitendarstellung wie gewünscht. Es wurde sich weiter der Möglichkeit der Sicherung des Portals gewidmet. Es galt nun zu verstehen wie die Seiteninhalte von pragmaMx verwaltet werden und in wie weit der Seiteninhalt in der Datenbank abgelegt wurde. Es zeigte sich, das sämtliche im Portal geschriebenen Inhalte in der Datenbank abgelegt wurden. Lediglich Bilder und ähnliche Inhalte wurden im Verzeichnisstrang des Portals abgelegt. T. Post 18 G. Wieking Webportal zur Präsentation von Projektdokumentationen Nach einiger Internetrecherche fand sich dann mit dem Programm MySQLDumper ein Werkzeug zur Sicherung von Datenbanken, dass sowohl die Sicherung als auch das Wiederherstellen der Datenbank mittels Browser ermöglicht, dabei im Verzeichnisstrang des Portals liegen kann und dort auch die Backups der Datenbank ablegt. Pfad zum MySQLDumper Dieser Umstand hat den großen Vorteil, dass es ausreicht zunächst die Datenbank und anschließend das Web-Verzeichnis des Portals zu sichern um sämtliche Inhalte in zwei maßgeblichen Schritten zu archivieren und wieder her zu stellen. Aufgrund eines Hinweises von Herrn Appenzeller, dass der Server auf dem das Portal letztendlich betrieben werden soll, auch noch weitere Webseiten bereitstellen soll, wir also nicht allein seien, musste die Anpassung der httpd.conf, welche die korrekte Darstellung der Umlaute und Sonderzeichen bewirkte, wieder rückgängig gemacht werden. Das bedeutete, dass wieder das Sonderzeichenproblem auftrat. Nach Tagen der Internetrecherche und des Studiums von Fachliteratur wurde eine Lösung durch Verwendung von per Directory Einstellungen gefunden. Diese erlauben es diverse Einstellungen speziell für den Verzeichnisstrang in dem die Portalseite liegt vorzunehmen. Durch die Vielzahl an Änderungen und Tests konnten wir nicht mehr davon ausgehen, dass auf zukünftigen Installationen ähnliche Umgebungsbedingungen vorherrschen. Deshalb wurde Linux erneut in der Basisinstallation installiert und die Aufzeichnungen wieder überprüft. T. Post 19 G. Wieking Webportal zur Präsentation von Projektdokumentationen Nachdem die Einarbeitung der vorhandenen Webseiten abgeschlossen war, wurde nun begonnen letzte Fehler in diesen zu beseitigen. Hierzu zählten u.a. defekte Links sowie das Anpassen von Pfaden die als absolute Pfade ausgeführt wurden und somit nicht mehr stimmten. Weiterhin wurde das Aussehen von pragmaMx an das Aussehen der BBS-Webseite angepasst. Ein Ziel war es eine möglichst große Ähnlichkeit zu der bereits vorhandenen BBSWebseite zu erreichen. Die verfügbaren Themes schienen für diesen Zweck ungeeignet. Deshalb wurde ein möglichst einfaches, auf CSS-Basierendes Theme gesucht um es anzupassen. Gefunden wurde ein recht simples Theme, welches unseren Anforderungen entsprach und außerdem den Vorteil hatte eine dynamische Breite in der Darstellung zu bieten. Die farbliche Gestaltung wurde der vorhandenen BBS-Webseite angepasst, die Aufteilung verändert und das BBS-Logo mit eingebunden. Ansicht mit Standard-Theme T. Post 20 G. Wieking Webportal zur Präsentation von Projektdokumentationen Ansicht mit BBS-Design Außerdem wurde festgestellt, dass es für jeden angemeldeten Nutzer sogar möglich wäre ein ihm zusagendes Theme zu verwenden, sofern dieses bereitgestellt würde. Somit wäre es für jeden Nutzer möglich das Aussehen der Portalseite individuell zu gestalten. Die Tatsache, dass bei der Installation des MySQL-Servers der MySQL-Nutzer root volle Zugriffsberechtigungen auf alle Datenbanken hatte, jedoch ohne Passwort versehen war, bereitete uns großes Unbehagen. Selbst wenn ein Login lediglich lokal hätte geschehen können war das für uns inakzeptabel. Deshalb wurde dieser Zustand geändert. Hieraus resultierte die Frage nach den notwendigen Berechtigungen des für das Portal verwendeten Nutzers. Nach Recherche im Internet und Kontakten mit einem der pragmaMx Betreuer war festzustellen, dass lediglich für die Installation des Portals nahezu alle Rechte gebraucht würden. Für den normalen Betrieb reichten jedoch wesentlich geringere Berechtigungen. Auch das bedeutete eine erhebliche Steigerung der Sicherheit. T. Post 21 G. Wieking Webportal zur Präsentation von Projektdokumentationen Reduzierte Datenbankberechtigungen Diese vorgenommenen MySQL-Einstellungen wurden ausgiebig geprüft und scheinen für den Betrieb ausreichend zu sein. Das Portal wurde weiter angepasst. So wurden diverse Module die für den Verwendungszweck nicht brauchbar waren abgeschaltet, bzw. verändert und den Anforderungen angepasst. Beispiele für deaktivierte Module Für die zukünftigen Nutzer wurden Designregeln erstellt. Diese flossen in das Benutzerhandbuch ein. Hierzu gehören u.a.: ● Größe der Bilddateien ● Bildhöhen und -breite ● Format von Textdokumenten ● Einbindung von Dokument-Downloads Wie sich zeigte können einmal eingestellte und vom Administrator freigegebene Artikel nicht vom Autor nachbearbeitet werden. Es ist leider nicht möglich dies zu umgehen. Recherchen im Internet ergaben auch keine Lösung des Problems. Es wurde deshalb eine entsprechende Anfrage im pragmaMx Forum gestellt, es erfolgte jedoch keine Antwort. T. Post 22 G. Wieking Webportal zur Präsentation von Projektdokumentationen Nachdem nun das Portal als solches funktionierte stellte sich die Frage nach dem Feinschliff. So musste z.B. geklärt werden ob und welche Verzeichnisse gelöscht werden mussten, wo Berechtigungen nach Abschluss der Installation geändert werden sollten und was unternommen werden musste um etwas mehr Sicherheit zu erhalten. So weißt z.B. pragmaMx den angemeldeten Administrator nach der Installation ausdrücklich darauf hin, dass Setupverzeichnis zu löschen oder zumindest umzubenennen. Da jegliche Änderungen, die notwendig sein könnten, auch als Administrator in pragmaMx oder in der config.php durchgeführt werden können, empfehlen wir das Verzeichnis /var/www/html/portal/setup zu löschen. Da der MySQLDumper ein Webbasiertes Werkzeug ist, welches weitreichenden Zugriff auf MySQL-Datenbanken gestattet und auch von Personen aus dem Internet bedient und missbraucht werden könnte, sollte der Zugang zu diesem Werkzeug beschränkt werden. Dies geschieht am effektivsten mittels eines Verzeichnisschutzes. Diese Möglichkeit wird auch vom MySQLDumper empfohlen und mit einer entsprechenden Meldung erwähnt. Die seitens pragmaMx benötigte Fähigkeit E-Mails zu verschicken musste noch umgesetzt werden. Erste Versuche zeigten keinen Erfolg. Weder zu Hause, noch im Schulnetzwerk. Informationen aus dem Internet beinhalteten als Antwort auf ähnliche Probleme derart viele verschiedene Lösungsansätze, bis hin zur Neuinstallation des Betriebssystems, das sie entweder keine verfolgbare Linie oder einfach unbrauchbar waren. T. Post 23 G. Wieking Webportal zur Präsentation von Projektdokumentationen Leider schränkte das Schulnetzwerk derart ein, dass die Arbeiten vorübergehend außerhalb der Schule fortgesetzt werden mussten. Das war in mehrerlei Hinsicht erfolgreich. So war es möglich das Problem mit dem Email-Versand zu beseitigen, das Captcha Modul zur Funktion zu bewegen sowie eine erfolgreiche Umstellung des Portals von Intranet-Umgebung auf Internet-Umgebung und einen damit verbundenen Gewinn an Sicherheit. Dies wurde erreicht durch die Verwendung von Sicherheitscookies. Sämtliche Tests wurden dabei auf einem echten Server durchgeführt. Das Captcha Modul, welches für die Funktion Feedback und Uns Empfehlen verwendet wird funktionierte zunächst nicht. Nach einiger Internetrecherche und Vergleich mit der PHPInfo Datei eines Servers auf dem es funktionierte stellte sich heraus, dass dieses Modul eine zusätzliche Datei namens php-gd benötigt. Nach deren Installation funktionierte Captcha einwandfrei. Zusätzlich mussten jedoch noch weitere Berechtigungen im Dateisystem vergeben werden, welche noch nicht in unserem Skript eingearbeitet waren. Das Skript wurde daraufhin angepasst. Die Umstellung von Intranet- auf Internetumgebung hatte zur Folge, dass ein Login als Administrator nicht mehr möglich war. Dies war auf die Verwendung von Sicherheitscookies zurückzuführen. T. Post 24 G. Wieking Webportal zur Präsentation von Projektdokumentationen Der erste Gedanke führte zu den Sicherheitseinstellungen des Browsers. Dieser Gedanke wurde jedoch verworfen, da dieses Problem bei einem solchen Portal, welches sich im Internet befand, nicht bestand. Es zeigte sich, dass dieses Problem lediglich dann auftauchte, wenn versucht wurde sich unter der Verwendung von http://localhost als Administrator einzuloggen. Wurde statt dessen http://127.0.0.1 verwendet, so bestand das Problem nicht. Somit war dieses Problem gelöst und etwas Sicherheit gewonnen. Das bislang im Schulnetzwerk auftretende Problem des Email-Versandes bestand unter anderem darin, dass der Versand in das Internet von privaten Rechnern unterbunden wurde. Da diese Limitierung außerhalb der Schule nicht bestand, konnte der Email-Versand erfolgreich eingebunden werden. Hierbei war es uns erst möglich die Funktionsweise dieses Moduls zu verstehen. Diese erarbeiteten Lösungen für das E-Mail-Handling wurden nun mit Hilfe von gültigen Schul-emailadressen innerhalb des Schulnetzwerks getestet. Dabei zeigte sich leider, dass der Lösungsansatz nicht so übernommen werden konnte. Hier musste weiter getestet werden. Eine Lösung fand sich in der Berücksichtigung von uns zuvor nicht bekannten Besonderheiten im Umgang mit E-Mails, die über den schuleigenen Mailserver verschickt werden. Als Mailserver (SMTP) ist die IP xxx.xxx.xxx.xxx zu wählen. Ein Benutzername oder Passwort ist nicht anzugeben. Zukünftig werden E-Mails von der Adresse projekte@bbs.fh-wilhelmshaven.de versendet Nachdem nun die letzte große Hürde genommen war, war sowohl die Funktionsfähigkeit des Portals hergestellt, als auch die Anpassung an die Anforderungen abgeschlossen. Das Portal als solches konnte demnach nun in Betrieb gehen. Wann und ob das Portal nun auf den Server gebracht würde hing nun von der Projektgruppe ab, welche den Server betreute. Nun war es an der Zeit die Dokumentation zu bearbeiten und fertig zu stellen. T. Post 25 G. Wieking Webportal zur Präsentation von Projektdokumentationen 2.6 Fazit Durch die Arbeit mit pragmaMx war es uns möglich einen tieferen Einblick in die interessante Welt der CMS-Systeme zu erlangen. Das Zusammenspiel zwischen CMS auf der einen und Datenbank auf der anderen Seite, verbunden durch Apache und PHP war uns vorher nicht in diesem Umfang bewusst. Aufgrund der Tatsache, dass es zu der uns vorliegenden Version von pragmaMx (0.1.10) keine brauchbare Dokumentation aus einer zentralen Quelle gab, war es notwendig sich diese selbst zusammen zu suchen. Das führte dazu, dass wir sowohl alte Dokumentationen, die in großen Teilen für unsere Version unbrauchbar waren, zu verwenden, als auch Literatur über artverwandte Software zu studieren. Des weiteren gehörte natürlich auch ein intensiver Gebrauch der entsprechenden Foren zu unseren Informationsquelle. Damit war es aber nicht genug. Da pragmaMx nicht für sich allein funktionieren kann, sondern gewisse Voraussetzungen benötigte, war es ebenso notwendig sich in diese Software einzuarbeiten. Dazu gehörten Apache, MySQL und PHP. Hier war der Fall genau umgekehrt. Es gab eine derartige Fülle an Informationen, dass es teilweise schwer fiel daraus die Richtige heraus zu filtern. Dazu kamen noch die Schwierigkeiten, die sich aus dem Einbinden der, teilweise abenteuerlich umgesetzten, bereits vorhandenen Web-Präsentationen ergaben. Das nahm sehr viel Zeit in Anspruch. Weitere Stolpersteine befanden sich in unseren Köpfen. So hatten wir zu Beginn eigene Vorstellungen davon, wie ein Portal funktionieren sollte, auf dem Projektgruppen ihre Projekte vorstellen. Dazu gehörte z.B. dass es den Gruppen möglich sein sollte, ihre Beiträge stetig anzupassen und zu verändern, so dass am Ende ein fertiger Artikel steht. Das ist jedoch mit pragmaMx nicht möglich. Ein einmal abgesendeter und durch den Administrator freigegebener Artikel kann nur noch durch diesen verändert werden. Dies bedeutet zusätzlichen administrativen Aufwand, der unserer Ansicht nach nicht gewünscht sein kann. Unserer Meinung nach ist pragmaMx für diesen Anwendungszweck unbrauchbar. Es ist zu umständlich und für den Administrator zu zeitintensiv in der Betreuung. Hier gibt es sicherlich geschicktere Lösungsansätze. Die Nachteile, die dieses Programm bei seiner Verwendung hier mit sich bringt, werden leider auch nicht durch sein hohes Maß an Flexibilität und Modularität aufgewogen. Auch werden diese in keinster Weise auch nur annähernd ausgeschöpft. Des Weiteren wäre es wünschenswert gewesen wenn zu Beginn des Projektes klar geäußert worden wäre, was denn eigentlich gewünscht war. Das bezieht sich vor allem auf den Funktionsumfang. Wenn ein Programm schon vorgegeben ist, sollte im Vorfeld geklärt sein, ob es für den gewünschten Zweck überhaupt Sinn macht. T. Post 26 G. Wieking Webportal zur Präsentation von Projektdokumentationen Trotz aller oben genannten Kritik ist abschließend zu bemerken, das die Thematik für uns beide neu und sehr interessant war. Schon die Herangehensweise an so eine Aufgabe und die Art und Weise wie Informationen beschafft werden mussten hatten wir in dieser Art noch nicht kennen gelernt. Deshalb konnten die Fortschritte, die erzielt wurden, auch nur erreicht werden, weil ein enormer zeitlicher Einsatz abseits der schulischen Projektzeit seitens der Mitglieder des Projektteams erbracht wurde. T. Post 27 G. Wieking Kapitel 3 Administrationshandbuch Webportal zur Präsentation von Projektdokumentationen 3 Administrationshandbuch Inhaltsverzeichnis 3 Administrationshandbuch..............................................................................................29 3.1 Einleitung......................................................................................................................30 3.2 Erstmalige Portalerstellung...........................................................................................31 3.2.1 Konfigurationen unter Webmin..............................................................................31 3.2.1.1 Webmin Einstellungen....................................................................................31 3.2.1.2 Apache Einstellungen.....................................................................................32 3.2.1.3 MySQL Einstellungen.....................................................................................34 3.2.1.4 System Einstellungen.....................................................................................36 3.2.2 Konfigurationen unter pragmaMx..........................................................................37 3.2.2.1 Einbinden von pragmaMx...............................................................................37 3.2.2.2 Portal Design-Einstellungen...........................................................................42 3.2.2.2.1 Theme für das Portal auswählen............................................................43 3.2.2.2.2 Willkommen-Nachricht einrichten...........................................................43 3.2.2.2.3 Logo einstellen........................................................................................44 3.2.2.2.4 Icon einstellen.........................................................................................44 3.2.2.3 Portalverwaltung.............................................................................................44 3.2.2.3.1 Wysiwyg-Editor einstellen.......................................................................44 3.2.2.3.2 Themen verwalten...................................................................................45 3.2.2.3.3 SMTP-Mailserver-Einstellungen.............................................................45 3.2.2.3.4 Benutzer Neuzugänge............................................................................46 3.2.2.3.5 Artikel aktivieren......................................................................................48 3.2.2.3.6 FAQ.........................................................................................................48 3.2.3 Abschließende Arbeitsschritte...............................................................................49 3.3 Portal sichern................................................................................................................50 3.3.1 MySQLDumper Installation....................................................................................50 3.3.2 Datenbankbackup mit MySQLDumper..................................................................53 3.3.3 Webseite sichern...................................................................................................54 3.4 Portal wiederherstellen.................................................................................................54 3.4.1 Vorbereitung zur Wiederherstellung......................................................................54 3.4.2 Reaktivierung eines Datenbankbackups...............................................................57 T. Post 29 G. Wieking Webportal zur Präsentation von Projektdokumentationen 3.1 Einleitung Die folgende Beschreibung geht von einer Linux-Umgebung unter Fedora 8 aus. Sollten davon abweichende Distributionen Verwendung finden, so sind deren Besonderheiten Rechnung zutragen. Für die korrekte Funktion sind folgende Pakete, bzw. Programme zu installieren: 1. PHP 2. Apache (httpd) 3. MySQL-Server 4. php-gd 5. PHP-MySQL 6. Webmin Mit Ausnahme von Webmin sind diese Pakete in der Distribution enthalten und können über den Paketmanager installiert werden. Das für die Erstellung verwendete Paket liegt der Projektdokumentation bei. Eine aktuelle Version kann unter http://www.webmin.com bezogen werden. Um Paketabhängigkeiten zu erfüllen, werden folgende Pakete mit installiert und müssen ebenfalls vorhanden sein: 1. httpd-tools 2. mysql 3. mysql-libs 4. perl-DBD-MySQL 5. php-cli 6. php-common 7. php-pdo Sollten diese Pakete nicht automatisch installiert worden sein, so sind sie von Hand nach zu installieren. T. Post 30 G. Wieking Webportal zur Präsentation von Projektdokumentationen 3.2 Erstmalige Portalerstellung Sollte der Wunsch bestehen das Portal ganz neu aufzubauen, so sollen hier die dazu notwendigen Schritte erläutert werden. Der erste Schritt nach der Paketinstallation ist das Entpacken der Datei pragmaMx_0.1.10.0.tar.gz. Der darin enthaltene Ordner html wird nach /var/www/html/ kopiert und in portal umbenannt, sodass ein Pfad /var/www/html/portal/ entsteht. Im Folgenden nun die Einstellungen welche unter Webmin vorzunehmen sind. Webmin ist unter http://localhost:10000 zu erreichen. 3.2.1 3.2.1.1 Konfigurationen unter Webmin Webmin Einstellungen Damit wir nun die gleiche Sprache sprechen wird Webmin auf Deutsch eingestellt. Dazu wird nach dem Login in den Bereich Webmin der Punkt Webmin-Configuration ausgewählt. Dort ist unter Language die Einstellung German (DE) auszuwählen Maske zur Lokalisierung Sollte hier eine Änderung notwendig sein, so ist es erforderlich, die Webminseite erneut zu laden, da die Änderungen sonst nicht korrekt übernommen werden. T. Post 31 G. Wieking Webportal zur Präsentation von Projektdokumentationen 3.2.1.2 Apache Einstellungen Als nächstes muss nun Apache (httpd) angepasst werden. Dazu wird der Webminbereich Server aufgerufen. Hier ist nun der Apache Webserver und dort der Standart-Server auszuwählen. Optionsmenü des Standard Servers Im unteren Bereich der angezeigten Seite befindet sich die Per-Directory Einstellungen. Dort besteht die Möglichkeit mittels Einstellungen für Per-Directory, Dateien oder Ort anlegen genauere Einstellungen für einzelne Verzeichnisse in denen sich Webinhalte befinden zu definieren. Damit Einfluss auf den Portalordner genommen werden kann, muss dieser hier eingetragen und mittels Erstellen übernommen werden. Anlegen des neuen Verzeichnissbezuges T. Post 32 G. Wieking Webportal zur Präsentation von Projektdokumentationen Daraufhin wird in dem darüber liegenden Per-Directory Einstellungen Bereich folgender Eintrag erzeugt: Durch Auswahl dieses Eintrags gelangt man nun in die Per-Directory Einstellungen dieses Ordners. Hier ist der Punkt Sprachen auszuwählen um in den relevanten Bereich zu gelangen. Da Apache in seiner Grundeinstellung die UTF-8 Zeichensatzkodierung verwendet, welche aber bei pragmaMx eine fehlerhafte Darstellung von Sonderzeichen zur Folge hat, muss hier speziell für die Portalseite der zu verwendende Zeichensatz festgelegt werden. Dieser ist ISO-8859-1. Auch hier ist es wichtig den Eintrag mit Speichern zu übernehmen. Es wurde diese Variante der Einstellung der Zeichensatzkodierung gewählt, da sie den charmanten Vorteil hat sich auf andere Webinhalte, die eventuell auf dem gleichen Server mittels Apache gehostet werden, nicht auswirkt. Somit beeinflussen sich diese, was den Zeichensatz anbelangt, nicht. T. Post 33 G. Wieking Webportal zur Präsentation von Projektdokumentationen Um die vorgenommenen Einstellungen wirksam werden zu lassen muss im Anschluss Apache durch Auswahl von Apache starten gestartet werden. Apache starten 3.2.1.3 MySQL Einstellungen Nun muss MySQL angepasst werden. Dazu wird der Webminbereich Server und dort der Menüpunkt MySQL Datenbank-Server aufgerufen. Hier muss als erstes, falls dieser nicht schon arbeitet, MySQL mit der Auswahl von Starte MySQL-Server gestartet werden. In der folgenden Bildschirmdarstellung muss als nächstes der Punkt Benutzerberechtigungen ausgewählt werden. Hier wird der Nutzer erzeugt, der später von pragmaMx für den Zugriff auf die MySQL Datenbank verwendet wird. Dem entsprechend müssen dem Benutzer auch Rechte zugewiesen werden, die einen ungestörten Betrieb ermöglichen. Diese können nach Abschluss der Installation von pragmaMx noch angepasst werden. T. Post 34 G. Wieking Webportal zur Präsentation von Projektdokumentationen Anlegen eines Benutzers In diesem Beispiel wird ein Benutzer xxxxxx mit dem Passwort xxxxxx angelegt. Er wird für beliebige Hosts mit allen Berechtigungen außer dem Recht neue Nutzer anzulegen eingerichtet. Die Eingaben werden mit der Auswahl von Speichern übernommen. Als nächstes muss nun noch die eigentliche Datenbank zu pragmaMx erzeugt werden. Dazu ist unter MySQL Datenbank-Server der Punkt Erstelle eine neue Datenbank auszuwählen. T. Post 35 G. Wieking Webportal zur Präsentation von Projektdokumentationen Hier wird lediglich der Datenbankname, hier portal, eingegeben. Der Rest wird nicht verändert. Insbesondere das Character set ist auf <Standard> zu belassen. Datenbankeinstellungen Durch die Auswahl von Erstellen wird die Datenbank mit den gewünschten Einstellungen angelegt. Bei der Installation des MySQL-Servers werden mehrere Nutzer root angelegt. Diese Nutzer haben sämtliche Rechte, besitzen jedoch kein Passwort. Auch wenn dieser Nutzer lediglich lokale Zugangsrechte besitzt, so stellt dieser Umstand jedoch ein inakzeptables Sicherheitsrisiko dar. Deshalb sollten diese Nutzer mit Passwörtern versehen werden. 3.2.1.4 System Einstellungen Damit nun die Dienste für Webapplikationen, httpd, und der Datenbankserver, mysqld, nicht bei jedem Systemstart manuell gestartet werden müssen, werden diese Dienste nun so markiert, das diese schon beim Systemstart automatisch gestartet werden. T. Post 36 G. Wieking Webportal zur Präsentation von Projektdokumentationen Dazu wird im Webminbereich System der Menüpunkt System-Start und -Stop aufgerufen. Es müssen die Dienste httpd und mysqld ausgewählt werden. Zusätzliche Diensteauswahl Anschließend müssen die Auswahlen mit Aktiviere ausgewählte zur Bootzeit bestätigt werden. 3.2.2 3.2.2.1 Konfigurationen unter pragmaMx Einbinden von pragmaMx Damit nun das Einbinden von pragmaMx überhaupt stattfinden kann, ist es notwendig für Dateien und Verzeichnisse die erforderlichen Berechtigungen zu vergeben. Dazu wurde von uns ein Skript geschrieben, das diesen Vorgang automatisiert und sich an den Vorgaben des PragmaMX Handbuches orientiert. Dieses Skript befindet sich auf der Daten DVD und trägt den Namen pragmamx_script. Es arbeitet mit absoluten Pfaden, sodass es nur mit den hier angegebenen Pfaden funktioniert. Des Weiteren muss es als ausführbare Datei gekennzeichnet sein. Im Laufe dieser Beschreibung wird an mehreren Stellen auf dieses Skript verwiesen. T. Post 37 G. Wieking Webportal zur Präsentation von Projektdokumentationen So ist als erster Schritt eben dieses pragmamx_script auszuführen. Die Installation von pragmaMx wird gestartet, indem in einem Webbrowser die Adresse http://127.0.0.1/portal/setup aufgerufen wird. Sind die Einstellungen unter Apache richtig gemacht worden, werden die Umlaute, die sich auf dieser ersten Seite befinden, richtig angezeigt. Man wird nun aufgefordert die gewünschte Sprache auszuwählen, in diesem Fall Deutsch. Als nächster Schritt wird der Punkt Neuinstallation ausgewählt und mit Weiter bestätigt. Daraufhin werden die Lizenzbestimmungen zu pragmaMx angezeigt, welchen man zustimmen muss um die Installation fortzusetzen. Im nächsten Schritt erwartet pragmaMx Angaben zu der Datenbank mit der es zusammenarbeiten soll. In unserem Fall befindet sich diese auf den selben Rechner und ist somit via localhost ansprechbar. Den zuvor vorgenommenen Einträgen entsprechend wird in den Feldern darunter der Name der Datenbank, der User der Datenbank und dessen Password angegeben. In diesem Beispiel jedes mal portal: T. Post 38 G. Wieking Webportal zur Präsentation von Projektdokumentationen Im nun folgenden Fenster kann Einfluss genommen werden auf die Präfixe der Datenbankund der Usertabellen, die angelegt werden. Die hier voreingestellten Bezeichnungen sind zufälliger Natur und können so belassen werden. Die weiteren Einstellungen sind sinnvoll nach belieben vorzunehmen. Beispiel für Einträge Zu dem Punkt Intranet Umgebung ist folgendes anzumerken: Wenn an dieser Stelle Nein ausgewählt wird, wird pragmaMx in Zukunft mit Cookies arbeiten. Es hat sich herausgestellt, dass es mit einigen Browsern, wie z.B. Firefox, zu Problemen kommt, wenn man das Portal administrieren will. Es kann dann vorkommen, dass ein Einloggen als Administrator einfach nicht möglich ist und selbst das Verändern des Umgangs mit Cookies seitens des Browsers nicht zum Erfolg führt. Diese Fehler zeigen sich jedoch überwiegend bei Verwaltungsarbeiten welche körperlich am Server selber stattfinden, sprich Zugriffe via http://localhost. In diesem Fall sollte über die IP-Adresse gearbeitet werden. Trotzdem ist hier die Auswahl auf Nein zu setzen, da sonst einige Sicherheitsfunktionen deaktiviert sind. So wird zum Beispiel kein Sicherheitscookie mit dem Sessionkey versendet, welcher im Zusammenhang mit der Session-ID die sich in einem anderen Cookie befindet beispielsweise zur Authentifizierung des Administrators während einer Session dient. T. Post 39 G. Wieking Webportal zur Präsentation von Projektdokumentationen Ohne diese wäre es möglich einem angemeldeten Administrator die Session abzunehmen und sich so als Administrator Zugang zum Portal zu verschaffen. Die nun folgende Seite präsentiert eine Zusammenfassung der gemachten Einstellungen und bietet ebenfalls die Möglichkeit der Korrektur an. Zusammenfassung Daraufhin folgt ein Statusbericht, der über den bisherigen Verlauf der Installation Auskunft gibt. T. Post 40 G. Wieking Webportal zur Präsentation von Projektdokumentationen Als nächstes werden die Tabellen in die Datenbank geschrieben. Über den Verlauf dieses Vorgangs gibt das nächste Fenster Auskunft. Nun sollte ein Administratoraccount angelegt werden. Administratoren haben immer zwei Accounts, denn es wird auch immer ein Benutzeraccount mit gleichen Login Daten erzeugt. Die Unterscheidung, welche Berechtigungen momentan zur Verfügung stehen, hängen hierbei allein davon ab, ob die Zugangsdaten auf der Startseite oder auf der Seite für den Administrator Login eingegeben wurden. Als weitere Besonderheit sei an dieser Stelle noch erwähnt, dass wenn ein Login mit administrativen Rechten erfolgt, automatisch auch ein Benutzerlogin erfolgt, sodass sich ein Administrator zur vollständigen Abmeldung zweimal abmelden muss: zunächst als Administrator und danach als Benutzer. Beispieleintrag Auch hier sollten die Angaben sinnvoll und überlegt gemacht werden. T. Post 41 G. Wieking Webportal zur Präsentation von Projektdokumentationen Wenn bis hierhin alles ordnungsgemäß funktioniert hat, sollte nun folgende Meldung erscheinen: Damit ist die eigentliche Installation von pragmaMx abgeschlossen. Es empfiehlt sich hier den Haken nicht zu setzen und den Ordner /var/www/html/portal/setup von Hand zu löschen Die Auswahl von weiter zum Administrationsmenü führt dann zum Loginbereich für Administratoren und eine Anmeldung mit den zuvor gemachten Angaben ist möglich. 3.2.2.2 Portal Design-Einstellungen Um sich als Administrator anzumelden wird ein Browser geöffnet und in der Adresszeile folgendes eingetragen : http://bbs.fh-wilhelmshaven.de/portal/admin.php In der Mitte des Bildschirms erscheint jetzt das Feld zur Eingabe der Admin ID und das Feld Passwort. Admin Login Nach erfolgreicher Anmeldung lassen sich nun umfangreiche Einstellungen im Administrationsmenü vornehmen. T. Post 42 G. Wieking Webportal zur Präsentation von Projektdokumentationen 3.2.2.2.1 Theme für das Portal auswählen Den Punkt Einstellungen auswählen. Weiter unten befinden sich nun einige Unterpunkte in denen Einstellungen vorgenommen werden können. Einstellungen Grafische Einstellungen bezieht sich auf das Aussehen des Portals. Hier lassen sich alle Themes auflisten die sich in dem Ordner /var/www/html/portal/themes/ befinden. Das BBSDesign ist an das Aussehen der BBS-Homepage angelehnt. Design 3.2.2.2.2 Willkommen-Nachricht einrichten Unter dem Menüpunkt Mitteilungen ist die Willkommen-Nachricht des Portals zu finden und kann hier, mit Hilfe des Wysiwyg-Editors, geändert oder auch gelöscht werden. Mitteilungen Willkommen T. Post 43 G. Wieking Webportal zur Präsentation von Projektdokumentationen 3.2.2.2.3 Logo einstellen Das Logo /der Header wird in der theme.html im Ordner des themes im HTML-Format durch einen Link zum logo.png (491x100 pixel) im Ordner des themes /images, eingestellt. logo.png 3.2.2.2.4 Icon einstellen Um beim Browser das Logo in minimierter Form sehen zu können, wird das sogenannte favicon.ico (48x48 pixel) im Hauptordner des Portals abgelegt. favicon.ico 3.2.2.3 3.2.2.3.1 Portalverwaltung Wysiwyg-Editor einstellen Einstellungen werden durch Auswahl des Wysiwyg-Editor im Administrationsmenü vorgenommen. Wysiwyg Hier lassen sich sowohl für jeden Benutzertypen, der Typ der Datei, die maximale Dateigröße, die maximale Bildbreite und -höhe, die Rechte der hochgeladenen Dateien als auch die Anpassung in welchen Modulen der Wysiwyg-Editor aktiv sein soll, einstellen. Wichtig: Nach der Erstinstallation sollte bei beiden Standart-Modus (chmod) Einträgen -1 eingetragen werden, da dann die Berechtigungen so gesetzt werden wie die Ordnerberechtigungen nach dem Ausführen des pragmamx_script . T. Post 44 G. Wieking Webportal zur Präsentation von Projektdokumentationen 3.2.2.3.2 Themen verwalten Im Bereich Themen werden alle verfügbaren Themen in denen Artikel geschrieben werden können angelegt und verwaltet. Themen Themenbereiche 3.2.2.3.3 SMTP-Mailserver-Einstellungen Der SMTP Mailserver im Untermenü von Einstellungen wird so konfiguriert das über den lokalen Mailserver die E-Mails des Portals versendet werden können. Hierzu wird als Mailserver die 10.60.0.1 oder mail.bbs.fh-wilhelmshaven.de eingetragen. Ein Benutzername oder Passwort ist nicht erforderlich. SMTP-Mail-Server-Einstelungen T. Post 45 G. Wieking Webportal zur Präsentation von Projektdokumentationen 3.2.2.3.4 Benutzer Neuzugänge Hier werden alle Neuzugänge des Portals verwaltet. Benutzer Neuzugänge Nachdem der Neu angemeldete Benutzer seine Bestätigungs-Email erhalten und erfolgreich bestätigt hat bekommt der Administrator eine E-Mail über die Anmeldung eines neuen Benutzers. Administrator E-Mail User1225 ist hier als Administrator zu sehen. Nach der Anmeldung am Portal kann sich nun der Administrator das Benutzerprofil ansehen und denn Account freischalten. neue Benutzeraccounts T. Post 46 G. Wieking Webportal zur Präsentation von Projektdokumentationen Nun wird der Neu angemeldete Benutzer Modifiziert. Benutzer Modifizieren Hier muss lediglich der Benutzerstatus auf aktiviert gesetzt werden und natürlich sollte der Administrator sich die persönlichen Daten des Benutzers kurz ansehen, da diese für jeden angemeldeten Benutzer öffentlich sichtbar sind. Benutzer aktivieren Dann wird diese Änderung gespeichert. Änderungen speichern Der Benutzer bekommt dann unmittelbar eine E-Mail mit seinen Zugangsdaten und kann sich am Portal anmelden. T. Post 47 G. Wieking Webportal zur Präsentation von Projektdokumentationen 3.2.2.3.5 Artikel aktivieren Die von den Benutzern geschriebenen Artikel müssen durch den Administrator überprüft und freigegeben werden. Sollte es eine neue Artikeleinsendung auf dem Portal geben wird der Administrator über eine E-Mail benachrichtigt. Nach dem Anmelden am Portal wird er dann durch eine Textzeile auf die neue Artikel hingewiesen. neue Artikel Nun lassen sich die Artikel überprüfen und gegebenenfalls verändern. Am Ende der Überprüfung folgt dann das endgültige Erstellen des Artikels. Beitrag erstellen Soll der Artikel nicht erstellt werden, wird zunächst der Artikel erstellt und dann anschließend direkt gelöscht. 3.2.2.3.6 FAQ Bei den FAQ ist es so, dass der Administrator nicht über neue Fragen informiert wird, so liegt es an ihm seine Zeit dafür zu nutzen auch gelegentlich mal in dieser Kategorie nach Neueinsendungen zu sehen und die gestellten Fragen nach seinem Wissen zu beantworten oder zu löschen. FAQ T. Post 48 G. Wieking Webportal zur Präsentation von Projektdokumentationen 3.2.3 Abschließende Arbeitsschritte MySQL-Nutzerrechte Um einem Anspruch nach einem Mindestmaß an Sicherheit gerecht zu werden sollten dem MySQL-Nutzer, der für das Portal verwendet wird, nur mit so wenig Rechten wie nötig ausgestattet sein. Diese Rechte sind auswählen, einfügen, aktualisieren und löschen. Die Änderung der Rechte geschieht wieder mittels Webmin. Hier wird unter MySQL Datenbank-Server der Punkt Benutzerberechtigungen ausgewählt. Nach der Auswahl des Nutzers, hier portal, besteht die Möglichkeit die MySQL Rechte anzupassen. Diese werden wie in der nachfolgenden Grafik gesetzt. Weiterhin ist darauf zu achten, dass bei Hosts der Eintrag localhost hinzugefügt wird. Setupdateien entfernen Für die Installation von pragmaMx wurde ein Setupordner kopiert und die darin enthaltene Setup-Routine ausgeführt. Diese Dateien sind noch immer vorhanden. Um dieses weitere Sicherheitsloch zu stopfen ist es empfehlenswert den Ordner /var/www/html/portal/setup/ zu löschen. T. Post 49 G. Wieking Webportal zur Präsentation von Projektdokumentationen 3.3 Portal sichern Das sichern des Portals besteht aus zwei Komponenten. Die erste Komponente ist das Sichern der Datenbank. Hierzu findet das frei erhältliche Programm MySQLDumper, erhältlich unter http://www.mysqldumper.de, Verwendung. Zum Zeitpunk der Dokumenterstellung ist die Version 1.22 aktuell und findet Verwendung. Diese Programm ist recht einfach zu bedienen und bietet den großen Vorteil letztendlich nur ein Verzeichnis sichern zu müssen, da sich die Backups innerhalb der Verzeichnisstruktur der Webseite befinden. Die zweite Komponente ist das Sichern der Webseitendaten. Hier kann das gesamte Verzeichnis /var/www/html/portal über einen Dateimanager kopiert werden. In dieser Kombination bedeutet dies, dass lediglich das Portalverzeichnis samt Inhalt zu sichern ist, da das Datenbankbackup darin schon enthalten ist. 3.3.1 MySQLDumper Installation Die folgenden Arbeitsschritte sind nur notwendig, wenn der MySQLDumper noch nicht installiert wurde oder wieder entfernt wurde. Als erster Schritt muss die Datei mysqldumper1.22.zip entpackt werden. Der darin enthaltene Ordner mysqldumper wird nun in das Verzeichnis /var/www/html/portal kopiert. Es entsteht ein Pfad /var/www/html/portal/mysqldumper. Nun muss dem MySQLDumper noch das volle Zugriffsrecht auf seine Verzeichnisse und Dateien eingeräumt werden. Das kann einerseits rekursiv über die Konsole gemacht werden. Dazu ist die Befehlskette chmod -R 0777 /var/www/html/portal/mysqldumper/ in der Konsole auszuführen. Andererseits ist dies auch automatisch mittels des pragmamx_scriptes möglich. Um nun die eigentliche Installation zu starten wird in einem Browser die Adresse http://localhost/portal/mysqldumper aufgerufen. T. Post 50 G. Wieking Webportal zur Präsentation von Projektdokumentationen Hier wird als erstes die gewünschte Sprache gewählt, in diesem Fall Deutsch, und anschließend Installation ausgewählt. Im nächsten Schritt müssen die Verbindungsdaten die der MySQLDumper für die Anmeldung an den MySQL Server verwenden soll angegeben werden. Im Beispiel wird hier der bei der Portalerstellung erzeugte Nutzer portal mit Password portal verwendet. Die Felder für Port und Socket bleiben leer. Sind die Angaben korrekt, meldet der MySQLDumper Datenbank-Verbindung wurde hergestellt und zeigt die gefundenen Datenbanken an. Hierbei sollte auch die Datenbank portal zu finden sein. T. Post 51 G. Wieking Webportal zur Präsentation von Projektdokumentationen Die eigentliche Installation des MySQLDumpers ist somit abgeschlossen und es erscheint im darauf folgenden Fenster seine Startseite. Auf dieser wird in roten Lettern dringend empfohlen einen Verzeichnisschutz herzustellen. Dieser wird mittels .htaccess realisiert. Die hier angegebenen Daten haben nichts mit den Berechtigungen auf dem Server als solches, noch mit denen unter MySQL zu tun. Es handelt sich lediglich um eine Zugriffsberechtigung via Webinterface. Das Schützen des Verzeichnisses ist ein extrem großer Sicherheitsfaktor. Sollte das Verzeichnis nämlich nicht geschützt sein, so ist es jedem, der die URL zum MySQLDumper kennt möglich, Datenbankinhalte nach belieben zu ändern oder auch die gesamte Datenbank zu löschen. Jemand mit unlauterer Absicht hätte dann freie Hand. Ist man also gewillt den MySQLDumper auf dem System zu belassen um regelmäßige Backups zu machen, so ist der Verzeichnisschutz obligatorisch! Auch in diesem Beispiel wird wieder xxxxxxx als Name und Passwort eingestellt. Damit die Passwortabfrage auch sicher funktioniert sind folgende Zeilen der httpd.conf hinzuzufügen: <Directory "/var/www/html/portal/mysqldumper"> AuthType Basic AllowOverride AuthConfig </Directory> T. Post 52 G. Wieking Webportal zur Präsentation von Projektdokumentationen Damit Apache diesen Eintrag auch verarbeitet muss er neu gestartet werden. Dies wird erreicht durch folgende Eingabe in der Konsole: service httpd restart Danach ist Apache angepasst und der MySQLDumper ist für seine Aufgaben bereit. 3.3.2 Datenbankbackup mit MySQLDumper Steht nun das Backup an, so wird MySQLDumper unter http://localhost/portal/mysqldumper aufgerufen. Nach der Eingabe von Name und Passwort, im obigen Beispiel jeweils xxxxxxxx, gelangt man nun an die Startseite des MySQLDumpers. Dort wird dann unter Datenbank wählen die Datenbank portal ausgewählt. Anschließend geht es beim Menüpunkt Backup weiter. Dort muss dann nur noch der Button Neues Backup starten aktiviert werden und das Backup der Datenbank wird erzeugt. Den ordnungsgemäßen Verlauf meldet MySQLDumper dann etwa so: T. Post 53 G. Wieking Webportal zur Präsentation von Projektdokumentationen Nach dem das Backup der Datenbank vollzogen worden ist, liegen deren Daten in gepackter Form im Verzeichnis /var/www/html/portal/mysqldumper/work/backup/ , d.h. innerhalb des Verzeichnisbaums der Webpräsents. 3.3.3 Webseite sichern Die Überschrift ist nicht ganz zutreffend. Denn eigentlich werden hier beide Komponenten gesichert. Die Webseite und das in ihrem Verzeichnisbaum liegende Backup der Datenbank. Daher ist es für diesen letzten Schritt der Portalsicherung auch völlig ausreichend den Ordner /var/www/html/potal zu kopieren und zu sichern. Bei Bedarf kann er noch in ein Archiv, z.B. tar oder gz, gepackt werden. In diesem Verzeichnis sind alle zur Wiederherstellung des Portals notwendigen Dateien enthalten. 3.4 Portal wiederherstellen Für die Wiederherstellung des Webportals stellen sich im drei Szenarien dar: 1. Einspielen des Urbackups vom beiliegenden Datenträger. 2. Einspielen eines Backups auf einen neuen Server. 3. Einspielen eines Backups auf einen Server, der bereits das Portal gehostet hat. Bei den Punkten 1. und 2. gibt es bei den Arbeitsschritten keinen Unterschied. Der Vorgang 3. erfordert dagegen die wenigsten Arbeitsschritte und ist mit dem letzten Teil der Wiederherstellung von 1. und 2. identisch. Die sich daraus ergebende Zweiteilung soll in der folgenden Beschreibung aufgegriffen werden. 3.4.1 Der Vorbereitung zur Wiederherstellung erste Schritt ist das Kopieren eines gesicherten Ordners portal in das Verzeichnis /var/www/html/, sodass ein Pfad /var/www/html/portal entsteht. Dabei spielt es keine Rolle ob es sich hierbei um das Urbackup oder ein zwischenzeitlich selbst erzeugtes Backup handelt. Das Vorgehen ist identisch. T. Post 54 G. Wieking Webportal zur Präsentation von Projektdokumentationen Anschließend müssen die Rechte auf Dateisystemebene vergeben werden. Das geschieht entweder von Hand nach den Vorgaben des pragmaMx Handbuchs und der MySQLDumper Hilfe, oder mittels des beiliegenden pragmamx_scriptes. Die nun notwendigen Arbeitsschritte sind identisch mit denen des Kapitels 3.2.1, Konfigurationen unter Webmin, weshalb an dieser Stelle dorthin verwiesen wird. Wurde der verwendeten MySQL-Benutzer in den Rechten eingeschränkt, so sind diese wieder zu erweitern. Sind soweit die Vorbereitungen abgeschlossen, ist in Webmin - zu erreichen unter http://localhost:10000 - noch eine Einstellung zu Apache Webserver zu erledigen. Dem Standard Server muss noch eine Per-Directory Einstellungen vorgegeben werden. Hier muss für einen Verzeichnisschutz das Verzeichnis /var/www/html/portal/mysqldumper eingetragen werden Der daraus resultierende Eintrag: wird nun geöffnet. T. Post 55 G. Wieking Webportal zur Präsentation von Projektdokumentationen Dort muss nun in den Bereich für Zugriffskontrolle gewechselt werden. Dort wird der Authentifizierungstyp auf Basic eingestellt und der Eintrag mittels Speichern übernommen: Der nächste Schritt ist die Auswahl von Zeige Direktiven. T. Post 56 G. Wieking Webportal zur Präsentation von Projektdokumentationen Hier wird der Eintrag AllowOverride eingestellt und Apache-Direktive bearbeiten ausgewählt. Hier wird nun im Menüpunkt Optionsdatei überschreibt.. der Punkt Unten gewählte... aktiviert und dort dann nur Authentifizierungseinstellungen. Mit der Auswahl von Speichern werden die Einträge übernommen. Nun muss noch Apache neu gestartet werden um die Änderungen auch wirksam werden zu lassen. Das geschieht durch die Auswahl von Änderungen anwenden. 3.4.2 Reaktivierung eines Datenbankbackups Wenn nun der Fall 3. zutreffend ist, also die Wiederherstellung eines Backups auf einem Server, der bereits das Portal gehostet hat, ist hier der richtige Einstiegspunkt. In diesem Fall ist zusätzlich zu den noch folgenden Anweisung vorab nachstehendes zu tun: Das gesicherte Verzeichnis portal ist in das Verzeichnis /var/www/html zu kopieren, sodass ein Pfad /var/www/html/portal entsteht. Anschließend muss noch das pragmamx_script ausgeführt werden. T. Post 57 G. Wieking Webportal zur Präsentation von Projektdokumentationen Wurde der verwendeten MySQL-Benutzer in den Rechten eingeschränkt, so sind diese wieder zu erweitern. Bis hier hin sind nun alle Vorbereitungen abgeschlossen. Es bleibt nun nur noch eins zu tun: das Wiederherstellen der MySQL Datenbank. Dazu ist nun die URL http://localhost/portal/mysqldumper aufzurufen. Ist der Verzeichnisschutz aktiviert worden, so wird hier nach Benutzername und Passwort gefragt. In diesem Beispiel jeweils portal. Durch die Auswahl von Wiederherstellung gelangt man nun z.B. zu folgender Ansicht: Hier ist nun zu sehen, dass zum Zeitpunkt der Auswahl von Wiederherstellung die Datenbank mysql ausgewählt war, für die es jedoch kein Backup gibt. Für die Datenbank portal sind aber Backups vorhanden, weshalb sie unter alle Backups aufgeführt ist. Durch Auswahl von portal erscheint dann diese Darstellung: T. Post 58 G. Wieking Webportal zur Präsentation von Projektdokumentationen Hier werden nun alle für die Datenbank portal zur Verfügung stehenden Backups angezeigt. In diesem Beispiel nur eins. Nach der Auswahl des Backups und dem aktivieren von Wiederherstellen erscheint ein Requester, der zum Start der Wiederherstellung bestätigt werden muss. Ist das geschehen, meldet der MySQLDumper mit folgender Meldung die erfolgreiche Wiederherstellung. Nun sollten die Rechte des MySQL-Nutzers wieder wie im Kapitel “MySQL-Nutzerrechte“ beschrieben eingestellt werden. Die Portalseite ist nun wieder vollständig verfügbar und kann sofort genutzt werden. T. Post 59 G. Wieking Kapitel 4 Benutzerhandbuch Webportal zur Präsentation von Projektdokumentationen 4 4.1 Benutzerhandbuch Neuen Benutzer anmelden Um das Portal um pragmaMx in vollem Umfang nutzen zu können, muss man sich zunächst einen Account (Benutzerkonto) anlegen. Im folgenden nun hierzu eine kleine Anleitung : Ein Browser wird geöffnet und in der Adresszeile wird folgendes eingetragen : http://bbs.fh-wilhelmshaven.de/portal An der rechten Seite befindet sich nun das Feld zum Benutzerlogin. Nach Auswahl des Menüpunktes Neuen Benutzer anmelden erscheint das Fenster zur Eingabe der persönlichen Daten. Anmeldung Hier muss zumindest ein Benutzername (Abkürzung des Projektthemas + Jahr z.B. portal2008), eine E-Mail-Adresse und das Kennwort angegeben werden. Da an diese E-MailAdresse ein Aktivierungslink für den Account gesendet wird, ist es wichtig, dass es eine gültige Adresse ist. Weiter unten befindet sich die Schaltfläche neuer Benutzer mit der nach einer Weiterleitung die Bitte auf Überprüfung der eingetragenen Daten angezeigt wird. persönliche Daten T. Post 61 G. Wieking Webportal zur Präsentation von Projektdokumentationen Wenn alle eingegeben Daten der zulässigen Form entsprechen, können die eingetragen Daten überprüft und dann mit Fertigstellen übermittelt werden. Überprüfung Dann folgt die Bestätigung der Anmeldung am Server. Um sich anzumelden wird dem Link Home gefolgt. Bestätigung An der rechten Seite findet sich nun wieder das Feld zum Benutzerlogin.Das Login kann jedoch erst nach erfolgter Aktivierung des E-Mail Links und der Freischaltung des Administrators erfolgen. Durch Eingabe des Benutzernamen und Passworts mit anschließendem Login wird die Startseite des Benutzeraccounts angezeigt. Login T. Post 62 G. Wieking Webportal zur Präsentation von Projektdokumentationen Nun lassen sich Ihre Informationen anzeigen, persönliche Einstellungen vornehmen oder Ihre privaten Nachrichten abrufen. Accont 4.2 pragmaMx verwenden pragmaMx ist eine umfangreiche CMS-Umgebung welche zum Beispiel geeignet ist um Artikel in verschiedenen Themenbereichen zu erstellen. Zu den Artikeln können dann von angemeldeten Benutzern Kommentare abgegeben werden. Um einen Artikel zu schreiben ist zunächst ein Benutzerkonto erforderlich (Einrichtung wie unter Neuen Benutzer anmelden beschrieben). Als angemeldeter Benutzer ist es nun möglich, unter dem Unterpunkt der Menügruppe Internes, den Menüpunkt Artikel schreiben aufzurufen. Hier wird mit Hilfe des Auswahlmenüs das Thema des Artikels festgelegt. Der Titel sollte sich möglichst genau auf den Inhalt des Artikels beziehen. Der Beitrags-Aufmacher ist der Teil des Artikels der dann als Artikelvorschau auf der Startseite sichtbar wird. Teil des Beitrags-Aufmachers sollte eine Abbildung mit den maximalen Ausmaßen von Breite mal Höhe 500x400 Pixeln sein, welche sich über die Funktion Bild einfügen des Wysiwyg Editors in den Ordner media/images hoch laden lässt. Gefolgt von einer kurzen Einleitung in das Projekt. Um die Projektdokumentation hoch zu laden sollte dann im SPAW Datei Manager der Ordner media/files ausgewählt werden. T. Post 63 G. Wieking Webportal zur Präsentation von Projektdokumentationen Wysiwyg Im Teil Erweiterter Text ist dann Raum für die eigentlichen Inhalte des Artikels wie z.B. Grafiken und Texte. Außerdem ist es wünschenswert am Ende des Artikels einen Link einzufügen mit welchem sich die Dokumentation, im Open-Document-Format (.odt) oder Portable-Document-Format(.pdf), herunterladen lässt. Hier eine Beispielzeile dazu in HTML : <a href=“./media/files/hubt08.pdf“><u> Dokumentation zum Download </u> Der Pfad ./media/files/ ist dabei immer einzuhalten, lediglich der Dateiname nach /files/ ist zu ersetzen und wird dann angezeigt als: Dokumentation zum Download Um HTML-Befehlszeilen an das Dokument an zu hängen oder einzufügen lässt sich zwischen der Design und HTML Ansicht umschalten. Ansicht Achtung ! ● Alle hochgeladenen Dateien sind von jedem angemeldeten Benutzer verwendbar ● Der Dateiname der hochgeladenen Datei kann nur vom Administrator geändert werden ● Hochgeladene Dateien können nur vom Administrator gelöscht werden. ● Für die Dateinamen ausschließlich Kleinschreibung verwenden T. Post 64 G. Wieking Kapitel 5 Anhang Webportal zur Präsentation von Projektdokumentationen 5 Anhang 5.1 Wochenprotokolle 5.1.1 Woche 1 Die erste Woche war geprägt von vielen Fragen. So war zunächst zu klären, was für eine Umgebung von pragmaMx benötigt wird, damit es überhaupt arbeitet. Des Weiteren war zu klären, wie die verwendeten Programme ineinander verzahnt sind und zusammenarbeiten. Wir entschlossen uns mit Hilfe eines Handbuchs einer älteren Version von pragmaMx eine erste Installation durchzuführen, da zu der aktuellen Version kein solches Handbuch existierte. Es zeigte sich, dass dafür eine funktionsfähige MySQL Datenbank notwendig war, welche zuvor eingerichtet werden musste, ebenso wie eine intakte PHP Umgebung. Nachdem diese Hürden genommen waren verlief die Installation trotzdem nicht erfolgreich. Es stellte sich heraus, dass für die Installation und den Betrieb von pragmaMx einigen Verzeichnissen und Dateien abweichende Rechte gegeben werden mussten. Um das in Zukunft einfacher zu machen wurde ein Shell-Skript begonnen das diesen Vorgang automatisieren soll. Zu diesem Zeitpunkt war das Portal als bereits prinzipiell funktionsfähig, jedoch zeigten sich fehlerhafte Darstellungen von Sonderzeichen Wir begannen nun uns tiefer in pragmaMx einzuarbeiten und hofften so das Zeichensatzproblem zu lösen. Es stellte sich jedoch heraus, dass das bedeuten würde Teile von pragmaMx neu zu schreiben. Es zeigt sich nämlich noch ein Phänomen. Lediglich die in pragmaMx bereits bei der Installation enthaltenen Texte zeigten dieses Problem. Wurde Text nachträglich eingearbeitet, so waren die Sonderzeichen einwandfrei. Zusammen mit der Option Teile von pragmaMx neu zu schreiben, kamen wir zu der Auffassung, dass dies der falsche Ansatz sein musste und das Problem an anderer Stelle zu suchen sei. Weiterhin wuchs die Erkenntnis, dass wir uns um eine geeignete Möglichkeit Gedanken machen mussten das Portal zu transportieren, was unter anderem ein Backup der MySQL Datenbank bedeutete. T. Post 66 G. Wieking Webportal zur Präsentation von Projektdokumentationen 5.1.2 Woche 2 Nachdem der gesamte Umfang des Projektes in Bezug auf seine Umsetzung annähernd erfasst wurde, haben wir uns entschlossen die Arbeiten am Portal aufzuteilen. Die Aufteilung wird zunächst wie folgt sein: Thomas Post: - Anpassen von pragmaMx - Einarbeiten vorhandener Webpräsentationen Gunnar Wieking: - Systemintegration von pragmaMx - Strategieentwicklung für den Transport und die Sicherung des Portals Im Folgenden wurde damit begonnen das vorhandene Material zu sichten und zunächst auf einen Rechner zu laden und zu sortieren. Dabei wurden die vorhandenen Dokumentationen in das PDF -Format gewandelt um sie der Allgemeinheit zugänglich zu machen. Bei der Fülle der Dokumentationen eine echte Fleißarbeit. Gleiches gilt für die Einarbeitung der vorhandenen Webseiten. Diese waren zum Teil in einem Zustand, der abgesehen vom HTML -Gerüst, schon allein bei der Namensgebung der verwendeten Dateien nahezu alle Unmöglichkeiten beinhaltete. So wurden sowohl Groß- als auch Kleinschreibung als auch Sonderzeichen und Leerzeichen verwendet. Gleiches galt für den Quelltext der Webseiten. Eine Windowsmanier die uns viel Arbeit bereitete und die nächsten Wochen beschäftigte. Die Ursache für die verkehrte Darstellung der Sonderzeichen wurde weiterhin gesucht und ein Lösungsansatz in der httpd.conf von Apache gefunden. Hier ist standardmäßig der Zeichensatz UTF-8 ausgewählt. Nachdem dieser auf ISO-8859-1 geändert wurde war die Seitendarstellung wie gewünscht und es wurde sich der Möglichkeit der Sicherung des Portals gewidmet. Es galt nun zu verstehen wie die Seiteninhalte von pragmaMx verwaltet werden und inwieweit der Seiteninhalt in der Datenbank abgelegt wurde. Es zeigte sich, das sämtliche im Portal geschriebenen Inhalte in der Datenbank abgelegt wurden. Lediglich Bilder und ähnliche Inhalte werden im Verzeichnisstrang des Portals abgelegt. Nach einiger Internetrecherche fand sich dann mit dem Programm MySQLDumper ein Werkzeug zur Sicherung von Datenbanken, dass sowohl die Sicherung als auch das Wiederherstellen der Datenbank mittels Browser ermöglicht, dabei im Verzeichnisstrang des Portals liegt und dort auch die Backups der Datenbank hier ablegt. T. Post 67 G. Wieking Webportal zur Präsentation von Projektdokumentationen Dieser Umstand hat den großen Vorteil, dass es ausreicht zunächst die Datenbank und danach das Webverzeichnis des Portals zu sichern um sämtliche Inhalte in zwei maßgeblichen Schritten zu sichern und wieder her zu stellen. Um das weitere Vorgehen noch mehr zu strukturieren und unsere Arbeitsschritte zu prüfen wurden erste Handzettel und eine Checkliste erstellt. Anhand dieser konnten Fehler bei manchen Arbeitsschritten abgestellt werden. 5.1.3 Woche 3 Auch in dieser Woche wurden die vorhandenen Projekte angepasst und eingearbeitet. Die dabei aufgetretenen Probleme sind bereits in der Vorwoche beschrieben worden. Aufgrund eines Hinweises von Herrn Appenzeller, dass der Server auf dem das Portal letztendlich betrieben werden soll, auch noch weitere Webseiten bereitstellen soll, wir also nicht allein seien, musste die Anpassung der httpd.conf wieder rückgängig gemacht werden. Das bedeutet, dass wieder das Sonderzeichenproblem auftrat. Nach Tagen der Internetrecherche wurde eine Lösung durch Verwendung von per Directory Einstellungen gefunden. Diese erlaubten es diverse Einstellungen speziell für den Verzeichnisstrang in dem die Portalseite liegt vorzunehmen. Im Zuge dessen mussten die Handzettel zur Installation angepasst und erweitert werden. Linux wurde erneut in der Basisinstallation installiert und die Aufzeichnungen wieder überprüft. 5.1.4 Woche 3a Um zu testen ob unsere Projektarbeit mit der von P2 (Webserver / Mail-Relais) auf einem Rechner gemeinsam lauffähig war, wurde ein Treffen in den Ferien vereinbart. Hierbei wurden die bisherigen Ergebnisse zusammen auf einen Server installiert und Apache dem entsprechend eingestellt. Der Test war erfolgreich. Beide Teams konnten so auch die Wiederholbarkeit ihrer Arbeit prüfen. 5.1.5 Woche 4 Die Einarbeitung der vorhandenen Webseiten wurde abgeschlossen. Es wurde nun begonnen letzte Fehler in diesen zu beseitigen. Hierzu zählten defekte Links und fehlerhafte Schreibweisen die auf die Verwendung von Windows zur Erstellung der Seiten deuteten, soT. Post 68 G. Wieking Webportal zur Präsentation von Projektdokumentationen wie das Anpassen von Pfaden die als absolute Pfade ausgeführt wurden und somit nicht mehr stimmten. Weiterhin wurde das Aussehen von pragmaMx weiter angepasst. Hierbei wurde festgestellt, dass es für jeden angemeldeten Nutzer sogar möglich wäre ein ihm zusagendes Theme zu verwenden, sofern dieses bereitgestellt wird. Somit wäre es für jeden Nutzer möglich das Aussehen der Portalseite individuell zu gestalten. Inwieweit das Sinnvoll oder gewünscht sein könnte wird die Zukunft zeigen. Die Tatsache, dass bei der Installation des MySQL-Servers der MySQL-Nutzer root volle Zugriffsberechtigungen auf alle Datenbanken hatte, jedoch ohne Passwort versehen war, bereitete uns großes Unbehagen. Selbst wenn ein Login lediglich lokal hätte geschehen können war das für uns inakzeptabel. Deshalb wurde dieser Zustand geändert und entsprechende Passagen in die Dokumentation eingearbeitet. Hieraus resultierte die Frage nach den notwendigen Berechtigungen des für das Portal verwendeten Nutzers. Nach Recherche im Internet und Kontakten mit einem der pragmaMx Betreuer war festzustellen, dass lediglich für die Installation des Portals nahezu alle Rechte gebraucht würden. Für den normalen Betrieb reichten jedoch wesentlich geringere Berechtigungen. Auch das bedeutete eine erhebliche Steigerung der Sicherheit und wurde ebenfalls in die Dokumentation eingearbeitet. 5.1.6 Woche 5 Die in der letzten Woche vorgenommenen MySQL-Einstellungen wurden ausgiebig geprüft und scheinen ausreichend zu sein. Abschließende Anpassungen in der Dokumentation wurden zu diesem Thema vorgenommenen. Das Portal wurde weiter angepasst. So wurden diverse Module abgeschaltet, bzw. verändert und den Anforderungen angepasst. Es wurde mit der Erstellung eines Benutzerhandbuchs begonnen. Dazu wurden Designregeln erstellt. 5.1.7 Woche 6 Wie sich zeigte können einmal eingestellte und vom Administrator freigegebene Artikel nicht vom Autor nachbearbeitet werden. Es war leider nicht möglich eine Möglichkeit zu finden dies zu umgehen. Recherchen im Internet ergaben auch keine Lösungen. Es wurde deshalb eine entsprechende Anfrage im pragmaMx Forum gestellt. Eine Antwort stand jedoch noch aus. T. Post 69 G. Wieking Webportal zur Präsentation von Projektdokumentationen Nachdem nun das Portal als solches funktionierte stellte sich die Frage nach dem Feinschliff. So musste z.B. geklärt werden ob und welche Verzeichnisse gelöscht werden mussten, wo Berechtigungen nach Abschluss der Installation geändert werden sollten und was unternommen werden musste um etwas mehr Sicherheit zu erhalten. Die seitens pragmaMx benötigte Fähigkeit E-Mails zu verschicken musste noch umgesetzt werden. Erste Versuche zeigten keinen Erfolg. Weder zu Hause, noch im Schulnetzwerk. Informationen aus dem Internet beinhalteten als Antwort auf ähnliche Probleme derart viele verschiedene Lösungsansätze, bis hin zur Neuinstallation des Betriebsystems, das sie entweder keine verfolgbare Linie oder einfach unbrauchbar waren. Hier war noch viel Arbeit. Durch die Vielzahl an Änderungen und Einstellungen, die vorgenommen wurden, war eine Überarbeitung der bisherigen Dokumentation erforderlich. 5.1.8 Woche 7 Der größte Teil der Zeit wurde für den Email-Versand verwendet. Leider schränkte das Schulnetzwerk derart ein, dass die Arbeiten vorübergehend außerhalb der Schule fortgesetzt werden mussten. Das war in mehrerlei Hinsicht erfolgreich. So war es möglich das Problem mit dem Email-Versand zu beseitigen, das Captcha Modul zur Funktion zu bewegen sowie eine Erfolgreiche Umstellung des Portals von Intranet-Umgebung auf Internet-Umgebung und einen damit verbundenen Gewinn an Sicherheit. Dies wurde erreicht durch die Verwendung von Sicherheitscookies. Sämtliche Tests wurden dabei auf einem echten Server durchgeführt. Aufgrund der Vielzahl an Änderungen, insbesondere des Umgebungswechsels, musste die Dokumentation in weitem Umfang umgearbeitet werden. 5.1.9 Woche 8 Die in der letzten Woche erarbeiteten Lösungen für das E-Mail-Handling wurden nun mit Hilfe von gültigen Schul-emailadressen innerhalb des Schulnetzwerks getestet. Dabei zeigte sich leider, dass der Lösungsansatz nicht so übernommen werden konnte. Hier musste weiter getestet werden. Eine Lösung fand sich in der Berücksichtigung von uns zuvor nicht bekannten Besonderheiten im Umgang mit E-Mails, die über den schuleigenen Mailserver verschickt werden. Als Mailserver (SMTP) war die IP 10.60.0.1 zu wählen. Ein Benutzername oder Passwort ist nicht anzugeben. Auch in dieser Woche bestand ein Großteil der Arbeit in der Pflege der Dokumentation. T. Post 70 G. Wieking Webportal zur Präsentation von Projektdokumentationen 5.1.10 Woche 9 Die Hauptarbeit in dieser Woche bestand aus der Überarbeitung der Dokumentation. Teilweise mussten Texte überarbeitet werden. So z.B. der Teil, der sich auf den E-Mailversand bezieht.. Zusätzlich wurde ein Plan für eine erste Schulung ausgearbeitet. 5.1.11 Woche 10 In dieser Woche wurden abschließende Arbeiten an der Dokumentation durchgeführt. Die Projekte „Portal“ und „Serverüberarbeitung“ wurden zusammengeführt, sodass mit einem Umbau der Festplatten beide Projekte verfügbar sind. Die verwendetet Software wurde zusammengestellt und ein Datenträger erstellt. T. Post 71 G. Wieking Webportal zur Präsentation von Projektdokumentationen 5.2 Literaturverzeichnis ● Koffler, Michael, Linux,Addison-Wesley 2007 (ISBN: 978-3-8273-2478-8). ● Koffler, Michael, MySQL 5,Addison-Wesley 2005 (ISBN: 978-3-8273-2253-1). ● Koffler, Öggl, PHP 5 & MySQL 5,Addison-Wesley 2006 (ISBN: 978-3-8273-2392-7). ● Wolfgarten, Sebastian, Apache Webserver 2 - Installation, Konfiguration, Programmierung,Addison-Wesley 2007 (ISBN: 978-3-8273-2566-2). ● www.pragmamx.org ● www.apache.org ● www.selfphp.de ● www.selfhtml.org ● www.wikipedia.de T. Post 72 G. Wieking Webportal zur Präsentation von Projektdokumentationen 5.3 pragmaMx Skript #!/bin/sh #Script zur automatischen Vergabe von Rechten #08.05.08 G.Wieking chmod 777 /var/www/html/portal chmod 666 /var/www/html/portal/config.php chmod 666 /var/www/html/portal/includes/detection chmod 777 -R /var/www/html/portal/media chmod 666 /var/www/html/portal/modules/Web_Links/l_config.php chmod 666 /var/www/html/portal/modules/Downloads/d_config.php chmod 666 /var/www/html/portal/modules/Your_Account/config.php chmod 777 /var/www/html/portal/modules/My_eGallery/temp chmod 755 /var/www/html/portal/modules/My_eGallery/public/uploadFile.php chmod 666 /var/www/html/portal/admin/modules/gallery/config.php chmod 666 /var/www/html/portal/admin/modules/gallery/settings.php chmod 666 /var/www/html/portal/modules/Guestbook/include/config.inc.php chmod 666 /var/www/html/portal/modules/Your_Account/config.php chmod 666 /var/www/html/portal/spaw/config/config.default.php chmod 666 /var/www/html/portal/spaw/config/config.php chmod 666 /var/www/html/portal/includes/captcha/settings.php chmod 777 -R /var/www/html/portal/dynadata chmod 666 /var/www/html/portal/spaw/editor_cnf.php chmod 666 /var/www/html/portal/modules/UserGuest/settings.php chmod 0777 -R /var/www/html/portal/mysqldumper echo "fertig" exit T. Post 73 G. Wieking