174
Projektdokumentation Webserver BBSF Upgrade vom 18.02.2008 – 19.05.2008 von Karsten Onken und Mario Hollwurtel

Webserver BBSF Upgrade - Wilhelmshaven: Startseitebbsf.bbs-wilhelmshaven.de/fileadmin/user_upload/bbs2/Projekte/... · Projekt BBSF Webserver Upgrade in 2008 5.7.1 Wo finde ich was.....77

Embed Size (px)

Citation preview

Projektdokumentation

Webserver BBSF Upgradevom

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 18.02.2008Projektschluss 19.05.2008

Projektleiter Herr AppenzellerAnsprechpartner 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:

Motherboard ASUS CUV4X-DLS Rev 1.032x 1GHz Pentium III2x 512MB SDR RAM 133 MHz2x Western Digital 320GB SATA Festplatten2x SCSI Controller Schnittstelle onboardRedundantes Netzteil

Software:

IST SOLL / NEUFedora Core 2 Fedora Core 8Zope 2.7.4-0 Zope 2.10.5-finalPython 2.3.3 Python 2.4.4ZMS 2.9.4-14 ZMS 2.10.2-15Webmin 1.200 Webmin 1.400Avira Mailgate Avira Mailgate 2.1.3-2Apache 2.0.51 Apache 2.2.8Sendmail 8.12.11 Sendmail 8.14.2

9

Abbildung 1: Der Server

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.

11

Abbildung 2: Linux-RAID

Projekt BBSF Webserver Upgrade in 2008

2.3 Zusätzliche InstallationsanweisungenDesktopumgebungen: Nur KDE

Anwendungen: schreiben und publizieren

Softwareentwicklung: EntwicklungstoolsEntwicklungsbibliothekWeb-Entwicklung

Server: FTP-ServerMail-ServerMySQL-ServerWeb-ServerServer-Konfigurationstools

Basissystem: Systemtools

12

Abbildung 3: SATA Gerät A

Abbildung 4: SATA Gerät B

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.

13

Abbildung 5: Webmin

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.

14

Abbildung 6: Zope Aufbau

Client

Client

ZopeKern

ZServer

Zobjekt-Datenbank(ZODB)

ZClasses

Produkte

Web Server

Datei-System

relationaleDatenbank(RDBMS)

ZOPE

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-Rewrite-Modul 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.pyPlease choose a directory in which you'd like to installZope "instance home" files such as database files, configurationfiles, etc.

Directory: /opt/instancePlease choose a username and password for the initial user.These will be the credentials you use to initially manageyour new Zope instance.

Username: zopePassword: *******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 (Gruppe zope)[root@relais~]# chmod 775 /opt/instance/var (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=5232Wenn alles geklappt hat, kann das Zope Management Interface mit

16

Projekt BBSF Webserver Upgrade in 2008

http://localhost:8080/manage im Internetbrowser aufgerufen werden.

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 ->System-Start und Stop.

17

Abbildung 7: Zope Anmeldung

Abbildung 8: ZMI

Projekt BBSF Webserver Upgrade in 2008

3.3 ZMSZms 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 Seitehttp://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/libchmod 775 /opt/Zope-2.10/lib/pythonchmod 775 /opt/Zope-2.10/lib/python/Productschmod -R 775 /opt/Zope-2.10/lib/python/Products/zmschmod 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 Seiten fehlerfrei2.10.2-15 Letzte fehlerfrei funktionierende ZMS-Version von der 2.10.2-x Reihe.2.10.3-01 Seiten fehlerhaft „Site Error“2.10.3-18 Wichtige Sprung Version. Seite fehlerhaft „Site Error“2.10.4-01 Seiten fehlerhaft „Site Error“2.10.4-20 Fehlerhafte Seiten2.10.4-34 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.

2.11.0 Seite wird nicht richtig migriert. „Site Error“

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#182. Step: 2.11.03. 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.

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

Abbildung 9: Webseiten importieren

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.

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

Abbildung 10: BBSFriedenstr Ordner

Abbildung 11: content

Projekt BBSF Webserver Upgrade in 2008

überprüft werden.

22

Abbildung 12: ZMS Oberfläche

Abbildung 13: Vorschau

Projekt BBSF Webserver Upgrade in 2008

3.4 WYSIWYG-EditorenWYSIWYG 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-DHTML-Editing-Komponente für „Rich Editing“ noch den EPOZ-Editor und den XStandard-Editor installieren.

