Projektdokumentation - BBS

Transcription

Projektdokumentation - BBS
Projektdokumentation
Webserver BBSF Upgrade
vom
18.02.2008 – 19.05.2008
von Karsten Onken und Mario Hollwurtel
Projekt BBSF Webserver Upgrade in 2008
Erklärung
Hiermit erklären wir, dass wir die Projektarbeit „Upgrade, Konfiguration und
Test des BBSF-Webservers und Mail-Relais mit der Möglichkeit zur
Remoteadministration“ selbständig erarbeitet haben.
___________________
Mario Hollwurtel
___________________
Karsten Onken
2
Projekt BBSF Webserver Upgrade in 2008
Bestätigung
Hiermit wird der Projektgruppe die Richtigkeit der beschriebenen Angaben für
das Projekt (Upgrade, Konfiguration und Test des BBSF-Webservers und
Mail-Relais mit der Möglichkeit zur Remoteadministration) bestätigt.
______________________
Herr Appenzeller
3
Projekt BBSF Webserver Upgrade in 2008
Inhaltsverzeichnis
1 Einleitung...........................................................................................................................7
1.1 Vorwort........................................................................................................................7
1.2 Aufgabenstellung........................................................................................................8
1.3 Projekzeitraum............................................................................................................8
1.4 Projektteam.................................................................................................................8
1.5 Ist-Zustand..................................................................................................................9
1.6 Zielsetzung................................................................................................................10
1.7 Planung.....................................................................................................................10
2 Hardware- und Systemeinrichtung...................................................................................11
2.1 Hardwarevoraussetzungen schaffen........................................................................11
2.2 RAID1 einrichten.......................................................................................................11
2.3 Zusätzliche Installationsanweisungen......................................................................12
3 Software Installationen.....................................................................................................13
3.1 Webmin.....................................................................................................................13
3.1.1 Installation.........................................................................................................13
3.2 Zope..........................................................................................................................14
3.2.1 Installation.........................................................................................................15
3.2.2 Instanz anlegen.................................................................................................16
3.2.3 Zope als Dienst einrichten.................................................................................17
3.3 ZMS..........................................................................................................................18
3.3.1 Installation.........................................................................................................18
3.3.2 Probleme...........................................................................................................18
3.3.3 Importieren von Webseiten in Zope..................................................................19
3.4 WYSIWYG-Editoren.................................................................................................23
3.4.1 EPOZ Editor......................................................................................................23
3.4.1.1 Installation..................................................................................................23
3.4.2 XStandard-Editor...............................................................................................26
3.4.2.1 Installation..................................................................................................26
3.5 Apache......................................................................................................................27
3.5.1 Installation.........................................................................................................27
3.5.2 Apache mit Zope verbinden mittels rewrite (Weiterleitung)..............................27
3.5.2.1 Apache RewriteRule...................................................................................30
3.6 Sendmail...................................................................................................................32
3.6.1 Installation.........................................................................................................32
3.6.2 Sendmail als Mail-Relay Einrichten...................................................................32
3.6.2.1 Schaubild...................................................................................................33
3.6.2.2 Schritt 1: Einstellung der Domain Routen..................................................34
3.6.2.3 Schritt 2: Spamkontrolle.............................................................................35
3.6.2.4 Schritt 3: Lokale Domain Einstellen ..........................................................36
3.6.2.5 Schritt 4: Weiterleitungsdomains...............................................................36
3.6.2.6 Schritt 5: Vertraute Benutzer......................................................................37
3.6.2.7 Schritt 6: Network Ports.............................................................................37
3.7 AntiVir Mailgate.........................................................................................................38
3.7.1 Installation.........................................................................................................38
3.7.2 Konfiguration des AntiVir Updater.....................................................................39
3.7.3 avmailgate und avupdater als Dienst einrichten...............................................41
3.7.4 AntiVir MailGate in Sendmail (MilterModus) vereinen.......................................43
4
Projekt BBSF Webserver Upgrade in 2008
3.7.4.1 sendmail.cf generieren...............................................................................44
3.7.4.2 AntiVir Milter überprüfen.............................................................................44
3.7.5 Wege einer E-Mail durch AntiVir MailGate........................................................46
3.8 USV APC-Smart softwaremäßig vorsehen...............................................................47
3.8.1 Beschreibung.....................................................................................................47
3.8.2 Installation.........................................................................................................47
3.8.3 apcupsd Dämon testen ....................................................................................47
3.8.4 APCUPSD Monitor gapcmon............................................................................48
4 Übergang auf das Produktionssystem.............................................................................50
5 Administrationshandbuch.................................................................................................52
5.1 Webmin.....................................................................................................................54
5.2 Netzwerkeinstellungen..............................................................................................55
5.2.1 Netzwerkschnittstellen.......................................................................................55
5.2.2 Host-Adressen...................................................................................................55
5.2.3 Routing und Gateways......................................................................................56
5.2.4 DNS-Client.........................................................................................................57
5.3 Zope..........................................................................................................................58
5.3.1 Systemverwalter Zugang...................................................................................58
5.3.2 Nutzer Zugang...................................................................................................59
5.3.3 Das Control Panel.............................................................................................60
5.3.4 Product Management........................................................................................61
5.3.5 Database Management.....................................................................................62
5.3.6 Kurzübersicht Zope ..........................................................................................63
5.3.6.1 Shell-Kommandos......................................................................................63
5.3.6.2 Wo finde ich was?......................................................................................63
5.3.6.3 Zugangs Adressen.....................................................................................63
5.4 ZMS..........................................................................................................................64
5.4.1 Wie komme ich auf die Oberfläche?.................................................................64
5.4.2 ZMS updaten.....................................................................................................65
5.4.3 Spezielle Objekte importieren...........................................................................66
5.5 Apache......................................................................................................................67
5.5.1 Globale Konfiguration........................................................................................67
5.5.1.1 Netzwerk und Adressen.............................................................................68
5.5.1.2 Konfigurationsdateien bearbeiten..............................................................68
5.5.2 Virtuelle Server bearbeiten................................................................................69
5.5.2.1 Direktiven...................................................................................................70
5.5.3 Kurzübersicht Apache ......................................................................................71
5.5.3.1 Wo finde ich was?......................................................................................71
5.5.3.2 Shell Kommandos......................................................................................71
5.6 Sendmail...................................................................................................................72
5.6.1 Wo finde ich was?.............................................................................................72
5.6.2 Domain Routen..................................................................................................73
5.6.3 Spamkontrolle....................................................................................................74
5.6.4 Lokale Domains.................................................................................................75
5.6.5 Weiterleitungsdomains......................................................................................75
5.6.6 Vertraute Benutzer............................................................................................76
5.6.6.1 Network Ports.............................................................................................76
5.7 Kurzübersicht AntiVir MailGate ................................................................................77
5
Projekt BBSF Webserver Upgrade in 2008
5.7.1 Wo finde ich was...............................................................................................77
5.7.2 Shell Kommandos.............................................................................................77
5.7.3 Kurzübersicht AntiVir Updater...........................................................................78
5.7.3.1 Wo finde ich was?......................................................................................78
5.7.3.2 Shell Kommandos......................................................................................78
5.7.3.3 AntiVir Skript...............................................................................................78
5.8 Kurzübersicht apcsmart ...........................................................................................79
5.8.1 Wo finde ich was?.............................................................................................79
5.8.2 Shell Kommandos.............................................................................................79
6 Fazit..................................................................................................................................80
7 Quellenverzeichnis...........................................................................................................81
8 Abbildungsverzeichnis.....................................................................................................82
9 Konfigurationsdateien......................................................................................................84
9.1 Die httpd.conf von Apache........................................................................................84
9.2 Die Zope Konfigurationsdatei zope.conf................................................................106
9.3 Das Zope Start Shell-Skript zopectl.......................................................................129
9.4 Die Sendmail Konfigurationsdatei sendmail.mc.....................................................130
9.5 Die Konfigurationsdatei avmailgate.conf................................................................134
9.6 Access Liste avmailgate.acl....................................................................................157
9.7 Die Konfigurationsdatei avupdater.conf..................................................................158
9.8 Die Konfigurationsdatei apcupsd.conf für die USV................................................160
9.9 Die UPS hosts.conf.................................................................................................167
10 Das Tagebuch..............................................................................................................168
6
Projekt BBSF Webserver Upgrade in 2008
1 Einleitung
1.1 Vorwort
Am Ende der zweijährigen Weiterbildung zum staatlich geprüften Techniker mit der
Fachrichtung Elektrotechnik müssen mehrere Prüfungen in verschiedenen Fächern
erfolgreich abgelegt werden. Eine davon besteht darin, selbständig in einem Team eine
Projektarbeit durchzuführen, diese zu dokumentieren und anschließend das Ergebnis
anhand einer Präsentation vorzustellen.
Die Schule stellte uns mehrere Themen zur Auswahl, in den Bereichen
Automatisierungstechnik, Mikrocomputertechnik und Datenkommunikationstechnik. Wir
entschieden uns für das Projekt Webserver Upgrade und Sendmail als Mail-Relay, da uns
der Aufbau eines Servers unter Linux sehr interessierte. Durch diese Projekt lernten wir
Linux näher kennen und hatten die Möglichkeit, einen größeren Einblick in die Server
Technik zu bekommen.
Unsere Aufgabe bestand darin, den Webserver mit der aktuellsten Software komplett neu
aufzubauen und die Homepage der BBS fehlerfrei zu importieren. Des weiteren mussten
wir uns in die Materie des Maitransports einarbeiten, damit der Server als Relay arbeiten
konnte. Das Mail-Aufkommen sollte auf Viren überprüft und dann zum Mailserver der
Schule weitergeleitet werden.
Die nun folgende Arbeit dokumentiert unser Projekt. Im Inhaltsverzeichnis werden einzelne
Themen in Kapitel aufgegliedert. Die Installationen werden schrittweise und anschaulich
beschrieben, wobei die gesammelten Erfahrungen und aufgetauchten Probleme während
der Projektphase nicht zu kurz kommen. Ein am Ende befindliches Handbuch für den
Administrator runden die Sache ab.
7
Projekt BBSF Webserver Upgrade in 2008
1.2 Aufgabenstellung
Projekt Thema
Upgrade, Konfiguration und Test des BBSF-Webservers und Mail-Relais mit der
Möglichkeit zur Remoteadministration.
Vorgaben:
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
Hardwarevoraussetzungen schaffen
PC bzw. vorherigen Server mit den späteren Serverplatten ausrüsten
(Festplattenkompatibilität mit Produktivsystem prüfen, ggf. SATA-Adapter
erforderlich
Installation und Tests
Fedora 8 mit Apache und Sendmail als Relay zum Mailserver, RAID1
Zope 2.10, ZMS 2.10 (Zugriff über Apache rewrite)
WYSIWYG Editoren EPOZ und X-Standard
Avira Mailgate
Webmin
Datenübernahme aus vorherigen ZMS (ggf. Anpassungen)
Zugriff auf Projekt P3 und auf die statische Seite Wetter (in separatem
Verzeichnissen) ermöglichen
USV APC Smart softwaremäßig vorsehen
Strategieentwicklung für Übergang auf Produktionssystem
Übernahme der aktualisierten Daten
Übertragung auf Produktionssystem
Dokumentation
1.3 Projekzeitraum
Projektbeginn
Projektschluss
18.02.2008
19.05.2008
Projektleiter
Ansprechpartner
Herr Appenzeller
Herr Linnemann
1.4 Projektteam
Karsten Onken und Mario Hollwurtel
8
Projekt BBSF Webserver Upgrade in 2008
1.5 Ist-Zustand
Hardware Daten des Servers:
Abbildung 1: Der Server
Motherboard ASUS CUV4X-DLS Rev 1.03
2x 1GHz Pentium III
2x 512MB SDR RAM 133 MHz
2x Western Digital 320GB SATA Festplatten
2x SCSI Controller Schnittstelle onboard
Redundantes Netzteil
Software:
IST
SOLL / NEU
Fedora Core 2
Fedora Core 8
Zope 2.7.4-0
Zope 2.10.5-final
Python 2.3.3
Python 2.4.4
ZMS 2.9.4-14
ZMS 2.10.2-15
Webmin 1.200
Webmin 1.400
Avira Mailgate
Avira Mailgate 2.1.3-2
Apache 2.0.51
Apache 2.2.8
Sendmail 8.12.11
Sendmail 8.14.2
9
Projekt BBSF Webserver Upgrade in 2008
1.6 Zielsetzung
Der bestehende Webserver der BBS Friedenstrasse soll unter Verwendung der neusten
Programmversionen dupliziert werden. Nach Vollendung soll der Server den
Produktionsserver für eine gewisse Zeit ablösen, damit an diesem Wartungsarbeiten
durchgeführt werden können. Im Anschluss werden dann die Festplatten getauscht und in
den frisch gewarteten Server eingebaut und betrieben.
1.7 Planung
Nachdem wir uns einen Raum organisiert und einen Server für die Projektphase
bekommen hatten, machten wir eine grobe Planung.
Es musste zunächst ein SATA-Controller besorgt werden, damit sich die noch im Zulauf
befindlichen neuen 320GB SATA-Festplatten in dem Server betreiben ließen. Es sollte
kein RAID-Controller sein, da das RAID1 Verfahren softwaremäßig realisiert wurde. Der
Server bietet zwar schon onboard einen SCSI-Controller, doch die Anschaffungskosten
der SCSI-Festplatten wären zu hoch gewesen. Die günstigere Alternative waren die SATA
Festplatten, die auch speziell für den Serverbetrieb zu bekommen sind. Wir setzten uns
zusätzlich einen Rechner auf, worauf wir die Programme testen konnten. Erst erfolgreich
abgeschlossene Installationen wurden auf den eigentlichen Server übertragen, um keine
Neuinstallation zu provozieren.
10
Projekt BBSF Webserver Upgrade in 2008
2 Hardware- und Systemeinrichtung
2.1 Hardwarevoraussetzungen schaffen
Da die Aufgabe darin bestand, den Server mit zwei SATA Festplatten auszustatten, die im
RAID1 laufen sollen, uns jedoch nur IDE oder SCSI Controller auf dem Motherboard zur
Verfügung standen, mussten wir uns einen SATA Controller zulegen. SCSI wäre zwar das
bessere Verfahren, jedoch sind die SCSI-Festplatten sehr teuer. Es wurde also die
günstigere Variante realisiert, die aber schon nah an die Leistung des SCSI-Verfahrens
heran kommt. Wir besorgten uns also den SATA-Controller SATA300 TX2plus und
bauten ihn ein. Danach demontierten wir unnötige Datenkabel und Festplatten und
installierten Fedora 8.
2.2 RAID1 einrichten
Redundant Array of Independent Disks kurz RAID genannt, dient der Organisation
mehrerer Festplatten zu einem logischem Laufwerk. Es gibt Möglichkeiten, um eine
höhere Datensicherheit bei Ausfall einzelner Festplatten zu realisieren (Spiegelung von
Festplatten) und/oder einen größeren Datendurchsatz zu erzeugen, indem aus zwei
physikalischen Festplatten eine gemacht wird.
Wir hatten zur Aufgabe, das RAID1, also das gespiegelte Verfahren softwaremäßig
anzuwenden, was während der Installationsroutine von Fedora 8 einzustellen war. Bei
einem Festplattenausfall sind die Daten so noch auf der anderen Platte vorhanden. Die
Datensicherheit und der Lesezugriff werden somit erhöht. Es musste für beide Festplatten
exakt das gleiche eingerichtet werden. Auf den unteren Bildern aus Webmin können die
getätigten Eingaben abgelesen werden.
Abbildung 2: Linux-RAID
11
Projekt BBSF Webserver Upgrade in 2008
Abbildung 3: SATA Gerät A
Abbildung 4: SATA Gerät B
2.3 Zusätzliche Installationsanweisungen
Desktopumgebungen:
Nur KDE
Anwendungen:
schreiben und publizieren
Softwareentwicklung:
Entwicklungstools
Entwicklungsbibliothek
Web-Entwicklung
Server:
FTP-Server
Mail-Server
MySQL-Server
Web-Server
Server-Konfigurationstools
Basissystem:
Systemtools
12
Projekt BBSF Webserver Upgrade in 2008
3 Software Installationen
3.1 Webmin
Webmin erlaubt, über den Webbrowser nahezu jede Systemeinstellung an einem Unix
System durchzuführen. Server-Prozesse, Dienste und Konfigurationen können leicht über
eine übersichtliche grafische Oberfläche administriert werden. Die unübersichtliche und
schwierigere Anpassung an Konfigurationsdateien mit einem Editor entfallen. Die
Administration kann lokal aber auch aus der Ferne über eine verschlüsselte Verbindung
durchgeführt werden.
3.1.1
Installation
Nach erfolgreichem Download des Paketes webmin-1.400-1.noarch.rpm installiert man
es auf der Konsole mit folgendem Befehl:
$~# rpm -Uvh webmin-1.400-1.noarch.rpm
Nach erfolgreicher Installation kann Webmin dann in einem beliebigen Internetbrowser
z.B. Firefox unter https://localhost:10000 aufgerufen werden.
Abbildung 5: Webmin
13
Projekt BBSF Webserver Upgrade in 2008
3.2 Zope
Zope (Z Object Publishing Environment) ist ein objektorientierter, in der
Programmiersprache Python geschriebener, freier Webanwendungs-Server mit offenem
Quellcode. Zope stellt eine Plattform für die Realisierung von Webanwendungen dar und
eignet sich sehr gut zum Erstellen von dynamischen Webauftritten, da es prinzipiell darauf
ausgerichtet ist, den Inhalt von der Gestaltung der Website zu trennen. Das World Wide
Web besteht heute überwiegend aus Web-Applikationen, die HTML-Seiten dynamisch
generieren und dabei die Inhalte aus Datenbanken beziehen. Das bedeutet, dass Seiten
im Moment der Anforderung erzeugt werden. Diese werden dann vom Webserver an den
Browser übertragen und beim Benutzer angezeigt.
Zope vereint Datenbank, Entwicklungssystem und Webserver in einem, hält aber auch die
Möglichkeit offen, mit Datenbanksystemen wie MySQL oder PostgreSQL
zusammenzuarbeiten und auf Daten im Dateisystem zuzugreifen. Alle Bestandteile einer
Web-Applikation, die mit Zope erstellt worden sind, werden in einer Objekt-Datenbank
gespeichert (ZODB). Zope bietet gleich drei Skriptsprachen zur Entwicklung von
Applikationen. Zwei von ihnen, Document Template Markup Language (DTML) und
Template Attribute Language (TAL) werden in den HTML-Quellcode integriert. Die dritte,
Python, wird in eigenen Bereichen notiert und von HTML-Seiten aufgerufen. Zope arbeitet
mit Objekten, die sich gegenseitig aufrufen. HTML-Seiten werden aus einzelnen Objekten
zusammengesetzt, die wiederum Inhalte von weiteren Objekten beziehen. Die im Zope
Kern entstandene HTML-Seite wird dann vom integrierten Webserver ZServer
ausgeliefert.
Client
Client
Web Server
ZServer
ZClasses
Zope Produkte
Kern
ZobjektDatenbank
(ZODB)
ZOPE
relationale
Datenbank
(RDBMS)
Abbildung 6: Zope Aufbau
14
DateiSystem
Projekt BBSF Webserver Upgrade in 2008
Dieser Prozess wir auch als Object-Publishing bezeichnet. Eine Anfrage kann auch von
einem anderen Webserver kommen. Eine gängige Methode ist es, das Apache-RewriteModul zum Umlenken von URLs auf den Zserver zu verwenden. Hierbei schreibt das
Apache-Modul einen hereinkommenden URL so um, dass er auf den Zserver bzw.. ein
Objekt von Zope zeigt.
3.2.1 Installation
Die Installation von Zope ist ein wenig aufwendiger, da es nur im Source Code zu
bekommen war unter www.zope.org. Außerdem muss man die richtige Zusammensetzung
wählen. Hier eine Übersicht:
•
•
•
•
•
Zope 2.7.X mit Python 2.3.X
Zope 2.8 bis 2.10 mit Python 2.4.2/2.4.3
Zope 3.2 mit Python 2.4.3
Zope 3.3 mit Python 2.4.3
Python 2.5 wird von keiner Zope Version unterstützt!!!
Zope benötigt für die Installation die richtige Python Version, die im Vorfeld installiert sein
muss. Die geeignete Version ist unter www.python.org zu beziehen. In unserem Fall war
es Python mit der Version 2.4.4. Außerdem muss ein C-Complier (gcc) installiert sein um,
python zu kompilieren zu können.
Folgende Schritte sind auf der Konsole zu unternehmen:
Paket entpacken mit dem tar Befehl:
root@relais ~# tgz -xvfz Python-2.4.4.tgz
Python installieren:
[root@relais]# cd Python-2.4.4
[root@relais Python-2.4.4]# ./configure
[root@relais Python-2.4.4]# make
[root@relais Python-2.4.4]# make install
Zope ins opt Verzeichnis installieren:
[root@relais~]# cd /opt
[root@relais opt]# tar xvfz Zope-2.10.5-final.tgz
[root@relais opt]# cd Zope-2.10
[root@relais Zope-2.10]# ./configure
[root@relais Zope-2.10]# make
[root@relais Zope-2.10]# make install
15
Projekt BBSF Webserver Upgrade in 2008
3.2.2 Instanz anlegen
Mit dem Python Skript mkzopeinstance.py wird eine Instanz und ein User angelegt. Wir
wählten den Instanznamen „instance“ und den Benutzernamen „zope“. Der User muss
dem Betriebssystem bekannt sein.
[root@relais Zope-2.10]# cd /opt/Zope-2.10/bin
[root@relais bin]# ./mkzopeinstance.py
Please choose a directory in which you'd like to install
Zope "instance home" files such as database files, configuration
files, etc.
Directory: /opt/instance
Please choose a username and password for the initial user.
These will be the credentials you use to initially manage
your new Zope instance.
Username: zope
Password: *******
Verify password: *******
Wir rufen das etc Verzeichnis im instance Ordner auf, wo sich die zope.conf befindet.
Diese wird mit einem Texteditor geöffnet und in Zeile 149 der effectiv user aktiviert, indem
wir das Raute Zeichen entfernen. Hier wird der User eingetragen, der beim Anlegen der
Instanz angegeben wurde.
Über kate /etc/password oder über KDE-Einstellungen-Benutzer und Gruppen ist es
möglich Benutzer anzulegen. Dabei muss aus Sicherheitsgründen
/sbin/nologin
ausgewählt werden. Man verhindert dadurch, das sich der Nutzer an dem System
anmelden kann, da er nur unter Zope agieren soll. Apache in die Gruppe zope aufnehmen
[root@relais bin]# cd /opt/instance/etc
[root@relais etc]# kate zope.conf
Rechte anpassen:
[root@relais~]# chmod 775 /opt/instance
[root@relais~]# chmod 775 /opt/Zope-2.10
[root@relais~]# chmod 775 /opt/instance/bin
[root@relais~]# chmod 775 /opt/instance/etc
[root@relais~]# chmod 775 /opt/instance/lib
[root@relais~]# chmod 775 /opt/instance/log
[root@relais~]# chmod 775 /opt/instance/var
(Gruppe zope)
(Gruppe zope)
Zope kann jetzt mit dem Start-Skript gestartet werden:
[root@relais bin]# cd /opt/instance/bin
[root@relais bin]# ./zopectl start
. daemon process started, pid=5232
Wenn alles geklappt hat, kann das Zope Management Interface mit
16
Projekt BBSF Webserver Upgrade in 2008
http://localhost:8080/manage im Internetbrowser aufgerufen werden.
Abbildung 7: Zope Anmeldung
Abbildung 8: ZMI
3.2.3 Zope als Dienst einrichten
Da Zope nicht als Dienst installiert wurde, kopiert man das Start-Skript zopectl ins
Verzeichnis /etc/init.d und aktiviert es mit Hilfe von Webmin unter System ->SystemStart und Stop.
17
Projekt BBSF Webserver Upgrade in 2008
3.3 ZMS
Zms bietet ein Content Management System (CMS), womit man in der Lage ist, mehrere
Autoren an einem Webauftritt arbeiten zu lassen. Eine Rechtestruktur regelt die Zugriffe
der verschiedenen Bereiche. Durch eine strukturierte Arbeitsoberfläche lassen sich Seiten
ohne HTML-Kenntnisse leicht erstellen und verändern. Auch die WYSIWYG Editoren,die
in ZMS installiert werden können, vereinfachen noch zusätzlich die Erstellung.
Ein weiterer Vorteil ist, dass alle Autoren gezwungen sind, sich an ein vorgegebenes
Template zu halten. Somit ist gewährleistet, dass die Webseite ein einheitliches Aussehen
behält.
3.3.1 Installation
Wir besorgten uns die passende ZMS Version von der Hoffmann & Liebenberg Seite
http://bscw.hoffmannliebenberg.de/pub/bscw.cgi/0/199497 und entpackten die Datei.
Es entstand ein Ordner mit dem Namen zms. Diesen kopierten wir in das Verzeichnis
/opt/Zope-2.10/lib/python/Products/ .
Danach mussten wir einige Rechte verändern:
chmod 775 /opt/Zope-2.10/lib
chmod 775 /opt/Zope-2.10/lib/python
chmod 775 /opt/Zope-2.10/lib/python/Products
chmod -R 775 /opt/Zope-2.10/lib/python/Products/zms
chmod 775 /opt/instance/import
Nach dem Neu-Start von Zope wird ZMS jetzt automatisch installiert. Ob alles geklappt
hat, kann man über das Control Panel -> Product Management überprüfen.
Im Zope Management Interface hat man jetzt die Möglichkeit, mit dem Button „ADD“ eine
ZMS Ebene anzulegen, um eine Webseite zu erstellen. Da die zu importierende Webseite
von der Schule mit ZMS bereits erstellt wurde, ist dies nicht mehr notwendig. Der
komplette Ordner der Webseite und deren ZMS Einstellungen werden nämlich beim
Exportieren gesichert und beim späteren Importieren wieder mit hergestellt.
3.3.2 Probleme
Wir hatten große Schwierigkeiten, eine passende ZMS Version für die zu importierende
Webseite zu finden. Die neusten Versionen waren leider nicht kompatibel und die
Webseite wurde fehlerhaft importiert. Die Ausgangs ZMS-Version war 2.9.4-14 und die
zur Zeit aktuellste 2.11.0, aber die Seite konnte nur bis zur Version 2.10.2-15 richtig und
ohne Fehler dargestellt werden. Außerdem mussten einzelne Versionssprünge
durchgeführt werden, einfach die neuste Version zu nehmen war nicht möglich.
18
Projekt BBSF Webserver Upgrade in 2008
Hier eine Auflistung unserer Tests:
2.10.1-34
2.10.2-15
2.10.3-01
2.10.3-18
2.10.4-01
2.10.4-20
2.10.4-34
Seiten fehlerfrei
Letzte fehlerfrei funktionierende ZMS-Version von der 2.10.2-x Reihe.
Seiten fehlerhaft „Site Error“
Wichtige Sprung Version. Seite fehlerhaft „Site Error“
Seiten fehlerhaft „Site Error“
Fehlerhafte Seiten
Seiten fehlerfrei bis auf die fehlende Hintergrundfarbe aller Tabellen
2.10.5-24
Letzte Version aus der 2.10.5-x Reihe. Seiten fehlerfrei bis auf die
fehlende Hintergrundfarbe aller Tabellen.
Seite wird nicht richtig migriert. „Site Error“
2.11.0
Es stellt kein Problem dar, die Webseite von der ZMS 2.9.4-14 Version direkt auf die ZMS
2.10.2-15 Version zu migrieren. Nötige Zwischenschritte sind nicht erkennbar notwendig.
Es muss nicht bei jedem Versionssprung die Webseite aus der alten ZMS-Version
exportiert und nach der Installation einer neueren ZMS-Version wieder in diese importiert
werden. Die Webseite wird direkt mit der Installation einer neueren ZMS-Version in diese
migriert.
Wichtiger Hinweise von der offiziellen Seite:
http://www.zmspublishing.com/e599/e1512/index_ger.html
Mit ZMS 2.11.1 sind die Python-Module für die ehemaligen Standard-Objekte aus dem
Code entfernt worden. Daher ist die Version 2.11.0 ein unbedingt erforderlicher
Zwischenschritt für Updates von Versionen 2.10 oder tiefer.
Und weiterhin: Versionen, die älter sind als 2.10.3#19, benötigen zusätzlich den Build
2.10.3#18 als Zwischenschritt. Ein Update von 2.9.4 sähe also so aus:
1. Step: 2.10.3#18
2. Step: 2.11.0
3. Step: 2.11.1
Es ist wichtig, dass die ZMS Version das ZMSthemen22 Template unterstützt, da sonst die
Seite nicht übernommen wird.
3.3.3 Importieren von Webseiten in Zope
Um Zope Seiten importieren zu können, müssen die exportierten Seiten im Ordner
/opt/Zope2.10/import abgelegt werden. Ist dies geschehen, klickt man im Zope
Management Interface auf das Root Folder und klickt dann auf den Import/Export Button.
Es öffnet sich die Seite wie im Bild zu sehen.
In unserem Beispiel heißt die zu importierende Datei BBSFriedenstr.zexp. Diese konnte
im Pulldown Menü ausgewählt werden. Nun ist zu entscheiden, ob man die enthaltenen
19
Projekt BBSF Webserver Upgrade in 2008
Rechte übernehmen oder selbst der Besitzer der zu importierenden Objekte werden
möchte.
Durch den Import Button wird die Seite dann importiert.
Abbildung 9: Webseiten importieren
Wenn alles funktioniert hat, bekommt man die Meldung „successfully imported“ und ein
neuer Ordner mit dem Namen BBSFriedenstr ist im Root Folder entstanden. Es könnte
sein, dass Tabellen, Farben und Zeichen verändert dargestellt werden. Wenn möglich, ist
dies von Hand nachzubessern.
20
Projekt BBSF Webserver Upgrade in 2008
Um jetzt auf die ZMS Arbeitsoberfläche zu kommen, wählt man im Root Folder den
BBSFriedenstr Ordner an und klickt auf content.
Abbildung 10: BBSFriedenstr Ordner
Abbildung 11: content
Hier klicken
Es öffnet sich die ZMS Arbeitsoberfläche und die BBS Seite synchronisiert sich mit der
zuvor installierten ZMS Version. Über Vorschau kann die Webseite dann aufgerufen und
21
Projekt BBSF Webserver Upgrade in 2008
überprüft werden.
Abbildung 12: ZMS Oberfläche
Abbildung 13: Vorschau
22
Projekt BBSF Webserver Upgrade in 2008
3.4 WYSIWYG-Editoren
WYSIWYG steht für: What You See Is What You Get" („Was du siehst, ist [das,] was du
bekommst.“)
Dies bedeutet, dass man mit den genannten Editoren Webseiten ohne HTML Kenntnisse
erstellen kann. Texte, Bilder und Tabellen können wie bei einem Schreibprogramm erzeugt
werden. Diese werden dann automatisch in die HTML Sprache umgewandelt.
Durch diese Möglichkeit spart man sich eine Menge Zeit und ist in der Lage, leicht eine
Website zu erstellen.
Wir sollten jetzt neben dem schon vorhandenen Standard Editor von ZMS MS-DHTMLEditing-Komponente für „Rich Editing“ noch den EPOZ-Editor und den XStandardEditor installieren.
3.4.1 EPOZ Editor
Dies ist ein Editor für alle, die nicht über HTML-Kenntnisse verfügen. Hiermit ist es
möglich, wie z.B. bei MSWord Texte zu erstellen und sie zu bearbeiten
(Schriftbearbeitung, Aufzählungen, Verlinkungen, Farben, Textausrichtungen usw.).
3.4.1.1 Installation
Zuerst haben wir uns das Paket Epoz-0.7.4.tar.gz und die specObj_epozeditor_ger.xml
Datei von der Seite:
http://www.zmspublishing.com/support/content/e724/e729/e1460/index_ger.html
heruntergeladen.
Wir entpackten daraufhin das Paket und kopierten den entstandenen Ordner Epoz in das
Verzeichnis opt/Zope-2.10/lib/python/Products. Danach gingen wir auf die ZMS
Oberfläche und wechselten auf den Kartei Reiter Konfiguration.
Abbildung 14: Konfiguration
23
Projekt BBSF Webserver Upgrade in 2008
Im Kartei Reiter auf spezielle Objekte klicken. Hier muss man jetzt das zuvor
heruntergeladene spezielle Objekt specObj_epozeditor_ger.xml importieren.
Abbildung 15: Spezielle Objekte
Wurde die Datei erfolgreich importiert, steht das Objekt in der Action-List (Dropdown
Menü) zur Verfügung und heißt Text.
Abbildung 16: Action-List
24
Projekt BBSF Webserver Upgrade in 2008
Vor dem einbinden des Epoz-Editors:
Abbildung 17: Vor dem Einbinden
Nach dem einbinden des Epoz-Editors:
Abbildung 18: EPOZ Editor
25
Projekt BBSF Webserver Upgrade in 2008
3.4.2 XStandard-Editor
Es handelt sich um einen sehr leistungsfähigen WYSIWYG-Editor, der valides XHTML
ausgibt und über umfangreiche Integrations-Optionen verfügt.
Dieser Editor liefert eine ausgezeichnete Code-Qualität und verfügt über umfangreiche
Schnittstellen. Das Programmier-Interface ist extrem flexibel und setzt konsequent auf
XML. Gegenüber anderen (open source) Editoren ist XStandard ein solide konzipiertes
Produkt, das professionellen Anforderungen an die Qualität von XHTML genügt.
Neben den bekannten Editoren kann nun einem ZMS-Textformat der neue Editor
zugewiesen werden, wodurch jeder Textabschnitt mit XStandard bearbeitet werden kann.
3.4.2.1 Installation
Die Datei xhtml.metaobj_ger.xml, wie schon bei der Epoz-Installation beschrieben, unter
dem Kartei Reiter Spez. Objekte importieren.
Bei einem Neustart von ZMS ist der Editoren ebenfalls in der Action-List unter dem Namen
XHTML zu finden. Beim Aufrufen mussten wir noch ein Plugin für FireFox installieren,
damit der Editor angezeigt werden konnte. Da aber nicht direkt am Server Webseiten
bearbeitet werden, sondern an den Arbeitsplatzrechnern, ist es auch nur dort erforderlich.
Abbildung 19: XStandard Editor
26
Projekt BBSF Webserver Upgrade in 2008
3.5 Apache
Apache ist der meist eingesetzte Webserver im Internet. Durch seinen modularen Aufbau
lässt er sich leicht erweitern. Mit den Skript Sprachen PHP, Perl oder Ruby ist er in der
Lage, dynamische Webseiten zu erstellen. Diese sind zwar nicht im Apache enthalten,
können aber als Module hinzugefügt werden.
3.5.1 Installation
Apache gehört zu den Standardkomponenten einer Linux-Distribution und ist automatisch
mit installiert, wenn man ein Linux-System einrichtet.
3.5.2
Apache mit Zope verbinden mittels rewrite (Weiterleitung)
Als erstes sollte man die Namensauflösung in der /etc/hosts Datei durchführen. Später
übernimmt das natürlich der DNS-Server von der Fachhochschule, doch um den
Webserver zu testen, trugen wir folgendes dazu:
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1
localhost.localdomain
localhost
localhost
::1
localhost6.localdomain6 localhost6
192.168.2.111
www.bbs.fh-wilhelmshaven.de bbs.fh-wilhelmshaven.de
Jetzt brauchen wir im Browser nicht mehr die IP Adresse eintragen, um die Apache
Testseite zu sehen, bzw. später die richtige Seite von der BBS. Damit wir diese über die
URL-Adresse aufrufen können, müssen wir aber noch einige Einstellungen vornehmen.
Schauen wir uns erst einmal das Zope Management Interface (ZMI) an. Wir sehen hier
den entstandenen Ordner „BBSFriedenstr“ wo alle Dateien der Webseite abgelegt sind.
Der Hauptordner der Webseite ist also BBSFriedenstr.
27
Projekt BBSF Webserver Upgrade in 2008
Abbildung 20: Virtual Host erstellen
Als nächstes erstellen wir unter dem ZMI einen „Virtual Host Monster“ im Root Folder,
wenn er nicht schon vorhanden ist. Er ist rechts im Bild im Pull-down-Menü mit „Add“
auszuwählen.
Ist die Auswahl erfolgt, öffnet sich dieses untere Fenster, wo wir den Namen (ID) festlegen.
Die ID für das Virtual Host Monster spielt dabei keine Rolle, sie sollte nur eindeutig sein,
um keinen Konflikt mit anderen Objekt-IDś zu erhalten. Bei uns heißt dieser
virtual_hosting.
28
Projekt BBSF Webserver Upgrade in 2008
Abbildung 21: Namen vergeben
Durch das Klicken auf den Button Add erscheint jetzt dieses Fenster, wo wir im Kartei
Reiter „Mappings“ anwählen.
Abbildung 22: Virtual Monster
29
Projekt BBSF Webserver Upgrade in 2008
Dort tragen wir den Pfad ein, wohin das Virtual-Host-Monster bei Anfragen von außen,
also in unserem Fall vom Apache Webserver, hin zeigen soll und speichern dies.
Hier unser Pfad zur index.html Datei der Webseite, mit anderen Worten, der Inhalt der
Webseite liegt im Ordner BBSFriedenstr im Dateisystem von Zope:
www.bbs.fh-wilhelmshaven.de/BBSFriedenstr
Dieser Mapping Eintrag ist nicht zwingend erforderlich, da durch den noch folgenden
Eintrag in der httpd.conf des Apache Webservers, das Virtual Host Monster schon
gesagt bekommt, zu welchem Pfad es weiterleiten soll
Abbildung 23: Mapping Eintrag
3.5.2.1 Apache RewriteRule
In der Apache Konfigurationsdatei /etc/httpd/conf/httpd.conf werden unter Sektion 3
folgende Einträge vorgenommen:
NameVirtualHost localhost:80
<VirtualHost localhost:80>
ServerName localhost
</VirtualHost>
Es werden mit diesen Zeilen ein virtueller Host angelegt mit dem Namen localhost. Er ist
über Port 80 ansprechbar.
30
Projekt BBSF Webserver Upgrade in 2008
Der Nächste Virtuelle Host bekommt den Namen www.bbs.fh-wilhelmshaven.de. Dieser
wird ebenfalls über Port 80 angesprochen.
NameVirtualHost www.bbs.fh-wilhelmshaven.de:80
<VirtualHost www.bbs.fh-wilhelmshaven.de:80>
ServerName www.bbs.fh-wilhelmshaven.de
Die nächste Zeile aktiviert das Rewrite-Modul, womit wir die Weiterleitung zum Zope
Server realisieren werden und dessen Ausnahmen.
RewriteEngine On
Mit diesen Zeilen werden die Ausnahmen festgelegt, die nicht zum Zope Webserver
geleitet werden sollen. Endet die Webadresse der Schule mit /portal oder /wetter, wird zu
dem Standard Pfad von Apache geleitet /var/www/. In unserem Fall sind dort zwei Ordner
mit dem Namen portal für die Projekte-Seite und wetter für die Wetter-Seite.
www.bbs.fh-wilhelmshaven.de/portal
www.bbs.fh-wilhelmshaven.de/wetter
RewriteCond %{REQUEST_URI} !^/portal
RewriteCond %{REQUEST_URI} !^/wetter
RewriteRule ^/(.*) http://127.0.0.1:8080/VirtualHostBase/http/www.bbs.fhwilhelmshaven.de:80/BBSFriedenstr/VirtualHostRoot/$1 [L,P]
Mit dieser Zeile (Es ist nur eine Zeile, beachte hier den Zeilenumbruch im Text) wird die
Weiterleitung aller anderen Anfragen zu Zope realisiert.
Die Rewrite Rule besagt: Schreibe alle hereinkommenden URLs (.*) auf die Adresse
http://127.0.0.1:8080 um, und zeige auf das Objekt BBSFriedenstr, bis auf die oben im
Text genannten Ausnahmen (^/).
Die nächsten Einträge werden benötigt für das Portal.
<Directory "/var/www/html/portal/mysqldumper">
AuthType Basic
AllowOverride AuthConfig
</Directory>
<Directory "/var/www/html/portal">
AddDefaultCharset ISO-8859-1
LanguagePriority
</Directory>
Damit die neuen Einträge übernommen werden, muss Apache neu gestartet werden!
31
Projekt BBSF Webserver Upgrade in 2008
3.6 Sendmail
Sendmail ist ein Mail Transfer Agent (MTA). Seine Aufgabe ist es, E-Mails von E-Mail
Benutzerprogrammen (MUA) wie z.B. Outlook oder Thunderbird anzunehmen und dann
an festgelegte Computer oder Mailserver weiterzuleiten. In unserem Fall soll Sendmail als
Mail-Relay funktionieren.
3.6.1 Installation
Fedora 8 bringt Sendmail von Hause aus mit. Es kann leicht über den Paketmanager
installiert werden. Mit Hilfe von Webmin ist es dann unter einer grafischen Oberfläche zu
konfigurieren.
Abbildung 24: Sendmail
3.6.2 Sendmail als Mail-Relay Einrichten
Von der Fachhochschule werden die E-Mails, die für die BBS bestimmt sind, über die
Firewall bbsfire zum Mail-Relay relais.dmz geleitet. Dieser soll wiederum nur die E-Mails
weiterleiten, die für die Domain bbs.fh-wilhelmshaven.de oder bbs2.fhwilhelmshaven.de bestimmt sind. Erst wenn dies zutrifft und die Mail vorher virenfrei war,
wird sie wieder über die Firewall und dann zum Mailserver der Schule geleitet. Von hier
aus können die Benutzer dann Ihre E-Mails abrufen. Versendet ein Nutzer eine E-Mail,
geht sie direkt über die Firewall ins Internet. Das Mail-Relay behandelt also nur
eingehende Mails. In den nächsten Zeilen werden die Konfigurationsschritte erklärt.
Die
noch
benötigten
Administrationshandbuch!
Netzwerkeinstellungen
32
findet
man
in
dem
Projekt BBSF Webserver Upgrade in 2008
3.6.2.1 Schaubild
Abbildung 25: Netz Aufbau
33
Projekt BBSF Webserver Upgrade in 2008
3.6.2.2 Schritt 1: Einstellung der Domain Routen
Nur die E-Mails mit der Domain-Endung in der Tabelle, werden weitergeleitet an die
Adresse mail.bbsf-whv.de (Mailserver).
Der Punkt am Anfang einer Domain Adresse besagt, dass davor noch irgendetwas stehen
darf. z.B. [email protected], um weitergeleitet zu werden.
Abbildung 26: Domain-Routing
Danach klickt man auf jeden entstandenen Domain-Eintrag in der Tabelle, um das
Häkchen bei „MX-Eintrag für SMTP-Auslieferung zu ignorieren“ zu setzen. In der
Domain-Routing Tabelle müssen die Einträge in der Spalte „Sende an..“ danach in
Klammern stehen.
Abbildung 27: Routing bearbeiten
34
Projekt BBSF Webserver Upgrade in 2008
3.6.2.3 Schritt 2: Spamkontrolle
Da über diesen Server nur eingehende E-Mails behandelt und dann weitergeleitet werden
sollen (ausgehende E-Mails gehen nicht über das Mail-Relay), werden hier nur die lokalen
Adressen eingetragen. Diese Regel erlaubt es nur den lokalen Benutzern, E-Mails von
diesem Server zu versenden. Das Mail-Relay kann somit nicht als Spam-Versender
missbraucht werden.
Abbildung 28: Spamkontrolle
Danach klicken wir auf die erstellten Einträge in der Tabelle, um die Spam-Kontrollregeln
zu bearbeiten. Hier stellen wir unter Aktion „Akzeptieren“ ein und gehen auf Speichern.
Abbildung 29: Spam-Kontrollregel
35
Projekt BBSF Webserver Upgrade in 2008
3.6.2.4 Schritt 3: Lokale Domain Einstellen
Hier wird nur die lokale Domain localhost eingetragen.
Abbildung 30: Lokale Domains
3.6.2.5 Schritt 4: Weiterleitungsdomains
Zum Schluss werden noch die Domains eingetragen, die weitergeleitet werden dürfen. In
unserem Fall sind es die Domains:
bbs.fh-wilhelmshaven.de, bbs2.fh-wilhelmshaven.de
und bbsf-whv.de .
Abbildung 31: Weiterleitungs Domains
36
Projekt BBSF Webserver Upgrade in 2008
3.6.2.6 Schritt 5: Vertraute Benutzer
Nur den hier eingetragenen lokalen Benutzern wird Sendmail gestatten, eine andere
Adresse unter „From:“ anzugeben. Diese Einschränkung hält andere Benutzer davon ab,
gefälschte Adressen unter „From:“ in E-Mails zu benutzen, die von Ihrem System aus
gesendet werden.
Abbildung 32: Vertraute Benutzer
3.6.2.7 Schritt 6: Network Ports
Abbildung 33: Network Ports
37
Projekt BBSF Webserver Upgrade in 2008
3.7 AntiVir Mailgate
AntiVir MailGate prüft alle ein- und ausgehenden E-Mails einschließlich deren Attachments
auf Viren und unerwünschten Programmen. Infizierte E-Mails werden nicht weitergeleitet.
Die Software läuft mit zahlreichen Mail Transport Agents (MTA), in unserem Fall mit
Sendmail zusammen.
3.7.1 Installation
Das AniVir Milter war bisher ein alleinstehendes Programm. Es war ausschließlich für
Sendmail verfügbar, da es die Milter-Schnittstelle von Sendmail genutzt hat. Die Milter
Funktionalität ist jetzt ab der Version 2.1.0-0 in AntiVir MailGate enthalten und kann auf
der Seite www.avira.de heruntergeladen werden.
Folgende Schritte sind durchzuführen, um MailGate im Milter-Modus mit Sendmail zu
verwenden.
Die Datei antivir-mailgate-prof-2.1.3-2.tar.gz wird ins tmp Verzeichnis kopiert und
entpackt. In dem jetzt entstandenen Verzeichnis antivir-mailgate-prof-<Version> starten wir
über die Konsole das Installationsskript:
[root@relais antivir-mailgate-prof-2.1.3-2]# ./install
Das Installationsskript startet und man wird aufgefordert, die Lizenzbestimmungen zu
lesen. Mit q kann die Datei mit den Lizenzbedingungen verlassen werden.
Folgende Abfrage erscheint:
Do you agree to the license terms? [n]
Jetzt geben wir y ein und bestätigen mit Enter. Es erscheint die Frage nach der
Lizenzdatei:
Enter the path to your key file: [hbedv.key]
Hier wird nach dem Pfad zu der Lizenzdatei gefragt, was in unserem Fall /tmp/hbedv.key
ist. Dieser wird dann automatisch in den Ordner /usr/lib/AntiVir/ kopiert. Wir bestätigen
mit Enter.
Ohne Lizenzdatei kann MailGate nur als Demo Version verwendet werden.
Hinterher werden wir gefragt, ob wir den automatischen Internet Updater installieren
wollen. Dies bestätigen wir mit y.
Would you like to install the internet update daemon? [n]
Dies ist ein Programm, was im Hintergrund läuft und automatisch nach Updates sucht
(vorausgesetzt der Rechner ist mit dem Internet verbunden). Ohne diesen internet update
daemon, können Updates nur manuell geladen werden. Der Befehl lautet:
antivir --update
38
Projekt BBSF Webserver Upgrade in 2008
Der Internet Updater wird in /usr/lib/AntiVir installiert. Anschließend wird gefragt, ob
dieser beim Systemstart automatisch gestartet werden soll.
Would you like the internet update daemon to start automatically? [y]
Dies bestätigen wir mit Enter.
Enter the path where the manual pages will be located:
[/usr/share/man]:
Wir übernehmen hier den angegebenen Pfad zu den Bedienungsanleitungen.
Enter the hosts and/or domains that are local:
[<hostname>]:
Wir tragen dort den Hostnamen relais.dmz ein.
Enter the hosts and networks that are allowed to relay:
[127.0.0.1/8 192.168.0.0/16]:]
Hier setzen wir die lokalen Adressen des Webservers ein 127.0.0.1/8 und 10.0.0.2/16
Would you like to create a link in /usr/sbin for avmailgate? [y]
Anschließend wird man gefragt, ob eine Verknüpfung nach /usr/sbin für das Start-Skript
erstellt werden soll.
Would you like AvMailGate to start automatically? [y]
Diese Frage bestätigen wir mit Enter. AvMailGate wird so beim Systemstart automatisch
gestartet.
Would you like to install the GUI (+ SMC support)? [y]
AvMailGate kann auch mit einer grafischen Oberfläche installiert werden, was es
ermöglicht, Aktivitäten in Echtzeit zu überwachen, Logdateien zu sehen und das Produkt
zu konfigurieren. Dieses Werkzeug ist optional und nicht erforderlich für die Funktionalität.
Durch Bestätigen mit Enter wird der GUI (+ SMC support) installiert. Das AntiVir Security
Management Center (SMC) benötigt diese Auswahl, auch wenn das Graphical User
Interface (GUI) nicht genutzt werden soll.
Das GUI benötigt Sun Java 1.4.x oder höher.
3.7.2 Konfiguration des AntiVir Updater
Would you like to configure the AntiVir updater now? [y]
Dies bestätigen wir mit Enter
Would you like email notification about updates? [n]
Hier wird man gefragt, ob man benachrichtigt werden möchte, wenn ein Update erfolgreich
oder fehlerhaft war. Dies bestätigen wir mit y.
What email address will receive notifications? [ ]
Hier tragen wir die E-Mail Adresse von dem Systembetreuer ein.
39
Projekt BBSF Webserver Upgrade in 2008
Would you like the updater to log to a custom file? [y]
Anschließend wird man gefragt, ob der Updater Informationen in eine Logdatei schreiben
soll. Wir bestätigten dies wieder mit Enter.
What will be the log file name with absolute path (it must begin with '/')
? [/var/log/avupdater.log]
Hier wird jetzt der Dateiname und der Pfad der Logdatei benötigt. Wir belassen es bei der
Standardvorgabe und drücken Enter.
How often should AntiVir check for updates? [2]
Wie oft soll nach Updates gesucht werden, wir wählten alle zwei Stunden.
Mögliche Optionen sind: 2 für alle zwei Stunden
d für einmal am Tag
n für deaktivieren des Internet Update Daemon
Does this machine use an HTTP proxy server? [y]
Da wir über einen Proxy Server ins Internet gehen, bestätigen wir hier mit y.
What is the HTTP proxy server name? [ ]
Hier tragen wir die IP-Adresse 10.1.0.1 vom Proxy Server ein.
Which port number does the HTTP proxy server use? [ ]
Der Proxy benutzt Port 8080.
Does the HTTP proxy server require a username/password? [ ]
Der Server wird nicht ohne Authentifizierung durchgelassen, deshalb bestätigten wir mit y.
What is th HTTP proxy username? [ ]
Hier setzen wir einen gültigen Usernamen ein...
What is the HTTP proxy password? [ ]
...und hier ein gültiges Passwort.
Save configuration settings? [y]
Danach wird die Konfiguration in /etc/avupdater.conf gespeichert.
Would you like to apply the new configuration? [y]
Wir stimmen zu und der avupdater wird gestartet.
FERTIG!
Kommandos zum Updater:
configure updater:
start update daemon:
stop update daemon:
update daemon status:
/usr/lib/AntiVir/configantivir
/usr/lib/AntiVir/avupdater start
/usr/lib/AntiVir/avupdater stop
/usr/lib/AntiVir/avupdater status
40
Projekt BBSF Webserver Upgrade in 2008
Kommandos zum Mailgate:
Überprüfen der Viren-Definition und Scans:
start avmailgate:
stop avmailgate
restart avmailgate
status avmailgate
/usr/lib/AntiVir/antivir
/usr/lib/AntiVir/avmailgate start
/usr/lib/AntiVir/avmailgate stop
/usr/lib/AntiVir/avmailgate restart
/usr/lib/AntiVir/avmailgate status
3.7.3 avmailgate und avupdater als Dienst einrichten
Durch die Benutzung von Webmin stellen wir fest, dass die Dienste (Skripte) avmailgate
und avupdater mehrfach in der Liste unter „System-Start und -Stop“ eingetragen sind.
Dies berichtigen wir, indem wir die doppelten Einträge entfernen. Durch Doppelklick auf
die Dienste gelangt man in ein neues Fenster, wo man die Möglichkeit dazu hat.
Abbildung 34: System-Start und -Stop
41
Projekt BBSF Webserver Upgrade in 2008
Abbildung 35: Dienst bearbeiten
Wenn nach dem Löschen keine weiteren doppelten Skripte in der Liste sind, richten wir
avmailgate und avupdater als Dienste ein. Wie im unteren Bild dargestellt, wird durch
den gezeigten Klick der Dienst auch für andere Runlevel zur Verfügung gestellt und
gespeichert.
Abbildung 36:Dienst einrichten
42
Projekt BBSF Webserver Upgrade in 2008
Abbildung 37: Speichern des Dienstes
Jetzt haben wir die Möglichkeit die Dienste zu stoppen, zu starten und neu zu starten. Wir
richten außerdem ein, dass beim Systemstart diese Dienste automatisch aktiv werden.
3.7.4 AntiVir MailGate in Sendmail (MilterModus) vereinen
Voraussetzung ist Sendmail in einer Version ab 8.11 mit libmilter-Schnittstelle, was in
unserem Fall gegeben war.
Die Option "ListenAddress" und "ForwardTo" in der Datei avmailgate.conf, im
Verzeichnis /etc/ muss folgenden Syntax haben:
ListenAddress inet:3333@localhost
ForwardTo /usr/lib/sendmail -oem -oi
Mit diesen Zeilen lauscht AVMailGate auf Port 3333. Die hier empfangenen E-Mails
werden überprüft und dann zu Sendmail weitergeleitet.
In der Konfigurationsdatei sendmail.mc im Verzeichnis /etc/mail/ haben wir Folgendes
hinzugefügt:
INPUT_MAIL_FILTER(`avmilter',`S=inet:3333@localhost,F=T,T=S:2m;R:2m;E:10m')
Mit dieser Zeile wird die AV-Milter Schnittstelle in Sendmail aktiviert. Außerdem wird
festgelegt, auf welchem Port der Filters zu erreichen sein wird. In diesem Fall ist es Port
3333.
43
Projekt BBSF Webserver Upgrade in 2008
Erklärung der Werte:
avmilter ist der Name von dem Filter.
S: Mit S definiert man, auf welcher Adresse der Filter erreichbar ist.
● inet:port@{hostname|ip-address}
F gibt an, was geschehen soll, wenn der Filter nicht verfügbar ist:
● T: E-Mails werden temporär nicht angenommen (4XX-Fehler)
● R: E-Mails werden nicht angenommen (5XX-Fehler)
T: Setzt die folgenden Timeouts:
● C: Timeout, um eine Verbindung zum Filter aufzubauen
● S: Timeout beim Senden von Informationen zum Filter
● R: Timeout beim Lesen einer Antwort vom Filter
● E: Timeout zwischen dem Senden von „End of message“ und der Antwort vom Filter
3.7.4.1 sendmail.cf generieren
Im Verzeichnis mail wird folgender Befehl in die Konsole eingetragen:
[root@relais mail]# m4 sendmail.mc > /etc/mail/sendmail.cf
Danach muss Sendmail neu gestartet werden, damit die neuen Konfigurationen aus der
Datei sendmail.cf in Sendmail übernommen werden.
MailGate kann jetzt gestartet werden
[root@relais mail]# /usr/lib/AntiVir/avmailgate start
3.7.4.2 AntiVir Milter überprüfen
Ob alles funktioniert hat, sehen wir erst, wenn wir den installierten Filter testen. Dazu
senden wir uns selbst eine Testmail. Mit Webmin unter Sendmail-Konfiguration ist dies
möglich. Ziel ist es, dass alle empfangenen und versendeten Mails auf Viren überprüft
werden.
44
Projekt BBSF Webserver Upgrade in 2008
Abbildung 38: Benutzer-Mailboxes
Hat man sich eine Mail geschickt, muss man die „erweiterte Headeranzeige“ aktivieren,
um den Vermerk „X-AntiVirus: checked by AntiVir MailGate“ zu sehen.
Abbildung 39: E-Mail Postfach
Ob eine mit Viren befallene Mail auch bemerkt wird, prüfen wir mit Hilfe eines Test Virus
namens Eicar. Dieser steht ebenfalls auf der Homepage von AntiVir zu Verfügung. Ob die
befallene Datei jetzt gepackt oder in anderen Formaten in der E-Mail als Anhang
versendet wird ist irrelevant, da das MailGate alle erkennt. Befallene E-Mails werden direkt
in den Quarantäne Ordner unter /etc/var/spool/avmailgate/rejected/ verschoben und
nicht mehr weitergeleitet. Aus diesem Grund wird man die verseuchte Testmail nicht in
seinem Postfach vorfinden (siehe Schaubild auf der nächsten Seite).
45
Projekt BBSF Webserver Upgrade in 2008
3.7.5 Wege einer E-Mail durch AntiVir MailGate
E-Mail
SMTP-Dämon
Warteschlange Eingang
/var/spool/
avmailgate/incoming/
Scanner-Dämon
ja
Warteschlange
Virus/Fehler
/var/spool/
avmailgate/rejected/
Virus/Fehler
entdeckt?
Mögliche Weiterleitung
nein
Warteschlange Ausgang
/var/spool/
avmailgate/outgoing/
Forward-Dämon
Senden per
MTA oder
SMTP?
MTA
SMTP
Abbildung 40: Schaubild AntiVir MailGate
46
Projekt BBSF Webserver Upgrade in 2008
3.8 USV APC-Smart softwaremäßig vorsehen
3.8.1 Beschreibung
Eine USV ist dazu da, Server, Switche, Router etc. vor Stromausfällen zu schützen. Die
enthaltenen Akkumulatoren halten die Stromversorgung je nach Kapazitätsleistung und
Konfiguration aufrecht. Wenn die Stromnetzversorgung nicht kurz nach dem Ausfall wieder
eintritt, werden die Server innerhalb einer festgelegten Zeit oder spätestens kurz vor Ende
der Kapazität der Akkus sicher herunterfahren. Die Daten und die Hardware werden so
nicht beschädigt.
Um den Webserver vor Stromausfällen zu schützen, ist eine USV „APC Smart-UPS 1000
vorgesehen. Die Bewachung erfolgt durch den apcupsd daemon. Er bewacht die USV und
bemerkt über ein verbundenes Serielles Kabel, ob die Stromversorgung vom Netz oder
von der USV gespeist wird.
3.8.2 Installation
Wir installieren über den Paketmanager das Paket apcupsd-cgi-3.14.2-1.fc8.i386 und
optional die grafische Oberfläche apcupsd-gui-3.14.2-1fc8.i386, um den Lade-Status der
USV grafisch ablesen zu können.
Nach dem erfolgreichen Installieren muss die apcupsd.conf angepasst werden. Sie ist im
Verzeichnis /etc/apcupsd/ zu finden.
In Zeile 29 muss der Kabeltyp eingetragen werden. Ein normales Nullmodem-Kabel
funktioniert hier nicht, es ist ein spezielles Kabel vom Hersteller APC zu benutzen. In
unserem Fall ist es der Eintrag „UPSCABLE 940-0024C“.
In Zeile 75 wird der UPS-Type eingetragen „UPSTYPE apcsmart“.
In Zeile 76 wird die Schnittstellenverbindung eingegeben „DEVICE /dev/ttyS0“.
In Zeile 142 legt man fest, nach wie viel Sekunden der angeschlossene Server sicher
heruntergefahren werden soll. In unserem Fall geben wir 3 Minuten an, was mit diesem
Eintrag auch umgesetzt wird „TIMEOUT 180“.
Alle anderen Einträge wurden auf Grundeinstellungen belassen.
3.8.3 apcupsd Dämon testen
Der apcupsd Dämon wird automatisch als Dienst eingerichtet, der sich bei jedem
Systemstart aktiviert. Wir testen diesen Dienst durch einen simulierten Stromausfall. Die
USV meldet dies dem Dienst, der sich dann sofort mit einer Warnung und dem aktuellen
Status bemerkbar macht.
47
Projekt BBSF Webserver Upgrade in 2008
Abbildung 41: Warnungs Fenster
3.8.4 APCUPSD Monitor gapcmon
Mit dieser grafischen Oberfläche kann man sich, wie auf den Abbildungen zu sehen, den
Status der USV anzeigen lassen und deren Speicherzustand überwachen.
Über den Button „Hinzufügen“ wählt man den Rechner aus, auf dem der apcupsd-Dienst
läuft und aktiviert ihn. In unserem Fall ist es der lokale PC. Die Konfiguration kann über die
Datei hosts.conf im Verzeichnis /etc/apcupsd/ durchgeführt werden.
Abbildung 42: gapcmon Preferences
48
Projekt BBSF Webserver Upgrade in 2008
Wenn alles richtig konfiguriert wurde können folgende Übersichten aufgerufen werden:
Abbildung 43: Detaillierte Information
Abbildung 44: Diagramm
49
Projekt BBSF Webserver Upgrade in 2008
4 Übergang auf das Produktionssystem
Da wir alle Vorgaben erfolgreich umgesetzt hatten, war es jetzt an der Zeit, eine Strategie
zu erarbeiten, um den aktiven Webserver abzulösen.
Wir gingen davon aus, dass unser Webserver nicht sofort einwandfrei funktionieren würde.
Deshalb legten wir den Termin so, dass möglichst wenige den Ausfall mitbekommen und
einigten uns mit unserem Projektleiter auf den späten Nachmittag am 14.05.2008.
Ziel war es, dass der Server den Produktionsserver für unbestimmte Zeit erst einmal
ablösen wird. Die Server unterliegen nämlich einem Wartungszyklus. Das bedeutet, dass
alle 4 Jahre die Lüfter der Server ausgetauscht werden. Man muss bedenken, dass Server
24 Stunden am Tag laufen und die Lüfter mit der Zeit verschleißen. Wenn der
Geräuschpegel zunimmt, sind die Lüfter meist verstaubt oder die Lager ausgeschlagen.
Nicht selten fällt ein Lüfter aus, was nicht weiter zum Tragen kommt, wenn hier eine
Redundanz geschaffen wurde. Aber auch diese kann das Fehlen nicht ewig ausgleichen.
Dass die Lebenserwartung eines Servers stark von der Kühlung abhängt, liegt auf der
Hand.
Es wurde Folgendes geplant:
1. Server mittels eines Rolltisches zum Server-Raum transportieren und im 19“
Schrank integrieren.
2. IP-Adresse und Hostname übernehmen vom Produktionssystem.
3. Produktionssystem vom Netzwerk trennen und Projekt-Webserver übernehmen
lassen.
4. Überprüfen, ob die BBS Webseite erreichbar ist.
5. Überprüfen, ob die Mail-Weiterleitung (MailRelay) zum Mailserver funktioniert.
6. Überprüfen, ob der AntiVir Updater Verbindung zum Internet herstellen kann.
7. Nach abgeschlossenen Wartungsarbeiten am Produktionsserver Übernahme der
Festplatten aus dem Projektserver.
50
Projekt BBSF Webserver Upgrade in 2008
Administrationshandbuch
über den
Webserver
der Berufsbildenden Schule Wilhelmshaven
51
Projekt BBSF Webserver Upgrade in 2008
5 Administrationshandbuch
Inhaltsverzeichnis
5 Administrationshandbuch.................................................................................................52
5.1 Webmin.....................................................................................................................54
5.2 Netzwerkeinstellungen..............................................................................................55
5.2.1 Netzwerkschnittstellen.......................................................................................55
5.2.2 Host-Adressen...................................................................................................55
5.2.3 Routing und Gateways......................................................................................56
5.2.4 DNS-Client.........................................................................................................57
5.3 Zope..........................................................................................................................58
5.3.1 Systemverwalter Zugang...................................................................................58
5.3.2 Nutzer Zugang...................................................................................................59
5.3.3 Das Control Panel.............................................................................................60
5.3.4 Product Management........................................................................................61
5.3.5 Database Management.....................................................................................62
5.3.6 Kurzübersicht Zope ..........................................................................................63
5.3.6.1 Shell-Kommandos......................................................................................63
5.3.6.2 Wo finde ich was?......................................................................................63
5.3.6.3 Zugangs Adressen.....................................................................................63
5.4 ZMS..........................................................................................................................64
5.4.1 Wie komme ich auf die Oberfläche?.................................................................64
5.4.2 ZMS updaten.....................................................................................................65
5.4.3 Spezielle Objekte importieren...........................................................................66
5.5 Apache......................................................................................................................67
5.5.1 Globale Konfiguration........................................................................................67
5.5.1.1 Netzwerk und Adressen.............................................................................68
5.5.1.2 Konfigurationsdateien bearbeiten..............................................................68
5.5.2 Virtuelle Server bearbeiten................................................................................69
5.5.2.1 Direktiven...................................................................................................70
5.5.3 Kurzübersicht Apache ......................................................................................71
5.5.3.1 Wo finde ich was?......................................................................................71
5.5.3.2 Shell Kommandos......................................................................................71
5.6 Sendmail...................................................................................................................72
5.6.1 Wo finde ich was?.............................................................................................72
5.6.2 Domain Routen..................................................................................................73
5.6.3 Spamkontrolle....................................................................................................74
5.6.4 Lokale Domains.................................................................................................75
5.6.5 Weiterleitungsdomains......................................................................................75
5.6.6 Vertraute Benutzer............................................................................................76
5.6.6.1 Network Ports.............................................................................................76
5.7 Kurzübersicht AntiVir MailGate ................................................................................77
5.7.1 Wo finde ich was...............................................................................................77
5.7.2 Shell Kommandos.............................................................................................77
5.7.3 Kurzübersicht AntiVir Updater...........................................................................78
5.7.3.1 Wo finde ich was?......................................................................................78
5.7.3.2 Shell Kommandos......................................................................................78
52
Projekt BBSF Webserver Upgrade in 2008
5.7.3.3 AntiVir Skript...............................................................................................78
5.8 Kurzübersicht apcsmart ...........................................................................................79
5.8.1 Wo finde ich was?.............................................................................................79
5.8.2 Shell Kommandos.............................................................................................79
53
Projekt BBSF Webserver Upgrade in 2008
5.1 Webmin
Webmin können die meisten administrativen Einstellungen leicht über eine grafische
Oberfläche im Browser vorgenommen werden. Auf den noch folgenden Seiten werden
einige Einstellungsmöglichkeiten gezeigt.
Mit der Adresse https://localhost:10000 kann er in jedem Internet Browser aufgerufen
werden. Ebenfalls ist mit diesem Werkzeug eine Fernwartung möglich, die auch noch
verschlüsselt ist.
Abbildung 45: Webmin
54
Projekt BBSF Webserver Upgrade in 2008
5.2 Netzwerkeinstellungen
Mit Webmin sind die Netzwerkeinstellungen unter Netzwerkkonfiguration leicht
einzustellen. Durch die nächsten Bilder wird deutlich, welche Einstellungen getätigt
wurden.
Abbildung 46: Netzwerkkonfiguration
5.2.1 Netzwerkschnittstellen
Folgende IP-Adresse und Netzmaske wurde eingestellt:
Abbildung 47: Netzwerkschnittstellen
5.2.2 Host-Adressen
Hier stellt man ein, mit welchem Namen der Host aufgelöst werden soll. Die IP-Adresse
10.0.0.2 kann hier mit dem Namen relais, relais.dmz oder www.bbs.fh-wilhelmshaven.de
aufgerufen werden.
55
Projekt BBSF Webserver Upgrade in 2008
Abbildung 48: Host Adressen
5.2.3 Routing und Gateways
Hier wird das Gateway mit der IP 10.0.0.1 eingetragen.
Abbildung 49: Routing und Gateways
56
Projekt BBSF Webserver Upgrade in 2008
5.2.4 DNS-Client
Hier wird der Hostname des Webservers und der DNS-Server eingetragen.
Abbildung 50: DNS-Client
57
Projekt BBSF Webserver Upgrade in 2008
5.3 Zope
5.3.1 Systemverwalter Zugang
Admin Zugang über den Browser:
www.bbs.fh-wilhelmshaven.de:8080/manage
Lokal am Server:
http://localhost:8080/manage
Abbildung 51: Admin Zugang
Über diesen Zugang hat man Zugriff auf das Control-Panel und zu den Webseiten
Ordnern. Der Import und Export von Webseiten sollte über diesen Zugang erfolgen.
58
Projekt BBSF Webserver Upgrade in 2008
5.3.2 Nutzer Zugang
Nutzer Zugang (eingeschränkt): www.bbs.fh-wilhelmshaven.de/manage
Abbildung 52: Nutzer Zugang
Über diesen Zugang steht der content Ordner direkt im RootFolder zur Verfügung. Klickt
man diesen an, wechselt man direkt in die ZMS Oberfläche.
59
Projekt BBSF Webserver Upgrade in 2008
5.3.3 Das Control Panel
Im Control Panel bekommt man wichtige Informationen über das System. Zope kann hier
auch neu gestartet oder beendet werden. Außerdem hat man weitere Übersichten zur
Auswahl. Einige davon werden auf den folgenden Seiten gezeigt.
Abbildung 53: Control Panel
60
Projekt BBSF Webserver Upgrade in 2008
5.3.4 Product Management
Das Product Managenent zeigt die installierten Programme in einer Liste an. Außerdem
ist das ZMS Programm und der EPOZ Editor mit Angabe der Versionsnummer zu finden.
Abbildung 54: Product Management
61
Projekt BBSF Webserver Upgrade in 2008
5.3.5 Database Management
Im Database Management hat man die Möglichkeit, den Status der Datenbank zu
erfahren und gegebenenfalls zu komprimieren. Alle Veränderungen, die man unter Zope
vornimmt, werden gespeichert, damit sie bei Bedarf rückgängig gemacht werden können.
Mit der Zeit wird die Datenmenge sehr groß, deshalb sollte eine Komprimierung hin und
wieder in Erwägung gezogen werden, so dass der Webserver nicht zu langsam arbeitet.
Abbildung 55: Database Management
62
Projekt BBSF Webserver Upgrade in 2008
5.3.6 Kurzübersicht Zope
5.3.6.1
Shell-Kommandos
Zope starten:
Zope stoppen:
Zope restarten:
service zopectl start
service zopectl stop
service zopectl restart
Weitere:
Documented commands (type help <topic>):
========================================
EOF
fg
kill
quit run start test
adduser foreground logreopen reload shell status wait
debug help
logtail restart show stop
5.3.6.2 Wo finde ich was?
Pfad zum Skript:
/opt/instance/bin/
Import Ordner Verzeichnis:
/opt/Zope-2.10/import/
oder in der Angelegten Instanz:
/opt/instance/import/
Pfad zur Konfigurationsdatei:
/opt/instance/etc/zope.conf
5.3.6.3
Zugangs Adressen
Admin Zugang über den Browser:
www.bbs.fh-wilhelmshaven.de:8080/manage
Lokal am Server:
http://localhost:8080/manage
63
Projekt BBSF Webserver Upgrade in 2008
5.4 ZMS
5.4.1 Wie komme ich auf die Oberfläche?
Über die URL:
www.bbs.fh-wilhelmshaven.de:8080/manange
Im Root Verzeichnis den Ordner BBSFriedenstr öffnen und dort das content Icon
anklicken.
Abbildung 56: content Ordner
64
Projekt BBSF Webserver Upgrade in 2008
Über die URL:
www.bbs.fh-wilhelmshaven.de/manage
Hier hat man direkt den content Ordner im Root Folder, klickt man diesen an, ist man, wie
hier im Bild zu sehen, auf der ZMS Oberfläche.
Abbildung 57: ZMS aufrufen
5.4.2 ZMS updaten
Wichtiger Hinweis vorweg:
Da die Updates für das ZMS System nicht sauber programmiert werden, sollte vorher
unbedingt ein Backup von der Schulwebseite erstellt werden, damit man die
Ausgangssituation wieder herstellen kann (siehe Import/Export von Webseiten). Besser
wäre vielleicht auch ein Testsystem, auf dem man das Update erst einmal auf Herz und
Nieren prüfen kann.
Neue Updates bekommt man auf der Hoffmann & Liebenberg Seite:
http://bscw.hoffmannliebenberg.de/pub/bscw.cgi/0/199497
Beim Entpacken des Paketes entsteht ein Ordner mit dem Namen zms. Diesen kopiert
man in folgendes Verzeichnis: /opt/Zope-2.10/lib/python/Products/
65
Projekt BBSF Webserver Upgrade in 2008
Der vorhandene zms Ordner kann einfach überschrieben werden.
Ist dies geschehen, müssen über die Shell neue Rechte für den Ordner vergeben werden:
chmod -R 775 /opt/Zope-2.10/lib/python/Products/zms
Danach muss Zope erneut gestartet und die Webseite mit der neu installierten ZMS
Version aufgerufen werden. Die ZMS Version sollte sich dann mit der Webseite der Schule
fehlerfrei synchronisieren. Ob dies gelungen ist, kann unter der Vorschau geprüft werden.
5.4.3 Spezielle Objekte importieren
Wie schon in der Dokumentation beschrieben, folgt hier nochmal die Kurzfassung:
Im Kartei Reiter auf „Konfiguration“ und dort auf „Spez. Objekte“ klicken.
Dann unter „Durchsuchen“ das zu importierende Spezielle Objekt auswählen und
importieren.
Abbildung 58: Spezielle Objekte
66
Projekt BBSF Webserver Upgrade in 2008
5.5 Apache
5.5.1 Globale Konfiguration
Apache kann über Webmin konfiguriert werden. Alle hier getätigten Einstellungen werden
automatisch in die httpd.conf geschrieben.
Im ersten Fenster sind die eingerichteten virtuellen Server zu sehen. Wählt man hier im
Kartei Reiter „Globale Konfiguration“ aus, öffnet sich ein neues Fenster.
Abbildung 59: Apache-Websever
In diesem hat man mehrere Einstellungsmöglichkeiten. Zwei davon wollen wir uns näher
ansehen.
Abbildung 60: Globale Konfiguration
67
Projekt BBSF Webserver Upgrade in 2008
5.5.1.1 Netzwerk und Adressen
Hier können die Ports, auf denen gelauscht werden soll, und die Adressen für die virtuellen
Server eingerichtet werden. In unserm Fall wurde der virtuelle Server Name
www.bbs.fh-wilhelmshaven.de eingetragen, der auf Port 80 angesprochen wird.
Abbildung 61: Netzwerk und Adressen
5.5.1.2 Konfigurationsdateien bearbeiten
Unter der Auswahl Bearbeite Konfigurationsdateien kann die httpd.conf per Hand
verändert werden.
Abbildung 62: httpd.conf bearbeiten
68
Projekt BBSF Webserver Upgrade in 2008
5.5.2 Virtuelle Server bearbeiten
Wieder zurück zu der virtuellen Server Übersicht. Klickt man hier einen virtuellen Server
an, kommt man zu den Einstellungen.
Abbildung 63: Virtuelle Server
Abbildung 64: Einstellungen des Virtuellen Servers
69
Projekt BBSF Webserver Upgrade in 2008
5.5.2.1 Direktiven
Klickt man Zeige Direktiven an, kann man sich hier die Rewrite Regeln ansehen und
gegebenenfalls von Hand bearbeiten. Hier sind die Ausnahmen zu sehen, die nicht zu
Zope weitergeleitet werden.
Abbildung 65: Direktiven
Abbildung 66: Bearbeite Direktiven
70
Projekt BBSF Webserver Upgrade in 2008
5.5.3 Kurzübersicht Apache
5.5.3.1
Wo finde ich was?
Pfad zur Konfigurationsdatei:
Verzeichnis der Webseiten:
5.5.3.2
/etc/httpd/conf/httpd.conf
/var/www/html
Shell Kommandos
Apache starten
Apache stoppen:
Apache neu starten:
Apache Status:
service httpd start
service httpd stop
service httpd restart
service httpd status
Weitere:
Verwendung: httpd {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|
configtest}
71
Projekt BBSF Webserver Upgrade in 2008
5.6 Sendmail
Sendmail kann ebenfalls über Webmin konfiguriert werden. Unter Server gelangt man zur
Hauptübersicht Sendmail-Konfiguration. Die nächsten Abbildungen sollen zeigen,
welche Einstellungen in Sendmail vorgenommen werden für die Mail-Relay Funktion.
Abbildung 67: Sendmail Konfiguration
5.6.1 Wo finde ich was?
Pfad zu den Konfigurationsdateien:
/etc/mail/sendmail.mc
/etc/mail/sendmail.cf
72
Projekt BBSF Webserver Upgrade in 2008
5.6.2 Domain Routen
Abbildung 68: Domain-Routing
Abbildung 69: Routing bearbeiten
73
Projekt BBSF Webserver Upgrade in 2008
5.6.3 Spamkontrolle
Abbildung 70: Spamkontrolle
Abbildung 71: Spam-Kontrollregel
74
Projekt BBSF Webserver Upgrade in 2008
5.6.4 Lokale Domains
Hier wird nur die lokale Domain localhost eingetragen.
Abbildung 72: Lokale Domains
5.6.5 Weiterleitungsdomains
Folgende Domains wurden eingetragen:
bbs.fh-wilhelmshaven.de
bbs2.fh-wilhelmshaven.de
bbsf-whv.de
Abbildung 73: Weiterleitungs Domains
75
Projekt BBSF Webserver Upgrade in 2008
5.6.6 Vertraute Benutzer
Abbildung 74: Vertraute Benutzer
5.6.6.1 Network Ports
Abbildung 75: Ports
76
Projekt BBSF Webserver Upgrade in 2008
5.7 Kurzübersicht AntiVir MailGate
5.7.1
Wo finde ich was
Pfad zur Konfigurationsdatei:
Pfad zur Access Liste:
Pfad zu dem Start-Skript:
Pfad zur Log Datei:
/etc/avmailgate.conf
/etc/avmailgate.acl
/usr/lib/AntiVir/avmailgate
/var/log/avmailgate.log
Spool-Verzeichnis AntiVir MailGate:
Unterverzeichnisse:
/var/spool/avmailgate/
/var/spool/avmailgate/incoming
/var/spool/avmailgate/outgoing
/var/spool/avmailgate/rejected
5.7.2
Shell Kommandos
avmailgate starten:
avmailgate stoppen:
avmailgate neustarten:
avmailgate Status:
service avmailgate start
service avmailgate stop
service avmailgate restart
service avmailgate status
Weitere:
usage: /etc/init.d/avmailgate {start|stop|status|try-restart|restart|force-reload|reload|probe}
Queue-Manager avq:
Status aller Mails:
Mails im Eingang :
Mails im Ausgang:
Alle Mails:
/usr/lib/Antivir/avmailgate.bin --avq --list
/usr/lib/Antivir/avmailgate.bin --avq --queue=incoming
/usr/lib/Antivir/avmailgate.bin --avq --queue=outgoing
/usr/lib/Antivir/avmailgate.bin --avq --list=all
Bestimmte Mail aus dem Quarantäne Ordner rejeted löschen:
/usr/lib/AntiVir/avmailgate.bin --avq --remove=ID
Alles Löschen :
/usr/lib/AntiVir/avmailgate.bin --avq --remove=all
Eingang und Ausgang Löschen:
/usr/lib/AntiVir/avmailgate.bin --avq --flush
Weiterleiten einer Bestimmten Mail erzwingen aus dem Quarantäne Ordner rejected.
(ID steht für die ID der betreffenden E-Mail):
/usr/lib/AntiVir/avmailgate.bin --avq –deliver=ID
77
Projekt BBSF Webserver Upgrade in 2008
5.7.3 Kurzübersicht AntiVir Updater
5.7.3.1
Wo finde ich was?
Pfad zum Konfigurationsskript:
Pfad zur Konfigurationsdatei:
Pfad zum Lizenzschlüssel:
Pfad zum Virendefinitionsdatei:
Pfad zu dem Skript avupdater:
Pfad zur Log Datei:
5.7.3.2
/usr/lib/AntiVir/configantivir
/etc/avupdater.conf
/usr/lib/AntiVir/hbedv.key
/usr/lib/AntiVir/antivir.vdf
/usr/lib/AntiVir/avupdater
/var/log/avupdater.log
Shell Kommandos
start update daemon:
stop update daemon:
restart update daemon:
status update daemon:
service avupdater start
service avupdater stop
service avupdater restart
sevice avupdater status
Weitere:
usage: /etc/init.d/avupdater {start|stop|status|try-restart|restart|force-reload|reload|probe}
5.7.3.3
AntiVir Skript
Das Skript gibt unter anderem Übersicht über die Programmversion, das Alter der
Virendefinition, gefundene Viren, Lizenzen etc.
Skrip starten:
./antivir
Pfad zu dem Skript:
/usr/lib/AntiVir/antivir
Viren Update manuell anstoßen: ./antivir --update
78
Projekt BBSF Webserver Upgrade in 2008
5.8 Kurzübersicht apcsmart
5.8.1
Wo finde ich was?
Pfad zur Konfigurationsdatei:
/etc/apcupsd/apcupsd.conf
Pfad zur Monitoring Konf.-Datei: /etc/apcupsd/hosts.conf
Pfad zum Start-Skript:
/etc/init.d/apcupsd
5.8.2
Shell Kommandos
apcsmart starten:
apcsmart stoppen:
apcsmart neu starten:
apcsmart status:
service apcupsd start
service apcupsd stop
service apcupsd restart
sevice apcupsd status
79
Projekt BBSF Webserver Upgrade in 2008
6 Fazit
Den Webserver zu konfigurieren war für uns eine große Herausforderung. Wir mussten die
geforderte Software besorgen, verstehen und anwenden. Während der gesamten Zeit war
es erforderlich, sich mit Hilfe von Fachliteratur und Internetrecherche in neue Themen
einzuarbeiten, um die Aufgaben erfolgreich umzusetzen zu können.
Die von uns vorgenommenen Installationen unterscheiden sich grundlegend von Abläufen
bei Windows, die ausschließlich über eine grafische Oberfläche stattfinden. Im Gegensatz
dazu werden die meisten Installationen bei Linux über die Shell-Befehlsoberfläche
durchgeführt, wo wir uns nach einiger Zeit ganz gut zurecht fanden.
Um den Ablauf der Programme den Erfordernissen anzupassen, mussten wir die zugrunde
liegenden Konfigurationsdateien lesen können, um Veränderungen vorzunehmen.
Das größte Problem war es, den Zope Server zu installieren und die Webseite fehlerfrei in
die neuere ZMS Version zu migrieren, da hier mehrere Programme voneinander abhängig
sind. Das richtige Zusammenspiel herauszufinden verschlang sehr viel Zeit. Die unsauber
programmierten ZMS Versionen waren ebenfalls ein Problem. Somit waren viele Versuche
nötig, bis endlich eine passende Version gefunden wurde, damit die Webseite fehlerfrei
aufgerufen konnte.
Für die Funktion Sendmail als Mail-Relay wäre ein Mailserver von Nutzen gewesen, um
die Weiterleitung von E-Mails zu überprüfen. Die im Live-Betrieb aufgetretenen Probleme
hätten dann im Vorfeld abgestellt werden können.
Trotz vieler Schwierigkeiten kamen wir aber mit viel Geduld immer zum gewünschten Ziel.
Unsere Linux Kenntnisse konnten wir mit diesem Projekt weiter ausbauen und einen
tieferen Einblick in die Servertechnik bekommen.
Wir sind erfreut, dass dieses Projekt auch einen Nutzen für die Schule haben wird und
bedanken uns für die gute Betreuung durch Herrn Appenzeller und Herrn Linnemann.
80
Projekt BBSF Webserver Upgrade in 2008
7 Quellenverzeichnis
Literatur:
Peter Walerowski: Zope
Hoffmann+Liebenberg: ZMS-Handbuch
Michael Kofler: Linux
Craig Hunt: Sendmail Kochbuch
Holger Reibold: Webmin kompakt
Sascha Kersken: Apache 2
Wiley: LAMP für Dummies
Internetquellen: www.webmin.de
www.zope.de
www.zope.com
www.zms-publishing.com
www.avira.de
www.wikipedia.de
www.apc.com
http://bscw.hoffmannliebenberg.de/pub/bscw.cgi/0/199497
81
Projekt BBSF Webserver Upgrade in 2008
8 Abbildungsverzeichnis
Abbildungsverzeichnis
Abbildung 1: Der Server.........................................................................................................9
Abbildung 2: Linux-RAID......................................................................................................11
Abbildung 3: SATA Gerät A..................................................................................................12
Abbildung 4: SATA Gerät B..................................................................................................12
Abbildung 5: Webmin...........................................................................................................13
Abbildung 6: Zope Aufbau....................................................................................................14
Abbildung 7: Zope Anmeldung.............................................................................................17
Abbildung 8: ZMI..................................................................................................................17
Abbildung 9: Webseiten importieren....................................................................................20
Abbildung 10: BBSFriedenstr Ordner..................................................................................21
Abbildung 11: content...........................................................................................................21
Abbildung 12: ZMS Oberfläche............................................................................................22
Abbildung 13: Vorschau.......................................................................................................22
Abbildung 14: Konfiguration.................................................................................................23
Abbildung 15: Spezielle Objekte..........................................................................................24
Abbildung 16: Action-List.....................................................................................................24
Abbildung 17: Vor dem Einbinden.......................................................................................25
Abbildung 18: EPOZ Editor..................................................................................................25
Abbildung 19: XStandard Editor...........................................................................................26
Abbildung 20: Virtual Host erstellen.....................................................................................28
Abbildung 21: Namen vergeben..........................................................................................29
Abbildung 22: Virtual Monster .............................................................................................29
Abbildung 23: Mapping Eintrag............................................................................................30
Abbildung 24: Sendmail.......................................................................................................32
Abbildung 25: Netz Aufbau..................................................................................................33
Abbildung 26: Domain-Routing............................................................................................34
Abbildung 27: Routing bearbeiten.......................................................................................34
Abbildung 28: Spamkontrolle...............................................................................................35
Abbildung 29: Spam-Kontrollregel.......................................................................................35
Abbildung 30: Lokale Domains............................................................................................36
Abbildung 31: Weiterleitungs Domains................................................................................36
Abbildung 32: Vertraute Benutzer........................................................................................37
Abbildung 33: Network Ports...............................................................................................37
Abbildung 34: System-Start und -Stop................................................................................41
Abbildung 35: Dienst bearbeiten..........................................................................................42
Abbildung 36:Dienst einrichten............................................................................................42
Abbildung 37: Speichern des Dienstes................................................................................43
Abbildung 38: Benutzer-Mailboxes......................................................................................45
Abbildung 39: E-Mail Postfach.............................................................................................45
Abbildung 40: Schaubild AntiVir MailGate...........................................................................46
Abbildung 41: Warnungs Fenster........................................................................................48
Abbildung 42: gapcmon Preferences...................................................................................48
Abbildung 43: Detaillierte Information..................................................................................49
Abbildung 44: Diagramm.....................................................................................................49
82
Projekt BBSF Webserver Upgrade in 2008
Abbildung 45: Webmin.........................................................................................................54
Abbildung 46: Netzwerkkonfiguration..................................................................................55
Abbildung 47: Netzwerkschnittstellen..................................................................................55
Abbildung 48: Host Adressen...............................................................................................56
Abbildung 49: Routing und Gateways.................................................................................56
Abbildung 50: DNS-Client....................................................................................................57
Abbildung 51: Admin Zugang...............................................................................................58
Abbildung 52: Nutzer Zugang..............................................................................................59
Abbildung 53: Control Panel................................................................................................60
Abbildung 54: Product Management...................................................................................61
Abbildung 55: Database Management................................................................................62
Abbildung 56: content Ordner..............................................................................................64
Abbildung 57: ZMS aufrufen................................................................................................65
Abbildung 58: Spezielle Objekte..........................................................................................66
Abbildung 59: Apache-Websever.........................................................................................67
Abbildung 60: Globale Konfiguration...................................................................................67
Abbildung 61: Netzwerk und Adressen................................................................................68
Abbildung 62: httpd.conf bearbeiten....................................................................................68
Abbildung 63: Virtuelle Server.............................................................................................69
Abbildung 64: Einstellungen des Virtuellen Servers............................................................69
Abbildung 65: Direktiven......................................................................................................70
Abbildung 66: Bearbeite Direktiven.....................................................................................70
Abbildung 67: Sendmail Konfiguration.................................................................................72
Abbildung 68: Domain-Routing............................................................................................73
Abbildung 69: Routing bearbeiten.......................................................................................73
Abbildung 70: Spamkontrolle...............................................................................................74
Abbildung 71: Spam-Kontrollregel.......................................................................................74
Abbildung 72: Lokale Domains............................................................................................75
Abbildung 73: Weiterleitungs Domains................................................................................75
Abbildung 74: Vertraute Benutzer........................................................................................76
Abbildung 75: Ports..............................................................................................................76
83
Projekt BBSF Webserver Upgrade in 2008
9 Konfigurationsdateien
9.1 Die httpd.conf von Apache
#
# This is the main Apache server configuration file. It contains the
# configuration directives that give the server its instructions.
# See <URL:http://httpd.apache.org/docs/2.2/> for detailed information.
# In particular, see
# <URL:http://httpd.apache.org/docs/2.2/mod/directives.html>
# for a discussion of each configuration directive.
#
#
# Do NOT simply read the instructions in here without understanding
# what they do. They're here only as hints or reminders. If you are unsure
# consult the online docs. You have been warned.
#
# The configuration directives are grouped into three basic sections:
# 1. Directives that control the operation of the Apache server process as a
# whole (the 'global environment').
# 2. Directives that define the parameters of the 'main' or 'default' server,
# which responds to requests that aren't handled by a virtual host.
# These directives also provide default values for the settings
# of all virtual hosts.
# 3. Settings for virtual hosts, which allow Web requests to be sent to
# different IP addresses or hostnames and have them handled by the
# same Apache server process.
#
# Configuration and logfile names: If the filenames you specify for many
# of the server's control files begin with "/" (or "drive:/" for Win32), the
# server will use that explicit path. If the filenames do *not* begin
# with "/", the value of ServerRoot is prepended -- so "logs/foo.log"
# with ServerRoot set to "/etc/httpd" will be interpreted by the
# server as "/etc/httpd/logs/foo.log".
#
### Section 1: Global Environment
#
# The directives in this section affect the overall operation of Apache,
# such as the number of concurrent requests it can handle or where it
# can find its configuration files.
#
#
# Don't give away too much information about all the subcomponents
# we are running. Comment out this line if you don't mind remote sites
84
Projekt BBSF Webserver Upgrade in 2008
# finding out what major optional modules you are running
ServerTokens OS
#
# ServerRoot: The top of the directory tree under which the server's
# configuration, error, and log files are kept.
#
# NOTE! If you intend to place this on an NFS (or otherwise network)
# mounted filesystem then please read the LockFile documentation
# (available at <URL:http://httpd.apache.org/docs/2.2/mod/mpm_common.html#lockfile>);
# you will save yourself a lot of trouble.
#
# Do NOT add a slash at the end of the directory path.
#
ServerRoot "/etc/httpd"
#
# PidFile: The file in which the server should record its process
# identification number when it starts.
#
PidFile run/httpd.pid
#
# Timeout: The number of seconds before receives and sends time out.
#
Timeout 120
#
# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to "Off" to deactivate.
#
KeepAlive Off
#
# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.
#
MaxKeepAliveRequests 100
#
# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
#
KeepAliveTimeout 15
##
## Server-Pool Size Regulation (MPM specific)
85
Projekt BBSF Webserver Upgrade in 2008
##
# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# ServerLimit: maximum value for MaxClients for the lifetime of the server
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule prefork.c>
StartServers
8
MinSpareServers 5
MaxSpareServers 20
ServerLimit
256
MaxClients
256
MaxRequestsPerChild 4000
</IfModule>
# worker MPM
# StartServers: initial number of server processes to start
# MaxClients: maximum number of simultaneous client connections
# MinSpareThreads: minimum number of worker threads which are kept spare
# MaxSpareThreads: maximum number of worker threads which are kept spare
# ThreadsPerChild: constant number of worker threads in each server process
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule worker.c>
StartServers
2
MaxClients
150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, in addition to the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses (0.0.0.0)
#
#Listen 12.34.56.78:80
Listen 80
#
# Dynamic Shared Object (DSO) Support
#
86
Projekt BBSF Webserver Upgrade in 2008
# To be able to use the functionality of a module which was built as a DSO you
# have to place corresponding `LoadModule' lines at this location so the
# directives contained in it are actually available _before_ they are used.
# Statically compiled modules (those listed by `httpd -l') do not need
# to be loaded here.
#
# Example:
# LoadModule foo_module modules/mod_foo.so
#
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authn_alias_module modules/mod_authn_alias.so
LoadModule authn_anon_module modules/mod_authn_anon.so
LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule authz_owner_module modules/mod_authz_owner.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule ldap_module modules/mod_ldap.so
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
LoadModule include_module modules/mod_include.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule logio_module modules/mod_logio.so
LoadModule env_module modules/mod_env.so
LoadModule ext_filter_module modules/mod_ext_filter.so
LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule expires_module modules/mod_expires.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
LoadModule usertrack_module modules/mod_usertrack.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule mime_module modules/mod_mime.so
LoadModule dav_module modules/mod_dav.so
LoadModule status_module modules/mod_status.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule info_module modules/mod_info.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule dir_module modules/mod_dir.so
LoadModule actions_module modules/mod_actions.so
LoadModule speling_module modules/mod_speling.so
LoadModule userdir_module modules/mod_userdir.so
LoadModule alias_module modules/mod_alias.so
87
Projekt BBSF Webserver Upgrade in 2008
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule cache_module modules/mod_cache.so
LoadModule suexec_module modules/mod_suexec.so
LoadModule disk_cache_module modules/mod_disk_cache.so
LoadModule file_cache_module modules/mod_file_cache.so
LoadModule mem_cache_module modules/mod_mem_cache.so
LoadModule cgi_module modules/mod_cgi.so
#
# The following modules are not loaded by default:
#
#LoadModule cern_meta_module modules/mod_cern_meta.so
#LoadModule asis_module modules/mod_asis.so
#
# Load config files from the config directory "/etc/httpd/conf.d".
#
Include conf.d/*.conf
#
# ExtendedStatus controls whether Apache will generate "full" status
# information (ExtendedStatus On) or just basic information (ExtendedStatus
# Off) when the "server-status" handler is called. The default is Off.
#
#ExtendedStatus On
#
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.
#
# User/Group: The name (or #number) of the user/group to run httpd as.
# . On SCO (ODT 3) use "User nouser" and "Group nogroup".
# . On HPUX you may not be able to use shared memory as nobody, and the
# suggested workaround is to create a user www and use that user.
# NOTE that some kernels refuse to setgid(Group) or semctl(IPC_SET)
# when the value of (unsigned)Group is above 60000;
# don't use Group #-1 on these systems!
#
User apache
Group apache
### Section 2: 'Main' server configuration
#
88
Projekt BBSF Webserver Upgrade in 2008
# The directives in this section set up the values used by the 'main'
# server, which responds to any requests that aren't handled by a
# <VirtualHost> definition. These values also provide defaults for
# any <VirtualHost> containers you may define later in the file.
#
# All of these directives may appear inside <VirtualHost> containers,
# in which case these default settings will be overridden for the
# virtual host being defined.
#
#
# ServerAdmin: Your address, where problems with the server should be
# e-mailed. This address appears on some server-generated pages, such
# as error documents. e.g. [email protected]
#
ServerAdmin root@localhost
#
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If this is not set to valid DNS name for your host, server-generated
# redirections will not work. See also the UseCanonicalName directive.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
# You will have to access it by its address anyway, and this will make
# redirections work in a sensible way.
#
#ServerName www.example.com:80
#
# UseCanonicalName: Determines how Apache constructs self-referencing
# URLs and the SERVER_NAME and SERVER_PORT variables.
# When set "Off", Apache will use the Hostname and Port supplied
# by the client. When set "On", Apache will use the value of the
# ServerName directive.
#
UseCanonicalName Off
#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/var/www/html"
#
89
Projekt BBSF Webserver Upgrade in 2008
# Each directory to which Apache has access can be configured with respect
# to which services and features are allowed and/or disabled in that
# directory (and its subdirectories).
#
# First, we configure the "default" to be a very restrictive set of
# features.
#
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
#
# Note that from this point forward you must specifically allow
# particular features to be enabled - so if something's not working as
# you might expect, make sure that you have specifically enabled it
# below.
#
#
# This should be changed to whatever you set DocumentRoot to.
#
<Directory "/var/www/html">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride None
#
# Controls who can get stuff from this server.
#
90
Projekt BBSF Webserver Upgrade in 2008
Order allow,deny
Allow from all
</Directory>
#
# UserDir: The name of the directory that is appended onto a user's home
# directory if a ~user request is received.
#
# The path to the end user account 'public_html' directory must be
# accessible to the webserver userid. This usually means that ~userid
# must have permissions of 711, ~userid/public_html must have permissions
# of 755, and documents contained therein must be world-readable.
# Otherwise, the client will only receive a "403 Forbidden" message.
#
# See also: http://httpd.apache.org/docs/misc/FAQ.html#forbidden
#
<IfModule mod_userdir.c>
#
# UserDir is disabled by default since it can confirm the presence
# of a username on the system (depending on home directory
# permissions).
#
UserDir disable
#
# To enable requests to /~user/ to serve the user's public_html
# directory, remove the "UserDir disable" line above, and uncomment
# the following line instead:
#
#UserDir public_html
</IfModule>
#
# Control access to UserDir directories. The following is an example
# for a site where these directories are restricted to read-only.
#
#<Directory /home/*/public_html>
# AllowOverride FileInfo AuthConfig Limit
# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
# <Limit GET POST OPTIONS>
#
Order allow,deny
#
Allow from all
# </Limit>
# <LimitExcept GET POST OPTIONS>
#
Order deny,allow
#
Deny from all
91
Projekt BBSF Webserver Upgrade in 2008
# </LimitExcept>
#</Directory>
#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
# The index.html.var file (a type-map) is used to deliver content# negotiated documents. The MultiViews Option can be used for the
# same purpose, but it is much slower.
#
DirectoryIndex index.html index.html.var
#
# AccessFileName: The name of the file to look for in each directory
# for additional configuration directives. See also the AllowOverride
# directive.
#
AccessFileName .htaccess
#
# The following lines prevent .htaccess and .htpasswd files from being
# viewed by Web clients.
#
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>
#
# TypesConfig describes where the mime.types file (or equivalent) is
# to be found.
#
TypesConfig /etc/mime.types
#
# DefaultType is the default MIME type the server will use for a document
# if it cannot otherwise determine one, such as from filename extensions.
# If your server contains mostly text or HTML documents, "text/plain" is
# a good value. If most of your content is binary, such as applications
# or images, you may want to use "application/octet-stream" instead to
# keep browsers from trying to display binary files as though they are
# text.
#
DefaultType text/plain
#
# The mod_mime_magic module allows the server to use various hints from the
92
Projekt BBSF Webserver Upgrade in 2008
# contents of the file itself to determine its type. The MIMEMagicFile
# directive tells the module where the hint definitions are located.
#
<IfModule mod_mime_magic.c>
# MIMEMagicFile /usr/share/magic.mime
MIMEMagicFile conf/magic
</IfModule>
#
# HostnameLookups: Log the names of clients or just their IP addresses
# e.g., www.apache.org (on) or 204.62.129.132 (off).
# The default is off because it'd be overall better for the net if people
# had to knowingly turn this feature on, since enabling it means that
# each client request will result in AT LEAST one lookup request to the
# nameserver.
#
HostnameLookups Off
#
# EnableMMAP: Control whether memory-mapping is used to deliver
# files (assuming that the underlying OS supports it).
# The default is on; turn this off if you serve from NFS-mounted
# filesystems. On some systems, turning it off (regardless of
# filesystem) can improve performance; for details, please see
# http://httpd.apache.org/docs/2.2/mod/core.html#enablemmap
#
#EnableMMAP off
#
# EnableSendfile: Control whether the sendfile kernel support is
# used to deliver files (assuming that the OS supports it).
# The default is on; turn this off if you serve from NFS-mounted
# filesystems. Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#enablesendfile
#
#EnableSendfile off
#
# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a <VirtualHost>
# container, error messages relating to that virtual host will be
# logged here. If you *do* define an error logfile for a <VirtualHost>
# container, that host's errors will be logged there and not here.
#
ErrorLog logs/error_log
#
# LogLevel: Control the number of messages logged to the error_log.
93
Projekt BBSF Webserver Upgrade in 2008
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
#
LogLevel warn
#
# The following directives define some format nicknames for use with
# a CustomLog directive (see below).
#
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
# "combinedio" includes actual counts of actual bytes received (%I) and sent (%O); this
# requires the mod_logio module to be loaded.
#LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O"
combinedio
#
# The location and format of the access logfile (Common Logfile Format).
# If you do not define any access logfiles within a <VirtualHost>
# container, they will be logged here. Contrariwise, if you *do*
# define per-<VirtualHost> access logfiles, transactions will be
# logged therein and *not* in this file.
#
#CustomLog logs/access_log common
#
# If you would like to have separate agent and referer logfiles, uncomment
# the following directives.
#
#CustomLog logs/referer_log referer
#CustomLog logs/agent_log agent
#
# For a single logfile with access, agent, and referer information
# (Combined Logfile Format), use the following directive:
#
CustomLog logs/access_log combined
#
# Optionally add a line containing the server version and virtual host
# name to server-generated pages (internal error documents, FTP directory
# listings, mod_status and mod_info output etc., but not CGI generated
# documents or custom error documents).
# Set to "EMail" to also include a mailto: link to the ServerAdmin.
# Set to one of: On | Off | EMail
94
Projekt BBSF Webserver Upgrade in 2008
#
ServerSignature On
#
# Aliases: Add here as many aliases as you need (with no limit). The format is
# Alias fakename realname
#
# Note that if you include a trailing / on fakename then the server will
# require it to be present in the URL. So "/icons" isn't aliased in this
# example, only "/icons/". If the fakename is slash-terminated, then the
# realname must also be slash terminated, and if the fakename omits the
# trailing slash, the realname must also omit it.
#
# We include the /icons/ alias for FancyIndexed directory listings. If you
# do not use FancyIndexing, you may comment this out.
#
Alias /icons/ "/var/www/icons/"
<Directory "/var/www/icons">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
#
# WebDAV module configuration section.
#
<IfModule mod_dav_fs.c>
# Location of the WebDAV lock database.
DAVLockDB /var/lib/dav/lockdb
</IfModule>
#
# ScriptAlias: This controls which directories contain server scripts.
# ScriptAliases are essentially the same as Aliases, except that
# documents in the realname directory are treated as applications and
# run by the server when requested rather than as documents sent to the client.
# The same rules about trailing "/" apply to ScriptAlias directives as to
# Alias.
#
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
#
# "/var/www/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "/var/www/cgi-bin">
95
Projekt BBSF Webserver Upgrade in 2008
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
#
# Redirect allows you to tell clients about documents which used to exist in
# your server's namespace, but do not anymore. This allows you to tell the
# clients where to look for the relocated document.
# Example:
# Redirect permanent /foo http://www.example.com/bar
#
# Directives controlling the display of server-generated directory listings.
#
#
# IndexOptions: Controls the appearance of server-generated directory
# listings.
#
IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable
#
# AddIcon* directives tell the server which icon to show for different
# files or filename extensions. These are only displayed for
# FancyIndexed directories.
#
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*
AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
96
Projekt BBSF Webserver Upgrade in 2008
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core
AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^
#
# DefaultIcon is which icon to show for files which do not have an icon
# explicitly set.
#
DefaultIcon /icons/unknown.gif
#
# AddDescription allows you to place a short description after a file in
# server-generated indexes. These are only displayed for FancyIndexed
# directories.
# Format: AddDescription "description" filename
#
#AddDescription "GZIP compressed document" .gz
#AddDescription "tar archive" .tar
#AddDescription "GZIP compressed tar archive" .tgz
#
# ReadmeName is the name of the README file the server will look for by
# default, and append to directory listings.
#
# HeaderName is the name of a file which should be prepended to
# directory indexes.
ReadmeName README.html
HeaderName HEADER.html
#
# IndexIgnore is a set of filenames which directory indexing should ignore
# and not include in the listing. Shell-style wildcarding is permitted.
#
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
#
# DefaultLanguage and AddLanguage allows you to specify the language of
# a document. You can then use content negotiation to give a browser a
# file in a language the user can understand.
#
# Specify a default language. This means that all data
# going out without a specific language tag (see below) will
# be marked with this one. You probably do NOT want to set
97
Projekt BBSF Webserver Upgrade in 2008
# this unless you are sure it is correct for all cases.
#
# * It is generally better to not mark a page as
# * being a certain language than marking it with the wrong
# * language!
#
# DefaultLanguage nl
#
# Note 1: The suffix does not have to be the same as the language
# keyword --- those with documents in Polish (whose net-standard
# language code is pl) may wish to use "AddLanguage pl .po" to
# avoid the ambiguity with the common suffix for perl scripts.
#
# Note 2: The example entries below illustrate that in some cases
# the two character 'Language' abbreviation is not identical to
# the two character 'Country' code for its country,
# E.g. 'Danmark/dk' versus 'Danish/da'.
#
# Note 3: In the case of 'ltz' we violate the RFC by using a three char
# specifier. There is 'work in progress' to fix this and get
# the reference data for rfc1766 cleaned up.
#
# Catalan (ca) - Croatian (hr) - Czech (cs) - Danish (da) - Dutch (nl)
# English (en) - Esperanto (eo) - Estonian (et) - French (fr) - German (de)
# Greek-Modern (el) - Hebrew (he) - Italian (it) - Japanese (ja)
# Korean (ko) - Luxembourgeois* (ltz) - Norwegian Nynorsk (nn)
# Norwegian (no) - Polish (pl) - Portugese (pt)
# Brazilian Portuguese (pt-BR) - Russian (ru) - Swedish (sv)
# Simplified Chinese (zh-CN) - Spanish (es) - Traditional Chinese (zh-TW)
#
AddLanguage ca .ca
AddLanguage cs .cz .cs
AddLanguage da .dk
AddLanguage de .de
AddLanguage el .el
AddLanguage en .en
AddLanguage eo .eo
AddLanguage es .es
AddLanguage et .et
AddLanguage fr .fr
AddLanguage he .he
AddLanguage hr .hr
AddLanguage it .it
AddLanguage ja .ja
AddLanguage ko .ko
AddLanguage ltz .ltz
AddLanguage nl .nl
AddLanguage nn .nn
98
Projekt BBSF Webserver Upgrade in 2008
AddLanguage no .no
AddLanguage pl .po
AddLanguage pt .pt
AddLanguage pt-BR .pt-br
AddLanguage ru .ru
AddLanguage sv .sv
AddLanguage zh-CN .zh-cn
AddLanguage zh-TW .zh-tw
#
# LanguagePriority allows you to give precedence to some languages
# in case of a tie during content negotiation.
#
# Just list the languages in decreasing order of preference. We have
# more or less alphabetized them here. You probably want to change this.
#
LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zhCN zh-TW
#
# ForceLanguagePriority allows you to serve a result page rather than
# MULTIPLE CHOICES (Prefer) [in case of a tie] or NOT ACCEPTABLE (Fallback)
# [in case no accepted languages matched the available variants]
#
ForceLanguagePriority Prefer Fallback
#
# Specify a default charset for all content served; this enables
# interpretation of all content as UTF-8 by default. To use the
# default browser choice (ISO-8859-1), or to allow the META tags
# in HTML content to override this choice, comment out this
# directive:
#
AddDefaultCharset UTF-8
#
# AddType allows you to add to or override the MIME configuration
# file mime.types for specific file types.
#
#AddType application/x-tar .tgz
#
# AddEncoding allows you to have certain browsers uncompress
# information on the fly. Note: Not all browsers support this.
# Despite the name similarity, the following Add* directives have nothing
# to do with the FancyIndexing customization directives above.
#
#AddEncoding x-compress .Z
99
Projekt BBSF Webserver Upgrade in 2008
#AddEncoding x-gzip .gz .tgz
# If the AddEncoding directives above are commented-out, then you
# probably should define those extensions to indicate media types:
#
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
#
# AddHandler allows you to map certain file extensions to "handlers":
# actions unrelated to filetype. These can be either built into the server
# or added with the Action directive (see below)
#
# To use CGI scripts outside of ScriptAliased directories:
# (You will also need to add "ExecCGI" to the "Options" directive.)
#
#AddHandler cgi-script .cgi
#
# For files that include their own HTTP headers:
#
#AddHandler send-as-is asis
#
# For type maps (negotiated resources):
# (This is enabled by default to allow the Apache "It Worked" page
# to be distributed in multiple languages.)
#
AddHandler type-map var
#
# Filters allow you to process content before it is sent to the client.
#
# To parse .shtml files for server-side includes (SSI):
# (You will also need to add "Includes" to the "Options" directive.)
#
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
#
# Action lets you define media types that will execute a script whenever
# a matching file is called. This eliminates the need for repeated URL
# pathnames for oft-used CGI file processors.
# Format: Action media/type /cgi-script/location
# Format: Action handler-name /cgi-script/location
#
#
100
Projekt BBSF Webserver Upgrade in 2008
# Customizable error responses come in three flavors:
# 1) plain text 2) local redirects 3) external redirects
#
# Some examples:
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
#
#
# Putting this all together, we can internationalize error responses.
#
# We use Alias to redirect any /error/HTTP_<error>.html.var response to
# our collection of by-error message multi-language collections. We use
# includes to substitute the appropriate text.
#
# You can modify the messages' appearance without changing any of the
# default HTTP_<error>.html.var files by adding the line:
#
# Alias /error/include/ "/your/include/path/"
#
# which allows you to create your own set of files by starting with the
# /var/www/error/include/ files and
# copying them to /your/include/path/, even on a per-VirtualHost basis.
#
Alias /error/ "/var/www/error/"
<IfModule mod_negotiation.c>
<IfModule mod_include.c>
<Directory "/var/www/error">
AllowOverride None
Options IncludesNoExec
AddOutputFilter Includes html
AddHandler type-map var
Order allow,deny
Allow from all
LanguagePriority en es de fr
ForceLanguagePriority Prefer Fallback
</Directory>
#
#
#
#
#
#
ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var
ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var
101
Projekt BBSF Webserver Upgrade in 2008
#
#
#
#
#
#
#
#
#
#
#
ErrorDocument 410 /error/HTTP_GONE.html.var
ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var
ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var
</IfModule>
</IfModule>
#
# The following directives modify normal HTTP response behavior to
# handle known problems with browser implementations.
#
BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0
#
# The following directive disables redirects on non-GET requests for
# a directory that does not include the trailing slash. This fixes a
# problem with Microsoft WebFolders which does not appropriately handle
# redirects for folders with DAV methods.
# Same deal with Apple's DAV filesystem and Gnome VFS support for DAV.
#
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "MS FrontPage" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully
BrowserMatch "^gnome-vfs/1.0" redirect-carefully
BrowserMatch "^XML Spy" redirect-carefully
BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully
#
# Allow server status reports generated by mod_status,
# with the URL of http://servername/server-status
# Change the ".example.com" to match your domain to enable.
#
#<Location /server-status>
# SetHandler server-status
# Order deny,allow
102
Projekt BBSF Webserver Upgrade in 2008
# Deny from all
# Allow from .example.com
#</Location>
#
# Allow remote server configuration reports, with the URL of
# http://servername/server-info (requires that mod_info.c be loaded).
# Change the ".example.com" to match your domain to enable.
#
#<Location /server-info>
# SetHandler server-info
# Order deny,allow
# Deny from all
# Allow from .example.com
#</Location>
#
# Proxy Server directives. Uncomment the following lines to
# enable the proxy server:
#
#<IfModule mod_proxy.c>
#ProxyRequests On
#
#<Proxy *>
# Order deny,allow
# Deny from all
# Allow from .example.com
#</Proxy>
#
# Enable/disable the handling of HTTP/1.1 "Via:" headers.
# ("Full" adds the server version; "Block" removes all outgoing Via: headers)
# Set to one of: Off | On | Full | Block
#
#ProxyVia On
#
# To enable a cache of proxied content, uncomment the following lines.
# See http://httpd.apache.org/docs/2.2/mod/mod_cache.html for more details.
#
#<IfModule mod_disk_cache.c>
# CacheEnable disk /
# CacheRoot "/var/cache/mod_proxy"
#</IfModule>
#
#</IfModule>
# End of proxy directives.
103
Projekt BBSF Webserver Upgrade in 2008
### Section 3: Virtual Hosts
#
# VirtualHost: If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
# <URL:http://httpd.apache.org/docs/2.2/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.
#
# Use name-based virtual hosting.
#
#NameVirtualHost *:80
#
# NOTE: NameVirtualHost cannot be used without a port specifier
# (e.g. :80) if mod_ssl is being used, due to the nature of the
# SSL protocol.
#
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
#<VirtualHost *:80>
# ServerAdmin [email protected]
# DocumentRoot /www/docs/dummy-host.example.com
# ServerName dummy-host.example.com
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>
####
## www.bbs.fh-wilhelmshaven.de in /etc/hosts eintragen !!!
###
NameVirtualHost localhost:80
<VirtualHost localhost:80>
ServerName localhost
</VirtualHost>
104
Projekt BBSF Webserver Upgrade in 2008
NameVirtualHost www.bbs.fh-wilhelmshaven.de:80
<VirtualHost www.bbs.fh-wilhelmshaven.de:80>
ServerName www.bbs.fh-wilhelmshaven.de
RewriteEngine On
## Nur, wenn Zugrif direkt auf Zope von aussen gewuenscht !!!
#RewriteCond %{REQUEST_URI} ^/manage
#RewriteRule ^/(.*) http://127.0.0.1:8080/VirtualHostBase/http/www.bbs.fhwilhelmshaven.de:80///VirtualHostRoot/$1 [L,P]
## Fuer Verzeichnis mit statischen Websides
RewriteCond %{REQUEST_URI} !^/statisch
RewriteCond %{REQUEST_URI} !^/stundenplan
## Fuer Portal (Projekte)
RewriteCond %{REQUEST_URI} !^/portal
## Fuer Wetter update
RewriteCond %{REQUEST_URI} !^/wetter
## Fuer ZMS
RewriteRule ^/(.*) http://127.0.0.1:8080/VirtualHostBase/http/www.bbs.fhwilhelmshaven.de:80/BBSFriedenstr/VirtualHostRoot/$1 [L,P]
</VirtualHost>
<Directory "/var/www/html/portal/mysqldumper">
AuthType Basic
AllowOverride AuthConfig
</Directory>
<Directory "/var/www/html/portal">
AddDefaultCharset ISO-8859-1
LanguagePriority
</Directory>
105
Projekt BBSF Webserver Upgrade in 2008
9.2 Die Zope Konfigurationsdatei zope.conf
########################################################################
#######
# Welcome to Zope 2.
########################################################################
#######
#
# This is the Zope configuration file. The Zope configuration file
# shows what the default configuration directives are, and show
# examples for each directive. To declare a directive, make sure that
# you add it to a line that does not begin with '#'. Note that comments
# are only allowed at the beginning of a line: you may not add comments
# after directive text on the same line.
#
# Note for Developers
# ===================
#
# This file is *not* auto-generated. If you create a new directive you
# very likely want to include an example of how to use the new
# directive in this file.
#
# You shouldn't modify 'zope.conf.in' to change
# configuration. Instead, you should make a copy into 'zope.conf' and
# modify that to avoid checking in changes to this file by mistake.
# ZConfig "defines" used for later textual substitution
%define INSTANCE /opt/instance
%define ZOPE /opt/Zope-2.10
# Directive: instancehome
#
# Description:
# The path to the data files, local product files, import directory,
# and Extensions directory used by Zope.
#
# Required (no default)
#
# Example:
#
# instancehome /home/chrism/projects/sessions
instancehome $INSTANCE
# Directive: clienthome
#
106
Projekt BBSF Webserver Upgrade in 2008
# Description:
# The directory in which a running Zope's process identifier files are
# placed.
#
# Default: $INSTANCE/var
#
# Example:
#
# clienthome /home/chrism/projects/sessions/var
# Directive: path
#
# Description:
# Name of a directory which should be inserted into the
# the beginning of Python's module search path. This directive
# may be specified as many times as needed to insert additional
# directories. The set of directories specified is inserted into the
# beginning of the module search path in the order which they are specified
# here. Note that the processing of this directive may happen too late
# under some circumstances; it is recommended that you use the PYTHONPATH
# environment variable if using this directive doesn't work for you.
#
# Default: $INSTANCE/lib/python
#
# Example:
#
# path $INSTANCE/mypymodules
# Directive: products
#
# Description:
# Name of a directory that contains additional Product packages. This
# directive may be used as many times as needed to add additional
# collections of products. Each directory identified will be
# added to the __path__ of the Products package. All Products are
# initialized in ascending alphabetical order by product name. If
# two products with the same name exist in two Products directories,
# the order in which the packages appear here defines the load
# order. The master Products directory exists in Zope's software home,
# and cannot be removed from the products path (and should not be added
# to it here).
#
# Default: $INSTANCE/Products
#
# Example:
#
107
Projekt BBSF Webserver Upgrade in 2008
#
products /home/chrism/projects/myproducts
# Directive: environment
#
# Description:
# A section which can be used to define arbitrary key-value pairs
# for use as environment variables during Zope's run cycle. It
# is not recommended to set system-related environment variables such as
# PYTHONPATH within this section.
#
# Default: unset
#
# Example:
#
# <environment>
#
MY_PRODUCT_ENVVAR foobar
# </environment>
# Directive: debug-mode
#
# Description:
# A switch which controls several aspects of Zope operation useful for
# developing under Zope. When debug mode is on:
#
# - The process will not detach from the controlling terminal
#
# - Errors in product initialization will cause startup to fail
#
(instead of writing error messages to the event log file).
#
# - Filesystem-based scripts such as skins, PageTemplateFiles, and
#
DTMLFiles can be edited while the server is running and the server
#
will detect these changes in real time. When this switch is
#
off, you must restart the server to see the changes.
#
# Setting this to 'off' when Zope is in a production environment is
# encouraged, as it speeds execution (sometimes dramatically).
#
# Default: off
#
# Example:
#
# debug-mode on
# Directive: effective-user
#
# Description:
108
Projekt BBSF Webserver Upgrade in 2008
# If you intend to run Zope as the "root" user, you must supply this
# directive with an effective username or userid number to which Zope
# will 'suid' after the server ports are bound. This directive only
# has effect under UNIX and if Zope is started as the root user.
#
# Default: unset
#
# Example:
#
effective-user zope
# Directive: enable-product-installation
#
# Description:
# If this directive is turned on, Zope performs 'product installation'
# (the registration of Python modules in various Products directories)
# at startup. Turning this off can speed Zope/ZEO startup time,
# but it can also cause your Control_Panel Product list to become
# desynchronized with the contents of your Products
# directories. NOTE: Zope *must* be started at least once with
# this directive set to "on" or you will receive an error. If using ZEO,
# at least one ZEO client must be run with this directive set to "on"
# once, the others can have it turned off.
# NOTE: If your main storage is mounted read-only,
# you must set this directive to "off".
#
# Default: on
#
# Example:
#
# enable-product-installation off
# Directive: locale
#
# Description:
# Enable locale (internationalization) support by supplying a locale
# name to be used. See your operating system documentation for locale
# information specific to your system. If your Python module does not
# support the locale module, or if the requested locale is not
# supported by your system, an error will be raised and Zope will not
# start.
#
# Default: unset
#
# Example:
#
# locale fr_FR
109
Projekt BBSF Webserver Upgrade in 2008
# Directive: datetime-format
#
# Description:
# Set this variable either to "us" or "international" to force the
# DateTime module to parse date strings either with
# month-before-days-before-year ("us") or
# days-before-month-before-year ("international"). The default
# behaviour of DateTime (when this setting is left unset) is to
# parse dates as US dates.
#
# Default: us
#
# Example:
#
# datetime-format international
# Directive: zserver-threads
#
# Description:
# Specify the number of threads that Zope's ZServer web server will use
# to service requests. The default is 4.
#
# Default: 4
#
# Example:
#
# zserver-threads 10
# Directive: python-check-interval
#
# Description:
# Specify an integer representing the Python interpreter "check
# interval" This interval determines how often the interpreter checks
# for periodic things such as thread switches and signal handlers. The
# Zope default is 500, but you may want to experiment with other values
# in order to attempt to increae performance in your particular
# environment.
#
# Default: 500
#
# Example:
#
# python-check-interval 1000
110
Projekt BBSF Webserver Upgrade in 2008
# Directive: zserver-read-only-mode
#
# Description:
# If this directive is set to 'on', it will cause Zope to inhibit the
# creation of log files and pid files. Access and event log files will
# be presented on standard output. Setting this directive 'on' causes
# pcgi, fastcgi, and daemon-related directives to have no effect.
#
# Default: off
#
# Example:
#
# zserver-read-only-mode on
# Directive: pid-filename
#
# Description:
# The path to the file in which the Zope process id(s) will be written.
# This defaults to client-home/Z2.pid.
#
# Default: CLIENT_HOME/Z2.pid
#
# Example:
#
# pid-filename /home/chrism/projects/sessions/var/Z2.pid
# Directive: lock-filename
#
# Description:
# The path to a "lock file" which will be locked by Zope while it's
# running. This file is used by zopectl.py to determine if Zope is
# currently running. This defaults to CLIENT_HOME/Z2.lock.
#
# Default: CLIENT_HOME/Z2.lock
#
# Example:
#
# lock-filename /home/chrism/projects/sessions/var/Z2.lock
# Directive: mime-types
#
# Description:
# Tells Zope about additional mime.types files that should be
# loaded. The files have the same format as the mime.types file
111
Projekt BBSF Webserver Upgrade in 2008
# distributed with Apache. The "mime-types" setting may be given
# more than once in the configuration file.
#
# Example:
#
# mime-types $INSTANCE/etc/mime.types
# Directive: structured-text-header-level
#
# Description:
# Set the default starting HTML header level for structured text
# documents. The default is 3, which implies that top-level headers
# will be created with an <H3> tag.
#
# Default: 3
#
# Example:
#
# structured-text-header-level 1
# Directive: rest-input-encoding
#
# Description:
# Specifies the input encoding of re-StructuredText documents
# (e.g. 'utf-8', 'iso-8859-15' or any other valid encoding recognized
# by Python). The default is your Python's default encoding.
#
# Default: unset (uses system default)
#
# Example:
#
# rest-input-encoding iso-8859-15
# Directive: rest-output-encoding
#
# Description:
# Specifies the output encoding of re-StructuredText documents
# (e.g. 'utf-8', 'iso-8859-15' or any other valid encoding recognized
# by Python). The default is your Python's default encoding.
#
# Default: unset (uses system default)
#
# Example:
#
# rest-output-encoding iso-8859-15
# Directive: rest-header-level
112
Projekt BBSF Webserver Upgrade in 2008
#
# Description:
# Set the default starting HTML header level for restructured text
# documents. The default is 3, which implies that top-level headers
# will be created with an <H3> tag.
#
# Default: 3
#
# Example:
#
# rest-header-level 2
# Directive: rest-language-code
#
# Description:
# Language code used for some internal translations inside of the docutils
# package and for DTD bibliographic elements mapping. See
# lib/python/docutils/languages/ for a list of supported language codes.
#
# Default: en
#
# Example:
#
# rest-language-code de
# Directive: cgi-environment
#
# Description:
# A section which allows a user to define arbitrary key-value pairs for
# use as the initial CGI environment variables. This is useful
# when you want to proxy requests from another web server to Zserver,
# and would like Zserver's CGI environment to reflect the CGI
# environment of the other web server.
#
# Default: unset
#
# Example:
#
# <cgi-environment>
# HTTPS_SERVER Foobar Server 1.0
# HTTPS_PORT 443
# </cgi-environment>
# Directive: dns-server
#
# Description:
113
Projekt BBSF Webserver Upgrade in 2008
# Specify the IP address of your DNS server in order to cause resolved
# hostnames to be written to Zope's access log. By default, Zope will
# not resolve hostnames unless this is set.
#
# Default: unset
#
# Example:
#
# dns-server 127.0.0.1
# Directive: ip-address
#
# Description:
# The default IP address on which Zope's various server protocol
# implementations will listen for requests. If this is unset, Zope
# will listen on all IP addresses supported by the machine. This
# directive can be overridden on a per-server basis in the servers
# section.
#
# Default: unset
#
# Example:
#
# ip-address 127.0.0.1
# Directive: http-realm
#
# Description:
# The HTTP "Realm" header value sent by this Zope instance. This value
# often shows up in basic authentication dialogs.
#
# Default: Zope
#
# Example:
#
# http-realm Slipknot
# Directive: cgi-maxlen
#
# Description:
# Set this value to limit the amount of form data being processed
# by Zope to prevent DoS attacks.
#
# Default: 0 (= no restrictions)
#
114
Projekt BBSF Webserver Upgrade in 2008
# Example:
#
# cgi-maxlen 10000
# Directive: http-header-max-length
#
# Description:
# Maximum number of bytes allowed within a HTTP request header. The request
# is discarded and considered as a DoS attack if the header size exceeds
# this limit.
#
# Default: 8192
#
# Example:
#
# http-header-max-length 16384
# Directive: enable-ms-author-via
#
# Description:
# Set this directive to 'true' to enable the "MS-Author-Via" header
# in response to an OPTIONS WebDAV request. Early versions of
# Microsoft Web Folders and Microsoft Office require this header to
# be present to be able to connect to Zope via WebDAV.
#
# This is disabled by default since it makes a lot of standards-compliant
# things unhappy AND it tricks Microsoft Office into trying to edit Office
# files stored in Zope via WebDAV even when the user isn't allowed to edit
# them and is only trying to download them.
#
# Check this collector entry for more information:
# http://www.zope.org/Collectors/Zope/1441
#
# Recent versions of Microsoft Web Folders, updated after January
# 2005, do not require this header anymore, and instead require a
# "Public" header to be present in reply to the OPTIONS WebDAV
# request.
# (http://www.redmountainsw.com/wordpress/archives/webfolders-zope)
#
# To get a recent Microsoft Web Folders implementation, refer to
# Microsoft KB Article 907306.
# (Software Update for Web Folders: May 18, 2007).
#
# Default: off
#
# Example:
#
115
Projekt BBSF Webserver Upgrade in 2008
#
enable-ms-author-via on
# Directive: enable-ms-public-header
#
# Description:
# Set this directive to 'on' to enable sending the "Public" header
# in response to an WebDAV OPTIONS request.
#
# Though recent WebDAV drafts mention this header, the original
# WebDAV RFC did not mention it as part of the standard. Very few
# web servers out there include this header in their replies, most
# notably IIS and Netscape Enterprise 3.6.
#
# Since many best practices documents out in the web mention
# turning off this header with the subject of "Mask Your Web Server
# For Enhanced Security", this setting is off by
# default. Presumably malicious people might take the presence of
# this header as indication of an IIS Web Server and try to attack
# your site, so be careful when turning it on.
#
# Recent versions of Microsoft Web Folders, updated after January
# 2005, *do* require this header to be present in reply to the
# OPTIONS WebDAV request.
# (http://www.redmountainsw.com/wordpress/archives/webfolders-zope)
#
# To get a recent Microsoft Web Folders implementation, refer to
# Microsoft KB Article 907306.
# (Software Update for Web Folders: May 18, 2007).
#
# Default: off
#
# Example:
#
# enable-ms-public-header on
# Directive: automatically-quote-dtml-request-data
#
# Description:
# Set this directive to 'off' in order to disable the autoquoting of
# implicitly retrieved REQUEST data by DTML code which contains a '<'
# when used in <dtml-var> construction. When this directive is 'on',
# all data implicitly retrieved from the REQUEST in DTML (as opposed to
# addressing REQUEST.somevarname directly) that contains a '<' will be
# HTML-quoted when interpolated via a <dtml-var> or &dtml- construct. This
# mitigates the possibility that DTML programmers will leave their
# sites open to a "client-side trojan" attack.
#
# Default: on
116
Projekt BBSF Webserver Upgrade in 2008
#
# Example:
#
# automatically-quote-dtml-request-data on
# Directive: trusted-proxy
#
# Description:
# Define one or more 'trusted-proxies' directives, each of which is a
# hostname or an IP address. The set of definitions comprises a list
# of front-end proxies that are trusted to supply an accurate
# X-Forwarded-For header to Zope. If a connection comes from
# a trusted proxy, Zope will trust any X-Forwarded header to contain
# the user's real IP address for the purposes of address-based
# authentication restriction.
#
# Default: unset
#
# Example:
#
# trusted-proxy www.example.com
# trusted-proxy 192.168.1.1
# Directive: publisher-profile-file
#
# Description:
# Names a file on the filesystem which causes Zope's Python
# profiling capabilities to be enabled. For more information, see
# the Debug Information - > Profiling tab of Zope's Control_Panel
# via the Zope Management Interface. IMPORTANT: setting this
# filename will cause Zope code to be executed much more slowly
# than normal. This should not be enabled in production.
#
# Default: unset
#
# Example:
#
# publisher-profile-file $INSTANCE/var/profile.dat
# Directive: security-policy-implementation
#
# Description:
# The default Zope security machinery is implemented in C. Change
# this to "python" to use the Python version of the Zope security
# machinery. This setting may impact performance but is useful
# for debugging purposes. See also the "verbose-security" option
# below.
117
Projekt BBSF Webserver Upgrade in 2008
#
# Default: C
#
# Example:
#
# security-policy-implementation python
# Directive: skip-authentication-checking
#
# Description:
# Set this directive to 'on' to cause Zope to skip checks related
# to authentication, for servers which serve only anonymous content.
# Only works if security-policy-implementation is 'C'.
#
# Default: off
#
# Example:
#
# skip-authentication-checking on
# Directive: skip-ownership-checking
#
# Description:
# Set this directive to 'on' to cause Zope to ignore ownership checking
# when attempting to execute "through the web" code. By default, this
# directive is on in order to prevent 'trojan horse' security problems
# whereby a user with less privilege can cause a user with more
# privilege to execute dangerous code.
#
# Default: off
#
# Example:
#
# skip-ownership-checking on
# Directive: verbose-security
#
# Description:
# By default, Zope reports authorization failures in a terse manner in
# order to avoid revealing unnecessary information. This option
# modifies the Zope security policy to report more information about
# the reason for authorization failures. It's designed for debugging.
# If you enable this option, you must also set the
# 'security-policy-implementation' to 'python'.
#
# Default: off
118
Projekt BBSF Webserver Upgrade in 2008
#
# Example:
#
# security-policy-implementation python
# verbose-security on
# Directive: maximum-number-of-session-objects
#
# Description:
# An integer value representing the number of items to use as a
# "maximum number of subobjects" value of the
# '/temp_folder/session_data' transient object container.
#
# Default: 1000
#
# Example:
#
# maximum-number-of-session-objects 10000
# Directive: session-add-notify-script-path
#
# Description:
# An optional fill Zope path name of a callable object to be set as the
# "script to call on object addition" of the sessioN_data transient
# object container created in the /temp_folder folder at startup.
#
# Default: unset
#
# Example:
#
# session-add-notify-script-path /scripts/add_notifier
# Directive: session-delete-notify-script-path
#
# Description:
# An optional fill Zope path name of a callable object to be set as the
# "script to call on object deletion" of the sessioN_data transient
# object container created in the /temp_folder folder at startup.
#
# Default: unset
#
# Example:
#
# session-delete-notify-script-path /scripts/del_notifier
119
Projekt BBSF Webserver Upgrade in 2008
# Directive: session-timeout-minutes
#
# Description:
# An integer value representing the number of minutes to be used as the
# "data object timeout" of the '/temp_folder/session_data' transient
# object container.
#
# Default: 20
#
# Example:
#
# session-timeout-minutes 30
# Directive: session-resolution-seconds
#
# Description:
# An integer value representing the number of seconds to be used as the
# "timeout resolution" of the '/temp_folder/session_data' transient
# object container.
#
# Default: 20
#
# Example:
#
# session-resolution-seconds 60
# Directive: suppress-all-access-rules
#
# Description:
# If this directive is set to on, no access rules in your Zope site
# will be executed. This is useful if you "lock yourself out" of a
# particular part of your site by setting an improper access rule.
#
# Default: off
#
# Example:
#
# suppress-all-access-rules on
# Directive: suppress-all-site-roots
#
# Description:
# If this directive is set to on, no site roots in your Zope site will
# be effective. This is useful if you "lock yourself out" of a
120
Projekt BBSF Webserver Upgrade in 2008
# particular part of your site by setting an improper site root.
#
# Default: off
#
# Example:
#
# suppress-all-site-roots on
# Directive: database-quota-size
#
# Description:
# Set this directive to an integer in bytes in order to place a hard
# limit on the size which the default FileStorage-backed Zope database
# can grow. Additions to the database will not be permitted once this
# filesize is exceeded.
#
# Default: unset
#
# Example:
#
# database-quota-size 1000000
# Directive: read-only-database
#
# Description:
# This causes the main Zope FileStorage-backed ZODB to be opened in
# read-only mode.
#
# Default: off
#
# Example:
#
# read-only-database on
# Directive: zeo-client-name
#
# Description:
# If you want a persistent ZEO client cache which retains cache
# contents across ClientStorage restarts, you need to define a
# zeo-client-name. If you use ZEO and you don't set a
# zeo-client-name, the client cache is stored in temporary files
# which are removed when the ClientStorage shuts down. The value
# of zeo-client-name is used to uniquely identify the local cache
# files created if this Zope is a ZEO client.
#
121
Projekt BBSF Webserver Upgrade in 2008
# Default: unset
#
# Example:
#
# zeo-client-name zeo1
# Directives: logger
#
# Description:
# This area should define one or more "logger" sections of the
# names "access", "event", and "trace". The "access" logger logs
# Zope server access. The "event" logger logs Zope event
# information. The "trace" logger logs detailed server request
# information (for debugging purposes only). Each logger section
# may contain a "level" name/value pair which indicates the level
# of logging detail to capture for this logger. The default level
# is INFO. Level may be any of "CRITICAL", 'ERROR", WARN", "INFO",
# "DEBUG", and "ALL". Each logger section may additionally contain
# one or more "handler" sections which indicates a types of log
# "handlers" (file, syslog, NT event log, etc) to be used for the
# logger being defined. There are 5 types of handlers: logfile,
# syslog, win32-eventlog, http-handler, email-notifier. Each
# handler type has its own set of allowable subkeys which define
# aspects of the handler. All handler sections also allow for the
# specification of a "format" (the log message format string), a
# "dateformat" (the log message format for date strings), and a
# "level", which has the same semantics of the overall logger
# level but overrides the logger's level for the handler it's
# defined upon. XXXX much more detail necessary here
#
# Default:
#
# The access log will log to the file <instancehome>/log/Z2.log at
# level INFO, the event log will log to the file
# <instancehome>/log/event.log at level INFO, and the trace log
# will not be written anywhere.
<eventlog>
level info
<logfile>
path $INSTANCE/log/event.log
level info
</logfile>
</eventlog>
<logger access>
level WARN
122
Projekt BBSF Webserver Upgrade in 2008
<logfile>
path $INSTANCE/log/Z2.log
format %(message)s
</logfile>
</logger>
# <logger trace>
# level WARN
# <logfile>
# path $INSTANCE/log/trace.log
# format %(message)s
# </logfile>
# </logger>
# Directive: conflict-error-log-level
#
# Description:
# Specifies at which level conflict errors are logged. Conflict
# errors, when occuring in small numbers, are a normal part of the
# Zope optimistic transaction conflict resolution algorithms. They
# are retried automatically a few times, and are therefore usually
# not visible by the user. You can specify 'notset' if you don't
# want them logged, or use any other logger level (see above).
#
# Default: info
#
# Example:
#
# conflict-error-log-level blather
# Directive: warnfilter
#
# Description:
# A section that allows you to define a warning filter.
# The following keys are valid within a warnfilter section:
#
#
action: one of the following strings:
#
#
"error" turn matching warnings into exceptions
#
"ignore" never print matching warnings
#
"always" always print matching warnings
#
"default" print the first occurrence of matching warnings
#
for each location where the warning is issued
#
"module" print the first occurrence of matching warnings
#
for each module where the warning is issued
#
"once" print only the first occurrence of matching
123
Projekt BBSF Webserver Upgrade in 2008
#
warnings, regardless of location
#
#
message: a string containing a regular expression that the
#
warning message must match (the match is compiled to
#
always be case-insensitive)
#
#
category: a Python dotted-path classname (must be a subclass of
#
Warning) of which the warning category must be a subclass in
#
order to match
#
#
module: a string containing a regular expression that the
#
module name must match (the match is compiled to be
#
case-sensitive)
#
#
lineno: an integer that the line number where the warning
#
occurred must match, or 0 to match all line numbers
#
# All keys within a warnfilter section are optional. More than
# one warnfilter section may be specified.
#
# Default: unset
#
# Example:
#
# <warnfilter>
#
action ignore
#
category exceptions.DeprecationWarning
# </warnfilter>
# Directive: max-listen-sockets
#
# Description:
# The maximum number of sockets that ZServer will attempt to open
# in order to service incoming connections.
#
# Default: 1000
#
# Example:
#
# max-listen-sockets 500
# Directives: port-base
#
# Description:
# Offset applied to the port numbers used for ZServer
# configurations. For example, if the http-server port is 8080 and
124
Projekt BBSF Webserver Upgrade in 2008
# the port-base is 1000, the HTTP server will listen on port 9080.
# This makes it easy to change the complete set of ports used by a
# Zope server process
#
# Default:
#
# 0
#
# Example:
#
# port-base 1000
# Directive: large-file-threshold
#
# Description:
# Requests bigger than this size get saved into a temporary file
# instead of being read completely into memory.
#
# Default: 512K
#
# Example:
#
# large-file-threshold 1Mb
# Directive: default-zpublisher-encoding
#
# Description:
# This controls what character set is used to encode unicode
# data that reaches ZPublisher without any other specified encoding.
#
# Default: iso-8859-15
#
# Example:
#
# default-zpublisher-encoding utf-8
# Directives: servers
#
# Description:
# A set of sections which allow the specification of Zope's various
# ZServer servers. 8 different server types may be defined:
# http-server, ftp-server, webdav-source-server, persistent-cgi,
# fast-cgi, monitor-server, icp-server, and clock-server. If no servers
# are defined, the default servers are used.
#
# Ports may be specified using the 'address' directive either in simple
# form (80) or in complex form including hostname 127.0.0.1:80. If the
125
Projekt BBSF Webserver Upgrade in 2008
# hostname is "left off", the default-ip-address is used as the hostname.
#
# Port numbers are offset by the setting of port-base.
#
# To run the monitor-server an emergency user must be defined
# (through an 'access' file).
#
# Default:
#
# An HTTP server starts on port 8080.
<http-server>
# valid keys are "address" and "force-connection-close"
address 8080
# force-connection-close on
# You can also use the WSGI interface between ZServer and ZPublisher:
# use-wsgi on
</http-server>
# Examples:
#
# <ftp-server>
# # valid key is "address"
# address 8021
# </ftp-server>
#
# <webdav-source-server>
# # valid keys are "address" and "force-connection-close"
# address 1980
# force-connection-close off
# </webdav-source-server>
#
# <persistent-cgi>
# # valid key is "path"
# path somefile
# </persistent-cgi>
#
# <fast-cgi>
# # valid key is "address"; the address may be hostname:port, port,
# # or a path for a Unix-domain socket
# address somefile
# </fast-cgi>
#
# <monitor-server>
# # valid keys are "address"
# address 8099
# </monitor-server>
#
126
Projekt BBSF Webserver Upgrade in 2008
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
<icp-server>
# valid key is "address"
address 888
</icp-server>
<clock-server>
# starts a clock which calls /foo/bar every 30 seconds
method /foo/bar
period 30
user admin
password 123
</clock-server>
<server>
# This uses Twisted as the web-server. You must install Twisted
# separately. You can't run Twisted and ZServer at same time.
address 8080
type Zope2-HTTP
</server>
# Database (zodb_db) section
#
# Description:
# A database section allows the definition of custom database and
# storage types. More than one zodb_db section can be defined.
#
# Default: unset.
#
IMPORTANT: At least one database with a mount-point of "/"
#
must be specified for Zope to start properly.
<zodb_db main>
# Main FileStorage database
<filestorage>
path $INSTANCE/var/Data.fs
</filestorage>
mount-point /
</zodb_db>
<zodb_db temporary>
# Temporary storage database (for sessions)
<temporarystorage>
name temporary storage for sessioning
</temporarystorage>
mount-point /temp_folder
container-class Products.TemporaryFolder.TemporaryContainer
</zodb_db>
127
Projekt BBSF Webserver Upgrade in 2008
# Other storage examples
#
# ZEO client storage:
#
# <zodb_db main>
# mount-point /
# # ZODB cache, in number of objects
# cache-size 5000
# <zeoclient>
# server localhost:8100
# storage 1
# name zeostorage
# var $INSTANCE/var
# # ZEO client cache, in bytes
# cache-size 20MB
# # Uncomment to have a persistent disk cache
# #client zeo1
# </zeoclient>
# </zodb_db>
# Product configuration (product-config) section(s)
#
# Description:
# Add-on products may need to allow the user to specify policy /
# configuration. Such policies may be expressed as a set of
# name-value pairs, grouped into a named section (there may
# be many such sections, typically one per product).
# These sections will be captured in an attribute, 'product_config'
# of the top-level config object, under the key corresponding to
# the section name. E.g., the sample section below would be
# parsed into a dict, {'bar': 'baz'}, available as
# config.product_config['foo']
#
# Products may also register their own section types, extending
#
#
# Example:
#
# 1. Simple "bag of strings" section:
#
# <product-config foo>
#
bar baz
# </product-config>
#
# 2. Custom section type
#
# Products/Foo/component.xml:
#
128
Projekt BBSF Webserver Upgrade in 2008
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
<component>
<description>
Some product-specific hackery.
</description>
<sectiontype name="myproduct" implements="zope.product.base">
<description>
Product-specific configuration.
</description>
<key name="foo" />
</sectiontype>
</component>
In zope.conf:
%import Products.Foo
<myproduct bar>
foo qux
</myproduct>
9.3 Das Zope Start Shell-Skript zopectl
#! /bin/sh
PYTHON="/usr/local/bin/python"
ZOPE_HOME="/opt/Zope-2.10"
INSTANCE_HOME="/opt/instance"
CONFIG_FILE="/opt/instance/etc/zope.conf"
SOFTWARE_HOME="/opt/Zope-2.10/lib/python"
PYTHONPATH="$SOFTWARE_HOME:$PYTHONPATH"
export PYTHONPATH INSTANCE_HOME SOFTWARE_HOME
ZDCTL="$SOFTWARE_HOME/Zope2/Startup/zopectl.py"
exec "$PYTHON" "$ZDCTL" -C "$CONFIG_FILE" "$@"
129
Projekt BBSF Webserver Upgrade in 2008
9.4 Die Sendmail Konfigurationsdatei sendmail.mc
divert(-1)dnl
dnl #
dnl # This is the sendmail macro config file for m4. If you make changes to
dnl # /etc/mail/sendmail.mc, you will need to regenerate the
dnl # /etc/mail/sendmail.cf file by confirming that the sendmail-cf package is
dnl # installed and then performing a
dnl #
dnl # make -C /etc/mail
dnl #
include(`/usr/share/sendmail-cf/m4/cf.m4')dnl
VERSIONID(`setup for linux')dnl
OSTYPE(`linux')dnl
dnl #
dnl # Do not advertize sendmail version.
dnl #
dnl define(`confSMTP_LOGIN_MSG', `$j Sendmail; $b')dnl
dnl #
dnl # default logging level is 9, you might want to set it higher to
dnl # debug the configuration
dnl #
dnl define(`confLOG_LEVEL', `9')dnl
dnl #
dnl # Uncomment and edit the following line if your outgoing mail needs to
dnl # be sent out through an external mail server:
dnl #
dnl define(`SMART_HOST', `smtp.your.provider')dnl
dnl #
define(`confDEF_USER_ID', ``8:12'')dnl
dnl define(`confAUTO_REBUILD')dnl
define(`confTO_CONNECT', `1m')dnl
define(`confTRY_NULL_MX_LIST', `True')dnl
define(`confDONT_PROBE_INTERFACES', `True')dnl
define(`PROCMAIL_MAILER_PATH', `/usr/bin/procmail')dnl
define(`ALIAS_FILE', `/etc/aliases')dnl
define(`STATUS_FILE', `/var/log/mail/statistics')dnl
define(`UUCP_MAILER_MAX', `2000000')dnl
define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl
define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl
define(`confAUTH_OPTIONS', `A')dnl
dnl #
dnl # The following allows relaying if the user authenticates, and disallows
dnl # plaintext authentication (PLAIN/LOGIN) on non-TLS links
dnl #
dnl define(`confAUTH_OPTIONS', `A p')dnl
dnl #
130
Projekt BBSF Webserver Upgrade in 2008
dnl # PLAIN is the preferred plaintext authentication method and used by
dnl # Mozilla Mail and Evolution, though Outlook Express and other MUAs do
dnl # use LOGIN. Other mechanisms should be used if the connection is not
dnl # guaranteed secure.
dnl # Please remember that saslauthd needs to be running for AUTH.
dnl #
dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5
LOGIN PLAIN')dnl
dnl #
dnl # Rudimentary information on creating certificates for sendmail TLS:
dnl # cd /etc/pki/tls/certs; make sendmail.pem
dnl # Complete usage:
dnl # make -C /etc/pki/tls/certs usage
dnl #
dnl define(`confCACERT_PATH', `/etc/pki/tls/certs')dnl
dnl define(`confCACERT', `/etc/pki/tls/certs/ca-bundle.crt')dnl
dnl define(`confSERVER_CERT', `/etc/pki/tls/certs/sendmail.pem')dnl
dnl define(`confSERVER_KEY', `/etc/pki/tls/certs/sendmail.pem')dnl
dnl #
dnl # This allows sendmail to use a keyfile that is shared with OpenLDAP's
dnl # slapd, which requires the file to be readble by group ldap
dnl #
dnl define(`confDONT_BLAME_SENDMAIL', `groupreadablekeyfile')dnl
dnl #
dnl define(`confTO_QUEUEWARN', `4h')dnl
dnl define(`confTO_QUEUERETURN', `5d')dnl
dnl define(`confQUEUE_LA', `12')dnl
dnl define(`confREFUSE_LA', `18')dnl
define(`confTO_IDENT', `0')dnl
dnl FEATURE(delay_checks)dnl
FEATURE(`no_default_msa', `dnl')dnl
FEATURE(`smrsh', `/usr/sbin/smrsh')dnl
FEATURE(`mailertable', `hash -o /etc/mail/mailertable.db')dnl
FEATURE(`virtusertable', `hash -o /etc/mail/virtusertable.db')dnl
FEATURE(redirect)dnl
FEATURE(always_add_domain)dnl
FEATURE(use_cw_file)dnl
FEATURE(use_ct_file)dnl
dnl #
dnl # The following limits the number of processes sendmail can fork to accept
dnl # incoming messages or process its message queues to 20.) sendmail refuses
dnl # to accept connections once it has reached its quota of child processes.
dnl #
dnl define(`confMAX_DAEMON_CHILDREN', `20')dnl
dnl #
dnl # Limits the number of new connections per second. This caps the overhead
dnl # incurred due to forking new sendmail processes. May be useful against
131
Projekt BBSF Webserver Upgrade in 2008
dnl # DoS attacks or barrages of spam. (As mentioned below, a per-IP address
dnl # limit would be useful but is not available as an option at this writing.)
dnl #
dnl define(`confCONNECTION_RATE_THROTTLE', `3')dnl
dnl #
dnl # The -t option will retry delivery if e.g. the user runs over his quota.
dnl #
FEATURE(local_procmail, `', `procmail -t -Y -a $h -d $u')dnl
FEATURE(`access_db', `hash -T<TMPF> -o /etc/mail/access.db')dnl
FEATURE(`blacklist_recipients')dnl
EXPOSED_USER(`root')dnl
dnl #
dnl # For using Cyrus-IMAPd as POP3/IMAP server through LMTP delivery uncomment
dnl # the following 2 definitions and activate below in the MAILER section the
dnl # cyrusv2 mailer.
dnl #
dnl define(`confLOCAL_MAILER', `cyrusv2')dnl
dnl define(`CYRUSV2_MAILER_ARGS', `FILE /var/lib/imap/socket/lmtp')dnl
dnl #
dnl # The following causes sendmail to only listen on the IPv4 loopback address
dnl # 127.0.0.1 and not on any other network devices. Remove the loopback
dnl # address restriction to accept email from the internet or intranet.
dnl #
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
dnl #
dnl # The following causes sendmail to additionally listen to port 587 for
dnl # mail from MUAs that authenticate. Roaming users who can't reach their
dnl # preferred sendmail daemon due to port 25 being blocked or redirected find
dnl # this useful.
dnl #
dnl DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl
dnl #
dnl # The following causes sendmail to additionally listen to port 465, but
dnl # starting immediately in TLS mode upon connecting. Port 25 or 587 followed
dnl # by STARTTLS is preferred, but roaming clients using Outlook Express can't
dnl # do STARTTLS on ports other than 25. Mozilla Mail can ONLY use STARTTLS
dnl # and doesn't support the deprecated smtps; Evolution <1.1.1 uses smtps
dnl # when SSL is enabled-- STARTTLS support is available in version 1.1.1.
dnl #
dnl # For this to work your OpenSSL certificates must be configured.
dnl #
dnl DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl
dnl #
dnl # The following causes sendmail to additionally listen on the IPv6 loopback
dnl # device. Remove the loopback address restriction listen to the network.
dnl #
dnl DAEMON_OPTIONS(`port=smtp,Addr=::1, Name=MTA-v6, Family=inet6')dnl
dnl #
132
Projekt BBSF Webserver Upgrade in 2008
dnl # enable both ipv6 and ipv4 in sendmail:
dnl #
dnl DAEMON_OPTIONS(`Name=MTA-v4, Family=inet, Name=MTA-v6, Family=inet6')
dnl #
dnl # We strongly recommend not accepting unresolvable domains if you want to
dnl # protect yourself from spam. However, the laptop and users on computers
dnl # that do not have 24x7 DNS do need this.
dnl #
FEATURE(`accept_unresolvable_domains')dnl
dnl #
dnl FEATURE(`relay_based_on_MX')dnl
dnl #
dnl # Also accept email sent to "localhost.localdomain" as local email.
dnl #
LOCAL_DOMAIN(`localhost.localdomain')dnl
dnl #
dnl # The following example makes mail from this host and any additional
dnl # specified domains appear to be sent from mydomain.com
dnl #
dnl MASQUERADE_AS(`mydomain.com')dnl
dnl #
dnl # masquerade not just the headers, but the envelope as well
dnl #
dnl FEATURE(masquerade_envelope)dnl
dnl #
dnl # masquerade not just @mydomainalias.com, but @*.mydomainalias.com as well
dnl #
dnl FEATURE(masquerade_entire_domain)dnl
dnl #
dnl MASQUERADE_DOMAIN(localhost)dnl
dnl MASQUERADE_DOMAIN(localhost.localdomain)dnl
dnl MASQUERADE_DOMAIN(mydomainalias.com)dnl
dnl MASQUERADE_DOMAIN(mydomain.lan)dnl
MAILER(smtp)dnl
MAILER(procmail)dnl
dnl MAILER(cyrusv2)dnl
INPUT_MAIL_FILTER(`avmilter',`S=inet:3333@localhost,F=T,T=S:2m;R:2m;E:10m')
133
Projekt BBSF Webserver Upgrade in 2008
9.5 Die Konfigurationsdatei avmailgate.conf
#######################################################################
##
avmailgate.conf
##
#######################################################################
# This file lists all the available parameters. Lines beginning with '#'
# are comments and are ignored. If a parameter is not specified, some
# default value is used. The default values are the values shown here,
# unless otherwise indicated.
###################################
# Parameters used by both daemons #
###################################
# -----------------------------------------------------------------------# The SMTP process and the forwarder/scanner process will switch to
# this user and group as soon as possible.
# The SMTP process will do this after opening
# the SMTP port and the forwarder/scanner process will do it immediately.
User
Group
#
#
uucp
antivir
# -----------------------------------------------------------------------# Who will get errors and alert messages.
# Postmaster
postmaster
# -----------------------------------------------------------------------# MyHostName: FQDN of the local host.
# The default value, if not set in configuration file, is that
# obtained by gethostname(2), or if this fails, "localhost".
# MyHostName
localhost
# -----------------------------------------------------------------------# The spooldir must be owned by User:Group (as specified above)
# and must be accessible by only this user (mode = 0700).
# Both programs will refuse to run if something is wrong.
134
Projekt BBSF Webserver Upgrade in 2008
# SpoolDir
SpoolDir
/var/spool/avmailgate
/var/spool/avmailgate
# -----------------------------------------------------------------------# AntiVirDir: The antivir 'library' directory, where the VDF,
# the key, and some other files are stored.
# Note: This must be set to /usr/lib/AntiVir if anti-spam is being used.
# AntiVirDir
AntiVirDir
/usr/lib/AntiVir
/usr/lib/AntiVir
# -----------------------------------------------------------------------# TemporaryDir: Where the temporary files are stored
# (for example, attachments while checking them).
# It needs enough space to hold uncompressed attachments
# for each forwarder, and some more.
# Default: "/var/tmp" or else "/tmp".
# If TemporaryDir is not set and the environment variable TMPDIR is set,
# the directory specified in TMPDIR will be used.
# TemporaryDir
TemporaryDir
/var/tmp
/var/tmp
# -----------------------------------------------------------------------# You can set this option to RECIPIENT, SENDER or BOTH to allow matching of
# the domain name of the recipient and/or sender mail address, to check if it's
# to be considered local.
# If MatchMailAddressForLocal is RECIPIENT, and the recipient address matches
# the domain given in "local:", mail will be accepted.
# If MatchMailAddressForLocal is SENDER, and the sender address matches the
# domain given in "local:", mail will be accepted.
# If MatchMailAdressForLocal is BOTH, and the recipient or the sender adresses
# matches the domain given in "local:" mail will be accepted.
# MatchMailAddressForLocal
RECIPIENT
# -----------------------------------------------------------------------# SMTP greeting message.
# (Ineffective when running MailGate in milter mode)
# SMTPBanner
"AntiVir MailGate"
135
Projekt BBSF Webserver Upgrade in 2008
# -----------------------------------------------------------------------# Where the pid files are stored.
# Default: "/var/tmp" or else "/tmp".
# PidDir
/var/tmp
# -----------------------------------------------------------------------# Specify the facility for the syslog.
# E.g.: SyslogFacility local0
# SyslogFacility
mail
# -----------------------------------------------------------------------# Specify a full path with a filename to which AntiVir MailGate
# will write its log messages. AntiVir MailGate still logs to syslog
# even if this option is set.
# Default: NO - dont use custom logfile.
# E.g.: LogFile /var/log/avmailgate.log
LogFile
/var/log/avmailgate.log
#######################################
# Parameters used by the SMTP process #
#######################################
# -----------------------------------------------------------------------# Select the interface, the SMTP daemon will listen on.
# The default listen address of 0.0.0.0 means all interfaces.
# IF YOU ARE UNSURE JUST LEAVE IT AS IS!
# To start MailGate in milter mode, use the following:
# ListenAddress inet:port@{hostname|ip-address}
# E.g: ListenAddress inet:3333@localhost
ListenAddress inet:3333@localhost
# OR
# ListenAddress {unix|local}:/path/to/file
# E.g: ListenAddress unix:/path/to/file
136
Projekt BBSF Webserver Upgrade in 2008
# ListenAddress 0.0.0.0 port 25
# -----------------------------------------------------------------------# Limit the number of simultaneous connections from remote sites.
# A limit of 0 disables this feature.
# (Ineffective when running MailGate in milter mode)
# MaxIncomingConnections
0
# -----------------------------------------------------------------------# Number of seconds until a timeout occurs in SMTP conversation.
# (Ineffective when running MailGate in milter mode)
# SMTPTimeout
300
# -----------------------------------------------------------------------# Larger mails will be rejected.
# A limit of 0 means "no limit" (in bytes).
# (Ineffective when running MailGate in milter mode)
# MaxMessageSize
0
# -----------------------------------------------------------------------# Refuse incoming connections if less free blocks are available
# on the filesystem containing the spool directory.
# (Ineffective when running MailGate in milter mode)
# MinFreeBlocks
100
# -----------------------------------------------------------------------# So many recipients can be accepted at once.
# (Ineffective when running MailGate in milter mode)
# MaxRecipientsPerMessage
100
# -----------------------------------------------------------------------# Refuse 'MAIL FROM:<>'.
# Actually, RFC2821, RFC821 and RFC2505 explicitly note that 'MAIL FROM: <>'
# MUST be accepted. It is strongly recommended not to change the
# default setting.
# (Ineffective when running MailGate in milter mode)
137
Projekt BBSF Webserver Upgrade in 2008
# RefuseEmptyMailFrom
NO
# -----------------------------------------------------------------------# If AllowSourceRouting is NO, if source routing is present in the
# given recipient address path, it's removed.
# If AllowSourceRouting is YES, then source routing is honored, and
# the message is forwarded to the first host specified in the route.
# (Ineffective when running MailGate in milter mode)
# AllowSourceRouting
NO
# -----------------------------------------------------------------------# If InEnvelopeAddressesBangIs is REFUSED, the presence of an unquoted
# "!" in the recipient envelope address implies that the message will be
# refused.
# If InEnvelopeAddressesBangIs is IGNORED, any unquoted "!" will be
# processed as any other non-special character of the address.
# If InEnvelopeAddressesBangIs is INTERPRETED, then the address is
# rewritten in RFC821 standard form. An address such as:
# hostA!hostB!hostC!user
# is rewritten as:
# @hostA,@hostB:user@hostC
# Then, if source routing is allowed, the message is transmitted to
# hostA, otherwise it's directly sent to hostC.
# Thus, this rewriting allows us to discover the recipient host, in the
# case where all the UUCP gateways on the route would have interpreted
# the address the same way as us. (If that were not the case, then this
# parameters should be set to IGNORED).
# (Ineffective when running MailGate in milter mode)
# InEnvelopeAddressesBangIs
REFUSED
# -----------------------------------------------------------------------# If InEnvelopeAddressesPercentIs is REFUSED, the presence of an
# unquoted "%" in the recipient envelope address implies that the message
# will be refused.
138
Projekt BBSF Webserver Upgrade in 2008
# If InEnvelopeAddressesPercentIs is IGNORED, any unquoted "%" will be
# processed as any other non-special character of the address.
# If InEnvelopeAddressesPercentIs is INTERPRETED, then the address is
# rewritten in RFC821 standard form. An address such as:
# user%hostC%hostB@hostA
# is rewritten as:
# @hostA,@hostB:user@hostC
# Then, if source routing is allowed, the message is transmitted to
# hostA, otherwise it's directly sent to hostC.
# Thus, this rewriting allows us to discover the recipient host, in the
# case where all the gateways on the route would have interpreted the
# address the same way as us. (If that were not the case, then this
# parameters should be set to IGNORED).
# (Ineffective when running MailGate in milter mode)
# InEnvelopeAddressesPercentIs
REFUSED
# -----------------------------------------------------------------------# If AcceptLooseDomainName is NO and the name of the domain selected
# for delivery (depending on source routing) does not strictly conform
# the domain name syntax, it's refused.
# If AcceptLooseDomainName is YES, no check is done on the domain
# name, apart of interpreting the domain name syntax for numerical IP
# addresses.
# (Ineffective when running MailGate in milter mode)
# AcceptLooseDomainName
NO
# -----------------------------------------------------------------------# If AddressFilter is YES, the recipient address and/or the sender address of
# an email will be matched against a table of addresses.
# Two tables will be matched in a specified order (see option "FilterTableOrder").
# Please have a look at the MANUAL for more details.
# AddressFilter NO
# -----------------------------------------------------------------------# If AddressFilter is set to yes, one can specify which table has to be matched
139
Projekt BBSF Webserver Upgrade in 2008
# for a sender and/or recipient address first.
# Options are: scan,ignore | ignore,scan
# FilterTableOrder scan,ignore
####################################################
# Parameters used by the forwarder/scanner process #
####################################################
# ----------------------------------------------------------------------# Timeout, in seconds, to receive the greeting message from the remote host.
# (Ineffective when running MailGate in milter mode)
# SMTPGreetingTimeout 300
# ----------------------------------------------------------------------# Timeout, in seconds, to receive a reply to the EHLO/HELO command.
# (Ineffective when running MailGate in milter mode)
# SMTPHeloTimeout
300
# ----------------------------------------------------------------------# Timeout, in seconds, to receive a reply to the MAIL FROM command.
# (Ineffective when running MailGate in milter mode)
# SMTPMailFromTimeout 300
# ----------------------------------------------------------------------# Timeout, in seconds, to receive a reply to the RCPT TO command.
# (Ineffective when running MailGate in milter mode)
# SMTPRcptTimeout
300
# ----------------------------------------------------------------------# Timeout, in seconds, to receive a reply to the DATA command.
# (Ineffective when running MailGate in milter mode)
# SMTPDataTimeout
120
# ----------------------------------------------------------------------# Timeout, in seconds, for sending one data block.
140
Projekt BBSF Webserver Upgrade in 2008
# (Ineffective when running MailGate in milter mode)
# SMTPDataBlockTimeout180
# ----------------------------------------------------------------------# Timeout, in seconds, to receive a reply to the final dot
# after sending the message.
# (Ineffective when running MailGate in milter mode)
# SMTPDataPeriodTimeout
600
# -----------------------------------------------------------------------# Number of forwarders running simultaneously.
# (All the forwarders are of the same class, as specified by
# the following option).
# MaxForwarders
10
# -----------------------------------------------------------------------# Select how mail should be forwarded.
# In milter mode this parameter will be used only for sending administrative
# mails.
# Send mail by piping it through sendmail (this is the default):
# ForwardTo /usr/lib/sendmail -oem -oi
ForwardTo /usr/lib/sendmail -oem -oi
# Or if you want the mail to be sent by SMTP:
# ForwardTo SMTP: localhost port 825
# -----------------------------------------------------------------------# Maximum number of attachments to scan in a single MIME mail.
# MaxAttachments
100
# -----------------------------------------------------------------------# Stop delivery of suspicious MIME mails. Occurs if MaxAttachments has
# been reached.
# BlockSuspiciousMime
NO
141
Projekt BBSF Webserver Upgrade in 2008
# -----------------------------------------------------------------------# Block mails which are coded as a fragmented message.
# "Message Fragmentation and Reassembly" (RFC2046, section 5.2.2.1).
# BlockFragmentedMessage
NO
# -----------------------------------------------------------------------# Block mails that contain an archive that
# is part of a multi volume archive.
# BlockPartialArchive
NO
# -----------------------------------------------------------------------# Block emails which have an attachment with one of the
# specified extensions in the filename.
# Each extension is separated by a semicolon.
# Note that filenames in archives are matched too, not
# only the name in the MIME header.
# E.g.: BlockExtensions
exe;scr;pif
# BlockExtensions
NO
# -----------------------------------------------------------------------# Send notifications about blocked mails to recipient(s)
# If ExposeRecipientAlerts is NO, no alerts will be sent to recipients.
# If ExposeRecipientAlerts is LOCAL, alerts to recipients will only be
# sent if the recipient is local to your domain (local: in the .acl).
# If ExposeRecipientAlerts is YES, alerts will always be sent to
# recipients.
# NOTE: LOCAL has no effect when running in milter mode
# ExposeRecipientAlerts
LOCAL
# -----------------------------------------------------------------------# Send notifications about blocked mails to the sender.
# If ExposeSenderAlerts is NO, no alerts will be sent to the sender.
# If ExposeSenderAlerts is LOCAL, alerts to the sender will only be
# sent if the sender is local to your domain (local: in the .acl).
# If ExposeSenderAlerts is YES, alerts will always be sent to
142
Projekt BBSF Webserver Upgrade in 2008
# the sender.
# NOTE: LOCAL has no effect when running in milter mode
# ExposeSenderAlerts
LOCAL
# -----------------------------------------------------------------------# Send notifications about blocked mails to the postmaster.
# ExposePostmasterAlerts
YES
# -----------------------------------------------------------------------# Sender address in notification mails.
# AlertsUser
# or
# AlertsUser
AvMailGate
AvMailGate@domainname
# -----------------------------------------------------------------------# If AddStatusInBody is NO, no status notification is inserted in
# the body of emails.
# If AddStatusInBody is YES:
# A default text will be inserted in each mail.
# If a file named body-state exists in the template subdirectory
# of the program directory, the text in this file will be inserted
# in the mail (body-state is only used due to compatibility issues).
# If AddStatusInBody is a full path to a file, the text in the given file
# will be inserted in the mail.
# AddStatusInBody
NO
# If AddStatusInBody is set, no status text will be inserted,
# if the mail is larger than MaxMessageSizeStatus.
# The size can be specified in gigabytes (GB), megabytes (MB), kilobytes (KB) or bytes.
#
# E.g. MaxMessageSizeStatus 2MB
#
# MaxMessageSizeStatus
0
# -----------------------------------------------------------------------# If ForwardAllEmailAsMIME is NO, incoming emails that are not MIME
143
Projekt BBSF Webserver Upgrade in 2008
# emails get out as they came, non-MIME.
# If ForwardAllEmailAsMIME is YES:
# The behaviour does not change for MIME emails.
# However, plain RFC mails will get a MIME header of Content-Type
# text/plain and Content-Disposition inline. The encoding is 7bit
# or 8bit depending on the original message.
# (Ineffective when running MailGate in milter mode)
# ForwardAllEmailAsMIME
NO
# -----------------------------------------------------------------------# If ScanInArchive is NO, no files in archives will be scanned.
# If ScanInArchives is YES, all files in archives will be extracted
# and scanned, depending on the restrictions given with
# ArchiveMaxSize, ArchiveMaxRecursion and ArchiveMaxRatio.
# ScanInArchive
YES
# -----------------------------------------------------------------------# If ArchiveMaxSize is 0, all files in an archive will be extracted,
# don't care of their unpacked size.
# If ArchiveMaxSize is >0, all files up to the adjusted size will be
# extracted.
# The size can be specified in gigabytes (GB), megabytes (MB), kilobytes (KB) or bytes.
# ArchiveMaxSize 0
# -----------------------------------------------------------------------# If the compression ratio is above the value specified here,
# the mail will not be scanned completely.
# If ArchiveMaxRatio is 0, the mail be scanned completely.
# ArchiveMaxRatio 150
# -----------------------------------------------------------------------# If ArchiveMaxRecursion is 0, recursive archives are going to be
# unpacked with an unlimited recursion depth.
# If ArchiveMaxRecursion is >0, recursive archives are going to be
# unpacked up to the adjusted recursion depth.
144
Projekt BBSF Webserver Upgrade in 2008
# ArchiveMaxRecursion
20
# -----------------------------------------------------------------------# If BlockSuspiciousArchive is NO, don't stop delivery of mails
# containing archives with suspicious content.
# If BlockSuspiciousArchive is YES, stop delivery of mails
# containing archives that reached the limits of ArchiveMaxRecursion,
# ArchiveMaxSize or ArchiveMaxRatio.
# BlockSuspiciousArchive
NO
# -----------------------------------------------------------------------# If BlockEncryptedArchive is NO, don't stop delivery of mails
# containing encrypted files in archives.
# If BlockEncryptedArchive is YES, stop delivery of mails
# containing encrypted files in archives.
# BlockEncryptedArchive
NO
# -----------------------------------------------------------------------# If BlockOnError is NO, don't stop delivery of mails
# containing archives that cause errors when processing them
# or that cause the scan process to timeout.
# If BlockOnError is YES, stop delivery of mails
# containing archives that cause errors when processing them
# or that cause the scan process to timeout.
# BlockOnError
NO
# -----------------------------------------------------------------------# If BlockUnsupportedArchive is NO, don't stop delivery of mails
# containing archives that can not be handled by the scanner.
# If BlockUnsupportedArchive is YES, stop delivery of mails
# containing archives that can not be handled by the scanner.
# BlockUnsupportedArchive
NO
# -----------------------------------------------------------------------145
Projekt BBSF Webserver Upgrade in 2008
# If RejectAlertMail is YES, a mail containing an alert will be rejected
# to the mail client with the message "Alert found in email".
# It will be moved to the quarantine directory depending on the setting
# QuarantineAlert.
# If RejectAlertMail is NO, mail will be accepted and moved to the
# quarantine directory.
# NOTE: this option is only available when running in milter mode
# RejectAlertMail
NO
# -----------------------------------------------------------------------# If QuarantineAlert is YES and RejectAlertMail is YES, a mail
# containing an alert will be rejected and the mail will be quarantined.
# If QuarantineAlert is NO and RejectAlertMail is YES, the mail will be
# rejected and will not be quarantined.
# NOTE: this option is only available when running in milter mode
# QuarantineAlert
YES
# -----------------------------------------------------------------------# PollPeriod specifies the periodicity, in seconds, of the queue
# scanning done by the forwarder/scanner process.
# PollPeriod
60
# -----------------------------------------------------------------------# QueueLifetime specifies the maximum time a message can stay in the
# queue before it will be bounced. (s=seconds, m=minutes, h=hours, d=days).
# 0 disables this feature.
# (Ineffective when running MailGate in milter mode)
# QueueLifetime
0
# -----------------------------------------------------------------------# ForwarderRetryDelay specifies the maximum time between retrying
# to send a queued message (s=seconds, m=minutes, h=hours, d=days).
# (Ineffective when running MailGate in milter mode)
# E.g. 30m
# - The message will not be reprocessed within the next 30 minutes.
146
Projekt BBSF Webserver Upgrade in 2008
# ForwarderRetryDelay
30m
# -----------------------------------------------------------------------# ThrottleMessageCount is only needed if you have a huge queue and you do not
# want the mails to be processed at once after starting the forwarder daemon.
# Usually you do not need this option.
# (Ineffective when running MailGate in milter mode)
# If this option and the option "ThrottleDelay" is set, only
# "ThrottleMessageCount" mails will be reprocessed at once. After reprocessing
# the mails, the forwarder daemon will sleep for "ThrottleDelay" seconds.
# After "ThrottleDelay" seconds, the daemon will process the next
# "ThrottleMessageCount" messages. This will be done until all messages
# are reprocessed.
# If the queue is empty this option will not be used anymore and throttling
# will be disabled.
# NOTE: If the queue gets filled during a throttled reprocessing of mails,
# the new mails will not be processed immediately!
# You should not accept mails while a throttled reprocessing of mails is active!
# 0 disables this feature.
# ThrottleMessageCount 0
# ----------------------------------------------------------------------# ThrottleDelay specifies the amount of seconds the forwarder daemon will
# sleep after reprocessing "ThrottleMessageCount" queued mails.
# See option "ThrottleMessageCount".
# (Ineffective when running MailGate in milter mode)
# 0 disables this feature.
# ThrottleDelay
0
# -----------------------------------------------------------------------# Sender address of bounce messages.
# (Ineffective when running MailGate in milter mode)
# BounceMessageUser
# or
# BounceMessageUser
MAILER-DAEMON
MAILER-DAEMON@domainname
147
Projekt BBSF Webserver Upgrade in 2008
# -----------------------------------------------------------------------# BounceMessageSizeBody limits the size in bytes of the body of the original
# mail in the bounce mail.
# A value of 0 means unlimited.
# (Ineffective when running MailGate in milter mode)
# BounceMessageSizeBody
0
# -----------------------------------------------------------------------# BounceMessageSizeHeader limits the size in bytes of the header of the original
# mail in the bounce mail.
# A value of 0 means unlimited.
# (Ineffective when running MailGate in milter mode)
# BounceMessageSizeHeader
0
# -----------------------------------------------------------------------# If AddXHeader is YES, information about the scanning status is added
# to the header of the checked mail. E.g.: "X-AntiVirus: checked by ..."
# AddXHeader
YES
# -----------------------------------------------------------------------# If AddReceivedByHeader is YES, a "Received:" stamp is added to
# the header of the mail.
# (Ineffective when running MailGate in milter mode)
# AddReceivedByHeader
YES
# -----------------------------------------------------------------------# Prevent mail loops. If there are more than MaxHopCount "Received:"
# lines in the header, the mail will not be accepted.
# 0 disables this feature.
# (Ineffective when running MailGate in milter mode)
# MaxHopCount
100
# -----------------------------------------------------------------------# Stop scanning if a scan takes longer than the given time in seconds.
# ScanTimeout
300
148
Projekt BBSF Webserver Upgrade in 2008
# -----------------------------------------------------------------------# Call external program or script if an alert was found. The first argument is
# the id of the rejected message.
# ExternalProgram
/dir/my_own_script
# -----------------------------------------------------------------------# Send a notification mail every day, 30 days before license will expire.
# 0 means no notification mail.
# NotifyEndOfLicense
30
# -----------------------------------------------------------------------# If AddPrecedenceHeader is YES, a line (Precedence: junk) is added to the
# header of a notification mail. If neither YES nor NO is given, the custom text
# will be inserted.
# This option causes some E-Mail-autoresponders to NOT respond
# to the received notification mail.
# AddPrecedenceHeader
NO
# -----------------------------------------------------------------------# If AddHeaderToNotice is set to YES, the header of the rejected
# mail will be appended to the postmaster notice mail.
# AddHeaderToNotice
YES
# -----------------------------------------------------------------------# The proxy feature in SAVAPI performs scans more efficiently
# by using and reusing a prepared pool of AntiVir scanners. While this
# pool increases throughput this feature requires the pool size
# to be wisely chosen -- too many scanners will put load on the
# machine without gaining more performance, too few scanners may
# have the SAVAPI using applications wait unnecessarily.
# UseProxy
NO
# -----------------------------------------------------------------------# The number of prepared AntiVir scanners in the pool.
# See option "UseProxy"
# ProxyScanners
8
149
Projekt BBSF Webserver Upgrade in 2008
# -----------------------------------------------------------------------# The maximum number of simultaneous allowed connections
# from AntiVir MailGate to the scanner pool.
# ProxyConnections
32
# -----------------------------------------------------------------------# These settings allow for the detection of certain categories of software
# which are not viruses but might not be wanted. Here is a description of
# the categories.
# ADSPY: Software that displays advertising pop-ups or software that very
#
often without the user's consent sends user specific data to
#
third parties and might therefore be unwanted.
# APPL: The term APPL/ denotes an application of dubious origin or which
#
might be hazardous to use.
# BDC: Is the Control software for backdoors. Control software for
#
backdoors are generally harmless.
# DIAL: A Dial-Up program for connections that charge a fee. Its use might
#
lead to huge costs for the user.
# GAME: It concerns a game that causes no damage on your computer.
# HEUR-DBLEXT: File has an executable file extension but hides it behind a
#
harmless one.
# JOKE: A harmless joke program is present as file.
# PCK: File has been compressed with an unusual runtime compression tool.
#
Please make sure that this file comes from a trustworthy source.
# PHISH: Faked Emails that are supposed to prompt the victim to reveal
#
confidential information such as user accounts, passwords or
#
online-banking data on certain websites.
# SPR: Software that maybe able to compromise the security of your system,
#
initiate unwanted program activities, damage your privacy or spy
#
out your user behaviour and might therefore be unwanted.
# Detection can be enabled/disabled with yes/no parameters respectively.
#DetectADSPY yes
#DetectAPPL yes
#DetectBDC yes
#DetectDIAL yes
#DetectGAME no
#DetectHEUR-DBLEXT yes
#DetectJOKE no
#DetectPCK yes
#DetectPHISH yes
#DetectSPR no
# AntiVir is capable of using heuristics to determine if a file
# may be malicious. This allows new or unknown malicious code to
# be detected before you have had a chance to perform an update.
150
Projekt BBSF Webserver Upgrade in 2008
# There are two types of heuristics that AntiVir uses. The
# first, HeuristicsMacro, only deals with macros in office
# documents. This can be disabled by commenting out the directive.
# The second, HeuristicsLevel, deals with all types of files and
# can be set to a certain level of intensity (0-3). 0 means
# disabled and 3 means full intensity.
# Note: Be aware that setting the HeuristicsLevel too high could
#
result in false alerts.
#HeuristicsMacro
#HeuristicsLevel 3
# -----------------------------------------------------------------------# Enable GUI support
GuiSupport YES
# -----------------------------------------------------------------------# Path to CA file
GuiCAFile
/usr/lib/AntiVir/gui/cert/cacert.pem
# -----------------------------------------------------------------------# Path to cert file
GuiCertFile /usr/lib/AntiVir/gui/cert/server.pem
# -----------------------------------------------------------------------# Password for certificate
GuiCertPass antivir_default
# -----------------------------------------------------------------------# Path to random file
# Do not use an endless file like /dev/random or /dev/urandom
# GuiRandFile /path/to/file
# ---------------- Spam filter ------------------------------------------# -----------------------------------------------------------------------# Check mails for spam, suspicious and dangerous content
# EnableSpamCheck NO
151
Projekt BBSF Webserver Upgrade in 2008
# -----------------------------------------------------------------------# Action for spam mails.
#
# NONE disables any action for spam mails.
#
# TAG inserts a header line into the mail:
#
X-AntiVirus-Spam-Check: spam (checked by ...)
#
# BLOCK quarantines the mail to the "rejected" directory.
#
# See MANUAL for more details.
# SpamAction
TAG
# -----------------------------------------------------------------------# Action for dangerous outbreaks.
#
# NONE disables any action for dangerous outbreaks.
#
# TAG inserts a header line into the mail:
#
X-AntiVirus-Spam-Check: dangerous outbreak (checked by ...)
#
# BLOCK quarantines the mail to the "rejected" directory.
#
# See MANUAL for more details.
# DangerousOutbreakAction
BLOCK
# -----------------------------------------------------------------------# Action for dangerous attachments.
#
# NONE disables any action for dangerous attachments.
#
# TAG inserts a header line into the mail:
#
X-AntiVirus-Spam-Check: dangerous attachment (checked by ...)
#
# BLOCK quarantines the mail to the "rejected" directory.
# DangerousAttachmentAction
TAG
# -----------------------------------------------------------------------# Action for dangerous code.
#
152
Projekt BBSF Webserver Upgrade in 2008
# NONE disables any action for dangerous code.
#
# TAG inserts a header line into the mail:
#
X-AntiVirus-Spam-Check: dangerous code base (checked by ...)
#
# BLOCK quarantines the mail to the "rejected" directory.
# DangerousCodeAction
TAG
# -----------------------------------------------------------------------# Action for dangerous iFrames.
#
# NONE disables any action for dangerous iFrames.
#
# TAG inserts a header line into the mail:
#
X-AntiVirus-Spam-Check: dangerous iframe (checked by ...)
#
# BLOCK quarantines the mail to the "rejected" directory.
# DangerousIFrameAction
TAG
# -----------------------------------------------------------------------# Action for dangerous alerts.
#
# NONE disables any action for dangerous alerts.
#
# TAG inserts a header line into the mail:
#
X-AntiVirus-Spam-Check: dangerous alert (checked by ...)
#
# BLOCK quarantines the mail to the "rejected" directory.
# DangerousAlertAction
BLOCK
# -----------------------------------------------------------------------# Action for dangerous unknown.
#
# NONE disables any action for dangerous unknown.
#
# TAG inserts a header line into the mail:
#
X-AntiVirus-Spam-Check: dangerous unknown (checked by ...)
#
# BLOCK quarantines the mail to the "rejected" directory.
# DangerousUnknownAction
TAG
153
Projekt BBSF Webserver Upgrade in 2008
# ----------------------------------------------------------------------# Path to spam filter library.
# LibAsmailgate
/usr/lib/AntiVir/libasmailgate.so
# ----------------------------------------------------------------------# Set custom X-header key instead of X-AntiVirus-Spam-Check.
# The string must conform to RFC 2822.
# The value for the custom key cannot be customized.
# SpamHeaderName
X-AntiVirus-Spam-Check
# -----------------------------------------------------------------------# Use spam filter proxy to establish only one connection for several requests
# instead of establishing a new connection for each request to the spam filter
# database servers.
# EnableSpamFilterProxy YES
# ----------------------------------------------------------------------# Count of threads to start on startup.
# SpamFilterProxyPool
2
# ----------------------------------------------------------------------# Maximum count of proxy threads to run.
# SpamFilterProxyThreadsMax
5
# ----------------------------------------------------------------------# Proxy connect retry timeout to spam filter database servers.
# SpamFilterProxyTimeout
40
# ----------------------------------------------------------------------# Maximum amount of connections to one database server.
# SpamFilterProxyConnections
2
# ----------------------------------------------------------------------# Spam filter list of exceptions for black/white lists and
154
Projekt BBSF Webserver Upgrade in 2008
# actions.
#
# See MANUAL for details about the exception file.
# SpamFilterExceptions
/etc/asmailgate.except
# ----------------------------------------------------------------------# The GTUBE test string can be used to test the integrated spam filter.
# The string and a complete RFC-822 mail can be found here:
# http://spamassassin.apache.org/gtube/
# SpamFilterDetectGTUBE
NO
# ----------------------------------------------------------------------# This option specifies how long MailGate shall wait for the external
# spam daemon to come up (in seconds).
# SpamFilterStartupTimeout
60
# ----------------------------------------------------------------------# This option specifies how long MailGate shall wait for an
# answer of a configuration request to the external
# spam filter daemon (in seconds).
# SpamFilterServiceConnectTimeout
30
# ----------------------------------------------------------------------# This option sets the maximum limit of simultaneous running
# threads of the external spam filter daemon.
# SpamFilterServiceMaxSessions
50
# ----------------------------------------------------------------------# Ignore dangerous sub categories except:
# Dangerous virus
# Dangerous outbreak
# Dangerous attachment
#
# This means that the internal spam filter will rate
# other dangerous categories as "clean".
# E. g.: dangerous iframe and dangerous code.
#
# SpamFilterDangerousSubsOff NO
155
Projekt BBSF Webserver Upgrade in 2008
# ----------------------------------------------------------------------# Times to retry to connect to database servers
# if connecting fails.
#
# SpamFilterDBRetryCounter
30
# ----------------------------------------------------------------------# Seconds to wait between connect retries.
#
# SpamFilterDBRetryLatency
10
# ----------------------------------------------------------------------# Add the spam check result to the original Subject: header line.
# (Subject: [spamcheck: spam] this is the original subject text)
# SpamFilterModifySubject
NO
# ----------------------------------------------------------------------# Set MTAPlugin to YES to support the following MTAs:
# Qmail, Courier and CommuniGate
#
# A special plugin is used to communicate with these MTAs.
# MTAPlugin
NO
# ----------------------------------------------------------------------# MTAPluginSpoolDir
#
# This option specifies the directory from which MailGate
# collects the mails received by the MTA plugin.
# If you change this option, you have to adapt the option
# 'SpoolDir' in the configuration file of the plugin to be
# the same directory you specified for 'MTAPluginSpoolDir'.
# MTAPluginSpoolDir
/var/tmp
# ----------------------------------------------------------------------# Specify the maximum number of opened files
# for the MailGate processes.
# The default value will only be set if the
# current system value is lower than the default.
156
Projekt BBSF Webserver Upgrade in 2008
# OpenMax 1024
9.6 Access Liste avmailgate.acl
# Access lists for AvMailGate
# These hosts and/or domains are local.
local: 10.0.0.2
local: 127.0.0.1
# These hosts and networks are allowed to relay.
relay: 10.0.0.2
157
Projekt BBSF Webserver Upgrade in 2008
9.7 Die Konfigurationsdatei avupdater.conf
#
# sample AntiVir Updater configuration file
#
# You can receive email notifications of updates using this
# directive. You must specify the email address to which the
# notification will be sent. There is no default value for
# this directive.
EmailTo [email protected]
# Update activity may also be logged to a specified file
# (in addition to syslog). You must specify the file. There
# is no default value for this directive.
LogTo /var/log/avupdater.log
# New engine and data files can be automatically
# updated via the internet. Please use only one of the
# following options as the last one will be taken. You
# can choose to have the automatic updates be every 2 hours
# or once a day. If neither directive is given, the
# automatic internet updater will be disabled.
# Note: Internet updates can also be done manually using
#
the --update parameter with the command line
#
scanner.
AutoUpdateEvery2Hours
#AutoUpdateDaily
# If automatic updates are done daily, you can specify
# at what time of day the updates should be done.
#AutoUpdateTime 4:23
# If your machine uses an HTTP proxy server, you must
# specify the proxy configuration settings in order to
# make internet updates.
HTTPProxyServer 10.1.0.1
HTTPProxyPort 8080
HTTPProxyUsername super
HTTPProxyPassword antivir
# Regardless of the above configuration settings, AntiVir
# will always log important information using syslog. It
# is possible to specify which syslog facility and
# priority you would like AntiVir to use. If not given,
# default values are facility:user priority:notice.
SyslogFacility user
SyslogPriority notice
158
Projekt BBSF Webserver Upgrade in 2008
# AntiVir supports GnuPG (http://www.gnupg.org) in order
# to verify the authenticity of internet update files.
# In order for the updater to utilize GnuPG, it must know
# where the executable is located. If you choose to take
# advantage of GnuPG, be aware that all updates will fail
# until the AntiVir public key (antivir.gpg) has been
# added to your keyring and signed.
#GnuPGBinary /usr/local/bin/gpg
# If you are utilizing GnuPG, you may also specify
# options that your particular setup might need.
# Normally no options are required.
#GnuPGOptions
# By default the updater drops the new software right into place.
# Should you wish to keep previous versions of the replaced files
# then activate this option. When enabled the old versions will
# be kept inside "updater-backup-YYYYmmdd-HHMMSS" subdirectories.
# Note: You may need to schedule cleanup jobs when using this
#
feature so that your disk does not fill up.
#UpdaterKeepsBackups
159
Projekt BBSF Webserver Upgrade in 2008
9.8 Die Konfigurationsdatei apcupsd.conf für die USV
## apcupsd.conf v1.1 ##
#
# for apcupsd release 3.14.2 (15 September 2007) - redhat
#
# "apcupsd" POSIX config file
#
# ========= General configuration parameters ============
#
# UPSNAME xxx
# Use this to give your UPS a name in log files and such. This
# is particulary useful if you have multiple UPSes. This does not
# set the EEPROM. It should be 8 characters or less.
#UPSNAME
# UPSCABLE <cable>
# Defines the type of cable connecting the UPS to your computer.
#
# Possible generic choices for <cable> are:
# simple, smart, ether, usb
#
# Or a specific cable model number may be used:
# 940-0119A, 940-0127A, 940-0128A, 940-0020B,
# 940-0020C, 940-0023A, 940-0024B, 940-0024C,
# 940-1524C, 940-0024G, 940-0095A, 940-0095B,
# 940-0095C, M-04-02-2000
#
UPSCABLE 940-0024C
# To get apcupsd to work, in addition to defining the cable
# above, you must also define a UPSTYPE, which corresponds to
# the type of UPS you have (see the Description for more details).
# You must also specify a DEVICE, sometimes referred to as a port.
# For USB UPSes, please leave the DEVICE directive blank. For
# other UPS types, you must specify an appropriate port or address.
#
# UPSTYPE DEVICE
Description
# apcsmart /dev/tty**
Newer serial character device,
#
appropriate for SmartUPS models using
#
a serial cable (not USB).
#
# usb
<BLANK>
Most new UPSes are USB. A blank DEVICE
#
setting enables autodetection, which is
#
the best choice for most installations.
160
Projekt BBSF Webserver Upgrade in 2008
#
# net
hostname:port Network link to a master apcupsd
#
through apcupsd's Network Information
#
Server. This is used if you don't have
#
a UPS directly connected to your computer.
#
# snmp
hostname:port:vendor:community
#
SNMP Network link to an SNMP-enabled
#
UPS device. Vendor is the MIB used by
#
the UPS device: can be "APC", "APC_NOTRAP"
#
or "RFC" where APC is the powernet MIB,
#
"APC_NOTRAP" is powernet with SNMP trap
#
catching disabled, and RFC is the IETF's
#
rfc1628 UPS-MIB. You usually want "APC".
#
Port is usually 161. Community is usually
#
"private".
#
# dumb
/dev/tty**
Old serial character device for use
#
with simple-signaling UPSes.
#
# pcnet ipaddr:username:passphrase
#
PowerChute Network Shutdown protocol
#
which can be used as an alternative to SNMP
#
with AP9617 family of smart slot cards.
#
ipaddr is the IP address of the UPS mgmt
#
card. username and passphrase are the
#
credentials for which the card has been
#
configured.
#
UPSTYPE apcsmart
DEVICE /dev/ttyS0
# LOCKFILE <path to lockfile>
# Path for device lock file. Not used on Win32.
LOCKFILE /var/lock
# SCRIPTDIR <path to script directory>
# Directory in which apccontrol and event scripts are located.
SCRIPTDIR /etc/apcupsd
# PWRFAILDIR <path to powerfail directory>
# Directory in which to write the powerfail flag file. This file
# is created when apcupsd initiates a system shutdown and is
# checked in the OS halt scripts to determine if a killpower
# (turning off UPS output power) is required.
PWRFAILDIR /etc/apcupsd
161
Projekt BBSF Webserver Upgrade in 2008
# NOLOGINDIR <path to nologin directory>
# Directory in which to write the nologin file. The existence
# of this flag file tells the OS to disallow new logins.
NOLOGINDIR /etc
#
# ======== Configuration parameters used during power failures ==========
#
# The ONBATTERYDELAY is the time in seconds from when a power failure
# is detected until we react to it with an onbattery event.
#
# This means that, apccontrol will be called with the powerout argument
# immediately when a power failure is detected. However, the
# onbattery argument is passed to apccontrol only after the
# ONBATTERYDELAY time. If you don't want to be annoyed by short
# powerfailures, make sure that apccontrol powerout does nothing
# i.e. comment out the wall.
ONBATTERYDELAY 6
#
# Note: BATTERYLEVEL, MINUTES, and TIMEOUT work in conjunction, so
# the first that occurs will cause the initation of a shutdown.
#
# If during a power failure, the remaining battery percentage
# (as reported by the UPS) is below or equal to BATTERYLEVEL,
# apcupsd will initiate a system shutdown.
BATTERYLEVEL 5
# If during a power failure, the remaining runtime in minutes
# (as calculated internally by the UPS) is below or equal to MINUTES,
# apcupsd, will initiate a system shutdown.
MINUTES 3
# If during a power failure, the UPS has run on batteries for TIMEOUT
# many seconds or longer, apcupsd will initiate a system shutdown.
# A value of 0 disables this timer.
#
# Note, if you have a Smart UPS, you will most likely want to disable
# this timer by setting it to zero. That way, you UPS will continue
# on batteries until either the % charge remaing drops to or below BATTERYLEVEL,
# or the remaining battery runtime drops to or below MINUTES. Of course,
# if you are testing, setting this to 60 causes a quick system shutdown
# if you pull the power plug.
# If you have an older dumb UPS, you will want to set this to less than
# the time you know you can run on batteries.
162
Projekt BBSF Webserver Upgrade in 2008
TIMEOUT 180
# Time in seconds between annoying users to signoff prior to
# system shutdown. 0 disables.
ANNOY 300
# Initial delay after power failure before warning users to get
# off the system.
ANNOYDELAY 60
# The condition which determines when users are prevented from
# logging in during a power failure.
# NOLOGON <string> [ disable | timeout | percent | minutes | always ]
NOLOGON disable
# If KILLDELAY is non-zero, apcupsd will continue running after a
# shutdown has been requested, and after the specified time in
# seconds attempt to kill the power. This is for use on systems
# where apcupsd cannot regain control after a shutdown.
# KILLDELAY <seconds> 0 disables
KILLDELAY 0
#
# ==== Configuration statements for Network Information Server ====
#
# NETSERVER [ on | off ] on enables, off disables the network
# information server. If netstatus is on, a network information
# server process will be started for serving the STATUS and
# EVENT data over the network (used by CGI programs).
NETSERVER on
# NISIP <dotted notation ip address>
# IP address on which NIS server will listen for incoming connections.
# This is useful if your server is multi-homed (has more than one
# network interface and IP address). Default value is 0.0.0.0 which
# means any incoming request will be serviced. Alternatively, you can
# configure this setting to any specific IP address of your server and
# NIS will listen for connections only on that interface. Use the
# loopback address (127.0.0.1) to accept connections only from the
# local machine.
NISIP 0.0.0.0
# NISPORT <port> default is 3551 as registered with the IANA
# port to use for sending STATUS and EVENTS data over the network.
# It is not used unless NETSERVER is on. If you change this port,
# you will need to change the corresponding value in the cgi directory
# and rebuild the cgi programs.
163
Projekt BBSF Webserver Upgrade in 2008
NISPORT 3551
# If you want the last few EVENTS to be available over the network
# by the network information server, you must define an EVENTSFILE.
EVENTSFILE /var/log/apcupsd.events
# EVENTSFILEMAX <kilobytes>
# By default, the size of the EVENTSFILE will be not be allowed to exceed
# 10 kilobytes. When the file grows beyond this limit, older EVENTS will
# be removed from the beginning of the file (first in first out). The
# parameter EVENTSFILEMAX can be set to a different kilobyte value, or set
# to zero to allow the EVENTSFILE to grow without limit.
EVENTSFILEMAX 10
#
# ========== Configuration statements used if sharing =============
#
a UPS with more than one machine
# NETTIME <int>
# Interval (in seconds) at which the NIS client polls the server.
# Used only when this apcupsd is a network client (UPSTYPE net).
#NETTIME 60
#
# Remaining items are for ShareUPS (APC expansion card) ONLY
#
# UPSCLASS [ standalone | shareslave | sharemaster ]
# Normally standalone unless you share an UPS using an APC ShareUPS
# card.
UPSCLASS standalone
# UPSMODE [ disable | share ]
# Normally disable unless you share an UPS using an APC ShareUPS card.
UPSMODE disable
#
# ===== Configuration statements to control apcupsd system logging ========
#
# Time interval in seconds between writing the STATUS file; 0 disables
STATTIME 0
# Location of STATUS file (written to only if STATTIME is non-zero)
STATFILE /var/log/apcupsd.status
# LOGSTATS [ on | off ] on enables, off disables
# Note! This generates a lot of output, so if
164
Projekt BBSF Webserver Upgrade in 2008
#
you turn this on, be sure that the
#
file defined in syslog.conf for LOG_NOTICE is a named pipe.
# You probably do not want this on.
LOGSTATS off
# Time interval in seconds between writing the DATA records to
# the log file. 0 disables.
DATATIME 0
# FACILITY defines the logging facility (class) for logging to syslog.
#
If not specified, it defaults to "daemon". This is useful
#
if you want to separate the data logged by apcupsd from other
#
programs.
#FACILITY DAEMON
#
# ========== Configuration statements used in updating the UPS EPROM =========
#
#
# These statements are used only by apctest when choosing "Set EEPROM with conf
# file values" from the EEPROM menu. THESE STATEMENTS HAVE NO EFFECT ON
APCUPSD.
#
# UPS name, max 8 characters
#UPSNAME UPS_IDEN
# Battery date - 8 characters
#BATTDATE mm/dd/yy
# Sensitivity to line voltage quality (H cause faster transfer to batteries)
# SENSITIVITY H M L
(default = H)
#SENSITIVITY H
# UPS delay after power return (seconds)
# WAKEUP 000 060 180 300 (default = 0)
#WAKEUP 60
# UPS Grace period after request to power off (seconds)
# SLEEP 020 180 300 600 (default = 20)
#SLEEP 180
# Low line voltage causing transfer to batteries
# The permitted values depend on your model as defined by last letter
# of FIRMWARE or APCMODEL. Some representative values are:
# D 106 103 100 097
# M 177 172 168 182
165
Projekt BBSF Webserver Upgrade in 2008
# A 092 090 088 086
# I 208 204 200 196
#LOTRANSFER 208
(default = 0 => not valid)
# High line voltage causing transfer to batteries
# The permitted values depend on your model as defined by last letter
# of FIRMWARE or APCMODEL. Some representative values are:
# D 127 130 133 136
# M 229 234 239 224
# A 108 110 112 114
# I 253 257 261 265 (default = 0 => not valid)
#HITRANSFER 253
# Battery charge needed to restore power
# RETURNCHARGE 00 15 50 90 (default = 15)
#RETURNCHARGE 15
# Alarm delay
# 0 = zero delay after pwr fail, T = power fail + 30 sec, L = low battery, N = never
# BEEPSTATE 0 T L N
(default = 0)
#BEEPSTATE T
# Low battery warning delay in minutes
# LOWBATT 02 05 07 10
(default = 02)
#LOWBATT 2
# UPS Output voltage when running on batteries
# The permitted values depend on your model as defined by last letter
# of FIRMWARE or APCMODEL. Some representative values are:
# D 115
# M 208
# A 100
# I 230 240 220 225 (default = 0 => not valid)
#OUTPUTVOLTS 230
# Self test interval in hours 336=2 weeks, 168=1 week, ON=at power on
# SELFTEST 336 168 ON OFF (default = 336)
#SELFTEST 336
166
Projekt BBSF Webserver Upgrade in 2008
9.9 Die UPS hosts.conf
# Network UPS Tools - hosts.conf
#
# This file does double duty - it lists the systems that multimon will
# monitor, and also specifies the systems that upsstats is allowed to
# watch. It keeps people from feeding random addresses to upsstats,
# among other things. upsimage also uses this file to know who it
# may speak to. upsfstats too.
#
# Usage: list systems running upsd that you want to monitor
#
# MONITOR <address> "<host description>"
#
# Please note, MONITOR must start in column 1 (no spaces permitted)
#
# Example:
# MONITOR 10.64.1.1 "Finance department"
# MONITOR 10.78.1.1 "Sierra High School data room #1"
#
MONITOR 127.0.0.1 "Local Host"
167
Projekt BBSF Webserver Upgrade in 2008
10 Das Tagebuch
18.02.2008
Zunächst suchten wir uns einen Raum, in dem wir ungestört arbeiten konnten. Ein Server
wurde uns zur Verfügung gestellt, auf dem wir den Webserver installieren und
konfigurieren sollten. Es fehlten jedoch noch die zwei SATA Festplatten und ein SATAController, da das Motherboard nur IDE und SCSI Schnittstellen bot. Diese wurden aber
schon von Herrn Linnemann bestellt. Zusätzlich besorgten wir uns noch einen zweiten
Rechner, auf dem wir zunächst verschiedenes ausprobieren konnten ohne die noch
folgende Installation auf dem Server zu gefährden. Wir setzten diesen also mit Fedora 8
auf und installierten auch den Webserver Apache, Mailserver Sendmail usw. Als nächstes
luden wir uns die neusten Versionen der geforderten Programme aus dem Internet wie
z.B. Webmin, Zope, ZMS usw. herunter.
Diese Software zu installieren war schwieriger als erwartet, da sie zum größten Teil nur im
Source-Code vorhanden war. Unsere Aufgabe bestand jetzt darin herauszufinden, welche
Software Pakete vorab installiert werden mussten, damit die Installation funktioniert. Wir
vermuteten, dass Zope das C++ Paket benötigt.
20.02.2008
Die Bestellung war angekommen. Wir bekamen die beiden S-ATA 320GB Festplatten und
den SATA-Controller (SATA300 TX2plus). Also begannen wir damit, die Hardware in den
Server einzubauen. Unnötige Datenkabel und Festplatten wurden zunächst demontiert.
Nach längerem Schrauben nahmen wir dann den Server in Betrieb, um zu sehen, ob die
Festplatten auch richtig erkannt wurden. Nach ein paar Einstellungen im BIOS wurden die
Platten einwandfrei erkannt. Wir gingen zum nächsten Schritt über: die Festplatten unter
der Installationsroutine von Fedora in RAID 1 zu bekommen. Wir wählten Software-RAID
aus und begannen mit der Installation. Dies nahm einige Zeit in Anspruch. Nach dem
bekannten Neustart startete Fedora nicht von selbst. Der Bootloader wurde nicht
gefunden. Durch Hilfe von Herrn Appenzeller schafften wir es aber doch noch über die
Kommandozeile, nachträglich den richtigen Pfad zum Bootloader herzustellen. Der Server
startete dann mit Fedora in RAID 1.
25.02.2008
Um das frisch installierte Betriebssystem auf dem Server nicht zu gefährden,
entschlossen wir uns, an unserem schon aufgesetzten Desktop PC weiter zu arbeiten.
Wir versuchten also, wieder Zope-2.10.5-final zu installieren. Wir fanden heraus, dass
diese Version nur mit Python-2.4.3 oder optimaler mit Python-2.4.4 zu installieren ist.
Unter Fedora 8 läuft zwar bereits Python-2.5.1-15, diese ist aber inkompatibel zu dem
Zope Programm. Trotz der optimalen Python Version bekamen wir bei dem Versuch, Zope
zu installieren, immer noch Fehlermeldungen. Fehlten noch zusätzliche Pakete? Hatten
wir das richtige Verzeichnis gewählt? Wir suchten im Internet nach Antworten. Wir fanden
zwar einige nützliche Seiten, aber diese halfen leider nicht wirklich weiter. Wir
168
Projekt BBSF Webserver Upgrade in 2008
entschlossen uns daher einige Bücher zu kaufen, um das Problem hoffentlich dann in den
Griff zu bekommen.
Zumindest Webmin bekamen wir heute installiert, da es auch ein rpm-Paket war.
27.02.2008
Wieder versuchten wir, Zope zu installieren und recherchierten weiter im Internet. Wir
schienen es kurzzeitig geschafft zu haben, doch diesen Vorgang zu wiederholen blieb
erfolglos. Nach längerer Suche nach den Gründen, entschieden wir uns für eine komplette
Neuinstallation des Betriebssystems. Um in Zukunft Zeit zu sparen, machten wir diesmal
aber ein Backup vom System. Innerhalb von 10 Minuten kann damit das System
wiederhergestellt werden.
28.02.2008
Wir installierten auf unseren privaten Notebooks auch Fedora 8 mit den geforderten
Programmen zum Projekt. Dies ermöglichte uns, auch zu Hause weiter an unserem
Projekt zu arbeiten.
03.03.2008
Die bestellten Bücher waren angekommen. Voller Hoffnung lasen wir uns das Kapitel
durch, in dem die Installation von Zope beschrieben wurde. Die ernüchternde Erkenntnis
war, dass hier ältere Zope und Python Versionen behandelt wurden und deren Installation
mit einem eigens zusammengestellten Script durchgeführt werden kann. Die manuelle
Installation wurde nicht beschrieben. Dennoch erfuhren wir einige wichtige Details über
Zope und fanden heraus, wie man einen Nutzer erstellt und dass einige Rechte eingestellt
werden müssen, bevor man Zope überhaupt starten kann. Somit gelang uns der Start des
Webservers, mit dem wir uns nun vertraut machten.
Unsere nächste Hürde war es, das Content Management System ZMS in Zope zu
integrieren.
05.03.2008
An diesem Tag bekamen wir die aus Zope exportierte Webseite der BBS-Friedenstraße,
welche wir erfolgreich in Zope importieren konnten.
Wir organisierten uns von Herrn Schollenberger Fachliteratur über ZMS, um mehr über
dieses Produkt zu erfahren. Nachdem wir wiederum einige Rechte angepasst hatten,
gelang uns die Installation von ZMS. Dies war jedoch nicht auf Anhieb erkennbar, da wir
nicht wussten, wo ZMS im Webinterface ersichtlich und aufzurufen ist. Nach längerer Zeit
fanden wir es dann. Wir wollten die BBS Seite mit ZMS aufrufen, was nur mit
Einschränkungen gelang, die Seite wurde mit Fehlern angezeigt. Bilder waren nicht
vorhanden und die Texte durcheinander geraten. Die große Frage war jetzt, woran dies
liegen konnte. Wir nahmen uns vor, das alte System nachzustellen, um so mögliche
169
Projekt BBSF Webserver Upgrade in 2008
Fehlerquellen herauszufinden. Die dazu benötigten Programmversionen luden wir aus
dem Internet herunter, jedoch konnten wir ältere ZMS Versionen nicht finden.
07.03.2008
Durch längerer Internetrecherche entdeckten wir die Hoffmann+Liebenberg Homepage,
wo ältere Versionen von ZMS zu bekommen sind. Wir probierten einige davon aus und
bekamen nur bis zur Version 2.10.1-34 die Webseite der BBS richtig angezeigt. Wir
erfuhren auch durch die Kommentare bei den verschiedenen Downloads, dass das
Template22, worauf die BBS Seite aufgebaut ist, ab der Version 2.10.3-23
herausgenommen wurde.
10.03.2008
Da die Seite der BBS jetzt fehlerfrei angezeigt wurde, begannen wir nun damit, die
Weiterleitung von Apache nach Zope zu realisieren. Vorgänger hatten die Weiterleitung mit
dem CGI Verfahren durchgeführt. Unsere Aufgabe bestand darin, die Weiterleitung mit
dem rewrite Verfahren zu ermöglichen. Durch intensive Internet- und Fachbuchrecherche
konnten wir in der httpd.conf einige Einträge vornehmen, bis schließlich die Anfragen auf
den Zope Webserver weitergeleitet wurden.
12.03.2008
Ferien? Nicht heute...
Wir trafen uns heute mit dem Projektteam P3, um herauszufinden, ob die Portal-Webseite
auf unserem Webserver integriert werden kann. Da die Seite mit einer SQL-Datenbank
arbeitet, musste diese erst einmal mit Webmin eingerichtet werden. Die Portal- Seite, die
in php geschrieben ist, kann in Zope nicht importiert werden, da Zope seine eigene
Struktur hat. Wir mussten also einen Weg finden, wie das Portal über Apache angezeigt
werden kann. Da alle Anfragen zum Zope Webserver weitergeleitet werden, war unsere
erste Lösung, einen Link in die BBS Seite zu bauen, wo dann über das Filesystem die
Seite angesprochen werden kann. Die Seite wurde also im www Ordner von Apache
abgelegt und dort mit einem Link aufgerufen. Die eigentliche Aufgabe war jedoch, das
Portal mit der Adresse www.bbs.fh-wilhelmshaven.de/portal aufrufen zu können. Ob wir es
bei dem Link belassen können, oder ob es eine andere Lösung gibt wie z.B. Ausnahmen
in der Weiterleitung zu erzeugen, muss mit Herrn Appenzeller nach den Ferien abgeklärt
werden.
28.03.2008
Das Portal und die Wetter-Seite sollen durch www.bbs.fh-wilhelmshaven.de/portal bzw.
www.bbs.fh-wilhelmshaven/wetter aufgerufen werden. Wir mussten also Ausnahmen
erzeugen für die beiden genannten Seiten, damit diese nicht weitergeleitet, sondern nur
vom Apache Webserver geholt werden. Durch Anpassen mit RewriteCond in der Apache
170
Projekt BBSF Webserver Upgrade in 2008
Konfigurationsdatei httpd.conf gelang uns das auch.
Als nächstes machten wir uns auf die Suche nach einem Start-Script für Zope, damit der
Webserver auch beim Neustart automatisch mit gestartet wird. Wir fanden die zopectl
Datei, die auch die start, stop und restart Kommandos kennt.
31.03.2008
Da bislang alle Aufgaben bezüglich des Webservers erledigt waren, widmeten wir uns nun
dem Mail-Relay. Dieses soll mit dem gefürchteten Programm Sendmail realisiert werden.
Wir nahmen uns also erst einmal Zeit, um zu verstehen, wie das Programm überhaupt
aufgebaut ist. Als wir den groben Ablauf verstanden hatten, übernahmen wir die Einträge
von dem aktiven Webserver und trugen diese mit Hilfe von Webmin ein. Danach
versuchten wir herauszubekommen, wie wir die Mail-Weiterleitung testen könnten und
starteten einige Test Versuche.
01.04.2008
Wir beschäftigten uns heute weiter mit dem Sendmail als Mail-Relay. Die Versuche, den
bestehenden Aufbau zu simulieren mit dem Mail-Relay und einem zusätzlich zu
realisierenden Mailserver, blieben erst einmal erfolglos und verschlangen zu viel Zeit. Wir
beschlossen daher, uns dem nächsten noch anstehenden Punkten zu widmen.
02.04.2008
Am heutigen Tag sollen die WYSIWYG-Editoren EPOZ und XStandard in ZMS
eingebunden werden. Wir machten uns also wieder im Internet auf die Suche, um die
entsprechenden Pakete herunter zu laden. Wir fanden aber nur ansatzweise heraus, wie
diese Editoren installiert werden, geschweige denn wie sie auszusehen haben.
03.04.2008
Wir suchten uns Rat bei Herrn Linnemann, der aber auch nicht wusste, wo die Editoren
auf dem schon bestehenden Webserver zu finden sind. Wir gingen gemeinsam die Zope
und ZMS Oberfläche ab, um irgendwelche Anhaltspunkte zu finden. Es war jedoch nichts
zu erkennen. Wir gaben aber nicht auf und durchsuchten das Dateisystem, um zumindest
den Pfad herauszufinden, wo die Dateien für die Installation überhaupt abliegen müssen,
damit wir sie installiert bekamen. Irgendwann stießen wir auf der ZMS Oberfläche auf den
Kartei Reiter „spezielle Objekte“ und fanden heraus, wie wir die Editoren importieren
konnten. Das Importieren war erfolgreich, doch wo waren jetzt die Editoren? Nach
längerer Suche sowie Internetrecherche fanden wir sie dann ganz unscheinbar unter
vielen anderen Punkten in einem Pulldown-Menu.
171
Projekt BBSF Webserver Upgrade in 2008
07.04.2008
Da wir schon einen Großteil der Ziele erreicht hatten, begannen wir, die gewonnenen
Erkenntnisse am Server umzusetzen. Es funktionierte alles wunderbar. Danach
beschäftigten wir uns mit Avira-Milter, was noch in Sendmail eingebunden werden musste.
09.04.2008
Wir erfuhren, dass AntiVir Milter nicht mehr als eigenständiges Programm zu bekommen
ist. Die Milter Funktion ist aber im AntiVir-Mail-Gate enthalten und kann durch Anpassen
der Konfigurationsdateien aktiviert werden. Nach ausgiebiger Buch- und Internetrecherche
starteten wir einige Versuche. Die Installation fand wieder ausschließlich auf der Konsole
statt. Durch ein Installationsscript war dies auch relativ schnell geschafft. Schwieriger war
die Aktivierung der Milter Funktionalität. Hier mussten wir einige Zeilen in der
avmailgate.conf und sendmail.mc Datei eintragen. Weiter musste die Datei sendmail.cf
erzeugt werden, damit Sendmail in den Milter-Modus geht.
14.04.2008
Wir beschäftigten uns heute mit der Dokumentation.
16.04.08
Heute suchten wir nach einer Möglichkeit, die Funktion von AVMailGate zu testen. Die
Schwierigkeit lag darin, uns selbst eine Mail zu senden, da wir mit der Materie nicht so
stark vertraut waren. Nach einigen Versuchen über die Konsole und später über Sendmail
tasteten wir uns langsam aber sicher heran und fanden eine Möglichkeit. Die Überprüfung
gelang aber nicht auf Anhieb, wir mussten AVMailGate öfter installieren, damit es
reibungslos funktionieren konnte. Als nächstes überprüften wir, ob der EICAR Virus
erkannt und in den Quarantäne Ordner verschoben wird.
21.04.08
Wir fanden durch Migration der BBS Seite in immer neuere ZMS-Versionen heraus, dass
die Seite bis zur Version 2.10.2-15 noch fehlerfrei angezeigt wurde. Ab der Version 2.10.3
konnte die Seite nicht komplett richtig dargestellt werden, problematisch war die
Darstellung der Hintergrundfarbe der Tabellen. Dies erstreckte sich bis zu der letzten ZMS
2.10.5-x Version. Ab der Version 2.11.0 funktionierte gar nichts mehr. Wir machten also
einen Termin bei Herrn Wendisch, um eine Möglichkeit zu finden, die Hintergrundfarbe zu
bearbeiten.
172
Projekt BBSF Webserver Upgrade in 2008
23.04.08
Herr Wendisch gab uns eine kurze Einweisung in ZMS, konnte uns aber bis auf die
Farbeinstellungen in der CSS Datei keine weiteren Möglichkeiten nennen. Wir verglichen
also die Datei, wo alle Farben festgelegt sind, mit der Datei einer funktionsfähigen ZMS
Version. Leider mussten wir feststellen, dass diese exakt identisch waren. Die TabellenHintergrundfarbe ist vorgegeben und kann scheinbar nicht verändert werden. Dies ist ein
Versions Problem der ZMS Reihe: In der Bearbeitung wird die Hintergrundfarbe richtig
dargestellt, nur in der Live-Ansicht fällt dieser Fehler auf. Wir klärten diese Problem mit
Herrn Appenzeller ab und einigten uns darauf, die letzte als funktionierende ZMS-Version
zu installieren und unsere Versuche und evtl. erforderliche Versionssprünge zu
dokumentieren.
28.04.08
Heute überprüften wir mit der ZMS-Version 2.10.2-15 alle Seiten der BBS, um sicher zu
gehen, dass alles fehlerfrei angezeigt wird. Im Anschluss erweiterten wir unsere
Dokumentation.
30.04.08
Der nächste Punkt auf unserer Liste war, die USV Anbindung softwaremäßig vorzusehen.
Wir besorgten uns also von Herrn Linnemann eine UPS APC-Smart 1000 und studierten
das Handbuch. Für die Überwachung schlossen wir die USV mit einem seriellen Kabel
vom Hersteller an den Server an. Während die USV erstmal aufgeladen wurde, schauten
wir im Internet nach möglicher Software für die Überwachung. Wir entschieden uns für das
Paket apcupsd-cgi-3.14.2-1.fc8.i386, was einfach über den Paketmanager installiert
werden konnte. Hinterher machten wir uns mit der Konfigurationsdatei vertraut und
passten sie an.
05.05.08
Heute nahmen wir uns die Zeit für einen simulierten Stromausfall. Die USV ist vollständig
aufgeladen. Wir bereiteten also alles für den Test vor und nahmen die USV vom
Stromnetz. Es erschien wie erwartet eine Warnung auf dem Bildschirm. Dies funktionierte
also schon. Wir wollten aber mehr und stellten den Agenten apcupsd so ein, dass er 1
Minute nach erfolgtem Stromausfall den Rechner sicher herunterfahren soll. Nach
längerem Suchen in der auf Neudeutsch vorhandenen Konfigurationsdatei, hat auch
dieses ohne nennenswerte Probleme funktioniert. Es ist nur wichtig, das richtige serielle
Kabel zu verwenden und dieses auch dem Agenten bekannt zu machen. Auch die
grafische Oberfläche, die zur Überwachung dienen sollte, wurde nach ein paar Anläufen
erfolgreich installiert und geprüft.
173
Projekt BBSF Webserver Upgrade in 2008
07.05.08
Heute erstellten wir einen Plan, wie wir am besten die Übernahme des Produktionsservers
realisieren könnten. Gleich die Festplatten zu tauschen, wäre zu riskant. Wir übernahmen
also alle seine Werte und einigten uns für den Tag X auf den Termin 14.05.08 am späteren
Nachmittag. Des weiteren installierten wir die noch fehlenden Programme und gingen
nochmal alle Konfigurationen der bereits installierten Programme durch.
14.05.08
Unser Ziel für heute war es, den bestehenden Produktionsserver durch unseren
abzulösen. Wir importierten ein frisches Backup von der Schulwebseite auf unseren
Webserver und bereiteten alles für den Transport zum Server-Raum vor. Gegen Mittag
bauten wir zusammen mit Herrn Appenzeller und Herrn Linnemann den Webserver auf
und schlossen ihn ans Schulnetz an. Der Schulserver wurde für die Testphase vom Netz
genommen. Nachdem die Netzwerkeinstellungen angepasst und ein Eintrag zur
Namensauflösung in die hosts-Datei nachgetragen wurde, war die Webseite der Schule
wieder online.
Jedoch funktionierte die Mailweiterleitung nicht. Von der Fachhochschule kamen keine EMails an. Nach mehreren Tests und Abgleichen der Konfigurationen fiel dann
überraschend unser Server aus. Er ließ sich nicht wieder starten. Enttäuscht brachen wir
gezwungenermaßen den Test ab. Nach einer kurzen Abkühlungsphase gelang es uns, den
Server wieder zu starten. Wir einigten uns aber darauf, Montag weiter an einer Lösung zu
arbeiten.
19.05.08
Da Herr Appenzeller erkrankt war, sollten wir zunächst die Dokumentation unserer
bisherigen Ergebnisse abschließen.
174

Documents pareils