Linux Fido-Node HOWTO: Installation von FidoGate

Zurück Weiter Inhaltsverzeichnis

## 5. Installation von FidoGate

Ich beziehe mich hier auf Version 4.2.7, bei aelteren Versionen sind einige der Konfigurationsmoeglichkeiten noch nicht vorhanden.

Zunaechst ist jetzt `fidogate/config.h` zu editieren. Ich habe folgende Änderungen an der Orginal-Datei vorgenommen: (das ist nicht die komplette Datei, sondern nur die Zeilen die ich geaendert habe!)

    #define OUTDIR          "in"            /* rfc2ftn: output .pkt's */
    #ifdef SECURE           /* Secure permissions */
    # define PACKET_MODE    0600            /* Mode for outbound packets */
    # define BSY_MODE       0644            /* Mode for BSY files */
    # define FLO_MODE       0600            /* Mode for FLO files */
    # define DATA_MODE      0600            /* Mode for ffx data files */
    # define DIR_MODE       0700            /* Mode for directories */
    # define CONF_MODE      0600            /* Mode for written config files */
    #else                   /* Open permissions */
    # define PACKET_MODE    0666            /* Mode for outbound packets */
    # define BSY_MODE       0666            /* Mode for BSY files */
    # define FLO_MODE       0666            /* Mode for FLO files */
    # define DATA_MODE      0666            /* Mode for ffx data files */
    # define DIR_MODE       0777            /* Mode for directories */
    # define CONF_MODE      0666            /* Mode for written config files */
    #endif

Man sollte aus den Kommentaren von `config.h` erkennen, was das bedeuten soll. Das Outbound-Directory heisst bei mir aus alter Gewohnheit `outbound` und nicht nur `out`. Man kann das problemlos umbenennen, muss nur insgesamt konsistent bleiben. Weiterhin habe ich die Permissions noch auf meinen Geschmack abgeaendert.

Als naechstes sind noch einige Aenderungen in `fidogate/config.make` vorzunehmen:

    BINDIR          = /usr/local/bin/fidogate
    LIBDIR          = /usr/local/lib/fidogate
    SPOOLDIR        = /var/spool/fnet
    LOGDIR          = /var/log/fido
    OUTBOUND        = /var/spool/fnet/outbound
    INBOUND         = /var/spool/fnet/in
    PINBOUND        = /var/spool/fnet/in
    UUINBOUND       = /var/spool/fnet/in
    IFMAILDIR       = /usr/local/bin/ifcico

    OWNER           = fido
    GROUP           = fido
    DEBUG           = -O2 -s -fomit-frame-pointer

Im `fidogate/src/Makefile` unter install-dirs solltest Du noch `$(SPOOLDIR)/out` in `$(SPOOLDIR)/outbound` ändern.

Damit werden die Verzeichnisse an meine Verzeichnis-Struktur angepasst und `fido.fido` wird User von FidoGate. Spaeter wird auch `ifcico` unter dem User `fido.fido` arbeiten.

Nun solltest Du als `root` in `fidogate/src` folgende Kommandos ausfuehren:

    make depend
    make all
    make install-dirs
    make install

Anschliessend stehen alle benoetigten Dateien in `/usr/local/bin/fidogate`. Jetzt mußt du natuerlich noch einige Anpassungen an Dein System vornehmen. Hier zunaechst mal ein komplettes `/usr/local/lib/fidogate/config.common`, welches die globalen Konfigurationsdaten enthaelt:

    #:ts=8
    #
    # /usr/local/lib/fidogate/config.common
    #
    # FIDOGATE config file common stuff,
    # included by config.gate, config.main
    #
    # Cry in the Darkness
    #
    # Format:  keyword arg ...
    #          keyword and args may be put in double quotes "..."
    #

    # Directories: lib, spool, BinkleyTerm-style outbound base dir (without
    # the .../out.xxx), BinkleyTerm-style inbound dir
    #
    # lib, spool defaults are defined in config.h
    #
    LibDir          /usr/local/lib/fidogate
    SpoolDir        /var/spool/fnet
    LogDir          /var/log/fido
    Outbound        /var/spool/fnet
    Inbound         /var/spool/fnet/in

    #
    # Internet address
    #
    Hostname        citd
    Domain          .owl.de
    # Optional domain name for entries in HOSTS file
    HostsDomain     .owl.de

    #
    # Zones and domains, the outbound directory is relative to the one
    # specified with `Outbound'.
    #
    #               zone    Inet domain     FTN domain      Outbound
    #               ----    -----------     ----------      --------
    Zone            default .fidonet.org    fidonet         -
    Zone            1       .fido.sub.de    fidonet         outbound.001
    Zone            2       .fido.sub.de    fidonet         outbound
    Zone            3       .fido.sub.de    fidonet         outbound.003
    Zone            4       .fido.sub.de    fidonet         outbound.004
    Zone            5       .fido.sub.de    fidonet         outbound.005
    Zone            6       .fido.sub.de    fidonet         outbound.006
    Zone            37      .treknet.de     fidonet         outbound.025
    #
    # OPTIONAL:
    #
    # MSDOS client drive to UNIX server directory translation. This allows
    # FIDOGATE running on a UNIX system and BinkleyTerm on an MSDOS PC.
    #
    #DosDrive       H:      /home
    #DosDrive       I:      /var/spool
    #DosDrive       I:      /usr/spool
    #DosDrive       P:      /u1
    #DosDrive       Q:      /u2

