Mystic BBS mit BinkD unter Linux: Unterschied zwischen den Versionen

Aus FidoPedia
Wechseln zu: Navigation, Suche
(Kategorie(n) geaendert (test))
 
(15 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
== WORK IN PROGRESS ==
+
[[Kategorie:Software:Anleitung:Linux]]
Der Inhalt dieser Seite wird aktuell bearbeitet. Erst, wenn dieser Hinweis verschwunden ist, bin ich fertig. Das kann auch ein paar Tage dauern..
 
  
 
== Einleitung ==
 
== Einleitung ==
Zeile 17: Zeile 16:
 
== Konfiguration ==
 
== Konfiguration ==
 
=== BinkD ===
 
=== BinkD ===
Nach der Installation bearbeiten wir zuerst die Datei <code>/etc/binkd/binkd.cfg</code> mit einem Text-Editor unserer Wahl. Fehlt diese Datei, liegt sie evtl. unter <code>/usr/share/doc/binkd</code>. Zur Not kann man auch den [http://binkd.grumbler.org Quellcode herunterladen] und dort die Beispieldatei entnehmen.
+
Nach der Installation bearbeiten wir zuerst die Datei <code>/etc/binkd/binkd.cfg</code> mit einem Text-Editor unserer Wahl. Fehlt diese Datei, liegt sie evtl. unter <code>/usr/share/doc/binkd</code>. Eine leicht angepasste Version der originalen Beispiel-Konfiguration des Debian-Paketes [[Binkd.mystic.linux.cfg|gibt es auch hier im Wiki.]]
  
 
Die Datei ist sehr ausführlich kommentiert, weshalb ich hier nur auf die notwendigen Änderungen eingehe:
 
Die Datei ist sehr ausführlich kommentiert, weshalb ich hier nur auf die notwendigen Änderungen eingehe:
Zeile 93: Zeile 92:
  
 
==== Beispiel binkd.cfg ====
 
==== Beispiel binkd.cfg ====
BinkD lässt sich natürlich noch wesentlich feiner konfigurieren. Das ist fuer den Betrieb jedoch zunächst nicht nötig. Alle anderen Parameter übernehmen wir mit ihren Standardwerten aus der Beispiel-Konfiguration:
+
BinkD lässt sich natürlich noch wesentlich feiner konfigurieren. Das ist fuer den Betrieb jedoch zunächst nicht nötig. Alle anderen Parameter übernehmen wir mit ihren Standardwerten aus der [[binkd.mystic.linux.cfg|Beispiel-Konfiguration]].
<pre># Binkd sample configuration file
 
# Copyright (C) 1996-1997 Dima Maloff, 2:5047/13
 
# Copyright (C) 1998-2009 Binkd Development Team
 
# $Id: binkd.cfg,v 2.13.2.9 2011/08/17 15:44:48 stas Exp $
 
  
# Dump configuration (and not exit). Use for debugging only,
+
=== MysticBBS ===
#debugcfg
+
Ich werde hier selbstverständlich nur auf die Konfiguration der FTN-Netze unter MysticBBS eingehen. Der Rest sollte bereits konfiguriert sein und funktionieren. In meinen Beispielen verwende ich den Basis-Pfad <code>/opt/mystic/</code> statt des Standard-Pfades <code>/mystic/</code>. Dies muss ggf. beim Übertragen in die eigene Konfiguration angepasst werden.
  
#
+
Zur Konfiguration dient das Programm "mystic":
# Your FTN domains:
+
<pre>~# ./mystic -CFG</pre>
# domain <name> <main-outbound> <default-zone>
 
# or
 
# domain <new-name> alias-for <name>
 
#
 
  
# FidoNet:
+
==== Eigene Adressen ====
domain fidonet /opt/mystic/echomail/out/fidonet 2
+
Zunächst tragen wir unsere eigenen FTN-Adressen ein. Dies geschieht im Menü <code>(C)onfiguration -> (E)chomail Addresses</code>
domain fidonet.org alias-for fidonet
+
Der erste Eintrag muss bestehen bleiben, wie er ist. Wir wählen den nächsten "freien" (0:0/0) aus und bestätigen mit der Eingabetaste.
domain fidonet.net alias-for fidonet
+
Dort können wir nun unsere eigene Adresse eintragen. Siehe hierzu auch das Beispiel-Bild #3, hierunter.
domain fidonet.rus alias-for fidonet
+
Die FidoNet Adresse wird als "Primary" eingestellt - weitere Netze nicht.
domain fido alias-for fidonet
 
domain fidorus    alias-for fidonet
 
domain fido7      alias-for fidonet
 
  
# GerBBS:
+
<gallery>
domain ger-bbs /opt/mystic/echomail/out/ger-bbs 2
+
File:Fido-mystic-1.jpg|''Bild 1:'' (C)onfiguration -> (E)choMail Addresses
domain gerbbs alias-for ger-bbs
+
File:Fido-mystic-2.jpg|''Bild 2:'' (E)choMail Addresses
domain ger.bbs alias-for ger-bbs
+
File:Fido-mystic-3.jpg|''Bild 3:'' Eigene Adresse eintragen
 +
File:Fido-mystic-4.jpg|''Bild 4:'' Up- & Downlink Nodes eintragen
 +
</gallery>
  
# SurvNet:
+
==== Nodes (Up- & Downlink) ====
domain survnet /opt/mystic/echomail/out/survnet 2
+
[[File:Fido-mystic-5.jpg|frame|''Bild 5:'' Beispiel-Konfiguration eines UpLink Nodes]]
 +
[[File:Fido-mystic-6.jpg|frame|''Bild 6:'' Beispiel Session-Daten eines UpLink Nodes]]
 +
Unter <code>(C)onfiguration -> EchoMail (N)odes</code> werden nun die Up- und Downlinks eingetragen. Dazu öffnen wir das Menue und drücken dort <code>/</code> <code>i</code>, um einen neuen Node zu erstellen und öffnen diesen dann mit der Eingabetaste, um ihn zu konfigurieren, wie auf Beispiel-Bild #5 und #6:
  
#
+
:'''(D)escription:''' Freitext Beschreibung des Nodes.
# Your addresses, 4D or 5D:
+
:'''(A)ctive:''' Soll für diesen Node getosst werden?
# address <addr1> ...
+
:'''A(r)chive Type:''' Dateiformat für empfangene und versendete Dateien. Normalerweise ist das ZIP.
#
+
:'''Export T(y)pe:''' Normal
address 2:240/5853@fidonet 75:18/6@ger-bbs 9:92/6@survnet
+
:'''All(F)ix PW:''' AreaFix, FileFix, *Fix Kennwort, welches Ihr von Eurem Uplink mitgeteilt bekommen habt. (Bei Point-Konfigurationen müsst Ihr dieses Kennwort Eurem Point mitteilen..)
 +
:'''P(K)T Password:''' Kennwort, mit dem die PKT-Files gesichtert werden sollen. (Bekommt Ihr ebenfalls entweder von Eurem Uplink, oder Ihr müsst es Eurem Downlink mitteilen..)
 +
:'''Session (T)ype:''' Da wir BinkD als Mailer verwenden, stellen wir hier ''Directory'' ein und nicht ''BinkP'', wie voreingestellt.
 +
:'''Ro(u)te Info:''' Routing-Info, welche Mails über diesen Node versandt werden sollen. Wildcards sind erlaubt, Regeln werden mit Leerzeichen getrennt und frühere Regeln haben höhere Priorität. Die Beispiel-Konfiguration <code>1:* 2:* 3:* 4:* 5:*</code> passt für einen einzelnen Fido Uplink, da so einfach alle Mails aus allen Zonen über diesen Node versendet werden.
 +
:'''(M)ax PKT Size:''' 0 für unbegrenzt
 +
:'''Max AR(C) Size:''' 0 für unbegrenzt
 +
:'''Us(e) FileBox:''' [[FileBox]] verwenden?
 +
:'''TIC Pass(w)ord:''' Kennword für TIC-Files (fdn), welches Euch Euer Node mitgeteilt hat, oder Ihr Eurem Point mitteilen müsst.
 +
:'''(Z)one:''' Zone des Up- oder Downlinks (nicht Eure eigene)
 +
:'''(N)et:''' Net-Adresse des Up- oder Downlinks (nicht Eure eigene)
 +
:'''N(o)de:''' Node-Adresse des Up- oder Downlinks (nicht Eure eigene)
 +
:'''Doma(i)n:''' Gleiche, wie in der Konfiguration der eigenen Adresse und in der <code>binkd.cfg</code>
 +
:'''(S)ession Options:''' Zuletzt öffnen wir die (S)ession Options, um dort noch die beiden Pfade fuer in- und outbound einzutragen:
 +
::'''(O)utbound Dir:''' Verzeichnis, in dem ausgehende Dateien erstellt werden sollen. Für einen FidoNet Uplink einfach aus Bild #5 übernehmen.
 +
::'''(I)nbound Dir:''' Verzeichnis, in dem eingehende Dateien gesucht werden sollen. Für einen FidoNet Uplink einfach aus Bild #5 übernehmen.
  
#
 
# The name of your system, its location and your name
 
#
 
sysname "Mailboxname"
 
location "Ort, Land"
 
sysop "Max Mustermann"
 
  
#
+
==== Message Group erstellen ====
# System capabilities
+
Nun erstellen wir eine Gruppe für alle Areas dieses Netzes. Dies ist optional und dient nur der besseren Übersicht in der BBS.
#
+
Hierzu gehen wir in das Menü <code>(E)ditors -> Message (G)roup Editor</code>, erstellen dort mit <code>/ I</code> eine neue Gruppe und öffnen sie mit der Eingabetaste zum Bearbeiten:
nodeinfo 115200,TCP,BINKP
+
:'''(N)ame:''' Freitext Bezeichnung für die Gruppe.
 +
:'''(A)ccess:''' Zugangsbedingungen für die Gruppe. Keine Sorge - wir verfeinern diese Einstellung später noch. <code>s10</code> ist okay, als Einstellung.
 +
:'''(H)idden:''' Ob die Gruppe in der Gruppen-Liste angezeigt werden soll, oder nicht.
  
#
+
<gallery>
# TCP settings. Leave this unchanged if not sure.
+
File:Fido-mystic-7.jpg|''Bild 7:'' (E)ditors -> Message (G)roup Editor
#
+
File:Fido-mystic-8.jpg|''Bild 8:'' Message Group List
#iport binkp
+
File:Fido-mystic-9.jpg|''Bild 9:'' Message Base List
#oport binkp
+
</gallery>
#oblksize 4096
 
#timeout 300
 
#connect-timeout 300
 
#bindaddr 192.168.0.3
 
  
#
+
==== Netmail Area erstellen ====
# HTTPS or SOCKS settings. Require build with feature https (configure --with-https)
+
[[File:Fido-mystic-10.jpg|frame|''Bild 10:'' Beispiel-Konfiguration der Netmail Area]]
#
+
Nun muss noch eine Area für die Netmails von Hand erstellt werden. Die weiteren Areas werden später automatisch erstellt:
# proxy 192.168.0.3:3128      <- regular http/https proxy (i.e. squid)
 
# proxy 192.168.0.3:3128/user/password  <- proxy required username/password
 
#                                          (as in browser)
 
#
 
# proxy 192.168.0.3:3128/user/password/your_host/your_domain
 
# ^- proxy required NTLM authorization with username/password
 
#      Require build with feature ntlm (configure --with-ntlm)
 
# your_host  -- Windows host name without domain (i.e. MY_HOST)
 
# your_domain -- Windows domain name (not FQDN, i.e. DEFAULT_DOMAIN)
 
#
 
# socks 192.168.0.3:1080    <- socks4 proxy
 
# socks 192.168.0.3:1080/  <- socks5 proxy without authorization
 
# socks 192.168.0.3:1080/user/password  <- socks5 proxy with username/password
 
#                                          (RFC-1929)
 
  
#
+
:'''(N)ame:''' Freitext Name der Area, wie er in der BBS angezeigt wird.
# Delay of calls and outbound rescans
+
:'''Ne(w)sgroup:''' Freitext Name der Newsgroup, falls Ihr den internen NNTP Server von MysticBBS verwendet (tut das nicht!)
#
+
:'''(Q)WK Name:''' Name der Area in QWK-Paketen. (Optional)
call-delay 60
+
:'''Echo Tag:''' Echo Tag der Area. (Optional)
rescan-delay 60
+
:'''(F)ile Name:''' Dateiname der Message-Base-Datei in Eurem Dateisystem.
 +
:'''(P)ath:''' Pfad zu der Message-Base-Datei in Eurem Dateisystem.
 +
:'''(L)ist ACS:''' Zugriffsbeschränkungen um diese Area in Listen sehen zu können. ''Beispiel:'' <code>s20g2</code> um sie nur registrierte Benutzern anzuzeigen, die gerade Gruppe 2 ausgewählt haben.
 +
:'''(R)ead ACS:''' Zugriffsbeschränkungen zum Lesen von Mails in dieser Area. Hier keine Gruppen-Beschränkungen anhängen, da sonst der "New-Mail-Scan" nicht mehr funktioniert.
 +
:'''Post A(C)S:''' Zugriffsbeschränkungen für das Schreiben von Mails. Achtet darauf, dass im FidoNet RealName-Pflicht herrscht und Ihr im Zweifelsfalle für Eure User geradestehen müsst. Gebt also nicht jedem Zugriff! Ich habe hierfür eine extra Gruppe <code>s30</code> angelegt, die User nur bekommen, nachdem ich die eingewiesen habe.
 +
:'''S(y)sop ACS:''' Zugriffsbeschränkungen für Sysop-Funktionen. Üblicherweise <code>s255</code>.
 +
:'''Net A(d)dress:''' Hier wählen wir das passende Netz (z.B. FidoNet) mit unserer eigenen Node-Adresse aus, die wir zuvor in Schritt "4.2.1 Eigene Adressen" erstellt haben.
 +
:'''Export To:''' Hier wählen wir mindestens den Uplink Node aus, den wir zuvor in Schritt "4.2.2 Nodes (Up- & Downlink)" erstellt haben. Optional auch weitere Nodes und/oder Points, die wir mit Mails versorgen.
 +
:'''Or(i)gin:''' Origin-Line, die allen Mails angehängt wird, die aus der BBS versendet werden. (Werbung für die BBS)
 +
:'''(S)ponsor:''' Keine Ahnung...
 +
:'''R (T)emplate:''' Ansi-Template zum Lesen der von Mails
 +
:'''L Te(m)plate:''' Ansi-Template für die Mail-Listen
 +
:'''QWK Network:''' QWK-Netzwerk dieser Area (folgt)
 +
:'''QWK Base ID:''' QWK-Base-ID dieser Area (folgt)
 +
:'''Div. Colors:''' Könnt Ihr Euch denken...
 +
:'''(M)ax Msgs:''' Maximale Anzahl von möglichen Nachrichten in dieser Area.
 +
:'''Max Msg Age:''' Maximales Alter von Nachrichten in dieser Area.
 +
:'''New Scan:''' Soll diese Area in den "New-Mail-Scan" einbezogen werden?
 +
:'''QWK Scan:''' Soll diese Area in den "QWK-Scan" einbezogen werden?
 +
:'''B(a)se Type:''' Lokal, Echomail oder Netmail? In diesem Fall: <code>Netmail</code>
 +
:'''(B)ase Format:''' Dateiformat für die Message-Base-Datei. JAM ist moderner, Squish ist kompatibler.
 +
:'''(H)eader:''' Keine Ahnung...
 +
:'''Real Names:''' Herrscht Real-Name-Pflicht?
 +
:'''Autosigs:''' Sollen automatische Signaturen der User angehängt werden?
 +
:'''Pri(v)ate:''' Sind Mails in dieser Area privat oder öffentlich? Für Netmails: <code>Yes</code>
 +
:'''Pvt Reply:''' Sind Antworten privat?
 +
:'''All(o)w ANSI:''' Ansi in Nachrichten erlauben? (Vielerorts nicht erwünscht)
  
#
+
==== Semaphore Events ====
# Max. number of inbound/outbound connections
+
In unserer Beispiel-Konfiguration für BinkD haben lassen wir bereits bei eingehenden Dateien Semaphore-Files erstellen. Damit diese auch abgegriffen werden, müssen wir in MysticBBS passende Events erstellen.
#
+
Dazu gehen wir in das Menü <code>(E)ditors -> (E)vent Editor</code> und suchen uns entweder einen passenden Event aus der Liste aus, um ihn zu bearbeiten oder erstellen einen neuen, indem wir <code>/</code> <code>I</code> drücken.
maxservers 5
 
maxclients 5
 
  
#
+
<gallery>
# Binkd will try to call a node N times. If failed it will
+
File:Fido-mystic-11.jpg|''Bild 11:'' (E)ditors -> (E)vent Editor
# hold the node for S seconds. The feature is off by default.
+
File:Fido-mystic-12.jpg|''Bild 12:'' Event list
#
+
</gallery>
try 10
 
hold 600
 
  
#
+
'''Outbound Mail'''
# hold-skipped <S>
+
[[File:Fido-mystic-13.jpg|frame|''Bild 13:'' Beispiel-Konfiguration Semaphore Event für ausgehende Nachrichten]]
# Binkd will hold for S seconds all mail skipped by a node. (Def. -- 3600)
+
:'''Active:''' <code>Yes</code>
#
+
:'''Description:''' <code>Freitext</code> - Beschreibung des Events
#hold-skipped 3600
+
:'''Exec Hour:''' <code>0</code> - da es ein Semaphore-Event ist und nicht regelmässig ausgeführt wird.
 +
:'''Exec Min:''' <code>0</code> - s.o...
 +
:'''Shell:''' <code>/opt/mystic/mutil /opt/mystic/export.ini</code> - Auszuführendes Programm (Konfiguration s.u.)
 +
:'''Semaphore:''' <code>echomail.out|netmail.out</code> - Auslösende(s) Semaphore-File(s) (im Semaphore-Verzeichnis)
 +
:'''Node:''' <code>0</code> - Gar kein Node - lokale Ausführung.
 +
:'''Warning:''' <code>0</code> - Keine Warnung.
 +
:'''SUN-SAT:''' <code>No</code> - Keine regelmäßige Ausführung.
  
#
+
'''Incoming Mail'''
# Don't send (only receive) files if no password for an inbound session
+
[[File:Fido-mystic-14.jpg|frame|''Bild 14:'' Beispiel-Konfiguration Semaphore Event für eingehende Nachrichten]]
#
+
:'''Active:''' <code>Yes</code>
send-if-pwd
+
:'''Description:''' <code>Freitext</code> - Beschreibung des Events
 +
:'''Exec Hour:''' <code>0</code> - da es ein Semaphore-Event ist und nicht regelmässig ausgeführt wird.
 +
:'''Exec Min:''' <code>0</code> - s.o...
 +
:'''Shell:''' <code>/opt/mystic/mutil /opt/mystic/import.ini</code> - Auszuführendes Programm (Konfiguration s.u.)
 +
:'''Semaphore:''' <code>echomail.in|netmail.in</code> - Auslösende(s) Semaphore-File(s) (im Semaphore-Verzeichnis)
 +
:'''Node:''' <code>0</code> - Gar kein Node - lokale Ausführung.
 +
:'''Warning:''' <code>0</code> - Keine Warnung.
 +
:'''SUN-SAT:''' <code>No</code> - Keine regelmäßige Ausführung.
  
#
+
==== mutil ====
# Path and name for the logfile, loglevel
+
In den Events haben wir ein Tool namens <code>mutil</code> gestartet. Dieses befindet sich, zusammen mit einer Beispiel-Konfiguration <code>mutil.ini</code> im Stammverzeichnis der MysticBBS Installation.
#
 
log /var/log/binkd/binkd
 
loglevel 6
 
  
#
+
Um zu funktionieren benötigt <code>mutil</code> eine <code>.ini</code>-Datei, mit der konfiguriert wird, was es tun soll. Was das Tool alles kann seht Ihr in der Beispiel-Konfiguration <code>mutil.ini</code>. Wir interessieren uns jetzt aber nur für das Tossen eingehender und ausgehender Mails. Hierfür zwei Beispiel-Konfigurationen: [[mystic.mutil.mail.import.ini|import.ini]] und [[mystic.mutil.mail.export.ini|export.ini]]
# Uncomment it if you want binkd's log at your console
 
#
 
conlog 4
 
  
#
+
==== Nodeliste(n) importieren ====
# Uncomment if you want T-Mail(FrontDoor)-style binary log
+
Auch das kann <code>mutil</code>. Auch hierzu eine Beispiel-Konfiguration: [[mystic.mutil.nlmerge.ini|nlmerge.ini]]
# (Will work and have sense on PCs only?)
 
# Tzoff corrects UTC time returned by time() under DOS-derived OS
 
#
 
#binlog binkd.sts
 
#fdinhist in.his
 
#fdouthist out.his
 
#tzoff 10800
 
  
#
+
Das ganze sollte am Besten bei Empfang neuer Nodelists über Semaphore-Files automatisiert werden, aber das habe ich auch noch vor mir. Ich werde dieses HOWTO entsprechend erweitern, wenn ich so weit bin.
# Use syslog (Only if made with -DHAVE_VSYSLOG and -DHAVE_FACILITYNAMES)
 
#
 
#syslog local0
 
  
#
+
Bis dahin bleibt der manuelle Start:
# Print percents while sending or receiving
+
<pre>~# /opt/mystic/mutil /opt/mystic/nlmerge.ini</pre>
#
 
percents
 
  
#
+
Die aktuelle FidoNet Nodelist als Web Download gibt es u.A. bei der [http://ambrosia60.dd-dns.de/bbsfiles/Nlist.Htm Ambrosia BBS]
# List queue after rescans. May produce extra output in console
 
#
 
printq
 
  
#
+
=== System ===
# Perform reverse resolving (for logging only)
+
==== Benutzer, Gruppen & Rechte ====
#
+
Mit den Standard-Einstellungen laufen BinkD und MysticBBS mit unterschiedlichen Benutzern, so dass BinkD nicht auf die in- und out-bound Verzeichnisse zugreifen kann und/oder MysticBBS nicht auf die Dateien.
backresolv
+
Um dieses Problem zu lösen können wir entweder den BinkD-Benutzer <code>ftn</code> der MysticBBS-Gruppe hinzufügen und andersherum und die Rechte des MysticBBS-Verzeichnisses entsprechend anpassen.
  
#
+
Zum Beispiel:
# Log pid:
+
<pre>~# useradd -G mystic ftn
#
+
~# useradd -G ftn mystic
pid-file /var/run/ftn/binkd.pid
+
~# chown -R mystic:mystic /opt/mystic
 
+
~# chmod -R 770 /opt/mystic/echomail
#
+
~# chmod -R 770 /opt/mystic/semaphore
# Map paths in flo's:
+
~# find /opt/mystic/echomail -type f -exec chmod 660 "{}" \;
# ftrans <old-string> <new-string>
+
~# find /opt/mystic/semaphore -type f -exec chmod 660 "{}" \;</pre>
# Use as many ftrans's as you want.
+
(In diesem Beispiel läuft MysticBBS mit dem Benutzer und der Gruppe <code>mystic</code> und MysticBBS ist unter <code>/opt/mystic/</code> installiert. Beides muss ggf. den lokalen Gegebenheiten angepasst werden.)
#
 
#ftrans "D:\\fido\\outbound" "/var/spool/fido/outb"
 
#ftrans "\\" "/" # this replaces all slashes in a path
 
 
 
#
 
# Inbound directory for secure and non-secure links
 
#
 
inbound /opt/mystic/echomail/in
 
inbound-nonsecure /opt/mystic/echomail/in/unsecure
 
 
 
#
 
# Directory for incomplete receiving files (.hr and .dt),
 
# default to inbound for the node
 
#
 
#temp-inbound /var/spool/ftn/inb/incomplete
 
 
 
#
 
# Binkd will skip all files from a node if
 
# size_of_the_next_file_for_us_there + minfree < free_space_in_inbound
 
#
 
minfree 2048
 
minfree-nonsecure 2048
 
 
 
#
 
# When trying to receive a new file: remove partial files with this
 
# name but different size or time from inbound. (If commented out, binkd
 
# will left old parts as .dt and .hr in the inbound directory)
 
#
 
kill-dup-partial-files
 
 
 
#
 
# Remove all old partial files from inbound. (OFF if commented out)
 
# kill-old-partial-files <max-age-in-seconds>
 
#
 
kill-old-partial-files 86400
 
 
 
#
 
# Remove old .bsy/.csy files (If some are left after a system crash). It would
 
# be wise to set this to 43200 (12 hrs) on almost any system. (Note that binkd
 
# always touches .bsy's/.csy's for active sessions)
 
#
 
# kill-old-bsy is OFF by default.
 
#
 
#kill-old-bsy 43200
 
 
 
#
 
# Create a flag file after receiving a file
 
#
 
#flag toss!.now *.pkt
 
#flag toss!.now *.su? *.mo? *.tu? *.we? *.th? *.fr? *.sa?
 
 
 
flag /opt/mystic/semaphore/echomail.in *.su? *.mo? *.tu? *.we? *.th? *.fr? *.sa? *.pkt *.TIC
 
flag /opt/mystic/semaphore/echomail.out *.su? *.mo? *.tu? *.we? *.th? *.fr? *.sa? *.pkt
 
 
 
#
 
# Run an external program.
 
# The "*S" macro in command line substed with S.R.I.F., see !SRIF.TXT
 
# The "!" before program pathname means immediate program execution
 
#  after receiving the file.
 
# *** win32 only:
 
# The "@" before program pathname means execute program in separate console
 
# The "@@" before program pathname means execute program in hidden console
 
# ***
 
# Macros: *F - complete name of received file,
 
#        *A0..*A9 - first 10 AKA of remote system,
 
#        *A*, *A@ - list of all remote AKA separated by spaces
 
#        *P - password protected [0|1],
 
#        *L - listed system [0|1]
 
#        *H - remote hostname or IP,
 
#        *N - short file name (win32 only).
 
#
 
#exec "my-freq-processor.exe /options *S" *.req
 
#exec "my-pkt-unpacker.exe /options *S" *.pkt
 
 
 
#
 
# Include a file
 
#
 
 
 
# binkd nodelist
 
# (Muss VOR den "node"-Definitionen stehen, nicht dahinter,
 
# wie in der Originalen Beispiel-Datei..)
 
include /etc/binkd/bt_ibn.inc
 
 
 
# debian default includes
 
include /etc/binkd/binkd.inc
 
 
 
#
 
# Overrides root domain for DNS lookups, see `node' below.
 
#
 
root-domain bbs.kennmer.net
 
 
 
#
 
# Scan T-Mail boxes (short and long)
 
#
 
#filebox  c:\\fido\\tmail\\boxes
 
 
 
#
 
# Scan theBrake! long boxes
 
#
 
#brakebox  c:\\fido\\brake\\boxes
 
 
 
#
 
# Should binkd delete empty boxes?
 
# uncomment the following line if yes
 
#
 
#deletebox
 
 
 
#
 
# Scan node outbound while connecting and send mail size to remote
 
#
 
prescan
 
 
 
#
 
# t-mail, ifcico or qico passwords file
 
# Format of passwords file:
 
#  [password] <FTN address> <password for the link>
 
# where:
 
#  [password]              optional token "password"
 
<FTN address>           address of a link in the form 1:2/3.4@domain
 
#                            or 1:2/3@domain or 1:2/3 or 1:2/3.4
 
#  <password for the link>  secret password (one word, without spaces or tabs)
 
#
 
#passwords c:\\fido\\t-mail\\password.lst
 
  
#
+
'''...oder man lässt BinkD einfach mit dem gleichen Benutzer laufen, wie MysticBBS.'''
# Skip (destructive!) this files
 
#
 
#skipmask pm2*.* *.mp3
 
  
#
+
Hierzu bearbeiten wir das Init-Script von BinkD und ersetzen in Zeile 26 & 28 Benutzer und Gruppe hinter dem Parameter <code>--chuid</code> durch die, mit denen auch MysticBBS läuft:
# Overwrite the existing file by the new received,
+
<pre>  start)
# do not save with the changed extension
+
    log_daemon_msg 'Starting FTN mailer' $NAME
#
+
    [ -d /var/run/ftn/ ] || \
#overwrite net_*.*
+
    install -d -o mystic -g mystic -m 0750 /var/run/ftn/
 +
    start-stop-daemon --start --quiet --background --pidfile $PIDFILE \
 +
  --chuid mystic:mystic --exec $DAEMON -- $OPTS
 +
    log_end_msg $?
 +
    ;;</pre>
 +
Hiernach müssen noch die Rechte für <code>/etc/binkd/*</code> und <code>/var/run/ftn</code> dem neuen Benutzer angepasst werden:
 +
<pre>~# chown root:mystic /etc/binkd/binkd.cfg
 +
~# chown root:mystic /etc/binkd/binkd.inc
 +
~# chown root:mystic /etc/binkd/bt_ibn.inc
 +
~# chmod 640 /etc/binkd/binkd.cfg
 +
~# chmod 640 /etc/binkd/binkd.inc
 +
~# chmod 640 /etc/binkd/bt_ibn.inc
 +
~# chown -R mystic:mystic /var/run/ftn</pre>
  
#
+
Nach einem Neustart von BinkD sollte dieser nun mit dem MysticBBS-Benutzer laufen und auch bereits seinen Dienst verrichten.
# Inbound filename case:
 
#    inboundcase [save(default)|upper|lower|mixed]
 
#
 
# 'save'  don't change filename case (default)
 
# 'upper' uppercase filename (FILE-NAME.EXT)
 
# 'lower' lowercase filename (file-name.ext)
 
# 'mixed' make filename pretty (File-Name.Ext)
 
#
 
# * tested only with english filenames
 
#
 
#inboundcase save
 
  
#
+
=== MailEchos Bestellen ===
# Should binkd delete empty point dirs in BSO?
+
Nun ist eigentlich alles fertig konfiguriert. Es fehlen nur noch die MailEchos. Um diese zu bestellen schreiben wir unsere(n) erste(n) Netmail(s) in unserer BBS an <code>AreaFix</code> mit der Adresse unseres Uplinks und als Subject das AreaFix-Kennwort, welches uns unser Uplink mitgeteilt hat. Als Inhalt erstmal nur <code>%HELP</code>.
# Uncomment the following line if yes
 
#
 
#deletedirs
 
  
#
+
Nach dem Speichern der Mail sollte relativ schnell eine Antwort vom AreaFix des Uplinks kommen (wenige Minuten) - wir koennen den Verlauf auch in den Logfiles verfolgen: <code>/var/log/binkd/binkd</code> und <code>/opt/mystic/logs/fido.log</code>
# Use Amiga Style Outbound (ASO), require build with enabled feature "aso" (configure --with-aso)
 
#
 
#aso
 
  
#
+
In der Antwort erklärt uns AreaFix, wie es bedient werden möchte. Hier gibt es kleine Unterschiede, je nach verwendeter Software. Wahrscheinlich versteht er jedoch folgende Kommandos:
# Define a link:
 
#      node [[z:]n/]n[.p][@domain] [-nr|-nd] [-md] [-ip|-sip] [{hosts|-} [{pwd|-} [flavour [{obox|-} [{ibox|-}]]]]]
 
#
 
# * All non-"-" fields will redefine the values specified for the same node
 
# earlier in config.
 
# * Flavour is one of i, c, d, -, h; and is the flavour for the outbound
 
#  filebox ("obox").
 
# * Binkd sends from obox all non-dir entries NOT matching ".*" wildcard.
 
# EVERY TIME YOU PUT A FILE INTO OBOX CHECK IF BINKD WILL BE ABLE TO
 
# UNLINK IT. Otherwise, the session will never end.
 
# * Default for ibox is inbound or inbound-nosecure depending on the pwd field.
 
# * Default for port is oport.
 
# * `-nr' stands for `Not Reliable Link', this works only on outbound calls
 
# with another binkp/1.1 mailer. The option solves the only problem with
 
# binkd having no enough time to start receiving of a file from
 
# non-zero offset before IP link's down, so don't use it unless you
 
# have this problem -- really not effective
 
# * `-nd' means "No Dupe Mode", this works only on outbound calls with
 
# another binkd 0.9.3 or higher. The option solves problem with
 
# duplicating files while losts carrier but link is a bit slower
 
# then with "-nr" option
 
# * `-md' means "Must have CRAM-MD5". This works only with nodes with
 
#      binkd or argus supported this method. Do not set it if your link
 
#      can use the old version of binkd.
 
# * `-nomd' - do not use CRAM-MD5 for this node (send plain text password)
 
# * `-ip' means "Remote IP check". In this case the node will be
 
#      rejected if it comes not from one of its IP-addresses.
 
# * `-sip' means "Strict remote IP check". Like "-ip", but node will be
 
#      rejected if no IP-addresses allowed ("-" or not resolved).
 
# * Hosts is a list in form
 
#      host1[:port1][;host2[:port2]] ...
 
# * Asterisk (`*') in the host list forces Binkd to perform
 
#      1:2/3.4 --> p4.f3.n2.z1.binkp.net translation for a node's
 
#      Fido-address and lookup IP for the resulting FQDN in DNS.
 
#      Root domain part ("binkp.net") can be changed with root-domain
 
#      keyword.
 
#
 
#node 5047/888 - password
 
#node 5047/999 hostname;* password i c:\\fido\\boxes\\to999 c:\\fido\\boxes\\from999
 
  
# FidoNet Uplink:
+
:'''%LIST''' Eine Liste aller abonnierbaren Echos
node 2:24/0@fidonet example.com;example.org seCrEt i
+
:'''+<ECHONAME>''' Ein Echo bestellen
node 2:240/5700@fidonet example.com;example.org seCrEt i
+
:'''-<ECHONAME>''' Ein Echo abbestellen.
node 2:240/5832@fidonet example.com;example.org seCrEt i
 
node 2:240/5833@fidonet example.com;example.org seCrEt i
 
node 2:240/5834@fidonet example.com;example.org seCrEt i
 
  
# GerBBS Uplink:
+
Bestellen wir zunächst einmal die Echos <code>NODES.024</code> und <code>NODES.240</code>:
node 75:18/0@ger-bbs example.net SeCReT i
 
  
# SurvNet Uplink:
+
<pre>To: AreaFix (2:240/1234)
node 9:92/1@survnet example.net SeCReT i
+
Subject: PaSSwOrD
 +
+NODES.024
 +
+NODES.240
 +
%RESCAN NODES.024
 +
%RESCAN NODES.240</pre>
  
# Meine Points
+
Mit dem <code>%RESCAN</code> sorgen wir dafuer, dass wir auch gleich alle alten Mails geliefert bekommen.
node 2:240/5853.1 - sEcReT
+
Wenig später sollten die Mails dann automatisch bei Euch ankommen, und die Echos mit den Standard-Werten aus der Datei [[mystic.mutil.mail.import.ini|import.ini]] erstellt werden.
node 2:240/5853.2 - sEcReT
 
  
#
+
Das war's: Ihr habt FidoNet in Eurer MysticBBS! Jetzt ran an die Tasten und kräftig Mails schreiben! :)
# Default node flags. Binkd will call unlisted node if "defnode" defined.
 
#
 
#defnode -nr *</pre>
 

Aktuelle Version vom 17. Juni 2019, 16:43 Uhr


Einleitung

MysticBBS kommt zwar schon von Haus aus mit einer eigenen BinkP-Implementation, die hat jedoch in ihrer aktuellen Version (v1.10 beim Schreiben dieses Artikels) noch einige Probleme, weshalb ich schnell auf BinkD umgestiegen bin. Hier versuche ich in kurzen Worten zu erklären, wie ich BinkD zusammen mit MysticBBS und dem MysticBBS Tosser eingerichtet habe. Da ich selbst erst wenige Wochen wieder im Thema bin, sind Irrtümer und Fehler verbehalten und zu erwarten. Bitte nutzt die Diskussions-Seite um Korrekturen zu besprechen.

Verwendete Software

Ich gehe nicht weiter auf die Installation der Software ein - binkd gibt es im Repository so gut wie jeder Linux Distribution und MysticBBS kommt mit einem proprietären Installationsprogramm.

Zum Schreiben dieses HOWTO habe ich Debian Wheezy verwendet - bei anderen Distributionen und/oder Versionen können einzelne Dateipfade abweichen - die eigentliche Konfiguration funktioniert jedoch in allen Distributionen gleich.

Konfiguration

BinkD

Nach der Installation bearbeiten wir zuerst die Datei /etc/binkd/binkd.cfg mit einem Text-Editor unserer Wahl. Fehlt diese Datei, liegt sie evtl. unter /usr/share/doc/binkd. Eine leicht angepasste Version der originalen Beispiel-Konfiguration des Debian-Paketes gibt es auch hier im Wiki.

Die Datei ist sehr ausführlich kommentiert, weshalb ich hier nur auf die notwendigen Änderungen eingehe:

domain

Hier werden die einzelnen FTN-Netze mit Standard-Konfigurationen hinterlegt. Für FidoNet sind folgende Einträge nötig:

domain domainname     </pfad/zu/mysticbbs/echomail/outbound/verzeichnis> <zone-id>
domain domainalias    alias-for domainname
domain domainname.org alias-for domainname

Für FidoNet in Europa z.B:

domain fidonet     /opt/mystic/echomail/out/fidonet 2
domain fidonet.org alias-for fidonet
domain fidonet.net alias-for fidonet
domain fidonet.rus alias-for fidonet
domain fido        alias-for fidonet
domain fidorus     alias-for fidonet
domain fido7       alias-for fidonet

Weitere Netze werden entsprechend angelegt. Zu beachten ist hierbei, dass bei allen weiteren Netzen die gleiche Zone-ID anzugeben ist, auch wenn das gar nicht stimmt. Hierdurch werden fuer ein- und ausgehende Nachrichten Unterverzeichnisse mit der echten zone-id angelegt, genau so, wie MysticBBS es erwartet und ebenfalls tut.

address

Hier werden die verschiedenen Adressen mitsamt Domain angegeben. Mehrere Adressen einfach mit Leerzeichen getrennt in einer Zeile angeben:

Zum Beispiel:

address 2:240/1234@fidonet 75:18/1234@ger-bbs

sysname, location, sysop

Sollte klar sein.. Diese Informationen werden bei Verbindungen per BinkP gesendet.

Zum Beispiel:

sysname  "Mailboxname"
location "Ort, Land"
sysop    "Max Mustermann"

inbound

Das Verzeichnis, in dem ankommende Dateien bekannter Nodes (und/oder Points) abgelegt werden sollen, um dort vom Tosser (MysticBBS, s.u.) gefunden und weiterverarbeitet zu werden. Zum Beispiel:

inbound /opt/mystic/echomail/in

inbound-nonsecure

Das Verzeichnis, in dem ankommende Dateien über unverschlüsselte Verbindungen abgelegt werden sollen. Zum Beispiel:

inbound-nonsecure /opt/mystic/echomail/in/unsecure

flag

Zu erstellende Semaphore-Dateien, um die Weiterverarbeitung ankommender Dateien (z.B. von MysticBBS) auszulösen:

flag /pfade/zum/semaphore/file <filename> <filename> <...>

Zum Beispiel:

flag /opt/mystic/semaphore/echomail.in *.su? *.mo? *.tu? *.we? *.th? *.fr? *.sa? *.pkt *.TIC
flag /opt/mystic/semaphore/echomail.out *.su? *.mo? *.tu? *.we? *.th? *.fr? *.sa? *.pkt

include

Externe Dateien inkludieren. z.B. um eine Nodelist im BinkD-Format einzubinden und so Netmails direkt versenden zu können. Eine solche Nodelist kann man entweder selbst erstellen (Artikel folgt), oder man kann seinen Uplink fragen - viele stellen diese per FileFix zur Verfügung.

Beispiel:

include /etc/binkd/bt_ibn.inc
include /etc/binkd/binkd.inc

root-domain

Der Domain-Name, unter dem BinkD erreichbar ist.

Beispiel:

root-domain bbs.kennmer.net

node

Hier werden alle Nodes eingetragen, die gepollt werden sollen und die pollen dürfen. Also Eure Uplinks, sowie Downlinks (also z.B. Points):

node <ftn-adresse>@<domain> <ip oder hostname>[;<weitere ip oder hostname>] <kennwort> <mail-typ>

Für FidoNet also zum Beispiel (Die Adressen sind natürlich frei erfunden und müssen durch die richtigen ersetzt werden, die Ihr von Eurem Uplink genannt bekommt.):

node 2:240/9999@fidonet example.com seCrEt i

Um weitere Netze einzutragen, einfach die Zeile wiederholen und die Parameter anpassen:

node 75:18/9999@ger-bbs example.org SeCREt i

Einen Point tragt Ihr ähnlich ein:

node 2:240/1234.1 - SeCReT

Beispiel binkd.cfg

BinkD lässt sich natürlich noch wesentlich feiner konfigurieren. Das ist fuer den Betrieb jedoch zunächst nicht nötig. Alle anderen Parameter übernehmen wir mit ihren Standardwerten aus der Beispiel-Konfiguration.

MysticBBS

Ich werde hier selbstverständlich nur auf die Konfiguration der FTN-Netze unter MysticBBS eingehen. Der Rest sollte bereits konfiguriert sein und funktionieren. In meinen Beispielen verwende ich den Basis-Pfad /opt/mystic/ statt des Standard-Pfades /mystic/. Dies muss ggf. beim Übertragen in die eigene Konfiguration angepasst werden.

Zur Konfiguration dient das Programm "mystic":

~# ./mystic -CFG

Eigene Adressen

Zunächst tragen wir unsere eigenen FTN-Adressen ein. Dies geschieht im Menü (C)onfiguration -> (E)chomail Addresses Der erste Eintrag muss bestehen bleiben, wie er ist. Wir wählen den nächsten "freien" (0:0/0) aus und bestätigen mit der Eingabetaste. Dort können wir nun unsere eigene Adresse eintragen. Siehe hierzu auch das Beispiel-Bild #3, hierunter. Die FidoNet Adresse wird als "Primary" eingestellt - weitere Netze nicht.

Nodes (Up- & Downlink)

Bild 5: Beispiel-Konfiguration eines UpLink Nodes
Bild 6: Beispiel Session-Daten eines UpLink Nodes

Unter (C)onfiguration -> EchoMail (N)odes werden nun die Up- und Downlinks eingetragen. Dazu öffnen wir das Menue und drücken dort / i, um einen neuen Node zu erstellen und öffnen diesen dann mit der Eingabetaste, um ihn zu konfigurieren, wie auf Beispiel-Bild #5 und #6:

(D)escription: Freitext Beschreibung des Nodes.
(A)ctive: Soll für diesen Node getosst werden?
A(r)chive Type: Dateiformat für empfangene und versendete Dateien. Normalerweise ist das ZIP.
Export T(y)pe: Normal
All(F)ix PW: AreaFix, FileFix, *Fix Kennwort, welches Ihr von Eurem Uplink mitgeteilt bekommen habt. (Bei Point-Konfigurationen müsst Ihr dieses Kennwort Eurem Point mitteilen..)
P(K)T Password: Kennwort, mit dem die PKT-Files gesichtert werden sollen. (Bekommt Ihr ebenfalls entweder von Eurem Uplink, oder Ihr müsst es Eurem Downlink mitteilen..)
Session (T)ype: Da wir BinkD als Mailer verwenden, stellen wir hier Directory ein und nicht BinkP, wie voreingestellt.
Ro(u)te Info: Routing-Info, welche Mails über diesen Node versandt werden sollen. Wildcards sind erlaubt, Regeln werden mit Leerzeichen getrennt und frühere Regeln haben höhere Priorität. Die Beispiel-Konfiguration 1:* 2:* 3:* 4:* 5:* passt für einen einzelnen Fido Uplink, da so einfach alle Mails aus allen Zonen über diesen Node versendet werden.
(M)ax PKT Size: 0 für unbegrenzt
Max AR(C) Size: 0 für unbegrenzt
Us(e) FileBox: FileBox verwenden?
TIC Pass(w)ord: Kennword für TIC-Files (fdn), welches Euch Euer Node mitgeteilt hat, oder Ihr Eurem Point mitteilen müsst.
(Z)one: Zone des Up- oder Downlinks (nicht Eure eigene)
(N)et: Net-Adresse des Up- oder Downlinks (nicht Eure eigene)
N(o)de: Node-Adresse des Up- oder Downlinks (nicht Eure eigene)
Doma(i)n: Gleiche, wie in der Konfiguration der eigenen Adresse und in der binkd.cfg
(S)ession Options: Zuletzt öffnen wir die (S)ession Options, um dort noch die beiden Pfade fuer in- und outbound einzutragen:
(O)utbound Dir: Verzeichnis, in dem ausgehende Dateien erstellt werden sollen. Für einen FidoNet Uplink einfach aus Bild #5 übernehmen.
(I)nbound Dir: Verzeichnis, in dem eingehende Dateien gesucht werden sollen. Für einen FidoNet Uplink einfach aus Bild #5 übernehmen.


Message Group erstellen

Nun erstellen wir eine Gruppe für alle Areas dieses Netzes. Dies ist optional und dient nur der besseren Übersicht in der BBS. Hierzu gehen wir in das Menü (E)ditors -> Message (G)roup Editor, erstellen dort mit / I eine neue Gruppe und öffnen sie mit der Eingabetaste zum Bearbeiten:

(N)ame: Freitext Bezeichnung für die Gruppe.
(A)ccess: Zugangsbedingungen für die Gruppe. Keine Sorge - wir verfeinern diese Einstellung später noch. s10 ist okay, als Einstellung.
(H)idden: Ob die Gruppe in der Gruppen-Liste angezeigt werden soll, oder nicht.

Netmail Area erstellen

Bild 10: Beispiel-Konfiguration der Netmail Area

Nun muss noch eine Area für die Netmails von Hand erstellt werden. Die weiteren Areas werden später automatisch erstellt:

(N)ame: Freitext Name der Area, wie er in der BBS angezeigt wird.
Ne(w)sgroup: Freitext Name der Newsgroup, falls Ihr den internen NNTP Server von MysticBBS verwendet (tut das nicht!)
(Q)WK Name: Name der Area in QWK-Paketen. (Optional)
Echo Tag: Echo Tag der Area. (Optional)
(F)ile Name: Dateiname der Message-Base-Datei in Eurem Dateisystem.
(P)ath: Pfad zu der Message-Base-Datei in Eurem Dateisystem.
(L)ist ACS: Zugriffsbeschränkungen um diese Area in Listen sehen zu können. Beispiel: s20g2 um sie nur registrierte Benutzern anzuzeigen, die gerade Gruppe 2 ausgewählt haben.
(R)ead ACS: Zugriffsbeschränkungen zum Lesen von Mails in dieser Area. Hier keine Gruppen-Beschränkungen anhängen, da sonst der "New-Mail-Scan" nicht mehr funktioniert.
Post A(C)S: Zugriffsbeschränkungen für das Schreiben von Mails. Achtet darauf, dass im FidoNet RealName-Pflicht herrscht und Ihr im Zweifelsfalle für Eure User geradestehen müsst. Gebt also nicht jedem Zugriff! Ich habe hierfür eine extra Gruppe s30 angelegt, die User nur bekommen, nachdem ich die eingewiesen habe.
S(y)sop ACS: Zugriffsbeschränkungen für Sysop-Funktionen. Üblicherweise s255.
Net A(d)dress: Hier wählen wir das passende Netz (z.B. FidoNet) mit unserer eigenen Node-Adresse aus, die wir zuvor in Schritt "4.2.1 Eigene Adressen" erstellt haben.
Export To: Hier wählen wir mindestens den Uplink Node aus, den wir zuvor in Schritt "4.2.2 Nodes (Up- & Downlink)" erstellt haben. Optional auch weitere Nodes und/oder Points, die wir mit Mails versorgen.
Or(i)gin: Origin-Line, die allen Mails angehängt wird, die aus der BBS versendet werden. (Werbung für die BBS)
(S)ponsor: Keine Ahnung...
R (T)emplate: Ansi-Template zum Lesen der von Mails
L Te(m)plate: Ansi-Template für die Mail-Listen
QWK Network: QWK-Netzwerk dieser Area (folgt)
QWK Base ID: QWK-Base-ID dieser Area (folgt)
Div. Colors: Könnt Ihr Euch denken...
(M)ax Msgs: Maximale Anzahl von möglichen Nachrichten in dieser Area.
Max Msg Age: Maximales Alter von Nachrichten in dieser Area.
New Scan: Soll diese Area in den "New-Mail-Scan" einbezogen werden?
QWK Scan: Soll diese Area in den "QWK-Scan" einbezogen werden?
B(a)se Type: Lokal, Echomail oder Netmail? In diesem Fall: Netmail
(B)ase Format: Dateiformat für die Message-Base-Datei. JAM ist moderner, Squish ist kompatibler.
(H)eader: Keine Ahnung...
Real Names: Herrscht Real-Name-Pflicht?
Autosigs: Sollen automatische Signaturen der User angehängt werden?
Pri(v)ate: Sind Mails in dieser Area privat oder öffentlich? Für Netmails: Yes
Pvt Reply: Sind Antworten privat?
All(o)w ANSI: Ansi in Nachrichten erlauben? (Vielerorts nicht erwünscht)

Semaphore Events

In unserer Beispiel-Konfiguration für BinkD haben lassen wir bereits bei eingehenden Dateien Semaphore-Files erstellen. Damit diese auch abgegriffen werden, müssen wir in MysticBBS passende Events erstellen. Dazu gehen wir in das Menü (E)ditors -> (E)vent Editor und suchen uns entweder einen passenden Event aus der Liste aus, um ihn zu bearbeiten oder erstellen einen neuen, indem wir / I drücken.

Outbound Mail

Bild 13: Beispiel-Konfiguration Semaphore Event für ausgehende Nachrichten
Active: Yes
Description: Freitext - Beschreibung des Events
Exec Hour: 0 - da es ein Semaphore-Event ist und nicht regelmässig ausgeführt wird.
Exec Min: 0 - s.o...
Shell: /opt/mystic/mutil /opt/mystic/export.ini - Auszuführendes Programm (Konfiguration s.u.)
Semaphore: echomail.out|netmail.out - Auslösende(s) Semaphore-File(s) (im Semaphore-Verzeichnis)
Node: 0 - Gar kein Node - lokale Ausführung.
Warning: 0 - Keine Warnung.
SUN-SAT: No - Keine regelmäßige Ausführung.

Incoming Mail

Bild 14: Beispiel-Konfiguration Semaphore Event für eingehende Nachrichten
Active: Yes
Description: Freitext - Beschreibung des Events
Exec Hour: 0 - da es ein Semaphore-Event ist und nicht regelmässig ausgeführt wird.
Exec Min: 0 - s.o...
Shell: /opt/mystic/mutil /opt/mystic/import.ini - Auszuführendes Programm (Konfiguration s.u.)
Semaphore: echomail.in|netmail.in - Auslösende(s) Semaphore-File(s) (im Semaphore-Verzeichnis)
Node: 0 - Gar kein Node - lokale Ausführung.
Warning: 0 - Keine Warnung.
SUN-SAT: No - Keine regelmäßige Ausführung.

mutil

In den Events haben wir ein Tool namens mutil gestartet. Dieses befindet sich, zusammen mit einer Beispiel-Konfiguration mutil.ini im Stammverzeichnis der MysticBBS Installation.

Um zu funktionieren benötigt mutil eine .ini-Datei, mit der konfiguriert wird, was es tun soll. Was das Tool alles kann seht Ihr in der Beispiel-Konfiguration mutil.ini. Wir interessieren uns jetzt aber nur für das Tossen eingehender und ausgehender Mails. Hierfür zwei Beispiel-Konfigurationen: import.ini und export.ini

Nodeliste(n) importieren

Auch das kann mutil. Auch hierzu eine Beispiel-Konfiguration: nlmerge.ini

Das ganze sollte am Besten bei Empfang neuer Nodelists über Semaphore-Files automatisiert werden, aber das habe ich auch noch vor mir. Ich werde dieses HOWTO entsprechend erweitern, wenn ich so weit bin.

Bis dahin bleibt der manuelle Start:

~# /opt/mystic/mutil /opt/mystic/nlmerge.ini

Die aktuelle FidoNet Nodelist als Web Download gibt es u.A. bei der Ambrosia BBS

System

Benutzer, Gruppen & Rechte

Mit den Standard-Einstellungen laufen BinkD und MysticBBS mit unterschiedlichen Benutzern, so dass BinkD nicht auf die in- und out-bound Verzeichnisse zugreifen kann und/oder MysticBBS nicht auf die Dateien. Um dieses Problem zu lösen können wir entweder den BinkD-Benutzer ftn der MysticBBS-Gruppe hinzufügen und andersherum und die Rechte des MysticBBS-Verzeichnisses entsprechend anpassen.

Zum Beispiel:

~# useradd -G mystic ftn
~# useradd -G ftn mystic
~# chown -R mystic:mystic /opt/mystic
~# chmod -R 770 /opt/mystic/echomail
~# chmod -R 770 /opt/mystic/semaphore
~# find /opt/mystic/echomail -type f -exec chmod 660 "{}" \;
~# find /opt/mystic/semaphore -type f -exec chmod 660 "{}" \;

(In diesem Beispiel läuft MysticBBS mit dem Benutzer und der Gruppe mystic und MysticBBS ist unter /opt/mystic/ installiert. Beides muss ggf. den lokalen Gegebenheiten angepasst werden.)

...oder man lässt BinkD einfach mit dem gleichen Benutzer laufen, wie MysticBBS.

Hierzu bearbeiten wir das Init-Script von BinkD und ersetzen in Zeile 26 & 28 Benutzer und Gruppe hinter dem Parameter --chuid durch die, mit denen auch MysticBBS läuft:

  start)
    log_daemon_msg 'Starting FTN mailer' $NAME
    [ -d /var/run/ftn/ ] || \
    install -d -o mystic -g mystic -m 0750 /var/run/ftn/
    start-stop-daemon --start --quiet --background --pidfile $PIDFILE \
  --chuid mystic:mystic --exec $DAEMON -- $OPTS
    log_end_msg $?
    ;;

Hiernach müssen noch die Rechte für /etc/binkd/* und /var/run/ftn dem neuen Benutzer angepasst werden:

~# chown root:mystic /etc/binkd/binkd.cfg
~# chown root:mystic /etc/binkd/binkd.inc
~# chown root:mystic /etc/binkd/bt_ibn.inc
~# chmod 640 /etc/binkd/binkd.cfg
~# chmod 640 /etc/binkd/binkd.inc
~# chmod 640 /etc/binkd/bt_ibn.inc
~# chown -R mystic:mystic /var/run/ftn

Nach einem Neustart von BinkD sollte dieser nun mit dem MysticBBS-Benutzer laufen und auch bereits seinen Dienst verrichten.

MailEchos Bestellen

Nun ist eigentlich alles fertig konfiguriert. Es fehlen nur noch die MailEchos. Um diese zu bestellen schreiben wir unsere(n) erste(n) Netmail(s) in unserer BBS an AreaFix mit der Adresse unseres Uplinks und als Subject das AreaFix-Kennwort, welches uns unser Uplink mitgeteilt hat. Als Inhalt erstmal nur %HELP.

Nach dem Speichern der Mail sollte relativ schnell eine Antwort vom AreaFix des Uplinks kommen (wenige Minuten) - wir koennen den Verlauf auch in den Logfiles verfolgen: /var/log/binkd/binkd und /opt/mystic/logs/fido.log

In der Antwort erklärt uns AreaFix, wie es bedient werden möchte. Hier gibt es kleine Unterschiede, je nach verwendeter Software. Wahrscheinlich versteht er jedoch folgende Kommandos:

%LIST Eine Liste aller abonnierbaren Echos
+<ECHONAME> Ein Echo bestellen
-<ECHONAME> Ein Echo abbestellen.

Bestellen wir zunächst einmal die Echos NODES.024 und NODES.240:

To: AreaFix (2:240/1234)
Subject: PaSSwOrD
+NODES.024
+NODES.240
%RESCAN NODES.024
%RESCAN NODES.240

Mit dem %RESCAN sorgen wir dafuer, dass wir auch gleich alle alten Mails geliefert bekommen. Wenig später sollten die Mails dann automatisch bei Euch ankommen, und die Echos mit den Standard-Werten aus der Datei import.ini erstellt werden.

Das war's: Ihr habt FidoNet in Eurer MysticBBS! Jetzt ran an die Tasten und kräftig Mails schreiben! :)