3.4.1 EPOZ EditorDies 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.

23

Abbildung 14: Konfiguration

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.

Wurde die Datei erfolgreich importiert, steht das Objekt in der Action-List (Dropdown Menü) zur Verfügung und heißt Text.

24

Abbildung 15: Spezielle Objekte

Abbildung 16: Action-List

Projekt BBSF Webserver Upgrade in 2008

Vor dem einbinden des Epoz-Editors:

Nach dem einbinden des Epoz-Editors:

25

Abbildung 17: Vor dem Einbinden

Abbildung 18: EPOZ Editor

Projekt BBSF Webserver Upgrade in 2008

3.4.2 XStandard-EditorEs 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 InstallationDie 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.

26

Abbildung 19: XStandard Editor

Projekt BBSF Webserver Upgrade in 2008

3.5 ApacheApache 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 InstallationApache 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 localhost6192.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

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

Abbildung 20: Virtual Host erstellen

Projekt BBSF Webserver Upgrade in 2008

Durch das Klicken auf den Button Add erscheint jetzt dieses Fenster, wo wir im Kartei Reiter „Mappings“ anwählen.

29

Abbildung 21: Namen vergeben

Abbildung 22: Virtual Monster

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

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

Abbildung 23: Mapping Eintrag

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/portalwww.bbs.fh-wilhelmshaven.de/wetter

RewriteCond %{REQUEST_URI} !^/portalRewriteCond %{REQUEST_URI} !^/wetter

RewriteRule ^/(.*) http://127.0.0.1:8080/VirtualHostBase/http/www.bbs.fh-wilhelmshaven.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 Adressehttp://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 BasicAllowOverride AuthConfig</Directory><Directory "/var/www/html/portal">AddDefaultCharset ISO-8859-1LanguagePriority </Directory>

Damit die neuen Einträge übernommen werden, muss Apache neu gestartet werden!

31

Projekt BBSF Webserver Upgrade in 2008

3.6 SendmailSendmail 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.

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.fh-wilhelmshaven.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 Netzwerkeinstellungen findet man in dem Administrationshandbuch!

32

Abbildung 24: Sendmail

Projekt BBSF Webserver Upgrade in 2008

3.6.2.1 Schaubild

33

Abbildung 25: Netz Aufbau

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.

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.

34

Abbildung 26: Domain-Routing

Abbildung 27: Routing bearbeiten

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.

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.

35

Abbildung 28: Spamkontrolle

Abbildung 29: Spam-Kontrollregel

Projekt BBSF Webserver Upgrade in 2008

3.6.2.4 Schritt 3: Lokale Domain Einstellen

Hier wird nur die lokale Domain localhost eingetragen.

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 .

36

Abbildung 30: Lokale Domains

Abbildung 31: Weiterleitungs Domains

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.

3.6.2.7 Schritt 6: Network Ports

37

Abbildung 32: Vertraute Benutzer

Abbildung 33: Network Ports

Projekt BBSF Webserver Upgrade in 2008

3.7 AntiVir MailgateAntiVir 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 Tagn 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: /usr/lib/AntiVir/configantivirstart update daemon: /usr/lib/AntiVir/avupdater startstop update daemon: /usr/lib/AntiVir/avupdater stopupdate daemon status: /usr/lib/AntiVir/avupdater status

40

Projekt BBSF Webserver Upgrade in 2008

Kommandos zum Mailgate:

Überprüfen der Viren-Definition und Scans: /usr/lib/AntiVir/antivirstart avmailgate: /usr/lib/AntiVir/avmailgate startstop avmailgate /usr/lib/AntiVir/avmailgate stoprestart avmailgate /usr/lib/AntiVir/avmailgate restartstatus avmailgate /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.

41

Abbildung 34: System-Start und -Stop

Projekt BBSF Webserver Upgrade in 2008

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.

42

Abbildung 35: Dienst bearbeiten

Abbildung 36:Dienst einrichten

Projekt BBSF Webserver Upgrade in 2008

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@localhostForwardTo /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

Abbildung 37: Speichern des Dienstes

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

Hat man sich eine Mail geschickt, muss man die „erweiterte Headeranzeige“ aktivieren, um den Vermerk „X-AntiVirus: checked by AntiVir MailGate“ zu sehen.

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

Abbildung 38: Benutzer-Mailboxes

Abbildung 39: E-Mail Postfach

