<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.foxtom.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dirkwagner</id>
	<title>Foxwiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.foxtom.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dirkwagner"/>
	<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php/Spezial:Beitr%C3%A4ge/Dirkwagner"/>
	<updated>2026-06-17T09:52:06Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=Webserver&amp;diff=167974</id>
		<title>Webserver</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=Webserver&amp;diff=167974"/>
		<updated>2026-06-17T09:51:55Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Webserver&#039;&#039;&#039; - [[Server]], der [[Dokument]]e an [[Client]]s wie einen [[Webbrowser]] überträgt&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
; Webserver&lt;br /&gt;
* Webserver-Software&lt;br /&gt;
* Computer mit Webserver-Software&lt;br /&gt;
&lt;br /&gt;
; Einsatz von Webserver &lt;br /&gt;
* lokal&lt;br /&gt;
* in Firmennetzwerken&lt;br /&gt;
* [[WWW]]-Dienst im [[Internet]] (überwiegend)&lt;br /&gt;
&lt;br /&gt;
; Dokumente&lt;br /&gt;
Dem geforderten Zweck zur Verfügung gestellt werden&lt;br /&gt;
* lokal&lt;br /&gt;
* firmenintern&lt;br /&gt;
* weltweit &lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
== Anhang ==&lt;br /&gt;
=== Siehe auch ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count:2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;categorytree hideroot=on mode=&amp;quot;pages&amp;quot;&amp;gt;Webserver&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
==== Weblinks ====&lt;br /&gt;
# https://de.wikipedia.org/wiki/Webserver&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Webserver]]&lt;br /&gt;
[[Kategorie:Glossar/Netzwerk]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=Webserver&amp;diff=167973</id>
		<title>Webserver</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=Webserver&amp;diff=167973"/>
		<updated>2026-06-17T09:49:18Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Webserver&#039;&#039;&#039; - [[Server]], der [[Dokument]]e an [[Client]]s wie einen [[Webbrowser]] überträgt&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
Als Webserver bezeichnet man den Computer&lt;br /&gt;
* mit Webserver-Software oder&lt;br /&gt;
* nur die Webserver-Software selbst&lt;br /&gt;
&lt;br /&gt;
Einsatz von Webserver &lt;br /&gt;
* lokal&lt;br /&gt;
* in Firmennetzwerken&lt;br /&gt;
* [[WWW]]-Dienst im [[Internet]] (überwiegend)&lt;br /&gt;
&lt;br /&gt;
Dokumente können dem geforderten Zweck lokal, firmenintern und weltweit zur Verfügung gestellt werden&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;br /&gt;
=== Siehe auch ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count:2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;categorytree hideroot=on mode=&amp;quot;pages&amp;quot;&amp;gt;Webserver&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
==== Weblinks ====&lt;br /&gt;
# https://de.wikipedia.org/wiki/Webserver&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Webserver]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
[[Kategorie:Glossar/Netzwerk]]&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=Webserver&amp;diff=167972</id>
		<title>Webserver</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=Webserver&amp;diff=167972"/>
		<updated>2026-06-17T09:48:44Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Webserver&#039;&#039;&#039; - [[Server]], der [[Dokument]]e an [[Client]]s wie einen [[Webbrowser]] überträgt&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
Als Webserver bezeichnet man den Computer&lt;br /&gt;
* mit Webserver-Software oder&lt;br /&gt;
* nur die Webserver-Software selbst&lt;br /&gt;
&lt;br /&gt;
Einsatz von Webserver &lt;br /&gt;
* lokal&lt;br /&gt;
* in Firmennetzwerken&lt;br /&gt;
* [[WWW]]-Dienst im [[Internet]] (überwiegend)&lt;br /&gt;
&lt;br /&gt;
Dokumente können dem geforderten Zweck lokal, firmenintern und weltweit zur Verfügung gestellt werden&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;br /&gt;
=== Siehe auch ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count:2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;categorytree hideroot=on mode=&amp;quot;pages&amp;quot;&amp;gt;Webserver&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
==== Weblinks ====&lt;br /&gt;
# https://de.wikipedia.org/wiki/Webserver&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Webserver]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=Webserver&amp;diff=167971</id>
		<title>Webserver</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=Webserver&amp;diff=167971"/>
		<updated>2026-06-17T09:48:16Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Webserver&#039;&#039;&#039; - [[Server]], der [[Dokument]]er an [[Client]]a wie einen [[Webbrowser]] überträgt&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
Als Webserver bezeichnet man den Computer&lt;br /&gt;
* mit Webserver-Software oder&lt;br /&gt;
* nur die Webserver-Software selbst&lt;br /&gt;
&lt;br /&gt;
Einsatz von Webserver &lt;br /&gt;
* lokal&lt;br /&gt;
* in Firmennetzwerken&lt;br /&gt;
* [[WWW]]-Dienst im [[Internet]] (überwiegend)&lt;br /&gt;
&lt;br /&gt;
Dokumente können dem geforderten Zweck lokal, firmenintern und weltweit zur Verfügung gestellt werden&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;br /&gt;
=== Siehe auch ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count:2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;categorytree hideroot=on mode=&amp;quot;pages&amp;quot;&amp;gt;Webserver&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
==== Weblinks ====&lt;br /&gt;
# https://de.wikipedia.org/wiki/Webserver&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Webserver]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=Webserver&amp;diff=167970</id>
		<title>Webserver</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=Webserver&amp;diff=167970"/>
		<updated>2026-06-17T09:47:41Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: /* Beschreibung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Webserver&#039;&#039;&#039; - [[Server]], der [[Dokumente]] an [[Clients]] wie einen [[Webbrowser]] überträgt&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
Als Webserver bezeichnet man den Computer&lt;br /&gt;
* mit Webserver-Software oder&lt;br /&gt;
* nur die Webserver-Software selbst&lt;br /&gt;
&lt;br /&gt;
Einsatz von Webserver &lt;br /&gt;
* lokal&lt;br /&gt;
* in Firmennetzwerken&lt;br /&gt;
* [[WWW]]-Dienst im [[Internet]] (überwiegend)&lt;br /&gt;
&lt;br /&gt;
Dokumente können dem geforderten Zweck lokal, firmenintern und weltweit zur Verfügung gestellt werden&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;br /&gt;
=== Siehe auch ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count:2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;categorytree hideroot=on mode=&amp;quot;pages&amp;quot;&amp;gt;Webserver&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
==== Weblinks ====&lt;br /&gt;
# https://de.wikipedia.org/wiki/Webserver&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Webserver]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=Webserver&amp;diff=167969</id>
		<title>Webserver</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=Webserver&amp;diff=167969"/>
		<updated>2026-06-17T09:46:18Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Webserver&#039;&#039;&#039; - [[Server]], der [[Dokumente]] an [[Clients]] wie einen [[Webbrowser]] überträgt&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
Als Webserver bezeichnet man den Computer&lt;br /&gt;
* mit Webserver-Software oder&lt;br /&gt;
* nur die Webserver-Software selbst&lt;br /&gt;
&lt;br /&gt;
Webserver werden &lt;br /&gt;
* lokal&lt;br /&gt;
* in Firmennetzwerken und &lt;br /&gt;
* überwiegend als [[WWW]]-Dienst im Internet eingesetzt&lt;br /&gt;
&lt;br /&gt;
Dokumente können somit dem geforderten Zweck lokal, firmenintern und weltweit zur Verfügung gestellt werden&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;br /&gt;
=== Siehe auch ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count:2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;categorytree hideroot=on mode=&amp;quot;pages&amp;quot;&amp;gt;Webserver&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
==== Weblinks ====&lt;br /&gt;
# https://de.wikipedia.org/wiki/Webserver&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Webserver]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=Webserver&amp;diff=167968</id>
		<title>Webserver</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=Webserver&amp;diff=167968"/>
		<updated>2026-06-17T09:45:54Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: /* Beschreibung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Webserver&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ein [[Webserver]] ist ein [[Server]], der [[Dokumente]] an [[Clients]] wie einen [[Webbrowser]] überträgt&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
Als Webserver bezeichnet man den Computer&lt;br /&gt;
* mit Webserver-Software oder&lt;br /&gt;
* nur die Webserver-Software selbst&lt;br /&gt;
&lt;br /&gt;
Webserver werden &lt;br /&gt;
* lokal&lt;br /&gt;
* in Firmennetzwerken und &lt;br /&gt;
* überwiegend als [[WWW]]-Dienst im Internet eingesetzt&lt;br /&gt;
&lt;br /&gt;
Dokumente können somit dem geforderten Zweck lokal, firmenintern und weltweit zur Verfügung gestellt werden&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;br /&gt;
=== Siehe auch ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count:2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;categorytree hideroot=on mode=&amp;quot;pages&amp;quot;&amp;gt;Webserver&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
==== Weblinks ====&lt;br /&gt;
# https://de.wikipedia.org/wiki/Webserver&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Webserver]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=Diskussion:Webserver&amp;diff=167967</id>
		<title>Diskussion:Webserver</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=Diskussion:Webserver&amp;diff=167967"/>
		<updated>2026-06-17T09:42:34Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: Die Seite wurde neu angelegt: „Host des ersten Webservers von Tim Berners-Lee am CERN war ein NeXTcube-Computer]]  Ein &amp;#039;&amp;#039;&amp;#039;Webserver&amp;#039;&amp;#039;&amp;#039; ({{laS|&amp;#039;&amp;#039;servire&amp;#039;&amp;#039;}} ‚dienen‘; {{enS|&amp;#039;&amp;#039;server&amp;#039;&amp;#039;}} ‚Diener‘, ‚Dienst‘) ist ein Server, der Dokumente an Clients wie z.&amp;amp;nbsp;B. Webbrowser überträgt. Als Webserver bezeichnet man den Computer mit Webserver-Software oder nur die Webserver-Software selbst. Webserver…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:First Web Server.jpg|mini|Der [[Hostrechner|Host]] des ersten Webservers von [[Tim Berners-Lee]] am [[CERN]] war ein [[NeXTcube]]-Computer]]&lt;br /&gt;
&lt;br /&gt;
Ein &#039;&#039;&#039;Webserver&#039;&#039;&#039; ({{laS|&#039;&#039;servire&#039;&#039;}} ‚dienen‘; {{enS|&#039;&#039;server&#039;&#039;}} ‚Diener‘, ‚Dienst‘) ist ein [[Server]], der Dokumente an Clients wie z.&amp;amp;nbsp;B. [[Webbrowser]] überträgt. Als Webserver bezeichnet man den Computer mit Webserver-[[Software]] oder nur die Webserver-Software selbst. Webserver werden lokal, in Firmennetzwerken und überwiegend als [[World Wide Web|WWW]]-Dienst im Internet eingesetzt. Dokumente können somit dem geforderten Zweck lokal, firmenintern und weltweit zur Verfügung gestellt werden.&lt;br /&gt;
&lt;br /&gt;
== Technik ==&lt;br /&gt;
Die Hauptaufgabe eines Webservers ist die Auslieferung statischer Dateien, z.&amp;amp;nbsp;B. unveränderlicher [[Hypertext Markup Language|HTML]]- oder Bild-Dateien, oder dynamisch erzeugter Daten, z.&amp;amp;nbsp;B. Seiten, deren Inhalte stets individuell gemäß dem Profil eines eingeloggten Benutzers erstellt werden.&lt;br /&gt;
&lt;br /&gt;
Für eine komplette Webseite werden in der Regel die HTML-Seite inklusive verknüpfter Designbeschreibungen ([[Cascading Style Sheets|CSS]]) und Bilddateien ([[JPEG File Interchange Format|JPG]], [[Portable Network Graphics|PNG]], [[Graphics Interchange Format|GIF]], [[Scalable Vector Graphics|SVG]]) jeweils als einzelne Dateien übertragen. Für jede benötigte Datei muss der Webbrowser eine eigene Anfrage an den Webserver senden, d.&amp;amp;nbsp;h. zur Darstellung einer komplexen Webseite sind manchmal hunderte Anfragen und Serverantworten nötig. Ein Webserver ist in der Lage, die Inhalte einer Webseite gleichzeitig auf viele verschiedene Rechner auszuliefern. Wie schnell Nutzeranfragen bearbeitet werden können, hängt nicht zuletzt von der Komplexität der Webinhalte ab: Beispielsweise benötigen dynamische Webinhalte mehr Ressourcen als statische.&amp;lt;ref&amp;gt;{{cite web|url=https://hosting.1und1.de/digitalguide/server/knowhow/webserver-definition-hintergruende-software-tipps/ |title=Was ist ein Webserver? |publisher=1und1.de/digitalguide| accessdate=2017-12-04}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Übertragungsmethoden dienen standardisierte Übertragungsprotokolle ([[Hypertext Transfer Protocol|HTTP]], [[Hypertext Transfer Protocol Secure|HTTPS]]) und Netzwerkprotokolle wie [[Internet Protocol|IP]] und [[Transmission Control Protocol|TCP]], üblicherweise über [[Port (Netzwerkadresse)|Port]] 80 (HTTP) und Port 443 (HTTPS). Aktuell ist [[HTTP/2]], welches aus dem experimentellen Protokoll [[SPDY]] hervorging.&lt;br /&gt;
&lt;br /&gt;
=== Dynamische Dokumente ===&lt;br /&gt;
Bei den meisten Webseiten werden die Inhalte erst beim Aufruf aus unterschiedlichen Quellen zusammengestellt.&lt;br /&gt;
&lt;br /&gt;
[[Skriptsprache]]n wie [[Active Server Pages|ASP]], [[PHP]] oder [[JavaServer Pages|JSP]] [[Parser|interpretieren]] ein HTML-Dokument während des Aufrufs serverseitig und lassen es vom Webserver an den Webbrowser übertragen.&lt;br /&gt;
Dabei wird der zuvor getrennte Inhalt und die Struktur aus Dateien und [[Datenbank]]en mit [[Content-Management-System]] zu einem Dokument verarbeitet.&lt;br /&gt;
Webseiten und Applikationen wie [[Blog]]s, [[Internetforum|Onlineforen]], [[Elektronischer Handel#Onlineshop|Onlineshops]] etc. nutzen diese Technik.&lt;br /&gt;
&lt;br /&gt;
==== Schnittstellen ====&lt;br /&gt;
{{Navigationsleiste Webserver-Schnittstellen}}&lt;br /&gt;
&lt;br /&gt;
=== Weitere Funktionen ===&lt;br /&gt;
Neben dem Ausliefern von statischen oder dynamischen Dokumenten können Webserver noch weitere Funktionen erfüllen:&lt;br /&gt;
; Zugriffsbeschränkung&lt;br /&gt;
: wird die [[Authentifizierung]] nicht durch das [[Content-Management-System|CMS]] verwaltet, können Webserver auch die [[HTTP-Authentifizierung]] einsetzen.&lt;br /&gt;
; Sicherheit&lt;br /&gt;
: Zur [[Verschlüsselung]] der Server-Client-Kommunikation wird ggf. das [[Hypertext Transfer Protocol Secure|HTTPS]]-Verfahren eingesetzt.&lt;br /&gt;
; Cookieverwaltung&lt;br /&gt;
: Webserver können auch [[HTTP-Cookie]]s verwalten.&lt;br /&gt;
; Weiterleitung&lt;br /&gt;
: soll gar kein Dokument ausgeliefert werden, sondern der Aufruf auf ein anderes Dokument [[Weiterleitung|weitergeleitet]] werden, wird die Anfrage mit einer [[Rewrite-Engine]] umgeleitet.&lt;br /&gt;
; Fehler&lt;br /&gt;
: etwaige Fehler oder Erfolge werden dem Browser mit [[HTTP-Statuscode]]s und einer [[Fehlerseite]] mitgeteilt.&lt;br /&gt;
; Protokollierung&lt;br /&gt;
: Auf einem Webserver werden üblicherweise alle Anfragen in einer [[Logdatei]] protokolliert, aus der mittels [[Logdateianalyse]] Statistiken über Anzahl der Zugriffe pro Seite generiert werden können. HTTP ist ein verbindungs- und zustandsloses Protokoll. Damit ist die Zuordnung einer Anforderung zu einem Nutzer über die IP-Adresse grundsätzlich möglich. Die Zuordnung ist jedoch z.&amp;amp;nbsp;B. bei Web-Zugängen über LAN nicht immer eindeutig. Die Angabe von &#039;&#039;Visits&#039;&#039;, &#039;&#039;Hits&#039;&#039;, &#039;&#039;Benutzer&#039;&#039; o.&amp;amp;nbsp;Ä. ist daher nur eingeschränkt aussagekräftig. Zwischengeschaltete [[Proxy (Rechnernetz)|Proxyserver]], die gegenüber dem Webserver als Client auftreten, erschweren diese Zuordnung zusätzlich.&lt;br /&gt;
; Caching&lt;br /&gt;
: bei großen Zugriffszahlen kann vor allem die aufwändige dynamische Inhaltsauslieferung gepuffert werden und mit [[HTTP Caching|HTTP-Caching]] der Webserver, Skripte und Datenbanken geschont werden.&lt;br /&gt;
&lt;br /&gt;
[[Konfiguration (Computer)|Konfiguriert]] werden Webserver durch spezifische Konfigurationsdateien oder Interfaces global oder auch durch standardisierte Formate wie [[.htaccess]].&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
Ein Nutzer ist mit dem Internet verbunden und gibt in die Adresszeile seines Webbrowsers eine Webadresse (&#039;&#039;URL&#039;&#039; oder [[Uniform Resource Locator]]) ein, z.&amp;amp;nbsp;B. „&amp;lt;nowiki&amp;gt;https://de.wikipedia.org/wiki/Webserver&amp;lt;/nowiki&amp;gt;“. Für den darin enthaltenen Domain-Bestandteil „de.wikipedia.org“ fragt der Webbrowser beim [[Betriebssystem]] eine [[Domain Name System|DNS]]-Namensauflösung an, was den Domainnamen in eine [[IP-Adresse]] umsetzt, z.&amp;amp;nbsp;B. 145.168.145.25 ([[IPv4]]) oder 2a00:1450:8007::63 ([[IPv6]]). Der Webbrowser baut anschließend eine [[HTTPS]]-Verbindung zur IP-Adresse auf [[Port (Netzwerkadresse)|Port]] 443 auf und überträgt die Parameter aus der angefragten URL per [[Hypertext Transfer Protocol#HTTP-GET|HTTP-Anfrage]] an den Webserver. Der Webserver schickt eine HTTP-Antwort an den Webbrowser, die das angefragte Dokument enthält, im genannten Beispiel eine [[HTML-Seite]].&lt;br /&gt;
&lt;br /&gt;
== Geschichte ==&lt;br /&gt;
1989 schlug [[Tim Berners-Lee]] seinem Arbeitgeber [[CERN]], der Europäischen Organisation für Kernforschung, ein Projekt vor, das den Austausch von Informationen unter den mehreren tausend Mitarbeitern sichern sollte. Er führte unter anderem aus, dass ein „Web“ miteinander verbundener Informationen nützlicher als eine festgelegte Hierarchie sei und die Speichersoftware von der Anzeigesoftware getrennt sein müsse. Er konnte dieses Projekt verwirklichen und entwickelte in dessen Verlauf den ersten Webserver [[CERN httpd]] und den ersten [[Webbrowser]] [[WorldWideWeb]], beide unter [[NeXTStep]]. Der CERN httpd wurde auf [[Unix]] und [[Virtual Memory System|VMS]] portiert und bis 1996 weiterentwickelt.&amp;lt;ref&amp;gt;{{cite web | url = https://www.w3.org/Daemon/Status.html | title = CERN httpd | accessdate = 2009-04-25 | author = | publisher = World Wide Web Consortium}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1994 entschied sich Tim Berners-Lee, das [[World Wide Web Consortium]] zu gründen, um die weitere Entwicklung der verwendeten Technologien (Protokolle, Darstellungssprachen, Unicode usw.) zu regulieren.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
Die am weitesten verbreiteten Webserver-[[Computerprogramm]]e sind [[Apache HTTP Server]], [[nginx]], [[Microsoft Internet Information Services]] und [[Google Web Server]].&amp;lt;ref name=&amp;quot;netcraft&amp;quot;&amp;gt;[https://news.netcraft.com/archives/category/web-server-survey/ Web Server Survey | Netcraft]&amp;lt;/ref&amp;gt; Apache und nginx sind [[freie Software]], während der Microsoft IIS und der Google Web Server [[proprietäre Software]] sind.&lt;br /&gt;
&lt;br /&gt;
Weitere Webserver-Software:&lt;br /&gt;
&amp;lt;!-- Nur Webserver auflisten, die einen Artikel in der deutschsprachigen Wikipedia haben! --&amp;gt;&lt;br /&gt;
* [[AOLserver]] ([[AOL|America Online]]; freie Software)&lt;br /&gt;
* [[Apache Tomcat]] ([[Apache Software Foundation]]; freie Software)&lt;br /&gt;
* [[Boa (Webserver)]] ([[GNU General Public License]])&lt;br /&gt;
* [[CERN httpd]] (Open Source)&lt;br /&gt;
* [[Hiawatha Webserver|Hiawatha]] (GNU General Public License)&lt;br /&gt;
* [[iPlanet]] (Sun Microsystems)&lt;br /&gt;
* [[Jetty (Webserver)|Jetty]] (für Webapplikationen in [[Java (Programmiersprache)|Java]])&lt;br /&gt;
* [[Jigsaw (Webserver)|W3C Jigsaw]] (Open Source)&lt;br /&gt;
* [[lighttpd]] (BSD-Lizenz)&lt;br /&gt;
* [[Node.js]] (Node.js Foundation; MIT-Lizenz)&lt;br /&gt;
* [[OpenWrt#uHTTPd|uHTTPd]] ([[Freifunk]]/[[OpenWrt]]; freie Software)&lt;br /&gt;
* [[Zope (Webanwendungsserver)|Zope]] (Zope Corporation, freie Software)&lt;br /&gt;
&lt;br /&gt;
=== Marktanteile ===&lt;br /&gt;
[[Datei:Usage share of web servers (Source Netcraft).svg|mini|Marktanteile nach [[Netcraft]]]]Schätzungen von Marktanteilen beruhen auf unterschiedlichen Messverfahren und unterscheiden sich deshalb zum Teil massiv:&lt;br /&gt;
&lt;br /&gt;
* Netcraft &amp;quot;all sites&amp;quot; misst den Typ des Webservers einer [[Domain (Internet)|Domäne]] unabhängig davon, wie oft diese besucht wird. Der Webauftritt einer Privatperson zählt hier gleich viel wie derjenige von Google oder Facebook (diese Messgröße wird aus historischen Gründen weiter erhoben&amp;lt;ref&amp;gt;{{Internetquelle |url=https://www.netcraft.com/active-sites/ |titel=How many active sites are there? |hrsg=Netcraft.com |abruf=2019-01-29 |sprache=en |kommentar=In the early days of the web, hostnames were a good indication of actively managed content providing information and services to the Internet community. The situation is now considerably more blurred […]}}&amp;lt;/ref&amp;gt;)&lt;br /&gt;
* Netcraft &amp;quot;active sites&amp;quot; schließt Seiten aus, die sich über längere Zeit nicht ändern, also meist private Homepages mit statischem Inhalt oder Domains mit ausschließlich automatisch generierten Inhalten&amp;lt;ref&amp;gt;{{Internetquelle |url=https://www.netcraft.com/active-sites/ |titel=Active Sites |abruf=2019-01-29 |sprache=en |kommentar=It is therefore desirable to find a way to count sites, rather than IPs, but excluding those sites which come from a standard or computer-filled template.}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Netcraft &amp;quot;top million&amp;quot; ist eine dritte Kategorie derselben Firma, die nur die am meisten besuchten Domänen berücksichtigt&lt;br /&gt;
* W3Tech berücksichtigt ebenfalls die am meisten besuchten Domains&amp;lt;ref&amp;gt;{{Internetquelle |url=https://w3techs.com/technologies |titel=Technologies Overview |hrsg=W3Techs |abruf=2019-01-29 |kommentar=We include only the top 10 million websites […] in the statistics in order to limit the impact of domain spammers.}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Datum&lt;br /&gt;
! Quelle&lt;br /&gt;
! Apache&lt;br /&gt;
! Microsoft IIS&lt;br /&gt;
! nginx&lt;br /&gt;
! Google Web Server&lt;br /&gt;
|-&lt;br /&gt;
| Januar 2013&lt;br /&gt;
|[[Netcraft]], „all sites“&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 55,26 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 16,93 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 12,64 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 3,58 %&lt;br /&gt;
|-&lt;br /&gt;
| Juli 2013&lt;br /&gt;
|[[Netcraft]], „all sites“&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 52,19 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 19,65 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 13,60 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 3,92 %&lt;br /&gt;
|-&lt;br /&gt;
| Januar 2014&lt;br /&gt;
|[[Netcraft]], „all sites“&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 41,64 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 29,42 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 14,40 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 2,47 %&lt;br /&gt;
|-&lt;br /&gt;
| Juli 2014&lt;br /&gt;
|[[Netcraft]], „all sites“&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 51,14 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 14,35 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 11,86 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 8,12 %&lt;br /&gt;
|-&lt;br /&gt;
| Januar 2015&lt;br /&gt;
|[[Netcraft]], „all sites“&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 39,74 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 27,52 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 14,61 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 2,30 %&lt;br /&gt;
|-&lt;br /&gt;
| Juli 2015&lt;br /&gt;
|[[Netcraft]], „all sites“&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 38,34 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 26,52 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 15,47 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 2,38 %&lt;br /&gt;
|-&lt;br /&gt;
| Januar 2016&lt;br /&gt;
|[[Netcraft]], „all sites“&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 33,56 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 28,95 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 15,60 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 2,29 %&lt;br /&gt;
|-&lt;br /&gt;
| Juli 2016&lt;br /&gt;
|[[Netcraft]], „all sites“&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 31,72 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 35,26 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 15,92 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 2,10 %&lt;br /&gt;
|-&lt;br /&gt;
| Januar 2017&lt;br /&gt;
|[[Netcraft]], „all sites“&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 21,51 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 45,66 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 17,63 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 1,00 %&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Februar 2017&lt;br /&gt;
|[[Netcraft]], „all sites“&amp;lt;ref name=&amp;quot;netcraft-2017-02&amp;quot;&amp;gt;[https://news.netcraft.com/archives/2017/02/27/february-2017-web-server-survey.html Netcraft February 2017 Web Server Survey]&amp;lt;/ref&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 20,89 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 43,16 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 19,42 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 1,03 %&lt;br /&gt;
|-&lt;br /&gt;
|[[Netcraft]], „active sites“&amp;lt;ref name=&amp;quot;netcraft-2017-02&amp;quot; /&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 45,78 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 9,22 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 19,60 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | 6,70 %&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |Dezember 2018&lt;br /&gt;
|Netcraft, „all sites“&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; |18,94 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; |41,53 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; |21,63 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; |1,44 %&lt;br /&gt;
|-&lt;br /&gt;
|Netcraft, „active sites“&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|30,05 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|6,72 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|22,11 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|7,81 %&lt;br /&gt;
|-&lt;br /&gt;
|Netcraft, „top million“&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|33,04 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|9,33 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|25,89 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|k.&amp;amp;nbsp;A.&lt;br /&gt;
|-&lt;br /&gt;
|W3Techs&amp;lt;ref&amp;gt;{{Internetquelle |url=https://w3techs.com/technologies/overview/web_server/all |titel=Usage of web servers for websites |hrsg=W3Techs |abruf=2019-01-29 |sprache=en}}&amp;lt;/ref&amp;gt;, „top 10 million“&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|44,4 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|8,9 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|41,0 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|0,9 %&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |Dezember 2019&lt;br /&gt;
|Netcraft, „all sites“&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; |24,36 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; |14,59 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; |37,77 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; |2,94 %&lt;br /&gt;
|-&lt;br /&gt;
|Netcraft, „active sites“&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|29,25 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|4,96 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|19,14 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|9,59 %&lt;br /&gt;
|-&lt;br /&gt;
|Netcraft, „top million“&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|30,42 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|8,17 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|25,46 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|1,82 %&lt;br /&gt;
|-&lt;br /&gt;
|W3Techs, „top 10 million“&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|41,8 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|7,9 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|31,3 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|1,1 %&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |Dezember 2020&lt;br /&gt;
|Netcraft, „all sites“&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; |27,07 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; |7,49 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; |33,48 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; |3,82 %&lt;br /&gt;
|-&lt;br /&gt;
|Netcraft, „active sites“&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|25,60 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|3,87 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|19,76 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|10,08 %&lt;br /&gt;
|-&lt;br /&gt;
|Netcraft, „top million“&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|24,63 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|6,85 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|23,21 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|- %&lt;br /&gt;
|-&lt;br /&gt;
|W3Techs, „top 10 million“&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|35,0 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|7,3 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|32,8 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|1,2 %&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |Dezember 2021&lt;br /&gt;
|Netcraft, „all sites“&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; |24 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | - %&amp;lt;ref&amp;gt;Microsoft wird von Netcraft nicht mehr aufgelistet&amp;lt;/ref&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; |32 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; |- %&lt;br /&gt;
|-&lt;br /&gt;
|Netcraft, „active sites“&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|24 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|- %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|20 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|10 %&lt;br /&gt;
|-&lt;br /&gt;
|Netcraft, „top million“&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|24 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|- %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|22 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|- %&lt;br /&gt;
|-&lt;br /&gt;
|W3Techs, „top 10 million“&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|31 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|6 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|33 %&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;|1 %&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Virtual Hosting]]&lt;br /&gt;
* [[Common Gateway Interface]]&lt;br /&gt;
* [[Servlet]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
{{Wiktionary}}&lt;br /&gt;
* [[:en:Comparison of web server software|Vergleich von Webservern]] in der englischsprachigen Wikipedia&lt;br /&gt;
* [https://www.stern.de/digital/online/die-erste-webseite-wird-20-mit-165-woertern-in-die-zukunft-3037904.html &#039;&#039;Mit 165 Wörtern in die Zukunft&#039;&#039;.] ([[Stern (Zeitschrift)|Stern]]-Artikel zum 20-Jahr-Jubiläum des WWW)&lt;br /&gt;
* [https://cds.cern.ch/record/1547556 &#039;&#039;Servicing the first web server – Tim Berners-Lee&#039;s NeXT&#039;&#039;] (Bilder des ersten Webservers, betrieben durch [[Tim Berners-Lee]])&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Webserver (Thema)| ]]&lt;br /&gt;
[[Kategorie:CERN]]&lt;br /&gt;
[[Kategorie:Englische Phrase]]&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=Webserver&amp;diff=167966</id>
		<title>Webserver</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=Webserver&amp;diff=167966"/>
		<updated>2026-06-17T09:41:24Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: /* Weblinks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Webserver&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;br /&gt;
=== Siehe auch ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count:2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;categorytree hideroot=on mode=&amp;quot;pages&amp;quot;&amp;gt;Webserver&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
==== Weblinks ====&lt;br /&gt;
# https://de.wikipedia.org/wiki/Webserver&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Webserver]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=Webserver&amp;diff=167965</id>
		<title>Webserver</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=Webserver&amp;diff=167965"/>
		<updated>2026-06-17T09:40:24Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: /* Projekt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Webserver&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;br /&gt;
=== Siehe auch ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count:2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;categorytree hideroot=on mode=&amp;quot;pages&amp;quot;&amp;gt;Webserver&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
==== Weblinks ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{DEFAULTSORT:new}}&lt;br /&gt;
{{DISPLAYTITLE:new}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Webserver]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=Webserver&amp;diff=167964</id>
		<title>Webserver</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=Webserver&amp;diff=167964"/>
		<updated>2026-06-17T09:40:13Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: /* Dokumentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Webserver&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;br /&gt;
=== Siehe auch ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count:2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;categorytree hideroot=on mode=&amp;quot;pages&amp;quot;&amp;gt;Webserver&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
==== Projekt ====&lt;br /&gt;
==== Weblinks ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{DEFAULTSORT:new}}&lt;br /&gt;
{{DISPLAYTITLE:new}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Webserver]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=Webserver&amp;diff=167963</id>
		<title>Webserver</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=Webserver&amp;diff=167963"/>
		<updated>2026-06-17T09:39:54Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Webserver&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;br /&gt;
=== Siehe auch ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count:2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;categorytree hideroot=on mode=&amp;quot;pages&amp;quot;&amp;gt;Webserver&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}&lt;br /&gt;
&lt;br /&gt;
=== Dokumentation ===&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
; Man-Page &lt;br /&gt;
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)]&lt;br /&gt;
&lt;br /&gt;
; Info-Pages &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
==== Projekt ====&lt;br /&gt;
==== Weblinks ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{DEFAULTSORT:new}}&lt;br /&gt;
{{DISPLAYTITLE:new}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Webserver]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=Webserver&amp;diff=167962</id>
		<title>Webserver</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=Webserver&amp;diff=167962"/>
		<updated>2026-06-17T09:39:25Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Webserver&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;br /&gt;
=== Siehe auch ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count:2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;categorytree hideroot=on mode=&amp;quot;pages&amp;quot;&amp;gt;{{BASEPAGENAME}}&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}&lt;br /&gt;
&lt;br /&gt;
=== Dokumentation ===&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
; Man-Page &lt;br /&gt;
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)]&lt;br /&gt;
&lt;br /&gt;
; Info-Pages &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
==== Projekt ====&lt;br /&gt;
==== Weblinks ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{DEFAULTSORT:new}}&lt;br /&gt;
{{DISPLAYTITLE:new}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Webserver]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=Webserver&amp;diff=167961</id>
		<title>Webserver</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=Webserver&amp;diff=167961"/>
		<updated>2026-06-17T09:39:06Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: /* Konfiguration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Webserver&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;br /&gt;
=== Siehe auch ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count:2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;categorytree hideroot=on mode=&amp;quot;pages&amp;quot;&amp;gt;{{BASEPAGENAME}}&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}&lt;br /&gt;
&lt;br /&gt;
=== Dokumentation ===&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
; Man-Page &lt;br /&gt;
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)]&lt;br /&gt;
&lt;br /&gt;
; Info-Pages &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
==== Projekt ====&lt;br /&gt;
==== Weblinks ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{DEFAULTSORT:new}}&lt;br /&gt;
{{DISPLAYTITLE:new}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Webserver]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=Webserver&amp;diff=167960</id>
		<title>Webserver</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=Webserver&amp;diff=167960"/>
		<updated>2026-06-17T09:38:48Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: /* Anwendung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Webserver&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Konfiguration ==&lt;br /&gt;
=== Dateien ===&lt;br /&gt;
{| class=&amp;quot;wikitable options big&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Datei !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| || &lt;br /&gt;
|-&lt;br /&gt;
| || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;br /&gt;
=== Siehe auch ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count:2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;categorytree hideroot=on mode=&amp;quot;pages&amp;quot;&amp;gt;{{BASEPAGENAME}}&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}&lt;br /&gt;
&lt;br /&gt;
=== Dokumentation ===&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
; Man-Page &lt;br /&gt;
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)]&lt;br /&gt;
&lt;br /&gt;
; Info-Pages &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
==== Projekt ====&lt;br /&gt;
==== Weblinks ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{DEFAULTSORT:new}}&lt;br /&gt;
{{DISPLAYTITLE:new}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Webserver]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=Webserver&amp;diff=167959</id>
		<title>Webserver</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=Webserver&amp;diff=167959"/>
		<updated>2026-06-17T09:38:35Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: /* Aufruf */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Webserver&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anwendung ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- output --&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;&amp;quot; line&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Problembehebung ===&lt;br /&gt;
&lt;br /&gt;
== Konfiguration ==&lt;br /&gt;
=== Dateien ===&lt;br /&gt;
{| class=&amp;quot;wikitable options big&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Datei !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| || &lt;br /&gt;
|-&lt;br /&gt;
| || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;br /&gt;
=== Siehe auch ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count:2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;categorytree hideroot=on mode=&amp;quot;pages&amp;quot;&amp;gt;{{BASEPAGENAME}}&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}&lt;br /&gt;
&lt;br /&gt;
=== Dokumentation ===&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
; Man-Page &lt;br /&gt;
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)]&lt;br /&gt;
&lt;br /&gt;
; Info-Pages &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
==== Projekt ====&lt;br /&gt;
==== Weblinks ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{DEFAULTSORT:new}}&lt;br /&gt;
{{DISPLAYTITLE:new}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Webserver]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=Webserver&amp;diff=167958</id>
		<title>Webserver</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=Webserver&amp;diff=167958"/>
		<updated>2026-06-17T09:38:08Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: Weiterleitung auf Kategorie:Webserver entfernt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Webserver&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aufruf ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Optionen ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable options gnu big&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Unix !! GNU !! Parameter !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| || || || &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Parameter ===&lt;br /&gt;
=== Umgebungsvariablen ===&lt;br /&gt;
=== Exit-Status ===&lt;br /&gt;
{| class=&amp;quot;wikitable options col1center big&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Wert !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| 0 || Erfolg&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;0 || Fehler&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Anwendung ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- output --&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;&amp;quot; line&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Problembehebung ===&lt;br /&gt;
&lt;br /&gt;
== Konfiguration ==&lt;br /&gt;
=== Dateien ===&lt;br /&gt;
{| class=&amp;quot;wikitable options big&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Datei !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| || &lt;br /&gt;
|-&lt;br /&gt;
| || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;br /&gt;
=== Siehe auch ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count:2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;categorytree hideroot=on mode=&amp;quot;pages&amp;quot;&amp;gt;{{BASEPAGENAME}}&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}&lt;br /&gt;
&lt;br /&gt;
=== Dokumentation ===&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
; Man-Page &lt;br /&gt;
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)]&lt;br /&gt;
&lt;br /&gt;
; Info-Pages &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
==== Projekt ====&lt;br /&gt;
==== Weblinks ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{DEFAULTSORT:new}}&lt;br /&gt;
{{DISPLAYTITLE:new}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Webserver]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=MediaWiki/Performance&amp;diff=167957</id>
		<title>MediaWiki/Performance</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=MediaWiki/Performance&amp;diff=167957"/>
		<updated>2026-06-17T09:35:20Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: /* Beschreibung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;MediaWiki/Performance&#039;&#039;&#039; - Leistungsoptimierungen für [[MediaWiki]]&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
; Ressourcen&lt;br /&gt;
[[Webserver]] und [[PHP]] genügend [[Arbeitsspeicher]] und [[CPU-Kapazität]] zuweisen&lt;br /&gt;
&lt;br /&gt;
; Caching-Tools&lt;br /&gt;
Es gibt eine Vielzahl von Caching-Tools&lt;br /&gt;
* die in Verbindung mit MediaWiki (und untereinander) verwendet werden können([[Varnish]] und [[Memcached]])&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Varnish_caching&lt;br /&gt;
&lt;br /&gt;
; CPU-Auslastung reduzieren&lt;br /&gt;
* [[PHP]] [[OPcache]] aktivieren&lt;br /&gt;
* Objekt-Caching&lt;br /&gt;
* APCu/Memcached installieren &lt;br /&gt;
* ressourcenintensive Bot-Crawler blockieren&lt;br /&gt;
&lt;br /&gt;
; Alternative Webserver&lt;br /&gt;
Nginx oder Lighttpd&lt;br /&gt;
* Die Verwendung von Nginx oder Lighttpd als Webserver anstelle von Apache kann die Leistung stark frequentierter Websites erheblich verbessern&lt;br /&gt;
&lt;br /&gt;
; Links&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Manual:Performance_tuning Alle Optionen für das Caching]&lt;br /&gt;
* https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm&lt;br /&gt;
&lt;br /&gt;
== PHP-Caching ==&lt;br /&gt;
; PHP-Caching aktivieren (unbedingt erforderlich)&lt;br /&gt;
PHP kompiliert Code standardmäßig bei jeder Seitenanfrage neu. &lt;br /&gt;
* Zwischenspeichern dieser Skripte reduziert die CPU-Auslastung&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Varnish_caching&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Performance_tuning&lt;br /&gt;
&lt;br /&gt;
; OPcache&lt;br /&gt;
OPcache in der &amp;lt;code&amp;gt;php.ini&amp;lt;/code&amp;gt;-Datei aktivieren&lt;br /&gt;
* &amp;lt;code&amp;gt;opcache.enable=1&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;opcache.memory_consumption=128&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; APCu&lt;br /&gt;
APCu-PHP-Erweiterung installieren&lt;br /&gt;
* schnelles, lokales Objekt-Caching&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Performance_tuning/ca&lt;br /&gt;
* https://wiki.centos-webpanel.com/improve-website-performance&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Varnish_caching&lt;br /&gt;
&lt;br /&gt;
== Objekt- und Hauptcache ==&lt;br /&gt;
; MediaWiki-Objekt- und Hauptcache konfigurieren&lt;br /&gt;
Datenbankabfragen zwischensoeichern&lt;br /&gt;
&lt;br /&gt;
; LocalSettings.php&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;&amp;quot; line copy&amp;gt;&lt;br /&gt;
$wgMainCacheType = CACHE_ACCEL;&lt;br /&gt;
$wgParserCacheType = CACHE_ACCEL;&lt;br /&gt;
$wgSessionCacheType = CACHE_ACCEL;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[mediawikiwiki:Manual:$wgMainCacheType]]&lt;br /&gt;
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166&lt;br /&gt;
* https://lists.wikimedia.org/hyperkitty/list/mediawiki-l@lists.wikimedia.org/thread/S7YWAMM6BHTZBOK7ZPQ2ZBKRSML42OPP/&lt;br /&gt;
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166&lt;br /&gt;
&lt;br /&gt;
== Bots und Crawler ==&lt;br /&gt;
; Bots und Crawler optimieren&lt;br /&gt;
Aggressive Suchmaschinen-Bots können dynamische Seiten (wie &amp;lt;code&amp;gt;api.php&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;index.php?action=history&amp;lt;/code&amp;gt;) indexieren und Ihre CPU überlasten. &lt;br /&gt;
* https://github.com/bitnami/charts/issues/3138&lt;br /&gt;
* https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm&lt;br /&gt;
&lt;br /&gt;
Erstelle oder aktualisiere eine strenge &amp;lt;code&amp;gt;robots.txt&amp;lt;/code&amp;gt;-Datei in deinem Hauptverzeichnis, um nicht-kanonische URLs und Systemseiten zu blockieren.&lt;br /&gt;
&lt;br /&gt;
; Beispielregeln&lt;br /&gt;
 text User-agent:* &lt;br /&gt;
 Disallow: /wiki/Special: &lt;br /&gt;
 Disallow: /w/api.php Disallow: /w/index.php&lt;br /&gt;
&lt;br /&gt;
* https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm&lt;br /&gt;
&lt;br /&gt;
== Erweiterungen ==&lt;br /&gt;
; Ressourcenintensive Erweiterungen anpassen&lt;br /&gt;
Komplexe Erweiterungen wie &#039;&#039;Semantic MediaWiki (SMW)&#039;&#039; können von Seiten zu erheblicher Serverbelastung führen&lt;br /&gt;
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166&lt;br /&gt;
&lt;br /&gt;
; Abfrage-Caching&lt;br /&gt;
&#039;&#039;Abfrage-Caching&#039;&#039; bei SMW aktivieren&lt;br /&gt;
* verhindert, dass komplexe semantische Abfragen bei jedem Besuch neu berechnet werden&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;LocalSettings.php&#039;&#039;&lt;br /&gt;
 $smwgEnableCache = true;&lt;br /&gt;
&lt;br /&gt;
== Zähler ==&lt;br /&gt;
; Seitenzähler deaktivieren&lt;br /&gt;
Erfassung der Seitenaufrufen kann auf stark frequentierten Seiten zu einem sprunghaften Anstieg der CPU-Auslastung führen&lt;br /&gt;
* [[mediawikiwiki:Topic:Rncjbh4poqojjt9k]]&lt;br /&gt;
Werden keine Seitenstatistiken benötigt, kann der Seitenzähler deaktiviert werden&lt;br /&gt;
&lt;br /&gt;
; LocalSettings.php&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; highlight=&amp;quot;&amp;quot; copy&amp;gt;&lt;br /&gt;
$wgDisableCounters = true;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PHP-FPM / FastCGI ==&lt;br /&gt;
; PHP-FPM / FastCGI optimieren&lt;br /&gt;
Wenn [[PHP-FPM]]-Prozesse&lt;br /&gt;
* aufgrund hohen Datenverkehrs&lt;br /&gt;
* übermäßig viel CPU-Leistung beanspruchen&lt;br /&gt;
* begrenze die Laufzeit jedes Prozesses, bevor er recycelt wird, um Speicher freizugeben. &lt;br /&gt;
** [[mediawikiwiki:Topic:U1sl12b4w1gkbh2k]]&lt;br /&gt;
** https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm&lt;br /&gt;
&lt;br /&gt;
; php-fpm.conf&lt;br /&gt;
Pool-Konfiguration&lt;br /&gt;
* um Prozesse zu aktualisieren&lt;br /&gt;
&lt;br /&gt;
; Beispiel&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
pm.max_requests = 500&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Skalierung&lt;br /&gt;
Anleitung zur Skalierung&lt;br /&gt;
* [[mediawikiwiki:Manual:Performance_tuning|MediaWiki-Handbuch zur Leistungsoptimierung]]&lt;br /&gt;
* [[mediawikiwiki:Manual:Performance_tuning|Manual:Performance_tuning]]&lt;br /&gt;
&lt;br /&gt;
; Erweiterungen&lt;br /&gt;
Welche Erweiterungen (wie Semantic MediaWiki) sind aktiv?&lt;br /&gt;
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;br /&gt;
=== Siehe auch ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count:2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;categorytree hideroot=on mode=&amp;quot;pages&amp;quot;&amp;gt;{{BASEPAGENAME}}&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}&lt;br /&gt;
&lt;br /&gt;
=== Dokumentation ===&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
; Man-Page &lt;br /&gt;
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)]&lt;br /&gt;
&lt;br /&gt;
; Info-Pages &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
==== Projekt ====&lt;br /&gt;
==== Weblinks ====&lt;br /&gt;
# https://www.mediawiki.org/wiki/Manual:Varnish_caching&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{DEFAULTSORT:new}}&lt;br /&gt;
{{DISPLAYTITLE:new}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:MediaWiki/Verwaltung]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=MediaWiki/Performance&amp;diff=167956</id>
		<title>MediaWiki/Performance</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=MediaWiki/Performance&amp;diff=167956"/>
		<updated>2026-06-17T09:32:40Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: /* Beschreibung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;MediaWiki/Performance&#039;&#039;&#039; - Leistungsoptimierungen für [[MediaWiki]]&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
; Ressourcen&lt;br /&gt;
[[Webserver]] und [[PHP]] genügend [[Arbeitsspeicher]] und [[CPU-Kapazität]] zuweisen&lt;br /&gt;
&lt;br /&gt;
; Caching-Tools&lt;br /&gt;
* Es gibt eine Vielzahl von Caching-Tools&lt;br /&gt;
** die in Verbindung mit MediaWiki (und untereinander) verwendet werden können([[Varnish]] und [[Memcached]])&lt;br /&gt;
** https://www.mediawiki.org/wiki/Manual:Varnish_caching&lt;br /&gt;
&lt;br /&gt;
; CPU-Auslastung reduzieren&lt;br /&gt;
* [[PHP]] [[OPcache]] aktivieren&lt;br /&gt;
* Objekt-Caching&lt;br /&gt;
* APCu/Memcached installieren &lt;br /&gt;
* ressourcenintensive Bot-Crawler blockieren&lt;br /&gt;
&lt;br /&gt;
; Alternative Webserver&lt;br /&gt;
Nginx oder Lighttpd&lt;br /&gt;
* Die Verwendung von Nginx oder Lighttpd als Webserver anstelle von Apache kann die Leistung stark frequentierter Websites erheblich verbessern&lt;br /&gt;
&lt;br /&gt;
; Links&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Manual:Performance_tuning Alle Optionen für das Caching]&lt;br /&gt;
* https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm&lt;br /&gt;
&lt;br /&gt;
== PHP-Caching ==&lt;br /&gt;
; PHP-Caching aktivieren (unbedingt erforderlich)&lt;br /&gt;
PHP kompiliert Code standardmäßig bei jeder Seitenanfrage neu. &lt;br /&gt;
* Zwischenspeichern dieser Skripte reduziert die CPU-Auslastung&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Varnish_caching&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Performance_tuning&lt;br /&gt;
&lt;br /&gt;
; OPcache&lt;br /&gt;
OPcache in der &amp;lt;code&amp;gt;php.ini&amp;lt;/code&amp;gt;-Datei aktivieren&lt;br /&gt;
* &amp;lt;code&amp;gt;opcache.enable=1&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;opcache.memory_consumption=128&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; APCu&lt;br /&gt;
APCu-PHP-Erweiterung installieren&lt;br /&gt;
* schnelles, lokales Objekt-Caching&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Performance_tuning/ca&lt;br /&gt;
* https://wiki.centos-webpanel.com/improve-website-performance&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Varnish_caching&lt;br /&gt;
&lt;br /&gt;
== Objekt- und Hauptcache ==&lt;br /&gt;
; MediaWiki-Objekt- und Hauptcache konfigurieren&lt;br /&gt;
Datenbankabfragen zwischensoeichern&lt;br /&gt;
&lt;br /&gt;
; LocalSettings.php&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;&amp;quot; line copy&amp;gt;&lt;br /&gt;
$wgMainCacheType = CACHE_ACCEL;&lt;br /&gt;
$wgParserCacheType = CACHE_ACCEL;&lt;br /&gt;
$wgSessionCacheType = CACHE_ACCEL;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[mediawikiwiki:Manual:$wgMainCacheType]]&lt;br /&gt;
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166&lt;br /&gt;
* https://lists.wikimedia.org/hyperkitty/list/mediawiki-l@lists.wikimedia.org/thread/S7YWAMM6BHTZBOK7ZPQ2ZBKRSML42OPP/&lt;br /&gt;
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166&lt;br /&gt;
&lt;br /&gt;
== Bots und Crawler ==&lt;br /&gt;
; Bots und Crawler optimieren&lt;br /&gt;
Aggressive Suchmaschinen-Bots können dynamische Seiten (wie &amp;lt;code&amp;gt;api.php&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;index.php?action=history&amp;lt;/code&amp;gt;) indexieren und Ihre CPU überlasten. &lt;br /&gt;
* https://github.com/bitnami/charts/issues/3138&lt;br /&gt;
* https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm&lt;br /&gt;
&lt;br /&gt;
Erstelle oder aktualisiere eine strenge &amp;lt;code&amp;gt;robots.txt&amp;lt;/code&amp;gt;-Datei in deinem Hauptverzeichnis, um nicht-kanonische URLs und Systemseiten zu blockieren.&lt;br /&gt;
&lt;br /&gt;
; Beispielregeln&lt;br /&gt;
 text User-agent:* &lt;br /&gt;
 Disallow: /wiki/Special: &lt;br /&gt;
 Disallow: /w/api.php Disallow: /w/index.php&lt;br /&gt;
&lt;br /&gt;
* https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm&lt;br /&gt;
&lt;br /&gt;
== Erweiterungen ==&lt;br /&gt;
; Ressourcenintensive Erweiterungen anpassen&lt;br /&gt;
Komplexe Erweiterungen wie &#039;&#039;Semantic MediaWiki (SMW)&#039;&#039; können von Seiten zu erheblicher Serverbelastung führen&lt;br /&gt;
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166&lt;br /&gt;
&lt;br /&gt;
; Abfrage-Caching&lt;br /&gt;
&#039;&#039;Abfrage-Caching&#039;&#039; bei SMW aktivieren&lt;br /&gt;
* verhindert, dass komplexe semantische Abfragen bei jedem Besuch neu berechnet werden&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;LocalSettings.php&#039;&#039;&lt;br /&gt;
 $smwgEnableCache = true;&lt;br /&gt;
&lt;br /&gt;
== Zähler ==&lt;br /&gt;
; Seitenzähler deaktivieren&lt;br /&gt;
Erfassung der Seitenaufrufen kann auf stark frequentierten Seiten zu einem sprunghaften Anstieg der CPU-Auslastung führen&lt;br /&gt;
* [[mediawikiwiki:Topic:Rncjbh4poqojjt9k]]&lt;br /&gt;
Werden keine Seitenstatistiken benötigt, kann der Seitenzähler deaktiviert werden&lt;br /&gt;
&lt;br /&gt;
; LocalSettings.php&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; highlight=&amp;quot;&amp;quot; copy&amp;gt;&lt;br /&gt;
$wgDisableCounters = true;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PHP-FPM / FastCGI ==&lt;br /&gt;
; PHP-FPM / FastCGI optimieren&lt;br /&gt;
Wenn [[PHP-FPM]]-Prozesse&lt;br /&gt;
* aufgrund hohen Datenverkehrs&lt;br /&gt;
* übermäßig viel CPU-Leistung beanspruchen&lt;br /&gt;
* begrenze die Laufzeit jedes Prozesses, bevor er recycelt wird, um Speicher freizugeben. &lt;br /&gt;
** [[mediawikiwiki:Topic:U1sl12b4w1gkbh2k]]&lt;br /&gt;
** https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm&lt;br /&gt;
&lt;br /&gt;
; php-fpm.conf&lt;br /&gt;
Pool-Konfiguration&lt;br /&gt;
* um Prozesse zu aktualisieren&lt;br /&gt;
&lt;br /&gt;
; Beispiel&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
pm.max_requests = 500&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Skalierung&lt;br /&gt;
Anleitung zur Skalierung&lt;br /&gt;
* [[mediawikiwiki:Manual:Performance_tuning|MediaWiki-Handbuch zur Leistungsoptimierung]]&lt;br /&gt;
* [[mediawikiwiki:Manual:Performance_tuning|Manual:Performance_tuning]]&lt;br /&gt;
&lt;br /&gt;
; Erweiterungen&lt;br /&gt;
Welche Erweiterungen (wie Semantic MediaWiki) sind aktiv?&lt;br /&gt;
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;br /&gt;
=== Siehe auch ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count:2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;categorytree hideroot=on mode=&amp;quot;pages&amp;quot;&amp;gt;{{BASEPAGENAME}}&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}&lt;br /&gt;
&lt;br /&gt;
=== Dokumentation ===&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
; Man-Page &lt;br /&gt;
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)]&lt;br /&gt;
&lt;br /&gt;
; Info-Pages &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
==== Projekt ====&lt;br /&gt;
==== Weblinks ====&lt;br /&gt;
# https://www.mediawiki.org/wiki/Manual:Varnish_caching&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{DEFAULTSORT:new}}&lt;br /&gt;
{{DISPLAYTITLE:new}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:MediaWiki/Verwaltung]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=MediaWiki/Performance&amp;diff=167955</id>
		<title>MediaWiki/Performance</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=MediaWiki/Performance&amp;diff=167955"/>
		<updated>2026-06-17T09:30:35Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: /* Beschreibung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;MediaWiki/Performance&#039;&#039;&#039; - Leistungsoptimierungen für [[MediaWiki]]&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
; Ressourcen&lt;br /&gt;
Arbeitsspeicher&lt;br /&gt;
* Stellen Sie sicher, dass Ihrem [[Webserver]] und [[PHP]] genügend Arbeitsspeicher zugewiesen ist&lt;br /&gt;
&lt;br /&gt;
; Caching-Tools&lt;br /&gt;
* Es gibt eine Vielzahl von Caching-Tools&lt;br /&gt;
** die in Verbindung mit MediaWiki (und untereinander) verwendet werden können([[Varnish]] und [[Memcached]])&lt;br /&gt;
** https://www.mediawiki.org/wiki/Manual:Varnish_caching&lt;br /&gt;
&lt;br /&gt;
; CPU-Auslastung reduzieren&lt;br /&gt;
* [[PHP]] [[OPcache]] aktivieren&lt;br /&gt;
* Objekt-Caching&lt;br /&gt;
* APCu/Memcached installieren &lt;br /&gt;
* ressourcenintensive Bot-Crawler blockieren&lt;br /&gt;
&lt;br /&gt;
; Alternative Webserver&lt;br /&gt;
Nginx oder Lighttpd&lt;br /&gt;
* Die Verwendung von Nginx oder Lighttpd als Webserver anstelle von Apache kann die Leistung stark frequentierter Websites erheblich verbessern&lt;br /&gt;
&lt;br /&gt;
; Links&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Manual:Performance_tuning Alle Optionen für das Caching]&lt;br /&gt;
* https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm&lt;br /&gt;
&lt;br /&gt;
== PHP-Caching ==&lt;br /&gt;
; PHP-Caching aktivieren (unbedingt erforderlich)&lt;br /&gt;
PHP kompiliert Code standardmäßig bei jeder Seitenanfrage neu. &lt;br /&gt;
* Zwischenspeichern dieser Skripte reduziert die CPU-Auslastung&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Varnish_caching&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Performance_tuning&lt;br /&gt;
&lt;br /&gt;
; OPcache&lt;br /&gt;
OPcache in der &amp;lt;code&amp;gt;php.ini&amp;lt;/code&amp;gt;-Datei aktivieren&lt;br /&gt;
* &amp;lt;code&amp;gt;opcache.enable=1&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;opcache.memory_consumption=128&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; APCu&lt;br /&gt;
APCu-PHP-Erweiterung installieren&lt;br /&gt;
* schnelles, lokales Objekt-Caching&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Performance_tuning/ca&lt;br /&gt;
* https://wiki.centos-webpanel.com/improve-website-performance&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Varnish_caching&lt;br /&gt;
&lt;br /&gt;
== Objekt- und Hauptcache ==&lt;br /&gt;
; MediaWiki-Objekt- und Hauptcache konfigurieren&lt;br /&gt;
Datenbankabfragen zwischensoeichern&lt;br /&gt;
&lt;br /&gt;
; LocalSettings.php&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;&amp;quot; line copy&amp;gt;&lt;br /&gt;
$wgMainCacheType = CACHE_ACCEL;&lt;br /&gt;
$wgParserCacheType = CACHE_ACCEL;&lt;br /&gt;
$wgSessionCacheType = CACHE_ACCEL;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[mediawikiwiki:Manual:$wgMainCacheType]]&lt;br /&gt;
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166&lt;br /&gt;
* https://lists.wikimedia.org/hyperkitty/list/mediawiki-l@lists.wikimedia.org/thread/S7YWAMM6BHTZBOK7ZPQ2ZBKRSML42OPP/&lt;br /&gt;
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166&lt;br /&gt;
&lt;br /&gt;
== Bots und Crawler ==&lt;br /&gt;
; Bots und Crawler optimieren&lt;br /&gt;
Aggressive Suchmaschinen-Bots können dynamische Seiten (wie &amp;lt;code&amp;gt;api.php&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;index.php?action=history&amp;lt;/code&amp;gt;) indexieren und Ihre CPU überlasten. &lt;br /&gt;
* https://github.com/bitnami/charts/issues/3138&lt;br /&gt;
* https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm&lt;br /&gt;
&lt;br /&gt;
Erstelle oder aktualisiere eine strenge &amp;lt;code&amp;gt;robots.txt&amp;lt;/code&amp;gt;-Datei in deinem Hauptverzeichnis, um nicht-kanonische URLs und Systemseiten zu blockieren.&lt;br /&gt;
&lt;br /&gt;
; Beispielregeln&lt;br /&gt;
 text User-agent:* &lt;br /&gt;
 Disallow: /wiki/Special: &lt;br /&gt;
 Disallow: /w/api.php Disallow: /w/index.php&lt;br /&gt;
&lt;br /&gt;
* https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm&lt;br /&gt;
&lt;br /&gt;
== Erweiterungen ==&lt;br /&gt;
; Ressourcenintensive Erweiterungen anpassen&lt;br /&gt;
Komplexe Erweiterungen wie &#039;&#039;Semantic MediaWiki (SMW)&#039;&#039; können von Seiten zu erheblicher Serverbelastung führen&lt;br /&gt;
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166&lt;br /&gt;
&lt;br /&gt;
; Abfrage-Caching&lt;br /&gt;
&#039;&#039;Abfrage-Caching&#039;&#039; bei SMW aktivieren&lt;br /&gt;
* verhindert, dass komplexe semantische Abfragen bei jedem Besuch neu berechnet werden&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;LocalSettings.php&#039;&#039;&lt;br /&gt;
 $smwgEnableCache = true;&lt;br /&gt;
&lt;br /&gt;
== Zähler ==&lt;br /&gt;
; Seitenzähler deaktivieren&lt;br /&gt;
Erfassung der Seitenaufrufen kann auf stark frequentierten Seiten zu einem sprunghaften Anstieg der CPU-Auslastung führen&lt;br /&gt;
* [[mediawikiwiki:Topic:Rncjbh4poqojjt9k]]&lt;br /&gt;
Werden keine Seitenstatistiken benötigt, kann der Seitenzähler deaktiviert werden&lt;br /&gt;
&lt;br /&gt;
; LocalSettings.php&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; highlight=&amp;quot;&amp;quot; copy&amp;gt;&lt;br /&gt;
$wgDisableCounters = true;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PHP-FPM / FastCGI ==&lt;br /&gt;
; PHP-FPM / FastCGI optimieren&lt;br /&gt;
Wenn [[PHP-FPM]]-Prozesse&lt;br /&gt;
* aufgrund hohen Datenverkehrs&lt;br /&gt;
* übermäßig viel CPU-Leistung beanspruchen&lt;br /&gt;
* begrenze die Laufzeit jedes Prozesses, bevor er recycelt wird, um Speicher freizugeben. &lt;br /&gt;
** [[mediawikiwiki:Topic:U1sl12b4w1gkbh2k]]&lt;br /&gt;
** https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm&lt;br /&gt;
&lt;br /&gt;
; php-fpm.conf&lt;br /&gt;
Pool-Konfiguration&lt;br /&gt;
* um Prozesse zu aktualisieren&lt;br /&gt;
&lt;br /&gt;
; Beispiel&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
pm.max_requests = 500&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Skalierung&lt;br /&gt;
Anleitung zur Skalierung&lt;br /&gt;
* [[mediawikiwiki:Manual:Performance_tuning|MediaWiki-Handbuch zur Leistungsoptimierung]]&lt;br /&gt;
* [[mediawikiwiki:Manual:Performance_tuning|Manual:Performance_tuning]]&lt;br /&gt;
&lt;br /&gt;
; Erweiterungen&lt;br /&gt;
Welche Erweiterungen (wie Semantic MediaWiki) sind aktiv?&lt;br /&gt;
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;br /&gt;
=== Siehe auch ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count:2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;categorytree hideroot=on mode=&amp;quot;pages&amp;quot;&amp;gt;{{BASEPAGENAME}}&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}&lt;br /&gt;
&lt;br /&gt;
=== Dokumentation ===&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
; Man-Page &lt;br /&gt;
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)]&lt;br /&gt;
&lt;br /&gt;
; Info-Pages &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
==== Projekt ====&lt;br /&gt;
==== Weblinks ====&lt;br /&gt;
# https://www.mediawiki.org/wiki/Manual:Varnish_caching&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{DEFAULTSORT:new}}&lt;br /&gt;
{{DISPLAYTITLE:new}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:MediaWiki/Verwaltung]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=MediaWiki/Performance&amp;diff=167954</id>
		<title>MediaWiki/Performance</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=MediaWiki/Performance&amp;diff=167954"/>
		<updated>2026-06-17T09:28:30Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;MediaWiki/Performance&#039;&#039;&#039; - Leistungsoptimierungen für [[MediaWiki]]&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
; Ressourcen&lt;br /&gt;
Arbeitsspeicher&lt;br /&gt;
* Stellen Sie sicher, dass Ihrem [[Webserver]] und [[PHP]] genügend Arbeitsspeicher zugewiesen ist&lt;br /&gt;
&lt;br /&gt;
; Caching-Tools&lt;br /&gt;
* Es gibt eine Vielzahl von Caching-Tools&lt;br /&gt;
** die in Verbindung mit MediaWiki (und untereinander) verwendet werden können([[Varnish]] und [[Memcached]])&lt;br /&gt;
** https://www.mediawiki.org/wiki/Manual:Varnish_caching&lt;br /&gt;
&lt;br /&gt;
; CPU-Auslastung reduzieren&lt;br /&gt;
* PHP OPcache aktivieren&lt;br /&gt;
* Objekt-Caching&lt;br /&gt;
* APCu/Memcached installieren &lt;br /&gt;
* ressourcenintensive Bot-Crawler blockieren&lt;br /&gt;
&lt;br /&gt;
; Alternative Webserver&lt;br /&gt;
Nginx oder Lighttpd&lt;br /&gt;
* Die Verwendung von Nginx oder Lighttpd als Webserver anstelle von Apache kann die Leistung stark frequentierter Websites erheblich verbessern&lt;br /&gt;
&lt;br /&gt;
; Links&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Manual:Performance_tuning Alle Optionen für das Caching]&lt;br /&gt;
* https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm&lt;br /&gt;
&lt;br /&gt;
== PHP-Caching ==&lt;br /&gt;
; PHP-Caching aktivieren (unbedingt erforderlich)&lt;br /&gt;
PHP kompiliert Code standardmäßig bei jeder Seitenanfrage neu. &lt;br /&gt;
* Zwischenspeichern dieser Skripte reduziert die CPU-Auslastung&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Varnish_caching&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Performance_tuning&lt;br /&gt;
&lt;br /&gt;
; OPcache&lt;br /&gt;
OPcache in der &amp;lt;code&amp;gt;php.ini&amp;lt;/code&amp;gt;-Datei aktivieren&lt;br /&gt;
* &amp;lt;code&amp;gt;opcache.enable=1&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;opcache.memory_consumption=128&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; APCu&lt;br /&gt;
APCu-PHP-Erweiterung installieren&lt;br /&gt;
* schnelles, lokales Objekt-Caching&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Performance_tuning/ca&lt;br /&gt;
* https://wiki.centos-webpanel.com/improve-website-performance&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Varnish_caching&lt;br /&gt;
&lt;br /&gt;
== Objekt- und Hauptcache ==&lt;br /&gt;
; MediaWiki-Objekt- und Hauptcache konfigurieren&lt;br /&gt;
Datenbankabfragen zwischensoeichern&lt;br /&gt;
&lt;br /&gt;
; LocalSettings.php&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;&amp;quot; line copy&amp;gt;&lt;br /&gt;
$wgMainCacheType = CACHE_ACCEL;&lt;br /&gt;
$wgParserCacheType = CACHE_ACCEL;&lt;br /&gt;
$wgSessionCacheType = CACHE_ACCEL;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[mediawikiwiki:Manual:$wgMainCacheType]]&lt;br /&gt;
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166&lt;br /&gt;
* https://lists.wikimedia.org/hyperkitty/list/mediawiki-l@lists.wikimedia.org/thread/S7YWAMM6BHTZBOK7ZPQ2ZBKRSML42OPP/&lt;br /&gt;
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166&lt;br /&gt;
&lt;br /&gt;
== Bots und Crawler ==&lt;br /&gt;
; Bots und Crawler optimieren&lt;br /&gt;
Aggressive Suchmaschinen-Bots können dynamische Seiten (wie &amp;lt;code&amp;gt;api.php&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;index.php?action=history&amp;lt;/code&amp;gt;) indexieren und Ihre CPU überlasten. &lt;br /&gt;
* https://github.com/bitnami/charts/issues/3138&lt;br /&gt;
* https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm&lt;br /&gt;
&lt;br /&gt;
Erstelle oder aktualisiere eine strenge &amp;lt;code&amp;gt;robots.txt&amp;lt;/code&amp;gt;-Datei in deinem Hauptverzeichnis, um nicht-kanonische URLs und Systemseiten zu blockieren.&lt;br /&gt;
&lt;br /&gt;
; Beispielregeln&lt;br /&gt;
 text User-agent:* &lt;br /&gt;
 Disallow: /wiki/Special: &lt;br /&gt;
 Disallow: /w/api.php Disallow: /w/index.php&lt;br /&gt;
&lt;br /&gt;
* https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm&lt;br /&gt;
&lt;br /&gt;
== Erweiterungen ==&lt;br /&gt;
; Ressourcenintensive Erweiterungen anpassen&lt;br /&gt;
Komplexe Erweiterungen wie &#039;&#039;Semantic MediaWiki (SMW)&#039;&#039; können von Seiten zu erheblicher Serverbelastung führen&lt;br /&gt;
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166&lt;br /&gt;
&lt;br /&gt;
; Abfrage-Caching&lt;br /&gt;
&#039;&#039;Abfrage-Caching&#039;&#039; bei SMW aktivieren&lt;br /&gt;
* verhindert, dass komplexe semantische Abfragen bei jedem Besuch neu berechnet werden&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;LocalSettings.php&#039;&#039;&lt;br /&gt;
 $smwgEnableCache = true;&lt;br /&gt;
&lt;br /&gt;
== Zähler ==&lt;br /&gt;
; Seitenzähler deaktivieren&lt;br /&gt;
Erfassung der Seitenaufrufen kann auf stark frequentierten Seiten zu einem sprunghaften Anstieg der CPU-Auslastung führen&lt;br /&gt;
* [[mediawikiwiki:Topic:Rncjbh4poqojjt9k]]&lt;br /&gt;
Werden keine Seitenstatistiken benötigt, kann der Seitenzähler deaktiviert werden&lt;br /&gt;
&lt;br /&gt;
; LocalSettings.php&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; highlight=&amp;quot;&amp;quot; copy&amp;gt;&lt;br /&gt;
$wgDisableCounters = true;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PHP-FPM / FastCGI ==&lt;br /&gt;
; PHP-FPM / FastCGI optimieren&lt;br /&gt;
Wenn [[PHP-FPM]]-Prozesse&lt;br /&gt;
* aufgrund hohen Datenverkehrs&lt;br /&gt;
* übermäßig viel CPU-Leistung beanspruchen&lt;br /&gt;
* begrenze die Laufzeit jedes Prozesses, bevor er recycelt wird, um Speicher freizugeben. &lt;br /&gt;
** [[mediawikiwiki:Topic:U1sl12b4w1gkbh2k]]&lt;br /&gt;
** https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm&lt;br /&gt;
&lt;br /&gt;
; php-fpm.conf&lt;br /&gt;
Pool-Konfiguration&lt;br /&gt;
* um Prozesse zu aktualisieren&lt;br /&gt;
&lt;br /&gt;
; Beispiel&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
pm.max_requests = 500&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Skalierung&lt;br /&gt;
Anleitung zur Skalierung&lt;br /&gt;
* [[mediawikiwiki:Manual:Performance_tuning|MediaWiki-Handbuch zur Leistungsoptimierung]]&lt;br /&gt;
* [[mediawikiwiki:Manual:Performance_tuning|Manual:Performance_tuning]]&lt;br /&gt;
&lt;br /&gt;
; Erweiterungen&lt;br /&gt;
Welche Erweiterungen (wie Semantic MediaWiki) sind aktiv?&lt;br /&gt;
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;br /&gt;
=== Siehe auch ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count:2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;categorytree hideroot=on mode=&amp;quot;pages&amp;quot;&amp;gt;{{BASEPAGENAME}}&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}&lt;br /&gt;
&lt;br /&gt;
=== Dokumentation ===&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
; Man-Page &lt;br /&gt;
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)]&lt;br /&gt;
&lt;br /&gt;
; Info-Pages &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
==== Projekt ====&lt;br /&gt;
==== Weblinks ====&lt;br /&gt;
# https://www.mediawiki.org/wiki/Manual:Varnish_caching&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{DEFAULTSORT:new}}&lt;br /&gt;
{{DISPLAYTITLE:new}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:MediaWiki/Verwaltung]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=MediaWiki/Performance&amp;diff=167953</id>
		<title>MediaWiki/Performance</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=MediaWiki/Performance&amp;diff=167953"/>
		<updated>2026-06-17T09:25:25Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: /* PHP-FPM / FastCGI */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;MediaWiki/Performance&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
; Ressourcen&lt;br /&gt;
Stellen Sie sicher, dass Ihrem Webserver und PHP genügend Arbeitsspeicher zugewiesen ist&lt;br /&gt;
* Es gibt eine Vielzahl von Caching-Tools&lt;br /&gt;
** die in Verbindung mit MediaWiki (und untereinander) verwendet werden können([[Varnish]] und [[Memcached]])&lt;br /&gt;
** https://www.mediawiki.org/wiki/Manual:Varnish_caching&lt;br /&gt;
&lt;br /&gt;
; CPU-Auslastung reduzieren&lt;br /&gt;
* PHP OPcache aktivieren&lt;br /&gt;
* Objekt-Caching&lt;br /&gt;
* APCu/Memcached installieren &lt;br /&gt;
* ressourcenintensive Bot-Crawler blockieren&lt;br /&gt;
&lt;br /&gt;
; Alternative Webserver&lt;br /&gt;
Nginx oder Lighttpd&lt;br /&gt;
* Die Verwendung von Nginx oder Lighttpd als Webserver anstelle von Apache kann die Leistung stark frequentierter Websites erheblich verbessern&lt;br /&gt;
&lt;br /&gt;
; Links&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Manual:Performance_tuning Alle Optionen für das Caching]&lt;br /&gt;
* https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm&lt;br /&gt;
&lt;br /&gt;
== PHP-Caching ==&lt;br /&gt;
; PHP-Caching aktivieren (unbedingt erforderlich)&lt;br /&gt;
PHP kompiliert Code standardmäßig bei jeder Seitenanfrage neu. &lt;br /&gt;
* Zwischenspeichern dieser Skripte reduziert die CPU-Auslastung&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Varnish_caching&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Performance_tuning&lt;br /&gt;
&lt;br /&gt;
; OPcache&lt;br /&gt;
OPcache in der &amp;lt;code&amp;gt;php.ini&amp;lt;/code&amp;gt;-Datei aktivieren&lt;br /&gt;
* &amp;lt;code&amp;gt;opcache.enable=1&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;opcache.memory_consumption=128&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; APCu&lt;br /&gt;
APCu-PHP-Erweiterung installieren&lt;br /&gt;
* schnelles, lokales Objekt-Caching&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Performance_tuning/ca&lt;br /&gt;
* https://wiki.centos-webpanel.com/improve-website-performance&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Varnish_caching&lt;br /&gt;
&lt;br /&gt;
== Objekt- und Hauptcache ==&lt;br /&gt;
; MediaWiki-Objekt- und Hauptcache konfigurieren&lt;br /&gt;
Datenbankabfragen zwischensoeichern&lt;br /&gt;
&lt;br /&gt;
; LocalSettings.php&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;&amp;quot; line copy&amp;gt;&lt;br /&gt;
$wgMainCacheType = CACHE_ACCEL;&lt;br /&gt;
$wgParserCacheType = CACHE_ACCEL;&lt;br /&gt;
$wgSessionCacheType = CACHE_ACCEL;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[mediawikiwiki:Manual:$wgMainCacheType]]&lt;br /&gt;
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166&lt;br /&gt;
* https://lists.wikimedia.org/hyperkitty/list/mediawiki-l@lists.wikimedia.org/thread/S7YWAMM6BHTZBOK7ZPQ2ZBKRSML42OPP/&lt;br /&gt;
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166&lt;br /&gt;
&lt;br /&gt;
== Bots und Crawler ==&lt;br /&gt;
; Bots und Crawler optimieren&lt;br /&gt;
Aggressive Suchmaschinen-Bots können dynamische Seiten (wie &amp;lt;code&amp;gt;api.php&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;index.php?action=history&amp;lt;/code&amp;gt;) indexieren und Ihre CPU überlasten. &lt;br /&gt;
* https://github.com/bitnami/charts/issues/3138&lt;br /&gt;
* https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm&lt;br /&gt;
&lt;br /&gt;
Erstelle oder aktualisiere eine strenge &amp;lt;code&amp;gt;robots.txt&amp;lt;/code&amp;gt;-Datei in deinem Hauptverzeichnis, um nicht-kanonische URLs und Systemseiten zu blockieren.&lt;br /&gt;
&lt;br /&gt;
; Beispielregeln&lt;br /&gt;
 text User-agent:* &lt;br /&gt;
 Disallow: /wiki/Special: &lt;br /&gt;
 Disallow: /w/api.php Disallow: /w/index.php&lt;br /&gt;
&lt;br /&gt;
* https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm&lt;br /&gt;
&lt;br /&gt;
== Erweiterungen ==&lt;br /&gt;
; Ressourcenintensive Erweiterungen anpassen&lt;br /&gt;
Komplexe Erweiterungen wie &#039;&#039;Semantic MediaWiki (SMW)&#039;&#039; können von Seiten zu erheblicher Serverbelastung führen&lt;br /&gt;
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166&lt;br /&gt;
&lt;br /&gt;
; Abfrage-Caching&lt;br /&gt;
&#039;&#039;Abfrage-Caching&#039;&#039; bei SMW aktivieren&lt;br /&gt;
* verhindert, dass komplexe semantische Abfragen bei jedem Besuch neu berechnet werden&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;LocalSettings.php&#039;&#039;&lt;br /&gt;
 $smwgEnableCache = true;&lt;br /&gt;
&lt;br /&gt;
== Zähler ==&lt;br /&gt;
; Seitenzähler deaktivieren&lt;br /&gt;
Erfassung der Seitenaufrufen kann auf stark frequentierten Seiten zu einem sprunghaften Anstieg der CPU-Auslastung führen&lt;br /&gt;
* [[mediawikiwiki:Topic:Rncjbh4poqojjt9k]]&lt;br /&gt;
Werden keine Seitenstatistiken benötigt, kann der Seitenzähler deaktiviert werden&lt;br /&gt;
&lt;br /&gt;
; LocalSettings.php&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; highlight=&amp;quot;&amp;quot; copy&amp;gt;&lt;br /&gt;
$wgDisableCounters = true;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PHP-FPM / FastCGI ==&lt;br /&gt;
; PHP-FPM / FastCGI optimieren&lt;br /&gt;
Wenn [[PHP-FPM]]-Prozesse&lt;br /&gt;
* aufgrund hohen Datenverkehrs&lt;br /&gt;
* übermäßig viel CPU-Leistung beanspruchen&lt;br /&gt;
* begrenze die Laufzeit jedes Prozesses, bevor er recycelt wird, um Speicher freizugeben. &lt;br /&gt;
** [[mediawikiwiki:Topic:U1sl12b4w1gkbh2k]]&lt;br /&gt;
** https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm&lt;br /&gt;
&lt;br /&gt;
; php-fpm.conf&lt;br /&gt;
Pool-Konfiguration&lt;br /&gt;
* um Prozesse zu aktualisieren&lt;br /&gt;
&lt;br /&gt;
; Beispiel&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
pm.max_requests = 500&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Skalierung&lt;br /&gt;
Anleitung zur Skalierung&lt;br /&gt;
* [[mediawikiwiki:Manual:Performance_tuning|MediaWiki-Handbuch zur Leistungsoptimierung]]&lt;br /&gt;
* [[mediawikiwiki:Manual:Performance_tuning|Manual:Performance_tuning]]&lt;br /&gt;
&lt;br /&gt;
; Erweiterungen&lt;br /&gt;
Welche Erweiterungen (wie Semantic MediaWiki) sind aktiv?&lt;br /&gt;
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;br /&gt;
=== Siehe auch ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count:2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;categorytree hideroot=on mode=&amp;quot;pages&amp;quot;&amp;gt;{{BASEPAGENAME}}&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}&lt;br /&gt;
&lt;br /&gt;
=== Dokumentation ===&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
; Man-Page &lt;br /&gt;
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)]&lt;br /&gt;
&lt;br /&gt;
; Info-Pages &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
==== Projekt ====&lt;br /&gt;
==== Weblinks ====&lt;br /&gt;
# https://www.mediawiki.org/wiki/Manual:Varnish_caching&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{DEFAULTSORT:new}}&lt;br /&gt;
{{DISPLAYTITLE:new}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:MediaWiki/Verwaltung]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=MediaWiki/Performance&amp;diff=167952</id>
		<title>MediaWiki/Performance</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=MediaWiki/Performance&amp;diff=167952"/>
		<updated>2026-06-17T09:21:01Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: /* PHP-FPM / FastCGI */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;MediaWiki/Performance&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
; Ressourcen&lt;br /&gt;
Stellen Sie sicher, dass Ihrem Webserver und PHP genügend Arbeitsspeicher zugewiesen ist&lt;br /&gt;
* Es gibt eine Vielzahl von Caching-Tools&lt;br /&gt;
** die in Verbindung mit MediaWiki (und untereinander) verwendet werden können([[Varnish]] und [[Memcached]])&lt;br /&gt;
** https://www.mediawiki.org/wiki/Manual:Varnish_caching&lt;br /&gt;
&lt;br /&gt;
; CPU-Auslastung reduzieren&lt;br /&gt;
* PHP OPcache aktivieren&lt;br /&gt;
* Objekt-Caching&lt;br /&gt;
* APCu/Memcached installieren &lt;br /&gt;
* ressourcenintensive Bot-Crawler blockieren&lt;br /&gt;
&lt;br /&gt;
; Alternative Webserver&lt;br /&gt;
Nginx oder Lighttpd&lt;br /&gt;
* Die Verwendung von Nginx oder Lighttpd als Webserver anstelle von Apache kann die Leistung stark frequentierter Websites erheblich verbessern&lt;br /&gt;
&lt;br /&gt;
; Links&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Manual:Performance_tuning Alle Optionen für das Caching]&lt;br /&gt;
* https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm&lt;br /&gt;
&lt;br /&gt;
== PHP-Caching ==&lt;br /&gt;
; PHP-Caching aktivieren (unbedingt erforderlich)&lt;br /&gt;
PHP kompiliert Code standardmäßig bei jeder Seitenanfrage neu. &lt;br /&gt;
* Zwischenspeichern dieser Skripte reduziert die CPU-Auslastung&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Varnish_caching&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Performance_tuning&lt;br /&gt;
&lt;br /&gt;
; OPcache&lt;br /&gt;
OPcache in der &amp;lt;code&amp;gt;php.ini&amp;lt;/code&amp;gt;-Datei aktivieren&lt;br /&gt;
* &amp;lt;code&amp;gt;opcache.enable=1&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;opcache.memory_consumption=128&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; APCu&lt;br /&gt;
APCu-PHP-Erweiterung installieren&lt;br /&gt;
* schnelles, lokales Objekt-Caching&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Performance_tuning/ca&lt;br /&gt;
* https://wiki.centos-webpanel.com/improve-website-performance&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Varnish_caching&lt;br /&gt;
&lt;br /&gt;
== Objekt- und Hauptcache ==&lt;br /&gt;
; MediaWiki-Objekt- und Hauptcache konfigurieren&lt;br /&gt;
Datenbankabfragen zwischensoeichern&lt;br /&gt;
&lt;br /&gt;
; LocalSettings.php&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;&amp;quot; line copy&amp;gt;&lt;br /&gt;
$wgMainCacheType = CACHE_ACCEL;&lt;br /&gt;
$wgParserCacheType = CACHE_ACCEL;&lt;br /&gt;
$wgSessionCacheType = CACHE_ACCEL;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[mediawikiwiki:Manual:$wgMainCacheType]]&lt;br /&gt;
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166&lt;br /&gt;
* https://lists.wikimedia.org/hyperkitty/list/mediawiki-l@lists.wikimedia.org/thread/S7YWAMM6BHTZBOK7ZPQ2ZBKRSML42OPP/&lt;br /&gt;
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166&lt;br /&gt;
&lt;br /&gt;
== Bots und Crawler ==&lt;br /&gt;
; Bots und Crawler optimieren&lt;br /&gt;
Aggressive Suchmaschinen-Bots können dynamische Seiten (wie &amp;lt;code&amp;gt;api.php&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;index.php?action=history&amp;lt;/code&amp;gt;) indexieren und Ihre CPU überlasten. &lt;br /&gt;
* https://github.com/bitnami/charts/issues/3138&lt;br /&gt;
* https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm&lt;br /&gt;
&lt;br /&gt;
Erstelle oder aktualisiere eine strenge &amp;lt;code&amp;gt;robots.txt&amp;lt;/code&amp;gt;-Datei in deinem Hauptverzeichnis, um nicht-kanonische URLs und Systemseiten zu blockieren.&lt;br /&gt;
&lt;br /&gt;
; Beispielregeln&lt;br /&gt;
 text User-agent:* &lt;br /&gt;
 Disallow: /wiki/Special: &lt;br /&gt;
 Disallow: /w/api.php Disallow: /w/index.php&lt;br /&gt;
&lt;br /&gt;
* https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm&lt;br /&gt;
&lt;br /&gt;
== Erweiterungen ==&lt;br /&gt;
; Ressourcenintensive Erweiterungen anpassen&lt;br /&gt;
Komplexe Erweiterungen wie &#039;&#039;Semantic MediaWiki (SMW)&#039;&#039; können von Seiten zu erheblicher Serverbelastung führen&lt;br /&gt;
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166&lt;br /&gt;
&lt;br /&gt;
; Abfrage-Caching&lt;br /&gt;
&#039;&#039;Abfrage-Caching&#039;&#039; bei SMW aktivieren&lt;br /&gt;
* verhindert, dass komplexe semantische Abfragen bei jedem Besuch neu berechnet werden&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;LocalSettings.php&#039;&#039;&lt;br /&gt;
 $smwgEnableCache = true;&lt;br /&gt;
&lt;br /&gt;
== Zähler ==&lt;br /&gt;
; Seitenzähler deaktivieren&lt;br /&gt;
Erfassung der Seitenaufrufen kann auf stark frequentierten Seiten zu einem sprunghaften Anstieg der CPU-Auslastung führen&lt;br /&gt;
* [[mediawikiwiki:Topic:Rncjbh4poqojjt9k]]&lt;br /&gt;
Werden keine Seitenstatistiken benötigt, kann der Seitenzähler deaktiviert werden&lt;br /&gt;
&lt;br /&gt;
; LocalSettings.php&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; highlight=&amp;quot;&amp;quot; copy&amp;gt;&lt;br /&gt;
$wgDisableCounters = true;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PHP-FPM / FastCGI ==&lt;br /&gt;
; PHP-FPM / FastCGI optimieren&lt;br /&gt;
Wenn [[PHP-FPM]]-Prozesse&lt;br /&gt;
* aufgrund hohen Datenverkehrs&lt;br /&gt;
* übermäßig viel CPU-Leistung beanspruchen&lt;br /&gt;
* begrenze die Laufzeit jedes Prozesses, bevor er recycelt wird, um Speicher freizugeben. &lt;br /&gt;
** [[mediawikiwiki:Topic:U1sl12b4w1gkbh2k]]&lt;br /&gt;
** https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm&lt;br /&gt;
&lt;br /&gt;
; php-fpm.conf&lt;br /&gt;
Konfigurieren&lt;br /&gt;
* php-fpm.conf&lt;br /&gt;
* Pool-Konfiguration &lt;br /&gt;
 pm.max_requests&lt;br /&gt;
um Prozesse zu aktualisieren, beispielsweise &lt;br /&gt;
 pm.max_requests = 500&lt;br /&gt;
&lt;br /&gt;
; Skalierung&lt;br /&gt;
Anleitung zur Skalierung&lt;br /&gt;
* [[mediawikiwiki:Manual:Performance_tuning|MediaWiki-Handbuch zur Leistungsoptimierung]]&lt;br /&gt;
* [[mediawikiwiki:Manual:Performance_tuning|Manual:Performance_tuning]]&lt;br /&gt;
&lt;br /&gt;
; Erweiterungen&lt;br /&gt;
Welche Erweiterungen (wie Semantic MediaWiki) sind aktiv?&lt;br /&gt;
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;br /&gt;
=== Siehe auch ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count:2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;categorytree hideroot=on mode=&amp;quot;pages&amp;quot;&amp;gt;{{BASEPAGENAME}}&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}&lt;br /&gt;
&lt;br /&gt;
=== Dokumentation ===&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
; Man-Page &lt;br /&gt;
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)]&lt;br /&gt;
&lt;br /&gt;
; Info-Pages &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
==== Projekt ====&lt;br /&gt;
==== Weblinks ====&lt;br /&gt;
# https://www.mediawiki.org/wiki/Manual:Varnish_caching&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{DEFAULTSORT:new}}&lt;br /&gt;
{{DISPLAYTITLE:new}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:MediaWiki/Verwaltung]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=MediaWiki/Performance&amp;diff=167951</id>
		<title>MediaWiki/Performance</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=MediaWiki/Performance&amp;diff=167951"/>
		<updated>2026-06-17T09:20:17Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: /* Zähler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;MediaWiki/Performance&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
; Ressourcen&lt;br /&gt;
Stellen Sie sicher, dass Ihrem Webserver und PHP genügend Arbeitsspeicher zugewiesen ist&lt;br /&gt;
* Es gibt eine Vielzahl von Caching-Tools&lt;br /&gt;
** die in Verbindung mit MediaWiki (und untereinander) verwendet werden können([[Varnish]] und [[Memcached]])&lt;br /&gt;
** https://www.mediawiki.org/wiki/Manual:Varnish_caching&lt;br /&gt;
&lt;br /&gt;
; CPU-Auslastung reduzieren&lt;br /&gt;
* PHP OPcache aktivieren&lt;br /&gt;
* Objekt-Caching&lt;br /&gt;
* APCu/Memcached installieren &lt;br /&gt;
* ressourcenintensive Bot-Crawler blockieren&lt;br /&gt;
&lt;br /&gt;
; Alternative Webserver&lt;br /&gt;
Nginx oder Lighttpd&lt;br /&gt;
* Die Verwendung von Nginx oder Lighttpd als Webserver anstelle von Apache kann die Leistung stark frequentierter Websites erheblich verbessern&lt;br /&gt;
&lt;br /&gt;
; Links&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Manual:Performance_tuning Alle Optionen für das Caching]&lt;br /&gt;
* https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm&lt;br /&gt;
&lt;br /&gt;
== PHP-Caching ==&lt;br /&gt;
; PHP-Caching aktivieren (unbedingt erforderlich)&lt;br /&gt;
PHP kompiliert Code standardmäßig bei jeder Seitenanfrage neu. &lt;br /&gt;
* Zwischenspeichern dieser Skripte reduziert die CPU-Auslastung&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Varnish_caching&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Performance_tuning&lt;br /&gt;
&lt;br /&gt;
; OPcache&lt;br /&gt;
OPcache in der &amp;lt;code&amp;gt;php.ini&amp;lt;/code&amp;gt;-Datei aktivieren&lt;br /&gt;
* &amp;lt;code&amp;gt;opcache.enable=1&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;opcache.memory_consumption=128&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; APCu&lt;br /&gt;
APCu-PHP-Erweiterung installieren&lt;br /&gt;
* schnelles, lokales Objekt-Caching&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Performance_tuning/ca&lt;br /&gt;
* https://wiki.centos-webpanel.com/improve-website-performance&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Varnish_caching&lt;br /&gt;
&lt;br /&gt;
== Objekt- und Hauptcache ==&lt;br /&gt;
; MediaWiki-Objekt- und Hauptcache konfigurieren&lt;br /&gt;
Datenbankabfragen zwischensoeichern&lt;br /&gt;
&lt;br /&gt;
; LocalSettings.php&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;&amp;quot; line copy&amp;gt;&lt;br /&gt;
$wgMainCacheType = CACHE_ACCEL;&lt;br /&gt;
$wgParserCacheType = CACHE_ACCEL;&lt;br /&gt;
$wgSessionCacheType = CACHE_ACCEL;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[mediawikiwiki:Manual:$wgMainCacheType]]&lt;br /&gt;
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166&lt;br /&gt;
* https://lists.wikimedia.org/hyperkitty/list/mediawiki-l@lists.wikimedia.org/thread/S7YWAMM6BHTZBOK7ZPQ2ZBKRSML42OPP/&lt;br /&gt;
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166&lt;br /&gt;
&lt;br /&gt;
== Bots und Crawler ==&lt;br /&gt;
; Bots und Crawler optimieren&lt;br /&gt;
Aggressive Suchmaschinen-Bots können dynamische Seiten (wie &amp;lt;code&amp;gt;api.php&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;index.php?action=history&amp;lt;/code&amp;gt;) indexieren und Ihre CPU überlasten. &lt;br /&gt;
* https://github.com/bitnami/charts/issues/3138&lt;br /&gt;
* https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm&lt;br /&gt;
&lt;br /&gt;
Erstelle oder aktualisiere eine strenge &amp;lt;code&amp;gt;robots.txt&amp;lt;/code&amp;gt;-Datei in deinem Hauptverzeichnis, um nicht-kanonische URLs und Systemseiten zu blockieren.&lt;br /&gt;
&lt;br /&gt;
; Beispielregeln&lt;br /&gt;
 text User-agent:* &lt;br /&gt;
 Disallow: /wiki/Special: &lt;br /&gt;
 Disallow: /w/api.php Disallow: /w/index.php&lt;br /&gt;
&lt;br /&gt;
* https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm&lt;br /&gt;
&lt;br /&gt;
== Erweiterungen ==&lt;br /&gt;
; Ressourcenintensive Erweiterungen anpassen&lt;br /&gt;
Komplexe Erweiterungen wie &#039;&#039;Semantic MediaWiki (SMW)&#039;&#039; können von Seiten zu erheblicher Serverbelastung führen&lt;br /&gt;
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166&lt;br /&gt;
&lt;br /&gt;
; Abfrage-Caching&lt;br /&gt;
&#039;&#039;Abfrage-Caching&#039;&#039; bei SMW aktivieren&lt;br /&gt;
* verhindert, dass komplexe semantische Abfragen bei jedem Besuch neu berechnet werden&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;LocalSettings.php&#039;&#039;&lt;br /&gt;
 $smwgEnableCache = true;&lt;br /&gt;
&lt;br /&gt;
== Zähler ==&lt;br /&gt;
; Seitenzähler deaktivieren&lt;br /&gt;
Erfassung der Seitenaufrufen kann auf stark frequentierten Seiten zu einem sprunghaften Anstieg der CPU-Auslastung führen&lt;br /&gt;
* [[mediawikiwiki:Topic:Rncjbh4poqojjt9k]]&lt;br /&gt;
Werden keine Seitenstatistiken benötigt, kann der Seitenzähler deaktiviert werden&lt;br /&gt;
&lt;br /&gt;
; LocalSettings.php&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; highlight=&amp;quot;&amp;quot; copy&amp;gt;&lt;br /&gt;
$wgDisableCounters = true;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PHP-FPM / FastCGI ==&lt;br /&gt;
; PHP-FPM / FastCGI optimieren&lt;br /&gt;
Wenn PHP-FPM-Prozesse&lt;br /&gt;
* aufgrund hohen Datenverkehrs&lt;br /&gt;
* übermäßig viel CPU-Leistung beanspruchen&lt;br /&gt;
* begrenze die Laufzeit jedes Prozesses, bevor er recycelt wird, um Speicher freizugeben. &lt;br /&gt;
** [[mediawikiwiki:Topic:U1sl12b4w1gkbh2k]]&lt;br /&gt;
** https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm&lt;br /&gt;
&lt;br /&gt;
; php-fpm.conf&lt;br /&gt;
Konfigurieren&lt;br /&gt;
* php-fpm.conf&lt;br /&gt;
* Pool-Konfiguration &lt;br /&gt;
 pm.max_requests&lt;br /&gt;
um Prozesse zu aktualisieren, beispielsweise &lt;br /&gt;
 pm.max_requests = 500&lt;br /&gt;
&lt;br /&gt;
; Skalierung&lt;br /&gt;
Anleitung zur Skalierung&lt;br /&gt;
* [[mediawikiwiki:Manual:Performance_tuning|MediaWiki-Handbuch zur Leistungsoptimierung]]&lt;br /&gt;
* [[mediawikiwiki:Manual:Performance_tuning|Manual:Performance_tuning]]&lt;br /&gt;
&lt;br /&gt;
; Erweiterungen&lt;br /&gt;
Welche Erweiterungen (wie Semantic MediaWiki) sind aktiv?&lt;br /&gt;
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;br /&gt;
=== Siehe auch ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count:2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;categorytree hideroot=on mode=&amp;quot;pages&amp;quot;&amp;gt;{{BASEPAGENAME}}&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}&lt;br /&gt;
&lt;br /&gt;
=== Dokumentation ===&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
; Man-Page &lt;br /&gt;
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)]&lt;br /&gt;
&lt;br /&gt;
; Info-Pages &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
==== Projekt ====&lt;br /&gt;
==== Weblinks ====&lt;br /&gt;
# https://www.mediawiki.org/wiki/Manual:Varnish_caching&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{DEFAULTSORT:new}}&lt;br /&gt;
{{DISPLAYTITLE:new}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:MediaWiki/Verwaltung]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=MediaWiki/Performance&amp;diff=167950</id>
		<title>MediaWiki/Performance</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=MediaWiki/Performance&amp;diff=167950"/>
		<updated>2026-06-17T09:20:03Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: /* Zähler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;MediaWiki/Performance&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
; Ressourcen&lt;br /&gt;
Stellen Sie sicher, dass Ihrem Webserver und PHP genügend Arbeitsspeicher zugewiesen ist&lt;br /&gt;
* Es gibt eine Vielzahl von Caching-Tools&lt;br /&gt;
** die in Verbindung mit MediaWiki (und untereinander) verwendet werden können([[Varnish]] und [[Memcached]])&lt;br /&gt;
** https://www.mediawiki.org/wiki/Manual:Varnish_caching&lt;br /&gt;
&lt;br /&gt;
; CPU-Auslastung reduzieren&lt;br /&gt;
* PHP OPcache aktivieren&lt;br /&gt;
* Objekt-Caching&lt;br /&gt;
* APCu/Memcached installieren &lt;br /&gt;
* ressourcenintensive Bot-Crawler blockieren&lt;br /&gt;
&lt;br /&gt;
; Alternative Webserver&lt;br /&gt;
Nginx oder Lighttpd&lt;br /&gt;
* Die Verwendung von Nginx oder Lighttpd als Webserver anstelle von Apache kann die Leistung stark frequentierter Websites erheblich verbessern&lt;br /&gt;
&lt;br /&gt;
; Links&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Manual:Performance_tuning Alle Optionen für das Caching]&lt;br /&gt;
* https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm&lt;br /&gt;
&lt;br /&gt;
== PHP-Caching ==&lt;br /&gt;
; PHP-Caching aktivieren (unbedingt erforderlich)&lt;br /&gt;
PHP kompiliert Code standardmäßig bei jeder Seitenanfrage neu. &lt;br /&gt;
* Zwischenspeichern dieser Skripte reduziert die CPU-Auslastung&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Varnish_caching&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Performance_tuning&lt;br /&gt;
&lt;br /&gt;
; OPcache&lt;br /&gt;
OPcache in der &amp;lt;code&amp;gt;php.ini&amp;lt;/code&amp;gt;-Datei aktivieren&lt;br /&gt;
* &amp;lt;code&amp;gt;opcache.enable=1&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;opcache.memory_consumption=128&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; APCu&lt;br /&gt;
APCu-PHP-Erweiterung installieren&lt;br /&gt;
* schnelles, lokales Objekt-Caching&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Performance_tuning/ca&lt;br /&gt;
* https://wiki.centos-webpanel.com/improve-website-performance&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Varnish_caching&lt;br /&gt;
&lt;br /&gt;
== Objekt- und Hauptcache ==&lt;br /&gt;
; MediaWiki-Objekt- und Hauptcache konfigurieren&lt;br /&gt;
Datenbankabfragen zwischensoeichern&lt;br /&gt;
&lt;br /&gt;
; LocalSettings.php&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;&amp;quot; line copy&amp;gt;&lt;br /&gt;
$wgMainCacheType = CACHE_ACCEL;&lt;br /&gt;
$wgParserCacheType = CACHE_ACCEL;&lt;br /&gt;
$wgSessionCacheType = CACHE_ACCEL;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[mediawikiwiki:Manual:$wgMainCacheType]]&lt;br /&gt;
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166&lt;br /&gt;
* https://lists.wikimedia.org/hyperkitty/list/mediawiki-l@lists.wikimedia.org/thread/S7YWAMM6BHTZBOK7ZPQ2ZBKRSML42OPP/&lt;br /&gt;
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166&lt;br /&gt;
&lt;br /&gt;
== Bots und Crawler ==&lt;br /&gt;
; Bots und Crawler optimieren&lt;br /&gt;
Aggressive Suchmaschinen-Bots können dynamische Seiten (wie &amp;lt;code&amp;gt;api.php&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;index.php?action=history&amp;lt;/code&amp;gt;) indexieren und Ihre CPU überlasten. &lt;br /&gt;
* https://github.com/bitnami/charts/issues/3138&lt;br /&gt;
* https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm&lt;br /&gt;
&lt;br /&gt;
Erstelle oder aktualisiere eine strenge &amp;lt;code&amp;gt;robots.txt&amp;lt;/code&amp;gt;-Datei in deinem Hauptverzeichnis, um nicht-kanonische URLs und Systemseiten zu blockieren.&lt;br /&gt;
&lt;br /&gt;
; Beispielregeln&lt;br /&gt;
 text User-agent:* &lt;br /&gt;
 Disallow: /wiki/Special: &lt;br /&gt;
 Disallow: /w/api.php Disallow: /w/index.php&lt;br /&gt;
&lt;br /&gt;
* https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm&lt;br /&gt;
&lt;br /&gt;
== Erweiterungen ==&lt;br /&gt;
; Ressourcenintensive Erweiterungen anpassen&lt;br /&gt;
Komplexe Erweiterungen wie &#039;&#039;Semantic MediaWiki (SMW)&#039;&#039; können von Seiten zu erheblicher Serverbelastung führen&lt;br /&gt;
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166&lt;br /&gt;
&lt;br /&gt;
; Abfrage-Caching&lt;br /&gt;
&#039;&#039;Abfrage-Caching&#039;&#039; bei SMW aktivieren&lt;br /&gt;
* verhindert, dass komplexe semantische Abfragen bei jedem Besuch neu berechnet werden&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;LocalSettings.php&#039;&#039;&lt;br /&gt;
 $smwgEnableCache = true;&lt;br /&gt;
&lt;br /&gt;
== Zähler ==&lt;br /&gt;
; Seitenzähler deaktivieren&lt;br /&gt;
Erfassung der Seitenaufrufen kann auf stark frequentierten Seiten zu einem sprunghaften Anstieg der CPU-Auslastung führen&lt;br /&gt;
* mediawikiwiki:Topic:Rncjbh4poqojjt9k&lt;br /&gt;
Werden keine Seitenstatistiken benötigt, kann der Seitenzähler deaktiviert werden&lt;br /&gt;
&lt;br /&gt;
; LocalSettings.php&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; highlight=&amp;quot;&amp;quot; copy&amp;gt;&lt;br /&gt;
$wgDisableCounters = true;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PHP-FPM / FastCGI ==&lt;br /&gt;
; PHP-FPM / FastCGI optimieren&lt;br /&gt;
Wenn PHP-FPM-Prozesse&lt;br /&gt;
* aufgrund hohen Datenverkehrs&lt;br /&gt;
* übermäßig viel CPU-Leistung beanspruchen&lt;br /&gt;
* begrenze die Laufzeit jedes Prozesses, bevor er recycelt wird, um Speicher freizugeben. &lt;br /&gt;
** [[mediawikiwiki:Topic:U1sl12b4w1gkbh2k]]&lt;br /&gt;
** https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm&lt;br /&gt;
&lt;br /&gt;
; php-fpm.conf&lt;br /&gt;
Konfigurieren&lt;br /&gt;
* php-fpm.conf&lt;br /&gt;
* Pool-Konfiguration &lt;br /&gt;
 pm.max_requests&lt;br /&gt;
um Prozesse zu aktualisieren, beispielsweise &lt;br /&gt;
 pm.max_requests = 500&lt;br /&gt;
&lt;br /&gt;
; Skalierung&lt;br /&gt;
Anleitung zur Skalierung&lt;br /&gt;
* [[mediawikiwiki:Manual:Performance_tuning|MediaWiki-Handbuch zur Leistungsoptimierung]]&lt;br /&gt;
* [[mediawikiwiki:Manual:Performance_tuning|Manual:Performance_tuning]]&lt;br /&gt;
&lt;br /&gt;
; Erweiterungen&lt;br /&gt;
Welche Erweiterungen (wie Semantic MediaWiki) sind aktiv?&lt;br /&gt;
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;br /&gt;
=== Siehe auch ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count:2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;categorytree hideroot=on mode=&amp;quot;pages&amp;quot;&amp;gt;{{BASEPAGENAME}}&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}&lt;br /&gt;
&lt;br /&gt;
=== Dokumentation ===&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
; Man-Page &lt;br /&gt;
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)]&lt;br /&gt;
&lt;br /&gt;
; Info-Pages &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
==== Projekt ====&lt;br /&gt;
==== Weblinks ====&lt;br /&gt;
# https://www.mediawiki.org/wiki/Manual:Varnish_caching&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{DEFAULTSORT:new}}&lt;br /&gt;
{{DISPLAYTITLE:new}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:MediaWiki/Verwaltung]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=MediaWiki/Performance&amp;diff=167949</id>
		<title>MediaWiki/Performance</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=MediaWiki/Performance&amp;diff=167949"/>
		<updated>2026-06-17T09:19:12Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: /* Zähler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;MediaWiki/Performance&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
; Ressourcen&lt;br /&gt;
Stellen Sie sicher, dass Ihrem Webserver und PHP genügend Arbeitsspeicher zugewiesen ist&lt;br /&gt;
* Es gibt eine Vielzahl von Caching-Tools&lt;br /&gt;
** die in Verbindung mit MediaWiki (und untereinander) verwendet werden können([[Varnish]] und [[Memcached]])&lt;br /&gt;
** https://www.mediawiki.org/wiki/Manual:Varnish_caching&lt;br /&gt;
&lt;br /&gt;
; CPU-Auslastung reduzieren&lt;br /&gt;
* PHP OPcache aktivieren&lt;br /&gt;
* Objekt-Caching&lt;br /&gt;
* APCu/Memcached installieren &lt;br /&gt;
* ressourcenintensive Bot-Crawler blockieren&lt;br /&gt;
&lt;br /&gt;
; Alternative Webserver&lt;br /&gt;
Nginx oder Lighttpd&lt;br /&gt;
* Die Verwendung von Nginx oder Lighttpd als Webserver anstelle von Apache kann die Leistung stark frequentierter Websites erheblich verbessern&lt;br /&gt;
&lt;br /&gt;
; Links&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Manual:Performance_tuning Alle Optionen für das Caching]&lt;br /&gt;
* https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm&lt;br /&gt;
&lt;br /&gt;
== PHP-Caching ==&lt;br /&gt;
; PHP-Caching aktivieren (unbedingt erforderlich)&lt;br /&gt;
PHP kompiliert Code standardmäßig bei jeder Seitenanfrage neu. &lt;br /&gt;
* Zwischenspeichern dieser Skripte reduziert die CPU-Auslastung&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Varnish_caching&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Performance_tuning&lt;br /&gt;
&lt;br /&gt;
; OPcache&lt;br /&gt;
OPcache in der &amp;lt;code&amp;gt;php.ini&amp;lt;/code&amp;gt;-Datei aktivieren&lt;br /&gt;
* &amp;lt;code&amp;gt;opcache.enable=1&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;opcache.memory_consumption=128&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; APCu&lt;br /&gt;
APCu-PHP-Erweiterung installieren&lt;br /&gt;
* schnelles, lokales Objekt-Caching&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Performance_tuning/ca&lt;br /&gt;
* https://wiki.centos-webpanel.com/improve-website-performance&lt;br /&gt;
* https://www.mediawiki.org/wiki/Manual:Varnish_caching&lt;br /&gt;
&lt;br /&gt;
== Objekt- und Hauptcache ==&lt;br /&gt;
; MediaWiki-Objekt- und Hauptcache konfigurieren&lt;br /&gt;
Datenbankabfragen zwischensoeichern&lt;br /&gt;
&lt;br /&gt;
; LocalSettings.php&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;&amp;quot; line copy&amp;gt;&lt;br /&gt;
$wgMainCacheType = CACHE_ACCEL;&lt;br /&gt;
$wgParserCacheType = CACHE_ACCEL;&lt;br /&gt;
$wgSessionCacheType = CACHE_ACCEL;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[mediawikiwiki:Manual:$wgMainCacheType]]&lt;br /&gt;
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166&lt;br /&gt;
* https://lists.wikimedia.org/hyperkitty/list/mediawiki-l@lists.wikimedia.org/thread/S7YWAMM6BHTZBOK7ZPQ2ZBKRSML42OPP/&lt;br /&gt;
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166&lt;br /&gt;
&lt;br /&gt;
== Bots und Crawler ==&lt;br /&gt;
; Bots und Crawler optimieren&lt;br /&gt;
Aggressive Suchmaschinen-Bots können dynamische Seiten (wie &amp;lt;code&amp;gt;api.php&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;index.php?action=history&amp;lt;/code&amp;gt;) indexieren und Ihre CPU überlasten. &lt;br /&gt;
* https://github.com/bitnami/charts/issues/3138&lt;br /&gt;
* https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm&lt;br /&gt;
&lt;br /&gt;
Erstelle oder aktualisiere eine strenge &amp;lt;code&amp;gt;robots.txt&amp;lt;/code&amp;gt;-Datei in deinem Hauptverzeichnis, um nicht-kanonische URLs und Systemseiten zu blockieren.&lt;br /&gt;
&lt;br /&gt;
; Beispielregeln&lt;br /&gt;
 text User-agent:* &lt;br /&gt;
 Disallow: /wiki/Special: &lt;br /&gt;
 Disallow: /w/api.php Disallow: /w/index.php&lt;br /&gt;
&lt;br /&gt;
* https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm&lt;br /&gt;
&lt;br /&gt;
== Erweiterungen ==&lt;br /&gt;
; Ressourcenintensive Erweiterungen anpassen&lt;br /&gt;
Komplexe Erweiterungen wie &#039;&#039;Semantic MediaWiki (SMW)&#039;&#039; können von Seiten zu erheblicher Serverbelastung führen&lt;br /&gt;
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166&lt;br /&gt;
&lt;br /&gt;
; Abfrage-Caching&lt;br /&gt;
&#039;&#039;Abfrage-Caching&#039;&#039; bei SMW aktivieren&lt;br /&gt;
* verhindert, dass komplexe semantische Abfragen bei jedem Besuch neu berechnet werden&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;LocalSettings.php&#039;&#039;&lt;br /&gt;
 $smwgEnableCache = true;&lt;br /&gt;
&lt;br /&gt;
== Zähler ==&lt;br /&gt;
; Zähler Deaktiviere&lt;br /&gt;
Erfassung der Seitenaufrufen kann auf stark frequentierten Seiten zu einem sprunghaften Anstieg der CPU-Auslastung führen&lt;br /&gt;
* mediawikiwiki:Topic:Rncjbh4poqojjt9k&lt;br /&gt;
&lt;br /&gt;
; Seitenzähler deaktivieren&lt;br /&gt;
Werden keine Seitenstatistiken benötigt, kann der Seitenzähler deaktiviert werden&lt;br /&gt;
&lt;br /&gt;
; LocalSettings.php&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; highlight=&amp;quot;&amp;quot; copy&amp;gt;&lt;br /&gt;
$wgDisableCounters = true;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PHP-FPM / FastCGI ==&lt;br /&gt;
; PHP-FPM / FastCGI optimieren&lt;br /&gt;
Wenn PHP-FPM-Prozesse&lt;br /&gt;
* aufgrund hohen Datenverkehrs&lt;br /&gt;
* übermäßig viel CPU-Leistung beanspruchen&lt;br /&gt;
* begrenze die Laufzeit jedes Prozesses, bevor er recycelt wird, um Speicher freizugeben. &lt;br /&gt;
** [[mediawikiwiki:Topic:U1sl12b4w1gkbh2k]]&lt;br /&gt;
** https://serverfault.com/questions/397482/need-help-trouble-shooting-high-cpu-usage-by-php-fpm&lt;br /&gt;
&lt;br /&gt;
; php-fpm.conf&lt;br /&gt;
Konfigurieren&lt;br /&gt;
* php-fpm.conf&lt;br /&gt;
* Pool-Konfiguration &lt;br /&gt;
 pm.max_requests&lt;br /&gt;
um Prozesse zu aktualisieren, beispielsweise &lt;br /&gt;
 pm.max_requests = 500&lt;br /&gt;
&lt;br /&gt;
; Skalierung&lt;br /&gt;
Anleitung zur Skalierung&lt;br /&gt;
* [[mediawikiwiki:Manual:Performance_tuning|MediaWiki-Handbuch zur Leistungsoptimierung]]&lt;br /&gt;
* [[mediawikiwiki:Manual:Performance_tuning|Manual:Performance_tuning]]&lt;br /&gt;
&lt;br /&gt;
; Erweiterungen&lt;br /&gt;
Welche Erweiterungen (wie Semantic MediaWiki) sind aktiv?&lt;br /&gt;
* https://hexshift.medium.com/step-by-step-guide-to-optimizing-mediawiki-performance-with-caching-and-profiling-391b5203d166&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;br /&gt;
=== Siehe auch ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count:2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;categorytree hideroot=on mode=&amp;quot;pages&amp;quot;&amp;gt;{{BASEPAGENAME}}&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}&lt;br /&gt;
&lt;br /&gt;
=== Dokumentation ===&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
; Man-Page &lt;br /&gt;
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)]&lt;br /&gt;
&lt;br /&gt;
; Info-Pages &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
==== Projekt ====&lt;br /&gt;
==== Weblinks ====&lt;br /&gt;
# https://www.mediawiki.org/wiki/Manual:Varnish_caching&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{DEFAULTSORT:new}}&lt;br /&gt;
{{DISPLAYTITLE:new}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:MediaWiki/Verwaltung]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=BSI/200-4/10_Business-Continuity-Strategie&amp;diff=167948</id>
		<title>BSI/200-4/10 Business-Continuity-Strategie</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=BSI/200-4/10_Business-Continuity-Strategie&amp;diff=167948"/>
		<updated>2026-06-17T08:47:10Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: /* Identifikation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{{Navigation|BSI/200-4/09 Risikoanalyse|BSI/200-4/11 Geschäftsfortführung}}&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;BSI/200-4/10 Business-Continuity-Strategie&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
; Entwicklung von BC-Strategien und -Lösungen&lt;br /&gt;
; Vorgehen&lt;br /&gt;
{|class=&amp;quot;wikitable options big col1center col2bold&amp;quot;&lt;br /&gt;
! !! Schritt !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| 1 || [[#Identifikation|Identifikation]] ||Identifikation möglicher BC-Strategien&lt;br /&gt;
|-&lt;br /&gt;
| 2 || [[#Bewertung|Bewertung]] || Bewertung von BC-Strategien&lt;br /&gt;
|-&lt;br /&gt;
| 3 || [[#Auswahl|Auswahl]] || Auswahl der BC-Strategien durch die Institutionsleitung&lt;br /&gt;
|-&lt;br /&gt;
| 4 || [[#Umsetzung|Umsetzung]] ||Umsetzung der BC-Strategien&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:img-209-398.png|800px]]&lt;br /&gt;
&lt;br /&gt;
== Identifikation ==&lt;br /&gt;
; Auswahl der BC-Strategien durch die Institutionsleitung (AS)&lt;br /&gt;
{| class=&amp;quot;wikitable options big col2center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! !!&lt;br /&gt;
|-&lt;br /&gt;
| Betrachtungsgrundlage|| Ressourcenkategorien, SPoF, identifizierte Korrektur- und Verbesserungsmaßnahmen vorangegangener BCM-Tätigkeiten||Ressourcenkategorien (Beispiele)&lt;br /&gt;
|-&lt;br /&gt;
| BC-Strategie-Optionen je Ressourcenkategorie|| ||&lt;br /&gt;
* Informationstechnik&lt;br /&gt;
* Personal&lt;br /&gt;
* Infrastruktur&lt;br /&gt;
* Dienstleistungen&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== BC-Strategien ===&lt;br /&gt;
Die Institution muss geeignete BC-Strategien definieren, die den Handlungsbedarf aus der BCM-Risikoanalyse abdecken&lt;br /&gt;
* Üblicherweise übernimmt diese Tätigkeit der oder die [[BCB]]&lt;br /&gt;
&lt;br /&gt;
=== Ressourcenkategorien ===&lt;br /&gt;
Hierzu kann sich der oder die [[BCB]] zunächst an den in der [[BIA]] festgelegten Ressourcenkategorien orientieren&lt;br /&gt;
* Für jede Ressourcenkategorie ist es empfehlenswert, zu prüfen, welche grundsätzlichen BC-Strategien möglich wären, um die jeweilige Ressourcenkategorie abzusichern&lt;br /&gt;
* Eine BC-Strategie kann sowohl dazu geeignet sein, die Eintrittshäufigkeit eines Ressourcen- oder Geschäftsprozessausfalls durch Vorsorgemaßnahmen zu senken, als auch einen Notbetrieb durch BC-Lösungen sowie Notfallmaßnahmen zu ermöglichen&lt;br /&gt;
* Sie sollte geeignet sein, den Geschäftsbetrieb mindestens über den abzusichernden Zeitraum mit einem angemessenen Notbetrieb abzudecken&lt;br /&gt;
&lt;br /&gt;
=== Wiederherstellungsplanung ===&lt;br /&gt;
Liegt bereits eine Wiederherstellungsplanung vor, beispielsweise&amp;amp;nbsp;aus einem [[ITSCM]] oder einem früheren BCM-Zyklus, dann können aus dieser Planung Rückschlüsse gezogen werden, wie lange eine vollständige Wiederherstellung der Ressource voraussichtlich zeitlich in Anspruch nehmen wird&lt;br /&gt;
* Diese Information kann im [[BCM]] genutzt werden, um in der Auswahl von BC-Strategien und -Lösungen die maximal mögliche Notbetriebsdauer mit der voraussichtlich notwendigen Notbetriebsdauer vergleichen zu können&lt;br /&gt;
* Die Wiederherstellungsplanung unterstützt somit bei der Identifikation bedarfsgerechter und wirtschaftlicher BC-Strategien und -Lösungen&lt;br /&gt;
&lt;br /&gt;
=== Ressourcenkategorien ===&lt;br /&gt;
Zusätzlich kann es zweckmäßig sein, einzelne Ressourcenkategorien weiter zu unterteilen&lt;br /&gt;
* Dies ist etwa dann sinnvoll, wenn für unterteilte Ressourcenkategorien durch unterschiedliche BC-Strategien ein besseres Gesamtergebnis der BC-Strategien möglich wird&lt;br /&gt;
Die Ressourcenkategorie Gebäude und Infrastruktur kann etwa einen gesamten Standort, ein einzelnes Gebäude oder gar einzelne Gebäudeteile umfassen&lt;br /&gt;
* Bei einem gesamten Standortausfall könnte die BC-Strategie lauten, sämtliche Tätigkeiten oder eine vorhandene Produktion an einen Ausweichstandort zu verlagern&lt;br /&gt;
* Fallen hingegen nur einzelne Gebäudeteile aus, dann kann eine BC-Strategie dazu lauten, die Arbeitsplätze oder die Produktion innerhalb des Gebäudes oder Standortes zu verlagern&lt;br /&gt;
&lt;br /&gt;
=== Korrektur und Verbesserung ===&lt;br /&gt;
; Korrekturbedarfen und Verbesserungsmöglichkeiten&lt;br /&gt;
Die BC-Strategien sollten die noch nicht adressierten Korrekturbedarfe und Verbesserungsmöglichkeiten aus vorangegangenen BCMS-Zyklen angemessen berücksichtigen&lt;br /&gt;
&lt;br /&gt;
Zu den identifizierten Korrekturbedarfen und Verbesserungsmöglichkeiten vorangegangener BCMS-Zyklen zählen etwa Lücken, die mit den bestehenden personellen, finanziellen oder zeitlichen Ressourcen bislang nicht behandelt werden konnten oder bewusst nicht behandelt wurden&lt;br /&gt;
* Dies gilt insbesondere für initiale Entwicklungsstufen&lt;br /&gt;
&lt;br /&gt;
=== Cyberangriffe ===&lt;br /&gt;
Obwohl Cyberangriffe nicht in der BC-Planung des [[BCM]] oder [[ITSCM]] vollumfänglich abgedeckt werden können, kann es sinnvoll sein, diese themenübergreifenden Aspekte in der Identifikation von BC-Strategien mit zu berücksichtigen und dazu das ISMS mit einzubinden&lt;br /&gt;
* Sofern ein ISMS besteht, können hierbei die Anforderungen an die jeweiligen BC-Strategien sowie mögliche Vorsorgemaßnahmen, die mitunter im ISMS bereits bestehen, gemeinsam abgestimmt und in eine BC-Strategie überführt werden&lt;br /&gt;
* Jedoch können [[RTO]] und [[RPO]] bei einem Cyberangriff meist nicht eingehalten werden&lt;br /&gt;
&lt;br /&gt;
== Bewertung ==&lt;br /&gt;
; Bewertung von BC-Strategien (AS)&lt;br /&gt;
{| class=&amp;quot;wikitable options col1center big&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! !!&lt;br /&gt;
|-&lt;br /&gt;
| || ||&lt;br /&gt;
|-&lt;br /&gt;
| || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Nachdem der oder die [[BCB]] die grundsätzlich möglichen BC-Strategien identifiziert hat, muss er oder sie bewerten, ob diese für die Institution wirksam und angemessen sind&lt;br /&gt;
&lt;br /&gt;
Eine BC-Strategie ist dann wirksam, wenn durch die umgesetzte BC-Strategie die Eintrittshäufigkeit eines Ausfalls auf ein akzeptables Maß gesenkt werden kann oder die zeitkritischen Geschäftsprozesse innerhalb der [[RTO]] auf dem Notbetriebsniveau fortgeführt werden können&lt;br /&gt;
* Angemessen ist eine BC-Strategie dann, wenn sie den allgemeinen Zielen der Institution entspricht, die geltenden rechtlichen und regulatorischen Anforderungen einhält und wenn der Nutzen die Kosten überwiegt&lt;br /&gt;
* Um die BC-Strategien bewerten zu können, ist es empfehlenswert, dass der oder die [[BCB]] verschiedene Bewertungskriterien festlegt&lt;br /&gt;
* Anhand der Bewertungskriterien können die BC-Strategien qualitativ und quantitativ bewertet und gegeneinander abgewogen werden&lt;br /&gt;
* Falls sich frühzeitig herausstellt, dass eine BC-Strategie nicht wirksam oder angemessen ist, ist es nicht notwendig, diese weiter zu bewerten&lt;br /&gt;
&lt;br /&gt;
; Bewertungskriterien&lt;br /&gt;
Bewertungskriterien, die bei der Bewertung mindestens berücksichtigt werden müssen&lt;br /&gt;
&lt;br /&gt;
; Einhalten der [[RTO]]&lt;br /&gt;
Für die betrachteten BC-Strategien muss geprüft werden, ob nach deren Umsetzung der Notbetrieb der entsprechenden Ressourcen innerhalb der [[RTO]] hergestellt werden kann&lt;br /&gt;
&lt;br /&gt;
; Erreichbares Notbetriebsniveau&lt;br /&gt;
Es muss geprüft werden, ob die betrachteten BC-Strategien in der Lage sind, das Notbetriebsniveau sicherzustellen&lt;br /&gt;
* Wird durch eine Maßnahme zwar die [[RTO]] erreicht, jedoch nicht das Notbetriebsniveau, dann ist die betrachtete BC-Strategie je nach Risikobereitschaft der Institution nicht hinreichend geeignet oder muss um weitere Maßnahmen ergänzt werden&lt;br /&gt;
&lt;br /&gt;
; Restrisiken&lt;br /&gt;
Es muss geprüft werden, welches Restrisiko eines Ressourcenausfalls trotz umgesetzter BC-Strategie bestehen bleibt&lt;br /&gt;
* Wird etwa ein Ausweichstandort geplant, der gleichen regionalen Bedrohungen ausgesetzt ist wie der primäre Standort, dann verbleibt ein mögliches Restrisiko, dass beide Standorte durch dasselbe Ereignis betroffen sind&lt;br /&gt;
* Dies kann beispielsweise&amp;amp;nbsp;der Fall sein durch eine Bombenentschärfung bei Standorten in derselben Region oder durch Hochwasser eines Flusses bei Standorten im gleichen Hochwassergebiet oder durch ein Erdbeben im selben Erdbebengebiet etc&lt;br /&gt;
* Hierzu zählt unter anderem auch das Restrisiko bei der BC-Strategie „Redundante Zuliefernde“, falls beispielsweise&amp;amp;nbsp;in beiden Lieferketten der gleiche Zuliefernde auftaucht oder die Lieferketten durch gleiche Bedrohungen gefährdet sind&lt;br /&gt;
* Ziel der BC-Strategien ist es, die Bedrohungen nach Möglichkeit auszuschließen und daher im Vorhinein die Tätigkeiten auf unterschiedliche Standorte und Services zu verteilen, die ausreichend voneinander getrennt sind&lt;br /&gt;
* So würde der Ausfall eines Standortes mitunter gar nicht erst zum Ausfall des Geschäftsprozesses führen&lt;br /&gt;
* Dies wäre dann der Fall, wenn die Leistung der verbliebenen Standorte ausreicht, den Geschäftsprozess auf dem Notbetriebsniveau fortsetzen zu können&lt;br /&gt;
&lt;br /&gt;
; Finanzielle Aufwände&lt;br /&gt;
Es muss geprüft werden, welche finanziellen Aufwände mit den identifizierten BC-Strategien einhergehen und ob diese in einem angemessenen Verhältnis zu den erwarteten Schäden der ausgefallenen Geschäftsprozesse stehen&lt;br /&gt;
* Entsprechende Aussagen kann beispielsweise das (Risiko-)Controlling treffen&lt;br /&gt;
* Finanzielle Aufwände beinhalten die Anschaffungskosten, die notwendigen Kosten während und nach einem Notfall sowie die erforderlichen Kosten, um die BC-Strategien aufrechtzuerhalten, beispielsweise&amp;amp;nbsp;die laufenden Kosten eines Ausweichstandortes oder zusätzliche Kontroll-und Steuerungsaufwände&lt;br /&gt;
Einhaltung interner und externer Anforderungen: Es sollte geprüft werden, ob die betrachteten BC-Strategien den Rahmenbedingungen der Institution entsprechen&lt;br /&gt;
* So sollten die BC-Strategien etwa dahingehend geprüft werden, ob sie mögliche rechtliche und regulatorische Anforderungen einhalten, die Interessen interner und externer Interessengruppen einbeziehen sowie die allgemeine Risikobereitschaft der Institutionsleitung berücksichtigen&lt;br /&gt;
* Mögliche interne und externe Anforderungen wurden bereits mit den erweiterten Rahmenbedingungen zum BCMS erfasst (siehe 4.2 Analyse der erweiterten Rahmenbedingungen)&lt;br /&gt;
&lt;br /&gt;
; Maximal mögliche Notbetriebsdauer&lt;br /&gt;
Es sollte geprüft werden, wie lange die eingesetzten BC-Strategien einen Notbetrieb ermöglichen können, bis alternative Lösungen gefunden sind oder der Normalbetrieb wiederhergestellt ist&lt;br /&gt;
* Die maximal mögliche Notbetriebsdauer sollte mindestens den abzusichernden Zeitraum abdecken (siehe 3.2.3 Abzusichernder Zeitraum durch ein BCMS (R+AS))&lt;br /&gt;
Die maximal mögliche Notbetriebsdauer ist darüber hinaus von Bedeutung, weil bei einem langfristigen Ressourcenausfall weitere Schäden entstehen könnten&lt;br /&gt;
* So könnten etwa verdrängte, im Betrachtungszeitraum der [[BIA]] nicht zeitkritische Arbeitsplätze langfristig auch zeitkritisch werden und ebenfalls Ausweicharbeitsplätze benötigen&lt;br /&gt;
* Auch können die Kosten der aktivierten Notfallmaßnahmen ab einem bestimmten Zeitpunkt die erwarteten Schäden der ausgefallenen Ressourcen und Geschäftsprozesse übertreffen&lt;br /&gt;
* Dies kann etwa der Fall sein, wenn zusätzliche Büroflächen über einen sehr langen Zeitraum angemietet werden müssen&lt;br /&gt;
&lt;br /&gt;
; Optionale Bewertungskriterien&lt;br /&gt;
Neben den mindestens zu betrachtenden Bewertungskriterien können weitere optionale Bewertungskriterien betrachtet werden, wie etwa die folgenden:&lt;br /&gt;
&lt;br /&gt;
; Organisatorische Aufwände&lt;br /&gt;
Es wird empfohlen, zu prüfen, welche organisatorischen Aufwände mit den identifizierten BC-Strategien einhergehen und ob diese im Verhältnis zu den erwarteten Schäden der ausgefallenen Ressourcen stehen&lt;br /&gt;
&lt;br /&gt;
; Entstehende Risiken&lt;br /&gt;
Es wird empfohlen, zu prüfen, ob die betrachteten BC-Strategien zu neuen Risiken führen können&lt;br /&gt;
* Werden etwa gleiche Tätigkeiten auf mehrere Standorte verteilt, so könnte dies in der Folge zu Effizienzverlusten oder einem mangelnden Wissensaustausch der beteiligten Mitarbeitenden führen, Aber es können auch neue Risiken entstehen, die unabhängig von einem zweiten Standort sind, beispielsweise Abweichungen zu Vorgaben an den Arbeitsschutz oder Verletzungen der Schutzziele der Informationssicherheit&lt;br /&gt;
* Solche Risiken werden empfehlenswerter Weise mittels einer übergreifenden Risikoanalyse gegeneinander abgewogen&lt;br /&gt;
Entstehender Zusatznutzen: Es wird empfohlen, zu prüfen, ob die betrachteten BC-Strategien auch im Normalbetrieb zu Verbesserungen führen oder positive Seiteneffekte auf Schnittstellen und andere Aspekte haben, beispielsweise&amp;amp;nbsp;Einkaufsvorteile&lt;br /&gt;
* So kann der oder die [[BCB]] auch prüfen, ob Synergien zwischen den BC-Strategien oder zu anderen Tätigkeiten in der Institution bestehen oder geschaffen werden können&lt;br /&gt;
&lt;br /&gt;
; Einschätzung Verhältnis Kosten-Nutzen-Risiko&lt;br /&gt;
Die Entscheidung für oder gegen eine BC-Strategie ergibt sich aus der Abwägung der entstehenden Kosten im Verhältnis dazu, wie sehr die Eintrittshäufigkeit oder das Schadenspotenzial des Risikos einer Geschäftsunterbrechung reduziert werden können&lt;br /&gt;
* Eine BC-Strategie kann dann als sinnvoll betrachtet werden, wenn die Kosten für ihre Umsetzung und ihren Betrieb gerechtfertigt sind, um das Risiko zu minimieren&lt;br /&gt;
&lt;br /&gt;
; Zusätzlichen Nutzen&lt;br /&gt;
Ferner ist es empfehlenswert, einen möglichen zusätzlichen Nutzen in der Kosten-Nutzen-Risiko Abwägung zu berücksichtigen&lt;br /&gt;
&lt;br /&gt;
Um die notwendigen Informationen zu erheben, kann der oder die [[BCB]] beispielsweise auf die Ressourcen- und Prozesszuständigen zugehen, in deren Zuständigkeitsbereich die BC-Strategien umgesetzt werden&lt;br /&gt;
* Auch kann er oder sie mit Anbietern entsprechender Lösungen in Kontakt treten&lt;br /&gt;
Die Bewertung der BC-Strategien kann in der Dokumentvorlage Bewertungstabelle BC-Strategien aus den Hilfsmitteln dokumentiert werden&lt;br /&gt;
&lt;br /&gt;
; Beispiel für die Bewertung der BC-Strategie „Mobiles Arbeiten“&lt;br /&gt;
[[File:bcmTab33-1.png|600px]]&lt;br /&gt;
[[File:bcmTab33-2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Übersicht sinnvoller BC-Strategien ===&lt;br /&gt;
Als Ergebnis erhält der oder die [[BCB]] eine Übersicht prinzipiell sinnvoller BC-Strategien und kann ersehen, inwieweit diese sowohl wirksam als auch angemessen sind&lt;br /&gt;
* Es ist empfehlenswert, dass die Rolle [[BCB]] die aus ihrer Sicht passendsten BC-Strategien vorauswählt&lt;br /&gt;
* Dies erleichtert es der Institutionsleitung, die bestmöglich geeignete BC-Strategie festzulegen&lt;br /&gt;
* Dazu ist es hilfreich, dass der oder die [[BCB]] prüft, welche der BC-Strategien die Anforderungen an die BC-Planung sowie die Rahmenbedingungen der Institution bestmöglich vereinen&lt;br /&gt;
&lt;br /&gt;
Nachdem der oder die [[BCB]] die BC-Strategien geprüft hat, kann er oder sie je Ressourcenkategorie eine oder mehrere BC-Strategien vorauswählen&lt;br /&gt;
* Insbesondere wenn die BC-Strategien nicht von allen Organisationseinheiten gleichermaßen genutzt werden können, kann es sinnvoll sein, mehrere prinzipiell mögliche BC-Strategien vorzuschlagen&lt;br /&gt;
Als Ergebnis dieser Phase verfügt der oder die [[BCB]] für jede Ressourcenkategorie über mindestens eine mögliche BC-Strategie, die der Institutionsleitung im folgenden Schritt vorgestellt werden muss&lt;br /&gt;
&lt;br /&gt;
== Auswahl ==&lt;br /&gt;
; Auswahl der BC-Strategien durch die Institutionsleitung (AS)&lt;br /&gt;
{| class=&amp;quot;wikitable options col1center big&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! !!&lt;br /&gt;
|-&lt;br /&gt;
| || ||&lt;br /&gt;
|-&lt;br /&gt;
| || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
; Auswahl und Entscheidung&lt;br /&gt;
Nachdem der oder die [[BCB]] mögliche BC-Strategien vorausgewählt hat, muss die Institutionsleitung in ihrer Rolle als Gesamtverantwortliche für das [[BCM]] sowie aufgrund der Reichweite der BC-Strategien über die letztlich umzusetzenden BC-Strategien entscheiden&lt;br /&gt;
* Die Institutionsleitung muss hierzu die Wirksamkeit beziehungsweise den Nutzen der BC-Strategien sowie die erwarteten Kosten und die eigene Risikobereitschaft gegeneinander abwägen&lt;br /&gt;
&lt;br /&gt;
; Entscheidungspräsentation&lt;br /&gt;
Es ist empfehlenswert, die BC-Strategien im Rahmen einer Entscheidungspräsentation vorzustellen und abzustimmen&lt;br /&gt;
* Die Entscheidungspräsentation ermöglicht es dem oder der [[BCB]] , die BC-Strategien, die relevanten Inhalte sowie Vor- und Nachteile strukturiert und visuell gegenüberzustellen sowie seine jeweiligen Favoriten zu empfehlen&lt;br /&gt;
&lt;br /&gt;
; Inhalte der Entscheidungspräsentation&lt;br /&gt;
Allgemeinen Ziele von BC-Strategien&lt;br /&gt;
* Da die Institutionsleitung erfahrungsgemäß nur an bestimmten Stellen zum Thema BC-Strategien mit einbezogen wird, ist es empfehlenswert, dass der oder die [[BCB]] zu Beginn der Entscheidungspräsentation auf die Ziele der BC-Strategien eingeht&lt;br /&gt;
* Er oder sie kann hierzu erläutern, was unter BC-Strategien zu verstehen ist, welche Aufgabe die Institutionsleitung hierbei hat und welche Schritte auf die Entscheidung der Institutionsleitung folgen&lt;br /&gt;
&lt;br /&gt;
Betrachtungsgrundlage der BC-Strategien&lt;br /&gt;
* Um der Institutionsleitung zu verdeutlichen, was in der BC-Planung durch die BC-Strategien abgesichert werden muss, kann der oder die [[BCB]] die betrachteten Ressourcenkategorien und Teilkategorien vorstellen&lt;br /&gt;
* Er oder sie kann hierbei auch auf identifizierte Single-Points-of-Failure und Verbesserungsbedarfe vorangegangener BCMS-Tätigkeiten eingehen, die durch die BC-Strategien berücksichtigt werden sollten&lt;br /&gt;
&lt;br /&gt;
Vor- und Nachteile empfohlene BC-Strategien&lt;br /&gt;
* Je vorgestellter Ressourcenkategorie kann der oder die [[BCB]] die empfohlenen BC-Strategien vorstellen sowie die jeweiligen Vor- und Nachteile erläutern&lt;br /&gt;
* Hierbei kann er oder sie auch auf mögliche Synergien, Abhängigkeiten und Konflikte eingehen, die mit den jeweiligen BC-Strategien einhergehen&lt;br /&gt;
&lt;br /&gt;
; Umzusetzende BC-Strategien auswählen&lt;br /&gt;
Auf Basis der empfohlenen BC-Strategien ist die Institutionsleitung in der Lage, sich eine fachliche Übersicht über die möglichen BC-Strategien zu verschaffen und zu entscheiden, wie sie die BC-Planung ausrichten möchte&lt;br /&gt;
* Auch kann die Institutionsleitung über die BC-Strategien steuern, wie weit die Ressourcenkategorien mit entsprechenden Aufwänden abgesichert werden sollen, wie Vorteile genutzt werden können und welches Restrisiko sie zu übernehmen bereit ist&lt;br /&gt;
&lt;br /&gt;
; Dienstleistungsunternehmen und Lieferketten&lt;br /&gt;
Sofern zeitkritische Prozesse durch Dienstleistungsunternehmen oder in Lieferketten erbracht werden, müssen BC-Strategien ausgewählt werden, die eine angemessene Leistungserbringung im Notfall sicherstellen&lt;br /&gt;
* Hierzu ist es empfehlenswert, die weitreichenden Erläuterungen in dem Hilfsmittel Vorschläge zu BC-Strategien zu berücksichtigen&lt;br /&gt;
&lt;br /&gt;
Dort wird näher erläutert, welche Auswirkungen je nach gewählter BC-Strategie auf unterschiedliche Phasen des PDCA-Zyklus im BCMS bestehen&lt;br /&gt;
&lt;br /&gt;
; Ressourcenkategorie und BC-Strategien&lt;br /&gt;
Die Institutionsleitung kann sich entscheiden, je Ressourcenkategorie eine oder mehrere BC-Strategien auszuwählen, verschiedene BC-Strategien zu kombinieren oder eine eigene BC-Strategie auszuwählen&lt;br /&gt;
&lt;br /&gt;
; Entscheidung&lt;br /&gt;
Nachdem die BC-Strategien durch die Institutionsleitung ausgewählt und freigegeben wurden, sollte diese Entscheidung dokumentiert werden&lt;br /&gt;
* Die dokumentierte Entscheidung ist der Auftrag an den oder die [[BCB]] , einen Umsetzungsplan zu erstellen&lt;br /&gt;
* Sollte aus Sicht der Institutionsleitung keine der vorgeschlagenen BC-Strategien ausreichend wirksam oder angemessen erscheinen, kann sie den oder die [[BCB]] auch damit beauftragen, neue BC-Strategien zu entwickeln&lt;br /&gt;
* Sind auch die neu entwickelten BC-Strategien aus ihrer Sicht unwirksam oder unangemessen, kann sich die Institutionsleitung auch dazu entscheiden, keine BC-Strategie umzusetzen&lt;br /&gt;
* Dies kann etwa der Fall sein, wenn das Risiko oder der mögliche Schaden ausgefallener Ressourcen oder Geschäftsprozesse die Aufwände der BC-Strategien aus Sicht der Institutionsleitung nicht rechtfertigen würden&lt;br /&gt;
&lt;br /&gt;
; Restrisiko&lt;br /&gt;
In diesem Fall muss die Institutionsleitung das Restrisiko übernehmen, solange es keine regulatorischen oder gesetzlichen Verpflichtungen gibt, die dies verbieten&lt;br /&gt;
* Das jeweilige Risiko muss im Rahmen der Risikobeurteilung dokumentiert, regelmäßig neu bewertet und daraufhin geprüft werden, ob das Risiko durch neue BC-Strategien gesenkt werden kann&lt;br /&gt;
&lt;br /&gt;
== Umsetzung ==&lt;br /&gt;
; Umsetzung der BC-Strategien und Lösungen (AS)&lt;br /&gt;
{| class=&amp;quot;wikitable options col1center big&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! !!&lt;br /&gt;
|-&lt;br /&gt;
| || ||&lt;br /&gt;
|-&lt;br /&gt;
| || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Zuständigkeiten und Fachwissen ===&lt;br /&gt;
Nachdem die Institutionsleitung die BC-Strategien freigegeben hat, muss festgelegt werden, wer für die Umsetzung zuständig ist und wer das hierzu notwendige Fachwissen beisteuern kann&lt;br /&gt;
* Gemeinsam mit dem oder der [[BCB]] können diese Personen abstimmen, wie die BC-Strategien umgesetzt werden&lt;br /&gt;
* Hierzu ist es empfehlenswert, zunächst zu prüfen, aus welchen Vorsorgemaßnahmen, BC-Lösungen und Notfallmaßnahmen sich die ausgewählten BC-Strategien zusammensetzen&lt;br /&gt;
* Vorsorgemaßnahmen und BC-Lösungen können im Rahmen von Projekten oder innerhalb der [[AAO]] umgesetzt werden, da diese in der Regel umfassender sind und oft verschiedene Organisationseinheiten, Stellen und Kontaktpersonen betreffen&lt;br /&gt;
* Falls im Falle von Outsourcing die BC-Strategie Ausreichende BC-Fähigkeit des Dienstleistungsunternehmens gewählt wird, muss die Institution zusätzlich die erwarteten BC-Fähigkeiten der relevanten, zeitkritischen Dienstleistungsunternehmen anhand von BC-Anforderungen definieren und bewerten (siehe Hilfsmittel BC-Strategievorschläge)&lt;br /&gt;
&lt;br /&gt;
=== Umsetzungsplan ===&lt;br /&gt;
Nachdem der oder die [[BCB]] die jeweiligen Ressourcenzuständigen ermittelt hat, muss ein Umsetzungsplan erstellt werden&lt;br /&gt;
* Erfahrungsgemäß wird dieser von den [[Ressourcenzuständigen]] erstellt&lt;br /&gt;
* Der Umsetzungsplan muss die konkret benötigten Ressourcen und Tätigkeiten dokumentieren, die benötigt werden, um die ausgewählten [[BC-Strategie]]n umzusetzen&lt;br /&gt;
&lt;br /&gt;
; Inhalte&lt;br /&gt;
* Konkrete Handlungsschritte, die notwendig sind, um die jeweilige BC-Lösung umsetzen zu können&lt;br /&gt;
* Finanzielle, personelle und zeitliche Ressourcen, die benötigt werden, um die Handlungsschritte umsetzen zu können inklusive der benötigten Dienstleistungsunternehmen&lt;br /&gt;
* Personen, die die Handlungsschritte des Umsetzungsplans umsetzen sollen&lt;br /&gt;
* Zeiträume, in denen die Handlungsschritte umgesetzt werden sollen Während der Umsetzungsplan erstellt wird, können sich mitunter zusätzlich notwendige Ressourcen im Sinne von Mitteln oder Maßnahmen ergeben, die bisher noch nicht bedacht wurden&lt;br /&gt;
&lt;br /&gt;
; Prüfung&lt;br /&gt;
Die erstellten Umsetzungspläne müssen folglich dahingehend überprüft werden, ob das erwartete Gesamtergebnis im Hinblick auf die ausgewählten BC-Strategien weiterhin wirksam und angemessen ist&lt;br /&gt;
&lt;br /&gt;
; Freigabe&lt;br /&gt;
Nachdem die Umsetzungspläne und benötigten Ressourcen im Sinne von Mitteln von der Institutionsleitung freigegeben wurden, müssen die beschlossenen Maßnahmen durch die Zuständigen umgesetzt werden&lt;br /&gt;
* Sie sollten im festgelegten Zeitraum umgesetzt werden&lt;br /&gt;
&lt;br /&gt;
Der oder die BCB sollte die Umsetzung dieser Maßnahmen steuern und kontrollieren&lt;br /&gt;
* Hierzu ist der Maßnahmenplan ein sehr geeignetes Mittel&lt;br /&gt;
* Die Notfallmaßnahmen werden im Rahmen der Geschäftsfortführungsplanung sowie Wiederanlaufplanung behandelt&lt;br /&gt;
&lt;br /&gt;
=== Geschäftsfortführungspläne ===&lt;br /&gt;
Innerhalb von Geschäftsfortführungsplänen ([[GFP]]) wird dokumentiert, wie eine Institution auf der Prozessebene auf eine Geschäftsunterbrechung nach einem Ressourcenausfall reagiert&lt;br /&gt;
* Hierzu werden konkrete Notfallmaßnahmen und Verfahren aus den BC-Strategien und -Lösungen abgeleitet, wie zeitkritische Geschäftsprozesse bis zur Wiederherstellung der ausgefallenen Ressourcen im erforderlichen Umfang aufrechterhalten werden können&lt;br /&gt;
&lt;br /&gt;
; Wiederanlaufpläne&lt;br /&gt;
Innerhalb von Wiederanlaufplänen (WAP) wird dokumentiert, wie die Institution ausgefallene Ressourcen auf einem abgestimmten Notbetriebsniveau wieder in Betrieb nimmt, beispielsweise durch umgesetzte BC-Lösungen oder Ersatzlösungen&lt;br /&gt;
&lt;br /&gt;
; Wiederherstellungspläne&lt;br /&gt;
Innerhalb von Wiederherstellungsplänen ([[WHP]]) wird dokumentiert, wie bei Ressourcenausfall der Normalzustand auf Ressourcenebene wieder erreicht werden kann&lt;br /&gt;
&lt;br /&gt;
; Notfallhandbuch&lt;br /&gt;
Die beschriebenen Dokumente bilden zusammen mit den Informationen aus dem Aufbau und der Befähigung der [[BAO]] die Inhalte des Notfallhandbuchs&lt;br /&gt;
* Das Notfallhandbuch ist die zentrale Dokumentensammlung zur erfolgreichen Notfallbewältigung&lt;br /&gt;
&lt;br /&gt;
; Aufbau und Einsatz des Notfallhandbuchs&lt;br /&gt;
[[File:img-222-430.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{{Navigation|BSI/200-4/09 Risikoanalyse|BSI/200-4/11 Geschäftsfortführung}}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;br /&gt;
=== Siehe auch ===&lt;br /&gt;
{{Special:PrefixIndex/BSI/200-4/}}&lt;br /&gt;
==== Sicherheit ====&lt;br /&gt;
=== Dokumentation ===&lt;br /&gt;
=== Links ===&lt;br /&gt;
==== Projekt ====&lt;br /&gt;
==== Weblinks ====&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:BSI/200-4]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=BSI/200-4/10_Business-Continuity-Strategie&amp;diff=167947</id>
		<title>BSI/200-4/10 Business-Continuity-Strategie</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=BSI/200-4/10_Business-Continuity-Strategie&amp;diff=167947"/>
		<updated>2026-06-17T08:46:49Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: /* Identifikation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{{Navigation|BSI/200-4/09 Risikoanalyse|BSI/200-4/11 Geschäftsfortführung}}&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;BSI/200-4/10 Business-Continuity-Strategie&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
; Entwicklung von BC-Strategien und -Lösungen&lt;br /&gt;
; Vorgehen&lt;br /&gt;
{|class=&amp;quot;wikitable options big col1center col2bold&amp;quot;&lt;br /&gt;
! !! Schritt !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| 1 || [[#Identifikation|Identifikation]] ||Identifikation möglicher BC-Strategien&lt;br /&gt;
|-&lt;br /&gt;
| 2 || [[#Bewertung|Bewertung]] || Bewertung von BC-Strategien&lt;br /&gt;
|-&lt;br /&gt;
| 3 || [[#Auswahl|Auswahl]] || Auswahl der BC-Strategien durch die Institutionsleitung&lt;br /&gt;
|-&lt;br /&gt;
| 4 || [[#Umsetzung|Umsetzung]] ||Umsetzung der BC-Strategien&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:img-209-398.png|800px]]&lt;br /&gt;
&lt;br /&gt;
== Identifikation ==&lt;br /&gt;
; Auswahl der BC-Strategien durch die Institutionsleitung (AS)&lt;br /&gt;
{| class=&amp;quot;wikitable options big&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! !!&lt;br /&gt;
|-&lt;br /&gt;
| Betrachtungsgrundlage|| Ressourcenkategorien, SPoF, identifizierte Korrektur- und Verbesserungsmaßnahmen vorangegangener BCM-Tätigkeiten||Ressourcenkategorien (Beispiele)&lt;br /&gt;
|-&lt;br /&gt;
| BC-Strategie-Optionen je Ressourcenkategorie|| ||&lt;br /&gt;
* Informationstechnik&lt;br /&gt;
* Personal&lt;br /&gt;
* Infrastruktur&lt;br /&gt;
* Dienstleistungen&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== BC-Strategien ===&lt;br /&gt;
Die Institution muss geeignete BC-Strategien definieren, die den Handlungsbedarf aus der BCM-Risikoanalyse abdecken&lt;br /&gt;
* Üblicherweise übernimmt diese Tätigkeit der oder die [[BCB]]&lt;br /&gt;
&lt;br /&gt;
=== Ressourcenkategorien ===&lt;br /&gt;
Hierzu kann sich der oder die [[BCB]] zunächst an den in der [[BIA]] festgelegten Ressourcenkategorien orientieren&lt;br /&gt;
* Für jede Ressourcenkategorie ist es empfehlenswert, zu prüfen, welche grundsätzlichen BC-Strategien möglich wären, um die jeweilige Ressourcenkategorie abzusichern&lt;br /&gt;
* Eine BC-Strategie kann sowohl dazu geeignet sein, die Eintrittshäufigkeit eines Ressourcen- oder Geschäftsprozessausfalls durch Vorsorgemaßnahmen zu senken, als auch einen Notbetrieb durch BC-Lösungen sowie Notfallmaßnahmen zu ermöglichen&lt;br /&gt;
* Sie sollte geeignet sein, den Geschäftsbetrieb mindestens über den abzusichernden Zeitraum mit einem angemessenen Notbetrieb abzudecken&lt;br /&gt;
&lt;br /&gt;
=== Wiederherstellungsplanung ===&lt;br /&gt;
Liegt bereits eine Wiederherstellungsplanung vor, beispielsweise&amp;amp;nbsp;aus einem [[ITSCM]] oder einem früheren BCM-Zyklus, dann können aus dieser Planung Rückschlüsse gezogen werden, wie lange eine vollständige Wiederherstellung der Ressource voraussichtlich zeitlich in Anspruch nehmen wird&lt;br /&gt;
* Diese Information kann im [[BCM]] genutzt werden, um in der Auswahl von BC-Strategien und -Lösungen die maximal mögliche Notbetriebsdauer mit der voraussichtlich notwendigen Notbetriebsdauer vergleichen zu können&lt;br /&gt;
* Die Wiederherstellungsplanung unterstützt somit bei der Identifikation bedarfsgerechter und wirtschaftlicher BC-Strategien und -Lösungen&lt;br /&gt;
&lt;br /&gt;
=== Ressourcenkategorien ===&lt;br /&gt;
Zusätzlich kann es zweckmäßig sein, einzelne Ressourcenkategorien weiter zu unterteilen&lt;br /&gt;
* Dies ist etwa dann sinnvoll, wenn für unterteilte Ressourcenkategorien durch unterschiedliche BC-Strategien ein besseres Gesamtergebnis der BC-Strategien möglich wird&lt;br /&gt;
Die Ressourcenkategorie Gebäude und Infrastruktur kann etwa einen gesamten Standort, ein einzelnes Gebäude oder gar einzelne Gebäudeteile umfassen&lt;br /&gt;
* Bei einem gesamten Standortausfall könnte die BC-Strategie lauten, sämtliche Tätigkeiten oder eine vorhandene Produktion an einen Ausweichstandort zu verlagern&lt;br /&gt;
* Fallen hingegen nur einzelne Gebäudeteile aus, dann kann eine BC-Strategie dazu lauten, die Arbeitsplätze oder die Produktion innerhalb des Gebäudes oder Standortes zu verlagern&lt;br /&gt;
&lt;br /&gt;
=== Korrektur und Verbesserung ===&lt;br /&gt;
; Korrekturbedarfen und Verbesserungsmöglichkeiten&lt;br /&gt;
Die BC-Strategien sollten die noch nicht adressierten Korrekturbedarfe und Verbesserungsmöglichkeiten aus vorangegangenen BCMS-Zyklen angemessen berücksichtigen&lt;br /&gt;
&lt;br /&gt;
Zu den identifizierten Korrekturbedarfen und Verbesserungsmöglichkeiten vorangegangener BCMS-Zyklen zählen etwa Lücken, die mit den bestehenden personellen, finanziellen oder zeitlichen Ressourcen bislang nicht behandelt werden konnten oder bewusst nicht behandelt wurden&lt;br /&gt;
* Dies gilt insbesondere für initiale Entwicklungsstufen&lt;br /&gt;
&lt;br /&gt;
=== Cyberangriffe ===&lt;br /&gt;
Obwohl Cyberangriffe nicht in der BC-Planung des [[BCM]] oder [[ITSCM]] vollumfänglich abgedeckt werden können, kann es sinnvoll sein, diese themenübergreifenden Aspekte in der Identifikation von BC-Strategien mit zu berücksichtigen und dazu das ISMS mit einzubinden&lt;br /&gt;
* Sofern ein ISMS besteht, können hierbei die Anforderungen an die jeweiligen BC-Strategien sowie mögliche Vorsorgemaßnahmen, die mitunter im ISMS bereits bestehen, gemeinsam abgestimmt und in eine BC-Strategie überführt werden&lt;br /&gt;
* Jedoch können [[RTO]] und [[RPO]] bei einem Cyberangriff meist nicht eingehalten werden&lt;br /&gt;
&lt;br /&gt;
== Bewertung ==&lt;br /&gt;
; Bewertung von BC-Strategien (AS)&lt;br /&gt;
{| class=&amp;quot;wikitable options col1center big&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! !!&lt;br /&gt;
|-&lt;br /&gt;
| || ||&lt;br /&gt;
|-&lt;br /&gt;
| || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Nachdem der oder die [[BCB]] die grundsätzlich möglichen BC-Strategien identifiziert hat, muss er oder sie bewerten, ob diese für die Institution wirksam und angemessen sind&lt;br /&gt;
&lt;br /&gt;
Eine BC-Strategie ist dann wirksam, wenn durch die umgesetzte BC-Strategie die Eintrittshäufigkeit eines Ausfalls auf ein akzeptables Maß gesenkt werden kann oder die zeitkritischen Geschäftsprozesse innerhalb der [[RTO]] auf dem Notbetriebsniveau fortgeführt werden können&lt;br /&gt;
* Angemessen ist eine BC-Strategie dann, wenn sie den allgemeinen Zielen der Institution entspricht, die geltenden rechtlichen und regulatorischen Anforderungen einhält und wenn der Nutzen die Kosten überwiegt&lt;br /&gt;
* Um die BC-Strategien bewerten zu können, ist es empfehlenswert, dass der oder die [[BCB]] verschiedene Bewertungskriterien festlegt&lt;br /&gt;
* Anhand der Bewertungskriterien können die BC-Strategien qualitativ und quantitativ bewertet und gegeneinander abgewogen werden&lt;br /&gt;
* Falls sich frühzeitig herausstellt, dass eine BC-Strategie nicht wirksam oder angemessen ist, ist es nicht notwendig, diese weiter zu bewerten&lt;br /&gt;
&lt;br /&gt;
; Bewertungskriterien&lt;br /&gt;
Bewertungskriterien, die bei der Bewertung mindestens berücksichtigt werden müssen&lt;br /&gt;
&lt;br /&gt;
; Einhalten der [[RTO]]&lt;br /&gt;
Für die betrachteten BC-Strategien muss geprüft werden, ob nach deren Umsetzung der Notbetrieb der entsprechenden Ressourcen innerhalb der [[RTO]] hergestellt werden kann&lt;br /&gt;
&lt;br /&gt;
; Erreichbares Notbetriebsniveau&lt;br /&gt;
Es muss geprüft werden, ob die betrachteten BC-Strategien in der Lage sind, das Notbetriebsniveau sicherzustellen&lt;br /&gt;
* Wird durch eine Maßnahme zwar die [[RTO]] erreicht, jedoch nicht das Notbetriebsniveau, dann ist die betrachtete BC-Strategie je nach Risikobereitschaft der Institution nicht hinreichend geeignet oder muss um weitere Maßnahmen ergänzt werden&lt;br /&gt;
&lt;br /&gt;
; Restrisiken&lt;br /&gt;
Es muss geprüft werden, welches Restrisiko eines Ressourcenausfalls trotz umgesetzter BC-Strategie bestehen bleibt&lt;br /&gt;
* Wird etwa ein Ausweichstandort geplant, der gleichen regionalen Bedrohungen ausgesetzt ist wie der primäre Standort, dann verbleibt ein mögliches Restrisiko, dass beide Standorte durch dasselbe Ereignis betroffen sind&lt;br /&gt;
* Dies kann beispielsweise&amp;amp;nbsp;der Fall sein durch eine Bombenentschärfung bei Standorten in derselben Region oder durch Hochwasser eines Flusses bei Standorten im gleichen Hochwassergebiet oder durch ein Erdbeben im selben Erdbebengebiet etc&lt;br /&gt;
* Hierzu zählt unter anderem auch das Restrisiko bei der BC-Strategie „Redundante Zuliefernde“, falls beispielsweise&amp;amp;nbsp;in beiden Lieferketten der gleiche Zuliefernde auftaucht oder die Lieferketten durch gleiche Bedrohungen gefährdet sind&lt;br /&gt;
* Ziel der BC-Strategien ist es, die Bedrohungen nach Möglichkeit auszuschließen und daher im Vorhinein die Tätigkeiten auf unterschiedliche Standorte und Services zu verteilen, die ausreichend voneinander getrennt sind&lt;br /&gt;
* So würde der Ausfall eines Standortes mitunter gar nicht erst zum Ausfall des Geschäftsprozesses führen&lt;br /&gt;
* Dies wäre dann der Fall, wenn die Leistung der verbliebenen Standorte ausreicht, den Geschäftsprozess auf dem Notbetriebsniveau fortsetzen zu können&lt;br /&gt;
&lt;br /&gt;
; Finanzielle Aufwände&lt;br /&gt;
Es muss geprüft werden, welche finanziellen Aufwände mit den identifizierten BC-Strategien einhergehen und ob diese in einem angemessenen Verhältnis zu den erwarteten Schäden der ausgefallenen Geschäftsprozesse stehen&lt;br /&gt;
* Entsprechende Aussagen kann beispielsweise das (Risiko-)Controlling treffen&lt;br /&gt;
* Finanzielle Aufwände beinhalten die Anschaffungskosten, die notwendigen Kosten während und nach einem Notfall sowie die erforderlichen Kosten, um die BC-Strategien aufrechtzuerhalten, beispielsweise&amp;amp;nbsp;die laufenden Kosten eines Ausweichstandortes oder zusätzliche Kontroll-und Steuerungsaufwände&lt;br /&gt;
Einhaltung interner und externer Anforderungen: Es sollte geprüft werden, ob die betrachteten BC-Strategien den Rahmenbedingungen der Institution entsprechen&lt;br /&gt;
* So sollten die BC-Strategien etwa dahingehend geprüft werden, ob sie mögliche rechtliche und regulatorische Anforderungen einhalten, die Interessen interner und externer Interessengruppen einbeziehen sowie die allgemeine Risikobereitschaft der Institutionsleitung berücksichtigen&lt;br /&gt;
* Mögliche interne und externe Anforderungen wurden bereits mit den erweiterten Rahmenbedingungen zum BCMS erfasst (siehe 4.2 Analyse der erweiterten Rahmenbedingungen)&lt;br /&gt;
&lt;br /&gt;
; Maximal mögliche Notbetriebsdauer&lt;br /&gt;
Es sollte geprüft werden, wie lange die eingesetzten BC-Strategien einen Notbetrieb ermöglichen können, bis alternative Lösungen gefunden sind oder der Normalbetrieb wiederhergestellt ist&lt;br /&gt;
* Die maximal mögliche Notbetriebsdauer sollte mindestens den abzusichernden Zeitraum abdecken (siehe 3.2.3 Abzusichernder Zeitraum durch ein BCMS (R+AS))&lt;br /&gt;
Die maximal mögliche Notbetriebsdauer ist darüber hinaus von Bedeutung, weil bei einem langfristigen Ressourcenausfall weitere Schäden entstehen könnten&lt;br /&gt;
* So könnten etwa verdrängte, im Betrachtungszeitraum der [[BIA]] nicht zeitkritische Arbeitsplätze langfristig auch zeitkritisch werden und ebenfalls Ausweicharbeitsplätze benötigen&lt;br /&gt;
* Auch können die Kosten der aktivierten Notfallmaßnahmen ab einem bestimmten Zeitpunkt die erwarteten Schäden der ausgefallenen Ressourcen und Geschäftsprozesse übertreffen&lt;br /&gt;
* Dies kann etwa der Fall sein, wenn zusätzliche Büroflächen über einen sehr langen Zeitraum angemietet werden müssen&lt;br /&gt;
&lt;br /&gt;
; Optionale Bewertungskriterien&lt;br /&gt;
Neben den mindestens zu betrachtenden Bewertungskriterien können weitere optionale Bewertungskriterien betrachtet werden, wie etwa die folgenden:&lt;br /&gt;
&lt;br /&gt;
; Organisatorische Aufwände&lt;br /&gt;
Es wird empfohlen, zu prüfen, welche organisatorischen Aufwände mit den identifizierten BC-Strategien einhergehen und ob diese im Verhältnis zu den erwarteten Schäden der ausgefallenen Ressourcen stehen&lt;br /&gt;
&lt;br /&gt;
; Entstehende Risiken&lt;br /&gt;
Es wird empfohlen, zu prüfen, ob die betrachteten BC-Strategien zu neuen Risiken führen können&lt;br /&gt;
* Werden etwa gleiche Tätigkeiten auf mehrere Standorte verteilt, so könnte dies in der Folge zu Effizienzverlusten oder einem mangelnden Wissensaustausch der beteiligten Mitarbeitenden führen, Aber es können auch neue Risiken entstehen, die unabhängig von einem zweiten Standort sind, beispielsweise Abweichungen zu Vorgaben an den Arbeitsschutz oder Verletzungen der Schutzziele der Informationssicherheit&lt;br /&gt;
* Solche Risiken werden empfehlenswerter Weise mittels einer übergreifenden Risikoanalyse gegeneinander abgewogen&lt;br /&gt;
Entstehender Zusatznutzen: Es wird empfohlen, zu prüfen, ob die betrachteten BC-Strategien auch im Normalbetrieb zu Verbesserungen führen oder positive Seiteneffekte auf Schnittstellen und andere Aspekte haben, beispielsweise&amp;amp;nbsp;Einkaufsvorteile&lt;br /&gt;
* So kann der oder die [[BCB]] auch prüfen, ob Synergien zwischen den BC-Strategien oder zu anderen Tätigkeiten in der Institution bestehen oder geschaffen werden können&lt;br /&gt;
&lt;br /&gt;
; Einschätzung Verhältnis Kosten-Nutzen-Risiko&lt;br /&gt;
Die Entscheidung für oder gegen eine BC-Strategie ergibt sich aus der Abwägung der entstehenden Kosten im Verhältnis dazu, wie sehr die Eintrittshäufigkeit oder das Schadenspotenzial des Risikos einer Geschäftsunterbrechung reduziert werden können&lt;br /&gt;
* Eine BC-Strategie kann dann als sinnvoll betrachtet werden, wenn die Kosten für ihre Umsetzung und ihren Betrieb gerechtfertigt sind, um das Risiko zu minimieren&lt;br /&gt;
&lt;br /&gt;
; Zusätzlichen Nutzen&lt;br /&gt;
Ferner ist es empfehlenswert, einen möglichen zusätzlichen Nutzen in der Kosten-Nutzen-Risiko Abwägung zu berücksichtigen&lt;br /&gt;
&lt;br /&gt;
Um die notwendigen Informationen zu erheben, kann der oder die [[BCB]] beispielsweise auf die Ressourcen- und Prozesszuständigen zugehen, in deren Zuständigkeitsbereich die BC-Strategien umgesetzt werden&lt;br /&gt;
* Auch kann er oder sie mit Anbietern entsprechender Lösungen in Kontakt treten&lt;br /&gt;
Die Bewertung der BC-Strategien kann in der Dokumentvorlage Bewertungstabelle BC-Strategien aus den Hilfsmitteln dokumentiert werden&lt;br /&gt;
&lt;br /&gt;
; Beispiel für die Bewertung der BC-Strategie „Mobiles Arbeiten“&lt;br /&gt;
[[File:bcmTab33-1.png|600px]]&lt;br /&gt;
[[File:bcmTab33-2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Übersicht sinnvoller BC-Strategien ===&lt;br /&gt;
Als Ergebnis erhält der oder die [[BCB]] eine Übersicht prinzipiell sinnvoller BC-Strategien und kann ersehen, inwieweit diese sowohl wirksam als auch angemessen sind&lt;br /&gt;
* Es ist empfehlenswert, dass die Rolle [[BCB]] die aus ihrer Sicht passendsten BC-Strategien vorauswählt&lt;br /&gt;
* Dies erleichtert es der Institutionsleitung, die bestmöglich geeignete BC-Strategie festzulegen&lt;br /&gt;
* Dazu ist es hilfreich, dass der oder die [[BCB]] prüft, welche der BC-Strategien die Anforderungen an die BC-Planung sowie die Rahmenbedingungen der Institution bestmöglich vereinen&lt;br /&gt;
&lt;br /&gt;
Nachdem der oder die [[BCB]] die BC-Strategien geprüft hat, kann er oder sie je Ressourcenkategorie eine oder mehrere BC-Strategien vorauswählen&lt;br /&gt;
* Insbesondere wenn die BC-Strategien nicht von allen Organisationseinheiten gleichermaßen genutzt werden können, kann es sinnvoll sein, mehrere prinzipiell mögliche BC-Strategien vorzuschlagen&lt;br /&gt;
Als Ergebnis dieser Phase verfügt der oder die [[BCB]] für jede Ressourcenkategorie über mindestens eine mögliche BC-Strategie, die der Institutionsleitung im folgenden Schritt vorgestellt werden muss&lt;br /&gt;
&lt;br /&gt;
== Auswahl ==&lt;br /&gt;
; Auswahl der BC-Strategien durch die Institutionsleitung (AS)&lt;br /&gt;
{| class=&amp;quot;wikitable options col1center big&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! !!&lt;br /&gt;
|-&lt;br /&gt;
| || ||&lt;br /&gt;
|-&lt;br /&gt;
| || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
; Auswahl und Entscheidung&lt;br /&gt;
Nachdem der oder die [[BCB]] mögliche BC-Strategien vorausgewählt hat, muss die Institutionsleitung in ihrer Rolle als Gesamtverantwortliche für das [[BCM]] sowie aufgrund der Reichweite der BC-Strategien über die letztlich umzusetzenden BC-Strategien entscheiden&lt;br /&gt;
* Die Institutionsleitung muss hierzu die Wirksamkeit beziehungsweise den Nutzen der BC-Strategien sowie die erwarteten Kosten und die eigene Risikobereitschaft gegeneinander abwägen&lt;br /&gt;
&lt;br /&gt;
; Entscheidungspräsentation&lt;br /&gt;
Es ist empfehlenswert, die BC-Strategien im Rahmen einer Entscheidungspräsentation vorzustellen und abzustimmen&lt;br /&gt;
* Die Entscheidungspräsentation ermöglicht es dem oder der [[BCB]] , die BC-Strategien, die relevanten Inhalte sowie Vor- und Nachteile strukturiert und visuell gegenüberzustellen sowie seine jeweiligen Favoriten zu empfehlen&lt;br /&gt;
&lt;br /&gt;
; Inhalte der Entscheidungspräsentation&lt;br /&gt;
Allgemeinen Ziele von BC-Strategien&lt;br /&gt;
* Da die Institutionsleitung erfahrungsgemäß nur an bestimmten Stellen zum Thema BC-Strategien mit einbezogen wird, ist es empfehlenswert, dass der oder die [[BCB]] zu Beginn der Entscheidungspräsentation auf die Ziele der BC-Strategien eingeht&lt;br /&gt;
* Er oder sie kann hierzu erläutern, was unter BC-Strategien zu verstehen ist, welche Aufgabe die Institutionsleitung hierbei hat und welche Schritte auf die Entscheidung der Institutionsleitung folgen&lt;br /&gt;
&lt;br /&gt;
Betrachtungsgrundlage der BC-Strategien&lt;br /&gt;
* Um der Institutionsleitung zu verdeutlichen, was in der BC-Planung durch die BC-Strategien abgesichert werden muss, kann der oder die [[BCB]] die betrachteten Ressourcenkategorien und Teilkategorien vorstellen&lt;br /&gt;
* Er oder sie kann hierbei auch auf identifizierte Single-Points-of-Failure und Verbesserungsbedarfe vorangegangener BCMS-Tätigkeiten eingehen, die durch die BC-Strategien berücksichtigt werden sollten&lt;br /&gt;
&lt;br /&gt;
Vor- und Nachteile empfohlene BC-Strategien&lt;br /&gt;
* Je vorgestellter Ressourcenkategorie kann der oder die [[BCB]] die empfohlenen BC-Strategien vorstellen sowie die jeweiligen Vor- und Nachteile erläutern&lt;br /&gt;
* Hierbei kann er oder sie auch auf mögliche Synergien, Abhängigkeiten und Konflikte eingehen, die mit den jeweiligen BC-Strategien einhergehen&lt;br /&gt;
&lt;br /&gt;
; Umzusetzende BC-Strategien auswählen&lt;br /&gt;
Auf Basis der empfohlenen BC-Strategien ist die Institutionsleitung in der Lage, sich eine fachliche Übersicht über die möglichen BC-Strategien zu verschaffen und zu entscheiden, wie sie die BC-Planung ausrichten möchte&lt;br /&gt;
* Auch kann die Institutionsleitung über die BC-Strategien steuern, wie weit die Ressourcenkategorien mit entsprechenden Aufwänden abgesichert werden sollen, wie Vorteile genutzt werden können und welches Restrisiko sie zu übernehmen bereit ist&lt;br /&gt;
&lt;br /&gt;
; Dienstleistungsunternehmen und Lieferketten&lt;br /&gt;
Sofern zeitkritische Prozesse durch Dienstleistungsunternehmen oder in Lieferketten erbracht werden, müssen BC-Strategien ausgewählt werden, die eine angemessene Leistungserbringung im Notfall sicherstellen&lt;br /&gt;
* Hierzu ist es empfehlenswert, die weitreichenden Erläuterungen in dem Hilfsmittel Vorschläge zu BC-Strategien zu berücksichtigen&lt;br /&gt;
&lt;br /&gt;
Dort wird näher erläutert, welche Auswirkungen je nach gewählter BC-Strategie auf unterschiedliche Phasen des PDCA-Zyklus im BCMS bestehen&lt;br /&gt;
&lt;br /&gt;
; Ressourcenkategorie und BC-Strategien&lt;br /&gt;
Die Institutionsleitung kann sich entscheiden, je Ressourcenkategorie eine oder mehrere BC-Strategien auszuwählen, verschiedene BC-Strategien zu kombinieren oder eine eigene BC-Strategie auszuwählen&lt;br /&gt;
&lt;br /&gt;
; Entscheidung&lt;br /&gt;
Nachdem die BC-Strategien durch die Institutionsleitung ausgewählt und freigegeben wurden, sollte diese Entscheidung dokumentiert werden&lt;br /&gt;
* Die dokumentierte Entscheidung ist der Auftrag an den oder die [[BCB]] , einen Umsetzungsplan zu erstellen&lt;br /&gt;
* Sollte aus Sicht der Institutionsleitung keine der vorgeschlagenen BC-Strategien ausreichend wirksam oder angemessen erscheinen, kann sie den oder die [[BCB]] auch damit beauftragen, neue BC-Strategien zu entwickeln&lt;br /&gt;
* Sind auch die neu entwickelten BC-Strategien aus ihrer Sicht unwirksam oder unangemessen, kann sich die Institutionsleitung auch dazu entscheiden, keine BC-Strategie umzusetzen&lt;br /&gt;
* Dies kann etwa der Fall sein, wenn das Risiko oder der mögliche Schaden ausgefallener Ressourcen oder Geschäftsprozesse die Aufwände der BC-Strategien aus Sicht der Institutionsleitung nicht rechtfertigen würden&lt;br /&gt;
&lt;br /&gt;
; Restrisiko&lt;br /&gt;
In diesem Fall muss die Institutionsleitung das Restrisiko übernehmen, solange es keine regulatorischen oder gesetzlichen Verpflichtungen gibt, die dies verbieten&lt;br /&gt;
* Das jeweilige Risiko muss im Rahmen der Risikobeurteilung dokumentiert, regelmäßig neu bewertet und daraufhin geprüft werden, ob das Risiko durch neue BC-Strategien gesenkt werden kann&lt;br /&gt;
&lt;br /&gt;
== Umsetzung ==&lt;br /&gt;
; Umsetzung der BC-Strategien und Lösungen (AS)&lt;br /&gt;
{| class=&amp;quot;wikitable options col1center big&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! !!&lt;br /&gt;
|-&lt;br /&gt;
| || ||&lt;br /&gt;
|-&lt;br /&gt;
| || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Zuständigkeiten und Fachwissen ===&lt;br /&gt;
Nachdem die Institutionsleitung die BC-Strategien freigegeben hat, muss festgelegt werden, wer für die Umsetzung zuständig ist und wer das hierzu notwendige Fachwissen beisteuern kann&lt;br /&gt;
* Gemeinsam mit dem oder der [[BCB]] können diese Personen abstimmen, wie die BC-Strategien umgesetzt werden&lt;br /&gt;
* Hierzu ist es empfehlenswert, zunächst zu prüfen, aus welchen Vorsorgemaßnahmen, BC-Lösungen und Notfallmaßnahmen sich die ausgewählten BC-Strategien zusammensetzen&lt;br /&gt;
* Vorsorgemaßnahmen und BC-Lösungen können im Rahmen von Projekten oder innerhalb der [[AAO]] umgesetzt werden, da diese in der Regel umfassender sind und oft verschiedene Organisationseinheiten, Stellen und Kontaktpersonen betreffen&lt;br /&gt;
* Falls im Falle von Outsourcing die BC-Strategie Ausreichende BC-Fähigkeit des Dienstleistungsunternehmens gewählt wird, muss die Institution zusätzlich die erwarteten BC-Fähigkeiten der relevanten, zeitkritischen Dienstleistungsunternehmen anhand von BC-Anforderungen definieren und bewerten (siehe Hilfsmittel BC-Strategievorschläge)&lt;br /&gt;
&lt;br /&gt;
=== Umsetzungsplan ===&lt;br /&gt;
Nachdem der oder die [[BCB]] die jeweiligen Ressourcenzuständigen ermittelt hat, muss ein Umsetzungsplan erstellt werden&lt;br /&gt;
* Erfahrungsgemäß wird dieser von den [[Ressourcenzuständigen]] erstellt&lt;br /&gt;
* Der Umsetzungsplan muss die konkret benötigten Ressourcen und Tätigkeiten dokumentieren, die benötigt werden, um die ausgewählten [[BC-Strategie]]n umzusetzen&lt;br /&gt;
&lt;br /&gt;
; Inhalte&lt;br /&gt;
* Konkrete Handlungsschritte, die notwendig sind, um die jeweilige BC-Lösung umsetzen zu können&lt;br /&gt;
* Finanzielle, personelle und zeitliche Ressourcen, die benötigt werden, um die Handlungsschritte umsetzen zu können inklusive der benötigten Dienstleistungsunternehmen&lt;br /&gt;
* Personen, die die Handlungsschritte des Umsetzungsplans umsetzen sollen&lt;br /&gt;
* Zeiträume, in denen die Handlungsschritte umgesetzt werden sollen Während der Umsetzungsplan erstellt wird, können sich mitunter zusätzlich notwendige Ressourcen im Sinne von Mitteln oder Maßnahmen ergeben, die bisher noch nicht bedacht wurden&lt;br /&gt;
&lt;br /&gt;
; Prüfung&lt;br /&gt;
Die erstellten Umsetzungspläne müssen folglich dahingehend überprüft werden, ob das erwartete Gesamtergebnis im Hinblick auf die ausgewählten BC-Strategien weiterhin wirksam und angemessen ist&lt;br /&gt;
&lt;br /&gt;
; Freigabe&lt;br /&gt;
Nachdem die Umsetzungspläne und benötigten Ressourcen im Sinne von Mitteln von der Institutionsleitung freigegeben wurden, müssen die beschlossenen Maßnahmen durch die Zuständigen umgesetzt werden&lt;br /&gt;
* Sie sollten im festgelegten Zeitraum umgesetzt werden&lt;br /&gt;
&lt;br /&gt;
Der oder die BCB sollte die Umsetzung dieser Maßnahmen steuern und kontrollieren&lt;br /&gt;
* Hierzu ist der Maßnahmenplan ein sehr geeignetes Mittel&lt;br /&gt;
* Die Notfallmaßnahmen werden im Rahmen der Geschäftsfortführungsplanung sowie Wiederanlaufplanung behandelt&lt;br /&gt;
&lt;br /&gt;
=== Geschäftsfortführungspläne ===&lt;br /&gt;
Innerhalb von Geschäftsfortführungsplänen ([[GFP]]) wird dokumentiert, wie eine Institution auf der Prozessebene auf eine Geschäftsunterbrechung nach einem Ressourcenausfall reagiert&lt;br /&gt;
* Hierzu werden konkrete Notfallmaßnahmen und Verfahren aus den BC-Strategien und -Lösungen abgeleitet, wie zeitkritische Geschäftsprozesse bis zur Wiederherstellung der ausgefallenen Ressourcen im erforderlichen Umfang aufrechterhalten werden können&lt;br /&gt;
&lt;br /&gt;
; Wiederanlaufpläne&lt;br /&gt;
Innerhalb von Wiederanlaufplänen (WAP) wird dokumentiert, wie die Institution ausgefallene Ressourcen auf einem abgestimmten Notbetriebsniveau wieder in Betrieb nimmt, beispielsweise durch umgesetzte BC-Lösungen oder Ersatzlösungen&lt;br /&gt;
&lt;br /&gt;
; Wiederherstellungspläne&lt;br /&gt;
Innerhalb von Wiederherstellungsplänen ([[WHP]]) wird dokumentiert, wie bei Ressourcenausfall der Normalzustand auf Ressourcenebene wieder erreicht werden kann&lt;br /&gt;
&lt;br /&gt;
; Notfallhandbuch&lt;br /&gt;
Die beschriebenen Dokumente bilden zusammen mit den Informationen aus dem Aufbau und der Befähigung der [[BAO]] die Inhalte des Notfallhandbuchs&lt;br /&gt;
* Das Notfallhandbuch ist die zentrale Dokumentensammlung zur erfolgreichen Notfallbewältigung&lt;br /&gt;
&lt;br /&gt;
; Aufbau und Einsatz des Notfallhandbuchs&lt;br /&gt;
[[File:img-222-430.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{{Navigation|BSI/200-4/09 Risikoanalyse|BSI/200-4/11 Geschäftsfortführung}}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;br /&gt;
=== Siehe auch ===&lt;br /&gt;
{{Special:PrefixIndex/BSI/200-4/}}&lt;br /&gt;
==== Sicherheit ====&lt;br /&gt;
=== Dokumentation ===&lt;br /&gt;
=== Links ===&lt;br /&gt;
==== Projekt ====&lt;br /&gt;
==== Weblinks ====&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:BSI/200-4]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=BSI/200-4/10_Business-Continuity-Strategie&amp;diff=167946</id>
		<title>BSI/200-4/10 Business-Continuity-Strategie</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=BSI/200-4/10_Business-Continuity-Strategie&amp;diff=167946"/>
		<updated>2026-06-17T08:46:39Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: /* Identifikation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{{Navigation|BSI/200-4/09 Risikoanalyse|BSI/200-4/11 Geschäftsfortführung}}&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;BSI/200-4/10 Business-Continuity-Strategie&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
; Entwicklung von BC-Strategien und -Lösungen&lt;br /&gt;
; Vorgehen&lt;br /&gt;
{|class=&amp;quot;wikitable options big col1center col2bold&amp;quot;&lt;br /&gt;
! !! Schritt !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| 1 || [[#Identifikation|Identifikation]] ||Identifikation möglicher BC-Strategien&lt;br /&gt;
|-&lt;br /&gt;
| 2 || [[#Bewertung|Bewertung]] || Bewertung von BC-Strategien&lt;br /&gt;
|-&lt;br /&gt;
| 3 || [[#Auswahl|Auswahl]] || Auswahl der BC-Strategien durch die Institutionsleitung&lt;br /&gt;
|-&lt;br /&gt;
| 4 || [[#Umsetzung|Umsetzung]] ||Umsetzung der BC-Strategien&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:img-209-398.png|800px]]&lt;br /&gt;
&lt;br /&gt;
== Identifikation ==&lt;br /&gt;
; Auswahl der BC-Strategien durch die Institutionsleitung (AS)&lt;br /&gt;
{| class=&amp;quot;wikitable options col1center big&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! !!&lt;br /&gt;
|-&lt;br /&gt;
| Betrachtungsgrundlage|| Ressourcenkategorien, SPoF, identifizierte Korrektur- und Verbesserungsmaßnahmen vorangegangener BCM-Tätigkeiten||Ressourcenkategorien (Beispiele)&lt;br /&gt;
|-&lt;br /&gt;
| BC-Strategie-Optionen je Ressourcenkategorie|| ||&lt;br /&gt;
* Informationstechnik&lt;br /&gt;
* Personal&lt;br /&gt;
* Infrastruktur&lt;br /&gt;
* Dienstleistungen&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== BC-Strategien ===&lt;br /&gt;
Die Institution muss geeignete BC-Strategien definieren, die den Handlungsbedarf aus der BCM-Risikoanalyse abdecken&lt;br /&gt;
* Üblicherweise übernimmt diese Tätigkeit der oder die [[BCB]]&lt;br /&gt;
&lt;br /&gt;
=== Ressourcenkategorien ===&lt;br /&gt;
Hierzu kann sich der oder die [[BCB]] zunächst an den in der [[BIA]] festgelegten Ressourcenkategorien orientieren&lt;br /&gt;
* Für jede Ressourcenkategorie ist es empfehlenswert, zu prüfen, welche grundsätzlichen BC-Strategien möglich wären, um die jeweilige Ressourcenkategorie abzusichern&lt;br /&gt;
* Eine BC-Strategie kann sowohl dazu geeignet sein, die Eintrittshäufigkeit eines Ressourcen- oder Geschäftsprozessausfalls durch Vorsorgemaßnahmen zu senken, als auch einen Notbetrieb durch BC-Lösungen sowie Notfallmaßnahmen zu ermöglichen&lt;br /&gt;
* Sie sollte geeignet sein, den Geschäftsbetrieb mindestens über den abzusichernden Zeitraum mit einem angemessenen Notbetrieb abzudecken&lt;br /&gt;
&lt;br /&gt;
=== Wiederherstellungsplanung ===&lt;br /&gt;
Liegt bereits eine Wiederherstellungsplanung vor, beispielsweise&amp;amp;nbsp;aus einem [[ITSCM]] oder einem früheren BCM-Zyklus, dann können aus dieser Planung Rückschlüsse gezogen werden, wie lange eine vollständige Wiederherstellung der Ressource voraussichtlich zeitlich in Anspruch nehmen wird&lt;br /&gt;
* Diese Information kann im [[BCM]] genutzt werden, um in der Auswahl von BC-Strategien und -Lösungen die maximal mögliche Notbetriebsdauer mit der voraussichtlich notwendigen Notbetriebsdauer vergleichen zu können&lt;br /&gt;
* Die Wiederherstellungsplanung unterstützt somit bei der Identifikation bedarfsgerechter und wirtschaftlicher BC-Strategien und -Lösungen&lt;br /&gt;
&lt;br /&gt;
=== Ressourcenkategorien ===&lt;br /&gt;
Zusätzlich kann es zweckmäßig sein, einzelne Ressourcenkategorien weiter zu unterteilen&lt;br /&gt;
* Dies ist etwa dann sinnvoll, wenn für unterteilte Ressourcenkategorien durch unterschiedliche BC-Strategien ein besseres Gesamtergebnis der BC-Strategien möglich wird&lt;br /&gt;
Die Ressourcenkategorie Gebäude und Infrastruktur kann etwa einen gesamten Standort, ein einzelnes Gebäude oder gar einzelne Gebäudeteile umfassen&lt;br /&gt;
* Bei einem gesamten Standortausfall könnte die BC-Strategie lauten, sämtliche Tätigkeiten oder eine vorhandene Produktion an einen Ausweichstandort zu verlagern&lt;br /&gt;
* Fallen hingegen nur einzelne Gebäudeteile aus, dann kann eine BC-Strategie dazu lauten, die Arbeitsplätze oder die Produktion innerhalb des Gebäudes oder Standortes zu verlagern&lt;br /&gt;
&lt;br /&gt;
=== Korrektur und Verbesserung ===&lt;br /&gt;
; Korrekturbedarfen und Verbesserungsmöglichkeiten&lt;br /&gt;
Die BC-Strategien sollten die noch nicht adressierten Korrekturbedarfe und Verbesserungsmöglichkeiten aus vorangegangenen BCMS-Zyklen angemessen berücksichtigen&lt;br /&gt;
&lt;br /&gt;
Zu den identifizierten Korrekturbedarfen und Verbesserungsmöglichkeiten vorangegangener BCMS-Zyklen zählen etwa Lücken, die mit den bestehenden personellen, finanziellen oder zeitlichen Ressourcen bislang nicht behandelt werden konnten oder bewusst nicht behandelt wurden&lt;br /&gt;
* Dies gilt insbesondere für initiale Entwicklungsstufen&lt;br /&gt;
&lt;br /&gt;
=== Cyberangriffe ===&lt;br /&gt;
Obwohl Cyberangriffe nicht in der BC-Planung des [[BCM]] oder [[ITSCM]] vollumfänglich abgedeckt werden können, kann es sinnvoll sein, diese themenübergreifenden Aspekte in der Identifikation von BC-Strategien mit zu berücksichtigen und dazu das ISMS mit einzubinden&lt;br /&gt;
* Sofern ein ISMS besteht, können hierbei die Anforderungen an die jeweiligen BC-Strategien sowie mögliche Vorsorgemaßnahmen, die mitunter im ISMS bereits bestehen, gemeinsam abgestimmt und in eine BC-Strategie überführt werden&lt;br /&gt;
* Jedoch können [[RTO]] und [[RPO]] bei einem Cyberangriff meist nicht eingehalten werden&lt;br /&gt;
&lt;br /&gt;
== Bewertung ==&lt;br /&gt;
; Bewertung von BC-Strategien (AS)&lt;br /&gt;
{| class=&amp;quot;wikitable options col1center big&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! !!&lt;br /&gt;
|-&lt;br /&gt;
| || ||&lt;br /&gt;
|-&lt;br /&gt;
| || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Nachdem der oder die [[BCB]] die grundsätzlich möglichen BC-Strategien identifiziert hat, muss er oder sie bewerten, ob diese für die Institution wirksam und angemessen sind&lt;br /&gt;
&lt;br /&gt;
Eine BC-Strategie ist dann wirksam, wenn durch die umgesetzte BC-Strategie die Eintrittshäufigkeit eines Ausfalls auf ein akzeptables Maß gesenkt werden kann oder die zeitkritischen Geschäftsprozesse innerhalb der [[RTO]] auf dem Notbetriebsniveau fortgeführt werden können&lt;br /&gt;
* Angemessen ist eine BC-Strategie dann, wenn sie den allgemeinen Zielen der Institution entspricht, die geltenden rechtlichen und regulatorischen Anforderungen einhält und wenn der Nutzen die Kosten überwiegt&lt;br /&gt;
* Um die BC-Strategien bewerten zu können, ist es empfehlenswert, dass der oder die [[BCB]] verschiedene Bewertungskriterien festlegt&lt;br /&gt;
* Anhand der Bewertungskriterien können die BC-Strategien qualitativ und quantitativ bewertet und gegeneinander abgewogen werden&lt;br /&gt;
* Falls sich frühzeitig herausstellt, dass eine BC-Strategie nicht wirksam oder angemessen ist, ist es nicht notwendig, diese weiter zu bewerten&lt;br /&gt;
&lt;br /&gt;
; Bewertungskriterien&lt;br /&gt;
Bewertungskriterien, die bei der Bewertung mindestens berücksichtigt werden müssen&lt;br /&gt;
&lt;br /&gt;
; Einhalten der [[RTO]]&lt;br /&gt;
Für die betrachteten BC-Strategien muss geprüft werden, ob nach deren Umsetzung der Notbetrieb der entsprechenden Ressourcen innerhalb der [[RTO]] hergestellt werden kann&lt;br /&gt;
&lt;br /&gt;
; Erreichbares Notbetriebsniveau&lt;br /&gt;
Es muss geprüft werden, ob die betrachteten BC-Strategien in der Lage sind, das Notbetriebsniveau sicherzustellen&lt;br /&gt;
* Wird durch eine Maßnahme zwar die [[RTO]] erreicht, jedoch nicht das Notbetriebsniveau, dann ist die betrachtete BC-Strategie je nach Risikobereitschaft der Institution nicht hinreichend geeignet oder muss um weitere Maßnahmen ergänzt werden&lt;br /&gt;
&lt;br /&gt;
; Restrisiken&lt;br /&gt;
Es muss geprüft werden, welches Restrisiko eines Ressourcenausfalls trotz umgesetzter BC-Strategie bestehen bleibt&lt;br /&gt;
* Wird etwa ein Ausweichstandort geplant, der gleichen regionalen Bedrohungen ausgesetzt ist wie der primäre Standort, dann verbleibt ein mögliches Restrisiko, dass beide Standorte durch dasselbe Ereignis betroffen sind&lt;br /&gt;
* Dies kann beispielsweise&amp;amp;nbsp;der Fall sein durch eine Bombenentschärfung bei Standorten in derselben Region oder durch Hochwasser eines Flusses bei Standorten im gleichen Hochwassergebiet oder durch ein Erdbeben im selben Erdbebengebiet etc&lt;br /&gt;
* Hierzu zählt unter anderem auch das Restrisiko bei der BC-Strategie „Redundante Zuliefernde“, falls beispielsweise&amp;amp;nbsp;in beiden Lieferketten der gleiche Zuliefernde auftaucht oder die Lieferketten durch gleiche Bedrohungen gefährdet sind&lt;br /&gt;
* Ziel der BC-Strategien ist es, die Bedrohungen nach Möglichkeit auszuschließen und daher im Vorhinein die Tätigkeiten auf unterschiedliche Standorte und Services zu verteilen, die ausreichend voneinander getrennt sind&lt;br /&gt;
* So würde der Ausfall eines Standortes mitunter gar nicht erst zum Ausfall des Geschäftsprozesses führen&lt;br /&gt;
* Dies wäre dann der Fall, wenn die Leistung der verbliebenen Standorte ausreicht, den Geschäftsprozess auf dem Notbetriebsniveau fortsetzen zu können&lt;br /&gt;
&lt;br /&gt;
; Finanzielle Aufwände&lt;br /&gt;
Es muss geprüft werden, welche finanziellen Aufwände mit den identifizierten BC-Strategien einhergehen und ob diese in einem angemessenen Verhältnis zu den erwarteten Schäden der ausgefallenen Geschäftsprozesse stehen&lt;br /&gt;
* Entsprechende Aussagen kann beispielsweise das (Risiko-)Controlling treffen&lt;br /&gt;
* Finanzielle Aufwände beinhalten die Anschaffungskosten, die notwendigen Kosten während und nach einem Notfall sowie die erforderlichen Kosten, um die BC-Strategien aufrechtzuerhalten, beispielsweise&amp;amp;nbsp;die laufenden Kosten eines Ausweichstandortes oder zusätzliche Kontroll-und Steuerungsaufwände&lt;br /&gt;
Einhaltung interner und externer Anforderungen: Es sollte geprüft werden, ob die betrachteten BC-Strategien den Rahmenbedingungen der Institution entsprechen&lt;br /&gt;
* So sollten die BC-Strategien etwa dahingehend geprüft werden, ob sie mögliche rechtliche und regulatorische Anforderungen einhalten, die Interessen interner und externer Interessengruppen einbeziehen sowie die allgemeine Risikobereitschaft der Institutionsleitung berücksichtigen&lt;br /&gt;
* Mögliche interne und externe Anforderungen wurden bereits mit den erweiterten Rahmenbedingungen zum BCMS erfasst (siehe 4.2 Analyse der erweiterten Rahmenbedingungen)&lt;br /&gt;
&lt;br /&gt;
; Maximal mögliche Notbetriebsdauer&lt;br /&gt;
Es sollte geprüft werden, wie lange die eingesetzten BC-Strategien einen Notbetrieb ermöglichen können, bis alternative Lösungen gefunden sind oder der Normalbetrieb wiederhergestellt ist&lt;br /&gt;
* Die maximal mögliche Notbetriebsdauer sollte mindestens den abzusichernden Zeitraum abdecken (siehe 3.2.3 Abzusichernder Zeitraum durch ein BCMS (R+AS))&lt;br /&gt;
Die maximal mögliche Notbetriebsdauer ist darüber hinaus von Bedeutung, weil bei einem langfristigen Ressourcenausfall weitere Schäden entstehen könnten&lt;br /&gt;
* So könnten etwa verdrängte, im Betrachtungszeitraum der [[BIA]] nicht zeitkritische Arbeitsplätze langfristig auch zeitkritisch werden und ebenfalls Ausweicharbeitsplätze benötigen&lt;br /&gt;
* Auch können die Kosten der aktivierten Notfallmaßnahmen ab einem bestimmten Zeitpunkt die erwarteten Schäden der ausgefallenen Ressourcen und Geschäftsprozesse übertreffen&lt;br /&gt;
* Dies kann etwa der Fall sein, wenn zusätzliche Büroflächen über einen sehr langen Zeitraum angemietet werden müssen&lt;br /&gt;
&lt;br /&gt;
; Optionale Bewertungskriterien&lt;br /&gt;
Neben den mindestens zu betrachtenden Bewertungskriterien können weitere optionale Bewertungskriterien betrachtet werden, wie etwa die folgenden:&lt;br /&gt;
&lt;br /&gt;
; Organisatorische Aufwände&lt;br /&gt;
Es wird empfohlen, zu prüfen, welche organisatorischen Aufwände mit den identifizierten BC-Strategien einhergehen und ob diese im Verhältnis zu den erwarteten Schäden der ausgefallenen Ressourcen stehen&lt;br /&gt;
&lt;br /&gt;
; Entstehende Risiken&lt;br /&gt;
Es wird empfohlen, zu prüfen, ob die betrachteten BC-Strategien zu neuen Risiken führen können&lt;br /&gt;
* Werden etwa gleiche Tätigkeiten auf mehrere Standorte verteilt, so könnte dies in der Folge zu Effizienzverlusten oder einem mangelnden Wissensaustausch der beteiligten Mitarbeitenden führen, Aber es können auch neue Risiken entstehen, die unabhängig von einem zweiten Standort sind, beispielsweise Abweichungen zu Vorgaben an den Arbeitsschutz oder Verletzungen der Schutzziele der Informationssicherheit&lt;br /&gt;
* Solche Risiken werden empfehlenswerter Weise mittels einer übergreifenden Risikoanalyse gegeneinander abgewogen&lt;br /&gt;
Entstehender Zusatznutzen: Es wird empfohlen, zu prüfen, ob die betrachteten BC-Strategien auch im Normalbetrieb zu Verbesserungen führen oder positive Seiteneffekte auf Schnittstellen und andere Aspekte haben, beispielsweise&amp;amp;nbsp;Einkaufsvorteile&lt;br /&gt;
* So kann der oder die [[BCB]] auch prüfen, ob Synergien zwischen den BC-Strategien oder zu anderen Tätigkeiten in der Institution bestehen oder geschaffen werden können&lt;br /&gt;
&lt;br /&gt;
; Einschätzung Verhältnis Kosten-Nutzen-Risiko&lt;br /&gt;
Die Entscheidung für oder gegen eine BC-Strategie ergibt sich aus der Abwägung der entstehenden Kosten im Verhältnis dazu, wie sehr die Eintrittshäufigkeit oder das Schadenspotenzial des Risikos einer Geschäftsunterbrechung reduziert werden können&lt;br /&gt;
* Eine BC-Strategie kann dann als sinnvoll betrachtet werden, wenn die Kosten für ihre Umsetzung und ihren Betrieb gerechtfertigt sind, um das Risiko zu minimieren&lt;br /&gt;
&lt;br /&gt;
; Zusätzlichen Nutzen&lt;br /&gt;
Ferner ist es empfehlenswert, einen möglichen zusätzlichen Nutzen in der Kosten-Nutzen-Risiko Abwägung zu berücksichtigen&lt;br /&gt;
&lt;br /&gt;
Um die notwendigen Informationen zu erheben, kann der oder die [[BCB]] beispielsweise auf die Ressourcen- und Prozesszuständigen zugehen, in deren Zuständigkeitsbereich die BC-Strategien umgesetzt werden&lt;br /&gt;
* Auch kann er oder sie mit Anbietern entsprechender Lösungen in Kontakt treten&lt;br /&gt;
Die Bewertung der BC-Strategien kann in der Dokumentvorlage Bewertungstabelle BC-Strategien aus den Hilfsmitteln dokumentiert werden&lt;br /&gt;
&lt;br /&gt;
; Beispiel für die Bewertung der BC-Strategie „Mobiles Arbeiten“&lt;br /&gt;
[[File:bcmTab33-1.png|600px]]&lt;br /&gt;
[[File:bcmTab33-2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Übersicht sinnvoller BC-Strategien ===&lt;br /&gt;
Als Ergebnis erhält der oder die [[BCB]] eine Übersicht prinzipiell sinnvoller BC-Strategien und kann ersehen, inwieweit diese sowohl wirksam als auch angemessen sind&lt;br /&gt;
* Es ist empfehlenswert, dass die Rolle [[BCB]] die aus ihrer Sicht passendsten BC-Strategien vorauswählt&lt;br /&gt;
* Dies erleichtert es der Institutionsleitung, die bestmöglich geeignete BC-Strategie festzulegen&lt;br /&gt;
* Dazu ist es hilfreich, dass der oder die [[BCB]] prüft, welche der BC-Strategien die Anforderungen an die BC-Planung sowie die Rahmenbedingungen der Institution bestmöglich vereinen&lt;br /&gt;
&lt;br /&gt;
Nachdem der oder die [[BCB]] die BC-Strategien geprüft hat, kann er oder sie je Ressourcenkategorie eine oder mehrere BC-Strategien vorauswählen&lt;br /&gt;
* Insbesondere wenn die BC-Strategien nicht von allen Organisationseinheiten gleichermaßen genutzt werden können, kann es sinnvoll sein, mehrere prinzipiell mögliche BC-Strategien vorzuschlagen&lt;br /&gt;
Als Ergebnis dieser Phase verfügt der oder die [[BCB]] für jede Ressourcenkategorie über mindestens eine mögliche BC-Strategie, die der Institutionsleitung im folgenden Schritt vorgestellt werden muss&lt;br /&gt;
&lt;br /&gt;
== Auswahl ==&lt;br /&gt;
; Auswahl der BC-Strategien durch die Institutionsleitung (AS)&lt;br /&gt;
{| class=&amp;quot;wikitable options col1center big&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! !!&lt;br /&gt;
|-&lt;br /&gt;
| || ||&lt;br /&gt;
|-&lt;br /&gt;
| || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
; Auswahl und Entscheidung&lt;br /&gt;
Nachdem der oder die [[BCB]] mögliche BC-Strategien vorausgewählt hat, muss die Institutionsleitung in ihrer Rolle als Gesamtverantwortliche für das [[BCM]] sowie aufgrund der Reichweite der BC-Strategien über die letztlich umzusetzenden BC-Strategien entscheiden&lt;br /&gt;
* Die Institutionsleitung muss hierzu die Wirksamkeit beziehungsweise den Nutzen der BC-Strategien sowie die erwarteten Kosten und die eigene Risikobereitschaft gegeneinander abwägen&lt;br /&gt;
&lt;br /&gt;
; Entscheidungspräsentation&lt;br /&gt;
Es ist empfehlenswert, die BC-Strategien im Rahmen einer Entscheidungspräsentation vorzustellen und abzustimmen&lt;br /&gt;
* Die Entscheidungspräsentation ermöglicht es dem oder der [[BCB]] , die BC-Strategien, die relevanten Inhalte sowie Vor- und Nachteile strukturiert und visuell gegenüberzustellen sowie seine jeweiligen Favoriten zu empfehlen&lt;br /&gt;
&lt;br /&gt;
; Inhalte der Entscheidungspräsentation&lt;br /&gt;
Allgemeinen Ziele von BC-Strategien&lt;br /&gt;
* Da die Institutionsleitung erfahrungsgemäß nur an bestimmten Stellen zum Thema BC-Strategien mit einbezogen wird, ist es empfehlenswert, dass der oder die [[BCB]] zu Beginn der Entscheidungspräsentation auf die Ziele der BC-Strategien eingeht&lt;br /&gt;
* Er oder sie kann hierzu erläutern, was unter BC-Strategien zu verstehen ist, welche Aufgabe die Institutionsleitung hierbei hat und welche Schritte auf die Entscheidung der Institutionsleitung folgen&lt;br /&gt;
&lt;br /&gt;
Betrachtungsgrundlage der BC-Strategien&lt;br /&gt;
* Um der Institutionsleitung zu verdeutlichen, was in der BC-Planung durch die BC-Strategien abgesichert werden muss, kann der oder die [[BCB]] die betrachteten Ressourcenkategorien und Teilkategorien vorstellen&lt;br /&gt;
* Er oder sie kann hierbei auch auf identifizierte Single-Points-of-Failure und Verbesserungsbedarfe vorangegangener BCMS-Tätigkeiten eingehen, die durch die BC-Strategien berücksichtigt werden sollten&lt;br /&gt;
&lt;br /&gt;
Vor- und Nachteile empfohlene BC-Strategien&lt;br /&gt;
* Je vorgestellter Ressourcenkategorie kann der oder die [[BCB]] die empfohlenen BC-Strategien vorstellen sowie die jeweiligen Vor- und Nachteile erläutern&lt;br /&gt;
* Hierbei kann er oder sie auch auf mögliche Synergien, Abhängigkeiten und Konflikte eingehen, die mit den jeweiligen BC-Strategien einhergehen&lt;br /&gt;
&lt;br /&gt;
; Umzusetzende BC-Strategien auswählen&lt;br /&gt;
Auf Basis der empfohlenen BC-Strategien ist die Institutionsleitung in der Lage, sich eine fachliche Übersicht über die möglichen BC-Strategien zu verschaffen und zu entscheiden, wie sie die BC-Planung ausrichten möchte&lt;br /&gt;
* Auch kann die Institutionsleitung über die BC-Strategien steuern, wie weit die Ressourcenkategorien mit entsprechenden Aufwänden abgesichert werden sollen, wie Vorteile genutzt werden können und welches Restrisiko sie zu übernehmen bereit ist&lt;br /&gt;
&lt;br /&gt;
; Dienstleistungsunternehmen und Lieferketten&lt;br /&gt;
Sofern zeitkritische Prozesse durch Dienstleistungsunternehmen oder in Lieferketten erbracht werden, müssen BC-Strategien ausgewählt werden, die eine angemessene Leistungserbringung im Notfall sicherstellen&lt;br /&gt;
* Hierzu ist es empfehlenswert, die weitreichenden Erläuterungen in dem Hilfsmittel Vorschläge zu BC-Strategien zu berücksichtigen&lt;br /&gt;
&lt;br /&gt;
Dort wird näher erläutert, welche Auswirkungen je nach gewählter BC-Strategie auf unterschiedliche Phasen des PDCA-Zyklus im BCMS bestehen&lt;br /&gt;
&lt;br /&gt;
; Ressourcenkategorie und BC-Strategien&lt;br /&gt;
Die Institutionsleitung kann sich entscheiden, je Ressourcenkategorie eine oder mehrere BC-Strategien auszuwählen, verschiedene BC-Strategien zu kombinieren oder eine eigene BC-Strategie auszuwählen&lt;br /&gt;
&lt;br /&gt;
; Entscheidung&lt;br /&gt;
Nachdem die BC-Strategien durch die Institutionsleitung ausgewählt und freigegeben wurden, sollte diese Entscheidung dokumentiert werden&lt;br /&gt;
* Die dokumentierte Entscheidung ist der Auftrag an den oder die [[BCB]] , einen Umsetzungsplan zu erstellen&lt;br /&gt;
* Sollte aus Sicht der Institutionsleitung keine der vorgeschlagenen BC-Strategien ausreichend wirksam oder angemessen erscheinen, kann sie den oder die [[BCB]] auch damit beauftragen, neue BC-Strategien zu entwickeln&lt;br /&gt;
* Sind auch die neu entwickelten BC-Strategien aus ihrer Sicht unwirksam oder unangemessen, kann sich die Institutionsleitung auch dazu entscheiden, keine BC-Strategie umzusetzen&lt;br /&gt;
* Dies kann etwa der Fall sein, wenn das Risiko oder der mögliche Schaden ausgefallener Ressourcen oder Geschäftsprozesse die Aufwände der BC-Strategien aus Sicht der Institutionsleitung nicht rechtfertigen würden&lt;br /&gt;
&lt;br /&gt;
; Restrisiko&lt;br /&gt;
In diesem Fall muss die Institutionsleitung das Restrisiko übernehmen, solange es keine regulatorischen oder gesetzlichen Verpflichtungen gibt, die dies verbieten&lt;br /&gt;
* Das jeweilige Risiko muss im Rahmen der Risikobeurteilung dokumentiert, regelmäßig neu bewertet und daraufhin geprüft werden, ob das Risiko durch neue BC-Strategien gesenkt werden kann&lt;br /&gt;
&lt;br /&gt;
== Umsetzung ==&lt;br /&gt;
; Umsetzung der BC-Strategien und Lösungen (AS)&lt;br /&gt;
{| class=&amp;quot;wikitable options col1center big&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! !!&lt;br /&gt;
|-&lt;br /&gt;
| || ||&lt;br /&gt;
|-&lt;br /&gt;
| || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Zuständigkeiten und Fachwissen ===&lt;br /&gt;
Nachdem die Institutionsleitung die BC-Strategien freigegeben hat, muss festgelegt werden, wer für die Umsetzung zuständig ist und wer das hierzu notwendige Fachwissen beisteuern kann&lt;br /&gt;
* Gemeinsam mit dem oder der [[BCB]] können diese Personen abstimmen, wie die BC-Strategien umgesetzt werden&lt;br /&gt;
* Hierzu ist es empfehlenswert, zunächst zu prüfen, aus welchen Vorsorgemaßnahmen, BC-Lösungen und Notfallmaßnahmen sich die ausgewählten BC-Strategien zusammensetzen&lt;br /&gt;
* Vorsorgemaßnahmen und BC-Lösungen können im Rahmen von Projekten oder innerhalb der [[AAO]] umgesetzt werden, da diese in der Regel umfassender sind und oft verschiedene Organisationseinheiten, Stellen und Kontaktpersonen betreffen&lt;br /&gt;
* Falls im Falle von Outsourcing die BC-Strategie Ausreichende BC-Fähigkeit des Dienstleistungsunternehmens gewählt wird, muss die Institution zusätzlich die erwarteten BC-Fähigkeiten der relevanten, zeitkritischen Dienstleistungsunternehmen anhand von BC-Anforderungen definieren und bewerten (siehe Hilfsmittel BC-Strategievorschläge)&lt;br /&gt;
&lt;br /&gt;
=== Umsetzungsplan ===&lt;br /&gt;
Nachdem der oder die [[BCB]] die jeweiligen Ressourcenzuständigen ermittelt hat, muss ein Umsetzungsplan erstellt werden&lt;br /&gt;
* Erfahrungsgemäß wird dieser von den [[Ressourcenzuständigen]] erstellt&lt;br /&gt;
* Der Umsetzungsplan muss die konkret benötigten Ressourcen und Tätigkeiten dokumentieren, die benötigt werden, um die ausgewählten [[BC-Strategie]]n umzusetzen&lt;br /&gt;
&lt;br /&gt;
; Inhalte&lt;br /&gt;
* Konkrete Handlungsschritte, die notwendig sind, um die jeweilige BC-Lösung umsetzen zu können&lt;br /&gt;
* Finanzielle, personelle und zeitliche Ressourcen, die benötigt werden, um die Handlungsschritte umsetzen zu können inklusive der benötigten Dienstleistungsunternehmen&lt;br /&gt;
* Personen, die die Handlungsschritte des Umsetzungsplans umsetzen sollen&lt;br /&gt;
* Zeiträume, in denen die Handlungsschritte umgesetzt werden sollen Während der Umsetzungsplan erstellt wird, können sich mitunter zusätzlich notwendige Ressourcen im Sinne von Mitteln oder Maßnahmen ergeben, die bisher noch nicht bedacht wurden&lt;br /&gt;
&lt;br /&gt;
; Prüfung&lt;br /&gt;
Die erstellten Umsetzungspläne müssen folglich dahingehend überprüft werden, ob das erwartete Gesamtergebnis im Hinblick auf die ausgewählten BC-Strategien weiterhin wirksam und angemessen ist&lt;br /&gt;
&lt;br /&gt;
; Freigabe&lt;br /&gt;
Nachdem die Umsetzungspläne und benötigten Ressourcen im Sinne von Mitteln von der Institutionsleitung freigegeben wurden, müssen die beschlossenen Maßnahmen durch die Zuständigen umgesetzt werden&lt;br /&gt;
* Sie sollten im festgelegten Zeitraum umgesetzt werden&lt;br /&gt;
&lt;br /&gt;
Der oder die BCB sollte die Umsetzung dieser Maßnahmen steuern und kontrollieren&lt;br /&gt;
* Hierzu ist der Maßnahmenplan ein sehr geeignetes Mittel&lt;br /&gt;
* Die Notfallmaßnahmen werden im Rahmen der Geschäftsfortführungsplanung sowie Wiederanlaufplanung behandelt&lt;br /&gt;
&lt;br /&gt;
=== Geschäftsfortführungspläne ===&lt;br /&gt;
Innerhalb von Geschäftsfortführungsplänen ([[GFP]]) wird dokumentiert, wie eine Institution auf der Prozessebene auf eine Geschäftsunterbrechung nach einem Ressourcenausfall reagiert&lt;br /&gt;
* Hierzu werden konkrete Notfallmaßnahmen und Verfahren aus den BC-Strategien und -Lösungen abgeleitet, wie zeitkritische Geschäftsprozesse bis zur Wiederherstellung der ausgefallenen Ressourcen im erforderlichen Umfang aufrechterhalten werden können&lt;br /&gt;
&lt;br /&gt;
; Wiederanlaufpläne&lt;br /&gt;
Innerhalb von Wiederanlaufplänen (WAP) wird dokumentiert, wie die Institution ausgefallene Ressourcen auf einem abgestimmten Notbetriebsniveau wieder in Betrieb nimmt, beispielsweise durch umgesetzte BC-Lösungen oder Ersatzlösungen&lt;br /&gt;
&lt;br /&gt;
; Wiederherstellungspläne&lt;br /&gt;
Innerhalb von Wiederherstellungsplänen ([[WHP]]) wird dokumentiert, wie bei Ressourcenausfall der Normalzustand auf Ressourcenebene wieder erreicht werden kann&lt;br /&gt;
&lt;br /&gt;
; Notfallhandbuch&lt;br /&gt;
Die beschriebenen Dokumente bilden zusammen mit den Informationen aus dem Aufbau und der Befähigung der [[BAO]] die Inhalte des Notfallhandbuchs&lt;br /&gt;
* Das Notfallhandbuch ist die zentrale Dokumentensammlung zur erfolgreichen Notfallbewältigung&lt;br /&gt;
&lt;br /&gt;
; Aufbau und Einsatz des Notfallhandbuchs&lt;br /&gt;
[[File:img-222-430.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{{Navigation|BSI/200-4/09 Risikoanalyse|BSI/200-4/11 Geschäftsfortführung}}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;br /&gt;
=== Siehe auch ===&lt;br /&gt;
{{Special:PrefixIndex/BSI/200-4/}}&lt;br /&gt;
==== Sicherheit ====&lt;br /&gt;
=== Dokumentation ===&lt;br /&gt;
=== Links ===&lt;br /&gt;
==== Projekt ====&lt;br /&gt;
==== Weblinks ====&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:BSI/200-4]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=Kryptografie/Webserver&amp;diff=167943</id>
		<title>Kryptografie/Webserver</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=Kryptografie/Webserver&amp;diff=167943"/>
		<updated>2026-06-17T08:40:49Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: Textersetzung - „ )“ durch „)“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Apache ===&lt;br /&gt;
Note that any cipher suite starting with EECDH can be omitted, if in doubt. (Compared to the theory section, EECDH in Apache and ECDHE in OpenSSL are synonyms&amp;amp;nbsp;[[https://bettercrypto.org/#_footnotedef_4 4]])&lt;br /&gt;
&lt;br /&gt;
==== Tested with Versions ====&lt;br /&gt;
* Apache 2.2.22, Debian Wheezy with OpenSSL 1.0.1e&lt;br /&gt;
* Apache 2.4.6, Debian Jessie with OpenSSL 1.0.1e&lt;br /&gt;
* Apache 2.4.10, Debian Jessie 8.2 with OpenSSL 1.0.1k&lt;br /&gt;
* Apache 2.4.7, Ubuntu 14.04.2 Trusty with OpenSSL 1.0.1f&lt;br /&gt;
* Apache 2.4.6, CentOS Linux 7 (Core) with OpenSSL 1.0.1e&lt;br /&gt;
* Apache 2.4.18, Ubuntu 16.04.3 LTS with OpenSSL 1.0.2g&lt;br /&gt;
&lt;br /&gt;
==== Settings ====&lt;br /&gt;
Enabled modules &amp;lt;tt&amp;gt;SSL&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Headers&amp;lt;/tt&amp;gt; are required.&lt;br /&gt;
&lt;br /&gt;
; SSL configuration for an Apache vhost&lt;br /&gt;
 SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem&lt;br /&gt;
 SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key&lt;br /&gt;
 #SSLCertificateChainFile /etc/apache2/ssl.crt/server-ca.crt&lt;br /&gt;
 #SSLCACertificateFile /etc/apache2/ssl.crt/ca-bundle.crt&lt;br /&gt;
 SSLProtocol All -SSLv2 -SSLv3&lt;br /&gt;
 SSLHonorCipherOrder On&lt;br /&gt;
 SSLCompression off&lt;br /&gt;
 Header always set Strict-Transport-Security &amp;quot;max-age=15768000&amp;quot;&lt;br /&gt;
 # Strict-Transport-Security: &amp;quot;max-age=15768000 ; includeSubDomains&amp;quot;&lt;br /&gt;
 Header always set Public-Key-Pins &amp;quot;pin-sha256=\&amp;quot;YOUR_HASH=\&amp;quot;; pin-sha256=\&amp;quot;YOUR_BACKUP_HASH=\&amp;quot;; max-age=7776000; report-uri=\&amp;quot;https://YOUR.REPORT.URL\&amp;quot;&amp;quot;&lt;br /&gt;
 SSLCipherSuite &#039;EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA256:EECDH:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!IDEA:!ECDSA:kEDH:CAMELLIA128-SHA:AES128-SHA&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable options&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
|| Add six earth month HSTS header for all users…​&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
|| If you want to protect all subdomains, use the following header. ALL subdomains HAVE TO support HTTPS if you use this!&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
|| CALL subdomains HAVE TO support HTTPS if you use this! At least use one Backup-Key and/or add whole CA, think of Cert-Updates!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Additional settings ====&lt;br /&gt;
You might want to redirect everything to &amp;lt;tt&amp;gt;https://&amp;lt;/tt&amp;gt; if possible. In Apache you can do this with the following setting inside of a VirtualHost environment:&lt;br /&gt;
&lt;br /&gt;
; https auto-redirect vhost&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
   Redirect permanent / https://SERVER_NAME/&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== References ====&lt;br /&gt;
[https://httpd.apache.org/docs/2.4/ssl/ Apache Docs on SSL and TLS]&lt;br /&gt;
&lt;br /&gt;
==== How to test ====&lt;br /&gt;
See appendix [https://bettercrypto.org/#tools Tools]&lt;br /&gt;
&lt;br /&gt;
=== lighttpd ===&lt;br /&gt;
&lt;br /&gt;
==== Tested with Versions ====&lt;br /&gt;
* lighttpd/1.4.31-4 with OpenSSL 1.0.1e on Debian Wheezy&lt;br /&gt;
* lighttpd/1.4.33 with OpenSSL 0.9.8o on Debian Squeeze (note that TLSv1.2 does not work in openssl 0.9.8 thus not all ciphers actually work)&lt;br /&gt;
* lighttpd/1.4.28-2 with OpenSSL 0.9.8o on Debian Squeeze (note that TLSv1.2 does not work in openssl 0.9.8 thus not all ciphers actually work)&lt;br /&gt;
* lighttpd/1.4.31, Ubuntu 14.04.2 Trusty with Openssl 1.0.1f&lt;br /&gt;
&lt;br /&gt;
==== Settings ====&lt;br /&gt;
&lt;br /&gt;
; SSL configuration for lighttpd&lt;br /&gt;
 $SERVER[&amp;quot;socket&amp;quot;] == &amp;quot;0.0.0.0:443&amp;quot; {&lt;br /&gt;
   ssl.engine = &amp;quot;enable&amp;quot;&lt;br /&gt;
   ssl.use-sslv2 = &amp;quot;disable&amp;quot;&lt;br /&gt;
   ssl.use-sslv3 = &amp;quot;disable&amp;quot;&lt;br /&gt;
   ssl.pemfile = &amp;quot;/etc/lighttpd/server.pem&amp;quot;&lt;br /&gt;
   ssl.ca-file = &amp;quot;/etc/ssl/certs/server.crt&amp;quot;&lt;br /&gt;
   ssl.cipher-list = &amp;quot;EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA256:EECDH:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!IDEA:!ECDSA:kEDH:CAMELLIA128-SHA:AES128-SHA&amp;quot;&lt;br /&gt;
   ssl.honor-cipher-order = &amp;quot;enable&amp;quot;&lt;br /&gt;
   setenv.add-response-header  = (&amp;quot;Strict-Transport-Security&amp;quot; =&amp;gt; &amp;quot;max-age=15768000&amp;quot;) # six months&lt;br /&gt;
   # use this only if all subdomains support HTTPS!&lt;br /&gt;
   # setenv.add-response-header  = (&amp;quot;Strict-Transport-Security&amp;quot; =&amp;gt; &amp;quot;max-age=15768000; includeSubDomains&amp;quot;)&lt;br /&gt;
 }&lt;br /&gt;
Starting with lighttpd version 1.4.29 Diffie-Hellman and Elliptic-Curve Diffie-Hellman key agreement protocols are supported. By default, elliptic curve &amp;quot;prime256v1&amp;quot; (also &amp;quot;secp256r1&amp;quot;) will be used, if no other is given. To select special curves, it is possible to set them using the configuration options &amp;lt;tt&amp;gt;ssl.dh-file&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;ssl.ec-curve&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
; SSL EC/DH configuration for lighttpd&lt;br /&gt;
 # use group16 dh parameters&lt;br /&gt;
 ssl.dh-file = &amp;quot;/etc/lighttpd/ssl/dh4096.pem&amp;quot;&lt;br /&gt;
 ssl.ec-curve = &amp;quot;secp384r1&amp;quot;&lt;br /&gt;
Please read section [https://bettercrypto.org/#dh A note on Diffie Hellman Key Exchanges] for more information on Diffie Hellman key exchange and elliptic curves.&lt;br /&gt;
&lt;br /&gt;
==== Additional settings ====&lt;br /&gt;
As for any other webserver, you might want to automatically redirect &amp;lt;tt&amp;gt;https://&amp;lt;/tt&amp;gt; traffic toward &amp;lt;tt&amp;gt;https://&amp;lt;/tt&amp;gt;. It is also recommended to set the environment variable &amp;lt;tt&amp;gt;HTTPS&amp;lt;/tt&amp;gt;, so the PHP applications run by the webserver can easily detect that HTTPS is in use.&lt;br /&gt;
&lt;br /&gt;
; https auto-redirect configuration&lt;br /&gt;
 $HTTP[&amp;quot;scheme&amp;quot;] == &amp;quot;http&amp;quot; {&lt;br /&gt;
   # capture vhost name with regex condition -&amp;gt; %0 in redirect pattern&lt;br /&gt;
   # must be the most inner block to the redirect rule&lt;br /&gt;
   $HTTP[&amp;quot;host&amp;quot;] =~ &amp;quot;.*&amp;quot; {&lt;br /&gt;
     url.redirect = (&amp;quot;.*&amp;quot; =&amp;gt; &amp;quot;https://%0$0&amp;quot;)&lt;br /&gt;
   }&lt;br /&gt;
   # Set the environment variable properly&lt;br /&gt;
   setenv.add-environment = (&lt;br /&gt;
     &amp;quot;HTTPS&amp;quot; =&amp;gt; &amp;quot;on&amp;quot;&lt;br /&gt;
  )&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== Additional information ====&lt;br /&gt;
The config option &amp;lt;tt&amp;gt;honor-cipher-order&amp;lt;/tt&amp;gt; is available since 1.4.30, the supported ciphers depend on the used OpenSSL-version (at runtime). ECDHE has to be available in OpenSSL at compile-time, which should be default. SSL compression should by deactivated by default at compile-time (if not, it’s active). Support for other SSL-libraries like GnuTLS will be available in the upcoming 2.x branch, which is currently under development.&lt;br /&gt;
&lt;br /&gt;
==== References ====&lt;br /&gt;
* [https://redmine.lighttpd.net/projects/1/wiki/HowToRedirectHttpToHttps How to redirect HTTP requests to HTTPS]&lt;br /&gt;
* [https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_SSL Lighttpd Docs: Secure HTTP]&lt;br /&gt;
* [https://redmine.lighttpd.net/projects/lighttpd/wiki/Release-1_4_30 Release 1.4.30 (How to mitigate BEAST attack)]&lt;br /&gt;
* [https://redmine.lighttpd.net/issues/2445 Lightpd issue: SSL Compression disabled by default]&lt;br /&gt;
&lt;br /&gt;
==== How to test ====&lt;br /&gt;
See appendix [https://bettercrypto.org/#tools Tools]&lt;br /&gt;
&lt;br /&gt;
=== nginx ===&lt;br /&gt;
&lt;br /&gt;
==== Tested with Version ====&lt;br /&gt;
* 1.4.4 with OpenSSL 1.0.1e on OS X Server 10.8.5&lt;br /&gt;
* 1.2.1-2.2+wheezy2 with OpenSSL 1.0.1e on Debian Wheezy&lt;br /&gt;
* 1.4.4 with OpenSSL 1.0.1e on Debian Wheezy&lt;br /&gt;
* 1.2.1-2.2&amp;amp;nbsp;bpo60+2 with OpenSSL 0.9.8o on Debian Squeeze (note that TLSv1.2 does not work in openssl 0.9.8 thus not all ciphers actually work)&lt;br /&gt;
* 1.4.6 with OpenSSL 1.0.1f on Ubuntu 14.04.2 LTS&lt;br /&gt;
&lt;br /&gt;
==== Settings ====&lt;br /&gt;
&lt;br /&gt;
; SSL settings for nginx&lt;br /&gt;
 ssl on;&lt;br /&gt;
 ssl_certificate cert.pem;&lt;br /&gt;
 ssl_certificate_key cert.key;&lt;br /&gt;
 ssl_session_timeout 5m;&lt;br /&gt;
 ssl_prefer_server_ciphers on;&lt;br /&gt;
 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # not possible to do exclusive&lt;br /&gt;
 ssl_ciphers &#039;EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA256:EECDH:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!IDEA:!ECDSA:kEDH:CAMELLIA128-SHA:AES128-SHA&#039;;&lt;br /&gt;
 add_header Strict-Transport-Security &amp;quot;max-age=15768000&amp;quot;; # six months&lt;br /&gt;
 # add_header Strict-Transport-Security &amp;quot;max-age=15768000; includeSubDomains&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable options&amp;quot; style=&amp;quot;border-spacing:0;width:8.618cm;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
|| Use this only if all subdomains support HTTPS!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
If you absolutely want to specify your own DH parameters, you can specify them via&lt;br /&gt;
ssl_dhparam file. However, we advise you to read section [https://bettercrypto.org/#dh A note on Diffie Hellman Key Exchanges] and stay with the standard IKE/IETF parameters (as long as they are &amp;gt;1024 bits).&lt;br /&gt;
&lt;br /&gt;
==== Additional settings ====&lt;br /&gt;
If you decide to trust NIST’s ECC curve recommendation, you can add the following line to nginx’s configuration file to select special curves:&lt;br /&gt;
&lt;br /&gt;
; SSL EC/DH settings for nginx&lt;br /&gt;
 ssl_ecdh_curve secp384r1;&lt;br /&gt;
You might want to redirect everything to &amp;lt;tt&amp;gt;https://&amp;lt;/tt&amp;gt; if possible. In Nginx you can do this with the following setting:&lt;br /&gt;
&lt;br /&gt;
; https auto-redirect in nginx&lt;br /&gt;
 return 301 https://$server_name$request_uri;&lt;br /&gt;
The variable &amp;lt;tt&amp;gt;$server_name&amp;lt;/tt&amp;gt; refers to the first &amp;lt;tt&amp;gt;server_name&amp;lt;/tt&amp;gt; entry in your config file. If you specify more than one &amp;lt;tt&amp;gt;server_name&amp;lt;/tt&amp;gt; only the first will be taken. Please be sure to not use the &amp;lt;tt&amp;gt;$host&amp;lt;/tt&amp;gt; variable here because it contains data controlled by the user.&lt;br /&gt;
&lt;br /&gt;
==== References ====&lt;br /&gt;
* [https://nginx.org/en/docs/http/ngx_http_ssl_module.html Module ngx_http_ssl_module]&lt;br /&gt;
* [https://nginx.org/en/docs/http/configuring_https_servers.html Configuring HTTPS servers]&lt;br /&gt;
&lt;br /&gt;
==== How to test ====&lt;br /&gt;
See appendix [https://bettercrypto.org/#tools Tools]&lt;br /&gt;
&lt;br /&gt;
=== Cherokee ===&lt;br /&gt;
&lt;br /&gt;
==== Tested with Version ====&lt;br /&gt;
* Cherokee/1.2.104 on Debian Wheezy with OpenSSL 1.0.1e 11 Feb 2013&lt;br /&gt;
&lt;br /&gt;
==== Settings ====&lt;br /&gt;
The configuration of the cherokee webserver is performed by an admin interface available via the web. It then writes the configuration to &amp;lt;tt&amp;gt;/etc/cherokee/cherokee.conf&amp;lt;/tt&amp;gt;, the important lines of such a configuration file can be found at the end of this section.&lt;br /&gt;
* General Settings&lt;br /&gt;
** Network&lt;br /&gt;
*** &#039;&#039;SSL/TLS back-end&#039;&#039;: &amp;lt;tt&amp;gt;OpenSSL/libssl&amp;lt;/tt&amp;gt;&lt;br /&gt;
** Ports to listen&lt;br /&gt;
*** Port: 443, TLS: TLS/SSL port&lt;br /&gt;
* Virtual Servers, For each vServer on tab &#039;&#039;Security&#039;&#039;:&lt;br /&gt;
** &#039;&#039;Required SSL/TLS Values&#039;&#039;: Fill in the correct paths for &#039;&#039;Certificate&#039;&#039; and &#039;&#039;Certificate key&#039;&#039;&lt;br /&gt;
* Advanced Options&lt;br /&gt;
** &#039;&#039;Ciphers&#039;&#039;:&amp;lt;br/&amp;gt;EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA256:EECDH:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!IDEA:!ECDSA:kEDH:CAMELLIA128-SHA:AES128-SHA&lt;br /&gt;
*** &#039;&#039;Server Preference&#039;&#039;: Prefer&lt;br /&gt;
*** &#039;&#039;Compression&#039;&#039;: Disabled&lt;br /&gt;
* Advanced: TLS&lt;br /&gt;
** SSL version 2 and SSL version 3: No&lt;br /&gt;
** TLS version 1, TLS version 1.1 and TLS version 1.2: Yes&lt;br /&gt;
&lt;br /&gt;
==== Additional settings ====&lt;br /&gt;
For each vServer on the Security tab it is possible to set the Diffie Hellman length to up to 4096 bits. We recommend to use &amp;gt;1024 bits. More information about Diffie-Hellman and which curves are recommended can be found in section [https://bettercrypto.org/#dh A note on Diffie Hellman Key Exchanges].&lt;br /&gt;
In Advanced: TLS it is possible to set the path to a Diffie Hellman parameters file for 512, 1024, 2048 and 4096 bits.&lt;br /&gt;
HSTS can be configured on host-basis in section &#039;&#039;vServers&#039;&#039; / &#039;&#039;Security&#039;&#039; / &#039;&#039;HTTP Strict Transport Security (HSTS)&#039;&#039;:* &#039;&#039;Enable HSTS&#039;&#039;: Accept&lt;br /&gt;
* &#039;&#039;HSTS Max-Age&#039;&#039;: 15768000&lt;br /&gt;
* &#039;&#039;Include Subdomains&#039;&#039;: depends on your setup&lt;br /&gt;
To redirect HTTP to HTTPS, configure a new rule per Virtual Server in the &#039;&#039;Behavior&#039;&#039; tab. The rule is &#039;&#039;SSL/TLS&#039;&#039; combined with a &#039;&#039;NOT&#039;&#039; operator. As &#039;&#039;Handler&#039;&#039; define &#039;&#039;Redirection&#039;&#039; and use &amp;lt;tt&amp;gt;/(.*)$&amp;lt;/tt&amp;gt; as &#039;&#039;Regular Expression&#039;&#039; and &amp;lt;tt&amp;gt;+https://$\{host}/$1+&amp;lt;/tt&amp;gt; as &#039;&#039;Substitution&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
; SSL configuration for cherokee&lt;br /&gt;
 server!bind!2!port = 443&lt;br /&gt;
 server!bind!2!tls = 1&lt;br /&gt;
 server!tls = libssl&lt;br /&gt;
 vserver!1!hsts = 1&lt;br /&gt;
 vserver!1!hsts!max_age = 15768000&lt;br /&gt;
 vserver!1!hsts!subdomains = 1&lt;br /&gt;
 vserver!1!rule!5!handler = redir&lt;br /&gt;
 vserver!1!rule!5!handler!rewrite!10!regex = /(.*)$&lt;br /&gt;
 vserver!1!rule!5!handler!rewrite!10!show = 1&lt;br /&gt;
 vserver!1!rule!5!handler!rewrite!10!substring = https://${host}/$1&lt;br /&gt;
 vserver!1!rule!5!handler!type = just_about&lt;br /&gt;
 vserver!1!rule!5!match = not&lt;br /&gt;
 vserver!1!rule!5!match!right = tls&lt;br /&gt;
 vserver!1!ssl_certificate_file = /etc/ssl/certs/ssl-cert-snakeoil.pem&lt;br /&gt;
 vserver!1!ssl_certificate_key_file = /etc/ssl/private/ssl-cert-snakeoil.key&lt;br /&gt;
 vserver!1!ssl_cipher_server_preference = 1&lt;br /&gt;
 vserver!1!ssl_ciphers = EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA256:EECDH:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!IDEA:!ECDSA:kEDH:CAMELLIA128-SHA:AES128-SHA&lt;br /&gt;
 vserver!1!ssl_compression = 0&lt;br /&gt;
 vserver!1!ssl_dh_length = 2048&lt;br /&gt;
&lt;br /&gt;
==== References ====&lt;br /&gt;
* [https://cherokee-project.com/doc/cookbook_ssl.html Cookbook: SSL, TLS and certificates]&lt;br /&gt;
* [https://cherokee-project.com/doc/cookbook_http_to_https.html Cookbook: Redirecting all traffic from HTTP to HTTPS]&lt;br /&gt;
&lt;br /&gt;
==== How to test ====&lt;br /&gt;
See appendix [https://bettercrypto.org/#tools Tools]&lt;br /&gt;
&lt;br /&gt;
=== MS IIS ===&lt;br /&gt;
To configure SSL/TLS on Windows Server [https://www.nartac.com/Products/IISCrypto/ IIS Crypto] can be used.&amp;amp;nbsp;Simply start the Programm, no installation required. The tool changes the registry keys described below. A restart is required for the changes to take effect.&lt;br /&gt;
[[Image:Bild2.png|top|alt=&amp;quot;IIS Crypto Tool&amp;quot;]]&lt;br /&gt;
Instead of using the IIS Crypto Tool the configuration can be set using the Windows Registry. The following Registry keys apply to the newer Versions of Windows (Windows 7, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012 and Windows Server 2012 R2). For detailed information about the older versions see the Microsoft knowledgebase article [https://support.microsoft.com/en-us/help/245030 How to restrict the use of certain cryptographic algorithms and protocols in Schannel.dll].&lt;br /&gt;
&lt;br /&gt;
 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel]&lt;br /&gt;
 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Ciphers]&lt;br /&gt;
 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\CipherSuites]&lt;br /&gt;
 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Hashes]&lt;br /&gt;
 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\KeyExchangeAlgorithms]&lt;br /&gt;
 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols]&lt;br /&gt;
&lt;br /&gt;
==== Tested with Version ====&lt;br /&gt;
* Windows Server 2008&lt;br /&gt;
* Windows Server 2008 R2&lt;br /&gt;
* Windows Server 2012&lt;br /&gt;
* Windows Server 2012 R2&lt;br /&gt;
* Windows Vista and Internet Explorer 7 and upwards&lt;br /&gt;
* Windows 7 and Internet Explorer 8 and upwards&lt;br /&gt;
* Windows 8 and Internet Explorer 10 and upwards&lt;br /&gt;
* Windows 8.1 and Internet Explorer 11&lt;br /&gt;
&lt;br /&gt;
==== Settings ====&lt;br /&gt;
When trying to avoid RC4 (RC4 biases) as well as CBC (BEAST-Attack) by using GCM and to support perfect forward secrecy, Microsoft SChannel (SSL/TLS, Auth,.. Stack) supports ECDSA but lacks support for RSA signatures (see [https://safecurves.cr.yp.to/rigid.html ECC suite B doubts]).&lt;br /&gt;
Since one is stuck with ECDSA, an elliptic curve certificate needs to be used.&lt;br /&gt;
The configuration of cipher suites MS IIS will use, can be configured in one of the following ways:# Group Policy: [https://docs.microsoft.com/de-de/windows/desktop/SecAuthN/prioritizing-schannel-cipher-suites Prioritizing Schannel Cipher Suites]&lt;br /&gt;
# Registry: [https://support.microsoft.com/en-us/help/245030 How to restrict the use of certain cryptographic algorithms and protocols in Schannel.dll]&lt;br /&gt;
# [https://www.nartac.com/Products/IISCrypto/ IIS Crypto]&lt;br /&gt;
# Powershell&lt;br /&gt;
Table&amp;amp;nbsp;[https://bettercrypto.org/#MS_IIS_Client_Support Client support] shows the process of turning on one algorithm after another and the effect on the supported clients tested using [https://www.ssllabs.com/ https://www.ssllabs.com].&lt;br /&gt;
&amp;lt;tt&amp;gt;SSL 3.0&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;SSL 2.0&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;MD5&amp;lt;/tt&amp;gt; are turned off. &amp;lt;tt&amp;gt;TLS 1.0&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;TLS 1.2&amp;lt;/tt&amp;gt; are turned on.&lt;br /&gt;
Table 1. Client support&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable options&amp;quot; style=&amp;quot;border-spacing:0;width:16.251cm;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! align=center| Cipher Suite&lt;br /&gt;
! align=center| Client&lt;br /&gt;
|-&lt;br /&gt;
|| TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256+&lt;br /&gt;
|| only IE 10,11, OpenSSL 1.0.1e&lt;br /&gt;
|-&lt;br /&gt;
|| TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256+&lt;br /&gt;
|| Chrome 30, Opera 17, Safari 6+&lt;br /&gt;
|-&lt;br /&gt;
|| TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA+&lt;br /&gt;
|| FF 10-24, IE 8+, Safari 5, Java 7&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Table&amp;amp;nbsp;[https://bettercrypto.org/#MS_IIS_Client_Support Client support] shows the algorithms from strongest to weakest and why they need to be added in this order. For example insisting on SHA-2 algorithms (only first two lines) would eliminate all versions of Firefox, so the last line is needed to support this browser, but should be placed at the bottom, so capable browsers will choose the stronger SHA-2 algorithms.&lt;br /&gt;
&amp;lt;tt&amp;gt;TLS_RSA_WITH_RC4_128_SHA&amp;lt;/tt&amp;gt; or equivalent should also be added if MS Terminal Server Connection is used (make sure to use this only in a trusted environment). This suite will not be used for SSL, since we do not use a RSA Key.&lt;br /&gt;
&lt;br /&gt;
Clients not supported:&lt;br /&gt;
# Java 6&lt;br /&gt;
# WinXP&lt;br /&gt;
# Bing&lt;br /&gt;
&lt;br /&gt;
==== Additional settings ====&lt;br /&gt;
It’s recommended to use ´Strict-Transport-Security: max-age=15768000` for detailed information visit the [https://docs.microsoft.com/en-us/iis/configuration/system.webServer/httpProtocol/customHeaders/ Microsoft knowledgebase article in custom Headers].&lt;br /&gt;
You might want to redirect everything to http&#039;&#039;&#039;s&#039;&#039;&#039;:// if possible. In IIS you can do this with the following setting by Powershell:&lt;br /&gt;
Set-WebConfiguration -Location &amp;quot;$WebSiteName/$WebApplicationName&amp;quot; `&lt;br /&gt;
  -Filter &#039;system.webserver/security/access&#039; `&lt;br /&gt;
  -Value &amp;quot;SslRequireCert&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Justification for special settings (if needed) ====&lt;br /&gt;
&lt;br /&gt;
==== References ====&lt;br /&gt;
* [https://support.microsoft.com/en-us/help/245030 How to restrict the use of certain cryptographic algorithms and protocols in Schannel.dll]&lt;br /&gt;
* [https://support.microsoft.com/en-us/help/187498 How to disable PCT 1.0, SSL 2.0, SSL 3.0, or TLS 1.0 in Internet Information Services]&lt;br /&gt;
&lt;br /&gt;
==== How to test ====&lt;br /&gt;
See appendix [https://bettercrypto.org/#tools Tools]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Kryptografie/Best Practice]]&lt;br /&gt;
[[Kategorie:Webserver]]&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=Security_Information_and_Event_Management&amp;diff=167942</id>
		<title>Security Information and Event Management</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=Security_Information_and_Event_Management&amp;diff=167942"/>
		<updated>2026-06-17T08:40:48Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: Textersetzung - „ )“ durch „)“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Security Information and Event Management&#039;&#039;&#039; (SIEM) - System zu Echtzeitanalyse von Sicherheitsalarmen&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
; SIEM dient der [[Computersicherheit]]&lt;br /&gt;
&lt;br /&gt;
; Kombination&lt;br /&gt;
* Security Information Management (SIM)&lt;br /&gt;
* Security Event Management (SEM) &lt;br /&gt;
&lt;br /&gt;
; Echtzeitanalyse von Sicherheitsalarmen&lt;br /&gt;
* Anwendungen&lt;br /&gt;
* Netzwerkkomponenten&lt;br /&gt;
&lt;br /&gt;
; Softwareprodukt&lt;br /&gt;
* zentral installiert&lt;br /&gt;
* als Cloudservice&lt;br /&gt;
&lt;br /&gt;
; Funktionen&lt;br /&gt;
* Daten von Netzwerk- und Sicherheitskomponenten sammeln, analysieren und präsentieren&lt;br /&gt;
* Umgang mit [[Sicherheitslücke]]n&lt;br /&gt;
* Logdateien von Betriebssystemen, Datenbanken und Anwendungen auswerten&lt;br /&gt;
* Externe Gefahren berücksichtigen&lt;br /&gt;
* Echtzeit-Warnungen&lt;br /&gt;
&lt;br /&gt;
; Anbieter &lt;br /&gt;
{| class=&amp;quot;wikitable sortable options&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Anbieter !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| Arcsight ||&lt;br /&gt;
|-&lt;br /&gt;
| Empow ||&lt;br /&gt;
|-&lt;br /&gt;
| Exabeam ||&lt;br /&gt;
|-&lt;br /&gt;
| LogPoint ||&lt;br /&gt;
|-&lt;br /&gt;
| Logrhythm ||&lt;br /&gt;
|-&lt;br /&gt;
| QRadar ||&lt;br /&gt;
|-&lt;br /&gt;
| Wazuh ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;br /&gt;
=== Siehe auch ===&lt;br /&gt;
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}&lt;br /&gt;
=== Links ===&lt;br /&gt;
==== Weblinks ====&lt;br /&gt;
# https://de.wikipedia.org/wiki/Security_Information_and_Event_Management&lt;br /&gt;
&lt;br /&gt;
= TMP =&lt;br /&gt;
=== Was ist SIEM? ===&lt;br /&gt;
SIEM, ausgesprochen &amp;quot;sim&amp;quot;, ist ein Akronym für Security Information and Event Management.&lt;br /&gt;
&lt;br /&gt;
Unter Sicherheitsinformationsmanagement versteht man den Prozess der Erfassung, Überwachung und Protokollierung von Daten, um verdächtige Aktivitäten auf einem System zu erkennen und zu melden. &lt;br /&gt;
* SIM-Software/-Tools sind automatisierte Tools, die dabei helfen, diese Informationen zu sammeln und zu verarbeiten, um bei der Früherkennung und Sicherheitsüberwachung zu helfen.&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Sicherheitsereignismanagement ist das process zu identifizieren und monitoring security events on a system in real time for proper analysis of threats and quick action.&lt;br /&gt;
&lt;br /&gt;
Man könnte über die Ähnlichkeiten zwischen SIM und SEM argumentieren, es ist jedoch erwähnenswert, dass sie sich im Gesamtziel ähneln. &lt;br /&gt;
* SIM beinhaltet die processDas Erstellen und Analysieren historischer Protokollanalysen und -berichte, während SEM Echtzeitaktivitäten zum Sammeln und Analysieren von Protokollen umfasst.&lt;br /&gt;
&lt;br /&gt;
SIEM ist eine Sicherheitslösung, die Unternehmen dabei hilft, Sicherheitsprobleme und Bedrohungen zu überwachen und zu identifizieren, bevor sie ihrem System Schaden zufügen. &lt;br /&gt;
* SIEM-Tools automatisieren Prozesse im Zusammenhang mit der Protokollerfassung, der Normalisierung von Protokollen, der Benachrichtigung, der Alarmierung und der Erkennung von Vorfällen und Bedrohungen in einem System.&lt;br /&gt;
&lt;br /&gt;
; Einstieg ins Security Information and Event Management, kurz SIEM, muss nicht teuer und zeitaufwendig sein&lt;br /&gt;
SIEM-Software ([https://www.computerweekly.com/de/definition/Security-Information-and-Event-Management-SIEM Security Information and Event Management]) war früher gleichbedeutend mit relativ einfachen Lösungen zum Verwalten von Ereignissen im Firmennetz. &lt;br /&gt;
* Das hat sich in den vergangenen Jahren aber stark geändert. &lt;br /&gt;
* Aktuelle SIEM-Tools können deutlich mehr und verfügen über weit mehr Funktionen. &lt;br /&gt;
* Das ist ein großer Vorteil für Unternehmen, die nach neuen Möglichkeiten suchen, um Informationen über ihre Systeme und Netzwerke zu erhalten.&lt;br /&gt;
&lt;br /&gt;
Besonders einfach gelingt der SIEM-Einstieg mit Anwendungen aus dem [https://www.computerweekly.com/de/definition/Open-Source Open-Source-Bereich]. &lt;br /&gt;
* Unternehmen können sie zunächst in Ruhe und bei niedrigen Anfangskosten ausprobieren und müssen deswegen erst später, wenn ihnen eine Lösung zusagt, größere Summen für zum Beispiel Support in ein Produkt investieren. &lt;br /&gt;
* Abhängig von den Funktionen, die Sie benötigen, stehen unterschiedliche Lösungen bereit, aus denen Sie wählen können. &lt;br /&gt;
* Im Folgenden werden kurz die wichtigsten SIEM-Tools aus dem Open-Source-Bereich vorgestellt.&lt;br /&gt;
&lt;br /&gt;
=== Warum ist SIEM wichtig? ===&lt;br /&gt;
[https://geekflare.com/de/cyberattack-protection-techniques/ Cyber ​​Attacke] hat erheblich zugenommen, da immer mehr Unternehmen und Organisationen auf die Cloud-Nutzung umsteigen. &lt;br /&gt;
* Ob Sie ein kleines Unternehmen oder eine große Organisation haben, Sicherheit ist gleichally sind von wesentlicher Bedeutung und sollten entsprechend gehandhabt werden.&lt;br /&gt;
&lt;br /&gt;
Für den langfristigen Erfolg ist es von entscheidender Bedeutung, sicherzustellen, dass Ihr System gesichert und in der Lage ist, einen möglichen Verstoß zu bewältigen. &lt;br /&gt;
* Ein erfolgreicher Datenverstoß könnte zu einer Verletzung der Privatsphäre der Benutzer führen und sie Angriffen aussetzen.&lt;br /&gt;
&lt;br /&gt;
Ein Sicherheitsinformations- und Managementsystem könnte dabei helfen, die Daten und Systeme von Unternehmen zu schützen, indem es innerhalb des Systems auftretende Ereignisse protokolliert, Protokolle analysiert, um Unregelmäßigkeiten zu erkennen, und sicherstellt, dass die Bedrohung rechtzeitig behandelt wird, bevor der Schaden entsteht.&lt;br /&gt;
&lt;br /&gt;
SIEM kann Unternehmen auch dabei helfen, die Einhaltung von Vorschriften aufrechtzuerhalten, indem sichergestellt wird, dass ihr System stets dem Standard entspricht.&lt;br /&gt;
&lt;br /&gt;
=== Funktionen von SIEM ===&lt;br /&gt;
Bei der Entscheidung, welches SIEM-Tool Sie in Ihrem Unternehmen verwenden möchten, ist es wichtig, einige Funktionen des SIEM-Tools Ihrer Wahl zu berücksichtigen, um eine umfassende Überwachung und Erkennung basierend auf Ihrem Systemanwendungsfall sicherzustellen. &lt;br /&gt;
* Hier sind einige Funktionen, auf die Sie bei der Entscheidung für SIEM achten sollten.&lt;br /&gt;
&lt;br /&gt;
==== Datenerfassung und Protokollverwaltung in Echtzeit ====&lt;br /&gt;
Protokolle sind das Rückgrat für die Gewährleistung eines sicheren Systems. &lt;br /&gt;
* SIEM-Tools sind auf diese Protokolle angewiesen, um jedes System zu erkennen und zu überwachen. &lt;br /&gt;
* Stellen Sie sicher, dass das auf Ihrem System bereitgestellte SIEM-Tool möglichst viele wichtige Daten aus internen und externen Quellen sammeln kann.&lt;br /&gt;
&lt;br /&gt;
Ereignisprotokolle werden aus verschiedenen Abschnitten eines Systems erfasst. &lt;br /&gt;
* Daher muss das Tool in der Lage sein, diese Daten effektiv zu verwalten und zu analysieren.&lt;br /&gt;
&lt;br /&gt;
==== Verhaltensanalyse von Benutzern und Entitäten (UEBA) ====&lt;br /&gt;
Die Analyse des Benutzerverhaltens ist eine hervorragende Möglichkeit, Sicherheitsbedrohungen zu erkennen. &lt;br /&gt;
* Mit Hilfe des SIEM-Systems kombiniert mit [https://geekflare.com/de/machine-learning-books-for-graduates/ Maschinelles Lernen], kann dem Benutzer eine Risikobewertung zugewiesen werden, die auf dem Grad der verdächtigen Aktivität basiert, die jeder Benutzer während einer Sitzung versucht, und die dazu verwendet wird, Anomalien in der Aktivität des Benutzers zu erkennen. &lt;br /&gt;
* UEBA kann unter anderem Insider-Angriffe, kompromittierte Konten, Privilegien und Richtlinienverstöße erkennen.&lt;br /&gt;
&lt;br /&gt;
==== Incident Management und Threat Intelligence ====&lt;br /&gt;
Jedes Ereignis außerhalb der normalen Aktivität kann als potenzielle Bedrohung für die Sicherheit eines Systems eingestuft werden und kann bei unsachgemäßer Behandlung zu einem tatsächlichen Vorfall und einer Datenpanne oder einem Angriff führen.&lt;br /&gt;
&lt;br /&gt;
SIEM-Tools sollten in der Lage sein, eine Sicherheitsbedrohung und einen Sicherheitsvorfall zu erkennen und Maßnahmen zu ergreifen, um sicherzustellen, dass diese Vorfälle gemanagt werden, um einen Verstoß im System zu vermeiden. [https://geekflare.com/de/best-threat-intelligence-platforms/ Bedrohungsinformationen] nutzt künstliche Intelligenz und maschinelles Lernen, um Unregelmäßigkeiten zu erkennen und festzustellen, ob sie eine Bedrohung für das System darstellen.&lt;br /&gt;
&lt;br /&gt;
==== Benachrichtigung und Alarmierung in Echtzeit ====&lt;br /&gt;
Benachrichtigungen und Warnungen sind wesentliche Bestandteile/Funktionen, die bei der Auswahl eines SIEM-Tools berücksichtigt werden sollten. &lt;br /&gt;
* Es ist wichtig sicherzustellen, dass das SIEM-Tool in Echtzeit Benachrichtigungen über Angriffe oder die Erkennung von Bedrohungen auslösen kann, damit die Sicherheitsanalysten schnell reagieren können, um die mittlere Erkennungszeit (MTTD) und die mittlere Reaktionszeit (MTTR) zu reduzieren) Dadurch wird die Zeit verkürzt, in der eine Bedrohung in Ihrem System verbleibt.&lt;br /&gt;
&lt;br /&gt;
==== Compliance-Management und Reporting ====&lt;br /&gt;
Organisationen, die die strikte Einhaltung bestimmter Vorschriften und Sicherheitsmechanismen sicherstellen müssen, sollten auch nach SIEM-Tools Ausschau halten, die ihnen dabei helfen, diese Vorschriften einzuhalten.&lt;br /&gt;
&lt;br /&gt;
SIEM-Tools könnten Unternehmen dabei helfen, Daten in ihrem gesamten System zu sammeln und zu analysieren, um sicherzustellen, dass das Unternehmen die Vorschriften einhält. &lt;br /&gt;
* Einige SIEM-Lösungen können generierenate Echtzeit-Konformität des Unternehmens mit PCI-DSS, GPDR, FISMA, ISO und anderen Beschwerdestandards, sodass Verstöße leichter erkannt und rechtzeitig behoben werden können.&lt;br /&gt;
&lt;br /&gt;
Entdecken Sie jetzt die Liste der besten Open-Source-SIEM-Systeme.&lt;br /&gt;
&lt;br /&gt;
=== Merkmale und Funktionalitäten von SIEM-Software ===&lt;br /&gt;
Bevor Sie sich für eine SIEM-Lösung entscheiden, möchten wir kurz auf die Grundlagen des SIEM eingehen. &lt;br /&gt;
* Worauf sollten Sie bei einem SIEM-Tool achten? Was sind die Vor- und Nachteile beim Test von kostenlosen oder Open-Source-Lösungen im Vergleich zu Software, die aufgrund von Vollständigkeit im Funktionsumfang sowie bei allen anderen Aspekten uneingeschränkt für den professionellen Einsatz geeignet ist?&lt;br /&gt;
&lt;br /&gt;
Security-Information-and-Event-Management, kurz SIEM, vereint zwei Bereiche, die zuvor separat betrachtet wurden: Security-Information-Management (SIM) und Security-Event-Management (SEM). &lt;br /&gt;
* Noch heute werden die drei Begriffe häufig synonym verwendet, obwohl es feine, aber bedeutende Unterschiede gibt.&lt;br /&gt;
&lt;br /&gt;
SEM-Software verfolgt laufende Netzwerkereignisprotokolle, was einschließt, kurzfristige Analysen und Troubleshooting bei Unterbrechungen durchzuführen. &lt;br /&gt;
* SIM-Software hingegen speichert und analysiert immense Mengen von historischen Netzwerkdaten, und ist somit eher zur Vorhersage zukünftiger Bedrohungen geeignet. &lt;br /&gt;
* In einer vereinheitlichten SIEM-Lösung sollten diese lang- und kurzfristigen Sicherheitsbemühungen kombiniert sein.&lt;br /&gt;
&lt;br /&gt;
Ganz gleich, ob Sie nach einer gebührenpflichtigen, kostenlosen oder Open-Source-SIEM-Lösung suchen, sollten Sie auf Tools mit folgenden Merkmalen achten:* &#039;&#039;&#039;Ereignisprotokoll erstellen&#039;&#039;&#039;:&amp;amp;nbsp;Auf der untersten Ebene von SIEM nimmt das Ereignisprotokoll eine zentrale Rolle ein. &lt;br /&gt;
* Durch die Erfassung aller Ereignisse im Netzwerk können Sie Abweichungen in Echtzeit erkennen und Störungen untersuchen.&lt;br /&gt;
* &#039;&#039;&#039;Erkennung von Intrusion:&#039;&#039;&#039;&amp;amp;nbsp;Ein gutes SIEM verfolgt nicht nur das Netzwerkverhalten, sondern kann die Daten nahezu in Echtzeit analysieren. &lt;br /&gt;
* Ohne Zusammenhänge ergeben die Daten jedoch keinen Sinn; so kann ein Benutzer mit vielen fehlgeschlagenen Kennworteingaben harmlos sein, aber viele gleichzeitige Versuche im gesamten System können einen Sicherheitsvorfall größeren Ausmaßes bedeuten.&lt;br /&gt;
* &#039;&#039;&#039;Automatisierte Warnmeldungen:&amp;amp;nbsp;&#039;&#039;&#039;Neben Analyse und Intrusionserkennung sollten SIEM-Systeme die Netzwerkadministratoren benachrichtigen können. &lt;br /&gt;
* Die Alert-Funktion ist von besonderer Bedeutung.&lt;br /&gt;
* &#039;&#039;&#039;KI/Intelligente Bedrohungserkennung:&#039;&#039;&#039;&amp;amp;nbsp;Ein gutes SIEM-System erkennt nicht nur ein unbefugtes Eindringen, sondern kann zukünftige Bedrohungen auch prognostizieren und vorhersehen. &lt;br /&gt;
* Dazu werden Informationsflüsse über die neuesten Bedrohungen benötigt, um sie mit aktuellen wie mit archivierten Daten zu vergleichen.&lt;br /&gt;
* &#039;&#039;&#039;Datenfilterung und Datenspeicher:&amp;amp;nbsp;&#039;&#039;&#039;Ereignisprotokolle generieren riesige Datenmengen, die für eine gründliche Archivanalyse vorgehalten werden müssen. Ähnlich wie bei der Ereignisprotokollierung lassen sich auf diese Weise Abweichungen erkennen und aufgetretene Probleme untersuchen. &lt;br /&gt;
* Gute SIEM-Lösungen setzen ebenso gute wie nützliche Filter voraus, um zu gewährleisten, dass spezifische, nützliche Daten verwendet werden, und den Benutzern die Möglichkeit der leicht abrufbaren, kosteneffizienten Speicherung dieser Daten zu geben.&lt;br /&gt;
* &#039;&#039;&#039;Visualisierung:&amp;amp;nbsp;&#039;&#039;&#039;Eine gute Übersicht der vorhandenen Daten sowie eine Einschätzung der Bedrohungslage, abgebildet als Diagramm, unterstützt Sie perfekt bei Ihren Sicherheitsbemühungen. &lt;br /&gt;
* Die grafische Darstellung in der SIEM-Software entweder als integrierte Funktion oder als Erweiterung eines Drittanbieters setzt sich immer mehr durch.&lt;br /&gt;
* &#039;&#039;&#039;Kompatibilität:&#039;&#039;&#039;&amp;amp;nbsp;SIEM-Software sollte mit dem vorhandenen Netzwerk der Anwender kompatibel sein, was Voraussetzung für ein vollständiges Bild der Ereignisse ermöglicht.&lt;br /&gt;
* &#039;&#039;&#039;Compliance:&#039;&#039;&#039; In bestimmten Branchen muss die SIEM-Software zur Einhaltung gesetzlicher Auflagen beitragen.&lt;br /&gt;
&lt;br /&gt;
Es ist uns bewusst, dass viele kleinere Organisationen, die gerade erst mit der Protokollierung und Analyse ihrer Ereignisdaten beginnen, sich für kostenlose und/oder Open-Source-SIEM-Tools entscheiden. &lt;br /&gt;
* Selbstverständlich ist diese Option kostengünstiger. &lt;br /&gt;
* Mit der Zeit allerdings wird vielen IT-Abteilungen klar, dass die kostenfreien Tools zu viel Arbeitsaufwand erfordern, und sie entscheiden sich stattdessen für ein Produkt, das, gemessen an den Anforderungen, uneingeschränkt im professionellen Umfeld einsetzbar ist. &lt;br /&gt;
* Wir kennen kaum eine IT-Abteilung, die mit einer SIEM-Gratisoption langfristig zufrieden ist.&lt;br /&gt;
&lt;br /&gt;
==== Ein letztes Wort zur besten erhältlichen SIEM-Software ====&lt;br /&gt;
SIEM-Lösungen sollten bei minimalem Aufwand und geringen Kosten für Setup und Anpassung sowohl kurz- als auch langfristige Überwachung und Schutz bieten. &lt;br /&gt;
* Wenn Ihre Organisation zum ersten Mal SIEM einsetzt oder Ihr Betrieb nicht sehr groß ist, können Sie diese kostenlosen und Open-Source-Produkte für SIEM sinnvoll testen. &lt;br /&gt;
* Wenn Sie jedoch lieber SIEM-Software auf einem perfekten Level einsetzen möchten, empfehlen wir ein Tool wie den&amp;amp;nbsp;[https://www.solarwinds.com/de/security-event-manager/registration?CMP=ORG-BLG-DNS-X_WW_X_NP_X_X_GR_X_X-SEM-20191012_FunfBestSIEMToo_X_X_VidNo_X-X Security Event Manager], das eine umfassende Sicherheitsverwaltungslösung mit Schwerpunkten auf Protokollierung und Compliance darstellt.&lt;br /&gt;
&lt;br /&gt;
[https://www.dnsstuff.com/de/die-besten-kostenlosen-siem-open-source-tools https://www.dnsstuff.com/de/die-besten-kostenlosen-siem-open-source-tools]&lt;br /&gt;
&lt;br /&gt;
=== Open-Source-SIEM-Systeme ===&lt;br /&gt;
; Zur Verbesserung der Sicherheit&lt;br /&gt;
In der heutigen Zeit, in der Daten ein wesentlicher Bestandteil der meisten Unternehmen sind, ist Sicherheit für jedes Unternehmen, das diese Daten erfasst und speichert, von entscheidender Bedeutung.&lt;br /&gt;
&lt;br /&gt;
Dies ist wichtig, da dies der entscheidende Faktor dafür sein kann, ob das Unternehmen langfristig erfolgreich ist oder scheitert. &lt;br /&gt;
* SIEM-Systeme sind Tools, die dazu beitragen können, dass Unternehmen über eine Sicherheitsebene verfügen, die bei der Überwachung, Erkennung und schnellen Reaktion auf Sicherheitsbedrohungen hilft.&lt;br /&gt;
&lt;br /&gt;
=== Zusammenfassung ===&lt;br /&gt;
* Es ist wichtig zu erwähnen, dass es in puncto Sicherheit kein einheitliches Tool gibt. &lt;br /&gt;
* SIEM-Systeme sind üblicher Weise eine Sammlung dieser Werkzeuge, die verschiedene Bereiche bearbeiten und unterschiedliche Funktionen ausführen.&lt;br /&gt;
&lt;br /&gt;
Daher muss eine Organisation ihr System verstehen, um die richtige Kombination von Tools für die Einrichtung ihrer SIEM-Systeme auszuwählen. &lt;br /&gt;
* Die meisten der hier genannten Tools sind Open Source und somit für manipul verfügbarate and configure to meet the demand.&lt;br /&gt;
&lt;br /&gt;
Als nächstes sehen Sie sich die besten an [https://geekflare.com/de/best-siem-solutions/ SIEM-Werkzeuge] um Ihr Unternehmen vor Cyberangriffen zu schützen.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:SIEM]]&lt;br /&gt;
[[Kategorie:DER]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=Certbot/Anwendung&amp;diff=167940</id>
		<title>Certbot/Anwendung</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=Certbot/Anwendung&amp;diff=167940"/>
		<updated>2026-06-17T08:40:48Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: Textersetzung - „ )“ durch „)“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Certbot/Anwendung&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Beschreibung ===&lt;br /&gt;
Certbot can obtain and install HTTPS/TLS/SSL certificates. By default, it will attempt to use a webserver both for obtaining and installing the certificate. The most common SUBCOMMANDS and flags are:&lt;br /&gt;
&lt;br /&gt;
=== obtain, install, and renew certificates ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable options big&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Befehl !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| (default) run || Obtain &amp;amp; install a certificate in your current webserver&lt;br /&gt;
|-&lt;br /&gt;
| certonly || Obtain or renew a certificate, but do not install it&lt;br /&gt;
|-&lt;br /&gt;
| renew || Renew all previously obtained certificates that are near expiry&lt;br /&gt;
|-&lt;br /&gt;
| enhance || Add security enhancements to your existing configuration&lt;br /&gt;
|-&lt;br /&gt;
| -d DOMAINS || Comma-separated list of domains to obtain a certificate for&lt;br /&gt;
|-&lt;br /&gt;
| --apache || Use the Apache plugin for authentication &amp;amp; installation&lt;br /&gt;
|-&lt;br /&gt;
| --standalone || Run a standalone webserver for authentication&lt;br /&gt;
|-&lt;br /&gt;
| --nginx || Use the Nginx plugin for authentication &amp;amp; installation&lt;br /&gt;
|-&lt;br /&gt;
| --webroot || Place files in a server&#039;s webroot folder for authentication&lt;br /&gt;
|-&lt;br /&gt;
| --manual || Obtain certificates interactively, or using shell script hooks&lt;br /&gt;
|-&lt;br /&gt;
| -n || Run non-interactively&lt;br /&gt;
|-&lt;br /&gt;
| --test-cert || Obtain a test certificate from a staging server&lt;br /&gt;
|-&lt;br /&gt;
| --dry-run || Test &amp;quot;renew&amp;quot; or &amp;quot;certonly&amp;quot; without saving any certificates to disk&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== manage certificates ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable options big&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Aufgabe !! Befehl&lt;br /&gt;
|-&lt;br /&gt;
| certificates || Display information about certificates you have from Certbot&lt;br /&gt;
|-&lt;br /&gt;
| revoke || Revoke a certificate (supply --cert-name or --cert-path)&lt;br /&gt;
|-&lt;br /&gt;
| delete || Delete a certificate (supply --cert-name)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== manage your account ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable options big&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Aufgabe !! Befehl&lt;br /&gt;
|-&lt;br /&gt;
| register || Create an ACME account&lt;br /&gt;
|-&lt;br /&gt;
| unregister || Deactivate an ACME account&lt;br /&gt;
|-&lt;br /&gt;
| update_account || Update an ACME account&lt;br /&gt;
|-&lt;br /&gt;
| show_account || Display account details&lt;br /&gt;
|-&lt;br /&gt;
| --agree-tos || Agree to the ACME server&#039;s Subscriber Agreement&lt;br /&gt;
|-&lt;br /&gt;
| -m EMAIL || Email address for important account notifications&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== optional arguments ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable options big&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Unix !! GNU !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| -h || --help || show this help message and exit&lt;br /&gt;
|-&lt;br /&gt;
| -c CONFIG_FILE || --config CONFIG_FILE || path to config file (default: /etc/letsencrypt/cli.ini and ~/.config/letsencrypt/cli.ini)&lt;br /&gt;
|-&lt;br /&gt;
| -v || --verbose || This flag can be used multiple times to incrementally increase the verbosity of output, e.g. -vvv. (default:0)&lt;br /&gt;
|-&lt;br /&gt;
| || --max-log-backups MAX_LOG_BACKUPS || Specifies the maximum number of backup logs that should be kept by Certbot&#039;s built in log rotation. Setting this flag to 0 disables log rotation entirely, causing Certbot to always append to the same log file. (default: 1000)&lt;br /&gt;
|-&lt;br /&gt;
| -n || --non-interactive --noninteractive || Run without ever asking for user input. This may require additional command line flags; the client will try to explain which ones are required if it finds one missing (default: False)&lt;br /&gt;
|-&lt;br /&gt;
| || --force-interactive || Force Certbot to be interactive even if it detects it&#039;s not being run in a terminal. This flag cannot be used with the renew subcommand. (default: False)&lt;br /&gt;
|-&lt;br /&gt;
| -d DOMAIN || --domain DOMAIN --domain DOMAIN || Domain names to apply. For multiple domains you can use multiple -d flags or enter a comma separated list of domains as a parameter. The first domain provided will be the subject CN of the certificate, and all domains will be Subject Alternative Names on the certificate. The first domain will also be used in some software user interfaces and as the file paths for the certificate and related material unless otherwise specified or you already have a certificate with the same name. In the case of a name collision it will append a number like 0001 to the file path name.(default: Ask)&lt;br /&gt;
|-&lt;br /&gt;
| || --eab-kid EAB_KID || Key Identifier for External Account Binding (default: None)&lt;br /&gt;
|-&lt;br /&gt;
| || --eab-hmac-key EAB_HMAC_KEY || HMAC key for External Account Binding (default: None)&lt;br /&gt;
|-&lt;br /&gt;
| --cert-name CERTNAME || Certificate name to apply. This name is used by Certbot for housekeeping and in file paths; it doesn&#039;t affect the content of the certificate itself. To see certificate names, run &#039;certbot certificates&#039;. When creating a new certificate, specifies the new certificate&#039;s name. (default: the first provided domain or the name of an existing certificate on your system for the same domains)&lt;br /&gt;
|-&lt;br /&gt;
| || --dry-run || Perform a test run of the client, obtaining test (invalid) certificates but not saving them to disk. This can currently only be used with the &#039;certonly&#039; and &#039;renew&#039; subcommands. Note: Although --dry-run tries to avoid making any persistent changes on a system, it is not completely side-effect free: if used with webserver authenticator plugins like apache and nginx, it makes and then reverts temporary config changes in order to obtain test certificates, and reloads webservers to deploy and then roll back those changes. It also calls --pre-hook and --post-hook commands if they are defined because they may be necessary to accurately simulate renewal. --deploy-hook commands are not called. (default: False)&lt;br /&gt;
|-&lt;br /&gt;
| || --debug-challenges || After setting up challenges, wait for user input before submitting to CA. When used in combination with the `-v` option, the challenge URLs or FQDNs and their expected return values are shown. (default: False)&lt;br /&gt;
|-&lt;br /&gt;
| || --preferred-chain PREFERRED_CHAIN || Set the preferred certificate chain. If the CA offers multiple certificate chains, prefer the chain whose topmost certificate was issued from this Subject Common Name. If no match, the default offered chain will be used. (default: None)&lt;br /&gt;
|-&lt;br /&gt;
| || --preferred-challenges PREF_CHALLS || A sorted, comma delimited list of the preferred challenge to use during authorization with the most preferred challenge listed first (Eg, &amp;quot;dns&amp;quot; or &amp;quot;http,dns&amp;quot;). Not all plugins support all challenges. See https://certbot.eff.org/docs/using.html#plugins for details. ACME Challenges are versioned, but if you pick &amp;quot;http&amp;quot; rather than &amp;quot;http-01&amp;quot;, Certbot will select the latest version automatically. (default: [])&lt;br /&gt;
|-&lt;br /&gt;
| || --issuance-timeout ISSUANCE_TIMEOUT || This option specifies how long (in seconds) Certbot will wait for the server to issue a certificate. (default: 90)&lt;br /&gt;
|-&lt;br /&gt;
| || --user-agent USER_AGENT || Set a custom user agent string for the client. User agent strings allow the CA to collect high level statistics about success rates by OS, plugin and use case, and to know when to deprecate support for past Python versions and flags. If you wish to hide this information from the Let&#039;s Encrypt server, set this to &amp;quot;&amp;quot;. (default: CertbotACMEClient/1.24.0 (certbot; OS_NAME OS_VERSION) Authenticator/XXX Installer/YYY (SUBCOMMAND; flags: FLAGS) Py/major.minor.patchlevel). The flags encoded in the user agent are: --duplicate,&lt;br /&gt;
|-&lt;br /&gt;
| || --force-renew --allow-subset-of-names || -n, and whether any hooks are set.&lt;br /&gt;
|-&lt;br /&gt;
| || --user-agent-comment USER_AGENT_COMMENT || Add a comment to the default user agent string. May be used when repackaging Certbot or calling it from another tool to allow additional statistical data to be collected. Ignored if --user-agent is set. (Example: Foo-Wrapper/1.0) (default: None)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== automation ===&lt;br /&gt;
 Flags for automating execution &amp;amp; other tweaks&lt;br /&gt;
&lt;br /&gt;
 --keep-until-expiring, --keep, --reinstall&lt;br /&gt;
            If the requested certificate matches an existing&lt;br /&gt;
            certificate, always keep the existing one until it is&lt;br /&gt;
            due for renewal (for the &#039;run&#039; subcommand this means&lt;br /&gt;
            reinstall the existing certificate). (default: Ask)&lt;br /&gt;
 --expand       If an existing certificate is a strict subset of the&lt;br /&gt;
            requested names, always expand and replace it with the&lt;br /&gt;
            additional names. (default: Ask)&lt;br /&gt;
 --version       show program&#039;s version number and exit&lt;br /&gt;
 --force-renewal, --renew-by-default&lt;br /&gt;
            If a certificate already exists for the requested&lt;br /&gt;
            domains, renew it now, regardless of whether it is&lt;br /&gt;
            near expiry. (Often --keep-until-expiring is more&lt;br /&gt;
            appropriate). Also implies --expand. (default: False)&lt;br /&gt;
 --renew-with-new-domains&lt;br /&gt;
            If a certificate already exists for the requested&lt;br /&gt;
            certificate name but does not match the requested&lt;br /&gt;
            domains, renew it now, regardless of whether it is&lt;br /&gt;
            near expiry. (default: False)&lt;br /&gt;
 --reuse-key      When renewing, use the same private key as the&lt;br /&gt;
            existing certificate. (default: False)&lt;br /&gt;
 --no-reuse-key    When renewing, do not use the same private key as the&lt;br /&gt;
            existing certificate. Not reusing private keys is the&lt;br /&gt;
            default behavior of Certbot. This option may be used&lt;br /&gt;
            to unset --reuse-key on an existing certificate.&lt;br /&gt;
            (default: False)&lt;br /&gt;
 --allow-subset-of-names&lt;br /&gt;
            When performing domain validation, do not consider it&lt;br /&gt;
            a failure if authorizations can not be obtained for a&lt;br /&gt;
            strict subset of the requested domains. This may be&lt;br /&gt;
            useful for allowing renewals for multiple domains to&lt;br /&gt;
            succeed even if some domains no longer point at this&lt;br /&gt;
            system. This option cannot be used with --csr.&lt;br /&gt;
            (default: False)&lt;br /&gt;
 --agree-tos      Agree to the ACME Subscriber Agreement (default: Ask)&lt;br /&gt;
 --duplicate      Allow making a certificate lineage that duplicates an&lt;br /&gt;
            existing one (both can be renewed in parallel)&lt;br /&gt;
            (default: False)&lt;br /&gt;
 -q, --quiet      Silence all output except errors. Useful for&lt;br /&gt;
            automation via cron. Implies --non-interactive.&lt;br /&gt;
            (default: False)&lt;br /&gt;
&lt;br /&gt;
=== security ===&lt;br /&gt;
 Security parameters &amp;amp; server settings&lt;br /&gt;
&lt;br /&gt;
 --rsa-key-size N   Size of the RSA key. (default: 2048)&lt;br /&gt;
 --key-type {rsa,ecdsa}&lt;br /&gt;
            Type of generated private key. Only *ONE* per&lt;br /&gt;
            invocation can be provided at this time. (default:&lt;br /&gt;
            rsa)&lt;br /&gt;
 --elliptic-curve N  The SECG elliptic curve name to use. Please see RFC&lt;br /&gt;
            8446 for supported values. (default: secp256r1)&lt;br /&gt;
 --must-staple     Adds the OCSP Must Staple extension to the&lt;br /&gt;
            certificate. Autoconfigures OCSP Stapling for&lt;br /&gt;
            supported setups (Apache version &amp;gt;= 2.3.3). (default:&lt;br /&gt;
            False)&lt;br /&gt;
 --redirect      Automatically redirect all HTTP traffic to HTTPS for&lt;br /&gt;
            the newly authenticated vhost. (default: redirect&lt;br /&gt;
            enabled for install and run, disabled for enhance)&lt;br /&gt;
 --no-redirect     Do not automatically redirect all HTTP traffic to&lt;br /&gt;
            HTTPS for the newly authenticated vhost. (default:&lt;br /&gt;
            redirect enabled for install and run, disabled for&lt;br /&gt;
            enhance)&lt;br /&gt;
 --hsts        Add the Strict-Transport-Security header to every HTTP&lt;br /&gt;
            response. Forcing browser to always use SSL for the&lt;br /&gt;
            domain. Defends against SSL Stripping. (default: None)&lt;br /&gt;
 --uir         Add the &amp;quot;Content-Security-Policy: upgrade-insecure-&lt;br /&gt;
            requests&amp;quot; header to every HTTP response. Forcing the&lt;br /&gt;
            browser to use https:// for every https:// resource.&lt;br /&gt;
            (default: None)&lt;br /&gt;
 --staple-ocsp     Enables OCSP Stapling. A valid OCSP response is&lt;br /&gt;
            stapled to the certificate that the server offers&lt;br /&gt;
            during TLS. (default: None)&lt;br /&gt;
 --strict-permissions Require that all configuration files are owned by the&lt;br /&gt;
            current user; only needed if your config is somewhere&lt;br /&gt;
            unsafe like /tmp/ (default: False)&lt;br /&gt;
 --auto-hsts      Gradually increasing max-age value for HTTP Strict&lt;br /&gt;
            Transport Security security header (default: False)&lt;br /&gt;
&lt;br /&gt;
=== testing ===&lt;br /&gt;
 The following flags are meant for testing and integration purposes only.&lt;br /&gt;
&lt;br /&gt;
 --test-cert, --staging&lt;br /&gt;
            Use the staging server to obtain or revoke test&lt;br /&gt;
            (invalid) certificates; equivalent to --server&lt;br /&gt;
            https://acme-staging-v02.api.letsencrypt.org/directory&lt;br /&gt;
            (default: False)&lt;br /&gt;
 --debug        Show tracebacks in case of errors (default: False)&lt;br /&gt;
 --no-verify-ssl    Disable verification of the ACME server&#039;s certificate.&lt;br /&gt;
            (default: False)&lt;br /&gt;
 --http-01-port HTTP01_PORT&lt;br /&gt;
            Port used in the http-01 challenge. This only affects&lt;br /&gt;
            the port Certbot listens on. A conforming ACME server&lt;br /&gt;
            will still attempt to connect on port 80. (default:&lt;br /&gt;
            80)&lt;br /&gt;
 --http-01-address HTTP01_ADDRESS&lt;br /&gt;
            The address the server listens to during http-01&lt;br /&gt;
            challenge. (default:)&lt;br /&gt;
 --https-port HTTPS_PORT&lt;br /&gt;
            Port used to serve HTTPS. This affects which port&lt;br /&gt;
            Nginx will listen on after a LE certificate is&lt;br /&gt;
            installed. (default: 443)&lt;br /&gt;
 --break-my-certs   Be willing to replace or renew valid certificates with&lt;br /&gt;
            invalid (testing/staging) certificates (default:&lt;br /&gt;
            False)&lt;br /&gt;
&lt;br /&gt;
=== paths ===&lt;br /&gt;
 Flags for changing execution paths &amp;amp; servers&lt;br /&gt;
&lt;br /&gt;
 --cert-path CERT_PATH&lt;br /&gt;
            Path to where certificate is saved (with certonly&lt;br /&gt;
            --csr), installed from, or revoked (default: None)&lt;br /&gt;
 --key-path KEY_PATH  Path to private key for certificate installation or&lt;br /&gt;
            revocation (if account key is missing) (default: None)&lt;br /&gt;
 --fullchain-path FULLCHAIN_PATH&lt;br /&gt;
            Accompanying path to a full certificate chain&lt;br /&gt;
            (certificate plus chain). (default: None)&lt;br /&gt;
 --chain-path CHAIN_PATH&lt;br /&gt;
            Accompanying path to a certificate chain. (default:&lt;br /&gt;
            None)&lt;br /&gt;
 --config-dir CONFIG_DIR&lt;br /&gt;
            Configuration directory. (default: /etc/letsencrypt)&lt;br /&gt;
 --work-dir WORK_DIR  Working directory. (default: /var/lib/letsencrypt)&lt;br /&gt;
 --logs-dir LOGS_DIR  Logs directory. (default: /var/log/letsencrypt)&lt;br /&gt;
 --server SERVER    ACME Directory Resource URI. (default:&lt;br /&gt;
            https://acme-v02.api.letsencrypt.org/directory)&lt;br /&gt;
&lt;br /&gt;
=== manage ===&lt;br /&gt;
 Various subcommands and flags are available for managing your&lt;br /&gt;
 certificates:&lt;br /&gt;
&lt;br /&gt;
 certificates     List certificates managed by Certbot&lt;br /&gt;
 delete        Clean up all files related to a certificate&lt;br /&gt;
 renew         Renew all certificates (or one specified with --cert-&lt;br /&gt;
            name)&lt;br /&gt;
 revoke        Revoke a certificate specified with --cert-path or&lt;br /&gt;
            --cert-name&lt;br /&gt;
 update_symlinks    Recreate symlinks in your /etc/letsencrypt/live/&lt;br /&gt;
            directory&lt;br /&gt;
&lt;br /&gt;
=== run ===&lt;br /&gt;
 Options for obtaining &amp;amp; installing certificates&lt;br /&gt;
&lt;br /&gt;
=== certonly ===&lt;br /&gt;
 Options for modifying how a certificate is obtained&lt;br /&gt;
&lt;br /&gt;
 --csr CSR       Path to a Certificate Signing Request (CSR) in DER or&lt;br /&gt;
            PEM format. Currently --csr only works with the&lt;br /&gt;
            &#039;certonly&#039; subcommand. (default: None)&lt;br /&gt;
&lt;br /&gt;
=== renew ===&lt;br /&gt;
 The &#039;renew&#039; subcommand will attempt to renew any certificates previously&lt;br /&gt;
 obtained if they are close to expiry, and print a summary of the results.&lt;br /&gt;
 By default, &#039;renew&#039; will reuse the plugins and options used to obtain or&lt;br /&gt;
 most recently renew each certificate. You can test whether future renewals&lt;br /&gt;
 will succeed with `--dry-run`. Individual certificates can be renewed with&lt;br /&gt;
 the `--cert-name` option. Hooks are available to run commands before and&lt;br /&gt;
 after renewal; see https://certbot.eff.org/docs/using.html#renewal for&lt;br /&gt;
 more information on these.&lt;br /&gt;
&lt;br /&gt;
 --pre-hook PRE_HOOK  Command to be run in a shell before obtaining any&lt;br /&gt;
            certificates. Intended primarily for renewal, where it&lt;br /&gt;
            can be used to temporarily shut down a webserver that&lt;br /&gt;
            might conflict with the standalone plugin. This will&lt;br /&gt;
            only be called if a certificate is actually to be&lt;br /&gt;
            obtained/renewed. When renewing several certificates&lt;br /&gt;
            that have identical pre-hooks, only the first will be&lt;br /&gt;
            executed. (default: None)&lt;br /&gt;
 --post-hook POST_HOOK&lt;br /&gt;
            Command to be run in a shell after attempting to&lt;br /&gt;
            obtain/renew certificates. Can be used to deploy&lt;br /&gt;
            renewed certificates, or to restart any servers that&lt;br /&gt;
            were stopped by --pre-hook. This is only run if an&lt;br /&gt;
            attempt was made to obtain/renew a certificate. If&lt;br /&gt;
            multiple renewed certificates have identical post-&lt;br /&gt;
            hooks, only one will be run. (default: None)&lt;br /&gt;
 --deploy-hook DEPLOY_HOOK&lt;br /&gt;
            Command to be run in a shell once for each&lt;br /&gt;
            successfully issued certificate. For this command, the&lt;br /&gt;
            shell variable $RENEWED_LINEAGE will point to the&lt;br /&gt;
            config live subdirectory (for example,&lt;br /&gt;
            &amp;quot;/etc/letsencrypt/live/example.com&amp;quot;) containing the&lt;br /&gt;
            new certificates and keys; the shell variable&lt;br /&gt;
            $RENEWED_DOMAINS will contain a space-delimited list&lt;br /&gt;
            of renewed certificate domains (for example,&lt;br /&gt;
            &amp;quot;example.com www.example.com&amp;quot; (default: None)&lt;br /&gt;
 --disable-hook-validation&lt;br /&gt;
            Ordinarily the commands specified for --pre-&lt;br /&gt;
            hook/--post-hook/--deploy-hook will be checked for&lt;br /&gt;
            validity, to see if the programs being run are in the&lt;br /&gt;
            $PATH, so that mistakes can be caught early, even when&lt;br /&gt;
            the hooks aren&#039;t being run just yet. The validation is&lt;br /&gt;
            rather simplistic and fails if you use more advanced&lt;br /&gt;
            shell constructs, so you can use this switch to&lt;br /&gt;
            disable it. (default: False)&lt;br /&gt;
 --no-directory-hooks Disable running executables found in Certbot&#039;s hook&lt;br /&gt;
            directories during renewal. (default: False)&lt;br /&gt;
 --disable-renew-updates&lt;br /&gt;
            Disable automatic updates to your server configuration&lt;br /&gt;
            that would otherwise be done by the selected installer&lt;br /&gt;
            plugin, and triggered when the user executes &amp;quot;certbot&lt;br /&gt;
            renew&amp;quot;, regardless of if the certificate is renewed.&lt;br /&gt;
            This setting does not apply to important TLS&lt;br /&gt;
            configuration updates. (default: False)&lt;br /&gt;
 --no-autorenew    Disable auto renewal of certificates. (default: True)&lt;br /&gt;
&lt;br /&gt;
=== certificates ===&lt;br /&gt;
 List certificates managed by Certbot&lt;br /&gt;
&lt;br /&gt;
=== delete ===&lt;br /&gt;
 Options for deleting a certificate&lt;br /&gt;
&lt;br /&gt;
=== revoke ===&lt;br /&gt;
 Options for revocation of certificates&lt;br /&gt;
&lt;br /&gt;
 --reason {unspecified,keycompromise,affiliationchanged,superseded,cessationofoperation}&lt;br /&gt;
            Specify reason for revoking certificate. (default:&lt;br /&gt;
            unspecified)&lt;br /&gt;
 --delete-after-revoke&lt;br /&gt;
            Delete certificates after revoking them, along with&lt;br /&gt;
            all previous and later versions of those certificates.&lt;br /&gt;
            (default: None)&lt;br /&gt;
 --no-delete-after-revoke&lt;br /&gt;
            Do not delete certificates after revoking them. This&lt;br /&gt;
            option should be used with caution because the &#039;renew&#039;&lt;br /&gt;
            subcommand will attempt to renew undeleted revoked&lt;br /&gt;
            certificates. (default: None)&lt;br /&gt;
&lt;br /&gt;
=== register ===&lt;br /&gt;
 Options for account registration&lt;br /&gt;
&lt;br /&gt;
 --register-unsafely-without-email&lt;br /&gt;
            Specifying this flag enables registering an account&lt;br /&gt;
            with no email address. This is strongly discouraged,&lt;br /&gt;
            because you will be unable to receive notice about&lt;br /&gt;
            impending expiration or revocation of your&lt;br /&gt;
            certificates or problems with your Certbot&lt;br /&gt;
            installation that will lead to failure to renew.&lt;br /&gt;
            (default: False)&lt;br /&gt;
 -m EMAIL, --email EMAIL&lt;br /&gt;
            Email used for registration and recovery contact. Use&lt;br /&gt;
            comma to register multiple emails, ex:&lt;br /&gt;
            u1@example.com,u2@example.com. (default: Ask).&lt;br /&gt;
 --eff-email      Share your e-mail address with EFF (default: None)&lt;br /&gt;
 --no-eff-email    Don&#039;t share your e-mail address with EFF (default:&lt;br /&gt;
            None)&lt;br /&gt;
&lt;br /&gt;
=== update_account ===&lt;br /&gt;
 Options for account modification&lt;br /&gt;
&lt;br /&gt;
=== unregister ===&lt;br /&gt;
 Options for account deactivation.&lt;br /&gt;
&lt;br /&gt;
 --account ACCOUNT_ID Account ID to use (default: None)&lt;br /&gt;
&lt;br /&gt;
=== install ===&lt;br /&gt;
 Options for modifying how a certificate is deployed&lt;br /&gt;
&lt;br /&gt;
=== rollback ===&lt;br /&gt;
 Options for rolling back server configuration changes&lt;br /&gt;
&lt;br /&gt;
 --checkpoints N    Revert configuration N number of checkpoints.&lt;br /&gt;
            (default: 1)&lt;br /&gt;
&lt;br /&gt;
=== plugins ===&lt;br /&gt;
 Options for the &amp;quot;plugins&amp;quot; subcommand&lt;br /&gt;
&lt;br /&gt;
 --init        Initialize plugins. (default: False)&lt;br /&gt;
 --prepare       Initialize and prepare plugins. (default: False)&lt;br /&gt;
 --authenticators   Limit to authenticator plugins only. (default: None)&lt;br /&gt;
 --installers     Limit to installer plugins only. (default: None)&lt;br /&gt;
&lt;br /&gt;
=== update_symlinks ===&lt;br /&gt;
 Recreates certificate and key symlinks in /etc/letsencrypt/live, if you&lt;br /&gt;
 changed them by hand or edited a renewal configuration file&lt;br /&gt;
&lt;br /&gt;
=== enhance ===&lt;br /&gt;
 Helps to harden the TLS configuration by adding security enhancements to&lt;br /&gt;
 already existing configuration.&lt;br /&gt;
&lt;br /&gt;
=== show_account ===&lt;br /&gt;
 Options useful for the &amp;quot;show_account&amp;quot; subcommand:&lt;br /&gt;
&lt;br /&gt;
=== plugins ===&lt;br /&gt;
 Plugin Selection: Certbot client supports an extensible plugins&lt;br /&gt;
 architecture. See &#039;certbot plugins&#039; for a list of all installed plugins&lt;br /&gt;
 and their names. You can force a particular plugin by setting options&lt;br /&gt;
 provided below. Running --help &amp;lt;plugin_name&amp;gt; will list flags specific to&lt;br /&gt;
 that plugin.&lt;br /&gt;
&lt;br /&gt;
 --configurator CONFIGURATOR&lt;br /&gt;
            Name of the plugin that is both an authenticator and&lt;br /&gt;
            an installer. Should not be used together with&lt;br /&gt;
            --authenticator or --installer. (default: Ask)&lt;br /&gt;
 -a AUTHENTICATOR, --authenticator AUTHENTICATOR&lt;br /&gt;
            Authenticator plugin name. (default: None)&lt;br /&gt;
 -i INSTALLER, --installer INSTALLER&lt;br /&gt;
            Installer plugin name (also used to find domains).&lt;br /&gt;
            (default: None)&lt;br /&gt;
 --apache       Obtain and install certificates using Apache (default:&lt;br /&gt;
            False)&lt;br /&gt;
 --nginx        Obtain and install certificates using Nginx (default:&lt;br /&gt;
            False)&lt;br /&gt;
 --standalone     Obtain certificates using a &amp;quot;standalone&amp;quot; webserver.&lt;br /&gt;
            (default: False)&lt;br /&gt;
 --manual       Provide laborious manual instructions for obtaining a&lt;br /&gt;
            certificate (default: False)&lt;br /&gt;
 --webroot       Obtain certificates by placing files in a webroot&lt;br /&gt;
            directory. (default: False)&lt;br /&gt;
 --dns-cloudflare   Obtain certificates using a DNS TXT record (if you are&lt;br /&gt;
            using Cloudflare for DNS). (default: False)&lt;br /&gt;
 --dns-cloudxns    Obtain certificates using a DNS TXT record (if you are&lt;br /&gt;
            using CloudXNS for DNS). (default: False)&lt;br /&gt;
 --dns-digitalocean  Obtain certificates using a DNS TXT record (if you are&lt;br /&gt;
            using DigitalOcean for DNS). (default: False)&lt;br /&gt;
 --dns-dnsimple    Obtain certificates using a DNS TXT record (if you are&lt;br /&gt;
            using DNSimple for DNS). (default: False)&lt;br /&gt;
 --dns-dnsmadeeasy   Obtain certificates using a DNS TXT record (if you are&lt;br /&gt;
            using DNS Made Easy for DNS). (default: False)&lt;br /&gt;
 --dns-gehirn     Obtain certificates using a DNS TXT record (if you are&lt;br /&gt;
            using Gehirn Infrastructure Service for DNS).&lt;br /&gt;
            (default: False)&lt;br /&gt;
 --dns-google     Obtain certificates using a DNS TXT record (if you are&lt;br /&gt;
            using Google Cloud DNS). (default: False)&lt;br /&gt;
 --dns-linode     Obtain certificates using a DNS TXT record (if you are&lt;br /&gt;
            using Linode for DNS). (default: False)&lt;br /&gt;
 --dns-luadns     Obtain certificates using a DNS TXT record (if you are&lt;br /&gt;
            using LuaDNS for DNS). (default: False)&lt;br /&gt;
 --dns-nsone      Obtain certificates using a DNS TXT record (if you are&lt;br /&gt;
            using NS1 for DNS). (default: False)&lt;br /&gt;
 --dns-ovh       Obtain certificates using a DNS TXT record (if you are&lt;br /&gt;
            using OVH for DNS). (default: False)&lt;br /&gt;
 --dns-rfc2136     Obtain certificates using a DNS TXT record (if you are&lt;br /&gt;
            using BIND for DNS). (default: False)&lt;br /&gt;
 --dns-route53     Obtain certificates using a DNS TXT record (if you are&lt;br /&gt;
            using Route53 for DNS). (default: False)&lt;br /&gt;
 --dns-sakuracloud   Obtain certificates using a DNS TXT record (if you are&lt;br /&gt;
            using Sakura Cloud for DNS). (default: False)&lt;br /&gt;
&lt;br /&gt;
=== apache ===&lt;br /&gt;
 Apache Web Server plugin (Please note that the default values of the&lt;br /&gt;
 Apache plugin options change depending on the operating system Certbot is&lt;br /&gt;
 run on.)&lt;br /&gt;
&lt;br /&gt;
 --apache-enmod APACHE_ENMOD&lt;br /&gt;
            Path to the Apache &#039;a2enmod&#039; binary (default: None)&lt;br /&gt;
 --apache-dismod APACHE_DISMOD&lt;br /&gt;
            Path to the Apache &#039;a2dismod&#039; binary (default: None)&lt;br /&gt;
 --apache-le-vhost-ext APACHE_LE_VHOST_EXT&lt;br /&gt;
            SSL vhost configuration extension (default: -le-&lt;br /&gt;
            ssl.conf)&lt;br /&gt;
 --apache-server-root APACHE_SERVER_ROOT&lt;br /&gt;
            Apache server root directory (default: /etc/apache2)&lt;br /&gt;
 --apache-vhost-root APACHE_VHOST_ROOT&lt;br /&gt;
            Apache server VirtualHost configuration root (default:&lt;br /&gt;
            None)&lt;br /&gt;
 --apache-logs-root APACHE_LOGS_ROOT&lt;br /&gt;
            Apache server logs directory (default:&lt;br /&gt;
            /var/log/apache2)&lt;br /&gt;
 --apache-challenge-location APACHE_CHALLENGE_LOCATION&lt;br /&gt;
            Directory path for challenge configuration (default:&lt;br /&gt;
            /etc/apache2)&lt;br /&gt;
 --apache-handle-modules APACHE_HANDLE_MODULES&lt;br /&gt;
            Let installer handle enabling required modules for you&lt;br /&gt;
            (Only Ubuntu/Debian currently) (default: False)&lt;br /&gt;
 --apache-handle-sites APACHE_HANDLE_SITES&lt;br /&gt;
            Let installer handle enabling sites for you (Only&lt;br /&gt;
            Ubuntu/Debian currently) (default: False)&lt;br /&gt;
 --apache-ctl APACHE_CTL&lt;br /&gt;
            Full path to Apache control script (default:&lt;br /&gt;
            apache2ctl)&lt;br /&gt;
 --apache-bin APACHE_BIN&lt;br /&gt;
            Full path to apache2/httpd binary (default: None)&lt;br /&gt;
&lt;br /&gt;
=== dns-cloudflare ===&lt;br /&gt;
 Obtain certificates using a DNS TXT record (if you are using Cloudflare&lt;br /&gt;
 for DNS).&lt;br /&gt;
&lt;br /&gt;
 --dns-cloudflare-propagation-seconds DNS_CLOUDFLARE_PROPAGATION_SECONDS&lt;br /&gt;
            The number of seconds to wait for DNS to propagate&lt;br /&gt;
            before asking the ACME server to verify the DNS&lt;br /&gt;
            record. (default: 10)&lt;br /&gt;
 --dns-cloudflare-credentials DNS_CLOUDFLARE_CREDENTIALS&lt;br /&gt;
            Cloudflare credentials INI file. (default: None)&lt;br /&gt;
&lt;br /&gt;
=== dns-cloudxns ===&lt;br /&gt;
 Obtain certificates using a DNS TXT record (if you are using CloudXNS for&lt;br /&gt;
 DNS).&lt;br /&gt;
&lt;br /&gt;
 --dns-cloudxns-propagation-seconds DNS_CLOUDXNS_PROPAGATION_SECONDS&lt;br /&gt;
            The number of seconds to wait for DNS to propagate&lt;br /&gt;
            before asking the ACME server to verify the DNS&lt;br /&gt;
            record. (default: 30)&lt;br /&gt;
 --dns-cloudxns-credentials DNS_CLOUDXNS_CREDENTIALS&lt;br /&gt;
            CloudXNS credentials INI file. (default: None)&lt;br /&gt;
&lt;br /&gt;
=== dns-digitalocean ===&lt;br /&gt;
 Obtain certificates using a DNS TXT record (if you are using DigitalOcean&lt;br /&gt;
 for DNS).&lt;br /&gt;
&lt;br /&gt;
 --dns-digitalocean-propagation-seconds DNS_DIGITALOCEAN_PROPAGATION_SECONDS&lt;br /&gt;
            The number of seconds to wait for DNS to propagate&lt;br /&gt;
            before asking the ACME server to verify the DNS&lt;br /&gt;
            record. (default: 10)&lt;br /&gt;
 --dns-digitalocean-credentials DNS_DIGITALOCEAN_CREDENTIALS&lt;br /&gt;
            DigitalOcean credentials INI file. (default: None)&lt;br /&gt;
&lt;br /&gt;
=== dns-dnsimple ===&lt;br /&gt;
 Obtain certificates using a DNS TXT record (if you are using DNSimple for&lt;br /&gt;
 DNS).&lt;br /&gt;
&lt;br /&gt;
 --dns-dnsimple-propagation-seconds DNS_DNSIMPLE_PROPAGATION_SECONDS&lt;br /&gt;
            The number of seconds to wait for DNS to propagate&lt;br /&gt;
            before asking the ACME server to verify the DNS&lt;br /&gt;
            record. (default: 30)&lt;br /&gt;
 --dns-dnsimple-credentials DNS_DNSIMPLE_CREDENTIALS&lt;br /&gt;
            DNSimple credentials INI file. (default: None)&lt;br /&gt;
&lt;br /&gt;
=== dns-dnsmadeeasy ===&lt;br /&gt;
 Obtain certificates using a DNS TXT record (if you are using DNS Made Easy&lt;br /&gt;
 for DNS).&lt;br /&gt;
&lt;br /&gt;
 --dns-dnsmadeeasy-propagation-seconds DNS_DNSMADEEASY_PROPAGATION_SECONDS&lt;br /&gt;
            The number of seconds to wait for DNS to propagate&lt;br /&gt;
            before asking the ACME server to verify the DNS&lt;br /&gt;
            record. (default: 60)&lt;br /&gt;
 --dns-dnsmadeeasy-credentials DNS_DNSMADEEASY_CREDENTIALS&lt;br /&gt;
            DNS Made Easy credentials INI file. (default: None)&lt;br /&gt;
&lt;br /&gt;
=== dns-gehirn ===&lt;br /&gt;
 Obtain certificates using a DNS TXT record (if you are using Gehirn&lt;br /&gt;
 Infrastructure Service for DNS).&lt;br /&gt;
&lt;br /&gt;
 --dns-gehirn-propagation-seconds DNS_GEHIRN_PROPAGATION_SECONDS&lt;br /&gt;
            The number of seconds to wait for DNS to propagate&lt;br /&gt;
            before asking the ACME server to verify the DNS&lt;br /&gt;
            record. (default: 30)&lt;br /&gt;
 --dns-gehirn-credentials DNS_GEHIRN_CREDENTIALS&lt;br /&gt;
            Gehirn Infrastructure Service credentials file.&lt;br /&gt;
            (default: None)&lt;br /&gt;
&lt;br /&gt;
=== dns-google ===&lt;br /&gt;
 Obtain certificates using a DNS TXT record (if you are using Google Cloud&lt;br /&gt;
 DNS for DNS).&lt;br /&gt;
&lt;br /&gt;
 --dns-google-propagation-seconds DNS_GOOGLE_PROPAGATION_SECONDS&lt;br /&gt;
            The number of seconds to wait for DNS to propagate&lt;br /&gt;
            before asking the ACME server to verify the DNS&lt;br /&gt;
            record. (default: 60)&lt;br /&gt;
 --dns-google-credentials DNS_GOOGLE_CREDENTIALS&lt;br /&gt;
            Path to Google Cloud DNS service account JSON file.&lt;br /&gt;
            (See https://developers.google.com/identity/protocols/&lt;br /&gt;
            OAuth2ServiceAccount#creatinganaccount forinformation&lt;br /&gt;
            about creating a service account and&lt;br /&gt;
            https://cloud.google.com/dns/access-&lt;br /&gt;
            control#permissions_and_roles for information about&lt;br /&gt;
            therequired permissions.) (default: None)&lt;br /&gt;
&lt;br /&gt;
=== dns-linode ===&lt;br /&gt;
 Obtain certificates using a DNS TXT record (if you are using Linode for&lt;br /&gt;
 DNS).&lt;br /&gt;
&lt;br /&gt;
 --dns-linode-propagation-seconds DNS_LINODE_PROPAGATION_SECONDS&lt;br /&gt;
            The number of seconds to wait for DNS to propagate&lt;br /&gt;
            before asking the ACME server to verify the DNS&lt;br /&gt;
            record. (default: 120)&lt;br /&gt;
 --dns-linode-credentials DNS_LINODE_CREDENTIALS&lt;br /&gt;
            Linode credentials INI file. (default: None)&lt;br /&gt;
&lt;br /&gt;
=== dns-luadns ===&lt;br /&gt;
 Obtain certificates using a DNS TXT record (if you are using LuaDNS for&lt;br /&gt;
 DNS).&lt;br /&gt;
&lt;br /&gt;
 --dns-luadns-propagation-seconds DNS_LUADNS_PROPAGATION_SECONDS&lt;br /&gt;
            The number of seconds to wait for DNS to propagate&lt;br /&gt;
            before asking the ACME server to verify the DNS&lt;br /&gt;
            record. (default: 30)&lt;br /&gt;
 --dns-luadns-credentials DNS_LUADNS_CREDENTIALS&lt;br /&gt;
            LuaDNS credentials INI file. (default: None)&lt;br /&gt;
&lt;br /&gt;
=== dns-nsone ===&lt;br /&gt;
 Obtain certificates using a DNS TXT record (if you are using NS1 for DNS).&lt;br /&gt;
&lt;br /&gt;
 --dns-nsone-propagation-seconds DNS_NSONE_PROPAGATION_SECONDS&lt;br /&gt;
            The number of seconds to wait for DNS to propagate&lt;br /&gt;
            before asking the ACME server to verify the DNS&lt;br /&gt;
            record. (default: 30)&lt;br /&gt;
 --dns-nsone-credentials DNS_NSONE_CREDENTIALS&lt;br /&gt;
            NS1 credentials file. (default: None)&lt;br /&gt;
&lt;br /&gt;
=== dns-ovh ===&lt;br /&gt;
 Obtain certificates using a DNS TXT record (if you are using OVH for DNS).&lt;br /&gt;
&lt;br /&gt;
 --dns-ovh-propagation-seconds DNS_OVH_PROPAGATION_SECONDS&lt;br /&gt;
            The number of seconds to wait for DNS to propagate&lt;br /&gt;
            before asking the ACME server to verify the DNS&lt;br /&gt;
            record. (default: 30)&lt;br /&gt;
 --dns-ovh-credentials DNS_OVH_CREDENTIALS&lt;br /&gt;
            OVH credentials INI file. (default: None)&lt;br /&gt;
&lt;br /&gt;
=== dns-rfc2136 ===&lt;br /&gt;
 Obtain certificates using a DNS TXT record (if you are using BIND for&lt;br /&gt;
 DNS).&lt;br /&gt;
&lt;br /&gt;
 --dns-rfc2136-propagation-seconds DNS_RFC2136_PROPAGATION_SECONDS&lt;br /&gt;
            The number of seconds to wait for DNS to propagate&lt;br /&gt;
            before asking the ACME server to verify the DNS&lt;br /&gt;
            record. (default: 60)&lt;br /&gt;
 --dns-rfc2136-credentials DNS_RFC2136_CREDENTIALS&lt;br /&gt;
            RFC 2136 credentials INI file. (default: None)&lt;br /&gt;
&lt;br /&gt;
=== dns-route53 ===&lt;br /&gt;
 Obtain certificates using a DNS TXT record (if you are using AWS Route53&lt;br /&gt;
 for DNS).&lt;br /&gt;
&lt;br /&gt;
 --dns-route53-propagation-seconds DNS_ROUTE53_PROPAGATION_SECONDS&lt;br /&gt;
            The number of seconds to wait for DNS to propagate&lt;br /&gt;
            before asking the ACME server to verify the DNS&lt;br /&gt;
            record. (default: 10)&lt;br /&gt;
&lt;br /&gt;
=== dns-sakuracloud ===&lt;br /&gt;
 Obtain certificates using a DNS TXT record (if you are using Sakura Cloud&lt;br /&gt;
 for DNS).&lt;br /&gt;
&lt;br /&gt;
 --dns-sakuracloud-propagation-seconds DNS_SAKURACLOUD_PROPAGATION_SECONDS&lt;br /&gt;
            The number of seconds to wait for DNS to propagate&lt;br /&gt;
            before asking the ACME server to verify the DNS&lt;br /&gt;
            record. (default: 90)&lt;br /&gt;
 --dns-sakuracloud-credentials DNS_SAKURACLOUD_CREDENTIALS&lt;br /&gt;
            Sakura Cloud credentials file. (default: None)&lt;br /&gt;
&lt;br /&gt;
=== manual ===&lt;br /&gt;
 Authenticate through manual configuration or custom shell scripts. When&lt;br /&gt;
 using shell scripts, an authenticator script must be provided. The&lt;br /&gt;
 environment variables available to this script depend on the type of&lt;br /&gt;
 challenge. $CERTBOT_DOMAIN will always contain the domain being&lt;br /&gt;
 authenticated. For HTTP-01 and DNS-01, $CERTBOT_VALIDATION is the&lt;br /&gt;
 validation string, and $CERTBOT_TOKEN is the filename of the resource&lt;br /&gt;
 requested when performing an HTTP-01 challenge. An additional cleanup&lt;br /&gt;
 script can also be provided and can use the additional variable&lt;br /&gt;
 $CERTBOT_AUTH_OUTPUT which contains the stdout output from the auth&lt;br /&gt;
 script. For both authenticator and cleanup script, on HTTP-01 and DNS-01&lt;br /&gt;
 challenges, $CERTBOT_REMAINING_CHALLENGES will be equal to the number of&lt;br /&gt;
 challenges that remain after the current one, and $CERTBOT_ALL_DOMAINS&lt;br /&gt;
 contains a comma-separated list of all domains that are challenged for the&lt;br /&gt;
 current certificate.&lt;br /&gt;
&lt;br /&gt;
 --manual-auth-hook MANUAL_AUTH_HOOK&lt;br /&gt;
            Path or command to execute for the authentication&lt;br /&gt;
            script (default: None)&lt;br /&gt;
 --manual-cleanup-hook MANUAL_CLEANUP_HOOK&lt;br /&gt;
            Path or command to execute for the cleanup script&lt;br /&gt;
            (default: None)&lt;br /&gt;
&lt;br /&gt;
=== nginx ===&lt;br /&gt;
 Nginx Web Server plugin&lt;br /&gt;
&lt;br /&gt;
 --nginx-server-root Nginx_SERVER_ROOT&lt;br /&gt;
            Nginx server root directory. (default: /etc/nginx or&lt;br /&gt;
            /usr/local/etc/nginx)&lt;br /&gt;
 --nginx-ctl Nginx_CTL&lt;br /&gt;
            Path to the &#039;nginx&#039; binary, used for &#039;configtest&#039; and&lt;br /&gt;
            retrieving nginx version number. (default: nginx)&lt;br /&gt;
 --nginx-sleep-seconds Nginx_SLEEP_SECONDS&lt;br /&gt;
            Number of seconds to wait for nginx configuration&lt;br /&gt;
            changes to apply when reloading. (default: 1)&lt;br /&gt;
&lt;br /&gt;
=== null ===&lt;br /&gt;
 Null Installer&lt;br /&gt;
&lt;br /&gt;
=== standalone ===&lt;br /&gt;
 Spin up a temporary webserver&lt;br /&gt;
&lt;br /&gt;
=== webroot ===&lt;br /&gt;
 Place files in webroot directory&lt;br /&gt;
&lt;br /&gt;
 --webroot-path WEBROOT_PATH, -w WEBROOT_PATH&lt;br /&gt;
            public_html / webroot path. This can be specified&lt;br /&gt;
            multiple times to handle different domains; each&lt;br /&gt;
            domain will have the webroot path that preceded it.&lt;br /&gt;
            For instance: `-w /var/www/example -d example.com -d&lt;br /&gt;
            www.example.com -w /var/www/thing -d thing.net -d&lt;br /&gt;
            m.thing.net` (default: Ask)&lt;br /&gt;
 --webroot-map WEBROOT_MAP&lt;br /&gt;
            JSON dictionary mapping domains to webroot paths; this&lt;br /&gt;
            implies -d for each entry. You may need to escape this&lt;br /&gt;
            from your shell. E.g.: --webroot-map&lt;br /&gt;
            &#039;{&amp;quot;eg1.is,m.eg1.is&amp;quot;:&amp;quot;/www/eg1/&amp;quot;, &amp;quot;eg2.is&amp;quot;:&amp;quot;/www/eg2&amp;quot;}&#039;&lt;br /&gt;
            This option is merged with, but takes precedence over,&lt;br /&gt;
            -w / -d entries. At present, if you put webroot-map in&lt;br /&gt;
            a config file, it needs to be on a single line, like:&lt;br /&gt;
            webroot-map = {&amp;quot;example.com&amp;quot;:&amp;quot;/var/www&amp;quot;}. (default:&lt;br /&gt;
            {})&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Let&#039;s Encrypt]]&lt;br /&gt;
[[Kategorie:Linux/Befehl]]&lt;br /&gt;
[[Kategorie:Kryptografie/Anwendung]]&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=Coturn&amp;diff=167939</id>
		<title>Coturn</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=Coturn&amp;diff=167939"/>
		<updated>2026-06-17T08:40:48Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: Textersetzung - „ )“ durch „)“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Coturn&#039;&#039;&#039; - ist ein TURN-Server/Gateway für VoIP-Medienverkehr-NAT-Traversal &lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
; TURN-Server und -Gateway für den Netzwerkverkehr&lt;br /&gt;
* Free open source Implementation of TURN and STUN Server&lt;br /&gt;
&lt;br /&gt;
; Entwickelte sich aus dem rfc5766-turn-server Projekt&lt;br /&gt;
* https://code.google.com/p/rfc5766-turn-server/&lt;br /&gt;
&lt;br /&gt;
; Es gibt viele neue erweiterte TURN-Spezifikationen, die weit über das ursprüngliche RFC 5766-Dokument hinausgehen&lt;br /&gt;
* Dieses Projekt nimmt den Code von rfc5766-turn-server als Ausgangspunkt und fügt ihm neue erweiterte Funktionen hinzu&lt;br /&gt;
* Eine Online-Verwaltungsschnittstelle (über Telnet oder über HTTPS) für den TURN-Server ist verfügbar&lt;br /&gt;
* Enthält auch einige zusätzliche experimentelle Funktionen&lt;br /&gt;
&lt;br /&gt;
; Ziele&lt;br /&gt;
* Die Implementierung soll einfach, leicht zu installieren und konfigurieren sein&lt;br /&gt;
* Der Schwerpunkt des Projekts liegt auf Leistung, Skalierbarkeit und Einfachheit&lt;br /&gt;
* Ziel ist es, eine unternehmenstaugliche TURN-Lösung bereitzustellen&lt;br /&gt;
&lt;br /&gt;
; Projekte, die TURN/STUN verwenden&lt;br /&gt;
* [[:Kategorie:Nextcloud/Talk | Nextcloud-Talk]]&lt;br /&gt;
* [[:Kategorie:BigBlueButton|Big Blue Button]]&lt;br /&gt;
* Jitsi-Meeting&lt;br /&gt;
* Matrix-Server&lt;br /&gt;
* Ejabberd&lt;br /&gt;
&lt;br /&gt;
; Voraussetzungen&lt;br /&gt;
* Mindestens ein kleiner virtueller Server mit einer Root-Shell&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
 # apt install coturn&lt;br /&gt;
&lt;br /&gt;
== Konfiguration ==&lt;br /&gt;
=== Annahmen ===&lt;br /&gt;
* Domain: example.com&lt;br /&gt;
* Server-IPv4: 10.0.0.1&lt;br /&gt;
* Server-IPv6: 2001:db8:1234::1&lt;br /&gt;
* Öffentliche Client-IPv4: 78.47.166.55&lt;br /&gt;
* Private Client-IPv4: 192.168.0.10&lt;br /&gt;
=== Konfigurationsdatei ===&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/turnserver.conf&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Es sind viele Optionen in der Standardkonfigurationsdatei dokumentiert&lt;br /&gt;
&lt;br /&gt;
Verwenden Sie die folgende Datei für &amp;lt;tt&amp;gt;/etc/turnserver.conf&amp;lt;/tt&amp;gt; und nehmen Sie folgende Änderungen vor:&lt;br /&gt;
* Ersetzen &#039;&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;turn.example.com&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&#039; mit dem Hostnamen Ihres TURN-Servers und &lt;br /&gt;
* Ersetzen &#039;&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;example.com&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&#039; mit dem Bereich Ihres TURN-Servers und &lt;br /&gt;
* Ersetzen &#039;&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;secret_value&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&#039; auf einen zufälligen Wert für ein gemeinsames Geheimnis&lt;br /&gt;
** Sie können einen durch Ausführen generieren &amp;lt;tt&amp;gt;openssl rand -hex 16&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Ersetzen &#039;&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;IP&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&#039; mit der externen IP Ihres TURN-Servers &lt;br /&gt;
&lt;br /&gt;
Diese Konfigurationsdatei setzt voraus, dass sich Ihr TURN-Server nicht hinter NAT befindet und eine öffentliche IP-Adresse hat. &lt;br /&gt;
 listening-port=3478&lt;br /&gt;
 tls-listening-port=443&lt;br /&gt;
 &lt;br /&gt;
 listening-ip=$IP&lt;br /&gt;
 relay-ip=$IP&lt;br /&gt;
 &lt;br /&gt;
 # If the server is behind NAT, you need to specify the external IP address.&lt;br /&gt;
 # If there is only one external address, specify it like this:&lt;br /&gt;
 #external-ip=172.17.19.120&lt;br /&gt;
 # If you have multiple external addresses, you have to specify which&lt;br /&gt;
 # internal address each corresponds to, like this. The first address is the&lt;br /&gt;
 # external ip, and the second address is the corresponding internal IP.&lt;br /&gt;
 #external-ip=172.17.19.131/10.0.0.11&lt;br /&gt;
 #external-ip=172.17.18.132/10.0.0.12&lt;br /&gt;
 &lt;br /&gt;
 min-port=32769&lt;br /&gt;
 max-port=65535&lt;br /&gt;
 verbose&lt;br /&gt;
 &lt;br /&gt;
 fingerprint&lt;br /&gt;
 lt-cred-mech&lt;br /&gt;
 use-auth-secret&lt;br /&gt;
 static-auth-secret=&amp;lt;secret_value&amp;gt;&lt;br /&gt;
 realm=&amp;lt;example.com&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 cert=/etc/turnserver/fullchain.pem&lt;br /&gt;
 pkey=/etc/turnserver/privkey.pem&lt;br /&gt;
 From https://ssl-config.mozilla.org/ Intermediate, openssl 1.1.0g, 2020-01&lt;br /&gt;
 cipher-list=&amp;quot;ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384&amp;quot; dh-file=/etc/turnserver/dhp.pem&lt;br /&gt;
 &lt;br /&gt;
 keep-address-family&lt;br /&gt;
 no-cli&lt;br /&gt;
 no-tlsv1&lt;br /&gt;
 no-tlsv1_1&lt;br /&gt;
 &lt;br /&gt;
 # Block connections to IP ranges which shouldn&#039;t be reachable&lt;br /&gt;
 no-loopback-peers&lt;br /&gt;
 no-multicast-peers&lt;br /&gt;
 # CVE-2020-26262&lt;br /&gt;
 # If running coturn version older than 4.5.2, uncomment these rules and ensure&lt;br /&gt;
 # that you have listening-ip set to ipv4 addresses only.&lt;br /&gt;
 #denied-peer-ip=0.0.0.0-0.255.255.255&lt;br /&gt;
 #denied-peer-ip=127.0.0.0-127.255.255.255&lt;br /&gt;
 #denied-peer-ip=::1&lt;br /&gt;
 # Private (LAN) addresses&lt;br /&gt;
 # If you are running BigBlueButton within a LAN, you might need to add an &amp;quot;allow&amp;quot; rule for your address range.&lt;br /&gt;
 # IPv4 Private-Use&lt;br /&gt;
 denied-peer-ip=10.0.0.0-10.255.255.255&lt;br /&gt;
 denied-peer-ip=172.16.0.0-172.31.255.255&lt;br /&gt;
 denied-peer-ip=192.168.0.0-192.168.255.255&lt;br /&gt;
 # Other IPv4 Special-Purpose addresses&lt;br /&gt;
 denied-peer-ip=100.64.0.0-100.127.255.255&lt;br /&gt;
 denied-peer-ip=169.254.0.0-169.254.255.255&lt;br /&gt;
 denied-peer-ip=192.0.0.0-192.0.0.255&lt;br /&gt;
 denied-peer-ip=192.0.2.0-192.0.2.255&lt;br /&gt;
 denied-peer-ip=198.18.0.0-198.19.255.255&lt;br /&gt;
 denied-peer-ip=198.51.100.0-198.51.100.255&lt;br /&gt;
 denied-peer-ip=203.0.113.0-203.0.113.255&lt;br /&gt;
 # IPv6 Unique-Local&lt;br /&gt;
 denied-peer-ip=fc00::-fdff:ffff:ffff:ffff:ffff:ffff:ffff:ffff&lt;br /&gt;
 # IPv6 Link-Local Unicast&lt;br /&gt;
 denied-peer-ip=fe80::-febf:ffff:ffff:ffff:ffff:ffff:ffff:ffff&lt;br /&gt;
 # Other IPv6 Special-Purpose assignments&lt;br /&gt;
 denied-peer-ip=::ffff:0:0-::ffff:ffff:ffff&lt;br /&gt;
 denied-peer-ip=64:ff9b::-64:ff9b::ffff:ffff&lt;br /&gt;
 denied-peer-ip=64:ff9b:1::-64:ff9b:1:ffff:ffff:ffff:ffff:ffff&lt;br /&gt;
 denied-peer-ip=2001::-2001:1ff:ffff:ffff:ffff:ffff:ffff:ffff&lt;br /&gt;
 denied-peer-ip=2001:db8::-2001:db8:ffff:ffff:ffff:ffff:ffff:ffff&lt;br /&gt;
 denied-peer-ip=2002::-2002:ffff:ffff:ffff:ffff:ffff:ffff:ffff&lt;br /&gt;
&lt;br /&gt;
=== DNS ===&lt;br /&gt;
* Es wird ein vollständig qualifizierten Domänennamen benötigt&lt;br /&gt;
** der in die externe IP-Adresse Ihres Turn-Servers aufgelöst&lt;br /&gt;
* Mit diesem Domänennamen werden TLS-Zertifikat mit Let&#039;s Encrypt erstellt&lt;br /&gt;
&lt;br /&gt;
==== Allgemeine DNS-Einträge ====&lt;br /&gt;
 turn.example.com. 14400 IN A  10.0.0.1&lt;br /&gt;
 turn.example.com. 14400 IN AAAA 2001:db8:1234::1&lt;br /&gt;
 stun.example.com. 14400 IN A  10.0.0.1&lt;br /&gt;
 stun.example.com. 14400 IN AAAA 2001:db8:1234::1&lt;br /&gt;
 &lt;br /&gt;
 @ IN NAPTR 10 0 &amp;quot;s&amp;quot; &amp;quot;RELAY:turn.udp&amp;quot; &amp;quot;&amp;quot; _turn._udp.example.com.&lt;br /&gt;
&lt;br /&gt;
==== Ein Server ====&lt;br /&gt;
Folgende DNS-Einträge sollten verwendet werden, wenn Sie nur &#039;&#039;&#039;einen&#039;&#039;&#039; TURN/STUN-Server installieren:&lt;br /&gt;
 _stun._udp.example.com. 14400 IN SRV 5 0 3478 turn.example.com.&lt;br /&gt;
 _stun._tcp.example.com. 14400 IN SRV 5 0 3478 turn.example.com.&lt;br /&gt;
 _stuns._tcp.example.com. 14400 IN SRV 5 0 5349 turn.example.com.&lt;br /&gt;
 &lt;br /&gt;
 _turn._udp.example.com.  14400 IN SRV 5 0 3478 turn.example.com.&lt;br /&gt;
 _turn._tcp.example.com.  14400 IN SRV 5 0 3478 turn.example.com.&lt;br /&gt;
 _turns._tcp.example.com. 14400 IN SRV 5 0 5349 turn.example.com.&lt;br /&gt;
&lt;br /&gt;
==== Zwei Server ====&lt;br /&gt;
Für beste Leistung und Ausfallsicherheit sollten mindestens zwei TURN/STUN-Server betrieben werden: &lt;br /&gt;
 _stun._udp.example.com.  14400 IN SRV 5 50 3478 turn1.example.com.&lt;br /&gt;
 _stun._udp.example.com.  14400 IN SRV 10 50 3478 turn2.example.com.&lt;br /&gt;
 _stun._tcp.example.com.  14400 IN SRV 5 50 3478 turn1.example.com.&lt;br /&gt;
 _stun._tcp.example.com.  14400 IN SRV 10 50 3478 turn2.example.com.&lt;br /&gt;
 _stuns._tcp.example.com. 14400 IN SRV 5 50 5349 turn1.example.com.&lt;br /&gt;
 _stuns._tcp.example.com. 14400 IN SRV 10 50 5349 turn2.example.com.&lt;br /&gt;
 _turn._udp.example.com.  14400 IN SRV 5 50 3478 turn1.example.com.&lt;br /&gt;
 _turn._udp.example.com.  14400 IN SRV 10 50 3478 turn2.example.com.&lt;br /&gt;
 _turn._tcp.example.com.  14400 IN SRV 5 50 3478 turn1.example.com.&lt;br /&gt;
 _turn._tcp.example.com.  14400 IN SRV 10 50 3478 turn2.example.com.&lt;br /&gt;
 _turns._tcp.example.com. 14400 IN SRV 5 50 5349 turn1.example.com.&lt;br /&gt;
 _turns._tcp.example.com. 14400 IN SRV 10 50 5349 turn2.example.com.&lt;br /&gt;
&lt;br /&gt;
; DNS-Einträge (A und AAAA) für turn1.example.comund turn2.example.com&lt;br /&gt;
* Ws kann auch ein zweiter A- und AAAA-Eintrag für turn.example.com und stun.example.com bereitgestellt werden&lt;br /&gt;
** Dies wird nicht empfohlen&lt;br /&gt;
&lt;br /&gt;
=== Erforderliche Ports ===&lt;br /&gt;
Auf dem Coturn-Server müssen die folgenden Ports erreichbar sein, damit Clients eine Verbindung herstellen können (Port 3478 und 443) und Coturn eine Verbindung zu Ihrem zu den Clients herstellen kann (32768 - 65535). &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! | Ports &lt;br /&gt;
! | Protokoll &lt;br /&gt;
! | Beschreibung &lt;br /&gt;
|- &lt;br /&gt;
|| 3478 &lt;br /&gt;
|| TCP / UDP &lt;br /&gt;
|| Coturn Listening Port &lt;br /&gt;
|- &lt;br /&gt;
|| 443 &lt;br /&gt;
|| TCP / UDP &lt;br /&gt;
|| TLS-Abhörport &lt;br /&gt;
|- &lt;br /&gt;
|| 32768-65535 &lt;br /&gt;
|| UDP &lt;br /&gt;
|| Relaisanschlussbereich &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Erstellen der Datei &amp;lt;tt&amp;gt;dph.pem&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
 # mkdir -p /etc/turnserver&lt;br /&gt;
 # openssl dhparam -dsaparam -out /etc/turnserver/dhp.pem 2048&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
Sichern der Originalversion&lt;br /&gt;
 # mv /etc/turnserver.conf /etc/turnserver.conf.orig&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt; /etc/turnserver.conf &amp;lt;/tt&amp;gt;&lt;br /&gt;
 listening-port=3478&lt;br /&gt;
 tls-listening-port=5349&lt;br /&gt;
 &lt;br /&gt;
 fingerprint&lt;br /&gt;
 lt-cred-mech&lt;br /&gt;
 &lt;br /&gt;
 use-auth-secret&lt;br /&gt;
 static-auth-secret=replace-this-secret&lt;br /&gt;
 &lt;br /&gt;
 realm=turn.example.com&lt;br /&gt;
 &lt;br /&gt;
 total-quota=100&lt;br /&gt;
 stale-nonce=600&lt;br /&gt;
 &lt;br /&gt;
 cert=/etc/letsencrypt/live/turn.example.com/cert.pem&lt;br /&gt;
 pkey=/etc/letsencrypt/live/turn.example.com/privkey.pem&lt;br /&gt;
 cipher-list=&amp;quot;ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 no-sslv3&lt;br /&gt;
 no-tlsv1&lt;br /&gt;
 no-tlsv1_1&lt;br /&gt;
 #no-tlsv1_2&lt;br /&gt;
 &lt;br /&gt;
 dh2066&lt;br /&gt;
 &lt;br /&gt;
 no-stdout-log&lt;br /&gt;
 log-file=/var/tmp/turn.log&lt;br /&gt;
 #log-file=/dev/null&lt;br /&gt;
 &lt;br /&gt;
 no-loopback-peers&lt;br /&gt;
 no-multicast-peers&lt;br /&gt;
 &lt;br /&gt;
 proc-user=turnserver&lt;br /&gt;
 proc-group=turnserver&lt;br /&gt;
&lt;br /&gt;
; Geheimnis erzeugen&lt;br /&gt;
 sed -i &amp;quot;s/replace-this-secret/$(openssl rand -hex 32)/&amp;quot; /etc/turnserver.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Systemd konfigurieren ===&lt;br /&gt;
Fügen Sie die folgende systemd-Override-Datei hinzu&lt;br /&gt;
* Dateihandle-Limit für den TURN-Server erhöhen&lt;br /&gt;
* ermöglichen Port 443 zu öffnen&lt;br /&gt;
&lt;br /&gt;
 # mkdir -p /etc/systemd/system/coturn.service.d&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/systemd/system/coturn.service.d/override.conf&amp;lt;/tt&amp;gt;&lt;br /&gt;
 [Service]&lt;br /&gt;
 LimitNOFILE=1048576&lt;br /&gt;
 AmbientCapabilities=CAP_NET_BIND_SERVICE&lt;br /&gt;
 ExecStart=&lt;br /&gt;
 ExecStart=/usr/bin/turnserver --daemon -c /etc/turnserver.conf --pidfile /run/turnserver/turnserver.pid --no-stdout-log --simple-log --log-file /var/log/turnserver/turnserver.log&lt;br /&gt;
 Restart=always&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zertifikate ===&lt;br /&gt;
; TLS-Zertifikate von [[Let&#039;s Encrypt|Let’s Encrypt]]&lt;br /&gt;
 # certbot certonly --standalone --preferred-challenges http -d &amp;lt;turn.example.com&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aktuelle Versionen des Befehls certbot richten standardmäßig eine automatische Verlängerung ein. &lt;br /&gt;
&lt;br /&gt;
; Renewal-Hook&lt;br /&gt;
* Um sicherzustellen, dass die Zertifikate von lesbar sind &amp;lt;tt&amp;gt;coturn&amp;lt;/tt&amp;gt;, die als läuft &amp;lt;tt&amp;gt;turnserver&amp;lt;/tt&amp;gt;Benutzer, fügen Sie den folgenden Erneuerungs-Hook zu Let&#039;s Encrypt hinzu.&lt;br /&gt;
* Erstellen Sie zunächst das Verzeichnis &amp;lt;tt&amp;gt;/etc/letsencrypt/renewal-hooks/deploy&amp;lt;/tt&amp;gt;.&lt;br /&gt;
 # mkdir -p /etc/letsencrypt/renewal-hooks/deploy&lt;br /&gt;
&lt;br /&gt;
; Renewal-Hook Skript&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/letsencrypt/renewal-hooks/deploy/coturn&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash -e&lt;br /&gt;
 for certfile in fullchain.pem privkey.pem ; do&lt;br /&gt;
    cp -L /etc/letsencrypt/live/&amp;lt;turn.example.com&amp;gt;/&amp;quot;${certfile}&amp;quot; /etc/turnserver/&amp;quot;${certfile}&amp;quot;.new&lt;br /&gt;
    chown turnserver:turnserver /etc/turnserver/&amp;quot;${certfile}&amp;quot;.new&lt;br /&gt;
    mv /etc/turnserver/&amp;quot;${certfile}&amp;quot;.new /etc/turnserver/&amp;quot;${certfile}&amp;quot;&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 systemctl kill -sUSR2 coturn.service&lt;br /&gt;
&lt;br /&gt;
Datei ausführbar machen&lt;br /&gt;
 # chmod 0755 /etc/letsencrypt/renewal-hooks/deploy/coturn&lt;br /&gt;
&lt;br /&gt;
=== Protokollrotation ===&lt;br /&gt;
So drehen Sie die Protokolle für &amp;lt;tt&amp;gt;coturn&amp;lt;/tt&amp;gt;Installieren Sie die folgende Konfigurationsdatei in &amp;lt;tt&amp;gt;/etc/logrotate.d/coturn&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 /var/log/turnserver/*.log&lt;br /&gt;
 {&lt;br /&gt;
    rotate 7&lt;br /&gt;
    daily&lt;br /&gt;
    missingok&lt;br /&gt;
    notifempty&lt;br /&gt;
    compress&lt;br /&gt;
    postrotate&lt;br /&gt;
        /bin/systemctl kill -s HUP coturn.service&lt;br /&gt;
    endscript&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Und erstellen Sie das zugehörige Protokollverzeichnis &lt;br /&gt;
 # mkdir -p /var/log/turnserver&lt;br /&gt;
 # chown turnserver:turnserver /var/log/turnserver&lt;br /&gt;
&lt;br /&gt;
=== Coturn starten ===&lt;br /&gt;
Starten Sie den TURN-Server nach Abschluss der obigen Schritte neu &lt;br /&gt;
 # /etc/letsencrypt/renewal-hooks/deploy/coturn  &amp;lt;nowiki&amp;gt;# Initial copy of certificates &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 # systemctl daemon-reload             &amp;lt;nowiki&amp;gt;# Ensure the override file is loaded&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 # systemctl restart coturn            &amp;lt;nowiki&amp;gt;# Restart&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* Stellen Sie sicher, dass die &amp;lt;tt&amp;gt;coturn&amp;lt;/tt&amp;gt; hat an Port 443 mit gebunden &amp;lt;tt&amp;gt;netstat -antp | grep 443&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* Starten Sie auch Ihren TURN-Server neu und stellen Sie dies sicher &amp;lt;tt&amp;gt;coturn&amp;lt;/tt&amp;gt; wird ausgeführt (und nach dem Neustart an Port 443 gebunden).&lt;br /&gt;
&lt;br /&gt;
=== TURN-Server aktivieren ===&lt;br /&gt;
; /etc/default/coturn&lt;br /&gt;
 # Uncomment it if you want to have the turnserver running as&lt;br /&gt;
 # an automatic system service daemon&lt;br /&gt;
 #&lt;br /&gt;
 TURNSERVER_ENABLED=1&lt;br /&gt;
&lt;br /&gt;
=== Testen ===&lt;br /&gt;
* Standardmäßig versucht Ihr Browser, über WebRTC eine direkte Verbindung zu Kurento oder FreeSWITCH herzustellen.&lt;br /&gt;
* Wenn keine direkte Verbindung hergestellt werden kann, wird der TURN-Server als einer der ICE-Kandidaten (Interconnectivity Connectivity Exchange) zum Weiterleiten der Medien verwendet.&lt;br /&gt;
&lt;br /&gt;
==== FireFox ====&lt;br /&gt;
; Mit FireFox können Sie direkte Verbindungen deaktivieren und einen Fallback zu Ihrem TURN-Server benötigen.&lt;br /&gt;
* Starten Sie FireFox und öffnen Sie es &amp;lt;tt&amp;gt;about:config&amp;lt;/tt&amp;gt; und suchen Sie nach &#039;Relais &amp;lt;tt&amp;gt;. You should see a parameter&amp;lt;/tt&amp;gt; media.peerconnection.ice.relay_only &amp;lt;tt&amp;gt;. Set this value to &amp;lt;/tt&amp;gt;wahr`.&lt;br /&gt;
* Wenn FireFox so konfiguriert ist, dass nur ein TURN-Server verwendet wird, öffnen Sie eine neue Registerkarte, nehmen Sie an einer BigBlueButton-Sitzung teil und geben Sie Ihre Webcam frei.&lt;br /&gt;
* Wenn Ihre Webcam angezeigt wird, können Sie überprüfen, ob FireFox Ihren TURN-Server verwendet, indem Sie eine neue Registerkarte öffnen und auswählen &amp;lt;tt&amp;gt;about:webrtc&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* Klicken &amp;lt;tt&amp;gt;show details&amp;lt;/tt&amp;gt; und Sie sehen eine Tabelle für ICE-Statistiken.&lt;br /&gt;
* Die erfolgreiche Verbindung, die oben in der Tabelle angezeigt wird, sollte haben &amp;lt;tt&amp;gt;(relay-tcp)&amp;lt;/tt&amp;gt;in der Spalte Lokaler Kandidat.&lt;br /&gt;
* Dies bedeutet, dass die Videoverbindung erfolgreich über Ihren TURN-Server weitergeleitet wurde.&lt;br /&gt;
* Wenn Sie jedoch beim Freigeben einer Webcam eine 1020 erhalten haben (Verbindung kann nicht hergestellt werden), kann der Browser möglicherweise keine Verbindung zum TURN-Server herstellen oder der TURN-Server wird nicht ordnungsgemäß ausgeführt oder konfiguriert.&lt;br /&gt;
&lt;br /&gt;
; Überprüfen der Browserkonsole in FireFox&lt;br /&gt;
 WebRTC: ICE failed, your TURN server appears to be broken, see about:webrtc for more details&lt;br /&gt;
* FireFox kann nicht mit dem TURN-Server kommunizieren&lt;br /&gt;
&lt;br /&gt;
==== test.bigbluebutton.org ====&lt;br /&gt;
* Um sicherzustellen, dass Ihre Firewall keine UDP-Verbindungen über Port 443 blockiert, öffnen Sie einen Test-Besuch unter https://test.bigbluebutton.org/&lt;br /&gt;
* starten Sie eine Testsitzung und versuchen Sie, Ihre Webcam freizugeben.&lt;br /&gt;
* Der Browser kann möglicherweise keine Verbindung zum TURN-Server herstellen, oder der TURN-Server wird nicht ordnungsgemäß ausgeführt oder konfiguriert.&lt;br /&gt;
* Der TURN-Server fungiert auch als STUN-Server, sodass Sie zunächst überprüfen können, ob der STUN-Teil mit dem funktioniert &lt;br /&gt;
&lt;br /&gt;
==== stunclient ====&lt;br /&gt;
===== Installation =====&lt;br /&gt;
 # apt install stuntman-client&lt;br /&gt;
&lt;br /&gt;
===== Anwendung =====&lt;br /&gt;
 # stunclient --mode full --localport 30000 &amp;lt;your-turn-server-host&amp;gt; 3478&lt;br /&gt;
&lt;br /&gt;
Bei Erfolg sollte die Ausgabe für angezeigt werden &amp;lt;tt&amp;gt;stunclient&amp;lt;/tt&amp;gt; sollte ähnlich wie folgt sein. &lt;br /&gt;
 Binding test: success&lt;br /&gt;
 Local address: xxx.xxx.xxx.xxx:30000&lt;br /&gt;
 Mapped address: xxx.xxx.xxx.xxx:30000&lt;br /&gt;
 Behavior test: success&lt;br /&gt;
 Nat behavior: Direct Mapping&lt;br /&gt;
 Filtering test: success&lt;br /&gt;
 Nat filtering: Endpoint Independent Filtering&lt;br /&gt;
&lt;br /&gt;
Wenn Sie eine Fehlermeldung erhalten, überprüfen Sie dies &amp;lt;tt&amp;gt;coturn&amp;lt;/tt&amp;gt; wird auf dem TURN-Server mit ausgeführt &amp;lt;tt&amp;gt;systemctl status coturn.service&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Überprüfen Sie die Protokolle, indem Sie dies tun &amp;lt;tt&amp;gt;tail -f /var/log/turnserver/coturn.log&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* Sie können ausführliche Protokolle erhalten, indem Sie hinzufügen &amp;lt;tt&amp;gt;verbose&amp;lt;/tt&amp;gt; zu &amp;lt;tt&amp;gt;/etc/turnserver.conf&amp;lt;/tt&amp;gt; und Neustart des TURN-Servers &amp;lt;tt&amp;gt;systemctl restart coturn.service&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Sie können Ihren TURN-Server mithilfe der testen [https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/ Trickle-ICE-] Seite.&lt;br /&gt;
* Auf diese Weise erhalten Sie ein Protokoll der Relaiskandidaten, wenn diese von der ICE-Sammlung zurückgegeben werden.&lt;br /&gt;
* Um auf dieser Seite zu testen, müssen Sie einige Testanmeldeinformationen generieren.&lt;br /&gt;
* Führen Sie das folgende BASH-Skript aus und ersetzen Sie es &amp;lt;tt&amp;gt;&amp;lt;turn.example.com&amp;gt;&amp;lt;/tt&amp;gt; mit dem Hostnamen Ihres TURN-Servers und &amp;lt;tt&amp;gt;&amp;lt;secret_value&amp;gt;&amp;lt;/tt&amp;gt; mit dem Passwort für Ihren TURN-Server.&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 HOST=&amp;lt;turn.example.com&amp;gt;&lt;br /&gt;
 SECRET=&amp;lt;secret_value&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 time=$(date +%s)&lt;br /&gt;
 expiry=8400&lt;br /&gt;
 username=$(($time + $expiry))&lt;br /&gt;
 &lt;br /&gt;
 echo&lt;br /&gt;
 echo &amp;quot;     https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/&amp;quot;&lt;br /&gt;
 echo&lt;br /&gt;
 echo   URI : turn:$HOST:443&lt;br /&gt;
 echo username : $username &lt;br /&gt;
 echo password : $(echo -n $username | openssl dgst -binary -sha1 -hmac $SECRET | openssl base64)&lt;br /&gt;
 echo&lt;br /&gt;
&lt;br /&gt;
* Geben Sie die Werte in URI, Benutzername und Passwort auf der Trickle ICE-Seite ein und klicken Sie auf &amp;quot;Kandidaten sammeln&amp;quot;.&lt;br /&gt;
* Sie sollten eine Liste der Staffelkandidaten sehen.&lt;br /&gt;
* Wenn Sie dies nicht tun, überprüfen Sie erneut, ob Ihr TURN-Server ausgeführt wird, und beenden Sie die Protokolle, über die der TURN-Server protokolliert &amp;lt;tt&amp;gt;tail -f /var/log/turnserver/coturn.log&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;journalctl -f -u coturn.service&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sie können ausführliche Protokolle erhalten, indem Sie hinzufügen &amp;lt;tt&amp;gt;verbose&amp;lt;/tt&amp;gt; zu &amp;lt;tt&amp;gt;/etc/turnserver.conf&amp;lt;/tt&amp;gt; und dann den TURN-Server neu starten &amp;lt;tt&amp;gt;systemctl restart coturn.service&amp;lt;/tt&amp;gt;und versuchen Sie es erneut mit FireFox oder der obigen Tricke ICE-Seite.&lt;br /&gt;
&lt;br /&gt;
=== Dateien ===&lt;br /&gt;
&lt;br /&gt;
== Anwendung ==&lt;br /&gt;
=== Starten und testen ===&lt;br /&gt;
* Wir werden wiederum mit der Ausführung beginnen systemctl start coturn. Verwenden systemctl status coturnwir können testen, ob coturn läuft. &lt;br /&gt;
* Wir wissen noch nicht, ob unsere Konfiguration erfolgreich war, aber zum Glück gibt es einen Tester: WebRTC-Beispiele Trickle ICE &lt;br /&gt;
&lt;br /&gt;
Entfernen Sie den Standardserver aus der Liste. Das Feld für &amp;quot;STUN or TURN URI&amp;quot; sollte so aussehen: &lt;br /&gt;
 stun:stun.example.com&lt;br /&gt;
&lt;br /&gt;
Sie können aber auch die IP verwenden: &lt;br /&gt;
 stun:10.0.0.1:3478&lt;br /&gt;
&lt;br /&gt;
Um die SSL/TLS-Kryptografie zu testen, verwenden Sie port 5349. Sie können TURN hier nicht testen, da der Tester dies nicht unterstützt. &lt;br /&gt;
&lt;br /&gt;
Klicken Sie anschließend auf Add Serverund dann weiter Gather candidates. &lt;br /&gt;
&lt;br /&gt;
Die Ausgabe sollte etwa so aussehen: &lt;br /&gt;
 Time  Component    Type  Foundation   Protocol Address     Port    Priority&lt;br /&gt;
 0.019  1        host       0     UDP 192.168.0.10  41904  126 | 32512 | 255&lt;br /&gt;
 0.024  1        host       2     TCP 192.168.0.10  9    125 | 32704 | 255&lt;br /&gt;
 0.027  2        host       0     UDP 192.168.0.10  53438  126 | 32512 | 254&lt;br /&gt;
 0.030  2        host       2     TCP 192.168.0.10  9    125 | 32704 | 254&lt;br /&gt;
 0.134  1        srflx      1     UDP 78.47.166.55  41904  100 | 32543 | 255&lt;br /&gt;
 0.152  2        srflx      1     UDP 78.47.166.55  53438  100 | 32543 | 254&lt;br /&gt;
 0.153  Done&lt;br /&gt;
&lt;br /&gt;
; Wenn Sie ein Timeout mit bekommen Not reachable?&lt;br /&gt;
* Die Verbindung wird wahrscheinlich durch eine Firewall blockiert. &lt;br /&gt;
* Überprüfen Sie erneut, ob die Ports 3478und 5349für den TURN-Server sind offen.&lt;br /&gt;
* Testen Sie auch, ob Sie es von Ihrem Computer oder einem anderen Server aus erreichen können, telnet oder nmap. &lt;br /&gt;
&lt;br /&gt;
; Wenn alles wie erwartet funktioniert&lt;br /&gt;
Deaktivieren der Protokollierung von IP-Adressen&lt;br /&gt;
* dient der besten Privatsphäre&lt;br /&gt;
&lt;br /&gt;
 # log-file=/var/log/turn.log&lt;br /&gt;
 log-file=/dev/null&lt;br /&gt;
&lt;br /&gt;
== Aufruf ==&lt;br /&gt;
=== Optionen ===&lt;br /&gt;
=== Argumente ===&lt;br /&gt;
=== Umgebung ===&lt;br /&gt;
=== Rückgabewert ===&lt;br /&gt;
&lt;br /&gt;
== Sicherheit ==&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
=== RFCs ===&lt;br /&gt;
; TURN specs&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;RFC 5766&amp;lt;/nowiki&amp;gt; - base TURN specs&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;RFC 6062&amp;lt;/nowiki&amp;gt; - TCP relaying TURN extension&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;RFC 6156&amp;lt;/nowiki&amp;gt; - IPv6 extension for TURN&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;RFC 7443&amp;lt;/nowiki&amp;gt; - ALPN support for STUN &amp;amp; TURN&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;RFC 7635&amp;lt;/nowiki&amp;gt; - oAuth third-party TURN/STUN authorization&lt;br /&gt;
* DTLS support (&amp;lt;nowiki&amp;gt;https://tools.ietf.org/html/draft-petithuguenin-tram-turn-dtls-00&amp;lt;/nowiki&amp;gt;).&lt;br /&gt;
* Mobile ICE (MICE) support (&amp;lt;nowiki&amp;gt;https://tools.ietf.org/html/draft-wing-tram-turn-mobility-02&amp;lt;/nowiki&amp;gt;).&lt;br /&gt;
* TURN REST API (&amp;lt;nowiki&amp;gt;https://tools.ietf.org/html/draft-uberti-behave-turn-rest-00&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
* Origin field in TURN (Multi-tenant TURN Server) (&amp;lt;nowiki&amp;gt;https://tools.ietf.org/html/draft-ietf-tram-stun-origin-06&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
* TURN Bandwidth draft specs (&amp;lt;nowiki&amp;gt;https://tools.ietf.org/html/draft-thomson-tram-turn-bandwidth-01&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
* TURN-bis (with dual allocation) draft specs (&amp;lt;nowiki&amp;gt;https://tools.ietf.org/html/draft-ietf-tram-turnbis-04&amp;lt;/nowiki&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
;STUN specs&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;RFC 3489&amp;lt;/nowiki&amp;gt; - &amp;quot;classic&amp;quot; STUN&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;RFC 5389&amp;lt;/nowiki&amp;gt; - base &amp;quot;new&amp;quot; STUN specs&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;RFC 5769&amp;lt;/nowiki&amp;gt; - test vectors for STUN protocol testing&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;RFC 5780&amp;lt;/nowiki&amp;gt; - NAT behavior discovery support&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;RFC 7443&amp;lt;/nowiki&amp;gt; - ALPN support for STUN &amp;amp; TURN&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;RFC 7635&amp;lt;/nowiki&amp;gt; - oAuth third-party TURN/STUN authorization&lt;br /&gt;
&lt;br /&gt;
:Supported ICE and related specs&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;RFC 5245&amp;lt;/nowiki&amp;gt; - ICE&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;RFC 5768&amp;lt;/nowiki&amp;gt; - ICE-SIP&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;RFC 6336&amp;lt;/nowiki&amp;gt; - ICE-IANA Registry&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;RFC 6544&amp;lt;/nowiki&amp;gt; - ICE-TCP&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;RFC 5928&amp;lt;/nowiki&amp;gt; - TURN Resolution Mechanism&lt;br /&gt;
&lt;br /&gt;
;The implementation fully supports the following client-to-TURN-server protocols&lt;br /&gt;
* UDP (per &amp;lt;nowiki&amp;gt;RFC 5766&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
* TCP (per &amp;lt;nowiki&amp;gt;RFC 5766&amp;lt;/nowiki&amp;gt; and &amp;lt;nowiki&amp;gt;RFC 6062&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
* TLS (per &amp;lt;nowiki&amp;gt;RFC 5766&amp;lt;/nowiki&amp;gt; and &amp;lt;nowiki&amp;gt;RFC 6062&amp;lt;/nowiki&amp;gt;): TLS1.0/TLS1.1/TLS1.2; ECDHE is supported.&lt;br /&gt;
* DTLS (&amp;lt;nowiki&amp;gt;https://tools.ietf.org/html/draft-petithuguenin-tram-turn-dtls-00&amp;lt;/nowiki&amp;gt;): DTLS versions 1.0 and 1.2.&lt;br /&gt;
* SCTP (experimental implementation).&lt;br /&gt;
&lt;br /&gt;
=== Supported relay protocols ===&lt;br /&gt;
* UDP (per &amp;lt;nowiki&amp;gt;RFC 5766&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
* TCP (per &amp;lt;nowiki&amp;gt;RFC 6062&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
=== Supported user databases ===&lt;br /&gt;
For user repository, with passwords or keys, if authentication is required&lt;br /&gt;
* [[SQLite]]&lt;br /&gt;
* [[MySQL]]&lt;br /&gt;
* [[PostgreSQL]]&lt;br /&gt;
* [[Redis]]&lt;br /&gt;
** kann auch für die Speicherung von Status und Statistiken sowie für Benachrichtigungen verwendet werden.&lt;br /&gt;
* [[MongoDB]]&lt;br /&gt;
&lt;br /&gt;
Standardmäßig ist ein Prometheus-Export-Endpunkt deaktiviert&lt;br /&gt;
* wenn er aktiviert ist, wird er auf Port 9641 unter dem Pfad /metrics überwacht.&lt;br /&gt;
&lt;br /&gt;
=== Unterstützte Algorithmen zur Überprüfung der Nachrichtenintegrität ===&lt;br /&gt;
* HMAC-SHA1, mit MD5-gehashten Schlüsseln (wie von STUN- und TURN-Standards gefordert)&lt;br /&gt;
&lt;br /&gt;
=== Unterstützte TURN-Authentifizierungsmechanismen ===&lt;br /&gt;
* klassischer Langzeit-Authentifizierungsmechanismus&lt;br /&gt;
* TURN REST API&lt;br /&gt;
** eine Modifikation des Langzeit-Mechanismus&lt;br /&gt;
** für zeitlich begrenzte geheimnisbasierte Authentifizierung für WebRTC-Anwendungen&lt;br /&gt;
** https://tools.ietf.org/html/draft-uberti-behave-turn-rest-00&lt;br /&gt;
* experimentelle oAuth-basierte Client-Autorisierungsoption eines Drittanbieters&lt;br /&gt;
&lt;br /&gt;
Wenn er als Teil einer ICE-Lösung für VoIP-Konnektivität eingesetzt wird, kann dieser TURN-Server Tausende von gleichzeitigen Anrufen pro CPU (bei Verwendung des TURN-Protokolls) oder Zehntausende von Anrufen, wenn nur das STUN-Protokoll verwendet wird, verarbeiten. &lt;br /&gt;
* Für praktisch unbegrenzte Skalierbarkeit kann ein Lastausgleichsschema verwendet werden.&lt;br /&gt;
&lt;br /&gt;
=== Tools zum Lastausgleich ===&lt;br /&gt;
Einzeln oder in Kombination&lt;br /&gt;
* DNS SRV-basierter Lastausgleich&lt;br /&gt;
* eingebauter 300 ALTERNATE-SERVER-Mechanismus&lt;br /&gt;
** erfordert die Unterstützung von 300 Antworten durch den TURN-Client&lt;br /&gt;
* Netzwerk-Load-Balancer-Server&lt;br /&gt;
&lt;br /&gt;
=== Leistung und Skalierbarkeit ===&lt;br /&gt;
; Um eine hohe Leistung und Skalierbarkeit zu erreichen, wird der TURN-Server mit den folgenden Eigenschaften implementiert&lt;br /&gt;
* Verwendung der hochleistungsfähigen, industrietauglichen Network IO Engine libevent2 &lt;br /&gt;
* Konfigurierbares Multi-Threading-Modell zur vollen Nutzung der verfügbaren CPU-Ressourcen (wenn das Betriebssystem Multi-Threading erlaubt) &lt;br /&gt;
* Mehrere Abhör- und Relaisadressen können konfiguriert werden Effizientes Speichermodell verwendet &lt;br /&gt;
* Der TURN-Projektcode kann in einer benutzerdefinierten, proprietären Netzwerkumgebung verwendet werden. &lt;br /&gt;
* Im TURN-Server-Code wird eine abstrakte Netzwerk-API verwendet. &lt;br /&gt;
* Nur ein paar Dateien im Projekt müssen neu geschrieben werden, um den TURN-Server in eine proprietäre Umgebung einzubinden. &lt;br /&gt;
* Mit diesem Projekt wird nur eine Implementierung für die Standard UNIX Networking/IO API zur Verfügung gestellt, aber der Anwender kann jede andere Umgebung implementieren. &lt;br /&gt;
* Der Code des TURN-Servers wurde ursprünglich für eine hochperformante proprietäre Unternehmensumgebung entwickelt und dann für die UNIX Networking API übernommen. &lt;br /&gt;
* Der TURN-Server arbeitet als User-Space-Prozess, ohne besondere Anforderungen an das System zu stellen&lt;br /&gt;
&lt;br /&gt;
; Um die TURN Server Software, die Client Messaging Library und die Testprogramme herunterzuladen, klicken Sie auf den Reiter &amp;quot;Downloads&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Man-Page ===&lt;br /&gt;
=== Info-Pages ===&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
# [[TURN-Protokoll]]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
=== Projekt ===&lt;br /&gt;
# https://github.com/coturn/coturn&lt;br /&gt;
# https://groups.google.com/forum/#!forum/turn-server-project-rfc5766-turn-server&lt;br /&gt;
&lt;br /&gt;
=== Weblinks ===&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
# https://community.hetzner.com/tutorials/install-turn-stun-server-on-debian-ubuntu-with-coturn&lt;br /&gt;
# https://community.letsencrypt.org/t/are-pre-hook-and-post-hook-and-etc-letsencrypt-renewal-hooks-scripts-mutually-exclusive/96471&lt;br /&gt;
# https://certbot.eff.org/docs/using.html?highlight=hooks#pre-and-post-validation-hooks&lt;br /&gt;
# https://github.com/certbot/certbot/issues/5935&lt;br /&gt;
# https://serverfault.com/questions/849683/how-to-setup-coturn-with-letsencrypt&lt;br /&gt;
# https://github.com/coturn/coturn/issues/268&lt;br /&gt;
# https://www.google.com/search?client=firefox-b-d&amp;amp;q=turnserver%3A+0%3A+WARNING%3A+cannot+find+certificate+file&lt;br /&gt;
# https://decatec.de/home-server/nextcloud-talk-mit-eigenem-turn-server-coturn/&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Coturn]]&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=Apt-Quellen&amp;diff=167938</id>
		<title>Apt-Quellen</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=Apt-Quellen&amp;diff=167938"/>
		<updated>2026-06-17T08:40:47Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: Textersetzung - „ )“ durch „)“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apt-Quellen konfigurieren ==&lt;br /&gt;
[https://wiki.debian.org/Apt Apt] lädt Pakete von einem oder mehreren [https://wiki.debian.org/DebianRepository Software-Repositories] (Quellen) herunter und installiert sie auf Ihrem Computer. &lt;br /&gt;
&lt;br /&gt;
Ein Repository ist im Allgemeinen ein Netzwerkserver, wie das offizielle [https://wiki.debian.org/DebianStable DebianStable] Repository. Lokale Verzeichnisse oder CD/DVD werden ebenfalls akzeptiert. &lt;br /&gt;
&lt;br /&gt;
Die spezifischen Repositories (Paketquellen), die auf Ihrem Rechner konfiguriert sind, wirken sich aus: * Welche Softwarepakete stehen zum Download zur Verfügung &lt;br /&gt;
* Welche Versionen der Pakete sind verfügbar &lt;br /&gt;
* Wer paketiert die Software &lt;br /&gt;
&lt;br /&gt;
== Häufig verwendete Paketquellen ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable options&amp;quot;&lt;br /&gt;
! Repository !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| [https://wiki.debian.org/DebianStable Stable] || offizielles Debian-Repository für die aktuelle Veröffentlichung &lt;br /&gt;
|-&lt;br /&gt;
| [https://wiki.debian.org/StableProposedUpdates StableProposedUpdates] || offizielles Debian-Repository für kommende [https://wiki.debian.org/DebianReleases/PointReleases Punktveröffentlichungen] (Sicherheits- und wichtige Fehlerbehebungen alle ~2 Monate) &lt;br /&gt;
|-&lt;br /&gt;
| [https://wiki.debian.org/StableUpdates StableUpdates] || offizielles Debian-Repository für Änderungen, die nicht bis zur nächsten [https://wiki.debian.org/DebianReleases/PointReleases Punktveröffentlichung] warten können, Pakete werden auch zu [https://wiki.debian.org/StableProposedUpdates StableProposedUpdates] hinzugefügt, um sie in die nächste Punktveröffentlichung aufzunehmen &lt;br /&gt;
|-&lt;br /&gt;
| [https://wiki.debian.org/DebianSecurity Security] || offizielles Debian-Repository für häufige Sicherheitsaktualisierungen &lt;br /&gt;
|-&lt;br /&gt;
| [https://wiki.debian.org/DebianBackports Backports] || neuere Versionen einiger Pakete, kompatibel mit [https://wiki.debian.org/DebianStable DebianStable]. &lt;br /&gt;
|-&lt;br /&gt;
| [https://wiki.debian.org/DebianTesting Testing] || aktueller Entwicklungsstand der nächsten stabilen Debian-Distribution &lt;br /&gt;
|-&lt;br /&gt;
| [https://wiki.debian.org/DebianUnstable Unstable] || rollende Entwicklungsversion mit den neuesten Paketen &lt;br /&gt;
|-&lt;br /&gt;
| [https://wiki.debian.org/DebianExperimental Experimental] || Entwicklungsversion mit den experimentellen/alpha/beta/untest Paketen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bearbeiten von Software-Quellen ==&lt;br /&gt;
=== Vorsichtsmaßnahmen ===&lt;br /&gt;
Die Möglichkeit, die von Ihrem [https://wiki.debian.org/PackageManagement Paketverwaltungssystem] verwendeten Repositories zu ändern, ist eine mächtige Funktion, aber diese Macht geht mit einer gewissen Verantwortung einher&lt;br /&gt;
* Benutzer werden gewarnt, dass es möglich ist, [https://wiki.debian.org/DontBreakDebian das System zu zerstören] (auf eine Art und Weise, die schwierig oder unmöglich zu beheben sein könnte), indem man Repositories von Drittanbietern hinzufügt, oder Repositories für eine Debian-Version, die nicht mit der aktuellen Version übereinstimmt - diese Repositories erzeugen das Risiko von widersprüchlichen Paketversionen, was manchmal als &amp;quot;Franken-Debian&amp;quot;-System bezeichnet wird&lt;br /&gt;
* Das ganze Konzept hinter einer stabilen Debian-Veröffentlichung ist, dass die Debian-Entwickler einen Satz von Software und deren Versionen ausgewählt haben, die gut zusammen funktionieren&lt;br /&gt;
* Während diese Software gepatcht wird, um Sicherheitsprobleme zu beheben, ist die Software häufig nicht die neueste Version&lt;br /&gt;
* Es bedarf einiger Erfahrung, um zu wissen, wie die Repos geändert werden können, ohne das Risiko einzugehen, das System zu zerstören&lt;br /&gt;
* Benutzern aller Stufen wird empfohlen, Repos vorsichtig zu ändern&lt;br /&gt;
&lt;br /&gt;
=== Verwendung eines grafischen Programms ===&lt;br /&gt;
Einige Programme ermöglichen die Konfiguration von Apt-Quellen über eine grafische Oberfläche. &lt;br /&gt;
&lt;br /&gt;
Zum Beispiel: &lt;br /&gt;
* &amp;lt;tt&amp;gt;Anwendungen&amp;amp;nbsp;Menü&amp;amp;nbsp;&amp;gt;&amp;amp;nbsp;Einstellungen&amp;amp;nbsp;&amp;gt;&amp;amp;nbsp;Software&amp;amp;nbsp;und&amp;amp;nbsp;Updates&amp;lt;/tt&amp;gt; ([https://packages.debian.org/software-properties-gtk software-properties-gtk] Paket)&lt;br /&gt;
&lt;br /&gt;
=== Verwendung eines Texteditors ===&lt;br /&gt;
Die Hauptkonfigurationsdatei der Apt-Quellen befindet sich unter &amp;lt;tt&amp;gt;&#039;&#039;&#039;/etc/apt/sources.list&#039;&#039;&#039;&amp;lt;/tt&amp;gt;. Sie können diese Datei (als [https://wiki.debian.org/root root]) mit Ihrem bevorzugten [https://wiki.debian.org/TextEditor Texteditor] bearbeiten. Siehe die [https://manpages.debian.org/man/sources.list.5 sources.list Handbuchseite] für weitere Informationen. &lt;br /&gt;
&lt;br /&gt;
Um benutzerdefinierte Quellen hinzuzufügen, sollten Sie separate Dateien unter &amp;lt;tt&amp;gt;/etc/apt/sources.list.d/&amp;lt;/tt&amp;gt; im DEB822-Quellformat erstellen. Siehe die [https://manpages.debian.org/man/deb822.5 deb822 Handbuchseite] für weitere Informationen. &lt;br /&gt;
&lt;br /&gt;
=== quellen.liste format ===&lt;br /&gt;
[https://www.debian.org/doc/manuals/debian-reference/ch02#_debian_archive_basics Debian Referenzhandbuch - 2.1.4. Grundlagen der Debian-Archive]&lt;br /&gt;
&lt;br /&gt;
Die Einträge in dieser Datei haben normalerweise folgendes Format: &lt;br /&gt;
&lt;br /&gt;
 deb https://site.example.com/debian distribution komponente1 komponente2 komponente3 deb-src https://site.example.com/debian distribution komponente1 komponente2 komponente3&lt;br /&gt;
&lt;br /&gt;
==== Archiv-Typ ====&lt;br /&gt;
Das erste Wort in jeder Zeile, &#039;&#039;&#039;deb&#039;&#039;&#039; oder &#039;&#039;&#039;deb-src&#039;&#039;&#039;, gibt den Typ des Archivs an. &#039;&#039;&#039;Deb&#039;&#039;&#039; zeigt an, dass das Archiv Binärpakete ([https://wiki.debian.org/deb deb]) enthält, also die vorkompilierten Pakete, die wir normalerweise verwenden. &#039;&#039;&#039;Deb-src&#039;&#039;&#039; weist auf [https://wiki.debian.org/SourcePackage Quellpakete] hin, die das Originalprogramm [https://wiki.debian.org/source Quellen] plus die Debian-Steuerdatei (.[https://wiki.debian.org/dsc dsc]) und die diff.gz mit den für die Paketierung des Programms notwendigen Änderungen enthalten. &lt;br /&gt;
&lt;br /&gt;
==== Repository-URL ====&lt;br /&gt;
Der nächste Eintrag in der Zeile ist eine URL zu dem [https://wiki.debian.org/DebianRepository Repository], von dem Sie die Pakete herunterladen möchten. Die Hauptliste der Debian-Repository-Spiegel befindet sich [https://www.debian.org/mirror/list hier]. &lt;br /&gt;
&lt;br /&gt;
==== Vertrieb ====&lt;br /&gt;
Die &amp;quot;Verteilung&amp;quot; kann entweder der Name des Veröffentlichungscodes / Alias ([https://wiki.debian.org/DebianStretch stretch], [https://wiki.debian.org/DebianBuster buster], [https://wiki.debian.org/DebianBullseye bullseye], [https://wiki.debian.org/DebianBookworm bookworm], [https://wiki.debian.org/DebianSid sid]) bzw. die Release-Klasse ([https://wiki.debian.org/DebianOldOldStable oldoldstable], [https://wiki.debian.org/DebianOldStable oldstable], [https://wiki.debian.org/DebianStable stable], [https://wiki.debian.org/DebianTesting testing], [https://wiki.debian.org/DebianUnstable unstable]). Wenn Sie eine Veröffentlichungsklasse verfolgen wollen, verwenden Sie den Klassennamen, wenn Sie eine Debian-Punktveröffentlichung verfolgen wollen, verwenden Sie den Codenamen. Vermeiden Sie es, [https://wiki.debian.org/DebianStable stable] in Ihrer sources.list zu verwenden, da dies zu bösen Überraschungen und kaputten Systemen führt, wenn die nächste Veröffentlichung gemacht wird; ein Upgrade auf eine neue Veröffentlichung sollte eine bewusste, vorsichtige Aktion sein und das Bearbeiten einer Datei einmal alle zwei Jahre ist keine Belastung. &lt;br /&gt;
&lt;br /&gt;
Wenn Sie zum Beispiel immer beim Testen der Testversion helfen wollen, verwenden Sie &amp;quot;testing&amp;quot;. Wenn Sie trixie verfolgen und von der Testphase bis zum Ende der Lebensdauer dabei bleiben wollen, verwenden Sie &#039;trixie&#039;. &lt;br /&gt;
&lt;br /&gt;
==== Komponente ====&lt;br /&gt;
[https://www.debian.org/doc/debian-policy/ch-archive#s-main main] besteht aus [https://www.debian.org/social_contract#guidelines DFSG]-konformen Paketen, die nicht auf Software außerhalb dieses Bereichs angewiesen sind, um zu funktionieren. Dies sind die einzigen Pakete, die als Teil der Debian-Distribution angesehen werden. &lt;br /&gt;
&lt;br /&gt;
 [https://www.debian.org/doc/debian-policy/ch-archive#s-contrib contrib] Pakete enthalten DFSG-konforme Software, haben aber Abhängigkeiten, die nicht in main sind (möglicherweise für Debian in non-free gepackt). &lt;br /&gt;
 &lt;br /&gt;
 [https://www.debian.org/doc/debian-policy/ch-archive#s-non-free non-free] enthält Software, die nicht mit der DFSG übereinstimmt. &lt;br /&gt;
 &lt;br /&gt;
 [https://www.debian.org/doc/debian-policy/ch-archive#the-non-free-firmware-archive-area Non-Free-Firmware] stellt Firmware bereit, die für bestimmte Hardware benötigt wird, aber nicht den DFSG entspricht. &lt;br /&gt;
&lt;br /&gt;
Das Debian-Projekt hat [https://lists.debian.org/debian-devel-announce/2022/10/msg00001.html im Jahr 2022-10 die Entscheidung] getroffen, eine neue Repository-Komponente &amp;lt;tt&amp;gt;non-free-firmware&amp;lt;/tt&amp;gt; zu erstellen und deren Inhalt auf den Installationsmedien für den Debian-&#039;&#039;Buchwurm&#039;&#039; einzubinden, um die Dinge für unsere Benutzer einfacher zu machen. Und wenn Sie mehr Informationen haben möchten, können Sie gerne dem [https://lists.debian.org/debian-devel/2022/10/msg00020.html Firmware GR Ergebnis folgen - was passiert als nächstes?]. Das Debian-Wiki hat eine Seite über [https://wiki.debian.org/Firmware Firmware] für ältere Veröffentlichungen, Bookworm und später.&lt;br /&gt;
&lt;br /&gt;
== Beispiel sources.list ==&lt;br /&gt;
Unten ist ein Beispiel einer &amp;lt;tt&amp;gt;sources.list&amp;lt;/tt&amp;gt; für Debian 12/Bookworm (stable), veröffentlicht am 10. Juni 2023. &lt;br /&gt;
&lt;br /&gt;
 deb https://deb.debian.org/debian bookworm main non-free-firmware deb-src https://deb.debian.org/debian bookworm main non-free-firmware&lt;br /&gt;
 deb https://security.debian.org/debian-security bookworm-security main non-free-firmware &lt;br /&gt;
 deb-src https://security.debian.org/debian-security bookworm-security main non-free-firmware &lt;br /&gt;
 deb https://deb.debian.org/debian bookworm-updates main non-free-firmware&lt;br /&gt;
 deb-src https://deb.debian.org/debian bookworm-updates main non-free-firmware&lt;br /&gt;
&lt;br /&gt;
Der entsprechende Eintrag im deb822-Stil unter &amp;lt;tt&amp;gt;/etc/apt/sources.list.d/debian.sources&amp;lt;/tt&amp;gt; sieht wie folgt aus: &lt;br /&gt;
 Typen: deb deb-src URIs: https://deb.debian.org/debian Suites: bookworm bookworm-updates Komponenten: main Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg&lt;br /&gt;
 Typen: deb deb-src URIs: https://security.debian.org/debian-security Suites: bookworm-security Komponenten: main Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg&lt;br /&gt;
&lt;br /&gt;
Wenn Sie die Komponenten contrib, non-free und non-free-firmware benötigen, fügen Sie &amp;lt;tt&amp;gt;contrib&amp;amp;nbsp;non-free&amp;amp;nbsp;non-free-firmware&amp;lt;/tt&amp;gt; nach &amp;lt;tt&amp;gt;main&amp;lt;/tt&amp;gt; ein. &lt;br /&gt;
&lt;br /&gt;
Zum Beispiel für Debian 12/Bookworm: &lt;br /&gt;
 deb https://deb.debian.org/debian bookworm main contrib non-free non-free-firmware&lt;br /&gt;
 deb-src https://deb.debian.org/debian bookworm main contrib non-free non-free-firmware&lt;br /&gt;
 deb https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware&lt;br /&gt;
 deb-src https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware&lt;br /&gt;
 deb https://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware&lt;br /&gt;
 deb-src https://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware&lt;br /&gt;
&lt;br /&gt;
Der entsprechende Eintrag im deb822-Stil enthält die &amp;lt;tt&amp;gt;non-free&amp;lt;/tt&amp;gt; und &amp;lt;tt&amp;gt;non-free-firmware&amp;lt;/tt&amp;gt; Komponenten: &lt;br /&gt;
; Typen&lt;br /&gt;
 deb deb-src URIs: https://deb.debian.org/debian &lt;br /&gt;
; Suites&lt;br /&gt;
 bookworm bookworm-updates Komponenten: main contrib non-free non-free-firmware Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg Typen: deb deb-src URIs: https://security.debian.org/debian-security Suites: bookworm-security Komponenten: main contrib non-free non-free-firmware Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg&lt;br /&gt;
&lt;br /&gt;
Wenn Sie die [https://wiki.debian.org/Backports Backports], contrib und non-free Komponenten benötigen, fügen Sie &#039;&#039;&#039;bookworm-backports&#039;&#039;&#039; Zeilen hinzu. Zum Beispiel, für Debian 12/Bookworm: &lt;br /&gt;
&lt;br /&gt;
 deb https://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware&lt;br /&gt;
 deb-src https://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware&lt;br /&gt;
&lt;br /&gt;
Der entsprechende Eintrag im Stil von deb822 enthält die &amp;lt;tt&amp;gt;non-free&amp;amp;nbsp;non-free-firmware&amp;lt;/tt&amp;gt; und &amp;lt;tt&amp;gt;bookworm-backports&amp;lt;/tt&amp;gt; Komponente: &lt;br /&gt;
&lt;br /&gt;
 Typen: deb deb-src URIs: https://deb.debian.org/debian Suites: bookworm bookworm-updates bookworm-backports Komponenten: main contrib non-free non-free-firmware Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg Types: deb deb-src URIs: https://security.debian.org/debian-security Suites: bookworm-security Komponenten: main contrib non-free non-free-firmware Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg&lt;br /&gt;
&lt;br /&gt;
Unten ist ein Beispiel für eine &amp;lt;tt&amp;gt;sources.list&amp;lt;/tt&amp;gt; für Debian 11/Bullseye (oldstable). &lt;br /&gt;
&lt;br /&gt;
 deb https://deb.debian.org/debian bullseye main deb-src https://deb.debian.org/debian bullseye main&lt;br /&gt;
 deb https://deb.debian.org/debian-security/ bullseye-security main&lt;br /&gt;
 deb-src https://deb.debian.org/debian-security/ bullseye-security main&lt;br /&gt;
 deb https://deb.debian.org/debian bullseye-updates main&lt;br /&gt;
 deb-src https://deb.debian.org/debian bullseye-updates main&lt;br /&gt;
&lt;br /&gt;
Wenn Sie die contrib und non-free Komponenten benötigen, fügen Sie &#039;&#039;&#039;contrib non-free&#039;&#039;&#039; nach &#039;&#039;&#039;main&#039;&#039;&#039; ein. Zum Beispiel für Debian 11/Bullseye: &lt;br /&gt;
 deb https://deb.debian.org/debian bullseye main contrib non-free&lt;br /&gt;
 deb-src https://deb.debian.org/debian bullseye main contrib non-free&lt;br /&gt;
 deb https://deb.debian.org/debian-security/ bullseye-security main contrib non-free&lt;br /&gt;
 deb-src https://deb.debian.org/debian-security/ bullseye-security main contrib non-free&lt;br /&gt;
 deb https://deb.debian.org/debian bullseye-updates main contrib non-free&lt;br /&gt;
 deb-src https://deb.debian.org/debian bullseye-updates main contrib non-free&lt;br /&gt;
&lt;br /&gt;
Wenn Sie die [https://wiki.debian.org/Backports Backports], contrib und non-free Komponenten benötigen, fügen Sie &#039;&#039;&#039;bullseye-backports&#039;&#039;&#039; Zeilen hinzu. Zum Beispiel, für Debian 11/Bullseye: &lt;br /&gt;
 deb https://deb.debian.org/debian bullseye-backports main contrib non-free&lt;br /&gt;
 deb-src https://deb.debian.org/debian bullseye-backports main contrib non-free&lt;br /&gt;
&lt;br /&gt;
[https://wiki.debian.org/DebianReleases Fragen zum Förderzyklus?] &lt;br /&gt;
&lt;br /&gt;
Wenn Sie die [https://wiki.debian.org/DebianUnstable Debian Unstable] benötigen, dann ändern Sie die Distribution auf &#039;&#039;&#039;unstable&#039;&#039;&#039;. &lt;br /&gt;
* Beachten Sie, dass Updates und Sicherheit nicht verwendet werden, da Unstable eine rollierende Entwicklungsversion ist, die aus den neuesten Paketen besteht. Das heißt, &#039;&#039;&#039;unstable main&#039;&#039;&#039; wird der einzige Eintrag in &amp;lt;tt&amp;gt;sources.list&amp;lt;/tt&amp;gt; sein. &lt;br /&gt;
 deb https://deb.debian.org/debian/ unstable main&lt;br /&gt;
 deb-src https://deb.debian.org/debian/ unstable main&lt;br /&gt;
&lt;br /&gt;
Sie können stattdessen &amp;lt;tt&amp;gt;https://...&amp;lt;/tt&amp;gt; in allen obigen Zeilen verwenden, um die Repositories über verschlüsselte HTTPS-Verbindungen zu nutzen, wenn der entsprechende Spiegel HTTPS unterstützt. (Benutzer von Debian 9/Stretch oder älteren Versionen müssen zuerst das [https://packages.debian.org/apt-transport-https apt-transport-https] Paket installieren). &lt;br /&gt;
&lt;br /&gt;
Sie können ein [https://packages.debian.org/software-properties-gtk GNOME-Werkzeug] verwenden, um Ihre &amp;lt;tt&amp;gt;sources.list&amp;lt;/tt&amp;gt;-Datei zu bearbeiten. Sie erreichen sie über Menü → System → Verwaltung → Softwarequellen.&lt;br /&gt;
&lt;br /&gt;
== Tor mit Apt benutzen ==&lt;br /&gt;
Apt kann Updates über [https://en.wikipedia.org/wiki/Tor_(anonymity_network) Tor] abrufen und herunterladen. Damit dies funktioniert, müssen Sie die Pakete [https://packages.debian.org/tor tor] und [https://packages.debian.org/apt-transport-tor apt-transport-tor] installieren. Sie können dann die offiziellen [https://onion.debian.org/ onion services] verwenden, die von Debian bereitgestellt werden. &lt;br /&gt;
&lt;br /&gt;
Hier ist ein Beispiel für &amp;lt;tt&amp;gt;sources.list&amp;lt;/tt&amp;gt; unter Verwendung der Zwiebel-Dienste für Debian 11/Bullseye: .&lt;br /&gt;
&lt;br /&gt;
deb tor+https://2s4yqjx5ul6okpp3f2gaunr2syex5jgbfpfvhxxbbjwnrsvbk5v3qbid.onion/debian bullseye main deb-src tor+https://2s4yqjx5ul6okpp3f2gaunr2syex5jgbfpfvhxxbbjwnrsvbk5v3qbid.onion/debian bullseye main deb tor+https://5ajw6aqf3ep7sijnscdzw77t7xq4xjpsy335yb2wiwgouo7yfxtjlmid.onion/ debian-security bullseye-security main deb-src tor+https://5ajw6aqf3ep7sijnscdzw77t7xq4xjpsy335yb2wiwgouo7yfxtjlmid.onion/ debian-security bullseye-security main deb tor+https://2s4yqjx5ul6okpp3f2gaunr2syex5jgbfpfvhxxbbjwnrsvbk5v3qbid.onion/debian bullseye-updates main deb-src tor+https://2s4yqjx5ul6okpp3f2gaunr2syex5jgbfpfvhxxbbjwnrsvbk5v3qbid.onion/debian bullseye-updates main&lt;br /&gt;
&lt;br /&gt;
== CD-ROM ==&lt;br /&gt;
Wenn Sie lieber Ihre CD-ROM für die Installation von Paketen oder die automatische Aktualisierung Ihres Systems mit APT verwenden möchten, können Sie sie in Ihre &amp;lt;tt&amp;gt;/etc/apt/sources.list&amp;lt;/tt&amp;gt; aufnehmen. Dazu können Sie das Programm [https://manpages.debian.org/man/8/apt-cdrom apt-cdrom] wie folgt verwenden: &lt;br /&gt;
&lt;br /&gt;
 # apt-cdrom add&lt;br /&gt;
&lt;br /&gt;
mit der Debian-CD-ROM im Laufwerk. &lt;br /&gt;
&lt;br /&gt;
Sie können -d für das Verzeichnis des CD-ROM-Einhängepunkts verwenden oder einen Nicht-CD-Einhängepunkt (z. B. ein USB-Stick) hinzufügen. &lt;br /&gt;
&lt;br /&gt;
== Namensauflösung ==&lt;br /&gt;
Gelegentlich kann die Namensauflösung scheitern. &lt;br /&gt;
&lt;br /&gt;
 # apt update 0% [Working]Nicht unterstützter Socketcall: 20 Unterstützter Socketaufruf: 20 Unterstützter Socketaufruf: 20 Unterstützter Socketaufruf: 20 Unterstützter Socketaufruf: 20 Unterstützter Socketaufruf: 20 Unterstützter Socketaufruf: 20 Unterstützter Socketaufruf: 20 Err:1 https://deb.debian.org/debian testing InRelease Vorübergehender Fehler bei der Auflösung von &#039;deb.debian.org&#039; Lesen von Paketlisten... Done W: Failed to fetch https://deb.debian.org/debian/dists/testing/InRelease Vorübergehender Fehler beim Auflösen von &#039;deb.debian.org&#039; W: Einige Index-Dateien konnten nicht heruntergeladen werden. Sie wurden ignoriert oder stattdessen alte Dateien verwendet.&lt;br /&gt;
&lt;br /&gt;
Sie können dieses Problem vorübergehend umgehen, indem Sie die IP-Adresse von einem anderen Rechner abrufen und dann die IP-Adresse anstelle des URI verwenden: &lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;deb https://128.30.2.26/debian testing main&amp;quot; &amp;gt; /etc/apt/sources.list apt update Get:1 https://128.30.2.26/debian testing InRelease [232 kB] Get:2 https://128.30.2.26/debian testing/main s390x Pakete [7583 kB] Get:3 https://128.30.2.26/debian testing/main Translation-de [5134 kB] Holen von 13.0 MB in 32s (403 kB/s) Lesen von Paketlisten... Erledigt&lt;br /&gt;
&lt;br /&gt;
== Debugsymbol-Pakete ==&lt;br /&gt;
Um einen Absturz zu beheben, benötigen Sie oft die zugehörigen Debugsymbol-Dateien. Für die meisten Debian-Pakete befinden sich diese in [https://wiki.debian.org/AutomaticDebugPackages dbgsym-Paketen]. Diese sind in einem separaten Archiv verfügbar. &lt;br /&gt;
&lt;br /&gt;
Hier ist ein Beispieleintrag für Ihre &amp;lt;tt&amp;gt;sources.list&amp;lt;/tt&amp;gt; für Debian 12/Bookworm dbgsym Pakete: &lt;br /&gt;
 deb https://deb.debian.org/debian-debug/ bookworm-debug main&lt;br /&gt;
&lt;br /&gt;
Und ein Beispiel für Debian 11/Bullseye: &lt;br /&gt;
 deb https://deb.debian.org/debian-debug/ bullseye-debug main&lt;br /&gt;
&lt;br /&gt;
Dasselbe, wenn Sie Tests durchführen: &lt;br /&gt;
 deb https://deb.debian.org/debian-debug/ testing-debug main&lt;br /&gt;
&lt;br /&gt;
Und noch ein Beispiel, wenn Sie die instabile Verteilung verwenden: &lt;br /&gt;
 deb https://deb.debian.org/debian-debug/ unstable-debug main&lt;br /&gt;
&lt;br /&gt;
== Weitere Informationen ==&lt;br /&gt;
* Eine Liste von [https://wiki.debian.org/UnofficialRepositories UnofficialRepositories], um zusätzliche Software zu erhalten (Skype, Opera, Google) &lt;br /&gt;
* [https://deb.debian.org/ Über deb.debian.org, ein Dienst, der das Problem der Auswahl eines Debian-Spiegels lösen soll.] &lt;br /&gt;
* [https://www.debianadmin.com/adding-source-lists-using-apt-setup.html Hinzufügen von Quelllisten, einschließlich CDs, mit apt-setup] &lt;br /&gt;
* [https://wiki.debian.org/DebianPackageManagement APT HOWTO] &lt;br /&gt;
* [https://wiki.debian.org/AptCLI AptCLI] &lt;br /&gt;
* [https://wiki.debian.org/AptPreferences AptPreferences] &lt;br /&gt;
* [https://wiki.debian.org/Backports Backports] &lt;br /&gt;
* [https://www.debian.org/CD/ Debian auf CDs] &lt;br /&gt;
* [https://wiki.debian.org/DebianRepository/UseThirdParty DebianRepository/UseThirdParty] - Anweisungen zur Verwendung eines Drittanbieter-Repository &lt;br /&gt;
* [https://manpages.debian.org/man/5/sources.list sources.list(5)] Handbuchseite &lt;br /&gt;
&lt;br /&gt;
[https://wiki.debian.org/CategoryPackageManagement KategoriePaketManagement]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:APT]]&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=SASL&amp;diff=167937</id>
		<title>SASL</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=SASL&amp;diff=167937"/>
		<updated>2026-06-17T08:40:47Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: Textersetzung - „ )“ durch „)“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;topic&#039;&#039;&#039; - Kurzbeschreibung&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
Die SMTP-Protokollspezifikationen enthalten eine Möglichkeit zur Benutzerauthentifizierung, geben jedoch nicht die genauen Details des Protokollnachrichtenaustauschs an und greifen stattdessen auf den SASL-Standard (Simple Authentication and Security Layer) zurück (siehe &amp;lt;nowiki&amp;gt;RFC 4954&amp;lt;/nowiki&amp;gt; und &amp;lt;nowiki&amp;gt;RFC 4422&amp;lt;/nowiki&amp;gt;). &lt;br /&gt;
* SASL ist ein generisches Authentifizierungs-Framework für Authentifizierungsmechanismen, von denen es viele gibt, und jeder von ihnen hat sein eigenes spezielles Verfahren, das die notwendigen kryptografischen Schritte vorschreibt, die mit den Authentifizierungsdaten und Nachrichten zum Austausch über die Verbindung durchzuführen sind. &lt;br /&gt;
* Daher authentifiziert Postfix selbst SMTP-Benutzer nicht mit Benutzernamen und Passwörtern oder auf andere Weise, um keine künstlichen Grenzen für die damit verwendbaren Authentifizierungsmechanismen aufzuerlegen. &lt;br /&gt;
* Es verlagert diese Aufgabe auf eine SASL-Implementierung, die separat installiert werden muss. &lt;br /&gt;
* Der SASL-Authentifizierungs-Daemon ist sowohl für die Richtlinie (dh wo gültige Benutzernamen und Geheimnisse wie Passwörter aufbewahrt werden) als auch für den Mechanismus (wie genau Clients Anmeldeinformationen bereitstellen) verantwortlich. &lt;br /&gt;
* Dies steht im Gegensatz zu zB OpenSMTPD , das nur PLAIN- und LOGIN-SASL-Mechanismen unterstützt, aber nicht auf externe Bibliotheken oder Dämonen angewiesen ist. &lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
Sobald Postfix eingerichtet ist und ausgeführt wird, können Sie die SASL-Authentifizierung hinzufügen, um eine Weiterleitung zu vermeiden. &lt;br /&gt;
* Um zu verhindern, dass anonyme Benutzer spammen, können nur authentifizierte und vertrauenswürdige Benutzer E-Mails senden. &lt;br /&gt;
&lt;br /&gt;
Da Postfix -Paket in [extra] bereits mit SASL-Unterstützung kompiliert ist, haben Sie zwei Möglichkeiten, um die SASL-Authentifizierung zu aktivieren: &lt;br /&gt;
* Verwenden Sie das cyrus-sasl- Paket. &lt;br /&gt;
* Oder aktivieren Sie Ihr bereits konfiguriertes Dovecot , um die Postfix-Authentifizierung (sowie seine eigene) zu handhaben. &lt;br /&gt;
&lt;br /&gt;
; Von der Postfix-Website&lt;br /&gt;
* Leute, die sich die Mühe machen, Postfix zu installieren, haben vielleicht die Erwartung, dass Postfix sicherer ist als einige andere Mailer. &lt;br /&gt;
* Die Cyrus SASL-Bibliothek enthält viel Code.&lt;br /&gt;
** Damit wird Postfix so sicher wie andere Mailsysteme, die die Cyrus SASL-Bibliothek verwenden.&lt;br /&gt;
** Dovecot bietet eine Alternative, die eine Überlegung wert sein könnte.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
== Aufruf ==&lt;br /&gt;
=== Optionen ===&lt;br /&gt;
=== Argumente ===&lt;br /&gt;
=== Umgebung ===&lt;br /&gt;
=== Rückgabewert ===&lt;br /&gt;
&lt;br /&gt;
== Konfiguration ==&lt;br /&gt;
=== Dateien ===&lt;br /&gt;
&lt;br /&gt;
== Anwendung ==&lt;br /&gt;
== Konfiguration mit dem Paket cyrus-sasl ==&lt;br /&gt;
Installieren Sie das cyrus-sasl- Paket. &lt;br /&gt;
&lt;br /&gt;
Um SASL für das Akzeptieren von E-Mails von anderen Benutzern zu aktivieren, öffnen Sie den &amp;quot;Nachrichtenübermittlung&amp;quot; (TCP 587) in &amp;lt;code&amp;gt;/etc/postfix/master.cf&amp;lt;/code&amp;gt;, indem Sie diese Zeilen auskommentieren (die standardmäßig vorhanden sind, nur kommentiert): &lt;br /&gt;
 Übermittlung inet n - n - - smtpd&lt;br /&gt;
  -o syslog_name=postfix/submission&lt;br /&gt;
  -o smtpd_tls_security_level=verschlüsseln&lt;br /&gt;
  -o smtpd_sasl_auth_enable=ja&lt;br /&gt;
  -o smtpd_reject_unlisted_recipient=nein&lt;br /&gt;
 # -o smtpd_client_restrictions=$mua_client_restrictions&lt;br /&gt;
 # -o smtpd_helo_restrictions=$mua_helo_restrictions&lt;br /&gt;
 # -o smtpd_sender_restrictions=$mua_sender_restrictions&lt;br /&gt;
  -o smtpd_recipient_restrictions=permit_sasl_authenticated,ablehnen&lt;br /&gt;
  -o milter_macro_daemon_name=URSPRUNG &lt;br /&gt;
Beachten Sie, dass dies auch SSL aktiviert. &lt;br /&gt;
* Wenn Sie also kein SSL-Zertifikat haben, lassen Sie die Option &amp;quot;smtpd_tls_security_level&amp;quot; auskommentiert. &lt;br /&gt;
&lt;br /&gt;
Die drei Restriktionsoptionen (client, helo, sender) können auch auskommentiert bleiben, da smtpd_recipient_restrictions bereits SASL-Benutzer behandelt. &lt;br /&gt;
&lt;br /&gt;
SASL kann verschiedene Authentifizierungsmethoden verwenden. Der Standardwert ist PAM (wie konfiguriert in &amp;lt;code&amp;gt;/etc/conf.d/saslauthd&amp;lt;/code&amp;gt;), aber um es richtig einzurichten, müssen Sie es erstellen &amp;lt;code&amp;gt;/etc/sasl2/smtpd.conf&amp;lt;/code&amp;gt;: &lt;br /&gt;
 pwcheck_method: saslauthd&lt;br /&gt;
 mech_list: EINFACHES LOGIN&lt;br /&gt;
 log_level: 7&lt;br /&gt;
 &lt;br /&gt;
Da pambase 20190105.1-1 und neuer einen restriktiven Fallback für &amp;quot;andere&amp;quot; PAM-Dienste verwendet, ist jetzt eine pam-Konfigurationsdatei erforderlich. [1] [2] &lt;br /&gt;
&lt;br /&gt;
Schaffen &amp;lt;code&amp;gt;/etc/pam.d/smtp&amp;lt;/code&amp;gt;. &lt;br /&gt;
 #%PAM-1.0&lt;br /&gt;
 Authentifizierung erforderlich pam_unix.so&lt;br /&gt;
 Konto erforderlich pam_unix.so&lt;br /&gt;
 &lt;br /&gt;
Bei Verwendung von PAM in Verbindung mit openldap zur Authentifizierung ist eine &#039;&#039;&#039;alternative&#039;&#039;&#039; pam-Konfigurationsdatei (&amp;lt;code&amp;gt;/etc/pam.d/smtp&amp;lt;/code&amp;gt;) könnte ähnlich aufgebaut sein wie: LDAP-Authentifizierung#PAM-Konfiguration &lt;br /&gt;
 #%PAM-1.0&lt;br /&gt;
 auth ausreichend pam_ldap.so try_first_pass minimum_uid=2000&lt;br /&gt;
 Authentifizierung erforderlich pam_unix.so&lt;br /&gt;
 &lt;br /&gt;
 Konto ausreichend pam_ldap.so minimum_uid=2000&lt;br /&gt;
 Konto erforderlich pam_unix.so &lt;br /&gt;
Starten/aktivieren Sie die &amp;lt;code&amp;gt;saslauthd.service&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Starten Sie die &amp;lt;code&amp;gt;postfix.service&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Wenn Sie den SASL-PAM-Authentifizierungsprozess validieren möchten, kann der folgende Befehl ausgeführt werden, um festzustellen, ob SASL über PAM authentifizieren kann: &lt;br /&gt;
 # testsaslauthd -u &amp;lt;Benutzername&amp;gt; -p &amp;lt;Passwort&amp;gt; -s smtp&lt;br /&gt;
 &lt;br /&gt;
Hoffentlich sollten Sie mit Telnet auf Ihren Postfix-Server zugreifen können: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;telnet localhost 587&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sie sollten dann Folgendes eingeben: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;EHLO example.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dies ist ungefähr das, was Sie sehen sollten: &lt;br /&gt;
 Versuche es mit 127.0.0.1...&lt;br /&gt;
 &lt;br /&gt;
 Verbunden mit localhost.localdomain&lt;br /&gt;
 Escape-Zeichen ist &#039;^]&#039;&lt;br /&gt;
 &lt;br /&gt;
 220 Justin ESMTP-Postfix&lt;br /&gt;
 EHLO-Beispiel.com&lt;br /&gt;
 250-justin&lt;br /&gt;
 250-PIPELINING&lt;br /&gt;
 250-GRÖSSE 10240000&lt;br /&gt;
 250-VRFY&lt;br /&gt;
 250-ETRN&lt;br /&gt;
 250-AUTH PLAIN OTP DIGEST-MD5 CRAM-MD5&lt;br /&gt;
 250 8BITMIME&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Konfiguration mit Dovecot ==&lt;br /&gt;
Wenn Sie Dovecot als IMAP- oder POP-Mailserver verwenden und sich Ihre Benutzer bereits authentifizieren (möglicherweise mit PAM), müssen Sie kein weiteres Paket konfigurieren. &lt;br /&gt;
&lt;br /&gt;
Einfach bearbeiten &amp;lt;code&amp;gt;/etc/postfix/master.cf&amp;lt;/code&amp;gt;und fügen Sie die folgenden Zeilen unter der hinzu &amp;lt;code&amp;gt;submission&amp;lt;/code&amp;gt;oder &amp;lt;code&amp;gt;smtp&amp;lt;/code&amp;gt;Abschnitt (je nachdem, was Sie verwenden): &lt;br /&gt;
 # SASL-Authentifizierung mit dovecot&lt;br /&gt;
  -o smtpd_tls_security_level=verschlüsseln&lt;br /&gt;
  -o smtpd_sasl_auth_enable=ja&lt;br /&gt;
  -o smtpd_sasl_type=Taubenschlag&lt;br /&gt;
  -o smtpd_sasl_path=privat/auth&lt;br /&gt;
  -o smtpd_sasl_security_options=noanonymous&lt;br /&gt;
  -o smtpd_sasl_local_domain=$meinHostname&lt;br /&gt;
  -o smtpd_client_restrictions=permit_sasl_authenticated,ablehnen&lt;br /&gt;
  -o smtpd_recipient_restrictions=reject_non_fqdn_recipient,reject_unknown_recipient_domain,permit_sasl_authenticated,reject &lt;br /&gt;
Die Verwendung dieser Konfiguration impliziert, dass nur authentifizierte Benutzer E-Mails senden können. Sie können dies von sehen &amp;lt;code&amp;gt;smtpd_client_restrictions&amp;lt;/code&amp;gt;Möglichkeit. &lt;br /&gt;
&lt;br /&gt;
Fügen Sie nun Folgendes zur Dovecot-Konfigurationsdatei hinzu &amp;lt;code&amp;gt;/etc/dovecot/conf.d/10-master.conf&amp;lt;/code&amp;gt;: &lt;br /&gt;
 Service-Authentifizierung {&lt;br /&gt;
  unix_listener /var/spool/postfix/private/auth {&lt;br /&gt;
   Gruppe = Postfix&lt;br /&gt;
   Modus = 0660&lt;br /&gt;
   Benutzer = postfix&lt;br /&gt;
  }&lt;br /&gt;
  Benutzer = root&lt;br /&gt;
 } &lt;br /&gt;
&lt;br /&gt;
Wie Sie sehen, wird ein Unix-Socket erstellt &amp;lt;code&amp;gt;/var/spool/postfix/private/auth&amp;lt;/code&amp;gt;, das gleiche angegeben in &amp;lt;code&amp;gt;smtpd_sasl_path&amp;lt;/code&amp;gt;Option von &amp;lt;code&amp;gt;master.cf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
abschließend Postfix- als auch den Dovecot-Dienst neu. &lt;br /&gt;
== Sicherheit ==&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
=== RFC ===&lt;br /&gt;
=== Man-Page ===&lt;br /&gt;
=== Info-Pages ===&lt;br /&gt;
=== Siehe auch ===&lt;br /&gt;
# Postfix SASL Readme in der offiziellen Postfix-Dokumentation. &lt;br /&gt;
# SASL-Authentifizierung mit Dovecot in der offiziellen Dovecot-Dokumentation. &lt;br /&gt;
# Centos Howto Postfix SASL &lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
=== Projekt-Homepage ===&lt;br /&gt;
=== Weblinks ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Postfix/Sicherheit]]&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=Gawk/Operatoren&amp;diff=167936</id>
		<title>Gawk/Operatoren</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=Gawk/Operatoren&amp;diff=167936"/>
		<updated>2026-06-17T08:40:46Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: Textersetzung - „ )“ durch „)“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:gawk/Operatoren}}&lt;br /&gt;
&lt;br /&gt;
Awk kennt nahezu das komplette Repertoire an Operatoren, die die Programmiersprachen zur Manipulation von Ausdrücken zur Verfügung stellen.&lt;br /&gt;
&lt;br /&gt;
== Arithmetische Operatoren ==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
| | &#039;&#039;&#039;+&#039;&#039;&#039;&lt;br /&gt;
| | Addition&lt;br /&gt;
|-&lt;br /&gt;
| | &#039;&#039;&#039;-&#039;&#039;&#039;&lt;br /&gt;
| | Subtraktion&lt;br /&gt;
|-&lt;br /&gt;
| | &#039;&#039;&#039;*&#039;&#039;&#039;&lt;br /&gt;
| | Multiplikation&lt;br /&gt;
|-&lt;br /&gt;
| | &#039;&#039;&#039;/&#039;&#039;&#039;&lt;br /&gt;
| | Division&lt;br /&gt;
|-&lt;br /&gt;
| | &#039;&#039;&#039;%&#039;&#039;&#039;&lt;br /&gt;
| | Modulo&lt;br /&gt;
|-&lt;br /&gt;
| | &#039;&#039;&#039;^&#039;&#039;&#039;&lt;br /&gt;
| | Potenzieren (Posix)&lt;br /&gt;
|-&lt;br /&gt;
| | &#039;&#039;&#039;**&#039;&#039;&#039;&lt;br /&gt;
| | Potenzieren (gawk u.a.)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Da letzterer Potenzoperator (**) nicht im POSIX-Standard enthalten ist, muss eine konkrete Awk-Implementierung diesen nicht zwangläufig verstehen. &lt;br /&gt;
* Verwenden Sie daher stets &#039;&#039;^&#039;&#039;, um Ihre Awk-Skripte portabel zu halten.&lt;br /&gt;
&lt;br /&gt;
Im Falle der Division sollten Sie prüfen, dass der Divisor nicht 0 wird, da Awk sonst mit einem Ausnahmefehler das Programm abbricht: &lt;br /&gt;
 $ &#039;&#039;&#039;awk &#039;BEGIN { x=5; y; print x/y; }&#039;&#039;&#039;&#039;&lt;br /&gt;
 awk: Kommandozeile:1: Fatal: Division durch Null wurde versucht&lt;br /&gt;
&lt;br /&gt;
Für arithmetische Operationen gelten die üblichen Vorrangregeln.&lt;br /&gt;
 $ &#039;&#039;&#039;awk &#039;BEGIN { print 5*4+20, 5*(4+20); }&#039;&#039;&#039;&#039;&lt;br /&gt;
 40 120&lt;br /&gt;
&lt;br /&gt;
== Zuweisungsoperatoren ==&lt;br /&gt;
* Das Gleichheitszeichen zur Zuweisung eines Wertes an eine Variable sollte hinreichend bekannt sein; dem C erfahrenen Programmierer sollten auch die folgenden Operatoren vertraut erscheinen: &lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
| | &#039;&#039;&#039;Operator &#039;&#039;&#039;&lt;br /&gt;
| | &#039;&#039;&#039;Kurzschreibweise für&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| | &#039;&#039;&#039;x++&#039;&#039;&#039; bzw.&amp;amp;nbsp;&#039;&#039;&#039;++x&#039;&#039;&#039;&lt;br /&gt;
| | x = x + 1&lt;br /&gt;
|-&lt;br /&gt;
| | &#039;&#039;&#039;x-- &#039;&#039;&#039;bzw.&amp;amp;nbsp;&#039;&#039;&#039; --x&#039;&#039;&#039;&lt;br /&gt;
| | x = x - 1&lt;br /&gt;
|-&lt;br /&gt;
| | &#039;&#039;&#039;X += y&#039;&#039;&#039;&lt;br /&gt;
| | x = x + y&lt;br /&gt;
|-&lt;br /&gt;
| | &#039;&#039;&#039;X -=y &#039;&#039;&#039;&lt;br /&gt;
| | x = x - y&lt;br /&gt;
|-&lt;br /&gt;
| | &#039;&#039;&#039;X *= y&#039;&#039;&#039;&lt;br /&gt;
| | x = x * x&lt;br /&gt;
|-&lt;br /&gt;
| | &#039;&#039;&#039;X /= y&#039;&#039;&#039;&lt;br /&gt;
| | x = x / y&lt;br /&gt;
|-&lt;br /&gt;
| | &#039;&#039;&#039;X %= y&#039;&#039;&#039;&lt;br /&gt;
| | x = x % y&lt;br /&gt;
|-&lt;br /&gt;
| | &#039;&#039;&#039;X ^= y&#039;&#039;&#039;&lt;br /&gt;
| | x = x ^ y&lt;br /&gt;
|-&lt;br /&gt;
| | &#039;&#039;&#039;X **= y&#039;&#039;&#039;&lt;br /&gt;
| | x = x ** y&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
* Mit Ausnahme von Inkrement- und Dekrement-Operatoren bleibt es Ihnen überlassen, ob Sie die Kurzform der ausführlichen Schreibweise vorziehen.&lt;br /&gt;
* Für Inkrement bzw.&amp;amp;nbsp;&lt;br /&gt;
* Dekrement entsprechen genau genommen nur ++x und --x (Prefix-Operatoren) der Semantik der langen Darstellung, denn nur hier werden die Zuweisungen zuerst ausgeführt und erst anschließend der Wert von x evaluiert.&lt;br /&gt;
* Als Postfix-Operatoren (x++, x--) verwendet, geht der alte Wert der Variable x in einem Ausdruck ein und erst nach Auswertung erfolgt die Zuweisung des neuen Wertes an x.&lt;br /&gt;
; Beispiele&lt;br /&gt;
&lt;br /&gt;
 $ &#039;&#039;&#039;awk &#039;BEGIN { x=5; print x = x + 1, x; }&#039;&#039;&#039;&#039;&lt;br /&gt;
 6 6&lt;br /&gt;
 $ &#039;&#039;&#039;awk &#039;BEGIN { x=5; print x++, x; }&#039;&#039;&#039;&#039;&lt;br /&gt;
 5 6&lt;br /&gt;
 $ &#039;&#039;&#039;awk &#039;BEGIN { x=5; print ++x, x; }&#039;&#039;&#039;&#039;&lt;br /&gt;
 6 6&lt;br /&gt;
Das folgende Beispiel demonstriert, dass tatsächlich in scheinbar gleichwertigen Ausdrücken abweichende Resultate erzielt werden: &lt;br /&gt;
 $ &#039;&#039;&#039;awk &#039;BEGIN { while (++x &amp;lt; 5) print x }&#039;&#039;&#039;&#039;&lt;br /&gt;
 1&lt;br /&gt;
 2&lt;br /&gt;
 3&lt;br /&gt;
 4&lt;br /&gt;
&lt;br /&gt;
 $ &#039;&#039;&#039;awk &#039;BEGIN { while (x++ &amp;lt; 5) print x }&#039;&#039;&#039;&#039;&lt;br /&gt;
 1&lt;br /&gt;
 2&lt;br /&gt;
 3&lt;br /&gt;
 4&lt;br /&gt;
 5&lt;br /&gt;
&lt;br /&gt;
Das nächste Beispiel zählt die Dateien im aktuellen Verzeichnis und berechnet ihren Speicherbedarf: &lt;br /&gt;
 $ &#039;&#039;&#039;ls -l | awk &#039;{ ++files; sum+=$5 } END { print sum, &amp;quot;Bytes in&amp;quot;, files, &amp;quot;Dateien&amp;quot;; }&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Vergleichsoperatoren ==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
| | &#039;&#039;&#039;&amp;lt;&#039;&#039;&#039;&lt;br /&gt;
| | Kleiner als&lt;br /&gt;
|-&lt;br /&gt;
| | &#039;&#039;&#039;&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
| | Größer als&lt;br /&gt;
|-&lt;br /&gt;
| | &#039;&#039;&#039;&amp;lt;=&#039;&#039;&#039;&lt;br /&gt;
| | Kleiner als oder gleich&lt;br /&gt;
|-&lt;br /&gt;
| | &#039;&#039;&#039;&amp;gt;=&#039;&#039;&#039;&lt;br /&gt;
| | Größer als oder gleich&lt;br /&gt;
|-&lt;br /&gt;
| | &#039;&#039;&#039;=&#039;&#039;&#039;&lt;br /&gt;
| | Gleich&lt;br /&gt;
|-&lt;br /&gt;
| | &#039;&#039;&#039;!=&#039;&#039;&#039;&lt;br /&gt;
| | Ungleich&lt;br /&gt;
|-&lt;br /&gt;
| | &#039;&#039;&#039;~&#039;&#039;&#039;&lt;br /&gt;
| | Übereinstimmung&lt;br /&gt;
|-&lt;br /&gt;
| | &#039;&#039;&#039;!~&#039;&#039;&#039;&lt;br /&gt;
| | Keine Übereinstimmung&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
* Der Zweck der ersten 6 Operatoren sollte leicht erkenntlich sein. &lt;br /&gt;
* Beachten Sie, dass der Test auf Gleichheit &#039;&#039;=&#039;&#039; anstatt &#039;&#039;=&#039;&#039; verwendet.&lt;br /&gt;
* Eine Verwechslung wäre kein Syntaxfehler (und ist daher als Fehler schwer zu erkennen), führt aber zu abweichenden Ergebnissen! &lt;br /&gt;
* Bei den Operatoren ~ und !~ dürfen als rechtsseitige Operanden auch reguläre Ausdrücke stehen, während bei allen anderen Operatoren einzig Variablen und Konstanten zulässig sind.&lt;br /&gt;
&#039;&#039;&#039;Beispiel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Finde alle Benutzer, deren Heimatverzeichnis unter /home liegt:&lt;br /&gt;
 $ &#039;&#039;&#039;awk &#039;$6 ~ /^\/home.*/ { print $1; }&#039; /etc/passwd&#039;&#039;&#039;&lt;br /&gt;
 user&lt;br /&gt;
 tux&lt;br /&gt;
&lt;br /&gt;
== Logische Operatoren ==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
| | &#039;&#039;&#039;&amp;amp;&amp;amp;&#039;&#039;&#039;&lt;br /&gt;
| | Logisches UND&lt;br /&gt;
|-&lt;br /&gt;
| | &#039;&#039;&#039;||&#039;&#039;&#039;&lt;br /&gt;
| | Logisches ODER&lt;br /&gt;
|-&lt;br /&gt;
| | &#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
| | Negation&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Logische oder boolesche Operatoren dienen maßgeblich zur Verknüpfung mehrerer Vergleichsoperatoren oder mehrerer regulärer Ausdrücke.&lt;br /&gt;
&lt;br /&gt;
Das Beispiel listet alle Dateien des aktuellen Verzeichnisses auf, die zwischen 4097 und 8192 Bytes groß sind: &lt;br /&gt;
 $ &#039;&#039;&#039;ls -l /etc/ | awk &#039;$5 &amp;gt;= 4097 &amp;amp;&amp;amp; $5 &amp;lt;= 8192 {print $NF; }&#039;&#039;&#039;&#039;&lt;br /&gt;
 bogofilter.cf&lt;br /&gt;
 csh.cshrc&lt;br /&gt;
 csh.login&lt;br /&gt;
 dhcpd.conf&lt;br /&gt;
 enscript.cfg&lt;br /&gt;
 freshclam.conf&lt;br /&gt;
 my.cnf&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
Ein weiteres Beispiel veranschaulicht die Verwendung der Negation, indem im aktuellen Verzeichnis alle Dateien gesucht werden, die &#039;&#039;nicht&#039;&#039; dem aktuell angemeldeten Benutzer gehören: &lt;br /&gt;
 $ &#039;&#039;&#039;ls -l | awk &#039;FNR &amp;gt; 1 &amp;amp;&amp;amp; !($3 = ENVIRON[&amp;quot;USER&amp;quot;]) {print $NF; }&#039;&#039;&#039;&#039;&lt;br /&gt;
* Der Vergleich ist auch mit &#039;&#039;!=&#039;&#039; möglich. &lt;br /&gt;
&lt;br /&gt;
== Priorität der Auswertung ==&lt;br /&gt;
* Verknüpfen Sie mehrere Ausdrücke per logischer Operatoren, so kann die Priorität der Auswertung eine Rolle spielen:* Eine Negation wird vor dem logischen UND und dieses vor dem logischen ODER betrachtet.&lt;br /&gt;
* Nutzen Sie die Klammerung, um ggf. eine andere Bearbeitungsreihenfolge zu erzwingen.&lt;br /&gt;
{{DEFAULTSORT:gawk:Operatoren}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Gawk]]&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=Multiplexverfahren&amp;diff=167935</id>
		<title>Multiplexverfahren</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=Multiplexverfahren&amp;diff=167935"/>
		<updated>2026-06-17T08:40:46Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: Textersetzung - „ )“ durch „)“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;topic&#039;&#039;&#039; - Kurzbeschreibung&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
&#039;&#039;&#039;Multiplexverfahren&#039;&#039;&#039; (lat. &#039;&#039;multiplex&#039;&#039; &amp;quot;vielfach, vielfältig&amp;quot;) sind Methoden zur Signal- und Nachrichtenübertragung, bei denen mehrere [[Elektrisches Signal|Signale]] zusammengefasst &#039;&#039;(gebündelt)&#039;&#039; und simultan über ein Medium ([[Elektrische Leitung|Leitung]], [[Kabel]] oder [[Funktechnik|Funkstrecke]]) übertragen werden. &lt;br /&gt;
* Oftmals werden Multiplexverfahren auch kombiniert, um eine noch höhere Nutzung zu erreichen. &lt;br /&gt;
* Die Bündelung erfolgt, nachdem die Nutzdaten auf ein Trägersignal [[Modulation (Technik)|moduliert]] wurden. &lt;br /&gt;
* Entsprechend werden sie beim Empfänger &#039;&#039;nach&#039;&#039; der Entbündelung (dem &#039;&#039;Demultiplexen&#039;&#039;) demoduliert.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Dot matrix.gif|mini|130px|Veranschaulichung einer LED-[[Matrixanzeige|Matrix]]-Ansteuerung mit synchronem Zeilen-Multiplexing]]&lt;br /&gt;
[[Datei:7segment multiplexing.gif|mini|Veranschaulichung einer [[7-Segment-Anzeige]] mit synchronem Segment-Multiplexing]]&lt;br /&gt;
Speziell das synchrone &#039;&#039;Zeitmultiplexverfahren&#039;&#039; (siehe unten) kommt auch bei der [[Serielle Schnittstelle|seriellen digitalen Datenübertragung]], der simultanen Datenerfassung mehrerer analoger Kanäle und bei der Ansteuerung von Anzeigen (LED- und [[Fluoreszenzanzeige]]n, [[Flüssigkristallanzeige|LCD]]-, [[Plasmabildschirm|Plasma]]- und [[Bildröhre|CRT-Bildschirme]] sowie -displays) zum Einsatz.&lt;br /&gt;
&lt;br /&gt;
Die Intentionen für die Anwendung von Multiplexing sind bei leitungsgebundener und bei Funkübertragung teilweise unterschiedlich. &lt;br /&gt;
* Bei leitungsgebundener Übertragung werden die Signale aus mehreren Quellen durch einen so genannten [[Multiplexer]] gebündelt und gemeinsam über einen statt über mehrere parallele Wege übertragen. &lt;br /&gt;
* Der [[Demultiplexer]] entbündelt die Signale dann wieder. &lt;br /&gt;
* Ziel hierbei ist es, die Kosten für die Übertragungsstrecke möglichst niedrig zu halten.&lt;br /&gt;
Die Funktechnik eignet sich besonders, um mehrere Teilnehmer, die meist auch räumlich verteilt sind, gleichzeitig mit einer zentralen Funkstation verbinden zu können.&lt;br /&gt;
Beim [[Richtfunk]] als Punkt-zu-Punkt-Verbindung gibt es ebenfalls Multiplextechniken. &lt;br /&gt;
* Hier wird der Hochfrequenzübertragungskanal gemeinsam für eine Vielzahl von Datenströmen benutzt.&lt;br /&gt;
&lt;br /&gt;
=== Allgemeines ===&lt;br /&gt;
Multiplexverfahren wurden entwickelt, um eine optimale Ausnutzung der Leitungen und Frequenzen zu erreichen, die in der Elektronik und [[Kommunikationstechnik]] als Übertragungswege zur Verfügung stehen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Hierdurch werden die Kosten verringert und die Zuverlässigkeit erhöht, da zum Beispiel weniger Anschluss- und Verbindungsleitungen erforderlich sind. &lt;br /&gt;
* Manche technische Lösungen sind überhaupt nur mit multiplexer Signalübertragung realisierbar (beispielsweise s Auslesen und das Beschreiben einzelner Pixel [[Digitalkamera|digitaler Kameras]] oder [[Flachbildschirm]]e).&lt;br /&gt;
&lt;br /&gt;
Beim Multiplexverfahren werden mehrere verschiedene Signale gebündelt oder zeitlich ineinander verschachtelt, um sie ohne gegenseitige Beeinflussung simultan und gemeinsam übertragen zu können.&lt;br /&gt;
&lt;br /&gt;
In der [[Kommunikationstechnik]] und Signalübertragung unterscheidet man die folgenden Multiplexverfahren:&lt;br /&gt;
; Raummultiplexverfahren: Übertragungskanäle (Leitungen, Richtfunkstrecken) werden zur parallelen, aber exklusiven Nutzung durch mehrere Sender und Empfänger gebündelt.&lt;br /&gt;
; Frequenz- bzw.&amp;amp;nbsp;&lt;br /&gt;
* Wellenlängenmultiplexverfahren: Bei Leitungsübertragung werden mehrere Signale in unterschiedlichen Frequenzbereichen getrennt übertragen; bei [[Funktechnik|Funk]]- und [[Lichtwellenleiter]]übertragung werden unterschiedlichen Signalen unterschiedliche Wellenlängen zugewiesen. &lt;br /&gt;
* Da Frequenz und Wellenlänge fest über die [[Phasengeschwindigkeit|Ausbreitungsgeschwindigkeit]] miteinander verkoppelt sind, sind &#039;&#039;Frequenz-&#039;&#039; und Wellenlängenmultiplex synonyme Verfahren.&lt;br /&gt;
; Zeitmultiplexverfahren: Mehrere Signale werden zeitversetzt übertragen. &lt;br /&gt;
* Sie sind zeitlich ineinander verschachtelt. &lt;br /&gt;
* Die Zeitfenster können synchronisiert und gleich lang oder asynchron und bedarfsabhängig sein.&lt;br /&gt;
; Codemultiplexverfahren: Dieses Verfahren wird in der Funktechnik und in [[Datenbus]]sen eingesetzt. &lt;br /&gt;
* Verschiedene Signalfolgen werden über eine Leitung oder eine Funkfrequenz übertragen und können anhand ihrer unterschiedlichen [[Codierung]] zugeordnet werden; im Empfänger wird nur das passend kodierte Signal erkannt und ausgewertet.&lt;br /&gt;
&amp;lt;!--; Multiplex mit quantisierten (analogen) Werten: Dieses Verfahren war noch nicht klassifiziert. &lt;br /&gt;
* Hier werden mehrere Bit an Information durch unterschiedliche Spannungs- oder Strompegel übertragen. &lt;br /&gt;
* Eine Anwendung ist die Einzeldraht-Übertragung mehrerer Schalterbetätigungen, unter anderem verwendet in Automobil-Lenksäulen. &lt;br /&gt;
* In das gleiche Schema fällt [[Quadraturamplitudenmodulation#Quantisierte QAM|quantisierte Amplitudenmodulation]] zur Bandbreite sparenden Übertragung von Binärinformation.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Analogien zur Veranschaulichung ==&lt;br /&gt;
; Raummultiplexverfahren: Personen sprechen an verschiedenen Orten miteinander. &lt;br /&gt;
* Bei genügend großem Abstand stören sich die Gespräche nicht gegenseitig.&lt;br /&gt;
; Frequenzmultiplexverfahren: Eine [[Hundepfeife]] oder Fledermäuse erzeugen für den Menschen unhörbare Signale. &lt;br /&gt;
* Eine Kommunikation ist parallel möglich.&lt;br /&gt;
; Zeitmultiplexverfahren: In einer Schulklasse oder beim [[CB-Funk]] hat in der Regel nur je ein Sprecher gleichzeitig das Wort (asynchrones Zeitmultiplexverfahren), in Parlamenten hat jeder Redner eine Redezeit definierter Länge (synchrones Zeitmultiplexverfahren)&lt;br /&gt;
; Codemultiplexverfahren: Bei vielen gleichzeitig gesprochenen Sprachen hört man seine Muttersprache heraus. &lt;br /&gt;
* Bekannte Personen erkennt man am Klang ihrer Stimme.&lt;br /&gt;
&lt;br /&gt;
== Begriffsunterscheidung &amp;quot;Multiplexing&amp;quot; und &amp;quot;Multiple Access&amp;quot; ==&lt;br /&gt;
Im Zusammenhang mit den hier beschriebenen Multiplexverfahren wird teils von &#039;&#039;Multiplexing&#039;&#039; (oft in Verbindung mit Hardware) und teils von &#039;&#039;Multiple Access&#039;&#039; (oft als Softwarelösung) gesprochen.&lt;br /&gt;
&lt;br /&gt;
Um &#039;&#039;&#039;Multiplexing&#039;&#039;&#039; im engeren Sinne handelt es sich dann, wenn am Anfang eines Übertragungsweges ein &#039;&#039;Multiplexer&#039;&#039; mehrere Signale bündelt und am Ende ein &#039;&#039;Demultiplexer&#039;&#039; diese wieder auftrennt. &lt;br /&gt;
* Im Bereich der Audio-/Videobearbeitung spricht man auch von Multiplexing, wenn eine Videospur mit einer Tonspur durch entsprechende Software in eine einzelne Datei (beispielsweise *.mpeg) zusammengeführt wird.&lt;br /&gt;
&lt;br /&gt;
Der Begriff &#039;&#039;&#039;Multiple Access&#039;&#039;&#039; wird eher dann verwendet, wenn es mehrere Sender-Empfänger-Paare (beispielsweise Mobilfunkteilnehmer) gibt, die sich ein Übertragungsmedium (in der Regel eine Funkschnittstelle -&amp;amp;nbsp;also die Luft in der Umgebung einer [[Basisstation]] oder eines Funkrouters) selbständig aufteilen. &lt;br /&gt;
* Das geschieht entweder mit einer zentralen Instanz (beispielsweise die Basisstation beim [[Mobiltelefon|mobilen Telefonieren]]), die die Kanäle zuteilt, oder die Teilnehmergeräte arbeiten mit einer [[Kollisionserkennung (Kommunikationstechnik)|Kollisionserkennung]].&lt;br /&gt;
&lt;br /&gt;
Die Verfahren zur gemeinsamen Nutzung des Übertragungsmediums sind bei Multiplexing und Multiple Access jedoch gleich und werden deshalb in diesem Artikel gemeinsam beschrieben.&lt;br /&gt;
&lt;br /&gt;
== Multiplexing bei Webseiteaufrufen ==&lt;br /&gt;
Wenn im Internet eine Webseite aufgerufen wird, müssen in der Regel mehrere Dateien geladen werden ([[html]], Bilder, [[Cascading Style Sheets|Style Sheets]], Favicon, …). &lt;br /&gt;
* Für jeden dieser Aufrufe muss eine eigene Verbindung erstellt werden. &lt;br /&gt;
* Da mehrere [[Handshake]]s hintereinander ausgeführt werden müssen ([[Transmission Control Protocol|TCP]], [[Transport Layer Security#TLS Handshake Protocol|TLS]], dann [[http]]), dauert das Laden der Webseite aufgrund der [[Paketumlaufzeit]] länger. &lt;br /&gt;
* Falls [[HTTP/2]] verwendet wird, können mehrere Aufrufe in einer einzigen Verbindung zusammengefasst werden. &lt;br /&gt;
* Dies wird als Multiplexing bezeichnet.&lt;br /&gt;
&lt;br /&gt;
Dabei besteht jedoch weiterhin das Problem des sogenannten [[Head-of-Line-Blocking]]. &lt;br /&gt;
* Das heißt, falls Pakete für einen Aufruf verloren gehen, stocken auch die anderen Aufrufe. &lt;br /&gt;
* Dies wird mit [[HTTP/3]] weiter verbessert, da dieses auf [[QUIC]] anstelle von [[Transmission Control Protocol|TCP]] basiert.&lt;br /&gt;
&lt;br /&gt;
== Raummultiplexverfahren (SDMA) ==&lt;br /&gt;
Mit &#039;&#039;Raummultiplexverfahren&#039;&#039; (engl. {{lang|en|&#039;&#039;Space Division Multiplex, SDM&#039;&#039;}} oder {{lang|en|&#039;&#039;Space Division Multiple Access, SDMA&#039;&#039;}}) bezeichnet man in der [[Nachrichtentechnik]] das Übertragen von mehreren Nachrichten über parallel installierte Übertragungswege, die den einzelnen Sendern und Empfängern jeweils zur exklusiven Nutzung bereitgestellt werden.&lt;br /&gt;
&lt;br /&gt;
Man unterscheidet hierbei zwischen zwei verschiedenen Varianten:&lt;br /&gt;
* kabelgebundenes Raummultiplexverfahren&lt;br /&gt;
* kabelloses Raummultiplexverfahren&lt;br /&gt;
&lt;br /&gt;
=== Kabelgebundene Raummultiplexverfahren ===&lt;br /&gt;
[[Datei:Kreuzschienenverteilung002.png|mini|250px|Schematische Darstellung einer Kreuzschienenverteilung]]&lt;br /&gt;
Das kabelgebundene Raummultiplexverfahren ist das einfachste und älteste Multiplexverfahren. &lt;br /&gt;
* Hierbei werden zur gleichzeitigen Unterstützung von individuellen Verbindungen mehrere Leitungen parallel installiert. &lt;br /&gt;
* Diese parallelen Leitungen werden auch als [[Leitungsbündel]] (engl. {{lang|en|&#039;&#039;trunk&#039;&#039;}}) bezeichnet.&lt;br /&gt;
&lt;br /&gt;
Die einfachste Anwendung dieses Verfahrens sind die schon in der Anfangszeit der [[Telekommunikation]] und bis heute gebräuchlichen mehradrigen Kabel. &lt;br /&gt;
* Eine andere Methode des Raummultiplexverfahrens ist die Kreuzschienenverteilung (engl. {{lang|en|&#039;&#039;cross bar switching&#039;&#039;}}), die auch als [[Koppelfeld]] bezeichnet wird. &lt;br /&gt;
* Hierbei handelt es sich um eine Matrix aus mehreren Leitungen mit vielen Schaltern. &lt;br /&gt;
* Hier zeigt sich einer der Vorteile des Raummultiplexverfahrens: Durch diese Matrix ist sichergestellt, dass jeder Sender jeden Empfänger erreichen kann, sofern die Leitung frei und der Schalter aktiv ist.&lt;br /&gt;
&lt;br /&gt;
=== Kabellose Raummultiplexverfahren ===&lt;br /&gt;
Beim kabellosen Raummultiplexverfahren wird für jede Gruppe von Verbindungen ein separates Gebiet oder eine eigene Richtfunkstrecke verwendet. &lt;br /&gt;
* Normalerweise erfolgt eine Mehrfachausnutzung einer solchen Funkstrecke oder eines Gebietes mit Hilfe des Frequenzmultiplexverfahrens oder des Zeitmultiplexverfahren oder einer Kombination aus beiden.&lt;br /&gt;
&lt;br /&gt;
Das Raummultiplexverfahren wird notwendig, wenn die Anzahl der zu übertragenden Verbindungen steigt und gleichzeitig Frequenzknappheit besteht. &lt;br /&gt;
* Dann wird die gleiche Frequenz mit ausreichendem räumlichen Abstand mehrfach benutzt. &lt;br /&gt;
* Der ausreichende räumliche Abstand ist notwendig, um zwischen den verschiedenen Sendern mit gleicher Sendefrequenz störende [[Interferenz (Physik)|Interferenzen]] zu vermeiden. &lt;br /&gt;
* Zum Einsatz kommt dieses Verfahren unter anderem in den Richtfunknetzen und bei der Frequenzzuteilung beim [[Rundfunk]], [[Fernsehen]] und zellularem [[Mobilfunk]].&lt;br /&gt;
&lt;br /&gt;
Ein Spezialfall ist [[MIMO (Nachrichtentechnik)|Multiple Input Multiple Output]], bei dem ein logisches Signal durch mehrere kooperierende Antennen übertragen wird, um so Qualität (geringe Bitfehlerhäufigkeit) und Datenrate einer drahtlosen Verbindung deutlich zu verbessern.&lt;br /&gt;
&lt;br /&gt;
== Frequenzmultiplexverfahren (FDMA) ==&lt;br /&gt;
[[Frequenzmultiplexverfahren]]&lt;br /&gt;
&lt;br /&gt;
Das Frequenzmultiplexverfahren, im Englischen {{lang|en|&#039;&#039;Frequency Division Multiplex&#039;&#039;}} (FDM) oder {{lang|en|&#039;&#039;Frequency Division Multiple Access&#039;&#039;}} (FDMA), ist sowohl in drahtgebundenen als auch in drahtlosen Kommunikationssystemen anwendbar. &lt;br /&gt;
* Ein erster Vorschlag zur Vielfachausnutzung von Leitungen durch Frequenzmultiplexverfahren wurde 1886 für die Telegraphie durch [[Elisha Gray]] gemacht. &lt;br /&gt;
* Die wohl bekannteste Anwendung ist die [[Pilotton-Multiplexverfahren|Stereotonübertragung]] im UKW-Radio.&lt;br /&gt;
&lt;br /&gt;
=== Frequenzmultiplex auf Leitungen ===&lt;br /&gt;
[[Datei:Frequenzmultiplex001.svg|mini|Schematische Darstellung des Frequenzmultiplexverfahrens]]&lt;br /&gt;
Hierbei werden mehrere Signale auf je eine eigene [[Trägerfrequenz]] [[Modulation (Technik)|moduliert]]. &lt;br /&gt;
* Da bei der Modulation zwei identische Seitenbänder entstehen, wird bei den Trägerfrequenzsystemen der Nachrichtentechnik ein Seitenband und die Trägerfrequenz selbst unterdrückt. &lt;br /&gt;
* Die entstehenden, schmalen [[Frequenzband|Frequenzbänder]] werden zu einem breitbandigen Signal zusammengefasst und dann gemeinsam übertragen. &lt;br /&gt;
* Die Übertragung der Signale erfolgt dabei gleichzeitig und unabhängig voneinander.&lt;br /&gt;
&lt;br /&gt;
Der Empfänger muss die Trägerfrequenzen wieder ergänzen und kann mit Hilfe von [[Filter (Elektrotechnik)|Filtern]] die Signale wieder trennen, um sie dann durch [[Demodulation]] in ihre ursprüngliche Frequenzlage zurückzuwandeln. &lt;br /&gt;
* Zur Vermeidung von [[Interferenz (Physik)|Interferenzen]] und um eine bessere Trennung der Signale im Empfängerfilter zu erreichen, werden unbenutzte, sogenannte Schutzbänder (engl. &#039;&#039;guard bands&#039;&#039;) zwischen den einzelnen Frequenzbändern freigelassen.&lt;br /&gt;
&lt;br /&gt;
Angewendet wurde Frequenzmultiplex vor allem auf den (Kupfer-)Fernverbindungsleitungen im Telefonnetz. &lt;br /&gt;
* Inzwischen wird im Telefonnetz meist Zeitmultiplex oder Wellenlängenmultiplex genutzt, die das Glasfasernetz verwenden.&lt;br /&gt;
&lt;br /&gt;
Heute kommt das Frequenzmultiplex noch bei der Übertragung von Informationen über [[Breitbandverteilnetz]]e, wie etwa dem [[Kabelfernsehen]] zum Einsatz. &lt;br /&gt;
* Auch bei den Rundfunk- und Fernsehsignalen wird nur ein Seitenband übertragen, allerdings wird die Trägerfrequenz nicht unterdrückt, da sich dadurch die Empfänger vereinfachen lassen.&lt;br /&gt;
&lt;br /&gt;
=== Frequenzmultiplex bei Funkübertragung ===&lt;br /&gt;
Hierbei wird ebenfalls jedes Signal auf eine eigene Trägerfrequenz moduliert, die Signalbänder werden dann zusammengefasst und ausgestrahlt. &lt;br /&gt;
* Die Trägerfrequenz ist die Mittenfrequenz der abgestrahlten [[Funkwellen|Funkwelle]]. &lt;br /&gt;
* Im Empfänger werden die von der Antenne kommenden Frequenzbänder durch Filterung oder das [[Superheterodyn]]-Verfahren aufgeteilt und anschließend demoduliert.&lt;br /&gt;
&lt;br /&gt;
Klassische Beispiele sind der [[Terrestrische Übertragung|terrestrische Rundfunk]] und das [[Satellitenfernsehen]].&lt;br /&gt;
&lt;br /&gt;
Heutige Anwendungsbereiche sind die [[Richtfunk|Richt-]] und [[Mobilfunk]]technik in der [[Telekommunikation]]. &lt;br /&gt;
* Das russische Satellitennavigationssystem [[GLONASS]] verwendet ebenfalls das Frequenzmultiplexverfahren. &lt;br /&gt;
* Zudem ist dieses Verfahren mit dem Zeitmultiplexverfahren kombinierbar, zum Beispiel beim [[Global System for Mobile Communications]] (GSM), bei [[Digital Enhanced Cordless Telecommunications]] (DECT) oder bei [[Bluetooth]].&lt;br /&gt;
&lt;br /&gt;
Eine Weiterentwicklung des FDM ist das [[Orthogonales Frequenzmultiplexverfahren|OFDM]] (engl. {{lang|en|&#039;&#039;Orthogonal Frequency Division Multiplexing&#039;&#039;}}) bei dem ein Signal auf mehrere (tausend) Unterträger verteilt wird, deren Frequenzen orthogonal zueinander stehen, das heißt, dass deren Kreisfrequenzen jeweils ganzzahlige Vielfache einer Grundfrequenz sind. &lt;br /&gt;
* Anwendung findet das OFDM heute vor allem bei LTE, DVB-T und digitalen Funkkameras.&lt;br /&gt;
&lt;br /&gt;
Anmerkung: Die Zuweisung unterschiedlicher Frequenzen zu unterschiedlichen (räumlich getrennten) Sendestationen (beispielsweise Mobilfunkzellen) bezeichnet man üblicherweise nicht als Frequenzmultiplex. &lt;br /&gt;
* Hier spricht man von Frequenzplanung oder Raummultiplex (SDM).&lt;br /&gt;
&amp;lt;!--Träger Frequenz Technik durch systematische Frequenzstaffelung wird dabei die gleichzeitige Übertragung von einigen 100 Telefongesprächen möglich.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Optisches Wellenlängenmultiplexverfahren ===&lt;br /&gt;
Das &#039;&#039;&#039;Wellenlängenmultiplexverfahren&#039;&#039;&#039; (engl. &#039;&#039;Wavelength Division Multiplex&#039;&#039;, &#039;&#039;&#039;WDM&#039;&#039;&#039; oder &#039;&#039;Wavelength Division Multiple Access&#039;&#039;, WDMA) ist ein optisches Frequenzmultiplexverfahren, das bei der Übertragung von Daten (Signalen) über Glasfaserkabel ([[Lichtwellenleiter]]) verwendet wird.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Arrayed-Waveguide-Grating.svg|mini|Wellenlängenmultiplexverfahren Mittels [[Arrayed-Waveguide Grating]]. &lt;br /&gt;
* Der Lichtweg von (1) nach (5) funktioniert als optischer Demultiplexer und von (5) nach (1) als opt. Multiplexer.]]&lt;br /&gt;
Beim Wellenlängenmultiplexverfahren werden aus verschiedenen [[Wellenlänge]]n (&#039;&#039;siehe: [[Frequenzband#Optische Datenkommunikation|Frequenzbänder der optischen Datenkommunikation]]&#039;&#039;) bestehende Lichtsignale zur Übertragung in einem Lichtwellenleiter verwendet. &lt;br /&gt;
* Als Quelle für die Lichtsignale dienen vorwiegend [[Laserdiode]]n (LD) oder lichtemittierende Dioden ([[LED]]). &lt;br /&gt;
* Jede dieser so erzeugten schmalbandigen [[Wellenlängenbereich]]e bildet somit einen eigenen [[Übertragungskanal]], auf den man nun die Daten (Signale) eines Senders modulieren kann. &lt;br /&gt;
* Die so modulierten Daten (Signale) werden dann durch optische Koppelelemente gebündelt und gleichzeitig sowie unabhängig voneinander übertragen. &lt;br /&gt;
* Am Ziel dieser optischen Multiplexverbindung werden die einzelnen optischen Übertragungskanäle durch passive optische Filter oder wellenlängensensible opto-elektrische Empfängerelemente wieder getrennt. &lt;br /&gt;
* Das Verfahren ist mit anderen optischen Multiplexverfahren kombinierbar.&lt;br /&gt;
[[Datei:Mehrere FBG Sensoren in einer Glasfaser.png|mini]]&lt;br /&gt;
Inzwischen gibt es mikrooptische Bauteile, die einzelne optische Kanäle ohne vorherige Wandlung zu elektrischen Signalen verstärken, trennen und schalten ([[Routing|routen]]) können. &lt;br /&gt;
* Damit können rein optische Netze realisiert werden. &lt;br /&gt;
* Wesentliche Komponenten dieser Technik sind optische Multi- und Demultiplexer, [[Optischer Verstärker|optische Verstärker]] und [[Optischer Crossconnect|optische Crossconnects]], die die Kanäle durch Filter trennen.&amp;lt;!-- Diese Möglichkeiten werden auch dafür verwendet, mehrere [[Faser-Bragg-Gitter]] Sensoren in einer Glasfaser zu integrieren und getrennt auszulesen, um sogenannte Sensorketten zu realisieren.&amp;lt;Satz finde ich unverständlich&amp;gt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Siehe auch: [[Arrayed-Waveguide Grating]] (Bild rechts).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Bei der Wellenlängen-Multiplex Technik wird heute zwischen &#039;&#039;Dense&#039;&#039; (DWDM), &#039;&#039;Coarse&#039;&#039; (CWDM) und &#039;&#039;Wide Wavelength Division Multiplex&#039;&#039; (WWDM) unterschieden.&lt;br /&gt;
&lt;br /&gt;
==== DWDM ====&lt;br /&gt;
Das so genannte &#039;&#039;&#039;Dichte Wellenlängen-Multiplex&#039;&#039;&#039; (engl. &#039;&#039;Dense Wavelength Division Multiplex&#039;&#039;, DWDM) gilt zurzeit als leistungsstärkste Variante. &lt;br /&gt;
* Hier liegen die zur Übertragung im Glasfaserkabel verwendeten Wellenlängen (Spektralfarben) sehr dicht beieinander. &lt;br /&gt;
* Der Frequenzbereich der Wellenlängen liegt üblicherweise im [[Frequenzband#Optische Datenkommunikation|C- oder L-Band]] bei einem Frequenzabstand von 0,4&amp;amp;nbsp;nm (50 [[Gigahertz|GHz]]) bis 1,6&amp;amp;nbsp;[[Nanometer|nm]] (200&amp;amp;nbsp;GHz). &lt;br /&gt;
* Diese geringen Frequenzabstände können nur erreicht werden, indem temperatur- und wellenlängenstabilisierte Laser (thermostatierte [[DFB-Laser]]dioden) und hochwertige Filter eingesetzt werden. &lt;br /&gt;
* Hierdurch erhält man [[Datenübertragungsrate]]n um 10-100&amp;amp;nbsp;Gbit/s pro Kanal bei bis zu 80 Kanälen. &lt;br /&gt;
* Durch Kombination des C- und L-Bandes sind bis zu 160 Kanäle möglich.&amp;lt;br /&amp;gt;&lt;br /&gt;
Je nach Hersteller, Netzdesign und Glasfasertyp sind optische Verstärker alle 80-200&amp;amp;nbsp;km erforderlich sowie eine elektrische Daten-Regeneration alle circa 600-2000&amp;amp;nbsp;km. &lt;br /&gt;
* Aus diesem Grund ist der hauptsächliche Anwendungsbereich dieser Variante der Einsatz über weite Entfernungen im [[Wide Area Network|Wide]]- und [[Global Area Network]].&lt;br /&gt;
&lt;br /&gt;
Je höher die Datenrate auf einem Kanal, umso größer werden Beeinflussungen durch [[Dispersion (Physik)|Dispersion]]. &lt;br /&gt;
* Bei Datenraten ab 10&amp;amp;nbsp;Gbit/s muss mit Beeinflussungen durch [[chromatische Dispersion]] gerechnet werden, bei Datenraten ab 40&amp;amp;nbsp;Gbit/s kommen weitere Effekte, wie etwa die [[Polarisationsmodendispersion]] (PMD) hinzu. &lt;br /&gt;
* Diese linearen Verzerrungen treten innerhalb jedes Kanals getrennt auf und können zumindest teilweise kompensiert werden, entweder durch Hardware-Kompensatoren oder durch schnelle Signalprozessoren. &lt;br /&gt;
* In Wellenlängen-Multiplexsystem kann es darüber hinaus auch zu nichtlinearen Verzerrungen kommen, durch welche die optische Leistung in einem Kanal die Übertragung der Nachbarkanäle stört. &lt;br /&gt;
* Bei der Vierwellenlängen-Mischung entsteht aus drei optischen Frequenzen eine vierte, die in einen anderen Übertragungskanal fallen kann. &lt;br /&gt;
* Durch die Kreuz-Phasen-Modulation ändert die Leistung eines optischen Kanals den [[Brechungsindex]] der Faser und damit die Phase der Nachbarkanäle, wodurch auch eine Depolarisation eintreten kann.&lt;br /&gt;
&lt;br /&gt;
==== CWDM ====&lt;br /&gt;
Eine kostengünstigere Variante stellt das &#039;&#039;&#039;Grobe Wellenlängen-Multiplex&#039;&#039;&#039; (engl. &#039;&#039;Coarse Wavelength Division Multiplex&#039;&#039;, CWDM) dar. &lt;br /&gt;
* Zur Übertragung von Signalen stehen 18 genormte Wellenlängen mit einem Kanalabstand von 20&amp;amp;nbsp;nm zwischen 1271&amp;amp;nbsp;nm und 1611&amp;amp;nbsp;nm zur Verfügung. &lt;br /&gt;
* Je nach Fasertyp und Systemhersteller können nicht immer alle Wellenlängen genutzt werden. &lt;br /&gt;
* Diese &amp;quot;grobe&amp;quot; Aufteilung der Wellenlängen wurde gewählt, um kostengünstigere Laser und Komponenten verwenden zu können. &lt;br /&gt;
* Es werden Datenübertragungsraten bis 10&amp;amp;nbsp;Gbit/s pro Kanal und Leitungsreichweiten bis 70&amp;amp;nbsp;km ohne Signalverstärkung erreicht. &lt;br /&gt;
* Als Einsatzgebiete gelten Netzverbindungen im Stadtbereich (so genannte [[Metropolitan Area Network]]).&lt;br /&gt;
&lt;br /&gt;
==== WWDM ====&lt;br /&gt;
Die einfachste Möglichkeit stellt &#039;&#039;&#039;WWDM&#039;&#039;&#039; (engl. &#039;&#039;wide wavelength division multiplex&#039;&#039;) dar. &lt;br /&gt;
* Am häufigsten kommt die Technik zur Anwendung, um gleichzeitig die Signale aus dem 1310-nm- und 1550-nm-Fenster auf einer Faser zu übertragen.&lt;br /&gt;
&lt;br /&gt;
== Polarisationsmultiplex (PM) ==&lt;br /&gt;
Bei gleicher Datenrate wird die benötigte Bandbreite halbiert, indem die beiden Polarisationsrichtungen getrennt moduliert werden. &lt;br /&gt;
* Das Polarisationsmultiplexverfahren wird für die Übertragung von 100 Gbps über Lichtwellenleiter im Weitverkehrsnetz eingesetzt. &lt;br /&gt;
* Wird jede Polarisationsrichtung mit QPSK moduliert, so hat das kombinierte Signal eine Schrittgeschwindigkeit von 25 Gbaud. &lt;br /&gt;
* Damit lassen sich 100 Gbps über die weitverbreiteten Übertragungssysteme mit 50&amp;amp;nbsp;GHz Kanalabstand übertragen. &lt;br /&gt;
* Dieses Modulationsformat heißt DPQPSK (Dual Polarization Quadrature Phase Shift Keying) oder PMQPSK.&lt;br /&gt;
Für den Empfang sind polarisationsselektive Empfänger notwendig, die den sich laufend ändernden Polarisationsrichtungen folgen können. &lt;br /&gt;
* Dazu werden insbesondere kohärente Empfänger mit schnellen Signalprozessoren eingesetzt.&lt;br /&gt;
&lt;br /&gt;
== Zeitmultiplexverfahren (TDMA) ==&lt;br /&gt;
Beim &#039;&#039;Zeitmultiplexverfahren&#039;&#039; (Abk. &#039;&#039;TDM&#039;&#039; für {{lang|en|&#039;&#039;Time Division Multiplex&#039;&#039;}} oder &#039;&#039;TDMA&#039;&#039; für {{lang|en|&#039;&#039;Time Division Multiple Access&#039;&#039;}}) werden in bestimmten Zeitabschnitten ([[Zeitschlitz]]en) die Daten (Signale) verschiedener Sender auf einem Kanal übertragen. &lt;br /&gt;
* Das Zeitmultiplexverfahren unterscheidet zwischen dem [[Synchronität|synchronen]] und [[Asynchronität|asynchronen]] Verfahren.&lt;br /&gt;
&lt;br /&gt;
=== Synchrones Verfahren ===&lt;br /&gt;
[[Datei:Zeitmultiplex-synchron 1.jpg|mini|250px|synchrones Verfahren]]&lt;br /&gt;
Beim Synchronen Verfahren (Abk. &#039;&#039;STD&#039;&#039; für &#039;&#039;Synchronous Time Division&#039;&#039;) wird jedem Sender durch den Multiplexer ein fester Zeitabschnitt zur Übertragung seiner Daten (Signale) auf dem Übertragungskanal zugeordnet.&lt;br /&gt;
&lt;br /&gt;
Dies hat den Vorteil, dass jede Verbindung eine konstante Datenübertragungsrate erhält. &lt;br /&gt;
* Zusätzlich ist jederzeit ein Sender durch seine Position auf dem Übertragungskanal identifizierbar. &lt;br /&gt;
* Dies vereinfacht am Ziel den notwendigen Prozess des Demultiplexens.&lt;br /&gt;
&lt;br /&gt;
Der Nachteil ist, dass, wenn ein Sender keine Daten (Signale) sendet, der entsprechende Zeitabschnitt ungenutzt bleibt. &lt;br /&gt;
* Der Übertragungskanal wird in einem solchen Fall nicht optimal ausgelastet.&lt;br /&gt;
&lt;br /&gt;
=== Asynchrones Verfahren ===&lt;br /&gt;
[[Datei:Zeitmultiplex-asynchron 1.jpg|mini|250px|asynchrones Verfahren]]&lt;br /&gt;
Durch das [[Asynchronous Time Division|asynchrone Verfahren]] (Abk. &#039;&#039;ATD&#039;&#039; für {{lang|en|&#039;&#039;Asynchronous Time Division&#039;&#039;}}) wird der Nachteil des synchronen Verfahrens vermieden, so dass ungenutzte, zugeordnete Zeitabschnitte auch von anderen Datenströmen belegt werden können. &lt;br /&gt;
* Dies geschieht, indem nur jene Sender auf den Übertragungskanal zugreifen dürfen, die auch wirklich Daten (Signale) senden. &lt;br /&gt;
* Weil aber die eindeutige Zuordnung von Zeitabschnitt und Datenstrom so verloren geht, ist es notwendig, jedem Datenpaket eine Kanalinformation (andere Bezeichnungen: Header, Channel Identifier) hinzuzufügen. &lt;br /&gt;
* Anhand dieser Kanalinformation kann der Demultiplexer am Ziel des Übertragungskanals die Datenpakete dem richtigen Strom wieder zuteilen. &lt;br /&gt;
* Deshalb wird das asynchrone Verfahren auch teilweise als &#039;&#039;Adressen-Multiplexen&#039;&#039; oder {{lang|en|&#039;&#039;label-multiplexing&#039;&#039;}} bezeichnet. &lt;br /&gt;
* Durch diese bedarfsgerechte Zuweisung der Zeitabschnitte wird der Übertragungskanal sehr ökonomisch genutzt. &lt;br /&gt;
* Wenn alle Sender Daten (Signale) übertragen, erhalten alle eine konstante Datenübertragungsrate. &lt;br /&gt;
* Freie Zeitabschnitte durch nicht aktive Sender werden von den anderen Sendern mitbenutzt, wodurch deren Datenübertragungsrate steigt. &lt;br /&gt;
* Dies bezeichnet man dann auch als [[dynamisches Multiplexen]]. &lt;br /&gt;
* Als Nachteil gilt, dass die Datenpakete durch die Kanalinformation sowie der Aufwand des Demultiplexens größer werden.&lt;br /&gt;
&lt;br /&gt;
=== Flexibles Zeitmultiplexverfahren ===&lt;br /&gt;
Das flexible Zeitmultiplexverfahren (Flexible Time Division Multiple Access/FTDMA) wird auch als Minislot-Verfahren bezeichnet. &lt;br /&gt;
* Das Verfahren ist vorteilhaft, wenn geringe Anforderungen hinsichtlich der Latenzzeit bestehen. &lt;br /&gt;
* Das Verfahren wird beispielsweise &lt;br /&gt;
* eingesetzt um dynamische Segmente bei [[FlexRay]] zu übertragen.&lt;br /&gt;
&lt;br /&gt;
=== Zeitmultiplex bei der Mensch-Maschine-Kommunikation ===&lt;br /&gt;
&lt;br /&gt;
Da die Wahrnehmung des Menschen nicht in der Lage ist, optische Reize zeitlich sehr hoch aufzulösen, bietet es sich bei Anzeigen wie Bildschirmen bzw.&amp;amp;nbsp;&lt;br /&gt;
* LEDs an, die Information per Zeitmultiplex auszugeben. &lt;br /&gt;
* Da Menschen auch nicht beliebig schnell tippen können, gelten analoge Überlegungen für Eingaben zum Beispiel bei Tastaturen. &lt;br /&gt;
* Durch Multiplex-Verfahren ist es möglich, den Verdrahtungsaufwand gegenüber einzeln angeschlossenen LEDs oder Tasten (je nach deren Anzahl erheblich) zu verringern. &lt;br /&gt;
* Diese Art Zeitmultiplex könnte unter &amp;quot;asynchron&amp;quot; eingeordnet werden, aufgrund der gegenüber der Nachrichtenübertragung anderen Zielsetzung jedoch wird eine derartige Einordnung im Allgemeinen nicht vorgenommen.&lt;br /&gt;
&lt;br /&gt;
==== Anzeigen und Eingabetasten in Matrixschaltung ====&lt;br /&gt;
[[Datei:Mattrix.png|mini|Anordnung von 35 Leucht&amp;amp;shy;dioden als 7×5-Matrix]]&lt;br /&gt;
Mehrere Anzeigeelemente, beispielsweise [[Leuchtdiode]]n werden zu einer [[Matrixschaltung|Matrixanordnung verschaltet]]. Über an den Zeilen- bzw.&amp;amp;nbsp;Spaltenanschlüsse angeschlossene elektronischer Schalter (Transistoren, im Bild nicht dargestellt) kann jede Zeile bzw.&amp;amp;nbsp;Spalte nacheinander angesteuert werden. &lt;br /&gt;
* Diese Ansteuerung erfolgt so schnell, dass für das Auge alle angesteuerten Elemente gleichzeitig zu leuchten scheinen; siehe dazu die Animation in der Einleitung des Artikels. &lt;br /&gt;
* Im Allgemeinen muss dafür Sorge getragen werden, dass der Strom nur den direkten Strompfad durch das Anzeigeelement im Kreuzungsbereich von aktivierter Zeile und Spalte nimmt &#039;&#039;(Entkopplung).&#039;&#039; Der indirekte Weg über mehrere Anzeigeelemente ist unerwünscht. &lt;br /&gt;
* Bei der Benutzung von Leuchtdioden erfolgt die Entkopplung dadurch, dass diese Strom nur in einer Richtung leiten.&lt;br /&gt;
&lt;br /&gt;
Neben der naheliegenden Verschaltung einer [[Matrixanzeige]] zu einer Matrixschaltung können auch mehrere scheinbar einzelne Leuchtdioden in einem Gerät zu einer Matrixschaltung verschaltet sein.&lt;br /&gt;
&lt;br /&gt;
Analog lassen sich Tasten bzw.&amp;amp;nbsp;Tastenfelder verschalten. &lt;br /&gt;
* Die Steuerung aktiviert die Spalten nacheinander, während sie an den Zeilen auf ankommende Signale achtet. &lt;br /&gt;
* Um mehr als zwei gleichzeitig gedrückte Tasten sicher zu erkennen, müssen zur Entkopplung der Tasten untereinander Dioden verwendet werden. &lt;br /&gt;
* Dieser Aufwand wird beispielsweise bei [[Keyboard]]s betrieben; bei schreibmaschinenartigen Computertastaturen hingegen begnügt man sich im Allgemeinen damit, die [[Tastatur#Key Rollover|Verkopplung]] bei mehr als zwei gedrückten Tasten zu ignorieren.&lt;br /&gt;
&lt;br /&gt;
Für ein Tastenfeld von 64 Tasten genügen 8&amp;amp;nbsp;+&amp;amp;nbsp;8&amp;amp;nbsp;=&amp;amp;nbsp;16 Leitungen; man spart gegenüber der Einzelabfrage jeder Taste 48 Signalleitungen ein.&lt;br /&gt;
&lt;br /&gt;
==== Charlieplex-Verfahren ====&lt;br /&gt;
Eine Variante des Zeitmultiplexverfahren ist das Charlieplex-Verfahren. &lt;br /&gt;
* Dabei kommt man mit noch weniger Leitungen aus; dafür werden aber [[Tri-State]]-Komponenten benötigt.&lt;br /&gt;
&lt;br /&gt;
Für ein Tastenfeld von 66 Tasten (ohne Dioden) genügen 12 Leitungen, man spart gegenüber der Einzelabfrage 54 Leitungen ein.&lt;br /&gt;
&lt;br /&gt;
=== Historische Lösungen und heutige Anwendungen ===&lt;br /&gt;
Das Zeitmultiplexverfahren ist wie das Frequenzmultiplexverfahren sowohl in drahtgebundenen als auch in drahtlosen Kommunikationssystemen anwendbar. &lt;br /&gt;
* Die ersten bekannten Anwendungen des Zeitmultiplexverfahren gehen auf den Italiener [[Giovanni Caselli (Physiker)|Giovanni Caselli]] und den Franzosen [[Jean-Maurice-Émile Baudot]] zurück. &lt;br /&gt;
* Caselli entwickelte den [[Pantelegraph]]en mit dem ab 1865 zwei Bilder zeilenweise multiplex übertragen wurden. &lt;br /&gt;
* Baudots 1874 entwickelte Apparatur machte es möglich, vier bis sechs Telegrafiesignale über eine Leitung im synchronen Zeitmultiplexverfahren zu übertragen. &lt;br /&gt;
* Heutige Anwendungsbereiche sind Übertragungstechniken, wie [[Integrated Services Digital Network]] (ISDN), [[Asynchronous Transfer Mode]] (ATM) oder [[Up0-Schnittstelle|U&amp;lt;sub&amp;gt;p0&amp;lt;/sub&amp;gt;-Schnittstelle]]. &lt;br /&gt;
* Das [[Global System for Mobile Communications|GSM]]-Mobilfunknetz verwendet sowohl das Zeitmultiplexverfahren als auch das Frequenzmultiplexverfahren und das Raummultiplexverfahren.&lt;br /&gt;
&lt;br /&gt;
== Codemultiplexverfahren (CDMA) ==&lt;br /&gt;
[[Codemultiplexverfahren]]Beim [[Codemultiplexverfahren]] (CDM oder CDMA) werden verschiedene Signalfolgen über eine Leitung oder eine Funkfrequenz übertragen und im Empfänger anhand ihrer [[Codierung]] erkannt und zugeordnet. &lt;br /&gt;
* Die von den Teilnehmern benutzten Codes sind derart gewählt, dass beim Empfang eines Signals durch den &amp;quot;falschen&amp;quot; Empfänger am Demodulator-Ausgang praktisch kein Ausgangssignal erscheint; die Codes haben gegeneinander eine minimale [[Kreuzkorrelation]]. &lt;br /&gt;
* Je nach verwendetem Verfahren ist, im Gegensatz zum Zeitmultiplexverfahren, keine Koordinierung der Zeitfenster erforderlich.&amp;lt;!-- Fehlerhafte Datenpakete werden zum Beispiel anhand einer [[Prüfsumme]] erkannt und erneut übertragen oder aber beim nächsten Mal decodiert.&amp;lt;?? Was hat das mit CDMA zu tun?&amp;gt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beispiele sind [[Funkfernsteuerung]]en sowie die funkgesteuerte [[Zentralverriegelung]] bei [[Kraftfahrzeug]]en.&lt;br /&gt;
&lt;br /&gt;
Das [[Universal Mobile Telecommunications System|UMTS]] arbeitet bei der Unterscheidung mehrerer Teilnehmer ebenfalls mit [[Code Division Multiple Access|CDMA]]; Sende- und Empfangsrichtung sind dabei außerdem auf zwei verschiedene Frequenzen verteilt (FDD).&lt;br /&gt;
&lt;br /&gt;
=== Siehe auch ===&lt;br /&gt;
* [[Übertragungstechnik]]&lt;br /&gt;
* [[Synchrone Digitale Hierarchie]] (SDH)&lt;br /&gt;
* [[Plesiochrone Digitale Hierarchie]] (PDH)&lt;br /&gt;
* [[Skyplex]]&lt;br /&gt;
* [[Generic Framing Procedure]] ([[GFP]])&lt;br /&gt;
&lt;br /&gt;
==== Weblinks ====&lt;br /&gt;
# https://de.wikipedia.org/wiki/Multiplexverfahren&lt;br /&gt;
* [https://chem.ch.huji.ac.il/~eugeniik/history/baudot.html Geschichte und Bilder von Baudots Telegraf]&lt;br /&gt;
* [https://www.cubeoptics.com/img/FCKeditor/File/cwdm_white_paper.pdf White Paper CWDM: lower cost for capacity in the short haul]&lt;br /&gt;
* [https://www.harzoptics.de/pof-demultiplexer.html WDM-Demultiplexer for Plastic Optical Fiber]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Netzwerk/Nachrichtentechnik]]&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=Linux/Netzwerk/Virtuelle_Schnittstelle&amp;diff=167934</id>
		<title>Linux/Netzwerk/Virtuelle Schnittstelle</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=Linux/Netzwerk/Virtuelle_Schnittstelle&amp;diff=167934"/>
		<updated>2026-06-17T08:40:45Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: Textersetzung - „ )“ durch „)“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Virtuelle Schnittstelle&#039;&#039;&#039; - Virtuelle Netzwerkschnittstelle&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
; Schnittstellen für virtuelle Netzwerke&lt;br /&gt;
Linux verfügt über umfangreiche virtuelle Netzwerkfunktionen&lt;br /&gt;
* Grundlage für das Hosting von VMs und Containern sowie für Cloud-Umgebungen&lt;br /&gt;
* häufig verwendeten virtuellen Netzwerkschnittstellentypen&lt;br /&gt;
&lt;br /&gt;
; Tunnel&lt;br /&gt;
Für andere Schnittstellen wie Tunnel lesen Sie bitte&lt;br /&gt;
; An introduction to Linux virtual interfaces: Tunnels&lt;br /&gt;
&lt;br /&gt;
; Übersicht&lt;br /&gt;
{| class=&amp;quot;wikitable sortable options big&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Option !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| [[#Brücke|Brücke]] ||&lt;br /&gt;
|-&lt;br /&gt;
| [[#Gebundene Schnittstelle|Gebundene Schnittstelle]] ||&lt;br /&gt;
|-&lt;br /&gt;
| [[#Team-Gerät|Team-Gerät]] ||&lt;br /&gt;
|-&lt;br /&gt;
| [[#VLAN|VLAN]] || Virtuelles LAN&lt;br /&gt;
|-&lt;br /&gt;
| [[#VXLAN|VXLAN]] || Virtuelles eXtensible Local Area Network&lt;br /&gt;
|-&lt;br /&gt;
| [[#MACVLAN|MACVLAN]] ||&lt;br /&gt;
|-&lt;br /&gt;
| [[#IPVLAN|IPVLAN]] ||&lt;br /&gt;
|-&lt;br /&gt;
| [[#MACVTAP/IPVTAP|MACVTAP/IPVTAP]] ||&lt;br /&gt;
|-&lt;br /&gt;
| [[#MACsec|MACsec]] || Sicherheit der Medienzugriffskontrolle&lt;br /&gt;
|-&lt;br /&gt;
| [[#VETH|VETH]] || Virtuelles Ethernet&lt;br /&gt;
|-&lt;br /&gt;
| [[#VCAN|VCAN]] || Virtueller CAN&lt;br /&gt;
|-&lt;br /&gt;
| [[#VXCAN|VXCAN]] ||Virtueller CAN-Tunnel&lt;br /&gt;
|-&lt;br /&gt;
| [[#IPOIB|IPOIB]] || IP-über-InfiniBand&lt;br /&gt;
|-&lt;br /&gt;
| [[#NLMON|NLMON]] || NetLink MONitor&lt;br /&gt;
|-&lt;br /&gt;
| [[#Dummy|Dummy]] || Dummy-Schnittstelle&lt;br /&gt;
|-&lt;br /&gt;
| [[#IFB|IFB]] || Intermediate Functional Block&lt;br /&gt;
|-&lt;br /&gt;
| [[#netdevsim|netdevsim]] &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Brücke ==&lt;br /&gt;
Eine Linux-Bridge verhält sich wie ein Netzwerk-Switch&lt;br /&gt;
* Sie leitet Pakete zwischen Schnittstellen weiter, die mit ihr verbunden sind&lt;br /&gt;
* Sie wird normalerweise für die Weiterleitung von Paketen auf Routern, Gateways oder zwischen VMs und Netzwerk-Namespaces auf einem Host verwendet&lt;br /&gt;
* Sie unterstützt auch STP, VLAN-Filter und Multicast-Snooping&lt;br /&gt;
&lt;br /&gt;
Verwenden Sie eine Bridge, wenn Sie Kommunikationskanäle zwischen VMs, Containern und Ihren Hosts einrichten möchten&lt;br /&gt;
&lt;br /&gt;
So erstellen Sie eine Bridge&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line copy&amp;gt;&lt;br /&gt;
ip link add br0 type bridge&lt;br /&gt;
ip link set eth0 master br0&lt;br /&gt;
ip link set tap1 master br0&lt;br /&gt;
ip link set tap2 master br0&lt;br /&gt;
ip link set veth1 master br0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dadurch wird ein Bridge-Gerät mit dem Namen &amp;lt;code&amp;gt;br0&amp;lt;/code&amp;gt; erstellt und zwei TAP-Geräte (&amp;lt;code&amp;gt;tap1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;tap2&amp;lt;/code&amp;gt;), ein VETH-Gerät (&amp;lt;code&amp;gt;veth1&amp;lt;/code&amp;gt;) und ein physisches Gerät (&amp;lt;code&amp;gt;eth0&amp;lt;/code&amp;gt;) als seine Slaves festgelegt, wie in der obigen Abbildung dargestellt&lt;br /&gt;
&lt;br /&gt;
== Gebundene Schnittstelle ==&lt;br /&gt;
Der Linux-Bonding-Treiber bietet eine Methode, um mehrere Netzwerkschnittstellen zu einer einzigen logischen &amp;quot;gebundenen&amp;quot; Schnittstelle zusammenzufassen&lt;br /&gt;
* Das Verhalten der gebondeten Schnittstelle hängt vom Modus ab; im Allgemeinen bieten die Modi entweder Hot-Standby- oder Lastausgleichsdienste&lt;br /&gt;
&lt;br /&gt;
Verwenden Sie eine gebondete Schnittstelle, wenn Sie die Verbindungsgeschwindigkeit erhöhen oder einen Failover auf Ihrem Server durchführen möchten&lt;br /&gt;
&lt;br /&gt;
So erstellen Sie eine gebondete Schnittstelle&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line copy&amp;gt;&lt;br /&gt;
ip link add bond1 type bond miimon 100 mode active-backup&lt;br /&gt;
ip link set eth0 master bond1&lt;br /&gt;
ip link set eth1 master bond1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit wird eine bonded-Schnittstelle namens &amp;lt;code&amp;gt;bond1&amp;lt;/code&amp;gt; mit dem Modus active-backup erstellt&lt;br /&gt;
* Für andere Modi lesen Sie bitte die Kernel-Dokumentation&lt;br /&gt;
&lt;br /&gt;
== Team-Gerät ==&lt;br /&gt;
Ähnlich wie eine gebundene Schnittstelle dient ein Teamdevice dazu, mehrere NICs (Ports) auf der L2-Schicht zu einem logischen Gerät (Teamdev) zusammenzufassen&lt;br /&gt;
&lt;br /&gt;
Das Wichtigste ist, dass ein Teamdevice nicht versucht, eine gebondete Schnittstelle zu replizieren oder zu imitieren&lt;br /&gt;
* Vielmehr wird dasselbe Problem mit einem anderen Ansatz gelöst, beispielsweise mit einem schlosslosen (RCU) TX/RX-Pfad und einem modularen Design&lt;br /&gt;
&lt;br /&gt;
Es gibt aber auch einige funktionale Unterschiede zwischen einer gebondeten Schnittstelle und einem Team&lt;br /&gt;
* So unterstützt ein Team beispielsweise LACP-Lastausgleich, NS/NA (IPV6)-Link-Überwachung, D-Bus-Schnittstelle und weitere, die bei Bonding nicht vorhanden sind&lt;br /&gt;
* Weitere Einzelheiten zu den Unterschieden zwischen Bonding und Team finden Sie unter Bonding vs.&amp;amp;nbsp;Team-Funktionen&lt;br /&gt;
&lt;br /&gt;
Verwenden Sie ein Team, wenn Sie einige Funktionen nutzen möchten, die Bonding nicht bietet&lt;br /&gt;
&lt;br /&gt;
So erstellen Sie ein Team&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line copy&amp;gt;&lt;br /&gt;
teamd -o -n -U -d -t team0 -c &#039;{&amp;quot;runner&amp;quot;: {&amp;quot;name&amp;quot;: &amp;quot;activebackup&amp;quot;}, &amp;quot;link_watch&amp;quot;: {&amp;quot;name&amp;quot;: &amp;quot;ethtool&amp;quot;}}&#039;&lt;br /&gt;
ip link set eth0 down&lt;br /&gt;
ip link set eth1 down&lt;br /&gt;
teamdctl team0 port add eth0&lt;br /&gt;
teamdctl team0 port add eth1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dadurch wird eine Team-Schnittstelle namens &amp;lt;code&amp;gt;team0&amp;lt;/code&amp;gt; mit dem Modus &amp;lt;code&amp;gt;active-backup&amp;lt;/code&amp;gt; erstellt, und &amp;lt;code&amp;gt;eth0&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;eth1&amp;lt;/code&amp;gt; werden als Sub-Schnittstellen von &amp;lt;code&amp;gt;team0&amp;lt;/code&amp;gt; hinzugefügt&lt;br /&gt;
&lt;br /&gt;
Ein neuer Treiber namens net_failover wurde kürzlich zu Linux hinzugefügt&lt;br /&gt;
* Er ist ein weiteres Failover-Master-Netzgerät für die Virtualisierung und verwaltet ein primäres (Passthru/VF [Virtual Function]-Gerät) Slave-Netzgerät und ein Standby-Slave-Netzgerät (die ursprüngliche paravirtuelle Schnittstelle)&lt;br /&gt;
&lt;br /&gt;
== VLAN ==&lt;br /&gt;
Ein VLAN, auch bekannt als virtuelles LAN, trennt Broadcast-Domänen durch Hinzufügen von Tags zu Netzwerkpaketen&lt;br /&gt;
* VLANs ermöglichen es Netzwerkadministratoren, Hosts unter demselben Switch oder zwischen verschiedenen Switches zu gruppieren&lt;br /&gt;
&lt;br /&gt;
; Der VLAN-Header sieht wie folgt aus&lt;br /&gt;
&lt;br /&gt;
Verwenden Sie ein VLAN, wenn Sie Subnetze in VMs, Namespaces oder Hosts trennen möchten&lt;br /&gt;
&lt;br /&gt;
; So erstellen Sie ein VLAN&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line copy&amp;gt;&lt;br /&gt;
ip link add link eth0 name eth0.2 type vlan id 2&lt;br /&gt;
ip link add link eth0 name eth0.3 type vlan id 3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dies fügt VLAN 2 mit dem Namen &amp;lt;code&amp;gt;eth0.2&amp;lt;/code&amp;gt; und VLAN 3 mit dem Namen &amp;lt;code&amp;gt;eth0.3&amp;lt;/code&amp;gt; hinzu&lt;br /&gt;
* Die Topologie sieht wie folgt aus&lt;br /&gt;
&lt;br /&gt;
; Hinweis&lt;br /&gt;
: Wenn Sie ein VLAN konfigurieren, müssen Sie sicherstellen, dass der mit dem Host verbundene Switch in der Lage ist, VLAN-Tags zu verarbeiten, beispielsweise indem Sie den Switch-Port auf den Trunk-Modus einstellen&lt;br /&gt;
&lt;br /&gt;
== VXLAN ==&lt;br /&gt;
VXLAN (Virtual eXtensible Local Area Network) ist ein Tunneling-Protokoll, das entwickelt wurde, um das Problem der begrenzten VLAN-IDs (4.096) in IEEE 802.1q zu lösen&lt;br /&gt;
* Es ist im IETF &amp;lt;nowiki&amp;gt;RFC 7348&amp;lt;/nowiki&amp;gt; beschrieben&lt;br /&gt;
&lt;br /&gt;
Mit einer 24-Bit-Segment-ID, auch bekannt als VXLAN Network Identifier (VNI), ermöglicht VXLAN bis zu 2^24 (16.777.216) virtuelle LANs, was dem 4.096-fachen der VLAN-Kapazität entspricht&lt;br /&gt;
&lt;br /&gt;
VXLAN kapselt Layer-2-Frames mit einem VXLAN-Header in ein UDP-IP-Paket ein, das wie folgt aussieht&lt;br /&gt;
&lt;br /&gt;
VXLAN wird normalerweise in Rechenzentren auf virtualisierten Hosts eingesetzt, die über mehrere Racks verteilt sein können&lt;br /&gt;
&lt;br /&gt;
So verwenden Sie VXLAN&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ip link add vx0 type vxlan id 100 local 1.1.1.1 remote 2.2.2.2 dev eth0 dstport 4789&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Referenz können Sie die VXLAN-Kernel-Dokumentation oder diese VXLAN-Einführung lesen&lt;br /&gt;
&lt;br /&gt;
== MACVLAN ==&lt;br /&gt;
Mit VLAN können Sie mehrere Schnittstellen zusätzlich zu einer einzigen erstellen und Pakete auf der Grundlage eines VLAN-Tags filtern&lt;br /&gt;
* Mit MACVLAN können Sie mehrere Schnittstellen mit unterschiedlichen Layer-2-Adressen (d.&amp;amp;nbsp;h.&amp;amp;nbsp;Ethernet-MAC-Adressen) zusätzlich zu einer einzigen Schnittstelle erstellen&lt;br /&gt;
&lt;br /&gt;
Vor MACVLAN mussten Sie, wenn Sie von einer VM oder einem Namensraum aus eine Verbindung zu einem physischen Netzwerk herstellen wollten, TAP/VETH-Geräte erstellen und eine Seite an eine Bridge anschließen und gleichzeitig eine physische Schnittstelle an die Bridge auf dem Host anschließen, wie unten dargestellt&lt;br /&gt;
&lt;br /&gt;
Mit MACVLAN können Sie nun eine physische Schnittstelle, die mit einem MACVLAN verbunden ist, direkt an Namespaces binden, ohne dass eine Bridge erforderlich ist&lt;br /&gt;
&lt;br /&gt;
; Es gibt fünf MACVLAN-Typen&lt;br /&gt;
# Private: Erlaubt keine Kommunikation zwischen MACVLAN-Instanzen auf derselben physischen Schnittstelle, selbst wenn der externe Switch den Hairpin-Modus unterstützt&lt;br /&gt;
# VEPA: Daten von einer MACVLAN-Instanz zu einer anderen auf derselben physischen Schnittstelle werden über die physische Schnittstelle übertragen&lt;br /&gt;
#* Entweder muss der angeschlossene Switch den Hairpin-Modus unterstützen oder es muss ein TCP/IP-Router vorhanden sein, der die Pakete weiterleitet, um die Kommunikation zu ermöglichen&lt;br /&gt;
# Bridge: Alle Endpunkte sind mit einer einfachen Bridge über die physische Schnittstelle direkt miteinander verbunden&lt;br /&gt;
# Passthru: Eine einzelne VM kann direkt mit der physischen Schnittstelle verbunden werden&lt;br /&gt;
# Quelle: Der Quellmodus wird zum Filtern des Datenverkehrs auf der Grundlage einer Liste zulässiger MAC-Quelladressen verwendet, um MAC-basierte VLAN-Zuordnungen zu erstellen&lt;br /&gt;
#* Bitte beachten Sie die Commit-Meldung&lt;br /&gt;
&lt;br /&gt;
Der Typ wird je nach den verschiedenen Anforderungen gewählt&lt;br /&gt;
* Der Bridge-Modus ist der am häufigsten verwendete&lt;br /&gt;
&lt;br /&gt;
Verwenden Sie ein MACVLAN, wenn Sie von Containern aus eine direkte Verbindung zu einem physischen Netzwerk herstellen möchten&lt;br /&gt;
&lt;br /&gt;
So richten Sie ein MACVLAN ein&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line copy&amp;gt;&lt;br /&gt;
ip link add macvlan1 link eth0 type macvlan mode bridge&lt;br /&gt;
ip link add macvlan2 link eth0 type macvlan mode bridge&lt;br /&gt;
ip netns add net1&lt;br /&gt;
ip netns add net2&lt;br /&gt;
ip link set macvlan1 netns net1&lt;br /&gt;
ip link set macvlan2 netns net2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dadurch werden zwei neue MACVLAN-Geräte im Bridge-Modus erstellt und diese zwei Geräte zwei verschiedenen Namensräumen zugewiesen&lt;br /&gt;
&lt;br /&gt;
== IPVLAN ==&lt;br /&gt;
IPVLAN ist ähnlich wie MACVLAN, mit dem Unterschied, dass die Endpunkte dieselbe MAC-Adresse haben&lt;br /&gt;
&lt;br /&gt;
IPVLAN unterstützt die Modi L2 und L3&lt;br /&gt;
* Der L2-Modus von IPVLAN verhält sich wie ein MACVLAN im Bridge-Modus&lt;br /&gt;
* Die übergeordnete Schnittstelle sieht wie eine Brücke oder ein Switch aus&lt;br /&gt;
&lt;br /&gt;
Im IPVLAN L3-Modus verhält sich die übergeordnete Schnittstelle wie ein Router und die Pakete werden zwischen den Endpunkten weitergeleitet, was eine bessere Skalierbarkeit ermöglicht&lt;br /&gt;
&lt;br /&gt;
In der IPVLAN-Kerneldokumentation heißt es, dass MACVLAN und IPVLAN &amp;quot;in vielerlei Hinsicht sehr ähnlich sind und der spezifische Anwendungsfall sehr wohl bestimmen kann, welches Gerät zu wählen ist&lt;br /&gt;
&lt;br /&gt;
(a) Der Linux-Host, der mit dem externen Switch/Router verbunden ist, hat eine Richtlinie konfiguriert, die nur einen Mac pro Port erlaubt&lt;br /&gt;
&lt;br /&gt;
(b) Die Anzahl der auf einem Master erstellten virtuellen Geräte übersteigt die Mac-Kapazität und versetzt die Netzwerkkarte in den Promiscuous-Modus, so dass Leistungseinbußen zu befürchten sind&lt;br /&gt;
&lt;br /&gt;
(c) Wenn das Slave-Gerät in den feindlichen / nicht vertrauenswürdigen Netzwerk-Namensraum gesetzt werden soll, wo L2 auf dem Slave geändert / missbraucht werden könnte&lt;br /&gt;
&lt;br /&gt;
So richten Sie eine IPVLAN-Instanz ein&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line copy&amp;gt;&lt;br /&gt;
ip netns add ns0&lt;br /&gt;
ip link add name ipvl0 link eth0 type ipvlan mode l2&lt;br /&gt;
ip link set dev ipvl0 netns ns0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dadurch wird ein IPVLAN-Gerät mit dem Namen &amp;lt;code&amp;gt;ipvl0&lt;br /&gt;
&amp;lt;/code&amp;gt; und dem Modus L2 erstellt, das dem Namensraum &amp;lt;code&amp;gt;ns0&amp;lt;/code&amp;gt; zugeordnet ist&lt;br /&gt;
&lt;br /&gt;
== MACVTAP/IPVTAP ==&lt;br /&gt;
MACVTAP/IPVTAP ist ein neuer Gerätetreiber, der virtualisierte überbrückte Netzwerke vereinfachen soll&lt;br /&gt;
* Wenn eine MACVTAP/IPVTAP-Instanz auf einer physischen Schnittstelle erstellt wird, erstellt der Kernel auch ein Zeichengerät/dev/tapX, das genau wie ein TUN/TAP-Gerät verwendet werden kann, das direkt von KVM/QEMU verwendet werden kann&lt;br /&gt;
&lt;br /&gt;
Mit MACVTAP/IPVTAP können Sie die Kombination von TUN/TAP- und Bridge-Treibern durch ein einziges Modul ersetzen&lt;br /&gt;
&lt;br /&gt;
Typischerweise wird MACVLAN/IPVLAN verwendet, um sowohl den Gast als auch den Host direkt auf dem Switch erscheinen zu lassen, mit dem der Host verbunden ist&lt;br /&gt;
* Der Unterschied zwischen MACVTAP und IPVTAP ist der gleiche wie bei MACVLAN/IPVLAN&lt;br /&gt;
&lt;br /&gt;
So erstellen Sie eine MACVTAP-Instanz&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ip link add link eth0 name macvtap0 type macvtap&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MACsec ==&lt;br /&gt;
MACsec (Media Access Control Security) ist ein IEEE-Standard für die Sicherheit in verkabelten Ethernet-LANs. Ähnlich wie IPsec kann MACsec als Layer-2-Spezifikation nicht nur den IP-Verkehr, sondern auch ARP, Nachbarschaftserkennung und DHCP schützen&lt;br /&gt;
* Die MACsec-Header sehen wie folgt aus&lt;br /&gt;
&lt;br /&gt;
Der Hauptanwendungsfall für MACsec ist die Sicherung aller Nachrichten in einem Standard-LAN, einschließlich ARP-, NS- und DHCP-Nachrichten&lt;br /&gt;
&lt;br /&gt;
; So richten Sie eine MACsec-Konfiguration ein&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ip link add macsec0 link eth1 type macsec&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Hinweis&lt;br /&gt;
: Dies fügt nur ein MACsec-Gerät namens &amp;lt;code&amp;gt;macsec0&amp;lt;/code&amp;gt; an der Schnittstelle &amp;lt;code&amp;gt;eth1&amp;lt;/code&amp;gt; hinzu&lt;br /&gt;
:* Für detailliertere Konfigurationen lesen Sie bitte den Abschnitt &amp;quot;Konfigurationsbeispiel&amp;quot; in dieser MACsec-Einführung von Sabrina Dubroca&lt;br /&gt;
&lt;br /&gt;
== VETH ==&lt;br /&gt;
Das VETH-Gerät (Virtual Ethernet) ist ein lokaler Ethernet-Tunnel&lt;br /&gt;
* Die Geräte werden paarweise erstellt, wie in der Abbildung unten dargestellt&lt;br /&gt;
&lt;br /&gt;
Pakete, die auf einem Gerät des Paares gesendet werden, werden sofort auf dem anderen Gerät empfangen&lt;br /&gt;
* Wenn eines der beiden Geräte ausfällt, ist der Verbindungsstatus des Paares gestört&lt;br /&gt;
&lt;br /&gt;
Verwenden Sie eine VETH-Konfiguration, wenn Namespaces mit dem Haupt-Host-Namespace oder untereinander kommunizieren müssen&lt;br /&gt;
&lt;br /&gt;
So richten Sie eine VETH-Konfiguration ein&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line copy&amp;gt;&lt;br /&gt;
ip netns add net1&lt;br /&gt;
ip netns add net2&lt;br /&gt;
ip link add veth1 netns net1 type veth peer name veth2 netns net2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dadurch werden zwei Namensräume, &amp;lt;code&amp;gt;net1&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;net2&amp;lt;/code&amp;gt;, und ein Paar VETH-Geräte erstellt, und &amp;lt;code&amp;gt;veth1&amp;lt;/code&amp;gt; wird dem Namensraum &amp;lt;code&amp;gt;net1&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;veth2&amp;lt;/code&amp;gt; dem Namensraum &amp;lt;code&amp;gt;net2&amp;lt;/code&amp;gt; zugewiesen&lt;br /&gt;
* Diese beiden Namespaces sind mit diesem VETH-Paar verbunden&lt;br /&gt;
* Weisen Sie ein Paar IP-Adressen zu, und Sie können zwischen den beiden Namespaces pingen und kommunizieren&lt;br /&gt;
&lt;br /&gt;
== VCAN ==&lt;br /&gt;
Ähnlich wie die Netzwerk-Loopback-Geräte bietet der VCAN (Virtual CAN)-Treiber eine virtuelle lokale CAN (Controller Area Network)-Schnittstelle, so dass Benutzer CAN-Nachrichten über eine VCAN-Schnittstelle senden/empfangen können&lt;br /&gt;
* CAN wird heutzutage hauptsächlich im Automobilbereich eingesetzt&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen zum CAN-Protokoll finden Sie in der Kernel-CAN-Dokumentation&lt;br /&gt;
&lt;br /&gt;
Verwenden Sie einen VCAN, wenn Sie eine CAN-Protokollimplementierung auf dem lokalen Host testen möchten&lt;br /&gt;
&lt;br /&gt;
So erstellen Sie einen VCAN&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ip link add dev vcan1 type vcan&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== VXCAN ==&lt;br /&gt;
Ähnlich wie der VETH-Treiber implementiert ein VXCAN (Virtual CAN tunnel) einen lokalen CAN-Verkehrstunnel zwischen zwei VCAN-Netzwerkgeräten&lt;br /&gt;
* Wenn Sie eine VXCAN-Instanz erstellen, werden zwei VXCAN-Geräte als Paar erstellt&lt;br /&gt;
* Wenn ein Ende ein Paket empfängt, erscheint das Paket auf dem Paar des Geräts und umgekehrt&lt;br /&gt;
* VXCAN kann für die namensraumübergreifende Kommunikation verwendet werden&lt;br /&gt;
&lt;br /&gt;
Verwenden Sie eine VXCAN-Konfiguration, wenn Sie CAN-Nachrichten über Namespaces hinweg senden wollen&lt;br /&gt;
&lt;br /&gt;
So richten Sie eine VXCAN-Instanz ein&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line copy&amp;gt;&lt;br /&gt;
ip netns add net1&lt;br /&gt;
ip netns add net2&lt;br /&gt;
ip link add vxcan1 netns net1 type vxcan peer name vxcan2 netns net2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Hinweis&lt;br /&gt;
: VXCAN wird in Linux noch nicht unterstützt&lt;br /&gt;
&lt;br /&gt;
== IPOIB ==&lt;br /&gt;
Ein IPOIB-Gerät unterstützt das IP-over-InfiniBand-Protokoll&lt;br /&gt;
* Dieses transportiert IP-Pakete über InfiniBand (IB), so dass Sie Ihr IB-Gerät als schnelle NIC verwenden können&lt;br /&gt;
&lt;br /&gt;
Der IPoIB-Treiber unterstützt zwei Betriebsmodi: Datagramm und verbunden&lt;br /&gt;
* Im Datagramm-Modus wird der IB UD-Transport (Unreliable Datagram) verwendet&lt;br /&gt;
* Im Verbindungsmodus wird der IB RC (Reliable Connected)-Transport verwendet&lt;br /&gt;
* Der Verbindungsmodus nutzt die Vorteile des verbundenen IB-Transports und erlaubt eine MTU bis zur maximalen IP-Paketgröße von 64K&lt;br /&gt;
&lt;br /&gt;
Weitere Einzelheiten finden Sie in der IPOIB-Kerneldokumentation&lt;br /&gt;
&lt;br /&gt;
Verwenden Sie ein IPOIB-Gerät, wenn Sie ein IB-Gerät haben und mit einem entfernten Host über IP kommunizieren wollen&lt;br /&gt;
&lt;br /&gt;
So erstellen Sie ein IPOIB-Gerät&lt;br /&gt;
 # ip link add ib0 name ipoib0 type ipoib pkey IB_PKEY mode connected&lt;br /&gt;
&lt;br /&gt;
== NLMON ==&lt;br /&gt;
NLMON ist ein Netlink-Monitor-Gerät&lt;br /&gt;
&lt;br /&gt;
Verwenden Sie ein NLMON-Gerät, wenn Sie System-Netlink-Meldungen überwachen wollen&lt;br /&gt;
&lt;br /&gt;
; So erstellen Sie ein NLMON-Gerät&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line copy&amp;gt;&lt;br /&gt;
ip link add nlmon0 type nlmon&lt;br /&gt;
ip link set nlmon0 up&lt;br /&gt;
tcpdump -i nlmon0 -w nlmsg.pcap&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit wird ein NLMON-Gerät namens &amp;lt;code&amp;gt;nlmon0&amp;lt;/code&amp;gt; erstellt und eingerichtet&lt;br /&gt;
* Verwenden Sie einen Packet Sniffer (beispielsweise &amp;lt;code&amp;gt;tcpdump&amp;lt;/code&amp;gt;), um Netlink-Nachrichten zu erfassen&lt;br /&gt;
* Neuere Versionen von Wireshark können Netlink-Nachrichten dekodieren&lt;br /&gt;
&lt;br /&gt;
== Dummy ==&lt;br /&gt;
; Dummy-Schnittstelle&lt;br /&gt;
Eine Dummy-Schnittstelle ist eine rein virtuelle Schnittstelle, wie beispielsweise die Loopback-Schnittstelle&lt;br /&gt;
* Der Zweck einer Dummy-Schnittstelle ist es, ein Gerät zur Verfügung zu stellen, durch das Pakete geleitet werden, ohne dass sie tatsächlich übertragen werden&lt;br /&gt;
&lt;br /&gt;
Mit einer Dummy-Schnittstelle kann man eine inaktive SLIP-Adresse (Serial Line Internet Protocol) wie eine echte Adresse für lokale Programme aussehen lassen&lt;br /&gt;
* Heutzutage wird eine Dummy-Schnittstelle meist zum Testen und Debuggen verwendet&lt;br /&gt;
&lt;br /&gt;
; So erstellen Sie eine Dummy-Schnittstelle&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line copy&amp;gt;&lt;br /&gt;
ip link add dummy1 type dummy&lt;br /&gt;
ip addr add 1.1.1.1/24 dev dummy1&lt;br /&gt;
ip link set dummy1 up&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== IFB ==&lt;br /&gt;
Der IFB-Treiber (Intermediate Functional Block) stellt ein Gerät zur Verfügung, das die Bündelung von Datenverkehr aus verschiedenen Quellen und das Shaping von eingehendem Datenverkehr ermöglicht, anstatt ihn zu verwerfen&lt;br /&gt;
&lt;br /&gt;
Verwenden Sie eine IFB-Schnittstelle, wenn Sie den eingehenden Datenverkehr in eine Warteschlange stellen und formen wollen&lt;br /&gt;
&lt;br /&gt;
; So erstellen Sie eine IFB-Schnittstelle&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line copy&amp;gt;&lt;br /&gt;
ip link add ifb0 type ifb&lt;br /&gt;
ip link set ifb0 up&lt;br /&gt;
tc qdisc add dev ifb0 root sfq&lt;br /&gt;
tc qdisc add dev eth0 handle ffff: ingress&lt;br /&gt;
tc filter add dev eth0 parent ffff: u32 match u32 0 0 action mirred egress redirect dev ifb0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dadurch wird ein IFB-Gerät mit dem Namen &amp;lt;code&amp;gt;ifb0&amp;lt;/code&amp;gt; erstellt und der Root-qdisc-Scheduler durch SFQ (Stochastic Fairness Queueing), einen klassenlosen Warteschlangen-Scheduler, ersetzt&lt;br /&gt;
* Dann fügt er einen Ingress-qdisc-Scheduler auf &amp;lt;code&amp;gt;eth0&amp;lt;/code&amp;gt; hinzu und leitet den gesamten Ingress-Verkehr zu &amp;lt;code&amp;gt;ifb0&amp;lt;/code&amp;gt; um&lt;br /&gt;
&lt;br /&gt;
Weitere Anwendungsfälle für IFB qdisc finden Sie in diesem Wiki der Linux Foundation über IFB&lt;br /&gt;
&lt;br /&gt;
== netdevsim ==&lt;br /&gt;
; netdevsim-Schnittstelle&lt;br /&gt;
netdevsim ist ein simuliertes Netzwerkgerät, das zum Testen verschiedener Netzwerk-APIs verwendet wird&lt;br /&gt;
* Zur Zeit konzentriert es sich besonders auf das Testen von Hardware&lt;br /&gt;
 Offloading, tc/XDP BPF und SR-IOV&lt;br /&gt;
&lt;br /&gt;
Ein netdevsim-Gerät kann wie folgt erstellt werden&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line copy&amp;gt;&lt;br /&gt;
ip link add dev sim0 type netdevsim&lt;br /&gt;
ip link set dev sim0 up&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So aktivieren Sie tc offload&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ethtool -K sim0 hw-tc-offload on&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um XDP BPF oder tc BPF Programme zu laden&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ip link set dev sim0 xdpoffload obj prog.o&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So fügen Sie VFs für SR-IOV-Tests hinzu&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line copy&amp;gt;&lt;br /&gt;
echo 3 &amp;gt; /sys/class/net/sim0/device/sriov_numvfs&lt;br /&gt;
ip link set sim0 vf 0 mac&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um die vf-Nummern zu ändern, müssen Sie sie zunächst vollständig deaktivieren&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line copy&amp;gt;&lt;br /&gt;
echo 0 &amp;gt; /sys/class/net/sim0/device/sriov_numvfs&lt;br /&gt;
echo 5 &amp;gt; /sys/class/net/sim0/device/sriov_numvfs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Hinweis&lt;br /&gt;
: netdevsim wird in RHEL standardmäßig nicht kompiliert&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;br /&gt;
=== Siehe auch ===&lt;br /&gt;
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}&lt;br /&gt;
=== Dokumentation ===&lt;br /&gt;
; Man-Page&lt;br /&gt;
;Info-Page&lt;br /&gt;
=== Links ===&lt;br /&gt;
==== Projekt ====&lt;br /&gt;
==== Weblinks ====&lt;br /&gt;
; Weitere Ressourcen&lt;br /&gt;
* Artikel über virtuelle Netzwerke auf dem Red Hat Developer Blog&lt;br /&gt;
* Dynamische IP-Adressverwaltung im Open Virtual Network (OVN)&lt;br /&gt;
* Open vSwitch ohne Root-Rechte in Linux&lt;br /&gt;
* Open vSwitch-Artikel im Red Hat Developer Blog&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Linux/Tunnel]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=Docker&amp;diff=167932</id>
		<title>Docker</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=Docker&amp;diff=167932"/>
		<updated>2026-06-17T08:40:45Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: Textersetzung - „ )“ durch „)“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Docker&#039;&#039;&#039; - Isolierung von Anwendungen durch [[Containervirtualisierung|Container-Virtualisierung]]&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
; Schlanke Frorm der Virtualisierungen&lt;br /&gt;
[[File:dockerDevelopFaster.png|mini|300px]]&lt;br /&gt;
* Prozesse laufen auf dem Kernel des Host-Betriebssystems&lt;br /&gt;
* Abschottung durch&lt;br /&gt;
** [[cgroups]]&lt;br /&gt;
** [[namespaces]]&lt;br /&gt;
** …&lt;br /&gt;
&lt;br /&gt;
=== Linzenz ===&lt;br /&gt;
[[Docker]] ist [[freie Software]]&lt;br /&gt;
&lt;br /&gt;
=== Realisierung von Containern ===&lt;br /&gt;
; Linux-Techniken&lt;br /&gt;
[[Datei:Docker-linux-interfaces.svg|mini|400px|Schnittstellen, um auf Virtualisierungsfunktionen des Linux-Kernels zuzugreifen.]]&lt;br /&gt;
* [[cgroups]]&lt;br /&gt;
* [[Namespaces]]&lt;br /&gt;
* Anfänglich [[LXC]]-Schnittstelle des [[Linux (Kernel)|Linux-Kernels]]&lt;br /&gt;
* Mittlerweile eine eigene [[Programmierschnittstelle]] namens &#039;&#039;libcontainer&#039;&#039; &lt;br /&gt;
* Als Speicher-[[Frontend und Backend|Backend]] verwendet Docker das Overlay-Dateisystem [[aufs]]&lt;br /&gt;
** seit Version 0.8 wird auch [[btrfs]] unterstützt&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Begriffe ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable options big&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Begriff !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| [[Docker/Volume|Volume]] || Volumes ermöglichen es, dass Daten erhalten bleiben, auch wenn ein Docker-Container gelöscht wird. Volumes sind auch eine praktische Möglichkeit, Daten zwischen dem Host und dem Container auszutauschen.&lt;br /&gt;
|-&lt;br /&gt;
| [[Docker/Image|Image]] || Ein Docker-Image ist eine schreibgeschützte Vorlage, die von der Docker-Engine benutzt wird, um einen Container zu erzeugen.&lt;br /&gt;
[[Image-Datei|Speicherabbild]] eines Containers&lt;br /&gt;
* Das Image selbst besteht aus mehreren Layern, die schreibgeschützt sind und somit nicht verändert werden können&lt;br /&gt;
* Ein Image ist portabel, kann in [[Repository|Repositories]] gespeichert und mit anderen Nutzern geteilt werden&lt;br /&gt;
* Aus einem Image können immer mehrere Container gestartet werden&lt;br /&gt;
|-&lt;br /&gt;
| [[Docker/Container|Container]] || Docker-Container sind isolierte Ausführungseinheiten für Anwendungen und ihre Abhängigkeiten&lt;br /&gt;
Aktive Instanz eines Images&lt;br /&gt;
* Der Container wird also gerade ausgeführt und ist beschäftigt&lt;br /&gt;
* Sobald der Container kein Programm ausführt oder mit seinem Auftrag fertig ist, wird der Container automatisch beendet&lt;br /&gt;
|-&lt;br /&gt;
| [[Docker/Layer|Layer]] || Teil eines Images und enthält einen Befehl oder eine Datei, die dem Image hinzugefügt wurde&lt;br /&gt;
* Anhand der Layer kann die ganze Historie des Images nachvollzogen werden&lt;br /&gt;
|-&lt;br /&gt;
| [[Docker/Dockerfile|Dockerfile]] || Beschreibung zur Erstellung eines Docker-Container&lt;br /&gt;
* [[Textdatei]], die mit verschiedenen Befehlen ein Image beschreibt&lt;br /&gt;
* werden bei der Ausführung abgearbeitet und für jeden Befehl wird ein einzelner Layer angelegt&lt;br /&gt;
|-&lt;br /&gt;
| [[Docker/Repository|Repository]] || Satz gleichnamiger Images mit verschiedenen Tags, zumeist Versionen&lt;br /&gt;
|-&lt;br /&gt;
| [[Docker/Registry|Registry]] || Verwaltung von Repositories (&#039;&#039;Docker Hub&#039;&#039;, &#039;&#039;Artifactory&#039;&#039;, ...)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Bibliotheken ===&lt;br /&gt;
{| class=&amp;quot;wikitable options big&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Begriff !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| [[Docker/libcontainer|libcontainer]] || Schnittstelle zu den Grundfunktionen von Docker&lt;br /&gt;
|-&lt;br /&gt;
| [[Docker/libswarm|libswarm]] || Schnittstelle, um Docker-Container zu steuern&lt;br /&gt;
|-&lt;br /&gt;
| [[Docker/libchan|libchan]] || Einfache („light weighted“) Kommunikation zwischen Prozessteilen und Prozessen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Aufbau und Funktionen ==&lt;br /&gt;
; „Build, Ship and Run Any App, Anywhere“&lt;br /&gt;
[[Image:01_csm_virtuelle-maschinen-vs-docker-vergleich_2b58cdd628.webp|mini|400px|alt=&amp;quot;Bild: Virtuelle Maschinen und Docker-Container im Vergleich&amp;quot;| Während jede virtuelle Maschine ein eigenes Betriebssystem startet, teilen sich Docker-Container den Kernel des Host-Systems ]]&lt;br /&gt;
&lt;br /&gt;
Unter diesem Motto bewirbt die quelloffene Container-Plattform Docker eine flexible, ressourcensparende Alternative zur Emulation von Hardware-Komponenten auf Basis virtueller Maschinen (VMs)&lt;br /&gt;
* Während die &#039;&#039;&#039;klassische Hardware-Virtualisierung&#039;&#039;&#039; darauf beruht, mehrere Gastsysteme auf einem gemeinsamen Host-System zu starten, werden Anwendungen bei Docker mithilfe von &#039;&#039;&#039;Containern&#039;&#039;&#039; als isolierte Prozesse auf ein und demselben System ausgeführt&lt;br /&gt;
* Man spricht bei der containerbasierten Server-Virtualisierung daher auch von einer &#039;&#039;&#039;Operating-System-Level-Virtualisierung&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Der Vorteil containerbasierter Virtualisierung liegt somit darin, dass sich Anwendungen mit unterschiedlichen Anforderungen isoliert voneinander ausführen lassen, ohne dass dafür der Overhead eines separaten Gastsystems in Kauf genommen werden muss&lt;br /&gt;
* Zusätzlich können Anwendungen mit Container &#039;&#039;&#039;plattformübergreifend und in unterschiedlichen Infrastrukturen&#039;&#039;&#039; eingesetzt werden, ohne dass diese an die Hard- oder Software-Konfigurationen des Hostsystems angepasst werden müssen&lt;br /&gt;
&lt;br /&gt;
Docker ist das bekannteste Software-Projekt, das Anwendern und Anwenderinnen eine &#039;&#039;&#039;auf Containern basierende Virtualisierungstechnologie&#039;&#039;&#039; zur Verfügung stellt&lt;br /&gt;
* Die quelloffene Plattform setzt dabei auf drei grundlegende Komponenten: Um Container auszuführen, brauchen Anwender lediglich die &#039;&#039;&#039;[[Docker/Engine|Docker-Engine]]&#039;&#039;&#039; sowie spezielle &#039;&#039;&#039;[[Docker/Image|Docker-Images]]&#039;&#039;&#039;, die sich über das &#039;&#039;&#039;[[Docker/Hub|Docker-Hub]]&#039;&#039;&#039; beziehen oder selbst erstellen lassen&lt;br /&gt;
&lt;br /&gt;
=== Motivation ===&lt;br /&gt;
; Vereinfachte Bereitstellung von Anwendungen&lt;br /&gt;
* Container, die alle nötigen Pakete enthalten leicht als Dateien transportieren und installieren lassen&lt;br /&gt;
* Geringerer Overhead durch geteilten Host-Kernel&lt;br /&gt;
* Schnelle Start- und Stopzeiten&lt;br /&gt;
* Hohe Dichte isolierter Instanzen pro Host&lt;br /&gt;
* Prozess- und Abhängigkeitsisolation (Namespaces, cgroups)&lt;br /&gt;
* Reproduzierbare Laufzeitumgebungen durch unveränderliche Images&lt;br /&gt;
* Portabilität über unterschiedliche Hosts und Plattformen&lt;br /&gt;
* Feingranulares Ressourcen- und Zugriffsmanagement&lt;br /&gt;
* Vereinfachtes Lebenszyklus-Management&lt;br /&gt;
&lt;br /&gt;
; Container gewährleisten&lt;br /&gt;
Trennung und Verwaltung der auf einem Rechner genutzten Ressourcen&lt;br /&gt;
* Code&lt;br /&gt;
* Laufzeitmodul&lt;br /&gt;
* Systemwerkzeuge&lt;br /&gt;
* Systembibliotheken&lt;br /&gt;
* alles was auf einem Rechner installiert werden kann&lt;br /&gt;
&lt;br /&gt;
=== Container ===&lt;br /&gt;
; Sandbox-Prozess&lt;br /&gt;
Ein Container ist ein Sandbox-Prozess, der auf einem Host-Computer ausgeführt wird und von allen anderen auf diesem Host-Computer ausgeführten Prozessen isoliert ist&lt;br /&gt;
* Diese Isolierung nutzt Kernel-Namespaces und cgroups, Funktionen, die es in Linux schon seit langem gibt&lt;br /&gt;
* Docker macht diese Funktionen zugänglich und einfach zu verwenden&lt;br /&gt;
* Ein ist Container eine lauffähige Instanz eines Images&lt;br /&gt;
&lt;br /&gt;
; Container werden über die Docker-API oder die Befehlszeilenschnittstelle&lt;br /&gt;
* erstellt&lt;br /&gt;
* gestartet&lt;br /&gt;
* angehalten&lt;br /&gt;
* verschoben&lt;br /&gt;
* gelöscht&lt;br /&gt;
&lt;br /&gt;
; Er kann auf lokalen oder virtuellen Maschinen ausgeführt oder in der Cloud bereitgestellt werden&lt;br /&gt;
* Er ist portabel (und kann auf jedem Betriebssystem ausgeführt werden)&lt;br /&gt;
* Er ist von anderen Containern isoliert und führt seine eigene Software, Binärdateien, Konfigurationen usw&lt;br /&gt;
&lt;br /&gt;
; Erweiterte Form von chroot&lt;br /&gt;
* Das Dateisystem wird aus einem Image bereitgestellt&lt;br /&gt;
* Allerdings bietet der Container eine zusätzliche Isolation, die mit chroot nicht möglich ist&lt;br /&gt;
&lt;br /&gt;
; Siehe auch&lt;br /&gt;
* [[Docker/Container|Container]]&lt;br /&gt;
&lt;br /&gt;
=== Bereitstellung ===&lt;br /&gt;
; Image oder Dockerfile&lt;br /&gt;
* Fertige Images&lt;br /&gt;
* Dockerfiles&lt;br /&gt;
** Anweisungen zum Erzeugen eines Images (Dockerfiles) im Projekt verteilen&lt;br /&gt;
** Dockerfiles können gut in Projekt-Repositoies bereitgestellt werden&lt;br /&gt;
&lt;br /&gt;
=== Fertige Images ===&lt;br /&gt;
DockerHub bietet fertige Images&lt;br /&gt;
* Ein solches gestartetes Image nennt sich dann Container und enthält beispielsweise Dateien, die in den Container gemountet oder kopiert werden&lt;br /&gt;
* Man kann auch eigene Images bauen, indem man eine entsprechende Konfiguration (Dockerfile) schreibt&lt;br /&gt;
* Jeder Befehl bei der Erstellung eines Images erzeugt einen neuen Layer, die sich dadurch mehrere Images teilen können&lt;br /&gt;
&lt;br /&gt;
In der Konfiguration einer Gitlab-CI-Pipeline kann man mit &amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; ein Docker-Image angeben, welches dann in der Pipeline genutzt wird&lt;br /&gt;
&lt;br /&gt;
=== Docker Images ===&lt;br /&gt;
Ähnlich wie virtuelle Maschinen basieren Docker-Container auf [[Docker/Image|Images]]&lt;br /&gt;
&lt;br /&gt;
; Schreibgeschützte Vorlage&lt;br /&gt;
Dieses isolierte Dateisystem wird von einem Image bereitgestellt, und das Image muss alles enthalten, was zur Ausführung einer Anwendung erforderlich ist - alle Abhängigkeiten, Konfigurationen, Skripte, Binärdateien und so weiter.&lt;br /&gt;
&lt;br /&gt;
; Portables Abbild eines Containers&lt;br /&gt;
Als wird ein Docker-Image in Form einer Textdatei beschrieben – man spricht von einem [[Docker/Dockerfile|Dockerfile]]&lt;br /&gt;
* Soll ein Container auf einem System gestartet werden, wird zunächst ein Paket mit dem jeweiligen Image geladen – sofern dieses nicht lokal vorliegt&lt;br /&gt;
* Das geladene Image stellt das für die Laufzeit benötigte &#039;&#039;&#039;Dateisystem inklusive aller Parameter&#039;&#039;&#039; bereit&lt;br /&gt;
* Ein Container kann als laufender Prozess eines Images betrachtet werden&lt;br /&gt;
&lt;br /&gt;
; Siehe auch&lt;br /&gt;
* [[Docker/Images selbst definieren|Images selbst definieren]]&lt;br /&gt;
&lt;br /&gt;
== Docker-Engine ==&lt;br /&gt;
Mit [[Docker/Befehle|Docker-Befehlen]] können Anwenderinnen und Anwender Software-Container direkt aus dem Terminal starten, stoppen und verwalten&lt;br /&gt;
* Die Ansprache des Daemon erfolgt über das Kommando dockerund Anweisungen wie build (erstelle), pull (lade herunter) oder run (starte)&lt;br /&gt;
* Client und Server können sich dabei auf dem gleichen System befinden&lt;br /&gt;
* Alternativ steht Anwendern die Möglichkeit offen, einen Docker-Daemon auf einem anderen System anzusprechen&lt;br /&gt;
* Je nachdem, welche Art von Verbindung aufgebaut werden soll, erfolgt die Kommunikation zwischen Client und Server über die REST-API, über UNIX-Sockets oder eine Netzwerkschnittstelle&lt;br /&gt;
&lt;br /&gt;
=== Komponenten ===&lt;br /&gt;
Zusammenspiel der Docker-Komponenten&lt;br /&gt;
[[Image:03_csm_schematische-darstellung-docker-architektur_0cbba145c8.webp|mini|400px|alt=&amp;quot;Bild: Schematische Darstellung der Docker-Architektur&amp;quot;|Die Docker-Architektur basiert auf einem Zusammenspiel aus Client (Terminal), Server (Docker-Daemon) und Registry (Docker-Hub)]]&lt;br /&gt;
&lt;br /&gt;
; Beispiel&lt;br /&gt;
* docker build&lt;br /&gt;
* docker pull&lt;br /&gt;
* docker run&lt;br /&gt;
&lt;br /&gt;
; docker build&lt;br /&gt;
Das Kommando docker build weist den Docker-Daemon an, ein Image zu erstellen (gepunktete Linie)&lt;br /&gt;
* Dazu muss ein entsprechendes [[Dockerfile]] vorliegen&lt;br /&gt;
&lt;br /&gt;
Soll das Image nicht selbst erstellt, sondern aus einem Repository im Docker-Hub geladen werden, kommt das Kommando docker pull zum Einsatz (gestrichelte Linie)&lt;br /&gt;
* Wird der Docker-Daemon via docker run angewiesen, einen Container zu starten, prüft das Hintergrundprogramm zunächst, ob das entsprechende Container-Image lokal vorliegt&lt;br /&gt;
* Ist dies der Fall, wird der Container ausgeführt (durchgezogene Linie)&lt;br /&gt;
* Kann der Daemon das Image nicht finden, leitet dieser automatisch ein Pulling aus dem Repository ein&lt;br /&gt;
&lt;br /&gt;
=== Betriebssysteme ===&lt;br /&gt;
; Virtualisierung mit [[Linux]]&lt;br /&gt;
Docker auf die Virtualisierung mit [[Linux]] ausgerichtet&lt;br /&gt;
* Docker-Technologie benötigt einen [[Linux-Kernel]]&lt;br /&gt;
&lt;br /&gt;
== Container und Virtuelle Maschinen ==&lt;br /&gt;
; Varianten&lt;br /&gt;
* Hardware&lt;br /&gt;
* Betriebssystem&lt;br /&gt;
** Linux, FreeBSD, macOS, Windows, … &lt;br /&gt;
* Virtualisierung&lt;br /&gt;
&lt;br /&gt;
=== Herkömmliche Virtualisierung ===&lt;br /&gt;
&amp;lt;s&amp;gt;Im rechten Bild&amp;lt;/s&amp;gt; wird eine herkömmliche Virtualisierung mit virtuellen Maschinen (&#039;&#039;VM&#039;&#039;) dargestellt&lt;br /&gt;
* Dabei wird in der VM ein komplettes Betriebssystem (das &amp;quot;Gast-Betriebssystem&amp;quot;) installiert und darin läuft dann die gewünschte Anwendung&lt;br /&gt;
* Die Virtualisierung (VirtualBox, VMware, ...) läuft dabei als Anwendung auf dem Host-Betriebssystem und stellt dem Gast-Betriebssystem in der VM einen Rechner mit CPU, RAM, zur Verfügung und übersetzt die Systemaufrufe in der VM in die entsprechenden Aufrufe im Host-Betriebssystem&lt;br /&gt;
* Dies benötigt in der Regel entsprechende Ressourcen: Durch das komplette Betriebssystem in der VM ist eine VM (die als Datei im Filesystem des Host-Betriebssystems liegt) oft mehrere 10GB groß&lt;br /&gt;
* Für die Übersetzung werden zusätzlich Hardwareressourcen benötigt, d.&amp;amp;nbsp;h.&amp;amp;nbsp;hier gehen CPU-Zyklen und RAM &amp;quot;verloren&amp;quot; &lt;br /&gt;
* Das Starten einer VM dauert entsprechend lange, da hier ein komplettes Betriebssystem hochgefahren werden muss&lt;br /&gt;
* Dafür sind die Prozesse in einer VM relativ stark vom Host-Betriebssystem abgekapselt, so dass man hier von einer &amp;quot;Sandbox&amp;quot; sprechen kann: Viren o.ä&lt;br /&gt;
* können nicht so leicht aus einer VM &amp;quot;ausbrechen&amp;quot; und auf das Host-Betriebssystem zugreifen (quasi nur über Lücken im Gast-Betriebssystem kombiniert mit Lücken in der Virtualisierungssoftware)&lt;br /&gt;
&lt;br /&gt;
=== Virtualisierung auf Containerbasis ===&lt;br /&gt;
&amp;lt;s&amp;gt;Im linken Bild&amp;lt;/s&amp;gt; ist eine schlanke Virtualisierung auf Containerbasis dargestellt&lt;br /&gt;
* Die Anwendungen laufen direkt als Prozesse im Host-Betriebssystem, ein Gast-Betriebssystem ist nicht notwendig&lt;br /&gt;
* Durch den geschickten Einsatz von &amp;lt;code&amp;gt;namespaces&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;cgroups&amp;lt;/code&amp;gt; und anderen in Linux und FreeBSD verfügbaren Techniken werden die Prozesse abgeschottet, d.&amp;amp;nbsp;h.&amp;amp;nbsp;der im Container laufende Prozess &amp;quot;sieht&amp;quot; die anderen Prozesse des Hosts nicht&lt;br /&gt;
* Die Erstellung und Steuerung der Container übernimmt hier beispielsweise Docker&lt;br /&gt;
* Die Container sind dabei auch wieder Dateien im Host-Filesystem&lt;br /&gt;
* Dadurch benötigen Container wesentlich weniger Platz als herkömmliche VMs, der Start einer Anwendung geht deutlich schneller und die Hardwareressourcen (CPU, RAM, ...) werden effizient genutzt&lt;br /&gt;
* Nachteilig ist, dass hier in der Regel ein Linux-Host benötigt wird (für Windows wird mittlerweile der Linux-Layer (&#039;&#039;WSL&#039;&#039;) genutzt; für macOS wurde bisher eine Linux-VM im Hintergrund hochgefahren, mittlerweile wird aber eine eigene schlanke Virtualisierung eingesetzt)&lt;br /&gt;
* Außerdem steht im Container üblicherweise kein graphisches Benutzerinterface zur Verfügung&lt;br /&gt;
* Da die Prozesse direkt im Host-Betriebssystem laufen, stellen Container keine Sicherheitsschicht (&amp;quot;Sandboxen&amp;quot;) dar!&lt;br /&gt;
&lt;br /&gt;
In allen Fällen muss die Hardwarearchitektur beachtet werden: Auf einer Intel-Maschine können normalerweise keine VMs/Container basierend auf ARM-Architektur ausgeführt werden und umgekehrt&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;br /&gt;
=== Siehe auch ===&lt;br /&gt;
; Kategorien&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count:2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;categorytree hideroot=on mode=&amp;quot;category&amp;quot;&amp;gt;Docker&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
; Unterseiten&lt;br /&gt;
{{Special:PrefixIndex/Docker/}}&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
==== Weblinks ====&lt;br /&gt;
# https://docs.docker.com&lt;br /&gt;
# https://hub.docker.com/search&lt;br /&gt;
# https://de.wikipedia.org/wiki/Docker_(Software)&lt;br /&gt;
# https://www.hsbi.de/elearning/data/FH-Bielefeld/lm_data/lm_1359639/building/docker.html&lt;br /&gt;
# [https://www.docker.com/ Offizielle Website]&lt;br /&gt;
# [http://www.admin-magazin.de/Das-Heft/2014/02/Renaissance-der-Container-Virtualisierung-mit-Docker Renaissance der Container-Virtualisierung mit Docker]&lt;br /&gt;
# [https://www.informatik-aktuell.de/entwicklung/methoden/containerplattform-lego-fuer-devops.html Einführung und Praxisbeispiele / Übersicht Docker und Container-Virtualisierung]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Docker]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=MediaWiki/Fehlerbehebung&amp;diff=167931</id>
		<title>MediaWiki/Fehlerbehebung</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=MediaWiki/Fehlerbehebung&amp;diff=167931"/>
		<updated>2026-06-17T08:40:45Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: Textersetzung - „ )“ durch „)“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;topic&#039;&#039;&#039; - Beschreibung&lt;br /&gt;
&lt;br /&gt;
= Analyse =&lt;br /&gt;
== Protokollierung ==&lt;br /&gt;
Protokollierung zur Fehleranalyse&lt;br /&gt;
&lt;br /&gt;
;LocalSettings.php&lt;br /&gt;
 $wgDebugLogFile = &amp;quot;/full/path/to/your/debug/log/file&amp;quot;; &lt;br /&gt;
&lt;br /&gt;
Diese Datei muss von Ihrem Webserver beschreibbar sein.&lt;br /&gt;
&lt;br /&gt;
== Debug-Toolbar ==&lt;br /&gt;
* Werkzeug zur Fehleranalyse&lt;br /&gt;
* Zeigt Informationen am unteren Rand des Browsers an&lt;br /&gt;
** SQL-Aufrufe&lt;br /&gt;
** Warnungen&lt;br /&gt;
** Debug-Anzeigen&lt;br /&gt;
&lt;br /&gt;
;Aktivierung&lt;br /&gt;
 $wgDebugToolbar = true;&lt;br /&gt;
&lt;br /&gt;
;Sicherheit&lt;br /&gt;
&lt;br /&gt;
Möglicherweise möchten Sie jedoch nicht, dass jeder die Debugging-Symbolleiste sieht, während sie aktiviert ist&lt;br /&gt;
* wenn Sie sie aktivieren, wird sie jeder sehen&lt;br /&gt;
&lt;br /&gt;
;Andere Möglichkeit&lt;br /&gt;
* Wenn Sie eine Fehlermeldung sehen, die den Text &amp;quot;(SQL-Abfrage versteckt)&amp;quot; enthält, und Sie das aufgerufene SQL sehen möchten, können Sie es sehen, indem Sie Folgendes zu LocalSettings.php hinzufügen: &lt;br /&gt;
 $wgShowSQLErrors = true;&lt;br /&gt;
&lt;br /&gt;
== Websuche ==&lt;br /&gt;
Text der Fehlermeldung &lt;br /&gt;
* oft sind andere auf dasselbe Problem gestoßen&lt;br /&gt;
* es gibt eine bekannte Lösung&lt;br /&gt;
&lt;br /&gt;
= Typische Fehler =&lt;br /&gt;
== Leere Seite ==&lt;br /&gt;
;Ursache&lt;br /&gt;
&lt;br /&gt;
PHP Konfiguration&lt;br /&gt;
* leere Seite anstelle einer Fehlermeldung&lt;br /&gt;
&lt;br /&gt;
;Lösung&lt;br /&gt;
&lt;br /&gt;
Aktivieren der PHP-Fehleranzeige&lt;br /&gt;
 ini_set(&#039;display_errors&#039;, 1); &lt;br /&gt;
* php.ini&lt;br /&gt;
* LocalSettings.php&lt;br /&gt;
** Am Anfang der Datei, direkt unter der Zeile &amp;quot;&amp;lt;?php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
* Fehlerhafte Zugriffsrechte&lt;br /&gt;
* Fehlende Dateien&lt;br /&gt;
&lt;br /&gt;
== Datenbank ==&lt;br /&gt;
* Zugriff&lt;br /&gt;
* Berechtigungen&lt;br /&gt;
* Fehlende Tabellen&lt;br /&gt;
* Fehlende Aktualisierung des Datenbankschemas&lt;br /&gt;
&lt;br /&gt;
== Einstellungen ==&lt;br /&gt;
Fehlerhafte Einstellungen&lt;br /&gt;
* LocalSettings.php&lt;br /&gt;
&lt;br /&gt;
== Erweiterungen ==&lt;br /&gt;
* Inkompatible Versionen&lt;br /&gt;
&lt;br /&gt;
;Hauptseite der Erweiterung&#039;&#039;&#039;&lt;br /&gt;
* Diskussionsseite prüfen&lt;br /&gt;
&lt;br /&gt;
== Firefox-Nutzer und Session-Loss-Fehler ==&lt;br /&gt;
Wenn du die folgende Fehlermeldung erhältst und du den Browser Firefox benutzt, dann geschieht das vermutlich auf Grund eines bekannten Fehlers im Browser. Eine Anleitung zur Fehlervermeidung findest du unten.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|Entschuldigung! Wir konnten deine Bearbeitung nicht verarbeiten,			da Sitzungsdaten verloren gegangen sind.&lt;br /&gt;
&lt;br /&gt;
Du wurdest eventuell abgemeldet.			&#039;&#039;&#039;Bitte stelle sicher, dass du noch angemeldet bist, und			versuche es erneut&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Falls dies nicht funktioniert, versuche dich abzumelden			und anschließend wieder anzumelden und überprüfe, ob dein			Browser Cookies von dieser Website akzeptiert.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Das Speichern kann unter Umständen einfach wiederholt erfolgreich sein, aber auch gänzlich scheitern.&lt;br /&gt;
&lt;br /&gt;
Das gleiche Problem beim Browser SeaMonkey (Mozilla) kann auf die gleiche Weise behoben werden. Denke daran, den Browser danach neu zu starten!&lt;br /&gt;
&lt;br /&gt;
=== Das Problem beheben ===&lt;br /&gt;
; LocalSettings.php &lt;br /&gt;
Folgendes ergänzen:&lt;br /&gt;
 $wgSessionCacheType = CACHE_DB;&lt;br /&gt;
&lt;br /&gt;
; Firefox 71+&lt;br /&gt;
# Öffne ein neues Tab oder Fenster.&lt;br /&gt;
# gib oder füge	&amp;lt;code&amp;gt;about:config&amp;lt;/code&amp;gt;	in die Adresszeile ein und bestätige mit [Enter]. (Möglicherweise	gibt es danach einen Warnhinweis. Mache nur weiter, wenn du ein	erfahrener Benutzer bist.) &lt;br /&gt;
# gib oder füge	&amp;lt;code&amp;gt;network.cookie.maxPerHost&amp;lt;/code&amp;gt;	in die Suchleiste ein &lt;br /&gt;
# falls die Einstellung existiert,	klicke auf das Stifticon, um sie zu bearbeiten. Ansonsten wähle	&amp;quot;Number&amp;quot;, und klicke auf das Plusicon&lt;br /&gt;
# füge einen Wert (siehe unten) ein	und klicke auf der Häkchenicon, um zu speichern&lt;br /&gt;
# &#039;&#039;&#039;Erledigt&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Möglicherweise musst du die Seite neu laden, dich neu anmelden oder den Browser neu starten, damit die Einstellung wirksam wird; aber wahrscheinlich nicht.&lt;br /&gt;
&lt;br /&gt;
; Wert&lt;br /&gt;
* jeder Wert zwischen 200 und 2000 sollte funktionieren. &lt;br /&gt;
* Erwarte etwa 5+ Cookies pro Wiki und zähle nur das Projekt (beispielsweise Wiktionary), das du in den meisten unterschiedlichen Sprachversionen aufrufst.&lt;br /&gt;
&lt;br /&gt;
=== Weitere Informationen ===&lt;br /&gt;
# phab:T151770	&lt;br /&gt;
# https://bugzilla.mozilla.org/show_bug.cgi?id=1319403&lt;br /&gt;
&lt;br /&gt;
= Dokumentation =&lt;br /&gt;
== Projekt-Homepage ==&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
== Intern ==&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:MediaWiki/Verwaltung]]&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=Diskussion:Signal_(Messenger)&amp;diff=167930</id>
		<title>Diskussion:Signal (Messenger)</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=Diskussion:Signal_(Messenger)&amp;diff=167930"/>
		<updated>2026-06-17T08:40:45Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: Textersetzung - „ )“ durch „)“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Configuring Apt Sources =&lt;br /&gt;
Apt downloads packages from one or more software repositories (sources) and installs them onto your computer. &lt;br /&gt;
&lt;br /&gt;
A repository is generally a network server, such as the official DebianStable repository. Local directories or CD/DVD are also accepted. &lt;br /&gt;
&lt;br /&gt;
The specific repositories (package sources) configured on your machine affect: &lt;br /&gt;
&lt;br /&gt;
* What software packages are available for download &lt;br /&gt;
* What versions of packages are available &lt;br /&gt;
* Who packages the software &lt;br /&gt;
&lt;br /&gt;
== Commonly used package sources ==&lt;br /&gt;
&lt;br /&gt;
* DebianStable: official Debian repository for the current release &lt;br /&gt;
* StableProposedUpdates: official Debian repository for upcoming point releases (security and important bug fixes every ~2 months) &lt;br /&gt;
* StableUpdates: official Debian repository for changes that cannot wait for the next point release, packages are also added to StableProposedUpdates for inclusion in the next point release &lt;br /&gt;
* DebianSecurity: official Debian repository for frequent security updates &lt;br /&gt;
* DebianBackports: more recent versions of some packages, compatible with DebianStable. &lt;br /&gt;
* DebianTesting: current development state of the next stable Debian distribution &lt;br /&gt;
* DebianUnstable: rolling development version containing the latest packages &lt;br /&gt;
* DebianExperimental: development version containing the experimental/alpha/beta/untested packages &lt;br /&gt;
&lt;br /&gt;
== Editing software sources ==&lt;br /&gt;
&lt;br /&gt;
=== Precautions ===&lt;br /&gt;
Being able to change the repositories used by your package management system is a powerful feature but this power comes with some responsibility. Users are cautioned that it is possible to break your system (in a way that could be difficult or impossible to cleanly fix) by adding third-party repositories, or repositories for a Debian version that does not match your current version - these repository create a risk of conflicting package versions, creating what&#039;s sometimes called a &amp;quot;Franken-Debian&amp;quot; system. The whole concept behind a Debian stable release is that the Debian developers have picked a set of software and their versions that function nicely together. While this software is patched to fix security issues, the software is frequently not the latest version. It takes some experience to know how the repos may be changed without risk of breaking your system. Users of all levels are advised to change repos cautiously. &lt;br /&gt;
&lt;br /&gt;
=== Using a graphical program ===&lt;br /&gt;
Some programs allow configuring Apt sources through a graphical interface. For example: &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;Applications menu &amp;gt; Settings &amp;gt; Software and updates&amp;lt;/code&amp;gt; (software-properties-gtk package) &lt;br /&gt;
&lt;br /&gt;
=== Using a text editor ===&lt;br /&gt;
The main Apt sources configuration file is at &#039;&#039;&#039;&amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt;&#039;&#039;&#039;. You can edit this file (as root) using your favorite text editor. See the sources.list manual page for more info. &lt;br /&gt;
&lt;br /&gt;
To add custom sources, creating separate files under &amp;lt;code&amp;gt;/etc/apt/sources.list.d/&amp;lt;/code&amp;gt; in DEB822 source format is preferred. See the deb822 manual page for more info. &lt;br /&gt;
&lt;br /&gt;
=== sources.list format ===&lt;br /&gt;
&#039;&#039;&#039;Debian Reference Manual - 2.1.4. Debian archive basics&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The entries in this file normally follow this format: &lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;https://site.example.com/debian&amp;lt;/nowiki&amp;gt; distribution component1 component2 component3&lt;br /&gt;
 deb-src &amp;lt;nowiki&amp;gt;https://site.example.com/debian&amp;lt;/nowiki&amp;gt; distribution component1 component2 component3&lt;br /&gt;
&lt;br /&gt;
==== Archive type ====&lt;br /&gt;
The first word on each line, &#039;&#039;&#039;deb&#039;&#039;&#039; or &#039;&#039;&#039;deb-src&#039;&#039;&#039;, indicates the type of archive. &#039;&#039;&#039;Deb&#039;&#039;&#039; indicates that the archive contains binary packages (deb), the pre-compiled packages that we normally use. &#039;&#039;&#039;Deb-src&#039;&#039;&#039; indicates source packages, which are the original program sources plus the Debian control file (.dsc) and the diff.gz containing the changes needed for packaging the program. &lt;br /&gt;
&lt;br /&gt;
==== Repository URL ====&lt;br /&gt;
The next entry on the line is a URL to the repository that you want to download the packages from. The main list of Debian repository mirrors is located here. &lt;br /&gt;
&lt;br /&gt;
==== Distribution ====&lt;br /&gt;
The &#039;distribution&#039; can be either the release code name / alias ( stretch, buster, bullseye, bookworm, sid) or the release class (oldoldstable, oldstable, stable, testing, unstable) respectively. If you mean to be tracking a release class then use the class name, if you want to track a Debian point release, use the code name. Avoid using stable in your sources.list as that results in nasty surprises and broken systems when the next release is made; upgrading to a new release should be a deliberate, careful action and editing a file once every two years is not a burden. &lt;br /&gt;
&lt;br /&gt;
For example, if you always want to help test the testing release, use &#039;testing&#039;. If you are tracking trixie and want to stay with it from testing to end of life, use &#039;trixie&#039;. &lt;br /&gt;
&lt;br /&gt;
==== Component ====&lt;br /&gt;
main consists of DFSG-compliant packages, which do not rely on software outside this area to operate. These are the only packages considered part of the Debian distribution.  &lt;br /&gt;
&lt;br /&gt;
contrib packages contain DFSG-compliant software, but have dependencies not in main (possibly packaged for Debian in non-free).  &lt;br /&gt;
&lt;br /&gt;
non-free contains software that does not comply with the DFSG. &lt;br /&gt;
&lt;br /&gt;
The Debian project has taken the decision in 2022-10 to create a new repository component &amp;lt;code&amp;gt;non-free-firmware&amp;lt;/code&amp;gt;, and include its content on installation media for the Debian &#039;&#039;bookworm&#039;&#039; to make things easier for our users. &lt;br /&gt;
&lt;br /&gt;
And if you choose to get more information, feel free to follow the firmware GR result - what happens next?. &lt;br /&gt;
&lt;br /&gt;
The Debian wiki has a page about firmware for older releases, bookworm and later.&lt;br /&gt;
&lt;br /&gt;
=== Example sources.list ===&lt;br /&gt;
Below is an example of a &amp;lt;code&amp;gt;sources.list&amp;lt;/code&amp;gt; for Debian 12/Bookworm (stable) released 10th June 2023. &lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian&amp;lt;/nowiki&amp;gt; bookworm main non-free-firmware&lt;br /&gt;
 deb-src &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian&amp;lt;/nowiki&amp;gt; bookworm main non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian-security/&amp;lt;/nowiki&amp;gt; bookworm-security main non-free-firmware&lt;br /&gt;
 deb-src &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian-security/&amp;lt;/nowiki&amp;gt; bookworm-security main non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian&amp;lt;/nowiki&amp;gt; bookworm-updates main non-free-firmware&lt;br /&gt;
 deb-src &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian&amp;lt;/nowiki&amp;gt; bookworm-updates main non-free-firmware&lt;br /&gt;
The equivalent entry in deb822 style under &amp;lt;code&amp;gt;/etc/apt/sources.list.d/debian.sources&amp;lt;/code&amp;gt; looks like this: &lt;br /&gt;
 Types: deb deb-src&lt;br /&gt;
 URIs: &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 Suites: bookworm bookworm-updates&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg&lt;br /&gt;
 &lt;br /&gt;
 Types: deb deb-src&lt;br /&gt;
 URIs: &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian-security&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 Suites: bookworm-security&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg&lt;br /&gt;
If you need the contrib, non-free and non-free-firmware components, add &amp;lt;code&amp;gt;contrib non-free non-free-firmware&amp;lt;/code&amp;gt; after &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt;. For example, for Debian 12/Bookworm: &lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian&amp;lt;/nowiki&amp;gt; bookworm main contrib non-free non-free-firmware&lt;br /&gt;
 deb-src &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian&amp;lt;/nowiki&amp;gt; bookworm main contrib non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian-security/&amp;lt;/nowiki&amp;gt; bookworm-security main contrib non-free non-free-firmware&lt;br /&gt;
 deb-src &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian-security/&amp;lt;/nowiki&amp;gt; bookworm-security main contrib non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian&amp;lt;/nowiki&amp;gt; bookworm-updates main contrib non-free non-free-firmware&lt;br /&gt;
 deb-src &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian&amp;lt;/nowiki&amp;gt; bookworm-updates main contrib non-free non-free-firmware&lt;br /&gt;
The equivalent entry in deb822 style including the &amp;lt;code&amp;gt;non-free&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;non-free-firmware&amp;lt;/code&amp;gt; components: &lt;br /&gt;
 Types: deb deb-src&lt;br /&gt;
 URIs: &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 Suites: bookworm bookworm-updates&lt;br /&gt;
 Components: main contrib non-free non-free-firmware&lt;br /&gt;
 Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg&lt;br /&gt;
 &lt;br /&gt;
 Types: deb deb-src&lt;br /&gt;
 URIs: &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian-security&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 Suites: bookworm-security&lt;br /&gt;
 Components: main contrib non-free non-free-firmware&lt;br /&gt;
 Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg&lt;br /&gt;
If you need the Backports, contrib, and non-free components, add &#039;&#039;&#039;bookworm-backports&#039;&#039;&#039; lines. For example, for Debian 12/Bookworm: &lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian&amp;lt;/nowiki&amp;gt; bookworm-backports main contrib non-free non-free-firmware&lt;br /&gt;
 deb-src &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian&amp;lt;/nowiki&amp;gt; bookworm-backports main contrib non-free non-free-firmware&lt;br /&gt;
The equivalent entry in deb822 style including the &amp;lt;code&amp;gt;non-free non-free-firmware&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;bookworm-backports&amp;lt;/code&amp;gt; component: &lt;br /&gt;
 Types: deb deb-src&lt;br /&gt;
 URIs: &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 Suites: bookworm bookworm-updates bookworm-backports&lt;br /&gt;
 Components: main contrib non-free non-free-firmware&lt;br /&gt;
 Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg&lt;br /&gt;
 &lt;br /&gt;
 Types: deb deb-src&lt;br /&gt;
 URIs: &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian-security&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 Suites: bookworm-security&lt;br /&gt;
 Components: main contrib non-free non-free-firmware&lt;br /&gt;
 Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg&lt;br /&gt;
Below is an example of a &amp;lt;code&amp;gt;sources.list&amp;lt;/code&amp;gt; for Debian 11/Bullseye (oldstable). &lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian&amp;lt;/nowiki&amp;gt; bullseye main&lt;br /&gt;
 deb-src &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian&amp;lt;/nowiki&amp;gt; bullseye main&lt;br /&gt;
 &lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian-security/&amp;lt;/nowiki&amp;gt; bullseye-security main&lt;br /&gt;
 deb-src &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian-security/&amp;lt;/nowiki&amp;gt; bullseye-security main&lt;br /&gt;
 &lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian&amp;lt;/nowiki&amp;gt; bullseye-updates main&lt;br /&gt;
 deb-src &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian&amp;lt;/nowiki&amp;gt; bullseye-updates main&lt;br /&gt;
If you need the contrib and non-free components, add &#039;&#039;&#039;contrib non-free&#039;&#039;&#039; after &#039;&#039;&#039;main&#039;&#039;&#039;. For example, for Debian 11/Bullseye: &lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian&amp;lt;/nowiki&amp;gt; bullseye main contrib non-free&lt;br /&gt;
 deb-src &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian&amp;lt;/nowiki&amp;gt; bullseye main contrib non-free&lt;br /&gt;
 &lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian-security/&amp;lt;/nowiki&amp;gt; bullseye-security main contrib non-free&lt;br /&gt;
 deb-src &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian-security/&amp;lt;/nowiki&amp;gt; bullseye-security main contrib non-free&lt;br /&gt;
 &lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian&amp;lt;/nowiki&amp;gt; bullseye-updates main contrib non-free&lt;br /&gt;
 deb-src &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian&amp;lt;/nowiki&amp;gt; bullseye-updates main contrib non-free&lt;br /&gt;
If you need the Backports, contrib, and non-free components, add &#039;&#039;&#039;bullseye-backports&#039;&#039;&#039; lines. For example, for Debian 11/Bullseye: &lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian&amp;lt;/nowiki&amp;gt; bullseye-backports main contrib non-free&lt;br /&gt;
 deb-src &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian&amp;lt;/nowiki&amp;gt; bullseye-backports main contrib non-free&lt;br /&gt;
Questions about the support cycle? Click here &lt;br /&gt;
&lt;br /&gt;
If you need the Debian Unstable, then change the distribution to &#039;&#039;&#039;unstable&#039;&#039;&#039;. Note that Updates and Security is not used since Unstable is a rolling development version consisting of the latest packages. That is, &#039;&#039;&#039;unstable main&#039;&#039;&#039; will be the only entry in &amp;lt;code&amp;gt;sources.list&amp;lt;/code&amp;gt;. &lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian/&amp;lt;/nowiki&amp;gt; unstable main&lt;br /&gt;
 deb-src &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian/&amp;lt;/nowiki&amp;gt; unstable main&lt;br /&gt;
You can instead use &amp;lt;code&amp;gt;https://...&amp;lt;/code&amp;gt; in all of the above lines to use the repositories over encrypted HTTPS connections if the according mirror supports HTTPS. (Users of Debian 9/Stretch or older releases will need to install the apt-transport-https package first.) &lt;br /&gt;
&lt;br /&gt;
You can use a GNOME tool to edit your &amp;lt;code&amp;gt;sources.list&amp;lt;/code&amp;gt; file. Access it through Menu → System → Administration → Software Sources. &lt;br /&gt;
&lt;br /&gt;
== Using Tor with Apt ==&lt;br /&gt;
Apt can retrieve and download updates through Tor. For this to work you need to install the tor and apt-transport-tor packages. You can then use the official onion services provided by Debian. &lt;br /&gt;
&lt;br /&gt;
Here is an example &amp;lt;code&amp;gt;sources.list&amp;lt;/code&amp;gt; using the onion services for Debian 11/Bullseye: &lt;br /&gt;
 deb tor+&amp;lt;nowiki&amp;gt;https://2s4yqjx5ul6okpp3f2gaunr2syex5jgbfpfvhxxbbjwnrsvbk5v3qbid.onion/debian&amp;lt;/nowiki&amp;gt; bullseye main&lt;br /&gt;
 deb-src tor+&amp;lt;nowiki&amp;gt;https://2s4yqjx5ul6okpp3f2gaunr2syex5jgbfpfvhxxbbjwnrsvbk5v3qbid.onion/debian&amp;lt;/nowiki&amp;gt; bullseye main&lt;br /&gt;
 &lt;br /&gt;
 deb tor+&amp;lt;nowiki&amp;gt;https://5ajw6aqf3ep7sijnscdzw77t7xq4xjpsy335yb2wiwgouo7yfxtjlmid.onion/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 debian-security bullseye-security main&lt;br /&gt;
 deb-src tor+&amp;lt;nowiki&amp;gt;https://5ajw6aqf3ep7sijnscdzw77t7xq4xjpsy335yb2wiwgouo7yfxtjlmid.onion/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 debian-security bullseye-security main&lt;br /&gt;
 &lt;br /&gt;
 deb tor+&amp;lt;nowiki&amp;gt;https://2s4yqjx5ul6okpp3f2gaunr2syex5jgbfpfvhxxbbjwnrsvbk5v3qbid.onion/debian&amp;lt;/nowiki&amp;gt; bullseye-updates main&lt;br /&gt;
 deb-src tor+&amp;lt;nowiki&amp;gt;https://2s4yqjx5ul6okpp3f2gaunr2syex5jgbfpfvhxxbbjwnrsvbk5v3qbid.onion/debian&amp;lt;/nowiki&amp;gt; bullseye-updates main&lt;br /&gt;
&lt;br /&gt;
== CD-ROM ==&lt;br /&gt;
If you&#039;d rather use your CD-ROM for installing packages or updating your system automatically with APT, you can put it in your &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt;. To do so, you can use the apt-cdrom program like this: &lt;br /&gt;
 # apt-cdrom add&lt;br /&gt;
with the Debian CD-ROM in the drive. &lt;br /&gt;
&lt;br /&gt;
You can use -d for the directory of the CD-ROM mount point or add a non-CD mount point (i.e. a USB keydrive). &lt;br /&gt;
&lt;br /&gt;
== Name Resolution ==&lt;br /&gt;
On occasion name resolution can break. &lt;br /&gt;
 # apt update&lt;br /&gt;
 0% [Working]Unsupported socketcall: 20&lt;br /&gt;
 Unsupported socketcall: 20&lt;br /&gt;
 Unsupported socketcall: 20&lt;br /&gt;
 Unsupported socketcall: 20&lt;br /&gt;
 Unsupported socketcall: 20&lt;br /&gt;
 Unsupported socketcall: 20&lt;br /&gt;
 Unsupported socketcall: 20&lt;br /&gt;
 Unsupported socketcall: 20&lt;br /&gt;
 Err:1 &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian&amp;lt;/nowiki&amp;gt; testing InRelease&lt;br /&gt;
  Temporary failure resolving &#039;deb.debian.org&#039;&lt;br /&gt;
 Reading package lists... Done&lt;br /&gt;
 W: Failed to fetch &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian/dists/testing/InRelease&amp;lt;/nowiki&amp;gt; Temporary failure resolving &#039;deb.debian.org&#039;&lt;br /&gt;
 W: Some index files failed to download. They have been ignored, or old ones used instead.&lt;br /&gt;
You can temporarily work around it by obtaining the IP address from another machine, and then using the IP address rather than the URI: &lt;br /&gt;
 echo &amp;quot;deb &amp;lt;nowiki&amp;gt;https://128.30.2.26/debian&amp;lt;/nowiki&amp;gt; testing main&amp;quot; &amp;gt; /etc/apt/sources.list&lt;br /&gt;
 &lt;br /&gt;
 apt update&lt;br /&gt;
 Get:1 &amp;lt;nowiki&amp;gt;https://128.30.2.26/debian&amp;lt;/nowiki&amp;gt; testing InRelease [232 kB]&lt;br /&gt;
 Get:2 &amp;lt;nowiki&amp;gt;https://128.30.2.26/debian&amp;lt;/nowiki&amp;gt; testing/main s390x Packages [7583 kB]&lt;br /&gt;
 Get:3 &amp;lt;nowiki&amp;gt;https://128.30.2.26/debian&amp;lt;/nowiki&amp;gt; testing/main Translation-en [5134 kB]  &lt;br /&gt;
 Fetched 13.0 MB in 32s (403 kB/s)                       &lt;br /&gt;
 Reading package lists... Done&lt;br /&gt;
&lt;br /&gt;
== Debug Symbol Packages ==&lt;br /&gt;
To debug a crash you often need the related debug symbol files. For most Debian packages these are in dbgsym packages. These are available from a separate archive. &lt;br /&gt;
&lt;br /&gt;
Here is an example entry for your &amp;lt;code&amp;gt;sources.list&amp;lt;/code&amp;gt; for Debian 12/Bookworm dbgsym packages: &lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian-debug/&amp;lt;/nowiki&amp;gt; bookworm-debug main&lt;br /&gt;
And an example for Debian 11/Bullseye: &lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian-debug/&amp;lt;/nowiki&amp;gt; bullseye-debug main&lt;br /&gt;
The same if you running testing: &lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian-debug/&amp;lt;/nowiki&amp;gt; testing-debug main&lt;br /&gt;
And one more example if you are using the unstable distribution: &lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;https://deb.debian.org/debian-debug/&amp;lt;/nowiki&amp;gt; unstable-debug main&lt;br /&gt;
&lt;br /&gt;
== More information ==&lt;br /&gt;
&lt;br /&gt;
* A list of UnofficialRepositories to get extra software ( Skype, Opera, Google) &lt;br /&gt;
* About deb.debian.org, a service that aims to solve the problem of choosing a Debian mirror. &lt;br /&gt;
* Adding source lists, including cds, using apt-setup &lt;br /&gt;
* APT HOWTO &lt;br /&gt;
* AptCLI &lt;br /&gt;
* AptPreferences &lt;br /&gt;
* Backports &lt;br /&gt;
* Debian on CDs &lt;br /&gt;
* DebianRepository/UseThirdParty - Instructions to use to a third-party repository &lt;br /&gt;
* sources.list(5) manual page &lt;br /&gt;
&lt;br /&gt;
----CategoryPackageManagement&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=Postfix/Virtuelle_Dom%C3%A4nen&amp;diff=167929</id>
		<title>Postfix/Virtuelle Domänen</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=Postfix/Virtuelle_Dom%C3%A4nen&amp;diff=167929"/>
		<updated>2026-06-17T08:40:45Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: Textersetzung - „ )“ durch „)“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die optionale virtuelle Tabelle gibt Umleitungen für lokale und nicht lokale Empfänger oder Domänen an. Die Umleitungen werden vom Bereinigungsdämon (8) verwendet. Die Umleitungen sind rekursiv.&lt;br /&gt;
&lt;br /&gt;
Die virtuelle Umleitung wird nur auf die Adresse des Empfängerumschlags angewandt und wirkt sich nicht auf Nachrichtenkopfzeilen aus. Denken Sie an den Sendmail-Regelsatz S0 , wenn Sie möchten. Verwenden Sie die kanonische Zuordnung , um Header- und Umschlagadressen im Allgemeinen neu zu schreiben.&lt;br /&gt;
&lt;br /&gt;
Die typische Unterstützung für eine virtuelle Domäne sieht folgendermaßen aus:&lt;br /&gt;
&lt;br /&gt;
  virtual.domain ... anything (der Inhalt auf der rechten Seite spielt keine Rolle)&lt;br /&gt;
  user1@virtual.domain ... address1&lt;br /&gt;
  user2@virtual.domain zugeordnet ... address2, address3 &lt;br /&gt;
&lt;br /&gt;
Damit akzeptiert der SMTP-Server E-Mails fürvirtual.domainund lehnt E-Mails fürunknown@virtual.domainals unzustellbar ab.&lt;br /&gt;
&lt;br /&gt;
Das Format der virtuellen Tabelle lautet wie folgt: Zuordnungen werden in der hier aufgeführten Reihenfolge versucht:&lt;br /&gt;
&lt;br /&gt;
  user@domain zugeordnet zu ... address, address, ... : E-Mail für user@domain wird an address umgeleitet. Diese Form hat die höchste Priorität.&lt;br /&gt;
  user zugeordnet zu ... address, address, ... : $myorigin Mail für user@site wird an address umgeleitet, wenn Site gleich $myorigin wenn Site in $mydestination , oder wenn sie in $inet_interfaces . Diese Funktionalität überschneidet sich mit der Funktionalität der lokalen Aliasdatenbank . Der Unterschied besteht darin, dass die virtuelle Zuordnung auf nicht lokale Adressen angewandt werden kann.&lt;br /&gt;
  @domain zugeordnet zu ... address, address, ... : @domain Mails für jeden Benutzer in der domain an die address umgeleitet. Diese Form hat die niedrigste Priorität. &lt;br /&gt;
&lt;br /&gt;
Wenn in allen oben genannten Formularen die Adresse das Formular@otherdomain, ist das Ergebnis derselbe Benutzer in einer anderen Domäne. Dies funktioniert nur für die erste Adresse in der Erweiterung.&lt;br /&gt;
&lt;br /&gt;
ADRESSERWEITERUNG: Wenn die Suche fehlschlägt und der Adress-Localpart den optionalen Empfängerbegrenzer enthält (beispielsweise user+foo@domain), wird die Suche nach der nicht erweiterten Adresse (beispielsweise user@domain) wiederholt und die nicht übereinstimmende Adresserweiterung an weitergegeben das Ergebnis der Expansion. Die passende Reihenfolge ist: user+foo@domain , user@domain , user+foo , user und @domain . &lt;br /&gt;
&lt;br /&gt;
= TMP =&lt;br /&gt;
[[zh-hans:Virtual user mail system with Postfix, Dovecot and Roundcube]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|Courier MTA}}&lt;br /&gt;
{{Related|OpenDKIM}}&lt;br /&gt;
{{Related|Postfix}}&lt;br /&gt;
{{Related|SOGo}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
{{Merge|Postfix|Article duplicates [[Postfix]], [[Dovecot]] and [[Roundcube]] and mainly consists of config snippets intended to be copy&#039;n&#039;pasted.}}&lt;br /&gt;
&lt;br /&gt;
This article describes how to set up a virtual user mail system, i.e. where the senders and recipients do not correspond to the Linux system users.&lt;br /&gt;
&lt;br /&gt;
Roughly, the components used in this article are [[Postfix]] as the mail server, [[Dovecot]] as the IMAP server, [[Roundcube]] as the webmail interface and PostfixAdmin as the administration interface to manage it all.&lt;br /&gt;
&lt;br /&gt;
In the end, the provided solution will allow you to use the best currently available security mechanisms, you will be able to send mails using SMTP and SMTPS and receive mails using POP3, POP3S, IMAP and IMAPS. Additionally, configuration will be easy thanks to PostfixAdmin and users will be able to login using Roundcube.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Before you start, you must have both a working MySQL server as described in [[MySQL]] and a working Postfix server as described in [[Postfix]].&lt;br /&gt;
&lt;br /&gt;
[[Install]] the {{Pkg|postfix-mysql}}, {{Pkg|dovecot}}, and {{Pkg|roundcubemail}} packages.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
=== User ===&lt;br /&gt;
&lt;br /&gt;
For security reasons, a new user should be created to store the mails:&lt;br /&gt;
 # groupadd -g 5000 vmail&lt;br /&gt;
 # useradd -u 5000 -g vmail -s /usr/bin/nologin -d /home/vmail -m vmail&lt;br /&gt;
A gid and uid of 5000 is used in both cases so that we do not run into conflicts with regular users. All your mail will then be stored in {{ic|/home/vmail}}. You could change the home directory to something like {{ic|/var/mail/vmail}} but be careful to change this in any configuration below as well.&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
&lt;br /&gt;
You will need to create an empty database and corresponding user. In this article, the user &#039;&#039;postfix_user&#039;&#039; will have read/write access to the database &#039;&#039;postfix_db&#039;&#039; using &#039;&#039;hunter2&#039;&#039; as password. You are expected to create the database and user yourself, and give the user permission to use the database, as shown in the following code.&lt;br /&gt;
&lt;br /&gt;
{{hc|$ mysql -u root -p|&lt;br /&gt;
CREATE DATABASE postfix_db;&lt;br /&gt;
GRANT ALL ON postfix_db.* TO &#039;postfix_user&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;hunter2&#039;;&lt;br /&gt;
FLUSH PRIVILEGES;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Expansion|Further manual database installation is missing. So far, the only way to follow this article is by installing PostfixAdmin with Apache, MySQL and PHP.}}&lt;br /&gt;
&lt;br /&gt;
Now you can go to the PostfixAdmin&#039;s setup page, let PostfixAdmin create the needed tables and create the users in there.&lt;br /&gt;
&lt;br /&gt;
==== PostfixAdmin ====&lt;br /&gt;
&lt;br /&gt;
See [[PostfixAdmin]].&lt;br /&gt;
&lt;br /&gt;
=== SSL certificate ===&lt;br /&gt;
&lt;br /&gt;
You will need a SSL certificate for all encrypted mail communications (SMTPS/IMAPS/POP3S). If you do not have one, create one:&lt;br /&gt;
 # cd /etc/ssl/private/&lt;br /&gt;
 # openssl req -new -x509 -nodes -newkey rsa:4096 -keyout vmail.key -out vmail.crt -days 1460 #days are optional&lt;br /&gt;
 # chmod 400 vmail.key&lt;br /&gt;
 # chmod 444 vmail.crt&lt;br /&gt;
&lt;br /&gt;
Alternatively, create a free trusted certificate using [[Let&#039;s Encrypt]]. The private key will be in {{ic|/etc/letsencrypt/live/&#039;&#039;yourdomain&#039;&#039;/privkey.pem}}, the certificate in {{ic|/etc/letsencrypt/live/&#039;&#039;yourdomain&#039;&#039;/fullchain.pem}}. Either change the configuration accordingly, or symlink the keys to {{ic|/etc/ssl/private}}:&lt;br /&gt;
 # ln -s /etc/letsencrypt/live/&#039;&#039;yourdomain&#039;&#039;/privkey.pem /etc/ssl/private/vmail.key&lt;br /&gt;
 # ln -s /etc/letsencrypt/live/&#039;&#039;yourdomain&#039;&#039;/fullchain.pem /etc/ssl/private/vmail.crt&lt;br /&gt;
&lt;br /&gt;
=== Postfix ===&lt;br /&gt;
&lt;br /&gt;
Before you copy &amp;amp; paste the configuration below, check if {{ic|relay_domains}} has already been set. If you leave more than one active, you will receive warnings during runtime.&lt;br /&gt;
&lt;br /&gt;
{{Warning|{{ic|&amp;lt;nowiki&amp;gt;relay_domains&amp;lt;/nowiki&amp;gt;}} can be dangerous. You usually do not want Postfix to forward mail of strangers. {{ic|&amp;lt;nowiki&amp;gt;$mydestination&amp;lt;/nowiki&amp;gt;}} is a sane default value. Double check its value before running postfix! See https://www.postfix.org/BASIC_CONFIGURATION_README.html#relay_to}} &lt;br /&gt;
&lt;br /&gt;
Also follow [[Postfix#Secure SMTP (receiving)]] pointing to the files you created in [[#SSL certificate]].&lt;br /&gt;
&lt;br /&gt;
==== Setting up Postfix ====&lt;br /&gt;
&lt;br /&gt;
To {{ic|/etc/postfix/main.cf}} append:&lt;br /&gt;
 relay_domains = $mydestination&lt;br /&gt;
 virtual_alias_maps = proxy:mysql:/etc/postfix/virtual_alias_maps.cf&lt;br /&gt;
 virtual_mailbox_domains = proxy:mysql:/etc/postfix/virtual_mailbox_domains.cf&lt;br /&gt;
 virtual_mailbox_maps = proxy:mysql:/etc/postfix/virtual_mailbox_maps.cf&lt;br /&gt;
 virtual_mailbox_base = /home/vmail&lt;br /&gt;
 virtual_mailbox_limit = 512000000&lt;br /&gt;
 virtual_minimum_uid = 5000&lt;br /&gt;
 virtual_transport = virtual&lt;br /&gt;
 virtual_uid_maps = static:5000&lt;br /&gt;
 virtual_gid_maps = static:5000&lt;br /&gt;
 local_transport = virtual&lt;br /&gt;
 local_recipient_maps = $virtual_mailbox_maps&lt;br /&gt;
 transport_maps = hash:/etc/postfix/transport&lt;br /&gt;
 &lt;br /&gt;
 smtpd_sasl_auth_enable = yes&lt;br /&gt;
 smtpd_sasl_type = dovecot&lt;br /&gt;
 smtpd_sasl_path = /var/run/dovecot/auth-client&lt;br /&gt;
 smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination&lt;br /&gt;
 smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination&lt;br /&gt;
 smtpd_sasl_security_options = noanonymous&lt;br /&gt;
 smtpd_sasl_tls_security_options = $smtpd_sasl_security_options&lt;br /&gt;
 smtpd_tls_security_level = may&lt;br /&gt;
 smtpd_tls_auth_only = yes&lt;br /&gt;
 smtpd_tls_received_header = yes&lt;br /&gt;
 smtpd_tls_cert_file = /etc/ssl/private/vmail.crt&lt;br /&gt;
 smtpd_tls_key_file = /etc/ssl/private/vmail.key&lt;br /&gt;
 smtpd_sasl_local_domain = $mydomain&lt;br /&gt;
 smtpd_tls_loglevel = 1&lt;br /&gt;
 smtp_tls_security_level = may&lt;br /&gt;
 smtp_tls_loglevel = 1&lt;br /&gt;
&lt;br /&gt;
* In the configuration above {{ic|virtual_mailbox_domains}} is a list of the domains that you want to receive mail for. This CANNOT contain the domain that is set in {{ic|mydestination}}. That is why we left {{ic|mydestination}} to be localhost only.&lt;br /&gt;
&lt;br /&gt;
* {{ic|virtual_mailbox_maps}} will contain the information of virtual users and their mailbox locations. We are using a hash file to store the more permanent maps, and these will then override the forwards in the MySQL database.&lt;br /&gt;
&lt;br /&gt;
* {{ic|virtual_mailbox_base}} is the base directory where the virtual mailboxes will be stored.&lt;br /&gt;
&lt;br /&gt;
The {{ic|virtual_uid_maps}} and {{ic|virtual_gid_maps}} are the real system user IDs that the virtual mails will be owned by. This is for storage purposes. &lt;br /&gt;
&lt;br /&gt;
{{note|Since we will be using a web interface (Roundcube), and do not want people accessing this by any other means, we will be creating this account later without providing any login access.}}&lt;br /&gt;
&lt;br /&gt;
==== Create the file structure ====&lt;br /&gt;
&lt;br /&gt;
Those new additional settings reference a lot of files that do not even exist yet. We will create them with the following steps.&lt;br /&gt;
&lt;br /&gt;
If you were setting up your database with PostfixAdmin and created the database schema through PostfixAdmin, you can create the following files. Do not forget to change the password:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/postfix/virtual_alias_maps.cf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
user = postfix_user&lt;br /&gt;
password = hunter2&lt;br /&gt;
hosts = localhost&lt;br /&gt;
dbname = postfix_db&lt;br /&gt;
table = alias&lt;br /&gt;
select_field = goto&lt;br /&gt;
where_field = address&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/postfix/virtual_mailbox_domains.cf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
user = postfix_user&lt;br /&gt;
password = hunter2&lt;br /&gt;
hosts = localhost&lt;br /&gt;
dbname = postfix_db&lt;br /&gt;
table = domain&lt;br /&gt;
select_field = domain&lt;br /&gt;
where_field = domain&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/postfix/virtual_mailbox_maps.cf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
user = postfix_user&lt;br /&gt;
password = hunter2&lt;br /&gt;
hosts = localhost&lt;br /&gt;
dbname = postfix_db&lt;br /&gt;
table = mailbox&lt;br /&gt;
select_field = maildir&lt;br /&gt;
where_field = username&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
For alias domains functionality adjust the following files:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/postfix/main.cf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
virtual_alias_maps = proxy:mysql:/etc/postfix/virtual_alias_maps.cf,proxy:mysql:/etc/postfix/virtual_alias_domains_maps.cf&lt;br /&gt;
virtual_alias_domains = proxy:mysql:/etc/postfix/virtual_alias_domains.cf&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/postfix/virtual_alias_domains_maps.cf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
user = postfix_user&lt;br /&gt;
password = hunter2&lt;br /&gt;
hosts = localhost&lt;br /&gt;
dbname = postfix_db&lt;br /&gt;
query = SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = &#039;%d&#039; and alias.address = CONCAT(&#039;%u&#039;, &#039;@&#039;, alias_domain.target_domain) AND alias.active = &#039;1&#039; AND alias_domain.active=&#039;1&#039;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/postfix/virtual_alias_domains.cf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
user = postfix_user&lt;br /&gt;
password = hunter2&lt;br /&gt;
hosts = localhost&lt;br /&gt;
dbname = postfix_db&lt;br /&gt;
query = SELECT alias_domain FROM alias_domain WHERE alias_domain=&#039;%s&#039; AND active = &#039;1&#039;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{Note | For setups without using PostfixAdmin, create the following files.}}&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/postfix/virtual_alias_maps.cf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
user = postfix_user&lt;br /&gt;
password = hunter2&lt;br /&gt;
hosts = localhost&lt;br /&gt;
dbname = postfix_db&lt;br /&gt;
table = domains&lt;br /&gt;
select_field = virtual&lt;br /&gt;
where_field = domain&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/postfix/virtual_mailbox_domains.cf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
user = postfix_user&lt;br /&gt;
password = hunter2&lt;br /&gt;
hosts = localhost&lt;br /&gt;
dbname = postfix_db&lt;br /&gt;
table = forwardings&lt;br /&gt;
select_field = destination&lt;br /&gt;
where_field = source&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/postfix/virtual_mailbox_maps.cf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
user = postfix_user&lt;br /&gt;
password = hunter2&lt;br /&gt;
hosts = localhost&lt;br /&gt;
dbname = postfix_db&lt;br /&gt;
table = users&lt;br /&gt;
select_field = concat(domain,&#039;/&#039;,email,&#039;/&#039;)&lt;br /&gt;
where_field = email&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Run &#039;&#039;postmap&#039;&#039; on &#039;&#039;transport&#039;&#039; to generate its db:&lt;br /&gt;
 # postmap /etc/postfix/transport&lt;br /&gt;
&lt;br /&gt;
=== Dovecot ===&lt;br /&gt;
&lt;br /&gt;
Instead of using the provided Dovecot example configuration file, we will create our own {{ic|/etc/dovecot/dovecot.conf}}. Please note that the user and group here might be vmail &#039;&#039;&#039;instead of postfix&#039;&#039;&#039;!&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/dovecot/dovecot.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
protocols = imap pop3&lt;br /&gt;
auth_mechanisms = plain&lt;br /&gt;
passdb {&lt;br /&gt;
  driver = sql&lt;br /&gt;
  args = /etc/dovecot/dovecot-sql.conf&lt;br /&gt;
}&lt;br /&gt;
userdb {&lt;br /&gt;
  driver = sql&lt;br /&gt;
  args = /etc/dovecot/dovecot-sql.conf&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
service auth {&lt;br /&gt;
  unix_listener auth-client {&lt;br /&gt;
    group = postfix&lt;br /&gt;
    mode = 0660&lt;br /&gt;
    user = postfix&lt;br /&gt;
  }&lt;br /&gt;
  user = root&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
mail_home = /home/vmail/%d/%n&lt;br /&gt;
mail_location = maildir:~&lt;br /&gt;
&lt;br /&gt;
ssl_cert = &amp;lt;/etc/ssl/private/vmail.crt&lt;br /&gt;
ssl_key = &amp;lt;/etc/ssl/private/vmail.key&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{note|If you instead want to modify {{ic|dovecot.conf.sample}}, beware that the default configuration file imports the content of {{ic|conf.d/*.conf}}. Those files call other files that are not present in our configuration.}}&lt;br /&gt;
&lt;br /&gt;
Now we create {{ic|/etc/dovecot/dovecot-sql.conf}}, which we just referenced in the configuration above. Use the following contents and check if everything is set accordingly to your system&#039;s configuration.&lt;br /&gt;
&lt;br /&gt;
If you used PostfixAdmin, then you add the following:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/dovecot/dovecot-sql.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
driver = mysql&lt;br /&gt;
connect = host=localhost dbname=postfix_db user=postfix_user password=hunter2&lt;br /&gt;
# It is highly recommended to not use deprecated MD5-CRYPT. Read more at https://wiki2.dovecot.org/Authentication/PasswordSchemes&lt;br /&gt;
default_pass_scheme = SHA512-CRYPT&lt;br /&gt;
# Get the mailbox&lt;br /&gt;
user_query = SELECT &#039;/home/vmail/%d/%n&#039; as home, &#039;maildir:/home/vmail/%d/%n&#039; as mail, 5000 AS uid, 5000 AS gid, concat(&#039;dirsize:storage=&#039;, quota) AS quota FROM mailbox WHERE username = &#039;%u&#039; AND active = &#039;1&#039;&lt;br /&gt;
# Get the password&lt;br /&gt;
password_query = SELECT username as user, password, &#039;/home/vmail/%d/%n&#039; as userdb_home, &#039;maildir:/home/vmail/%d/%n&#039; as userdb_mail, 5000 as userdb_uid, 5000 as userdb_gid FROM mailbox WHERE username = &#039;%u&#039; AND active = &#039;1&#039;&lt;br /&gt;
# If using client certificates for authentication, comment the above and uncomment the following&lt;br /&gt;
#password_query = SELECT null AS password, ‘%u’ AS user&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Without having used PostfixAdmin you can use:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/dovecot/dovecot-sql.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
driver = mysql&lt;br /&gt;
connect = host=localhost dbname=postfix_db user=postfix_user password=hunter2&lt;br /&gt;
# It is highly recommended to not use deprecated MD5-CRYPT. Read more at https://wiki2.dovecot.org/Authentication/PasswordSchemes&lt;br /&gt;
default_pass_scheme = SHA512-CRYPT&lt;br /&gt;
# Get the mailbox&lt;br /&gt;
user_query = SELECT &#039;/home/vmail/%d/%n&#039; as home, &#039;maildir:/home/vmail/%d/%n&#039; as mail, 5000 AS uid, 5000 AS gid, concat(&#039;dirsize:storage=&#039;, quota) AS quota FROM users WHERE email = &#039;%u&#039;&lt;br /&gt;
# Get the password&lt;br /&gt;
password_query = SELECT email as user, password, &#039;/home/vmail/%d/%n&#039; as userdb_home, &#039;maildir:/home/vmail/%d/%n&#039; as userdb_mail, 5000 as userdb_uid, 5000 as userdb_gid FROM users WHERE email = &#039;%u&#039;&lt;br /&gt;
# If using client certificates for authentication, comment the above and uncomment the following&lt;br /&gt;
#password_query = SELECT null AS password, ‘%u’ AS user&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|Visit https://wiki2.dovecot.org/Variables to learn more about Dovecot variables.}}&lt;br /&gt;
&lt;br /&gt;
==== DH parameters ====&lt;br /&gt;
&lt;br /&gt;
With v2.3 you are required to provide {{ic|1=ssl_dh = &#039;&#039;/path/to/dh.pem&#039;&#039;}} yourself.&lt;br /&gt;
&lt;br /&gt;
To generate a new DH parameters file (this will take very long):&lt;br /&gt;
&lt;br /&gt;
 # openssl dhparam -out /etc/dovecot/dh.pem 4096&lt;br /&gt;
&lt;br /&gt;
then add the file to {{ic|/etc/dovecot/dovecot.conf}}&lt;br /&gt;
&lt;br /&gt;
 ssl_dh = /etc/dovecot/dh.pem&lt;br /&gt;
&lt;br /&gt;
=== PostfixAdmin ===&lt;br /&gt;
&lt;br /&gt;
See [[PostfixAdmin]].&lt;br /&gt;
&lt;br /&gt;
Note: To match the configuration in this file, config.inc.php should contain the following.&lt;br /&gt;
&lt;br /&gt;
  # /etc/webapps/postfixadmin/config.inc.php&lt;br /&gt;
  ...&lt;br /&gt;
  $CONF[&#039;domain_path&#039;] = &#039;YES&#039;;&lt;br /&gt;
  $CONF[&#039;domain_in_mailbox&#039;] = &#039;NO&#039;;&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
=== Roundcube ===&lt;br /&gt;
&lt;br /&gt;
See [[Roundcube]].&lt;br /&gt;
&lt;br /&gt;
Make sure that both {{ic|1=extension=pdo_mysql}} and {{ic|1=extension=iconv}} are uncommented in your {{ic|php.ini}} file. Also check the {{ic|.htaccess}} for access restrictions. Assuming that localhost is your current host, navigate a browser to {{ic|https://localhost/roundcube/installer/}} and follow the instructions. &lt;br /&gt;
&lt;br /&gt;
Roundcube needs a separate database to work. You should not use the same database for Roundcube and PostfixAdmin. Create a second database {{ic|roundcube_db}} and a new user named {{ic|roundcube_user}}.&lt;br /&gt;
&lt;br /&gt;
While running the installer ...&lt;br /&gt;
&lt;br /&gt;
* For the address of the IMAP host, i.e. {{ic|default_host}}, use {{ic|ssl://localhost/}} or {{ic|tls://localhost/}} and not just {{ic|localhost}}. &lt;br /&gt;
* Use port {{ic|993}}. Likewise with SMTP. &lt;br /&gt;
* For the address of the SMTP host, i.e. {{ic|smtp_server}}, use {{ic|tls://localhost/}} and port {{ic|587}} if you used STARTTLS. Use {{ic|ssl://localhost/}} with port {{ic|465}} if you used SMTPS. If there is a failure to establish a session, try using {{ic|tls://yourservername}} instead, replacing {{ic|yourservername}} with the name of your server.&lt;br /&gt;
* See [[#Postfix]] for an explanation on that.&lt;br /&gt;
* Make sure the resulting configuration file has {{ic|1=$config[&#039;smtp_user&#039;] = &#039;%u&#039;;}} and {{ic|1=$config[&#039;smtp_pass&#039;] = &#039;%p&#039;;}} lines in it or you will not be able to send email.&lt;br /&gt;
&lt;br /&gt;
The post install process is similar to any other webapp like [[PhpMyAdmin]] or PostFixAdmin. The configuration file is in {{ic|/etc/webapps/roundcubemail/config/config.inc.php}} which works as an override over {{ic|defaults.inc.php}}.&lt;br /&gt;
&lt;br /&gt;
==== Apache configuration ====&lt;br /&gt;
&lt;br /&gt;
If you are using Apache, copy the example configuration file to your webserver configuration directory.&lt;br /&gt;
&lt;br /&gt;
 # cp /etc/webapps/roundcubemail/apache.conf /etc/httpd/conf/extra/httpd-roundcubemail.conf&lt;br /&gt;
&lt;br /&gt;
Add the following line in&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/httpd/conf/httpd.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Include conf/extra/httpd-roundcubemail.conf&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
==== Roundcube: Change Password Plugin ====&lt;br /&gt;
&lt;br /&gt;
To let users change their passwords from within Roundcube, do the following:&lt;br /&gt;
&lt;br /&gt;
Enable the password plugin by adding this line to&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/webapps/roundcubemail/config/config.inc.php|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$config[&#039;plugins&#039;] = array(&#039;password&#039;);&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Configure the password plugin and make sure you alter the settings accordingly:&lt;br /&gt;
&lt;br /&gt;
{{hc|/usr/share/webapps/roundcubemail/plugins/password/config.inc.php|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
$config[&#039;password_driver&#039;] = &#039;sql&#039;;&lt;br /&gt;
$config[&#039;password_db_dsn&#039;] = &#039;mysql://&amp;lt;postfix_database_user&amp;gt;:&amp;lt;password&amp;gt;@localhost/&amp;lt;postfix_database_name&amp;gt;&#039;;&lt;br /&gt;
// If you are not using dovecot specify another algorithm explicitly e.g &#039;sha256-crypt&#039;&lt;br /&gt;
$config[&#039;password_algorithm&#039;] = &#039;dovecot&#039;;&lt;br /&gt;
// For dovecot salted passwords only (above must be set to &#039;dovecot&#039;)&lt;br /&gt;
// $config[&#039;password_algorithm_prefix&#039;] = &#039;true&#039;;&lt;br /&gt;
// $config[&#039;password_dovecotpw&#039;] = &#039;doveadm pw&#039;;&lt;br /&gt;
// $config[&#039;password_dovecotpw_method&#039;] = &#039;SHA512-CRYPT&#039;;&lt;br /&gt;
// $config[&#039;password_dovecotpw_with_method&#039;] = true;&lt;br /&gt;
$config[&#039;password_query&#039;] = &#039;UPDATE mailbox SET password=%P WHERE username=%u&#039;;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Fire it up ==&lt;br /&gt;
&lt;br /&gt;
All necessary daemons should be started in order to test the configuration. [[Start]] both {{ic|postfix}} and {{ic|dovecot}}.&lt;br /&gt;
&lt;br /&gt;
Now for testing purposes, create a domain and mail account in PostfixAdmin. Try to login to this account using Roundcube. Now send yourself a mail.&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
&lt;br /&gt;
{{Style|Needs some cleanup. There are probably more general ways to write this.}}&lt;br /&gt;
&lt;br /&gt;
Now lets see if Postfix is going to deliver mail for our test user.&lt;br /&gt;
{{bc|&lt;br /&gt;
nc servername 25&lt;br /&gt;
helo testmail.org&lt;br /&gt;
mail from:&amp;lt;test@testmail.org&amp;gt;&lt;br /&gt;
rcpt to:&amp;lt;cactus@virtualdomain.tld&amp;gt;&lt;br /&gt;
data&lt;br /&gt;
This is a test email.&lt;br /&gt;
.&lt;br /&gt;
quit&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Error response ===&lt;br /&gt;
&lt;br /&gt;
 451 4.3.0 &amp;lt;lisi@test.com&amp;gt;:Temporary lookup failure&lt;br /&gt;
Maybe you have entered the wrong user/password for MySQL or the MySQL socket is not in the right place.&lt;br /&gt;
&lt;br /&gt;
This error will also occur if you neglect to run newaliases at least once before starting postfix. MySQL is not required for local only usage of postfix.&lt;br /&gt;
&lt;br /&gt;
 550 5.1.1 &amp;lt;email@spam.me&amp;gt;: Recipient address rejected: User unknown in virtual mailbox table.&lt;br /&gt;
Double check content of mysql_virtual_mailboxes.cf and check the main.cf for mydestination&lt;br /&gt;
&lt;br /&gt;
=== See that you have received a email ===&lt;br /&gt;
&lt;br /&gt;
Now type {{ic|$ find /home/vmailer}}.&lt;br /&gt;
&lt;br /&gt;
You should see something like the following:&lt;br /&gt;
{{bc|&lt;br /&gt;
/home/vmailer/virtualdomain.tld/cactus@virtualdomain.tld&lt;br /&gt;
/home/vmailer/virtualdomain.tld/cactus@virtualdomain.tld/tmp&lt;br /&gt;
/home/vmailer/virtualdomain.tld/cactus@virtualdomain.tld/cur&lt;br /&gt;
/home/vmailer/virtualdomain.tld/cactus@virtualdomain.tld/new&lt;br /&gt;
/home/vmailer/virtualdomain.tld/cactus@virtualdomain.tld/new/1102974226.2704_0.bonk.testmail.org&lt;br /&gt;
}}&lt;br /&gt;
The key is the last entry. This is an actual email, if you see that, it is working.&lt;br /&gt;
&lt;br /&gt;
== Optional Items ==&lt;br /&gt;
&lt;br /&gt;
Although these items are not required, they definitely add more completeness to your setup&lt;br /&gt;
&lt;br /&gt;
=== Quota ===&lt;br /&gt;
&lt;br /&gt;
To enable mailbox quota support by dovecot, do the following: &lt;br /&gt;
*First add the following lines to /etc/dovecot/dovecot.conf&lt;br /&gt;
 dict {&lt;br /&gt;
 	quotadict = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext&lt;br /&gt;
 }&lt;br /&gt;
 service dict {&lt;br /&gt;
 	unix_listener dict {&lt;br /&gt;
 		group = vmail&lt;br /&gt;
 		mode = 0660&lt;br /&gt;
 		user = vmail&lt;br /&gt;
 	}&lt;br /&gt;
 	user = root&lt;br /&gt;
 }&lt;br /&gt;
 service quota-warning {&lt;br /&gt;
 	executable = script /usr/local/bin/quota-warning.sh&lt;br /&gt;
 	user = vmail&lt;br /&gt;
 	unix_listener quota-warning {&lt;br /&gt;
 		group = vmail&lt;br /&gt;
 		mode = 0660&lt;br /&gt;
 		user = vmail&lt;br /&gt;
 	}&lt;br /&gt;
 }	&lt;br /&gt;
 mail_plugins=quota&lt;br /&gt;
 protocol pop3 {&lt;br /&gt;
 	 mail_plugins = quota&lt;br /&gt;
 	 pop3_client_workarounds = outlook-no-nuls oe-ns-eoh&lt;br /&gt;
 	 pop3_uidl_format = %08Xu%08Xv&lt;br /&gt;
 }&lt;br /&gt;
 protocol lda {&lt;br /&gt;
 	mail_plugins = quota&lt;br /&gt;
 	postmaster_address = postmaster@yourdomain.com&lt;br /&gt;
 }&lt;br /&gt;
 protocol imap {&lt;br /&gt;
 	mail_plugins = $mail_plugins imap_quota&lt;br /&gt;
 	mail_plugin_dir = /usr/lib/dovecot/modules&lt;br /&gt;
 }&lt;br /&gt;
 plugin {&lt;br /&gt;
    quota = dict:User quota::proxy::quotadict&lt;br /&gt;
    quota_rule2 = Trash:storage=+10%%&lt;br /&gt;
    quota_warning = storage=100%% quota-warning +100 %u&lt;br /&gt;
    quota_warning2 = storage=95%% quota-warning +95 %u&lt;br /&gt;
    quota_warning3 = storage=80%% quota-warning +80 %u&lt;br /&gt;
    quota_warning4 = -storage=100%% quota-warning -100 %u # user is no longer over quota&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
*Create a new file /etc/dovecot/dovecot-dict-sql.conf.ext with the following code:&lt;br /&gt;
 connect = host=localhost dbname=yourdb user=youruser password=yourpassword&lt;br /&gt;
 map {&lt;br /&gt;
 	pattern = priv/quota/storage&lt;br /&gt;
 	table = quota2&lt;br /&gt;
 	username_field = username&lt;br /&gt;
 	value_field = bytes&lt;br /&gt;
 }&lt;br /&gt;
 map {&lt;br /&gt;
 	pattern = priv/quota/messages&lt;br /&gt;
 	table = quota2&lt;br /&gt;
 	username_field = username&lt;br /&gt;
 	value_field = messages&lt;br /&gt;
 }&lt;br /&gt;
*Create a warning script /usr/local/bin/quota-warning.sh and make sure it is executable. This warning script works with postfix lmtp configuration as well.&lt;br /&gt;
{{bc|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
BOUNDARY=&amp;quot;$1&amp;quot;&lt;br /&gt;
USER=&amp;quot;$2&amp;quot;&lt;br /&gt;
MSG=&amp;quot;&amp;quot;&lt;br /&gt;
if [[ &amp;quot;$BOUNDARY&amp;quot; = &amp;quot;+100&amp;quot; ]]; then&lt;br /&gt;
  MSG=&amp;quot;Your mailbox is now overfull (&amp;gt;100%). In order for your account to continue functioning properly, you need to remove some emails NOW.&amp;quot;&lt;br /&gt;
elif [[ &amp;quot;$BOUNDARY&amp;quot; = &amp;quot;+95&amp;quot; ]]; then&lt;br /&gt;
  MSG=&amp;quot;Your mailbox is now over 95% full. Please remove some emails ASAP.&amp;quot;&lt;br /&gt;
elif [[ &amp;quot;$BOUNDARY&amp;quot; = &amp;quot;+80&amp;quot; ]]; then&lt;br /&gt;
  MSG=&amp;quot;Your mailbox is now over 80% full. Please consider removing some emails to save space.&amp;quot;&lt;br /&gt;
elif [[ &amp;quot;$BOUNDARY&amp;quot; = &amp;quot;-100&amp;quot; ]]; then&lt;br /&gt;
  MSG=&amp;quot;Your mailbox is now back to normal (&amp;lt;100%).&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
 &lt;br /&gt;
cat &amp;lt;&amp;lt; EOF | /usr/lib/dovecot/dovecot-lda -d $USER -o &amp;quot;plugin/quota=maildir:User quota:noenforcing&amp;quot;&lt;br /&gt;
From: postmaster@yourdomain.com&lt;br /&gt;
Subject: Email Account Quota Warning&lt;br /&gt;
&lt;br /&gt;
Dear User,&lt;br /&gt;
&lt;br /&gt;
$MSG&lt;br /&gt;
&lt;br /&gt;
Best regards,&lt;br /&gt;
Your Mail System&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
*Edit the user_query line and add iterat_query in dovecot-sql.conf as following:&lt;br /&gt;
 user_query = SELECT &#039;/home/vmail/%d/%n&#039; as home, &#039;maildir:/home/vmail/%d/%n&#039; as mail, 5000 AS uid, 5000 AS gid, concat(&#039;*:bytes=&#039;, quota) AS quota_rule FROM mailbox WHERE username = &#039;%u&#039; AND active = &#039;1&#039;&lt;br /&gt;
 iterate_query = SELECT username AS user FROM mailbox&lt;br /&gt;
*Set up LDA as described above under SpamAssassin. If you are not using SpamAssassin, the pipe should look like this in /etc/postfix/master.cf :&lt;br /&gt;
 dovecot  unix -    n    n    -    -    pipe&lt;br /&gt;
 flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${recipient}&lt;br /&gt;
As above activate it in Postfix main.cf&lt;br /&gt;
 virtual_transport = dovecot&lt;br /&gt;
*You can set up quota per each mailbox in postfixadmin. Make sure the relevant lines in config.inc.php look like this:&lt;br /&gt;
 $CONF[&#039;quota&#039;] = &#039;YES&#039;;&lt;br /&gt;
 $CONF[&#039;quota_multiplier&#039;] = &#039;1024000&#039;;&lt;br /&gt;
&lt;br /&gt;
Restart postfix and dovecot services. If things go well, you should be able to list all users&#039; quota and usage by the this command:&lt;br /&gt;
 doveadm quota get -A&lt;br /&gt;
You should be able to see the quota in roundcube too.&lt;br /&gt;
&lt;br /&gt;
=== Autocreate and autosubscribe folders in Dovecot ===&lt;br /&gt;
&lt;br /&gt;
To automatically create the &amp;quot;usual&amp;quot; mail hierarchy, modify your {{ic|/etc/dovecot/dovecot.conf}} as follows, editing to your specific needs.&lt;br /&gt;
&lt;br /&gt;
{{bc|1=&lt;br /&gt;
namespace inbox {&lt;br /&gt;
 type = private&lt;br /&gt;
 separator = /&lt;br /&gt;
 prefix =&lt;br /&gt;
 inbox = yes&lt;br /&gt;
}&lt;br /&gt;
namespace inbox {&lt;br /&gt;
 mailbox Drafts {&lt;br /&gt;
  auto = subscribe&lt;br /&gt;
  special_use = \Drafts&lt;br /&gt;
 }&lt;br /&gt;
 mailbox Junk {&lt;br /&gt;
  auto = subscribe&lt;br /&gt;
  special_use = \Junk&lt;br /&gt;
 }&lt;br /&gt;
 mailbox Trash {&lt;br /&gt;
  auto = subscribe&lt;br /&gt;
  special_use = \Trash&lt;br /&gt;
 }&lt;br /&gt;
 mailbox Sent {&lt;br /&gt;
  auto = subscribe&lt;br /&gt;
  special_use = \Sent&lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Dovecot public folder and global ACLs ===&lt;br /&gt;
&lt;br /&gt;
In this section we enable IMAP namespace public folders combined with global and per-folder [[ACL]]s.&lt;br /&gt;
&lt;br /&gt;
First, add the following lines to {{ic|/etc/dovecot/dovecot.conf}}:&lt;br /&gt;
&lt;br /&gt;
{{bc|1=&lt;br /&gt;
### ACLs&lt;br /&gt;
mail_plugins = acl&lt;br /&gt;
protocol imap {&lt;br /&gt;
 mail_plugins = $mail_plugins imap_acl&lt;br /&gt;
}&lt;br /&gt;
plugin {&lt;br /&gt;
 acl = vfile&lt;br /&gt;
 # With global ACL files in /etc/dovecot/dovecot-acls file (v2.2.11+):&lt;br /&gt;
 acl = vfile:/etc/dovecot/dovecot-acl&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
### Public Mailboxes&lt;br /&gt;
namespace {&lt;br /&gt;
 type = public&lt;br /&gt;
 separator = /&lt;br /&gt;
 prefix = public/&lt;br /&gt;
 location = maildir:/home/vmail/public:INDEXPVT=~/public&lt;br /&gt;
 subscriptions = no&lt;br /&gt;
 list = children&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Create the root directory {{ic|/home/vmail/public}} and the folders you want to publicly share, for example (the period is required!) {{ic|/home/vmail/public/.example-1}}.&lt;br /&gt;
&lt;br /&gt;
Change the ownership of all files in the root directory:&lt;br /&gt;
&lt;br /&gt;
 $ chown -R vmail:vmail /home/vmail/public&lt;br /&gt;
&lt;br /&gt;
Finally, create and modify your global ACL file to allow users access to these folders:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/dovecot/dovecot-acl|2=&lt;br /&gt;
public/* user=admin@example.com lrwstipekxa&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In the above example, user {{ic|admin@example.com}} has access to, and can do anything to, all the public folders. Edit to fit your specific needs.&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* {{ic|lrwstipekxa}} are the permissions being granted. Visit the Dovecot wiki for further details.&lt;br /&gt;
* Make sure the user subscribes to the folders in the client they are using.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Fighting Spam ===&lt;br /&gt;
&lt;br /&gt;
As an alternative to SpamAssassin, consider {{Pkg|rspamd}}. Out of the box, it delivers an amazing amount of spam reduction, greylisting, etc and includes a nifty webui. See also [https://thomas-leister.de/en/mailserver-debian-stretch/].&lt;br /&gt;
&lt;br /&gt;
== Sidenotes ==&lt;br /&gt;
&lt;br /&gt;
=== Alternative vmail folder structure ===&lt;br /&gt;
&lt;br /&gt;
Instead of having a directory structure like {{ic|/home/vmail/example.com/user@example.com}} you can have cleaner subdirectories (without the additional domain name) by replacing {{ic|select_field}} and {{ic|where_field}} with:&lt;br /&gt;
{{bc|1=query = SELECT CONCAT(SUBSTRING_INDEX(email,&#039;@&#039;,-1),&#039;/&#039;,SUBSTRING_INDEX(email,&#039;@&#039;,1),&#039;/&#039;) FROM users WHERE email=&#039;%s&#039;}}&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== IMAP/POP3 client failing to receive mails ===&lt;br /&gt;
&lt;br /&gt;
If you get similar errors, take a look into {{ic|/var/log/mail.log}} or run {{ic|journalctl -xn --unit postfix.service}} as root to find out more.&lt;br /&gt;
&lt;br /&gt;
It may turn out that the Maildir {{ic|/home/vmail/mail@domain.tld}} is just being created if there is at least one email waiting. Otherwise there would not be any need for the directory creation before.&lt;br /&gt;
&lt;br /&gt;
=== Roundcube not able to delete emails or view any &#039;standard&#039; folders ===&lt;br /&gt;
&lt;br /&gt;
Ensure that the Roundcube config.inc.php file contains the following:&lt;br /&gt;
&lt;br /&gt;
{{bc|1=&lt;br /&gt;
$config[&#039;default_imap_folders&#039;] = array(&#039;INBOX&#039;, &#039;Drafts&#039;, &#039;Sent&#039;, &#039;Junk&#039;, &#039;Trash&#039;);&lt;br /&gt;
$config[&#039;create_default_folders&#039;] = true;&lt;br /&gt;
$config[&#039;protect_default_folders&#039;] = true;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== LMTP / Sieve ===&lt;br /&gt;
&lt;br /&gt;
Is LMTP not connecting to sieve? Ensure that your server is not routing the messages locally. This can be set in {{ic| /etc/postfix/main.cf}}:&lt;br /&gt;
&lt;br /&gt;
{{bc|1=&lt;br /&gt;
mydestination = &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Are your emails sent to gmail users ending up in their junk/spam folders? ===&lt;br /&gt;
&lt;br /&gt;
Google gmail (and most other large email providers) will send your emails straight into your recipients junk / spam folder if you have not implemented SPF / DKIM / DMARC policies. (Hint: Rspamd, via the link above, shows you how to set this up, and will DKIM sign your emails.)&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Gentoo:Complete Virtual Mail Server]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Postfix/Konfiguration]]&lt;br /&gt;
&lt;br /&gt;
= TMP =&lt;br /&gt;
Postfix Virtual Domain Hosting Howto&lt;br /&gt;
Purpose of this document&lt;br /&gt;
&lt;br /&gt;
This document requires Postfix version 2.0 or later.&lt;br /&gt;
&lt;br /&gt;
This document gives an overview of how Postfix can be used for hosting multiple Internet domains, both for final delivery on the machine itself and for the purpose of forwarding to destinations elsewhere.&lt;br /&gt;
&lt;br /&gt;
The text not only describes delivery mechanisms that are built into Postfix, but also gives pointers for using non-Postfix mail delivery software.&lt;br /&gt;
&lt;br /&gt;
The following topics are covered:&lt;br /&gt;
&lt;br /&gt;
  Canonical versus hosted versus other domains&lt;br /&gt;
  Local files versus network databases&lt;br /&gt;
  As simple as can be: shared domains, UNIX system accounts&lt;br /&gt;
  Postfix virtual ALIAS example: separate domains, UNIX system accounts&lt;br /&gt;
  Postfix virtual MAILBOX example: separate domains, non-UNIX accounts&lt;br /&gt;
  Non-Postfix mailbox store: separate domains, non-UNIX accounts&lt;br /&gt;
  Mail forwarding domains&lt;br /&gt;
  Mailing lists&lt;br /&gt;
  Autoreplies &lt;br /&gt;
&lt;br /&gt;
Canonical versus hosted versus other domains&lt;br /&gt;
&lt;br /&gt;
Most Postfix systems are the final destination for only a few domain names. These include the hostnames and [the IP addresses] of the machine that Postfix runs on, and sometimes also include the parent domain of the hostname. The remainder of this document will refer to these domains as the canonical domains. They are usually implemented with the Postfix local domain address class, as defined in the ADDRESS_CLASS_README file.&lt;br /&gt;
&lt;br /&gt;
Besides the canonical domains, Postfix can be configured to be the final destination for any number of additional domains. These domains are called hosted, because they are not directly associated with the name of the machine itself. Hosted domains are usually implemented with the virtual alias domain address class and/or with the virtual mailbox domain address class, as defined in the ADDRESS_CLASS_README file.&lt;br /&gt;
&lt;br /&gt;
But wait! There is more. Postfix can be configured as a backup MX host for other domains. In this case Postfix is not the final destination for those domains. It merely queues the mail when the primary MX host is down, and forwards the mail when the primary MX host becomes available. This function is implemented with the relay domain address class, as defined in the ADDRESS_CLASS_README file.&lt;br /&gt;
&lt;br /&gt;
Finally, Postfix can be configured as a transit host for sending mail across the internet. Obviously, Postfix is not the final destination for such mail. This function is available only for authorized clients and/or users, and is implemented by the default domain address class, as defined in the ADDRESS_CLASS_README file.&lt;br /&gt;
Local files versus network databases&lt;br /&gt;
&lt;br /&gt;
The examples in this text use table lookups from local files such as DBM or Berkeley DB. These are easy to debug with the postmap command:&lt;br /&gt;
&lt;br /&gt;
  Example: postmap -q info@example.com hash:/etc/postfix/virtual &lt;br /&gt;
&lt;br /&gt;
See the documentation in LDAP_README, MYSQL_README and PGSQL_README for how to replace local files by databases. The reader is strongly advised to make the system work with local files before migrating to network databases, and to use the postmap command to verify that network database lookups produce the exact same results as local file lookup.&lt;br /&gt;
&lt;br /&gt;
  Example: postmap -q info@example.com ldap:/etc/postfix/virtual.cf &lt;br /&gt;
&lt;br /&gt;
As simple as can be: shared domains, UNIX system accounts&lt;br /&gt;
&lt;br /&gt;
The simplest method to host an additional domain is to add the domain name to the domains listed in the Postfix mydestination configuration parameter, and to add the user names to the UNIX password file.&lt;br /&gt;
&lt;br /&gt;
This approach makes no distinction between canonical and hosted domains. Each username can receive mail in every domain.&lt;br /&gt;
&lt;br /&gt;
In the examples we will use &amp;quot;example.com&amp;quot; as the domain that is being hosted on the local Postfix machine.&lt;br /&gt;
&lt;br /&gt;
  /etc/postfix/main.cf:&lt;br /&gt;
    mydestination = $myhostname localhost.$mydomain ... example.com&lt;br /&gt;
&lt;br /&gt;
The limitations of this approach are:&lt;br /&gt;
&lt;br /&gt;
  A total lack of separation: mail for info@my.host.name is delivered to the same UNIX system account as mail for info@example.com.&lt;br /&gt;
  With users in the UNIX password file, administration of large numbers of users becomes inconvenient. &lt;br /&gt;
&lt;br /&gt;
The examples that follow provide solutions for both limitations.&lt;br /&gt;
Postfix virtual ALIAS example: separate domains, UNIX system accounts&lt;br /&gt;
&lt;br /&gt;
With the approach described in this section, every hosted domain can have its own info und weitere email address. However, it still uses UNIX system accounts for local mailbox deliveries.&lt;br /&gt;
&lt;br /&gt;
With virtual alias domains, each hosted address is aliased to a local UNIX system account or to a remote address. The example below shows how to use this mechanism for the example.com domain.&lt;br /&gt;
&lt;br /&gt;
   1 /etc/postfix/main.cf:&lt;br /&gt;
   2   virtual_alias_domains = example.com ...other hosted domains...&lt;br /&gt;
   3   virtual_alias_maps = hash:/etc/postfix/virtual&lt;br /&gt;
   4 &lt;br /&gt;
   5 /etc/postfix/virtual:&lt;br /&gt;
   6   postmaster@example.com postmaster&lt;br /&gt;
   7   info@example.com    joe&lt;br /&gt;
   8   sales@example.com   jane&lt;br /&gt;
   9   # Uncomment entry below to implement a catch-all address&lt;br /&gt;
  10   # @example.com     jim&lt;br /&gt;
  11   ...virtual aliases for more domains...&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
  Line 2: the virtual_alias_domains setting tells Postfix that example.com is a so-called virtual alias domain. If you omit this setting then Postfix will reject mail (relay access denied) or will not be able to deliver it (mail for example.com loops back to myself).&lt;br /&gt;
&lt;br /&gt;
  NEVER list a virtual alias domain name as a mydestination domain!&lt;br /&gt;
&lt;br /&gt;
  Lines 3-8: the /etc/postfix/virtual file contains the virtual aliases. With the example above, mail for postmaster@example.com goes to the local postmaster, while mail for info@example.com goes to the UNIX account joe, and mail for sales@example.com goes to the UNIX account jane. Mail for all other addresses in example.com is rejected with the error message &amp;quot;User unknown&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
  Line 10: the commented out entry (text after #) shows how one would implement a catch-all virtual alias that receives mail for every example.com address not listed in the virtual alias file. This is not without risk. Spammers nowadays try to send mail from (or mail to) every possible name that they can think of. A catch-all mailbox is likely to receive many spam messages, and many bounces for spam messages that were sent in the name of anything@example.com.&lt;br /&gt;
&lt;br /&gt;
Execute the command &amp;quot;postmap /etc/postfix/virtual&amp;quot; after changing the virtual file, and execute the command &amp;quot;postfix reload&amp;quot; after changing the main.cf file.&lt;br /&gt;
&lt;br /&gt;
Note: virtual aliases can resolve to a local address or to a remote address, or both. They don&#039;t have to resolve to UNIX system accounts on your machine.&lt;br /&gt;
&lt;br /&gt;
More details about the virtual alias file are given in the virtual(5) manual page, including multiple addresses on the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Virtual aliasing solves one problem: it allows each domain to have its own info mail address. But there still is one drawback: each virtual address is aliased to a UNIX system account. As you add more virtual addresses you also add more UNIX system accounts. The next section eliminates this problem.&lt;br /&gt;
Postfix virtual MAILBOX example: separate domains, non-UNIX accounts&lt;br /&gt;
&lt;br /&gt;
As a system hosts more and more domains and users, it becomes less desirable to give every user their own UNIX system account.&lt;br /&gt;
&lt;br /&gt;
With the Postfix virtual(8) mailbox delivery agent, every recipient address can have its own virtual mailbox. Unlike virtual alias domains, virtual mailbox domains do not need the clumsy translation from each recipient addresses into a different address, and owners of a virtual mailbox address do not need to have a UNIX system account.&lt;br /&gt;
&lt;br /&gt;
The Postfix virtual(8) mailbox delivery agent looks up the user mailbox pathname, uid and gid via separate tables that are searched with the recipient&#039;s mail address. Maildir style delivery is turned on by terminating the mailbox pathname with &amp;quot;/&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If you find the idea of multiple tables bothersome, remember that you can migrate the information (once it works), to an SQL database. If you take that route, be sure to review the &amp;quot;local files versus databases&amp;quot; section at the top of this document.&lt;br /&gt;
&lt;br /&gt;
Here is an example of a virtual mailbox domain &amp;quot;example.com&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
   1 /etc/postfix/main.cf:&lt;br /&gt;
   2   virtual_mailbox_domains = example.com ...more domains...&lt;br /&gt;
   3   virtual_mailbox_base = /var/mail/vhosts&lt;br /&gt;
   4   virtual_mailbox_maps = hash:/etc/postfix/vmailbox&lt;br /&gt;
   5   virtual_minimum_uid = 100&lt;br /&gt;
   6   virtual_uid_maps = static:5000&lt;br /&gt;
   7   virtual_gid_maps = static:5000&lt;br /&gt;
   8   virtual_alias_maps = hash:/etc/postfix/virtual&lt;br /&gt;
   9 &lt;br /&gt;
  10 /etc/postfix/vmailbox:&lt;br /&gt;
  11   info@example.com  example.com/info&lt;br /&gt;
  12   sales@example.com  example.com/sales/&lt;br /&gt;
  13   # Comment out the entry below to implement a catch-all.&lt;br /&gt;
  14   # @example.com   example.com/catchall&lt;br /&gt;
  15   ...virtual mailboxes for more domains...&lt;br /&gt;
  16 &lt;br /&gt;
  17 /etc/postfix/virtual:&lt;br /&gt;
  18   postmaster@example.com postmaster&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
  Line 2: The virtual_mailbox_domains setting tells Postfix that example.com is a so-called virtual mailbox domain. If you omit this setting then Postfix will reject mail (relay access denied) or will not be able to deliver it (mail for example.com loops back to myself).&lt;br /&gt;
&lt;br /&gt;
  NEVER list a virtual MAILBOX domain name as a mydestination domain!&lt;br /&gt;
&lt;br /&gt;
  NEVER list a virtual MAILBOX domain name as a virtual ALIAS domain!&lt;br /&gt;
&lt;br /&gt;
  Line 3: The virtual_mailbox_base parameter specifies a prefix for all virtual mailbox pathnames. This is a safety mechanism in case someone makes a mistake. It prevents mail from being delivered all over the file system.&lt;br /&gt;
&lt;br /&gt;
  Lines 4, 10-15: The virtual_mailbox_maps parameter specifies the lookup table with mailbox (or maildir) pathnames, indexed by the virtual mail address. In this example, mail for info@example.com goes to the mailbox at /var/mail/vhosts/example.com/info while mail for sales@example.com goes to the maildir located at /var/mail/vhosts/example.com/sales/.&lt;br /&gt;
&lt;br /&gt;
  Line 5: The virtual_minimum_uid specifies a lower bound on the mailbox or maildir owner&#039;s UID. This is a safety mechanism in case someone makes a mistake. It prevents mail from being written to sensitive files.&lt;br /&gt;
&lt;br /&gt;
  Lines 6, 7: The virtual_uid_maps and virtual_gid_maps parameters specify that all the virtual mailboxes are owned by a fixed uid and gid 5000. If this is not what you want, specify lookup tables that are searched by the recipient&#039;s mail address.&lt;br /&gt;
&lt;br /&gt;
  Line 14: The commented out entry (text after #) shows how one would implement a catch-all virtual mailbox address. Be prepared to receive a lot of spam, as well as bounced spam that was sent in the name of anything@example.com.&lt;br /&gt;
&lt;br /&gt;
  NEVER put a virtual MAILBOX wild-card in the virtual ALIAS file!!&lt;br /&gt;
&lt;br /&gt;
  Lines 8, 17, 18: As you see, it is possible to mix virtual aliases with virtual mailboxes. We use this feature to redirect mail for example.com&#039;s postmaster address to the local postmaster. You can use the same mechanism to redirect an address to a remote address.&lt;br /&gt;
&lt;br /&gt;
  Line 18: This example assumes that in main.cf, $myorigin is listed under the mydestination parameter setting. If that is not the case, specify an explicit domain name on the right-hand side of the virtual alias table entries or else mail will go to the wrong domain.&lt;br /&gt;
&lt;br /&gt;
Execute the command &amp;quot;postmap /etc/postfix/virtual&amp;quot; after changing the virtual file, execute &amp;quot;postmap /etc/postfix/vmailbox&amp;quot; after changing the vmailbox file, and execute the command &amp;quot;postfix reload&amp;quot; after changing the main.cf file.&lt;br /&gt;
&lt;br /&gt;
Note: mail delivery happens with the recipient&#039;s UID/GID privileges specified with virtual_uid_maps and virtual_gid_maps. Postfix 2.0 and earlier will not create mailDIRs in world-writable parent directories; you must create them in advance before you can use them. Postfix may be able to create mailBOX files by itself, depending on parent directory write permissions, but it is safer to create mailBOX files ahead of time.&lt;br /&gt;
&lt;br /&gt;
More details about the virtual mailbox delivery agent are given in the virtual(8) manual page.&lt;br /&gt;
Non-Postfix mailbox store: separate domains, non-UNIX accounts&lt;br /&gt;
&lt;br /&gt;
This is a variation on the Postfix virtual mailbox example. Again, every hosted address can have its own mailbox. However, most parameters that control the virtual(8) delivery agent are no longer applicable: only virtual_mailbox_domains and virtual_mailbox_maps stay in effect. These parameters are needed to reject mail for unknown recipients.&lt;br /&gt;
&lt;br /&gt;
While non-Postfix software is being used for final delivery, some Postfix concepts are still needed in order to glue everything together. For additional background on this glue you may want to take a look at the virtual mailbox domain class as defined in the ADDRESS_CLASS_README file.&lt;br /&gt;
&lt;br /&gt;
The text in this section describes what things should look like from Postfix&#039;s point of view. See CYRUS_README or MAILDROP_README for specific information about Cyrus or about Courier maildrop.&lt;br /&gt;
&lt;br /&gt;
Here is an example for a hosted domain example.com that delivers to a non-Postfix delivery agent:&lt;br /&gt;
&lt;br /&gt;
   1 /etc/postfix/main.cf:&lt;br /&gt;
   2   virtual_transport = ...see below...&lt;br /&gt;
   3   virtual_mailbox_domains = example.com ...more domains...&lt;br /&gt;
   4   virtual_mailbox_maps = hash:/etc/postfix/vmailbox&lt;br /&gt;
   5   virtual_alias_maps = hash:/etc/postfix/virtual&lt;br /&gt;
   6 &lt;br /&gt;
   7 /etc/postfix/vmailbox:&lt;br /&gt;
   8   info@example.com  whatever&lt;br /&gt;
   9   sales@example.com  whatever&lt;br /&gt;
  10   # Comment out the entry below to implement a catch-all.&lt;br /&gt;
  11   # Configure the mailbox store to accept all addresses.&lt;br /&gt;
  12   # @example.com   whatever&lt;br /&gt;
  13   ...virtual mailboxes for more domains...&lt;br /&gt;
  14 &lt;br /&gt;
  15 /etc/postfix/virtual:&lt;br /&gt;
  16   postmaster@example.com postmaster&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
  Line 2: With delivery to a non-Postfix mailbox store for hosted domains, the virtual_transport parameter usually specifies the Postfix LMTP client, or the name of a master.cf entry that executes non-Postfix software via the pipe delivery agent. Typical examples (use only one):&lt;br /&gt;
&lt;br /&gt;
    virtual_transport = lmtp:unix:/path/name (uses UNIX-domain socket)&lt;br /&gt;
    virtual_transport = lmtp:hostname:port  (uses TCP socket)&lt;br /&gt;
    virtual_transport = maildrop:      (uses pipe(8) to command)&lt;br /&gt;
&lt;br /&gt;
  Postfix comes ready with support for LMTP. And an example maildrop delivery method is already defined in the default Postfix master.cf file. See the MAILDROP_README document for more details.&lt;br /&gt;
&lt;br /&gt;
  Line 3: The virtual_mailbox_domains setting tells Postfix that example.com is delivered via the virtual_transport that was discussed in the previous paragraph. If you omit this virtual_mailbox_domains setting then Postfix will either reject mail (relay access denied) or will not be able to deliver it (mail for example.com loops back to myself).&lt;br /&gt;
&lt;br /&gt;
  NEVER list a virtual MAILBOX domain name as a mydestination domain!&lt;br /&gt;
&lt;br /&gt;
  NEVER list a virtual MAILBOX domain name as a virtual ALIAS domain!&lt;br /&gt;
&lt;br /&gt;
  Lines 4, 7-13: The virtual_mailbox_maps parameter specifies the lookup table with all valid recipient addresses. The lookup result value is ignored by Postfix. In the above example, info@example.com and sales@example.com are listed as valid addresses; other mail for example.com is rejected with &amp;quot;User unknown&amp;quot; by the Postfix SMTP server. It&#039;s left up to the non-Postfix delivery agent to reject non-existent recipients from local submission or from local alias expansion. If you intend to use LDAP, MySQL or PgSQL instead of local files, be sure to review the &amp;quot;local files versus databases&amp;quot; section at the top of this document!&lt;br /&gt;
&lt;br /&gt;
  Line 12: The commented out entry (text after #) shows how one would inform Postfix of the existence of a catch-all address. Again, the lookup result is ignored by Postfix.&lt;br /&gt;
&lt;br /&gt;
  NEVER put a virtual MAILBOX wild-card in the virtual ALIAS file!!&lt;br /&gt;
&lt;br /&gt;
  Note: if you specify a wildcard in virtual_mailbox_maps, then you still need to configure the non-Postfix mailbox store to receive mail for any address in that domain.&lt;br /&gt;
&lt;br /&gt;
  Lines 5, 15, 16: As you see above, it is possible to mix virtual aliases with virtual mailboxes. We use this feature to redirect mail for example.com&#039;s postmaster address to the local postmaster. You can use the same mechanism to redirect any addresses to a local or remote address.&lt;br /&gt;
&lt;br /&gt;
  Line 16: This example assumes that in main.cf, $myorigin is listed under the mydestination parameter setting. If that is not the case, specify an explicit domain name on the right-hand side of the virtual alias table entries or else mail will go to the wrong domain.&lt;br /&gt;
&lt;br /&gt;
Execute the command &amp;quot;postmap /etc/postfix/virtual&amp;quot; after changing the virtual file, execute &amp;quot;postmap /etc/postfix/vmailbox&amp;quot; after changing the vmailbox file, and execute the command &amp;quot;postfix reload&amp;quot; after changing the main.cf file.&lt;br /&gt;
Mail forwarding domains&lt;br /&gt;
&lt;br /&gt;
Some providers host domains that have no (or only a few) local mailboxes. The main purpose of these domains is to forward mail elsewhere. The following example shows how to set up example.com as a mail forwarding domain:&lt;br /&gt;
&lt;br /&gt;
   1 /etc/postfix/main.cf:&lt;br /&gt;
   2   virtual_alias_domains = example.com ...other hosted domains...&lt;br /&gt;
   3   virtual_alias_maps = hash:/etc/postfix/virtual&lt;br /&gt;
   4 &lt;br /&gt;
   5 /etc/postfix/virtual:&lt;br /&gt;
   6   postmaster@example.com postmaster&lt;br /&gt;
   7   joe@example.com    joe@somewhere&lt;br /&gt;
   8   jane@example.com    jane@somewhere-else&lt;br /&gt;
   9   # Uncomment entry below to implement a catch-all address&lt;br /&gt;
  10   # @example.com     jim@yet-another-site&lt;br /&gt;
  11   ...virtual aliases for more domains...&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
  Line 2: The virtual_alias_domains setting tells Postfix that example.com is a so-called virtual alias domain. If you omit this setting then Postfix will reject mail (relay access denied) or will not be able to deliver it (mail for example.com loops back to myself).&lt;br /&gt;
&lt;br /&gt;
  NEVER list a virtual alias domain name as a mydestination domain!&lt;br /&gt;
&lt;br /&gt;
  Lines 3-11: The /etc/postfix/virtual file contains the virtual aliases. With the example above, mail for postmaster@example.com goes to the local postmaster, while mail for joe@example.com goes to the remote address joe@somewhere, and mail for jane@example.com goes to the remote address jane@somewhere-else. Mail for all other addresses in example.com is rejected with the error message &amp;quot;User unknown&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
  Line 10: The commented out entry (text after #) shows how one would implement a catch-all virtual alias that receives mail for every example.com address not listed in the virtual alias file. This is not without risk. Spammers nowadays try to send mail from (or mail to) every possible name that they can think of. A catch-all mailbox is likely to receive many spam messages, and many bounces for spam messages that were sent in the name of anything@example.com.&lt;br /&gt;
&lt;br /&gt;
Execute the command &amp;quot;postmap /etc/postfix/virtual&amp;quot; after changing the virtual file, and execute the command &amp;quot;postfix reload&amp;quot; after changing the main.cf file.&lt;br /&gt;
&lt;br /&gt;
More details about the virtual alias file are given in the virtual(5) manual page, including multiple addresses on the right-hand side.&lt;br /&gt;
Mailing lists&lt;br /&gt;
&lt;br /&gt;
The examples that were given above already show how to direct mail for virtual postmaster addresses to a local postmaster. You can use the same method to direct mail for any address to a local or remote address.&lt;br /&gt;
&lt;br /&gt;
There is one major limitation: virtual aliases and virtual mailboxes can&#039;t directly deliver to mailing list managers such as majordomo. The solution is to set up virtual aliases that direct virtual addresses to the local delivery agent:&lt;br /&gt;
&lt;br /&gt;
  /etc/postfix/main.cf:&lt;br /&gt;
    virtual_alias_maps = hash:/etc/postfix/virtual&lt;br /&gt;
&lt;br /&gt;
  /etc/postfix/virtual:&lt;br /&gt;
    listname-request@example.com listname-request&lt;br /&gt;
    listname@example.com     listname&lt;br /&gt;
    owner-listname@example.com  owner-listname&lt;br /&gt;
&lt;br /&gt;
  /etc/aliases:&lt;br /&gt;
    listname: &amp;quot;|/some/where/majordomo/wrapper ...&amp;quot;&lt;br /&gt;
    owner-listname: ...&lt;br /&gt;
    listname-request: ...&lt;br /&gt;
&lt;br /&gt;
This example assumes that in main.cf, $myorigin is listed under the mydestination parameter setting. If that is not the case, specify an explicit domain name on the right-hand side of the virtual alias table entries or else mail will go to the wrong domain.&lt;br /&gt;
&lt;br /&gt;
More information about the Postfix local delivery agent can be found in the local(8) manual page.&lt;br /&gt;
&lt;br /&gt;
Why does this example use a clumsy virtual alias instead of a more elegant transport mapping? The reason is that mail for the virtual mailing list would be rejected with &amp;quot;User unknown&amp;quot;. In order to make the transport mapping work one would still need a bunch of virtual alias or virtual mailbox table entries.&lt;br /&gt;
&lt;br /&gt;
  In case of a virtual alias domain, there would need to be one identity mapping from each mailing list address to itself.&lt;br /&gt;
  In case of a virtual mailbox domain, there would need to be a dummy mailbox for each mailing list address. &lt;br /&gt;
&lt;br /&gt;
Autoreplies&lt;br /&gt;
&lt;br /&gt;
In order to set up an autoreply for virtual recipients while still delivering mail as normal, set up a rule in a virtual alias table:&lt;br /&gt;
&lt;br /&gt;
  /etc/postfix/main.cf:&lt;br /&gt;
    virtual_alias_maps = hash:/etc/postfix/virtual&lt;br /&gt;
&lt;br /&gt;
  /etc/postfix/virtual:&lt;br /&gt;
    user@domain.tld user@domain.tld, user@domain.tld@autoreply.mydomain.tld&lt;br /&gt;
&lt;br /&gt;
This delivers mail to the recipient, and sends a copy of the mail to the address that produces automatic replies. The address can be serviced on a different machine, or it can be serviced locally by setting up a transport map entry that pipes all mail for autoreply.mydomain.tld into some script that sends an automatic reply back to the sender.&lt;br /&gt;
&lt;br /&gt;
DO NOT list autoreply.mydomain.tld in mydestination!&lt;br /&gt;
&lt;br /&gt;
  /etc/postfix/main.cf:&lt;br /&gt;
    transport_maps = hash:/etc/postfix/transport&lt;br /&gt;
&lt;br /&gt;
  /etc/postfix/transport:&lt;br /&gt;
    autoreply.mydomain.tld autoreply:&lt;br /&gt;
&lt;br /&gt;
  /etc/postfix/master.cf:&lt;br /&gt;
    # =============================================================&lt;br /&gt;
    # service type private unpriv chroot wakeup maxproc command&lt;br /&gt;
    #        (yes)  (yes)  (yes)  (never) (100)&lt;br /&gt;
    # =============================================================&lt;br /&gt;
    autoreply unix -    n    n    -    -    pipe&lt;br /&gt;
      flags= user=nobody argv=/path/to/autoreply $sender $mailbox&lt;br /&gt;
&lt;br /&gt;
This invokes /path/to/autoreply with the sender address and the user@domain.tld recipient address on the command line.&lt;br /&gt;
&lt;br /&gt;
For more information, see the pipe(8) manual page, and the comments in the Postfix master.cf file.&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=Readlink&amp;diff=167928</id>
		<title>Readlink</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=Readlink&amp;diff=167928"/>
		<updated>2026-06-17T08:40:45Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: Textersetzung - „ )“ durch „)“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:readlink}}&lt;br /&gt;
&#039;&#039;&#039;readlink&#039;&#039;&#039; - Aufgelöste symbolische Links oder kanonische Dateinamen ausgeben&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
Den Wert eines symbolischen Links oder den kanonischen Dateinamen ausgeben&lt;br /&gt;
&lt;br /&gt;
===Modi===&lt;br /&gt;
; Readlink-Modus&lt;br /&gt;
* Gibt Wert der gegebenen symbolischen Links aus&lt;br /&gt;
* Ist das Argument kein symbolischer Link, wird keine Ausgabe erzeugt und ein [[Exit-Code]] ungleich Null erzeugt&lt;br /&gt;
&lt;br /&gt;
; Kanonischer Modus&lt;br /&gt;
* Gibt absoluten Namen der angegebenen Dateien aus&lt;br /&gt;
** ohne . , .. , wiederholte Trennzeichen (/) oder symbolische Links&lt;br /&gt;
* [[realpath]](1) ist der bevorzugte Befehl zur Funktionalität für die Kanonisierung &lt;br /&gt;
&lt;br /&gt;
Standardmäßig, arbeitet readlink im Readlink-Modus.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
== Anwendung ==&lt;br /&gt;
== Aufruf ==&lt;br /&gt;
 $ readlink [OPTION]… DATEI…&lt;br /&gt;
=== Optionen ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Unix !! GNU !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| -f || --canonicalize || Kanonisieren, indem jedem symbolischen Link in jeder Komponente des gegebenen Namens rekursiv gefolgt wird; alle außer der letzten Komponente müssen existieren&lt;br /&gt;
|-&lt;br /&gt;
| -e || --canonicalize&amp;amp;#8209;existing || Kanonisieren, indem jedem symbolischen Link in jeder Komponente des gegebenen Namens rekursiv gefolgt wird; alle Komponenten müssen existieren&lt;br /&gt;
|-&lt;br /&gt;
| -m || --canonicalize&amp;amp;#8209;missing || Kanonisieren, indem jedem symbolischen Link in jeder Komponente des gegebenen Namens rekursiv gefolgt wird; ohne Anforderung an Existenz der Komponenten&lt;br /&gt;
|-&lt;br /&gt;
| -n || --no-newline || Keinen abschließenden Trenner ausgeben&lt;br /&gt;
|-&lt;br /&gt;
| -q || --quiet || &lt;br /&gt;
|-&lt;br /&gt;
| -s || --silent || Die meisten Fehlermeldungen unterdrücken (Voreinstellung)&lt;br /&gt;
|-&lt;br /&gt;
| -v || --verbose || Fehlermeldungen ausgeben&lt;br /&gt;
|-&lt;br /&gt;
| -z || --zero || Jede Ausgabezeile mit einem Nullbyte statt des Zeilenumbruchs abschließen&lt;br /&gt;
|-&lt;br /&gt;
| || --help || zeigt Hilfeinformationen an und beendet das Programm.&lt;br /&gt;
|-&lt;br /&gt;
| || --version || gibt Versionsinformationen aus und beendet das Programm.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Argumente ===&lt;br /&gt;
=== Umgebung ===&lt;br /&gt;
=== Rückgabewert ===&lt;br /&gt;
== Konfiguration ==&lt;br /&gt;
=== Dateien ===&lt;br /&gt;
== Sicherheit ==&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
* Vollständige Dokumentation unter: &amp;lt;https://www.gnu.org/software/coreutils/readlink&amp;gt;&lt;br /&gt;
* lokal verfügbar mit: info &#039;(coreutils) readlink invocation&#039;&lt;br /&gt;
=== RFC ===&lt;br /&gt;
=== Man-Page ===&lt;br /&gt;
=== Info-Pages ===&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
# [[readlink(2)]]&lt;br /&gt;
# [[realpath]](1)&lt;br /&gt;
# [[realpath(3)]]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
=== Projekt-Homepage ===&lt;br /&gt;
=== Weblinks ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Coreutils]]&lt;br /&gt;
[[Kategorie:Linux/Befehl]]&lt;br /&gt;
{{DEFAULTSORT:readlink}}&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=Dpkg-reconfigure&amp;diff=167927</id>
		<title>Dpkg-reconfigure</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=Dpkg-reconfigure&amp;diff=167927"/>
		<updated>2026-06-17T08:40:45Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: Textersetzung - „ )“ durch „)“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:dpkg-reconfigure}}&lt;br /&gt;
{{DISPLAYTITLE:dpkg-reconfigure}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dpkg-reconfigure&#039;&#039;&#039; - rekonfiguriere ein bereits installiertes Paket&lt;br /&gt;
&lt;br /&gt;
= Beschreibung =&lt;br /&gt;
* dpkg-reconfigure konfiguriert Pakete erneut, nachdem sie bereits installiert wurden.&lt;br /&gt;
* Übergeben Sie ihm den oder die Namen des oder der Pakete, die erneut konfiguriert werden sollen. &lt;br /&gt;
* Es stellt dann Konfigurationsfragen, so ähnlich wie bei der Installation des Pakets.&lt;br /&gt;
* Falls Sie nur die aktuelle Konfiguration eines Paketes anschauen wollen, lesen Sie stattdessen [[debconf-show]](1).&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
= Syntax =&lt;br /&gt;
 # &#039;&#039;&#039;dpkg-reconfigure [Optionen] Pakete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Argumente ==&lt;br /&gt;
Pakete&lt;br /&gt;
&lt;br /&gt;
== Optionen ==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; &lt;br /&gt;
|- &lt;br /&gt;
! Unix !! GNU !! Beschreibung&lt;br /&gt;
|- &lt;br /&gt;
| -fTyp || --frontend=Typ || Wählt die zu benutzende Benutzerschnittstelle. Die standardmäßige Schnittstelle kann durch das Folgende dauerhaft geändert werden: dpkg-reconfigure debconf. Beachten Sie, dass, falls Sie normalerweise Debconf die nicht-interaktive Schnittstelle benutzen lassen, dpkg-reconfigure hier stattdessen die Benutzerschnittstelle Dialog benutzt, so dass Sie tatsächlich dazu kommen, das Paket erneut zu konfigurieren.&lt;br /&gt;
|-&lt;br /&gt;
| -pWert || --priority=Wert || Gibt die Schwell-Priorität für Fragen an, die angezeigt werden sollen. dpkg-reconfigure zeigt normalerweise Fragen mit niedriger Priorität an, egal was Ihre voreingestellte Priorität ist. Siehe debconf(7) für eine Liste.&lt;br /&gt;
|-&lt;br /&gt;
| || --default-priority || Benutze was immer die voreingestellte Priorität für Fragen ist, statt die niedrige Priorität (low) zu erzwingen.&lt;br /&gt;
|-&lt;br /&gt;
| -u || --unseen-only || Standardmäßig werden alle Fragen angezeigt, selbst wenn sie schon beantwortet wurden. Falls dieser Parameter aber gesetzt ist, werden nur die Fragen gestellt, die noch nicht gesehen wurden.&lt;br /&gt;
|-&lt;br /&gt;
| || --force || Zwinge dpkg-reconfigure ein Paket erneut zu konfigurieren, selbst wenn es in einem inkonsistenten oder defekten Zustand ist. Mit Vorsicht zu benutzen.&lt;br /&gt;
|-&lt;br /&gt;
| || --no-reload || Vermeidet, dass dpkg-reconfigure Vorlagen erneut lädt. Mit Vorsicht zu benutzen; dies vermeidet, dass dpkg-reconfigure defekte Vorlage-Datenbanken repariert. Es kann aber in eingeschränkten Umgebungen nützlich sein, wo das erneute Schreiben der Vorlage-Datenbank teuer ist.&lt;br /&gt;
|-&lt;br /&gt;
| -h || --help || Zeige Hilfe zur Benutzung an.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Umgebung ==&lt;br /&gt;
== Rückgabewert ==&lt;br /&gt;
&lt;br /&gt;
= Konfiguration =&lt;br /&gt;
== Dateien ==&lt;br /&gt;
&lt;br /&gt;
= Anwendung =&lt;br /&gt;
= Sicherheit =&lt;br /&gt;
= Dokumentation =&lt;br /&gt;
== Man-Page ==&lt;br /&gt;
== Info-Pages ==&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
# [[debconf]](7)&lt;br /&gt;
# [[debconf-show]](1).&lt;br /&gt;
{{DEFAULTSORT:dpkg-reconfigure}}&lt;br /&gt;
[[Kategorie:dpkg]]&lt;br /&gt;
{{DEFAULTSORT:dpkg-reconfigure}}&lt;br /&gt;
&lt;br /&gt;
= TMP =&lt;br /&gt;
=== dpkg-reconfigure ===&lt;br /&gt;
Mit diesem Kommando können Pakete neu konfiguriert werden, die &amp;quot;debconf&amp;quot; (siehe [https://debconf.html/ debconf]) zur Verwaltung der Konfigurationsdateien nutzen (dies sollte mittlerweile für den Großteil der Pakete der Fall sein)&lt;br /&gt;
* Hierzu ist neben dem Aufruf des Programmes nur noch der Paketname anzugeben&lt;br /&gt;
&lt;br /&gt;
Ein dpkg-reconfigure debconf konfiguriert debconf selbst neu&lt;br /&gt;
* Hierbei kann zwischen verschiedenen interaktiven und vollautomatischen Modi gewählt werden&lt;br /&gt;
&lt;br /&gt;
Welche bereits installierten Pakete sich mit diesem Kommando neu konfigurieren lassen, ermittelt das Programm [https://configure-debian.html/ configure-debian ]&lt;br /&gt;
&lt;br /&gt;
{{Special:PrefixIndex/dpkg}}&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=Xargs/Anwendung&amp;diff=167925</id>
		<title>Xargs/Anwendung</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=Xargs/Anwendung&amp;diff=167925"/>
		<updated>2026-06-17T08:40:44Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: Textersetzung - „ )“ durch „)“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Dateinamen mit Leerzeichen ===&lt;br /&gt;
; Üblicher Weise enthält der [[IFS]] das Leerzeichen, daher bricht &#039;&#039;xargs &#039;&#039;die Dateinamen dort auseinander&lt;br /&gt;
Dem ist abzuhelfen, wenn man die GNU-Version der benutzten Tools (find und xargs) verwendet&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;find(1)&#039;&#039; gibt man bekannt, er möge mit ASCII-NUL beendete Zeichenketten ausgeben, und xargs, er möge solche erwarten&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
 find / -user toelpel -print0 | xargs -0 rm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Eingabedatei als Parameter ===&lt;br /&gt;
Sollen die Dateien verschoben werden, erwartet mv die Quelldateien als erstes, das Zielverzeichnis als letztes Argument&lt;br /&gt;
* Dieses Problem löst man bei &#039;&#039;xargs(1)&#039;&#039; genauso wie bei&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
find / -user toelpel -print0 | xargs -0 mv {} /tmp/toelpel-trash&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Zeichenkombination &amp;quot;{}&amp;quot; zeigt dem &#039;&#039;xargs(1)&#039;&#039;, an welcher Stelle er die Argumentliste für das Kommando einzufügen hat&lt;br /&gt;
&lt;br /&gt;
=== Beispiele===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
find /tmp -name core -type f -print | xargs /bin/rm -f&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finde Dateien mit dem Namen core in oder unterhalb des Verzeichnisses /tmp und lösche diese&lt;br /&gt;
* Achtung, diese Aktion schlägt fehl falls die Dateinamen Zeilenvorschübe, einfache oder doppelte Anführungszeichen oder Leerzeichen enthalten&lt;br /&gt;
* Mit folgendem Befehl werden alle Dateien aus dem aktuellen Verzeichnis entfernt, die auf das Muster &#039;&#039;&#039;*.tmp&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; passen&lt;br /&gt;
* Dabei werden Dateien, deren Namen Leerzeichen enthalten ebenfalls berücksichtigt: find . -name &amp;quot;*.tmp&amp;quot; -print0 | xargs -0 rm&lt;br /&gt;
* Als nächstes eine Anwendung mit der Ersatz-Zeichenkette {}&lt;br /&gt;
* Alle Dateien des Benutzers mit der uid 1001 werden nach &#039;&#039;&#039;/tmp/klaus/test&#039;&#039;&#039; verschoben&lt;br /&gt;
&lt;br /&gt;
; Achtung&lt;br /&gt;
* Die Verzeichnisstruktur wird dabei nicht wieder hergestellt&lt;br /&gt;
* Die Dateien landen wirklich alle in &#039;&#039;&#039;/tmp/klaus/test&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
 find . -uid 1001 -print | xargs -i mv {} /tmp/klaus/test&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Wenn man eine Datei &#039;&#039;&#039;software.list&#039;&#039;&#039; mit den Namen von Paketen hat, die sich im Verzeichnis &#039;&#039;&#039;~/installation/&#039;&#039;&#039; befindet und die wie folgt aufgebaut ist alltray audacity avidemux azureus compizconfig-settings-manager&lt;br /&gt;
* kann man mit xargs -a ~/installation/software.list sudo apt-get install&lt;br /&gt;
* die Pakete komfortabel alle auf einmal installieren&lt;br /&gt;
* Dabei werden bereits installierte Pakete übersprungen&lt;br /&gt;
* Möchte man mehrere Dateien herunterladen, aber die Geschwindigkeit der Server lastet die eigene Internetverbindung nicht aus, so kann man mit xargs einfach mehrere Instanzen benutzen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
xargs -a downloadlist -n 1 -P 4 wget&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Dieser Befehl übergibt jeweils eine URL aus der Datei &#039;&#039;&#039;downloadlist&#039;&#039;&#039; an wget&lt;br /&gt;
* Dabei wird wget vier mal jeweils mit einer anderen Datei gestartet&lt;br /&gt;
* So werden vier Dateien auf einmal heruntergeladen und die Internetverbindung optimal ausgenutzt&lt;br /&gt;
&lt;br /&gt;
=== Weitere Möglichkeiten ===&lt;br /&gt;
This command is equivalent to using &#039;&#039;find&#039;&#039; with &#039;&#039;xargs&#039;&#039;, only a bit shorter and more efficient&lt;br /&gt;
* But this form of &#039;&#039;‑exec&#039;&#039; can be combined with a shell feature to solve the other problem (names with spaces)&lt;br /&gt;
* The POSIX shell allows us to use: sh -c &#039;&#039;&#039;command-line&#039;&#039;&#039; [ &#039;&#039;command-name&#039;&#039; [ &#039;&#039;args&#039;&#039;... ] ]&lt;br /&gt;
* We don&#039;t usually care about the &#039;&#039;command-name&#039;&#039;, so &amp;quot;X&amp;quot;, &amp;quot;dummy&amp;quot;, &amp;quot;&amp;quot;, or &amp;quot;&#039;inline cmd&#039;&amp;quot; is often used&lt;br /&gt;
&lt;br /&gt;
Here&#039;s an example of efficiently copying found files to &#039;&#039;/tmp&#039;&#039;, in a POSIX-compliant way&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
 find . -name &#039;*.txt&#039; -type f \ -exec sh -c &#039;exec cp -f &amp;quot;$@&amp;quot; /tmp&#039; X &#039;{}&#039; +&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Obvious, simple, and readable, isn&#039;t it? Perhaps not, but worth knowing since it is safe, portable, and efficient&lt;br /&gt;
&lt;br /&gt;
=== Beispiel 1 ===&lt;br /&gt;
Wo in meinem Homeordner liegt die Datei &amp;quot;test.pdf&amp;quot;? find ~ -name test.pdf&lt;br /&gt;
* Ihr habt vor ein paar Minuten eilig etwas gespeichert, habt aber den Namen der Datei und den Pfad sofort vergessen&lt;br /&gt;
* Irgendwo in eurem Homeordner, irgendein Name, vor ein paar Minuten&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
find ~ -type f ! -path &#039;*/.*&#039; -mmin -10 -ls&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Optionen im Einzelnen&lt;br /&gt;
* ~ -- rekursiv in meinem Homeordner&lt;br /&gt;
* -type f -- eine Datei (kein Ordner...)&lt;br /&gt;
* ! -path &#039;*/.*&#039; -- ohne Dateien oder Ordner, die mit Punkt beginnen&lt;br /&gt;
* -mmin -10 -- nicht älter als 10 Minuten&lt;br /&gt;
* -ls -- lange Anzeige (wie ls -l)&lt;br /&gt;
* Variante: mit Dotfiles, nicht aber Ordner, die mit Punkt beginnen (also ohne .gnome/ oder .kde/ und so weiter, aber mit .bash_history)&lt;br /&gt;
&lt;br /&gt;
Und zwar alle Dateien, die nicht älter als zwei Tage sind&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
find ~ ! -path &#039;*/.*/*&#039; -type f -ctime -2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Homeordner alle Dateien finden, deren Namen Leerzeichen enthalten&lt;br /&gt;
&lt;br /&gt;
Wieder ohne Dateien oder Ordner, die mit Punkt beginnen&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
 find $HOME ! -path &#039;*/.*&#039; -type f -name &#039;* *&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$HOME -- ist gleichbedeutend mit ~ * -name &#039;* *&#039; -- Name enthält mindestens ein Leerzeichen&lt;br /&gt;
* Ganz ähnlich, aber diesmal wird nach Ordnern gesucht: find $HOME ! -path &#039;*/.*&#039; -type d -name &#039;* *&#039; -type d -- Ordner (type directory)&lt;br /&gt;
* Im Ordner public_html alle HTML und PHP Dateien ausfindig machen, in denen &amp;quot;.mp3&amp;quot; erwähnt wird&lt;br /&gt;
* Nur die Dateinamen ausgeben&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
find ~/public_html \(-name \*.html -o -name \*.php \) | xargs grep -l &#039;.mp3&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zu beachten: () * müssen vor der Bash versteckt, also mit Backslash escaped werden&lt;br /&gt;
* Andere Methode (-exec statt xargs), gleiches Ergebnis&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
find ~/public_html \(-name \*.html -o -name \*.php \) -exec grep -l &#039;.mp3&#039; &#039;{}&#039; \+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zu beachten: -exec mit&#039;&#039;&#039; \+&#039;&#039;&#039; abschließen statt mit &#039;&#039;&#039;\; &#039;&#039;&#039;beschleunigt das Abarbeiten ungemein, weil dann mehrere grep Prozesse parallel gestartet werden (vgl. xargs)&lt;br /&gt;
* Setzt eine halbwegs aktuelle Version von find voraus&lt;br /&gt;
* Hoppla, da sind auch Dateien mit Leerzeichen im Namen dabei? Kein Problem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
find ~/public_html \(-name \*.html -o -name \*.php \) -print0 | xargs -0 grep -l &#039;.mp3&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* finds Option -print0 erzeugt die richtige Ausgabe für xargs Option -0&lt;br /&gt;
* Anderer Einsatzzweck: Plattenplatz wird knapp, wo sind die großen Dateien?&lt;br /&gt;
* Also zum Beispiel: in meinem Homeordner alle Dateien, die größer als 500MB sind&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
find ~ -size +500M&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Alle Dateien/Ordner in meinem Homeordner finden, die nicht mir gehören: find ~ ! -user $(whoami) -ls&lt;br /&gt;
* Alle Dateien/Ordner in meinem Homeordner, die root gehören: find ~ -user root&lt;br /&gt;
* Alle Dateien/Ordner in meinem Homeordner, die die Rechte auf 777 gesetzt haben,&lt;br /&gt;
* also Lese/Schreib/Ausführrechte für alle haben, lange Ausgabe wie &amp;quot;ls -l&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
find ~ -perm 777 -ls&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Welche Art von Dateien (Mimetype) liegen im Ordner Documents, mit Rücksicht auf Dateien mit Leerzeichen im Namen, nur in diesem Ordner, keine Unterordner&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
find ~/Documents/ -maxdepth 1 -type f -print0 | xargs -0 file&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Find sucht immer rekursiv, es sei denn, man schränkt mit &amp;quot;-maxdepth&amp;quot; die Tiefe ein&lt;br /&gt;
* Die Liste ließe sich beliebig fortsetzen&lt;br /&gt;
* Wie vielseitig find ist, zeigt sich schon an der Länge der manpage&lt;br /&gt;
* Find findet nach Name, Regular expression, Größe, Datum, Dateityp,&lt;br /&gt;
* und so weiter und läßt sich mit &amp;quot;-exec&amp;quot; und der Pipe für &amp;quot;xargs&amp;quot; zu beinahe allem verwenden, was nur auf bestimmte Dateien/Ordner angewandt werden soll&lt;br /&gt;
* Darum wird das Kommando in vielen Shellskripten verwendet&lt;br /&gt;
&lt;br /&gt;
=== Beispiel 2 ===&lt;br /&gt;
Dateien im aktuellen Ordner und Unterordnern finden, deren Namen einem bestimmen Muster entsprechen&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
find . -name &amp;quot;*.jpg&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dateien finden, deren Namen nicht einem bestimmten Muster entsprechen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
find . \! -name &amp;quot;*.jpg&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dateien finden, deren Namen einem bestimmten Muster entsprechen und die einen bestimmten Text enthalten&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
find . -name &amp;quot;*.php&amp;quot; -exec grep -il &amp;quot;suchtext&amp;quot; {} \;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dateien finden, die bestimmte Datei-Endungen haben (Mit Regular-Expressions finden)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
find . -regex &amp;quot;.*(php|html|tpl)$&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Große Dateien finden (Dateien finden, die größer als ca. 500 MB sind)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
find . -type f -size +500000k -exec ls -lh {} \;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dateien finden, deren Pfade einem bestimmten Pattern entsprechen&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
find . -path &amp;quot;*/.svn*&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dateien finden, deren Pfade nicht einem bestimmten Pattern entsprechen&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
find . \! -path &amp;quot;*/.svn*&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dateien finden, die nicht einem bestimmten User (nicht root) gehören&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
find . \! -user root&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dateien finden, die &amp;quot;oo&amp;quot; oder &amp;quot;ee&amp;quot; im Namen haben&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
find . \(-name &amp;quot;*oo*&amp;quot; -or -name &amp;quot;*ee*&amp;quot; \)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dateien finden, die nicht &amp;quot;oo&amp;quot; oder &amp;quot;ee&amp;quot; im Namen haben&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
find . \! \(-name &amp;quot;*oo*&amp;quot; -or -name &amp;quot;*ee*&amp;quot; \)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Geht nicht mit find (GNU findutils) 4.4.2: &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
find . -regex &amp;quot;.*(php|html|tpl)$&amp;quot;&#039;&#039;&#039; mkdir /tmp/tst cd /tmp/tst mkdir -p 1/2/3 mkdir -p 4/5/6 touch la.php touch 1/2/uu.tpl touch 4/lala.html touch 4/5/6/eee.php touch 4/5/oooooo&#039; find . -regex &amp;quot;.*(php|html|tpl)$&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keine Ausgabe&lt;br /&gt;
&lt;br /&gt;
=== Beispiel 3 ===&lt;br /&gt;
Angenommen, Sie möchten eine Liste der Verzeichnisse in &#039;&#039;/usr/share&#039;&#039; erhalten, dann tippen Sie: find /usr/share -type d&lt;br /&gt;
* Angenommen, Sie haben einen HTTP-Server und alle Ihre HTML-Dateien befinden sich in &#039;&#039;/home/httpd/html&#039;&#039;, wo Sie sich auch gerade befinden&lt;br /&gt;
* Sie möchten eine Liste aller Dateien, deren Inhalt seit einem Monat nicht verändert worden ist&lt;br /&gt;
* Da die Seiten von verschiedenen Schreibern stammen, enden einige auf &#039;&#039;html&#039;&#039; und einige auf &#039;&#039;htm&#039;&#039;&lt;br /&gt;
* Sie möchten diese Dateien in das Verzeichnis &#039;&#039;/home/httpd/obsolete&#039;&#039; verknüpfen&lt;br /&gt;
* Geben Sie folgendes ein:[https://www.murnauer.de/mandrakeref/command-find.html#FTN.AEN4397 []&lt;br /&gt;
&lt;br /&gt;
* Denken Sie daran, dass in diesem Beispiel beide Verzeichnisse auf dem selben Dateisystem sein müssen!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
 find \(-name &amp;quot;*.htm&amp;quot; -o -name &amp;quot;*.html&amp;quot; \) -a -ctime -30 -exec ln {} /home/httpd/obsolete \;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Gut, das hier ist etwas komplex und verlangt nach Erklärung&lt;br /&gt;
* Das Suchkriterium ist Folgendes: \(-name &amp;quot;*.htm&amp;quot; -o -name &amp;quot;*.html&amp;quot; \) -a -ctime -30&lt;br /&gt;
* Es findet alle Dateien, die entweder auf &#039;&#039;.htm&#039;&#039; oder auf &#039;&#039;.html&#039;&#039; enden (&#039;&#039;(-name &amp;quot;*.htm&amp;quot; -o -name &amp;quot;*.html&amp;quot;)&#039;&#039;) und (&#039;&#039;-a&#039;&#039;) die in den letzten 30 Tagen nicht modifiziert wurden (&#039;&#039;-ctime -30&#039;&#039;)&lt;br /&gt;
* Beachten Sie die Klammern, die hier notwendig sind, da &#039;&#039;-a&#039;&#039; eine höhere Wertigkeit hat&lt;br /&gt;
* Ließen Sie sie weg, würde das Kommando alle Dateien mit der Endung &#039;&#039;.htm&#039;&#039; finden sowie die Dateien, die auf &#039;&#039;.html&#039;&#039; enden und seit einem Monat nicht modifiziert wurden&lt;br /&gt;
* Beachten Sie auch, dass die Klammern vor der Shell geschützt wurden&lt;br /&gt;
* Gäben Sie &#039;&#039;(..)&#039;&#039; anstelle von &#039;&#039;\(.. \)&#039;&#039; ein, würde die Shell versuchen, diese zu interpretieren und das Kommando &#039;&#039;-name &amp;quot;*.htm&amp;quot; -o -name &amp;quot;*.html&amp;quot;&#039;&#039; in einer Sub-Shell auszuführen&lt;br /&gt;
* Sie können diesen Schutz übrigens auch durch Anführungszeichen erreichen&lt;br /&gt;
* Und schließlich das Kommando, das für jede gefundene Datei ausgeführt wird: -exec ln {} /home/httpd/obsolete \;&lt;br /&gt;
* Auch hier müssen Sie das &#039;&#039;;&amp;lt;/nowiki&amp;gt;&#039;&#039; vor der Shell schützen, da diese es sonst als Kommandoseparator interpretiert und find sich beschweren wird, dass &#039;&#039;-exec&#039;&#039; ein Argument fehlt&lt;br /&gt;
&lt;br /&gt;
; Ein letztes Beispiel&lt;br /&gt;
* Sie haben ein großes Verzeichnis mit allen möglichen Bilddateien: &#039;&#039;/shared/images&#039;&#039;&lt;br /&gt;
* Normalerweise benutzen Sie touch, um den Zeitstempel einer Datei namens &#039;&#039;stamp&#039;&#039; in diesem Verzeichnis aufzufrischen, um eine Zeitreferenz zu haben&lt;br /&gt;
* Sie wollen eine Liste aller JPEG-Dateien, die jünger als die Datei &#039;&#039;stamp&#039;&#039; sind&lt;br /&gt;
* Da Sie die Dateien von verschiedenen Quellen haben, haben Sie die Endungen &#039;&#039;jpg&#039;&#039;, &#039;&#039;jpeg&#039;&#039;, &#039;&#039;JPG&#039;&#039; oder &#039;&#039;JPEG&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sie möchten nicht im Verzeichnis &#039;&#039;old&#039;&#039; suchen, Sie möchten diese Liste zugeschickt bekommen und Ihr Benutzername ist &#039;&#039;john&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;1&amp;quot; line copy&amp;gt;&lt;br /&gt;
find /shared/images -cnewer \ /shared/images/stamp \ -a -iregex &amp;quot;.*\.jpe?g&amp;quot; \ -a -not -regex &amp;quot;.*/old/.*&amp;quot; \ | mail john -s &amp;quot;Neue Images&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun wäre es nicht sehr schön, dieses Kommando regelmäßig neu eingeben zu müssen, also brauchen Sie…?&lt;br /&gt;
&lt;br /&gt;
== Sieh auch ==&lt;br /&gt;
{{Special:PrefixIndex/xargs}}&lt;br /&gt;
----&lt;br /&gt;
{{Special:PrefixIndex/find}}&lt;br /&gt;
----&lt;br /&gt;
{{Special:PrefixIndex/grep}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Linux/Befehl]]&lt;br /&gt;
[[Kategorie:findutils]]&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=Postfix/Greylisting&amp;diff=167924</id>
		<title>Postfix/Greylisting</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=Postfix/Greylisting&amp;diff=167924"/>
		<updated>2026-06-17T08:40:44Z</updated>

		<summary type="html">&lt;p&gt;Dirkwagner: Textersetzung - „ )“ durch „)“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Greylisting ==&lt;br /&gt;
[https://de.wikipedia.org/wiki/Greylisting Greylisting] ist eine Form der SPAM-Bekämpfung. Hierbei wird sich zunutze gemacht, dass normale Mailserver einen gescheiterten Zustellversuch später wiederholen, während Spammer sich im Allgemeinen nicht diese Mühe machen. Der Greylisting-Dienst identifiziert dabei jeden Client über eine Kombination aus IP-Adresse, Absenderadresse und Empfängeradresse. Taucht eine derartige Kombination das erste Mal auf, so wird der Zustellversuch mit einer Fehlermeldung bzgl. eines temporären Problems abgelehnt und diese ID in einer Liste eingetragen. Wird die Kombination erneut zugestellt, wird diese dann vom Mailer akzeptiert.&lt;br /&gt;
&lt;br /&gt;
Nachteil dieser Methode ist, dass die jeweils ersten Emails von neuen Kontakten ein wenig verzögert eintreffen. Vorteil gegenüber herkömmlichen, analyse-gestützten Spamerkennungsverfahren ist, dass die Mail gar nicht erst angenommen und unter Aufwendung von Rechenzeit untersucht werden muss, sondern direkt abgelehnt wird. Gerade auf ausgelasteten Servern stellt das einige günstige Möglichkeit dar, einen Großteil des Mülls gar nicht erst aufs System zu lassen.&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
 $sudo apt-get install postgrey &lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
&#039;&#039;&#039;/etc/postfix/main.cf&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 smtpd_recipient_restrictions = permit_mynetworks,&lt;br /&gt;
 permit_sasl_authenticated,&lt;br /&gt;
 reject_unauth_destination,&lt;br /&gt;
 check_policy_service inet:127.0.0.1:60000 &lt;br /&gt;
&lt;br /&gt;
Nach einem Postfix-Neustart &lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/postfix restart &lt;br /&gt;
&lt;br /&gt;
oder &lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/postfix reload &lt;br /&gt;
&lt;br /&gt;
ist Postgrey als Policy-Server aktiviert. Unter &#039;&#039;&#039;/var/log/mail.log&#039;&#039;&#039; sollten ab sofort Meldungen auftauchen wie beispielsweise &lt;br /&gt;
&lt;br /&gt;
 Jul 24 18:17:45 v212910458 postfix/smtpd[24178]: NOQUEUE: reject: RCPT from unknown[83.234.156.154]: 450 4.7.1 &amp;lt;edwardsm.edwardscv@blubberbla.de&amp;gt;: Recipient address rejected: Greylisted, see https://isg.ee.ethz.ch/tools/postgrey/help/blubberbla.de.html; from=&amp;lt;august26joke@askmen.com&amp;gt; to=&amp;lt;edwardsm.edwardscv@blubberbla.de&amp;gt; proto=ESMTP helo=&amp;lt;home-01590bcaf2&amp;gt;&lt;br /&gt;
 Jul 24 18:17:46 v212910458 postfix/smtpd[24178]: lost connection after DATA (0 bytes) from unknown[83.234.156.154]&lt;br /&gt;
&lt;br /&gt;
= TMP =&lt;br /&gt;
Dieser Artikel oder Abschnitt benötigt Sprach-, Wiki-Syntax- oder Stilverbesserungen.&lt;br /&gt;
* Siehe [https://wiki.archlinux.org/title/Help:Style Hilfe:Stil] als Referenz.&lt;br /&gt;
&lt;br /&gt;
Grund: Siehe [https://wiki.archlinux.org/title/Help:Style Help:Style] (Diskutieren in [https://wiki.archlinux.org/title/Talk:Postfix Talk:Postfix])&lt;br /&gt;
&lt;br /&gt;
[https://postgrey.schweikert.ch/ Postgrey] kann verwendet werden, um [https://en.wikipedia.org/wiki/Greylisting_(email) Greylisting] für einen Postfix-Mailserver zu aktivieren.&lt;br /&gt;
&lt;br /&gt;
==== Installation ====&lt;br /&gt;
[https://wiki.archlinux.org/title/Install Installieren Sie] das [https://archlinux.org/packages/?name=postgrey postgrey] -Paket.&lt;br /&gt;
* Um es schnell zum Laufen zu bringen, bearbeiten Sie die Postfix-Konfigurationsdatei und fügen Sie diese Zeilen hinzu:&lt;br /&gt;
&lt;br /&gt;
; /etc/postfix/main.cf&lt;br /&gt;
 smtpd_recipient_restrictions =&lt;br /&gt;
 check_policy_service inet:127.0.0.1:10030&lt;br /&gt;
&lt;br /&gt;
Dann [https://wiki.archlinux.org/title/Start/enable starten/aktivieren Sie] die &amp;lt;tt&amp;gt;postgrey&amp;lt;/tt&amp;gt;Service.&lt;br /&gt;
* Laden Sie anschließend die &amp;lt;tt&amp;gt;postfix&amp;lt;/tt&amp;gt;Service.&lt;br /&gt;
* Jetzt sollte Greylisting aktiviert sein.&lt;br /&gt;
&lt;br /&gt;
==== Aufbau ====&lt;br /&gt;
Konfiguration erfolgt durch [https://wiki.archlinux.org/title/Extend_the_unit Erweiterung der Einheit] &amp;lt;tt&amp;gt;postgrey.service&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Weiße Liste ====&lt;br /&gt;
Um eine automatische Whitelist hinzuzufügen (erfolgreiche Zustellungen werden auf die Whitelist gesetzt und müssen nicht mehr warten), fügen Sie die hinzu &amp;lt;tt&amp;gt;--auto-whitelist-clients=N&amp;lt;/tt&amp;gt;Option und ersetzen &amp;lt;tt&amp;gt;N&amp;lt;/tt&amp;gt;um eine angemessen kleine Zahl (oder belassen Sie es auf dem Standardwert von 5).&lt;br /&gt;
&lt;br /&gt;
; /etc/systemd/system/postgrey.service.d/override.conf&lt;br /&gt;
 [Service]&lt;br /&gt;
 ExecStart=&lt;br /&gt;
 ExecStart=/usr/bin/postgrey --inet=127.0.0.1:10030 \&lt;br /&gt;
    --pidfile=/run/postgrey/postgrey.pid \&lt;br /&gt;
    --group=postgrey --user=postgrey \&lt;br /&gt;
    --daemonize \&lt;br /&gt;
    --greylist-text=&amp;quot;Für %%s Sekunden auf der Greylist&amp;quot; \&lt;br /&gt;
    --auto-whitelist-clients&lt;br /&gt;
&lt;br /&gt;
Erstellen Sie die Datei, um zusätzlich zu den Standardclients Ihre eigene Liste mit Whitelist-Clients hinzuzufügen &amp;lt;tt&amp;gt;/etc/postfix/whitelist_clients.local&amp;lt;/tt&amp;gt;und geben Sie einen Host oder eine Domäne pro Zeile ein und starten Sie dann neu &amp;lt;tt&amp;gt;postgrey.service&amp;lt;/tt&amp;gt;damit die Änderungen wirksam werden.&lt;br /&gt;
&lt;br /&gt;
==== Fehlerbehebung ====&lt;br /&gt;
Wenn Sie angeben &amp;lt;tt&amp;gt;--unix=/path/to/socket&amp;lt;/tt&amp;gt;und die Socket-Datei nicht erstellt wird, stellen Sie sicher, dass Sie die Standardeinstellung entfernt haben &amp;lt;tt&amp;gt;--inet=127.0.0.1:10030&amp;lt;/tt&amp;gt;aus der Servicedatei.&lt;br /&gt;
&lt;br /&gt;
Eine vollständige Dokumentation möglicher Optionen finden Sie unter &amp;lt;tt&amp;gt;perldoc postgrey&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Postfix/Spam]]&lt;/div&gt;</summary>
		<author><name>Dirkwagner</name></author>
	</entry>
</feed>