`config.gate` soll auch seine Beachtung erhalten:

    #:ts=8
    #
    # /fido/fidogate/config.gate
    #
    # FIDOGATE config file gateway programs
    #
    # Cry in the Darkness
    #
    # Format:  keyword arg ...
    #          keyword and args may be put in double quotes "..."

    #
    # Include common stuff (%L = LIBDIR)
    #
    include         %L/config.common

    #
    # FTN addresses - there must be a corresponding `uplink' statement
    # for each `address' statement
    #
    #               real
    #               ----
    Address         2:2432/605.99
    Address         37:109/980.0

    Uplink          2:2432/605
    Uplink          37:109/980

    #
    # Default origin line for EchoMail messages
    #
    Origin          " Cry in the Darkness Paderborn-Sande "

    #
    # Organization header for News
    #
    Organization    "Cry in the Darkness"

    #
    # Use text from * Origin line for Organization header
    #
    UseOriginForOrganization

    #
    # Use text from Organization header for * Origin line
    #
    UseOrganizationForOrigin

    #
    # Don't generate From: line, FSC-0035 kludges
    # MUST be set for FIDOGATE points (no real gateway)
    #
    #NoFromLine

    #
    # FTN - Internet gateway. If set, Internet mail will be routed via FTN
    # and this gateway.
    #
    #Gateway                242:4900/99

    #
    # Don't gate messages with unknown zone in ^AMSGID (known zones are defined
    # in config.common).
    #
    KillUnknownMSGIDZone

    #
    # Don't gate messages without a valid ^AMSGID (or similar)
    #
    KillNoMSGID

    #
    # Generate `User.Name@do.main' instead of `User_Name@do.main'
    #
    #DotNames

    #
    # X-FTN header:
    #
    #     f    X-FTN-From
    #     t    X-FTN-To
    #     T    X-FTN-Tearline
    #     O    X-FTN-Origin
    #     V    X-FTN-Via
    #     D    X-FTN-Domain
    #     S    X-FTN-Seen-By
    #     P    X-FTN-Path
    #
    X-FTN           ftTOVDP

    #
    # Maximum size of FTN messages (default value)
    #
    #MaxMsgSize             15000
    MaxMsgSize             32000

    #
    # MAUS gateway support:
    #
    # If set, convert addresses for `User_Name@XY.MAUSDomain' to
    # `User Name % XY @ MAUSGate' for the Fido-MAUS gateway.
    #
    #MAUSDomain              .maus.de
    #MAUSGate                2:2452/101.6

    #
    # CC of bounced messages
    #
    BounceCCMail            ms@citd.owl.de

    #
    # Send mail from message trackers to
    #
    #TrackerMail             ms@citd.owl.de

    #
    # Newsgroup for unknown FTN areas
    #
    FTNJunkGroup            fido.junk

    #
    # NOTE 1: real gateways should *not* disable FSC0035/47 kludges, the
    #         From: line is obsoleted by both ^ARFC-Xxxx kludges and
    #         FSC0035 and not necessarily needed.
    #
    # NOTE 2: points without Internet connectivity (using FIDOGATE for
    #         Fido only) should set
    #             RFCLevel 0
    #             NoFromLine
    #             NoFSC0035
    #
    #
    # Default ^ARFC level
    #     0  -  no ^ARFC-Xxxx kludges
    #     1  -  ^ARFC-Xxxx kludges for some headers (config.h, RFC_LVL_1_HEADERS)
    #     2  -  ^ARFC-Xxxx kludges for all headers
    #
    RFCLevel                1

    #
    # Parameters for ftnin/ftninpost/ftninrecomb
    #
    # sendmail program path and parameters
    #
    #    %s is replaced with the envelope sender
    #
    FTNInSendmail   /usr/sbin/sendmail -oee -oi -f%s -oMrFTN -t

    #
    # rnews program path
    #
    FTNInRnews      /usr/bin/rnews

    #
    # run ftninrecomb
    #
    #FTNInRecombine

    #
    # Use 8bit ISO-8859-1 characters when gating from FTN to RFC
    #
    NetMail8bit