Projekt BBSF Webserver Upgrade in 2008

3.7.5 Wege einer E-Mail durch AntiVir MailGate

46

Abbildung 40: Schaubild AntiVir MailGate

MTA

E-Mail SMTP-Dämon

Forward-Dämon

SMTP

Scanner-Dämon

Warteschlange Eingang/var/spool/

avmailgate/incoming/

Warteschlange Virus/Fehler/var/spool/

avmailgate/rejected/

Warteschlange Ausgang/var/spool/

avmailgate/outgoing/

Senden perMTA oder

SMTP?

Virus/Fehlerentdeckt?

Mögliche Weiterleitung

neinja

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

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.

48

Abbildung 41: Warnungs Fenster

Abbildung 42: gapcmon Preferences

Projekt BBSF Webserver Upgrade in 2008

Wenn alles richtig konfiguriert wurde können folgende Übersichten aufgerufen werden:

49

Abbildung 43: Detaillierte Information

Abbildung 44: Diagramm

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

Webserverder 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.

54

Abbildung 45: Webmin

Projekt BBSF Webserver Upgrade in 2008

5.2 NetzwerkeinstellungenMit Webmin sind die Netzwerkeinstellungen unter Netzwerkkonfiguration leicht einzustellen. Durch die nächsten Bilder wird deutlich, welche Einstellungen getätigt wurden.

5.2.1 Netzwerkschnittstellen

Folgende IP-Adresse und Netzmaske wurde eingestellt:

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

Abbildung 46: Netzwerkkonfiguration

Abbildung 47: Netzwerkschnittstellen

Projekt BBSF Webserver Upgrade in 2008

5.2.3 Routing und Gateways

Hier wird das Gateway mit der IP 10.0.0.1 eingetragen.

56

Abbildung 48: Host Adressen

Abbildung 49: Routing und Gateways

Projekt BBSF Webserver Upgrade in 2008

5.2.4 DNS-Client

Hier wird der Hostname des Webservers und der DNS-Server eingetragen.

57

Abbildung 50: DNS-Client

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

Ü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

Abbildung 51: Admin Zugang

Projekt BBSF Webserver Upgrade in 2008

5.3.2 Nutzer Zugang

Nutzer Zugang (eingeschränkt): www.bbs.fh-wilhelmshaven.de/manage

Ü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

Abbildung 52: Nutzer Zugang

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.

60

Abbildung 53: Control Panel

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.

61

Abbildung 54: Product Management

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.

62

Abbildung 55: Database Management

Projekt BBSF Webserver Upgrade in 2008

5.3.6 Kurzübersicht Zope

5.3.6.1 Shell-Kommandos

Zope starten: service zopectl startZope stoppen: service zopectl stopZope restarten: service zopectl restart

Weitere:

Documented commands (type help <topic>):========================================EOF fg kill quit run start testadduser foreground logreopen reload shell status waitdebug 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.

64

Abbildung 56: content Ordner

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.

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

Abbildung 57: ZMS aufrufen

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.

66

Abbildung 58: Spezielle Objekte

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.

In diesem hat man mehrere Einstellungsmöglichkeiten. Zwei davon wollen wir uns näher ansehen.

67

Abbildung 59: Apache-Websever

Abbildung 60: Globale Konfiguration

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.

5.5.1.2 Konfigurationsdateien bearbeiten

Unter der Auswahl Bearbeite Konfigurationsdateien kann die httpd.conf per Hand verändert werden.

68

Abbildung 61: Netzwerk und Adressen

Abbildung 62: httpd.conf bearbeiten

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.

69

Abbildung 63: Virtuelle Server

Abbildung 64: Einstellungen des Virtuellen Servers

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.

70

Abbildung 65: Direktiven

Abbildung 66: Bearbeite Direktiven

Projekt BBSF Webserver Upgrade in 2008

5.5.3 Kurzübersicht Apache

5.5.3.1 Wo finde ich was?

Pfad zur Konfigurationsdatei: /etc/httpd/conf/httpd.confVerzeichnis der Webseiten: /var/www/html

5.5.3.2 Shell Kommandos

Apache starten service httpd startApache stoppen: service httpd stopApache neu starten: service httpd restartApache Status: 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.

5.6.1 Wo finde ich was?

Pfad zu den Konfigurationsdateien: /etc/mail/sendmail.mc/etc/mail/sendmail.cf

72

Abbildung 67: Sendmail Konfiguration

