next up previous contents index
Next: Portierungen auf andere Plattformen Up: Installation und Betrieb Previous: Installation und Betrieb

Installation

In der folgenden Installationsanleitung bezeichnet $MCNTP den Pfad im Dateisystem, in dem sich das ausgepackte Mcntp Paket befindet. $RSA bezeichnet analog das Verzeichnis, in dem die RSA Bibliothek sich befindet.

Installationsschritte sind:

1.
Die librsa holen[*] und übersetzen Die rsaref Bibliothek wurde dem Mcntp Paket nicht beigelegt, da laut J.S.A. Kapp die RSAEURO Bibliothek in den USA Probleme mit Copyrightbestimmungen haben kann, während die Verwendung der RSAREF Bibliothek von RSA Data Security Inc. außerhalb der USA illegal ist. Aus dem Dokument ``licence.txt'' des RSAEURO Pakets:
6. RSAEURO is a publication of cryptographic techniques. Applications developed with RSAEURO may be subject to export controls in some countries. If you are located in the United States and develop such applications using RSAEURO, you are advised to obtain a copy of RSAREF from RSADSI, as you may using RSAEURO infringe on Patents held by Public Key Partners of Sunnydale California.

Die RSAEURO Bibliothek kann u.a. via anonymem ftp u.a. vom Server ftp.cert.dfn.de bezogen werden.

Zum Auspacken des RSAEURO Archivs ist das Programm   nötig. Hierbei ist zu beachten, daß   mit der Option -a mit angegeben wird, da das Zeilenvorschubzeichen ^ M, das in den Dateien vorhanden ist, viele Compiler verwirrt. Die notwendigen Schritte zum Erzeugen der Bibliothek sind:

(a)
cd $RSA/install
(b)
vi unix/Makefile
(c)
vi source/global.h
(d)
make -f unix/Makefile
Im Verzeichnis $RSA/install befinden sich neben der Funktionenbibliothek, einige Beispielprogramme, die genutzt werden können, um festzustellen, ob die Bibliothek korrekt übersetzt wurde. Diese Beispielprogramme können mit den Scripten in $RSA/scripts/ automatisch ausgeführt werden; Referenzausgaben der Programme liegen bei, um die korrekte Funktion feststellen zu können.
2.
Mcntp Software holen und auspacken. Die Mcntp Software ist via anonymem ftp vom Rechner ftp.xlink.net im Verzeichnis /pub/news/tools/ als Datei mcntp.tar.gz erhältlich.
3.
Die Datei README im Verzeichnis $MCNTP lesen.
4.
Die Datei .a  aus $RSA/install/ und die Header-Dateien (*.h) aus $RSA/source/ nach $MCNTP/rsa kopieren
5.
Die Datei .h  anlegen. Die Datei .h  kann durch Kopieren der Datei .h.dist  erzeugt werden. Die Datei .h  wurde nicht direkt beigelegt, um zu verhindern, daß Aktualisierungen der Mcntp Distribution eine vorhandene Version von .h  überschreiben.
6.
Die Datei .h  editieren. Die Werte in .h  stimmen nicht für jedes System und müssen vor dem Übersetzen von Mcntp angepasst werden. Hier folgt eine Beschreibung der Präprozessorsymbole in .h , die angepasst werden müssen:
BLITTLEEND/BBIGEND
Dient zur Unterscheidung, ob der Prozessor des Rechners eine sog. BigEndian (z.B. Motorola 680x0 oder Sun Sparc) oder Little-Endian Maschine (z.B. Intel ix86) ist (siehe auch Abschnitt 4.4.1). Beispiel:
   #define BBIGEND
DONTWANTZLIB
Wenn keine Datenkompression via Zlib (s.u.) gewünscht wird, kann der entsprechende Code auskommentiert werden. Dies bedeutet aber auch, daß keine komprimierten Artikel akzeptiert werden können. Dieses Präprozessorsymbol sollte nur in Ausnahmefällen definiert werden. Beispiel:
   /* #define DONTWANTZLIB */
HAVE_STATFS
Wenn   Artikel auf der Platte ablegt (siehe 4.5.2), kann mittels des ()  Betriebssystemaufrufs festgestellt werden, ob noch genug Platz auf der Festplatte vorhanden ist. Ist diesel Parameter nicht definiert, werden die Artikel solange geschrieben, bis das Dateisystem voll ist. Beispiel:
   #define HAVE_STATFS
HAVE_MMAP
Mit dem ()  Systemaufruf können bei vielen Unix Systemen Dateien schneller in den Arbeitsspeicher geladen werden, als mittels () .   kann dies ausnutzen, um die Artikel zur Verarbeitung in den Speicher zu laden. Da nicht alle Systeme eine funktionierende Implementierung von ()  haben, wird dieser Code nur bei Bedarf eingesetzt. Beispiel:
   #define HAVE_MMAP
SPOOL_PATH
Damit   die Artikel, die versendet werden sollen, finden kann, muß hier der Pfad angegeben werden, unter dem der Artikelbaum zu finden ist (gemeinhin auch als ``Artikelspool'' bezeichnet). Beispiel:
   #define SPOOL_PATH "/var/spool/news"