Hierzu jetzt noch ein Kommentar. Mit dem gaten habe ich noch so meine Verstaendnissprobleme. Ich habe hin und wieder an dieser Datei mal rumgespielt, muss aber zugeben das ich nie genau wusste was ich getan habe. Fuer die Richtigkeit dieser Datei kann ich als GARKEINE Garantie uebernehmen!

`config.main` ist wie folgt anzupassen:

    #:ts=8
    #
    # /usr/local/lib/fidogate/config.main
    #
    # FIDOGATE config file main AKA
    #
    # Cry in the Darkness
    #
    # Format:  keyword arg ...
    #          keyword and args may be put in double quotes "..."
    #

    #
    # Include common stuff (%L = LIBDIR)
    #
    include         %L/config.common

    #
    # FTN addresses
    #
    Address         2:2432/605
    Address         37:109/980

    #
    # AREAS.BBS EchoMail distribution list
    #
    AreasBBS        /usr/local/lib/fidogate/areas.bbs

    #
    # FAREAS.BBS file distribution list
    #
    FAreasBBS       /usr/local/lib/fidogate/fareas.bbs

    #
    # ftnaf: CC of reply mails
    #
    CCMail          ms@citd.owl.de

    #
    # OPTIONAL for tosser
    #
    # Kill empty NetMails addressed to one of our AKAs
    #
    KillEmpty

    #
    # Kill EchoMail for unknown areas
    #
    KillUnknown

    #
    # Kill routed EchoMail
    #
    #KillRouted

    #
    # Log sender/recipient of all NetMail messages
    #
    LogNetMail

    #
    # Check ^APATH for our own address
    #
    CheckPath

    #
    # Enable dupe check using MSGID history database
    #
    DupeCheck

    #
    # Number of days a MSGID entry stays in the history database
    # (decimal fraction allowed)
    #
    MaxHistory 14

    #
    # Kill dupe messages
    #
    KillDupe

    #
    # Zonegate configuration for EchoMail
    #
    #               Address to      Add to SEEN-BYs
    #               ----------      ---------------
    #ZoneGate       2:123/456       123/456 2452/110
    #ZoneGate       2:789/999       789/999 2452/110
    #ZoneGate       1:105/42        105/42 2452/110

    #
    # Add extra nodes to SEEN-BY
    #
    #               Area            Nodes
    #               ----            -----
    #AddToSeenBy    ABLED           2:24/24
    #AddToSeenBy    ABLENEWS        2:24/24