Projekt BBSF Webserver Upgrade in 2008

5.6.2 Domain Routen

73

Abbildung 68: Domain-Routing

Abbildung 69: Routing bearbeiten

Projekt BBSF Webserver Upgrade in 2008

5.6.3 Spamkontrolle

74

Abbildung 70: Spamkontrolle

Abbildung 71: Spam-Kontrollregel

Projekt BBSF Webserver Upgrade in 2008

5.6.4 Lokale Domains

Hier wird nur die lokale Domain localhost eingetragen.

5.6.5 Weiterleitungsdomains

Folgende Domains wurden eingetragen: bbs.fh-wilhelmshaven.debbs2.fh-wilhelmshaven.debbsf-whv.de

75

Abbildung 72: Lokale Domains

Abbildung 73: Weiterleitungs Domains

Projekt BBSF Webserver Upgrade in 2008

5.6.6 Vertraute Benutzer

5.6.6.1 Network Ports

76

Abbildung 74: Vertraute Benutzer

Abbildung 75: Ports

Projekt BBSF Webserver Upgrade in 2008

5.7 Kurzübersicht AntiVir MailGate 5.7.1 Wo finde ich was

Pfad zur Konfigurationsdatei: /etc/avmailgate.confPfad zur Access Liste: /etc/avmailgate.aclPfad zu dem Start-Skript: /usr/lib/AntiVir/avmailgatePfad zur Log Datei: /var/log/avmailgate.log

Spool-Verzeichnis AntiVir MailGate: /var/spool/avmailgate/Unterverzeichnisse: /var/spool/avmailgate/incoming

/var/spool/avmailgate/outgoing/var/spool/avmailgate/rejected

5.7.2 Shell Kommandos

avmailgate starten: service avmailgate startavmailgate stoppen: service avmailgate stopavmailgate neustarten: service avmailgate restartavmailgate Status: 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: /usr/lib/Antivir/avmailgate.bin --avq --listMails im Eingang : /usr/lib/Antivir/avmailgate.bin --avq --queue=incomingMails im Ausgang: /usr/lib/Antivir/avmailgate.bin --avq --queue=outgoingAlle Mails: /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: /usr/lib/AntiVir/configantivirPfad zur Konfigurationsdatei: /etc/avupdater.confPfad zum Lizenzschlüssel: /usr/lib/AntiVir/hbedv.keyPfad zum Virendefinitionsdatei: /usr/lib/AntiVir/antivir.vdfPfad zu dem Skript avupdater: /usr/lib/AntiVir/avupdaterPfad zur Log Datei: /var/log/avupdater.log

5.7.3.2 Shell Kommandos

start update daemon: service avupdater startstop update daemon: service avupdater stoprestart update daemon: service avupdater restartstatus update daemon: 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/antivirViren 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.confPfad zur Monitoring Konf.-Datei: /etc/apcupsd/hosts.conf Pfad zum Start-Skript: /etc/init.d/apcupsd

5.8.2 Shell Kommandos

apcsmart starten: service apcupsd startapcsmart stoppen: service apcupsd stopapcsmart neu starten: service apcupsd restartapcsmart status: 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: LinuxCraig Hunt: Sendmail KochbuchHolger Reibold: Webmin kompaktSascha Kersken: Apache 2Wiley: LAMP für Dummies

Internetquellen: www.webmin.dewww.zope.dewww.zope.comwww.zms-publishing.comwww.avira.dewww.wikipedia.dewww.apc.comhttp://bscw.hoffmannliebenberg.de/pub/bscw.cgi/0/199497

81

Projekt BBSF Webserver Upgrade in 2008

8 Abbildungsverzeichnis

