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
[email protected] 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