Da wir aber einen Node betreiben wollen ist das noch laengst nicht alles. Da haben wir noch die `/usr/local/lib/fidogate/areas.bbs` (Das hier ist aber jetzt nur der Anfang der Datei. Als Beispiel sollte es ausreichen.

    ## Diese Zeile MUSS als Kompatiblitaetsgruenden leer bleiben!
    #+ DARKNESS.POINTS -z 2 2:2432/605.1 .2 .3 .4
    #+ DARKNESS.INFO -z 2 2:2432/605.1 .2 .3 .4
    #+ DARKNESS.NEWFILES -z 2 2:2432/605.1 .2 .3 .4
    #- 0130.GER -z 2 2:2432/600
    #- 1LIVE.GER -z 2 2:2432/600
    #- 24000.GER -z 2 2:2432/600
    #+ 2432.HUB.600 -z 2 2:2432/600 605.1 .5 .21
    #+ 2432.NODES -z 2 2:2432/600 605.1 .21
    #+ 2432.NODES.INFO -z 2 2:2432/600 605.1 .21
    #+ 2432.POINTS -z 2 2:2432/600 605.5 .21
    #- 2432.TALK -z 2 2:2432/600
    #- 386.GER -z 2 2:2432/600
    #- 4DOS -z 2 2:2432/600
    #- 4DOS.GER -z 2 2:2432/600
    #- 666.GER -z 2 2:2432/600
    #- 80XXX -z 2 2:2432/600
    #- ABFAHRER.GER -z 2 2:2432/600
    #- ALLFIX.GER -z 2 2:2432/600
    #- ALLFIX_HELP -z 2 2:2432/600
    #- AL_BUNDY.GER -z 2 2:2432/600
    #- AMNESTY.GER -z 2 2:2432/600
    #- ANNOUNCE.024 -z 2 2:2432/600
    #- ANTIFA.GER -z 2 2:2432/600

Die ersten 3 Bretter sind meine lokalen Bretter, die anderen bekomme ich von meinem Hub. Bei mir habe ich noch einen Sonderfall. Da ich keine Lust habe immer alle Bretter zu pollen habe ich nur die bestellt die auch wirklich gelesen werden. Die Bretter die bestellt sind, sind mir einem "+" markiert die Bretter mit einem "-" sind nicht bestellt, aber vorbereitet fuer den Fall das sie bestellt werden.

Fuer das Zustellen der Node & Pointdiffs gibts dann noch die `/usr/local/lib/fidogate/fareabs.bbs`

    # Diese Zeile muss leer bleiben!
    /zip/node NODEDIFF 2:2432/600 605.2 .3 .4
    /zip/node 24000 2:2432/600 605.2 .3 .4

Als naechstes kommen wir zur `/etc/routing` Datei.

    remap 2:2432/605.0 2:2432/605.01 "Matthias Schniedermeyer"
    remap 2:2432/605.0 2:2432/605.02 "Demo-Point 1"
    remap 2:2432/605.0 2:2432/605.03 "Demo-Point 2"
    remap 2:2432/605.0 2:2432/605.04 "Demo-Point 3"
    remap 37:109/980.0 37:109/980.01 "Matthias Schniedermeyer

    remapto 2:2432/605 2:2432/605.98 "Areafix"
    # Alle Mail an Areafix auf .98 umleiten
    remap 2:2432/605.0 2:2432/605.1  "*"
    # Alle sonstigen Mails an 2:2432/605 auf meinen Point umleiten.
    remapto 37:109/980.0 37:109/980.1 "*"
    # Alle Mails an meinen Node des Trek-Net auf meinen Point umleiten.

    # Netmail routing
    NetMail
    send  hold 2:2432/605.*
    send  hold 37:109/980.*
    # Mails fuer Points auf Hold legen.
    route normal 37:109/900 37:*
    # Mails im Trek-Net an meinen Trek-Net Hub weiterleiten.
    route normal 2:2432/600 1:* 2:* 3:* 4:* 5:* 6:*
    # Alle anderen Mails fuers Fido (Zonen 1-6) zum Hub weiterleiten.

    # Echomail routing
    EchoMail
    sendmove hold   2:2432/605.*
    sendmove hold   37:109/980.*
    # Mails fuer Points auf Hold legen.
    sendmove normal *

Dann habe wir noch eine `/usr/local/lib/fidogate/packing` Datei

    # /usr/local/lib/fidogate/packing
    #
    # FIDOGATE ftnpack config file
    #
    # Commands:
    #
    #     arc    NAME  "/PATH/PROG %s %s"
    #     prog   NAME  "/PATH/PROG %s"
    #
    #     pack   NAME  NODES
    #     rpack  NAME  TARGET NODES
    #     fpack  NAME  TARGET NODES
    #

    arc     zip     "/usr/bin/zip -gkjq %s %s"
    arc     rar     "/usr/local/bin/rar a -ep -s -m3 -inul %s %s"

    prog    gate    "/fido/fidogate/ftn2rfc %s"

    ######## P A C K I N G #######################################################

    pack    noarc   2:2432/605.1
    pack    noarc   37:109/980.1
    pack    rar     2:2432/605.3
    pack    zip     *

Alles Mails an Points werden mit ZIP gepackt. Meine Mails werden nicht gepackt, weil es schwachsinnig waehre. Weitere Ausnahme ist .3 dessen Mails werden mit `rar` gepackt.

Aber damit sind wir immer noch nicht durch. Jetzt kommt die letzte Datei `/usr/local/lib/fidogate/passwd`

    ff      2:2432/600      GEHEIM
    ff      37:109/900      GEHEIM

    af      2:2432/605.00   GEHEIM          "Matthias Schniedermeyer"
    af      2:2432/605.01   GEHEIM          "Matthias Schniedermeyer"
    af      2:2432/605.02   GEHEIM          "Demo-Point 1"
    af      2:2432/605.03   GEHEIM          "Demo-Point 2"
    af      2:2432/605.04   GEHEIM          "Demo-Point 3"

Jetzt sind wir mit Fidogate erstmal fertig. :-)

Zurück Weiter Inhaltsverzeichnis