AbbildungsverzeichnisAbbildung 1: Der Server.........................................................................................................9Abbildung 2: Linux-RAID......................................................................................................11Abbildung 3: SATA Gerät A..................................................................................................12Abbildung 4: SATA Gerät B..................................................................................................12Abbildung 5: Webmin...........................................................................................................13Abbildung 6: Zope Aufbau....................................................................................................14Abbildung 7: Zope Anmeldung.............................................................................................17Abbildung 8: ZMI..................................................................................................................17Abbildung 9: Webseiten importieren....................................................................................20Abbildung 10: BBSFriedenstr Ordner..................................................................................21Abbildung 11: content...........................................................................................................21Abbildung 12: ZMS Oberfläche............................................................................................22Abbildung 13: Vorschau.......................................................................................................22Abbildung 14: Konfiguration.................................................................................................23Abbildung 15: Spezielle Objekte..........................................................................................24Abbildung 16: Action-List.....................................................................................................24Abbildung 17: Vor dem Einbinden.......................................................................................25Abbildung 18: EPOZ Editor..................................................................................................25Abbildung 19: XStandard Editor...........................................................................................26Abbildung 20: Virtual Host erstellen.....................................................................................28Abbildung 21: Namen vergeben..........................................................................................29Abbildung 22: Virtual Monster .............................................................................................29Abbildung 23: Mapping Eintrag............................................................................................30Abbildung 24: Sendmail.......................................................................................................32Abbildung 25: Netz Aufbau..................................................................................................33Abbildung 26: Domain-Routing............................................................................................34Abbildung 27: Routing bearbeiten.......................................................................................34Abbildung 28: Spamkontrolle...............................................................................................35Abbildung 29: Spam-Kontrollregel.......................................................................................35Abbildung 30: Lokale Domains............................................................................................36Abbildung 31: Weiterleitungs Domains................................................................................36Abbildung 32: Vertraute Benutzer........................................................................................37Abbildung 33: Network Ports...............................................................................................37Abbildung 34: System-Start und -Stop................................................................................41Abbildung 35: Dienst bearbeiten..........................................................................................42Abbildung 36:Dienst einrichten............................................................................................42Abbildung 37: Speichern des Dienstes................................................................................43Abbildung 38: Benutzer-Mailboxes......................................................................................45Abbildung 39: E-Mail Postfach.............................................................................................45Abbildung 40: Schaubild AntiVir MailGate...........................................................................46Abbildung 41: Warnungs Fenster........................................................................................48Abbildung 42: gapcmon Preferences...................................................................................48Abbildung 43: Detaillierte Information..................................................................................49Abbildung 44: Diagramm.....................................................................................................49

82

Projekt BBSF Webserver Upgrade in 2008

Abbildung 45: Webmin.........................................................................................................54Abbildung 46: Netzwerkkonfiguration..................................................................................55Abbildung 47: Netzwerkschnittstellen..................................................................................55Abbildung 48: Host Adressen...............................................................................................56Abbildung 49: Routing und Gateways.................................................................................56Abbildung 50: DNS-Client....................................................................................................57Abbildung 51: Admin Zugang...............................................................................................58Abbildung 52: Nutzer Zugang..............................................................................................59Abbildung 53: Control Panel................................................................................................60Abbildung 54: Product Management...................................................................................61Abbildung 55: Database Management................................................................................62Abbildung 56: content Ordner..............................................................................................64Abbildung 57: ZMS aufrufen................................................................................................65Abbildung 58: Spezielle Objekte..........................................................................................66Abbildung 59: Apache-Websever.........................................................................................67Abbildung 60: Globale Konfiguration...................................................................................67Abbildung 61: Netzwerk und Adressen................................................................................68Abbildung 62: httpd.conf bearbeiten....................................................................................68Abbildung 63: Virtuelle Server.............................................................................................69Abbildung 64: Einstellungen des Virtuellen Servers............................................................69Abbildung 65: Direktiven......................................................................................................70Abbildung 66: Bearbeite Direktiven.....................................................................................70Abbildung 67: Sendmail Konfiguration.................................................................................72Abbildung 68: Domain-Routing............................................................................................73Abbildung 69: Routing bearbeiten.......................................................................................73Abbildung 70: Spamkontrolle...............................................................................................74Abbildung 71: Spam-Kontrollregel.......................................................................................74Abbildung 72: Lokale Domains............................................................................................75Abbildung 73: Weiterleitungs Domains................................................................................75Abbildung 74: Vertraute Benutzer........................................................................................76Abbildung 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 runningServerTokens 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 8MinSpareServers 5MaxSpareServers 20ServerLimit 256MaxClients 256MaxRequestsPerChild 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 2MaxClients 150MinSpareThreads 25MaxSpareThreads 75 ThreadsPerChild 25MaxRequestsPerChild 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:80Listen 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.soLoadModule auth_digest_module modules/mod_auth_digest.soLoadModule authn_file_module modules/mod_authn_file.soLoadModule authn_alias_module modules/mod_authn_alias.soLoadModule authn_anon_module modules/mod_authn_anon.soLoadModule authn_dbm_module modules/mod_authn_dbm.soLoadModule authn_default_module modules/mod_authn_default.soLoadModule authz_host_module modules/mod_authz_host.soLoadModule authz_user_module modules/mod_authz_user.soLoadModule authz_owner_module modules/mod_authz_owner.soLoadModule authz_groupfile_module modules/mod_authz_groupfile.soLoadModule authz_dbm_module modules/mod_authz_dbm.soLoadModule authz_default_module modules/mod_authz_default.soLoadModule ldap_module modules/mod_ldap.soLoadModule authnz_ldap_module modules/mod_authnz_ldap.soLoadModule include_module modules/mod_include.soLoadModule log_config_module modules/mod_log_config.soLoadModule logio_module modules/mod_logio.soLoadModule env_module modules/mod_env.soLoadModule ext_filter_module modules/mod_ext_filter.soLoadModule mime_magic_module modules/mod_mime_magic.soLoadModule expires_module modules/mod_expires.soLoadModule deflate_module modules/mod_deflate.soLoadModule headers_module modules/mod_headers.soLoadModule usertrack_module modules/mod_usertrack.soLoadModule setenvif_module modules/mod_setenvif.soLoadModule mime_module modules/mod_mime.soLoadModule dav_module modules/mod_dav.soLoadModule status_module modules/mod_status.soLoadModule autoindex_module modules/mod_autoindex.soLoadModule info_module modules/mod_info.soLoadModule dav_fs_module modules/mod_dav_fs.soLoadModule vhost_alias_module modules/mod_vhost_alias.soLoadModule negotiation_module modules/mod_negotiation.soLoadModule dir_module modules/mod_dir.soLoadModule actions_module modules/mod_actions.soLoadModule speling_module modules/mod_speling.soLoadModule userdir_module modules/mod_userdir.soLoadModule alias_module modules/mod_alias.so