SPOOL_PATH_IN
Damit   Artikel, die nicht via NNTP weitergeleitet werden können, als Batches  im Dateisystem ablegen kann, muß dieser Parameter definiert werden. Der Parameter bezeichnet das Verzeichnis, in dem Programm   die Batches  erwartet. Bei den meisten Newssystemen ist dies SPOOL_PATH/in.coming. Beispiel:
   #define SPOOL_PATH_IN "/var/spool/news/in.coming"
BATCH_SIZE
Dieser Parameter definiert die maximale Größe der von   produzierten Batches  in Bytes. Wenn der Wert auf -1 gesetzt wird, werden keine Batches produziert. Beispiel:
   #define BATCH_SIZE 50000

SPOOL_LIMIT
Dieser Wert definiert, falls der Parameter HAVE_STATFS ebenfalls definiert ist, den freien Platz im Dateisystem an, ab dessen Unterschreitung keine weiteren Artikel mehr im Dateisystem abgelegt werden. Dieser Wert muß größe sein, als der von BATCH_SIZE. Beispiel:
   #define SPOOL_LIMIT 100000
SPOOL_RECHECK
Wenn   keine Artikel mehr via NNTP  einliefern kann und Artikel gespoolt werden, wird nach der hier angegebenen Zeit in Sekunden nachgeschaut, ob der NNTP-Server wieder verfügbar ist. Wird dieser Wert auf -1 gesetzt, unterbleiben diese Tests. Beispiel:
   #define SPOOL_RECHECK 2*60
CHECKPOINT
  und   geben nicht nur bei Terminierung, sondern auch während der Verarbeitung regelmäßig Daten über Syslog(3)  aus. Dieser Parameter definiert, nach wievielen bearbeiteten Artikeln die Programme diese Daten ausgeben sollen. Für Server, die viele Artikel versenden oder empfangen ist hier ein Wert von 200 oder 500 sinnvoll. Beispiel:
   #define CHECKPOINT 50
NNTP_PORT
Normalerweise werden NNTP-Verbindungen zu Port  119 aufgebaut. Dieser Port  wurde von der IANA  für diesen Zweck offiziell zugewiesen. Dieser Port  wird sowohl von Newsleseclients, als auch von anderen Transferagents für das Einliefern der Artikel genutzt. Aus Performancegründen werden hierfür auf manchen Systemen unterschiedliche Ports  verwendet. Dieser Wert gibt an, auf welchem Port   die Artikel einliefern soll[*]. Beispiel:
   #define NNTP_PORT 119
LIB_PATH
Dieser Parameter gibt das Verzeichnis an, in dem die Konfigurationsdatei .conf , der Keyring  und der private Schlüssel standardmäßig gesucht werden. Beispiel:
   #define LIB_PATH "/usr/local/news/mcntp/"
PER_CLOSE
Newstransferagents geben teilweise erst dann Statistiken über eingehende Verbindungen aus, wenn diese beendet worden sind. Da   ein langlaufender Prozeß ist, wird hiermit dem NTA  die Möglichkeit gegeben, diese Statistiken zu generieren. Der angegebene Wert in Sekunden beschreibt die Zeitspanne, nach der   die NNTP-Verbindung zum NTA  schließt und wieder öffnet. Wenn der angegebene Wert größer als 86400 ist (ein Tag), wird er auf 86400 gesetzt. Ist der Wert kleiner als 60, wird er auf 60 gesetzt, um den NTA  nicht unnötig zu belasten. Beispiel:
   #define PER_CLOSE 60*60
Nach der Definition dieser Parameter werden noch einige Tests und Voreinstellungen in .h  durchgeführt. Hier sollte der Anwender keine Änderungen vornehmen.
7.
Zlib übersetzen. Die Zlib  unterliegt keinen solchen Beschränkungen, wie die librsa und ist deshalb im Verzeichnis $MCNTP/zlib vorhanden. Die Zlib zu übersetzen ist einfach:
(a)
cd zlib/zlib
(b)
./configure
(c)
make
(d)
cd ../../
Falls die Zlib nicht allgemein zugänglich auf dem System installiert wird, müssen evtl. die Makefiles für   und   angepasst werden, wie dies in diesen Makefiles angegeben ist.
8.
Mcntp übersetzen. Dies geschieht entweder durch Aufruf von   für Systeme, die ein 4.4BSD kompatibles   haben. Ansonsten ist   mit der Option -f Makefile.<Systemtyp> aufzurufen.
9.
Die Programme müssen in den Standardsuchpfad des Benutzers ``news'' kopiert werden, damit sie gefunden werden, ohne daß zum Aufruf jedesmal der komplette Pfad mit angegeben werden muß.
10.
Das Verzeichnis LIB_PATH, das in der Datei .h  definiert wurde, muß bei Bedarf noch angelegt werden.


 
next up previous contents index
Next: Portierungen auf andere Plattformen Up: Installation und Betrieb Previous: Installation und Betrieb
Heiko W.Rupp
12/1/1997