config.txt
changeset 4 4b1d19412329
parent 2 130fc78aac2a
child 5 b9483cdf9b77
equal deleted inserted replaced
3:4720039316b0 4:4b1d19412329
     1 [[configuration]]
     1 [[config]]
     2 = Konfiguration =
     2 = Konfiguration =
     3 
     3 
     4 Die Konfigurationsdatei des Exim ist der „magischste“ Teil des Exim.
     4 Die Konfigurationsdatei des Exim ist der „magischste“ Teil des Exim.
     5 Viele Einstellungen in der Konfiguration werden erst zur Laufzeit
     5 Viele Einstellungen in der Konfiguration werden erst zur Laufzeit
     6 interpretiert.  Ein Test, ob die Konfiguration syntaktisch
     6 interpretiert.  Ein Test, ob die Konfiguration syntaktisch
     7 korrekt ist, lässt sich ausführen mit:
     7 korrekt ist, lässt sich ausführen mit:
     8 
     8 
     9  > exim -bV
     9  > exim -bV
    10 
    10 
    11 Syntaktische Korrektheit allein ist jedoch nicht ausreichend. Fehler
    11 Syntaktische Korrektheit allein ist jedoch nicht ausreichend. Fehler
    12 können auch später, z.B. durch durch <<expansion,Text-Expansion>>, auftreten.
    12 können auch später, z.B. durch durch <<config.expansion,Text-Expansion>>, auftreten.
       
    13 Für eine einfach Überprüfung der Konfiguration eignen sich die Kommandos
       
    14 zum Routing-Test:
       
    15 
       
    16  > exim -bt <Adresse>
    13 
    17 
    14 == Konfigurationsdatei
    18 == Konfigurationsdatei
    15 
    19 
    16 Exim sucht beim Start nach genau einer Konfigurationsdatei.
    20 Exim sucht beim Start nach genau einer Konfigurationsdatei.
    17 Je nach Build können mehrere Stellen in Frage kommen. Der Name der
    21 Je nach Build können mehrere Stellen in Frage kommen. Der Name der
    20  > exim -bP configure_file
    24  > exim -bP configure_file
    21 
    25 
    22 Alternativ kann dem Exim auch der Name einer Konfigurationsdatei auf der
    26 Alternativ kann dem Exim auch der Name einer Konfigurationsdatei auf der
    23 Kommandozeile übergeben werden. Jedoch wird Exim einer solchen
    27 Kommandozeile übergeben werden. Jedoch wird Exim einer solchen
    24 Konfiguration nur bedingt vertrauen und unter Umständen sofort auf seine
    28 Konfiguration nur bedingt vertrauen und unter Umständen sofort auf seine
    25 setuid-Eigenschaften verzichten.
    29 setuid-Eigenschaften verzichten. (Mehr dazu im Abschnitt über
       
    30 <<admin.permissions,Berechtigungen>>.)
    26 
    31 
    27 Diese eine Konfigurationsdatei kann `.include`-Anweisungen enthalten, um
    32 NOTE: Debian GNU/Linux verwendet hier ein sehr eigenes Schema. Die
    28 weitere Teile einzulesen.
    33 Konfiguration wird von einem Script erzeugt. Dieser Script wird
       
    34 gesteuert von `/etc/exim4/update-exim4.conf.conf` und einem Template
       
    35 `/etc/exim4/exim4.conf.template`. Die resultierende Datei heisst dann
       
    36 `/var/lib/exim4/exim4.conf.autogenerated`. Dieses Schema wird hier nicht
       
    37 besprochen.
       
    38 
       
    39 .Einlesen der Konfiguration
       
    40 Die Konfiguration wird eingelesen bei jedem Start einer Exim-Instanz.
       
    41 Das ist jeder Aufruf von `sendmail` und auch der Start des Servers.
       
    42 Aber auch zur Laufzeit des Servers werden neue Exim-Instanzen gestartet.
       
    43 Ein Hangup-Signal an den laufenden Server lässt auch diesen die
       
    44 Konfiguration neu einlesen.
       
    45 
       
    46 Fehlerhafte Konfiguration führt zu einem Eintrag im *paniclog* und einem
       
    47 Ende des jeweiligen Prozesses. Mails gehen hierbei nicht verloren, bis
       
    48 das Problem behoben ist, werden sie
       
    49 lediglich nicht weiter verarbeitet oder transportiert, bis das
    29 
    50 
    30 === Syntax der Konfigurationsdatei
    51 === Syntax der Konfigurationsdatei
    31 
    52 
    32 TIP: Eine leere Datei ist eine gültige Konfigurationsdatei, aber nicht
    53 TIP: Eine leere Datei ist eine gültige Konfigurationsdatei, aber nicht
    33 zwingend eine brauchbare Konfiguration. Für kurze Tests ist dieser Fakt
    54 zwingend eine brauchbare Konfiguration. Für kurze Tests ist dieser Fakt
    42 .Kommentare
    63 .Kommentare
    43 Zeilen, die mit `#` beginnen, werden ignoriert. Wird an anderen Stellen
    64 Zeilen, die mit `#` beginnen, werden ignoriert. Wird an anderen Stellen
    44 ein `#` verwendet, hat dieses Zeichen *nicht* die Bedeutung eines
    65 ein `#` verwendet, hat dieses Zeichen *nicht* die Bedeutung eines
    45 Kommentarzeichens.
    66 Kommentarzeichens.
    46 
    67 
    47 .Fortsetzungzeilen
    68 .Fortsetzungszeilen
    48 Zeilen, die mit einem `\` enden, werden durch die Folgezeile fortgesetzt, 
    69 Zeilen, die mit einem `\` enden, werden durch die Folgezeile fortgesetzt, 
    49 der Zeilenumbruch wird dabei entfernt.
    70 der Zeilenumbruch wird dabei entfernt.
    50 
    71 
    51 .Macrodefinitionen
    72 .Macrodefinitionen
    52 // spec:6.4
    73 // spec:6.4
    53 Macros werden häufig verwendet, um sehr lange Konfigurationsausdrücke zu
    74 Makros werden häufig verwendet, um sehr lange Konfigurationsausdrücke zu
    54 vereinfachen.  Makros ermöglichen eine einfach Textersetzung beim
    75 vereinfachen.  Makros ermöglichen eine einfach Textersetzung beim
    55 *Einlesen* der Konfiguration:
    76 *Einlesen* der Konfiguration:
    56 
    77 
    57 ----
    78 ----
    58 FOO = foo   <1>
    79 FOO = foo   <1>
    59 FOO == bar  <2>
    80 FOO == bar  <2>
    60 ----
    81 ----
    61 <1> Definition des Macros
    82 <1> Definition des Macros
    62 <2> Neu-Definition des Macros
    83 <2> Neu-Definition des Macros
    63 
    84 
    64 Macros können auf der Kommandozeile mit `-DFOO=foobar` gesetzt werden.
    85 Macros können auf der Kommandozeile mit `-DFOO=foobar` gesetzt bzw.
       
    86 überschrieben werden.
    65 
    87 
    66 .Einbettung weiterer Files
    88 .Einbettung weiterer Files
    67 In das Hauptkonfigurations-File können weitere Dateien eingebetten
    89 In das Hauptkonfigurations-File können weitere Dateien eingebettet
    68 werden:
    90 werden:
    69 
    91 
    70 ----
    92 ----
    71 .include other/file
    93 .include other/file
    72 ----
    94 ----
    92 === Aufbau der Konfigurationsdatei
   114 === Aufbau der Konfigurationsdatei
    93 
   115 
    94 Die Konfiguration ist entsprechend der Funktionsweise des Exim neben dem
   116 Die Konfiguration ist entsprechend der Funktionsweise des Exim neben dem
    95 globalen Teil in mehrere Abschnitte gegliedert:
   117 globalen Teil in mehrere Abschnitte gegliedert:
    96 
   118 
    97 ACL::
   119 acl::
    98     Access Control Lists steuern während einer eingehenden Verbindung
   120     Access Control Lists steuern während einer eingehenden Verbindung
    99     die Akzeptanz der Nachricht
   121     die Akzeptanz der Nachricht
   100 
   122 
   101 Routers::
   123 routers::
   102     Router sind Regeln, nach denen die Nachrichten weitergeleitet
   124     Router sind Regeln, nach denen die Nachrichten weitergeleitet
   103     werden.
   125     werden.
   104 
   126 
   105 Transports::
   127 transports::
   106     Im Transports-Abschnit wird festgelegt, wie die Nachrichten
   128     Im Transports-Abschnit wird festgelegt, wie die Nachrichten
   107     weitergeleitet werden.
   129     weitergeleitet werden.
   108 
   130 
   109 Rewrite::
   131 rewrite::
   110     In diesem Abschnitt sind die Regeln beschrieben, nach denen
   132     In diesem Abschnitt sind die Regeln beschrieben, nach denen
   111     Adress-Umschreibungen vorgenommen werden sollen.
   133     Adress-Umschreibungen vorgenommen werden sollen.
   112 
   134 
   113 Authentication::
   135 authentication::
   114     Konfiguration der Authentifizierungsparameter als Client und als
   136     Konfiguration der Authentifizierungsparameter als Client und als
   115     Server
   137     Server
   116 
   138 
   117 // vim:ft=asciidoc
   139 // vim:ft=asciidoc