87

Projekt BBSF Webserver Upgrade in 2008

LoadModule rewrite_module modules/mod_rewrite.soLoadModule proxy_module modules/mod_proxy.soLoadModule proxy_balancer_module modules/mod_proxy_balancer.soLoadModule proxy_ftp_module modules/mod_proxy_ftp.soLoadModule proxy_http_module modules/mod_proxy_http.soLoadModule proxy_connect_module modules/mod_proxy_connect.soLoadModule cache_module modules/mod_cache.soLoadModule suexec_module modules/mod_suexec.soLoadModule disk_cache_module modules/mod_disk_cache.soLoadModule file_cache_module modules/mod_file_cache.soLoadModule mem_cache_module modules/mod_mem_cache.soLoadModule 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 apacheGroup 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\"" combinedLogFormat "%h %l %u %t \"%r\" %>s %b" commonLogFormat "%{Referer}i -> %U" refererLogFormat "%{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 .exeAddIcon /icons/binhex.gif .hqxAddIcon /icons/tar.gif .tarAddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .ivAddIcon /icons/compressed.gif .Z .z .tgz .gz .zipAddIcon /icons/a.gif .ps .ai .epsAddIcon /icons/layout.gif .html .shtml .htm .pdfAddIcon /icons/text.gif .txtAddIcon /icons/c.gif .cAddIcon /icons/p.gif .pl .pyAddIcon /icons/f.gif .forAddIcon /icons/dvi.gif .dviAddIcon /icons/uuencoded.gif .uu

96

Projekt BBSF Webserver Upgrade in 2008

AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tclAddIcon /icons/tex.gif .texAddIcon /icons/bomb.gif core

AddIcon /icons/back.gif ..AddIcon /icons/hand.right.gif READMEAddIcon /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.htmlHeaderName 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 .caAddLanguage cs .cz .csAddLanguage da .dkAddLanguage de .deAddLanguage el .elAddLanguage en .enAddLanguage eo .eoAddLanguage es .esAddLanguage et .etAddLanguage fr .frAddLanguage he .heAddLanguage hr .hrAddLanguage it .itAddLanguage ja .jaAddLanguage ko .koAddLanguage ltz .ltzAddLanguage nl .nlAddLanguage nn .nn

98

Projekt BBSF Webserver Upgrade in 2008

AddLanguage no .noAddLanguage pl .poAddLanguage pt .ptAddLanguage pt-BR .pt-brAddLanguage ru .ruAddLanguage sv .svAddLanguage zh-CN .zh-cnAddLanguage 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 zh-CN 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 .ZAddType 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 .shtmlAddOutputFilter 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" nokeepaliveBrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0BrowserMatch "RealPlayer 4\.0" force-response-1.0BrowserMatch "Java/1\.0" force-response-1.0BrowserMatch "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-carefullyBrowserMatch "MS FrontPage" redirect-carefullyBrowserMatch "^WebDrive" redirect-carefullyBrowserMatch "^WebDAVFS/1.[0123]" redirect-carefullyBrowserMatch "^gnome-vfs/1.0" redirect-carefullyBrowserMatch "^XML Spy" redirect-carefullyBrowserMatch "^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.deRewriteEngine 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.fh-wilhelmshaven.de:80///VirtualHostRoot/$1 [L,P]

## Fuer Verzeichnis mit statischen Websides

RewriteCond %{REQUEST_URI} !^/statischRewriteCond %{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.fh-wilhelmshaven.de:80/BBSFriedenstr/VirtualHostRoot/$1 [L,P]

</VirtualHost>

<Directory "/var/www/html/portal/mysqldumper">AuthType BasicAllowOverride AuthConfig</Directory><Directory "/var/www/html/portal">AddDefaultCharset ISO-8859-1LanguagePriority </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)dnldnl #dnl # This is the sendmail macro config file for m4. If you make changes todnl # /etc/mail/sendmail.mc, you will need to regenerate thednl # /etc/mail/sendmail.cf file by confirming that the sendmail-cf package isdnl # installed and then performing adnl #dnl # make -C /etc/maildnl #include(`/usr/share/sendmail-cf/m4/cf.m4')dnlVERSIONID(`setup for linux')dnlOSTYPE(`linux')dnldnl #dnl # Do not advertize sendmail version.dnl #dnl define(`confSMTP_LOGIN_MSG', `$j Sendmail; $b')dnldnl #dnl # default logging level is 9, you might want to set it higher todnl # debug the configurationdnl #dnl define(`confLOG_LEVEL', `9')dnldnl #dnl # Uncomment and edit the following line if your outgoing mail needs todnl # be sent out through an external mail server:dnl #dnl define(`SMART_HOST', `smtp.your.provider')dnldnl #define(`confDEF_USER_ID', ``8:12'')dnldnl define(`confAUTO_REBUILD')dnldefine(`confTO_CONNECT', `1m')dnldefine(`confTRY_NULL_MX_LIST', `True')dnldefine(`confDONT_PROBE_INTERFACES', `True')dnldefine(`PROCMAIL_MAILER_PATH', `/usr/bin/procmail')dnldefine(`ALIAS_FILE', `/etc/aliases')dnldefine(`STATUS_FILE', `/var/log/mail/statistics')dnldefine(`UUCP_MAILER_MAX', `2000000')dnldefine(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnldefine(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnldefine(`confAUTH_OPTIONS', `A')dnldnl #dnl # The following allows relaying if the user authenticates, and disallowsdnl # plaintext authentication (PLAIN/LOGIN) on non-TLS linksdnl #dnl define(`confAUTH_OPTIONS', `A p')dnldnl #

130

Projekt BBSF Webserver Upgrade in 2008

dnl # PLAIN is the preferred plaintext authentication method and used bydnl # Mozilla Mail and Evolution, though Outlook Express and other MUAs dodnl # use LOGIN. Other mechanisms should be used if the connection is notdnl # 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')dnldnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnldnl #dnl # Rudimentary information on creating certificates for sendmail TLS:dnl # cd /etc/pki/tls/certs; make sendmail.pemdnl # Complete usage:dnl # make -C /etc/pki/tls/certs usagednl #dnl define(`confCACERT_PATH', `/etc/pki/tls/certs')dnldnl define(`confCACERT', `/etc/pki/tls/certs/ca-bundle.crt')dnldnl define(`confSERVER_CERT', `/etc/pki/tls/certs/sendmail.pem')dnldnl define(`confSERVER_KEY', `/etc/pki/tls/certs/sendmail.pem')dnldnl #dnl # This allows sendmail to use a keyfile that is shared with OpenLDAP'sdnl # slapd, which requires the file to be readble by group ldapdnl #dnl define(`confDONT_BLAME_SENDMAIL', `groupreadablekeyfile')dnldnl #dnl define(`confTO_QUEUEWARN', `4h')dnldnl define(`confTO_QUEUERETURN', `5d')dnldnl define(`confQUEUE_LA', `12')dnldnl define(`confREFUSE_LA', `18')dnldefine(`confTO_IDENT', `0')dnldnl FEATURE(delay_checks)dnlFEATURE(`no_default_msa', `dnl')dnlFEATURE(`smrsh', `/usr/sbin/smrsh')dnlFEATURE(`mailertable', `hash -o /etc/mail/mailertable.db')dnlFEATURE(`virtusertable', `hash -o /etc/mail/virtusertable.db')dnlFEATURE(redirect)dnlFEATURE(always_add_domain)dnlFEATURE(use_cw_file)dnlFEATURE(use_ct_file)dnldnl #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')dnldnl #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')dnldnl #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')dnlFEATURE(`access_db', `hash -T<TMPF> -o /etc/mail/access.db')dnlFEATURE(`blacklist_recipients')dnlEXPOSED_USER(`root')dnldnl #dnl # For using Cyrus-IMAPd as POP3/IMAP server through LMTP delivery uncommentdnl # the following 2 definitions and activate below in the MAILER section thednl # cyrusv2 mailer.dnl #dnl define(`confLOCAL_MAILER', `cyrusv2')dnldnl define(`CYRUSV2_MAILER_ARGS', `FILE /var/lib/imap/socket/lmtp')dnldnl #dnl # The following causes sendmail to only listen on the IPv4 loopback addressdnl # 127.0.0.1 and not on any other network devices. Remove the loopbackdnl # address restriction to accept email from the internet or intranet.dnl #DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnldnl #dnl # The following causes sendmail to additionally listen to port 587 fordnl # mail from MUAs that authenticate. Roaming users who can't reach theirdnl # preferred sendmail daemon due to port 25 being blocked or redirected finddnl # this useful.dnl #dnl DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnldnl #dnl # The following causes sendmail to additionally listen to port 465, butdnl # starting immediately in TLS mode upon connecting. Port 25 or 587 followeddnl # by STARTTLS is preferred, but roaming clients using Outlook Express can'tdnl # do STARTTLS on ports other than 25. Mozilla Mail can ONLY use STARTTLSdnl # and doesn't support the deprecated smtps; Evolution <1.1.1 uses smtpsdnl # 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')dnldnl #dnl # The following causes sendmail to additionally listen on the IPv6 loopbackdnl # device. Remove the loopback address restriction listen to the network.dnl #dnl DAEMON_OPTIONS(`port=smtp,Addr=::1, Name=MTA-v6, Family=inet6')dnldnl #

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 todnl # protect yourself from spam. However, the laptop and users on computersdnl # that do not have 24x7 DNS do need this.dnl #FEATURE(`accept_unresolvable_domains')dnldnl #dnl FEATURE(`relay_based_on_MX')dnldnl # dnl # Also accept email sent to "localhost.localdomain" as local email.dnl # LOCAL_DOMAIN(`localhost.localdomain')dnldnl #dnl # The following example makes mail from this host and any additionaldnl # specified domains appear to be sent from mydomain.comdnl #dnl MASQUERADE_AS(`mydomain.com')dnldnl #dnl # masquerade not just the headers, but the envelope as welldnl #dnl FEATURE(masquerade_envelope)dnldnl #dnl # masquerade not just @mydomainalias.com, but @*.mydomainalias.com as welldnl #dnl FEATURE(masquerade_entire_domain)dnldnl #dnl MASQUERADE_DOMAIN(localhost)dnldnl MASQUERADE_DOMAIN(localhost.localdomain)dnldnl MASQUERADE_DOMAIN(mydomainalias.com)dnldnl MASQUERADE_DOMAIN(mydomain.lan)dnlMAILER(smtp)dnlMAILER(procmail)dnldnl 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 uucp Group 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 /var/spool/avmailgateSpoolDir /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 /usr/lib/AntiVirAntiVirDir /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 /var/tmpTemporaryDir /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 -oiForwardTo /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 AvMailGate # or# AlertsUser 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 MAILER-DAEMON # or# BounceMessageUser 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.2local: 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.1HTTPProxyPort 8080HTTPProxyUsername superHTTPProxyPassword 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 userSyslogPriority 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 apcsmartDEVICE /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 disablesKILLDELAY 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 disablesSTATTIME 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 (default = 0 => not valid)#LOTRANSFER 208

# 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 SATA-Controller, 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 Tabellen- Hintergrundfarbe 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 E-Mails 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