<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>controlc.de &#187; postfix</title>
	<atom:link href="http://controlc.de/tag/postfix/feed/" rel="self" type="application/rss+xml" />
	<link>http://controlc.de</link>
	<description>mehr als nur ein Notizblock</description>
	<lastBuildDate>Mon, 16 Apr 2012 12:43:35 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>postfix &#124; Logfile-Analyse leicht gemacht</title>
		<link>http://controlc.de/2010/12/15/postfix-logfile-analyse-leicht-gemacht/</link>
		<comments>http://controlc.de/2010/12/15/postfix-logfile-analyse-leicht-gemacht/#comments</comments>
		<pubDate>Wed, 15 Dec 2010 15:03:38 +0000</pubDate>
		<dc:creator>controlc.de</dc:creator>
				<category><![CDATA[postfix]]></category>
		<category><![CDATA[logfile]]></category>
		<category><![CDATA[postrace]]></category>

		<guid isPermaLink="false">http://controlc.de/?p=1933</guid>
		<description><![CDATA[Wer einen Mail-Server betreibt, sei es dienstlich oder privat, wird bestätigen können, das die Logfile-Analyse ab und an gebraucht wird, viel Zeit kostet und mühsam ist — wenn man nicht fliessend RegExp spricht. Bisher habe ich dazu vi verwendet und mit dem Befehl »/« das Logfile nach dem Suchbegriff durchwühlt. Durch das Abonnement der Mailing-Liste [...]]]></description>
			<content:encoded><![CDATA[	<p style="text-align: center;"><a href="http://controlc.de/wp-content/uploads/2010/12/mail.log_.png" class="floatbox" rev="group:1933 caption:`mail.log`"><img class="aligncenter size-full wp-image-1934" title="mail.log" src="http://controlc.de/wp-content/uploads/2010/12/mail.log_.png" alt="" width="595" height="214" /></a></p>
	<p>Wer einen Mail-Server betreibt, sei es dienstlich oder privat, wird bestätigen können, das die Logfile-Analyse ab und an gebraucht wird, viel Zeit kostet und mühsam ist — wenn man nicht fliessend <a href="http://de.wikipedia.org/wiki/Regul%C3%A4rer_Ausdruck">RegExp</a> spricht. Bisher habe ich dazu <em>vi</em> verwendet und mit dem Befehl »/« das Logfile nach dem Suchbegriff durchwühlt. Durch das Abonnement der Mailing-Liste <a href="http://listi.jpberlin.de/mailman/listinfo/postfixbuch-users">postfixbuch-users</a> wurde ich auf das <a href="https://github.com/wolowizard/postrace">perl-Script postrace</a> für postfix von <a href="https://listi.jpberlin.de/pipermail/postfixbuch-users/2010-December/055296.html">Peter Reich</a> aufmerksam und wollte es Euch nicht vorenthalten.</p>
	<p><a href="http://controlc.de/wp-content/uploads/2010/12/postrace.png" class="floatbox" rev="group:1933 caption:`man postrace`"><img class="aligncenter size-medium wp-image-1936" title="man postrace" src="http://controlc.de/wp-content/uploads/2010/12/postrace-300x253.png" alt="" width="300" height="253" /></a>
</p>
]]></content:encoded>
			<wfw:commentRss>http://controlc.de/2010/12/15/postfix-logfile-analyse-leicht-gemacht/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>postfix &#124; eigener Einlieferungsweg für Exchange-Server definieren</title>
		<link>http://controlc.de/2009/06/26/postfix-eigener-einlieferungsweg-fur-exchange-server-definieren/</link>
		<comments>http://controlc.de/2009/06/26/postfix-eigener-einlieferungsweg-fur-exchange-server-definieren/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 21:15:02 +0000</pubDate>
		<dc:creator>controlc.de</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[exchange]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[postfix]]></category>
		<category><![CDATA[smtp]]></category>

		<guid isPermaLink="false">http://controlc.de/?p=732</guid>
		<description><![CDATA[Das Problem in einer Installation wie der meinen ist, das für das Mail-Gateway jeder einliefernde Server gleich aussieht und somit auch gleich behandelt wird. Da ich aber für meinen eigenen Exchange-Server nahezu die Hand ins Feuer legen kann, möchte ich natürlich, das die ressourcenfressenden Tests auf alle Mails, die der Exchange an das Mail-Gateway übergibt, [...]]]></description>
			<content:encoded><![CDATA[	<p>Das Problem in einer Installation wie der meinen ist, das für das Mail-Gateway jeder einliefernde Server gleich aussieht und somit auch gleich behandelt wird. Da ich aber für meinen eigenen Exchange-Server nahezu die Hand ins Feuer legen kann, möchte ich natürlich, das die ressourcenfressenden Tests auf alle Mails, die der Exchange an das Mail-Gateway übergibt, nicht angewendet werden. Ich habe mich dabei für folgende Lösung entschieden:<span id="more-732"></span></p>
	<p>Zuerst habe ich einen neuen Service in <code>/etc/services</code> definiert</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># Local services</span>
exchange        <span style="color: #000000;">12345</span><span style="color: #000000; font-weight: bold;">/</span>tcp                       <span style="color: #666666; font-style: italic;"># Hilfsport für Exchangeeinlieferung</span></pre></div></div>

	<p>Anschließend wird ein neuer Transportweg in <code>/etc/postfix/master.cf</code> definiert</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">exchange inet n    -       n       -       -     smtpd
        <span style="color: #660033;">-o</span> <span style="color: #007800;">content_filter</span>=
        <span style="color: #660033;">-o</span> <span style="color: #007800;">smtpd_delay_reject</span>=no
        <span style="color: #660033;">-o</span> <span style="color: #007800;">smtpd_helo_restrictions</span>=
        <span style="color: #660033;">-o</span> <span style="color: #007800;">smtpd_sender_restrictions</span>=
        <span style="color: #660033;">-o</span> <span style="color: #007800;">smtpd_recipient_restrictions</span>=permit_tls_clientcerts,reject
        <span style="color: #660033;">-o</span> <span style="color: #007800;">smtpd_data_restrictions</span>=reject_unauth_pipelining
        <span style="color: #660033;">-o</span> <span style="color: #007800;">smtpd_end_of_data_restrictions</span>=
        <span style="color: #660033;">-o</span> <span style="color: #007800;">smtpd_restriction_classes</span>=
        <span style="color: #660033;">-o</span> <span style="color: #007800;">mynetworks</span>=127.0.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">8</span>
        <span style="color: #660033;">-o</span> <span style="color: #007800;">smtpd_error_sleep_time</span>=<span style="color: #000000;">0</span>
        <span style="color: #660033;">-o</span> <span style="color: #007800;">smtpd_soft_error_limit</span>=<span style="color: #000000;">1001</span>
        <span style="color: #660033;">-o</span> <span style="color: #007800;">smtpd_hard_error_limit</span>=<span style="color: #000000;">1000</span>
        <span style="color: #660033;">-o</span> <span style="color: #007800;">smtpd_client_connection_count_limit</span>=<span style="color: #000000;">0</span>
        <span style="color: #660033;">-o</span> <span style="color: #007800;">smtpd_client_connection_rate_limit</span>=<span style="color: #000000;">0</span>
        <span style="color: #660033;">-o</span> <span style="color: #007800;">receive_override_options</span>=no_header_body_checks,no_unknown_recipient_checks,no_milters
        <span style="color: #660033;">-o</span> <span style="color: #007800;">local_header_rewrite_clients</span>=
        <span style="color: #660033;">-o</span> <span style="color: #007800;">smtpd_milters</span>=
        <span style="color: #660033;">-o</span> <span style="color: #007800;">local_recipient_maps</span>=
        <span style="color: #660033;">-o</span> <span style="color: #007800;">transport_maps</span>=<span style="color: #7a0874; font-weight: bold;">hash</span>:<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>postfix<span style="color: #000000; font-weight: bold;">/</span>transport
        <span style="color: #660033;">-o</span> <span style="color: #007800;">relay_recipient_maps</span>=</pre></div></div>

	<p>Damit haben wir den Weg für den Exchange-Server auf dem Mail-Gateway geebnet. Nun müssen wir noch den Exchange-Server konfigurieren. Zuerst müssen wir den Smarthost  definieren, also den Server, an den der Exchange alle Mails schicken soll, für die er selber nicht zuständig ist. Das ist in unserem Fall das Mail-Gateway. Definiert wird das Ganze im Default-SMTP-Connector, in meinem Fall heißt dieser Smallbusiness-SMTP-Connector und ist zu unter <em>Administrative Gruppen/Erste administrative Gruppe/Routinggruppen/Erste Routinggruppe/Connectors</em>. Auf der Reiterkarte <em>Allgemein</em> gibt man entweder den FQDN an oder aber, wie in meinem Falle,  die IP in eckigen Klammern an.</p>
	<p><div id="attachment_735" class="wp-caption aligncenter" style="width: 310px"><a href="http://controlc.de/wp-content/uploads/2009/06/SMTP-Connector-smarthost.JPG" class="floatbox" rev="group:732 caption:`Smarthost im SMTP-Connector`"><img class="size-medium wp-image-735" title="Smarthost im SMTP-Connector" src="http://controlc.de/wp-content/uploads/2009/06/SMTP-Connector-smarthost-300x188.jpg" alt="Im SMTP-Connector wird der Smarthost definiert" width="300" height="188" /></a><p class="wp-caption-text">Im SMTP-Connector wird der Smarthost definiert</p></div></p>
	<p>Weitere Informationen findet man in der <a href="http://support.microsoft.com/?scid=kb%3Ben-us%3B314961&amp;x=17&amp;y=12">Microsoft Knowledgebase</a>.</p>
	<p>Anschließend muß man noch festlegen, an welchen Port der Exchange-Server für seine ausgehende SMTP-Kommunikation benutzt. Dies definiert man in <em>Administrative Gruppen/Erste administrative Gruppe/Server/SERVERNAME/Protokolle/SMTP</em>. Hier legt der Server nach der Grundinstallation den <em>Virtueller Standardserver für SMTP</em> an. In der Reiterkarte Übermittlung gibt es <em>Ausgeh. Verbindungen</em> und dort findet man den <em>TCP-Anschluß</em>.</p>
	<p><div id="attachment_736" class="wp-caption aligncenter" style="width: 310px"><a href="http://controlc.de/wp-content/uploads/2009/06/SMTP-outgoing-port.JPG" class="floatbox" rev="group:732 caption:`SMTP-outgoing-port`"><img class="size-medium wp-image-736" title="SMTP-outgoing-port" src="http://controlc.de/wp-content/uploads/2009/06/SMTP-outgoing-port-300x186.jpg" alt="Im virtuellen Standardserver für SMTP wird der ausgehende Port definiert" width="300" height="186" /></a><p class="wp-caption-text">Im virtuellen Standardserver für SMTP wird der ausgehende Port definiert</p></div></p>
	<p>Weitere Infos zum ausgehenden Port findet man in der <a href="http://support.microsoft.com/?scid=kb%3Ben-us%3B274842&amp;x=11&amp;y=10">Microsoft Knowledgebase</a>.
</p>
]]></content:encoded>
			<wfw:commentRss>http://controlc.de/2009/06/26/postfix-eigener-einlieferungsweg-fur-exchange-server-definieren/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>debian &#124; Groupware-Server installieren — postfixadmin</title>
		<link>http://controlc.de/2009/06/16/debian-groupware-server-installieren-postfixadmin/</link>
		<comments>http://controlc.de/2009/06/16/debian-groupware-server-installieren-postfixadmin/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 09:45:56 +0000</pubDate>
		<dc:creator>controlc.de</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[apache2]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[postfix]]></category>
		<category><![CDATA[postfixadmin]]></category>

		<guid isPermaLink="false">http://controlc.de/?p=656</guid>
		<description><![CDATA[Dies ist der erste Teil des Projektes Groupware-Server installieren. Zuerst brauchen wir eine gemeinsame Datenbasis. Ich habe mich für postfixadmin entschieden, da es eine gute Möglichkeit bietet alle Informationen gebündelt über ein einfaches und übersichtliches Webinterface zu verwalten. Installation Die folgenden Voraussetzungen müssen erfüllt sein: apache2 mysql-server/mysql-client php5 mit den Modulen php5-imap und php5-mysql Zuerst [...]]]></description>
			<content:encoded><![CDATA[	<p>Dies ist der erste Teil des Projektes <a href="http://controlc.de/2009/06/16/debian-groupware-server-installieren-ubersicht/">Groupware-Server installieren</a>.</p>
	<p>Zuerst brauchen wir eine gemeinsame Datenbasis. Ich habe mich für <a href="http://postfixadmin.sourceforge.net/">postfixadmin</a> entschieden, da es eine gute Möglichkeit bietet alle Informationen gebündelt über ein einfaches und übersichtliches Webinterface zu verwalten.</p>
	<h3>Installation</h3>
	<p>Die folgenden Voraussetzungen müssen erfüllt sein:</p>
	<ul>
	<li> apache2</li>
	<li> mysql-server/mysql-client</li>
	<li> php5 mit den Modulen php5-imap und php5-mysql</li>
	</ul>
	<p><span id="more-656"></span><br />
Zuerst muß das Installationspaket <a href="http://sourceforge.net/project/showfiles.php?group_id=191583">heruntergeladen</a> werden — ich habe mich für das deb-Paket entschieden. Damit die neueste Version genutzen werden kann, muß zuerst eine neue Version des Paketes <em>wwwconfig-common</em> installiert werden, welche leider noch nicht in der aktuellen stable Debian Lenny integriert ist. Deswegen muß in <em>/etc/apt/sources.list</em> die Quellen für den Lenny-Nachfolger Squeeze eingetragen werden:</p>
	<p><code># Offizieller Debian Mirror<br />
deb <a title="Linkification: http://ftp.de.debian.org/debian/" href="http://ftp.de.debian.org/debian/">http://ftp.de.debian.org/debian/</a> squeeze main contrib non-free</code></p>
	<p><code># Security Updates<br />
deb <a title="Linkification: http://security.debian.org/" href="http://security.debian.org/">http://security.debian.org/</a> squeeze/updates main contrib non-free</code></p>
	<p>mit einem</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #660033;">-t</span> squeeze <span style="color: #c20cb9; font-weight: bold;">install</span> wwwconfig-common</pre></div></div>

	<p>wird es dann installiert.</p>
	<p>Die Installation von <em>postfixadmin</em> selber startet man mit</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">dpkg</span> <span style="color: #660033;">-i</span> postfixadmin-2.3rc5_all.deb</pre></div></div>

	<p>Während der Installation werden verschiedene Informationen abgefragt</p>
	<p style="text-align: center;">
	<p><div id="attachment_665" class="wp-caption aligncenter" style="width: 459px"><a href="http://controlc.de/wp-content/uploads/2009/06/ScreenShot008.jpg" class="floatbox" rev="group:656 caption:`postfixadmin - webserver`"><img class="size-full wp-image-665" title="postfixadmin - webserver" src="http://controlc.de/wp-content/uploads/2009/06/ScreenShot008.jpg" alt="Zuerst muß der entsprechende Webserver gewählt werden, damit dieser für das Webinterface konfiguriert werden kann." width="449" height="268" /></a><p class="wp-caption-text">Zuerst muß der entsprechende Webserver gewählt werden, damit dieser für das Webinterface konfiguriert werden kann.</p></div></p>
	<p><div id="attachment_666" class="wp-caption aligncenter" style="width: 459px"><a href="http://controlc.de/wp-content/uploads/2009/06/ScreenShot009.jpg" class="floatbox" rev="group:656 caption:`postfixadmin - database 1`"><img class="size-full wp-image-666" title="postfixadmin - database 1" src="http://controlc.de/wp-content/uploads/2009/06/ScreenShot009.jpg" alt="Um die Datenbank anzulegen muß hier mit &quot;JA&quot; bestätigt werden." width="449" height="269" /></a><p class="wp-caption-text">Um die Datenbank anzulegen muß hier mit »JA« bestätigt werden.</p></div></p>
	<p><div id="attachment_660" class="wp-caption aligncenter" style="width: 458px"><a href="http://controlc.de/wp-content/uploads/2009/06/ScreenShot003.jpg" class="floatbox" rev="group:656 caption:`postfixadmin - database 2`"><img class="size-full wp-image-660" title="postfixadmin - database 2" src="http://controlc.de/wp-content/uploads/2009/06/ScreenShot003.jpg" alt="Auswahl des Datenbank-Servers" width="448" height="267" /></a><p class="wp-caption-text">Auswahl des Datenbank-Servers</p></div></p>
	<p><div id="attachment_661" class="wp-caption aligncenter" style="width: 459px"><a href="http://controlc.de/wp-content/uploads/2009/06/ScreenShot004.jpg" class="floatbox" rev="group:656 caption:`postfixadmin - database 3`"><img class="size-full wp-image-661" title="postfixadmin - database 3" src="http://controlc.de/wp-content/uploads/2009/06/ScreenShot004.jpg" alt="Wie soll die Verbindung zum Datenbank-Server aufgebaut werden?" width="449" height="268" /></a><p class="wp-caption-text">Wie soll die Verbindung zum Datenbank-Server aufgebaut werden?</p></div></p>
	<p><div id="attachment_662" class="wp-caption aligncenter" style="width: 459px"><a href="http://controlc.de/wp-content/uploads/2009/06/ScreenShot005.jpg" class="floatbox" rev="group:656 caption:`postfixadmin - database 4`"><img class="size-full wp-image-662" title="postfixadmin - database 4" src="http://controlc.de/wp-content/uploads/2009/06/ScreenShot005.jpg" alt="Wie lautet der Administratoren-Account, mit dem eine neue Datenbank angelegt werden kann?" width="449" height="268" /></a><p class="wp-caption-text">Wie lautet der Administratoren-Account, mit dem eine neue Datenbank angelegt werden kann?</p></div></p>
	<p><div id="attachment_663" class="wp-caption aligncenter" style="width: 457px"><a href="http://controlc.de/wp-content/uploads/2009/06/ScreenShot006.jpg" class="floatbox" rev="group:656 caption:`postfixadmin - database 5`"><img class="size-full wp-image-663" title="postfixadmin - database 5" src="http://controlc.de/wp-content/uploads/2009/06/ScreenShot006.jpg" alt="Passworteingabe für den Administratoren-Account" width="447" height="267" /></a><p class="wp-caption-text">Passworteingabe für den Administratoren-Account</p></div></p>
	<p><div id="attachment_664" class="wp-caption aligncenter" style="width: 459px"><a href="http://controlc.de/wp-content/uploads/2009/06/ScreenShot007.jpg" class="floatbox" rev="group:656 caption:`postfixadmin - database 6`"><img class="size-full wp-image-664" title="postfixadmin - database 6" src="http://controlc.de/wp-content/uploads/2009/06/ScreenShot007.jpg" alt="Wie soll der Datenbank-Benutzername für postfixadmin lauten?" width="449" height="269" /></a><p class="wp-caption-text">Wie soll der Datenbank-Benutzername für postfixadmin lauten?</p></div></p>
	<p><div id="attachment_668" class="wp-caption aligncenter" style="width: 459px"><a href="http://controlc.de/wp-content/uploads/2009/06/ScreenShot010.jpg" class="floatbox" rev="group:656 caption:`postfixadmin - database 7`"><img class="size-full wp-image-668" title="postfixadmin - database 7" src="http://controlc.de/wp-content/uploads/2009/06/ScreenShot010.jpg" alt="Und wie das dazugehörige Passwort?" width="449" height="268" /></a><p class="wp-caption-text">Und wie das dazugehörige Passwort?</p></div></p>
	<p><div id="attachment_669" class="wp-caption aligncenter" style="width: 457px"><a href="http://controlc.de/wp-content/uploads/2009/06/ScreenShot011.jpg" class="floatbox" rev="group:656 caption:`postfixadmin - database 8`"><img class="size-full wp-image-669" title="postfixadmin - database 8" src="http://controlc.de/wp-content/uploads/2009/06/ScreenShot011.jpg" alt="Bestätigung des Passwortes" width="447" height="267" /></a><p class="wp-caption-text">Bestätigung des Passwortes</p></div></p>
	<p><div id="attachment_670" class="wp-caption aligncenter" style="width: 459px"><a href="http://controlc.de/wp-content/uploads/2009/06/ScreenShot012.jpg" class="floatbox" rev="group:656 caption:`postfixadmin - database 9`"><img class="size-full wp-image-670" title="postfixadmin - database 9" src="http://controlc.de/wp-content/uploads/2009/06/ScreenShot012.jpg" alt="Name der anzulegenden Datenbank für postfixadmin" width="449" height="269" /></a><p class="wp-caption-text">Name der anzulegenden Datenbank für postfixadmin</p></div></p>
	<p><span style="text-decoration: line-through;">Weiter geht es demnächst.</span></p>
	<h3>Konfiguration</h3>
	<p>Maßgeblich muß die Datei <em>/etc/postfixadmin/config.inc.php</em> bearbeitet werden</p>
	<p>Zuerst muß der Passus</p>
	
<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">/*****************************************************************
 *  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!.
 * The following line needs commenting out or removing before the
 * application will run!
 * Doing this implies you have changed this file as required.
 * i.e. configuring database etc; specifying setup.php password etc.
 */</span>
<span style="color: #000088;">$CONF</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'configured'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span></pre></div></div>

	<p>bearbeitet werden. Erst dann kann man nach Anpassung der Datei und dem Abschluß des Setups durch die Webseite auch auf das Webinterface zugreifen.</p>
	
<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$CONF</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'configured'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span></pre></div></div>

	<p>Weiter geht es mit den anderen Variablen</p>
	<p>Anpassung des Passworts geschieht hier nicht, sondern wird anschließend nach Anpassung der Parameter über die Weboberfläche gesetzt</p>
	
<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$CONF</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'setup_password'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'changeme'</span><span style="color: #339933;">;</span></pre></div></div>

	<p>Setzen der URL für das Webinterface</p>
	
<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$CONF</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'postfix_admin_url'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span></pre></div></div>

	<p>Konfiguration der Datanbank-Parameter</p>
	
<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$CONF</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'database_type'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'mysqli'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$CONF</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'database_host'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'localhost'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$CONF</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'database_user'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'postfixadmin'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$CONF</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'database_password'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'password'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$CONF</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'database_name'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'postfixadmin'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$CONF</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'database_prefix'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span></pre></div></div>

	<p>Setzen der Administrator-Adresse, die als Absender benutzt wird<br />
$CONF[’admin_email‹] = ›<a class="linkification-ext" title="Linkification: mailto:postmaster@change-this-to-your.domain.tld" href="mailto:postmaster@change-this-to-your.domain.tld">postmaster@change-this-to-your.domain.tld</a>‹;</p>
	<p>Das sind die wichtigsten Parameter, alle anderen sollten sich angeschaut und ggf. angepaßt werden. Nun kommen wir zur Weboberfläche. Nach Aufruf der URL <a class="linkification-ext" title="Linkification: http://SERVER.DOMAIN.DE/postfixadmin/setup.php" href="http://SERVER.DOMAIN.DE/postfixadmin/setup.php">http://SERVER.DOMAIN.DE/postfixadmin/setup.php</a> werden die Datenbank-Tabellen angelegt und die Installation getestet. Zum Abschluß kann man hier den Admin-Zugang festlegen.</p>
	<p><div id="attachment_695" class="wp-caption aligncenter" style="width: 624px"><a href="http://controlc.de/wp-content/uploads/2009/06/Postfix-Admin-localhost-1538_1245145239873.jpeg" class="floatbox" rev="group:656 caption:`Postfix Admin - setup 1`"><img class="size-large wp-image-695" title="Postfix Admin - setup 1" src="http://controlc.de/wp-content/uploads/2009/06/Postfix-Admin-localhost-1538_1245145239873-1024x923.jpg" alt="Unten wird das Setup-Passwort gesetzt" width="614" height="554" /></a><p class="wp-caption-text">Unten wird das Setup-Passwort gesetzt</p></div></p>
	<p><div id="attachment_696" class="wp-caption aligncenter" style="width: 624px"><a href="http://controlc.de/wp-content/uploads/2009/06/Postfix-Admin-localhost-1538_1245145395990.jpeg" class="floatbox" rev="group:656 caption:`Postfix Admin - setup 2`"><img class="size-large wp-image-696" title="Postfix Admin - setup 2" src="http://controlc.de/wp-content/uploads/2009/06/Postfix-Admin-localhost-1538_1245145395990-1024x652.jpg" alt="Den Hinweis beachten und die entsprechende Variable in /etc/postfixadmin/config.inc.php aktualisieren" width="614" height="391" /></a><p class="wp-caption-text">Den Hinweis beachten und die entsprechende Variable in /etc/postfixadmin/config.inc.php aktualisieren</p></div></p>
	<p><div id="attachment_697" class="wp-caption aligncenter" style="width: 624px"><a href="http://controlc.de/wp-content/uploads/2009/06/Postfix-Admin-localhost-1538_1245146153972.jpeg" class="floatbox" rev="group:656 caption:`Postfix Admin - Login`"><img class="size-large wp-image-697" title="Postfix Admin - Login" src="http://controlc.de/wp-content/uploads/2009/06/Postfix-Admin-localhost-1538_1245146153972-1024x673.jpg" alt="Nach dem Anlegen des Superusers kann man nun über die URL http://SERVER.DOMAIN.DE/postfixadmin auf das Webinterface von postfixadmin zugreifen" width="614" height="404" /></a><p class="wp-caption-text">Nach dem Anlegen des Superusers kann man nun über die URL http://SERVER.DOMAIN.DE/postfixadmin auf das Webinterface von postfixadmin zugreifen</p></div>
</p>
]]></content:encoded>
			<wfw:commentRss>http://controlc.de/2009/06/16/debian-groupware-server-installieren-postfixadmin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>debian &#124; Groupware-Server installieren — Übersicht</title>
		<link>http://controlc.de/2009/06/16/debian-groupware-server-installieren-ubersicht/</link>
		<comments>http://controlc.de/2009/06/16/debian-groupware-server-installieren-ubersicht/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 09:45:05 +0000</pubDate>
		<dc:creator>controlc.de</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[dovecot]]></category>
		<category><![CDATA[groupware]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[postfix]]></category>
		<category><![CDATA[postfixadmin]]></category>

		<guid isPermaLink="false">http://controlc.de/?p=654</guid>
		<description><![CDATA[Lange suche ich schon nach einer Lösung, die den bestehenden Exchange-Server ablöst und natürlich mir mehr Möglichkeiten bietet, als der Exchange. Folgende Dinge fehlen mir bisher: servergestützte Einbundung von iCal und Adressbuch Webinterface mit Möglichkeit der Absenderwahl Serverbasierte Email-Regeln anlegen […] Das Projekt ist nicht gerade klein und deswegen splitte ich die Dokumentation in einzelne [...]]]></description>
			<content:encoded><![CDATA[	<p>Lange suche ich schon nach einer Lösung, die den bestehenden Exchange-Server ablöst und natürlich mir mehr Möglichkeiten bietet, als der Exchange. Folgende Dinge fehlen mir bisher:</p>
	<ul>
	<li>servergestützte Einbundung von iCal und Adressbuch</li>
	<li>Webinterface mit Möglichkeit der Absenderwahl</li>
	<li>Serverbasierte Email-Regeln anlegen</li>
	<li>[…]</li>
	</ul>
	<p>Das Projekt ist nicht gerade klein und deswegen splitte ich die Dokumentation in einzelne Teile und werde diese Seite nach und nach aktualisieren.</p>
	<ol>
	<li><a href="http://controlc.de/2009/06/16/debian-groupware-server-installieren-postfixadmin/">Installation von postfixadmin</a></li>
	<li>Installation von dovecot</li>
	<li>Installation von postfix</li>
	<li>[…]</li>
	</ol>
]]></content:encoded>
			<wfw:commentRss>http://controlc.de/2009/06/16/debian-groupware-server-installieren-ubersicht/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>debian &#124; Emails über die Kommandozeile verschicken</title>
		<link>http://controlc.de/2009/05/26/debian-emails-uber-die-kommandozeile-verschicken/</link>
		<comments>http://controlc.de/2009/05/26/debian-emails-uber-die-kommandozeile-verschicken/#comments</comments>
		<pubDate>Tue, 26 May 2009 14:07:32 +0000</pubDate>
		<dc:creator>controlc.de</dc:creator>
				<category><![CDATA[allgemeine IT]]></category>
		<category><![CDATA[command line]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[postfix]]></category>
		<category><![CDATA[smtp]]></category>
		<category><![CDATA[telnet]]></category>

		<guid isPermaLink="false">http://controlc.de/?p=425</guid>
		<description><![CDATA[Gerade wenn man viel mit Email-Servern zu tun hat oder aber seinen eigenen Server aufsetzt, ist es wichtig zu wissen, wie man diesen testen kann. Natürlich ist die Kommandozeile dafür prädestiniert. Zuerst muß man wissen, mit welchem Server man kommunizieren muß, damit Emails an eine Domain angenommen werden können server:~# host gmx.de gmx.de has address [...]]]></description>
			<content:encoded><![CDATA[	<p>Gerade wenn man viel mit Email-Servern zu tun hat oder aber seinen eigenen Server aufsetzt, ist es wichtig zu wissen, wie man diesen testen kann. Natürlich ist die Kommandozeile dafür prädestiniert.<br />
<span id="more-425"></span><br />
Zuerst muß man wissen, mit welchem Server man kommunizieren muß, damit Emails an eine Domain angenommen werden können</p>
	<p><code>server:~# <span style="color: #008000;">host gmx.de</span><br />
gmx.de has address 213.165.65.50<br />
gmx.de mail is handled by 10 mx0.gmx.net.<br />
gmx.de mail is handled by 10 mx1.gmx.net.</code></p>
	<p>Möchte man diesen Email-Server anfunken, dann macht man das mit<br />
<span style="color: #008000;"><code>telnet mx0.gmx.net 25</code></span></p>
	<p>Der Server antwortet:<br />
<code>Trying 213.165.64.100...<br />
Connected to mx0.gmx.net.<br />
Escape character is '^]'.<br />
220 mx0.gmx.net GMX Mailservices ESMTP {mx023}<br />
</code><br />
Wir stellen uns vor:<br />
<span style="color: #008000;"><code>ehlo mail.domain.de</code></span></p>
	<p>Der Server antwortet:<br />
<code>250-mx0.gmx.net GMX Mailservices<br />
250-8BITMIME<br />
250-ENHANCEDSTATUSCODES<br />
250 SIZE</code></p>
	<p>Darauf hin fangen wir an die Mail zu schreiben. Zuerst kommt der Absender:<br />
<code><span style="color: #008000;">mail from:  <span class="linkification-ext">absender@domain.de</span></span><br />
</code></p>
	<p>Der Server gibt sein ok<br />
<code>250 2.1.0 ok {mx023}</code></p>
	<p>dann der Empfänger:<br />
<span style="color: #008000;"><code>rcpt to: <span class="linkification-ext"><span class="linkification-ext">irgendwer@gmx.de</span></span></code></span></p>
	<p>wieder der Server<br />
<code>250 2.1.5 ok {mx023}</code></p>
	<p>Dann kommen wir zum eigentlichen Text<br />
<span style="color: #008000;"><code>data</code></span></p>
	<p>Der Server wieder<br />
<code>354 mx0.gmx.net Go ahead {mx023}</code></p>
	<p>wir vergeben einen Betreff<br />
<span style="color: #008000;"><code>subject: testmail</code></span></p>
	<p>anschließend kommt der eigentliche Text<br />
<code>Dies ist eine Testmail</code></p>
	<p>Abschließend ein einzelner Punkt gefolgt von einem RETURN zum Abschließen der Mail<br />
<span style="color: #008000;"><code>.</code></span></p>
	<p>Der Server bestätigt die Annahme<br />
<code>250 2.6.0 Message accepted {mx023}</code></p>
	<p>Wir sagen brav Auf Wiedersehen<br />
<span style="color: #008000;"><code>quit</code></span></p>
	<p>der Server antwortet<br />
<code>221 2.0.0 GMX Mailservices {mx023}</code></p>
	<p>und weg sind wir<br />
<code>Connection closed by foreign host.</code></p>
	<p>Das kann man nicht nur mit fremden, sondern natürlich auch mit dem eigenen Mail-Server machen. Besonders wenn man diesen gerade frisch aufsetzt, sollte man folgendes probieren:</p>
	<ol>
	<li>Verbindungsaufbau von eigenem DSL-Anschluß zu mailserver.domain.de mit fremder Emailadresse als Absender und gültigem Empfänger der eigenen Domain.</li>
	<li>Verbindungsaufbau von eigenem DSL-Anschluß zu mailserver.domain.de mit fremder Emailadresse als Absender und ungültigem Empfänger der eigenen Domain.</li>
	<li>Verbindungsaufbau von eigenem DSL-Anschluß zu mailserver.domain.de mit fremder Emailadresse als Absender und fremden Empfänger.</li>
	<li>Verbindungsaufbau von eigenem DSL-Anschluß zu mailserver.domain.de mit eigener Emailadresse der Domain als Absender und gültigem Empfänger der eigenen Domain.</li>
	<li>Verbindungsaufbau vom Server zu localhost mit obigen vier Optionen.</li>
	</ol>
	<p>So sollte man alle Varianten durchhaben, wie Mails eingeliefert werden könnten. Das Ergebnis eines jeden Tests sollte man genau untersuchen und hinterfragen, ob das genau so erwünscht war.</p>
	<p>Manchmal möchte man entweder das Verhalten prüfen, wie ein lokaler Dienst EMails einliefert. Das wird nicht immer über den SMTP-Dienst des Servers getan sondern wird direkt in den EMail-Server injiziert. Bei postfix als MTA wird der Prozeß pickup dafür genutzt. Am Einfachsten ist es den Inhalt der Email in ein Textfile mit folgendem Muster zu schreiben.<br />
<code><br />
From: &lt;<span class="linkification-ext">absender@domain.de</span>&gt;<br />
To: &lt;<span class="linkification-ext"><span class="linkification-ext">empfänger@domain.de</span></span>&gt;<br />
</code></p>
	<p><code>Subject: This is a Postfix Sendmail Test</code></p>
	<p>Dieses Textfile wird anschließend mit dem Befehl:<br />
<code># cat testfile | /usr/sbin/sendmail -t -bm -v<br />
</code>abgeschickt.
</p>
]]></content:encoded>
			<wfw:commentRss>http://controlc.de/2009/05/26/debian-emails-uber-die-kommandozeile-verschicken/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>debian &#124; postfix und relay_recipient_maps vom Exchange (II)</title>
		<link>http://controlc.de/2009/05/25/debian-postfix-und-relay_recipient_maps-vom-exchange-ii/</link>
		<comments>http://controlc.de/2009/05/25/debian-postfix-und-relay_recipient_maps-vom-exchange-ii/#comments</comments>
		<pubDate>Mon, 25 May 2009 10:00:58 +0000</pubDate>
		<dc:creator>controlc.de</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[exchange]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[postfix]]></category>
		<category><![CDATA[spamschutz]]></category>

		<guid isPermaLink="false">http://controlc.de/?p=474</guid>
		<description><![CDATA[Weiter gehts im schnellen Lauf, denn der Teddy gibt nicht auf Hier der versprochene zweite Teil zum Thema postfix und relay_recipient_maps vom Exchange. Nachdem wir nun nahezu automatisch die Liste aller gültigen Empfänger auf das Mail-Gateway kopieren können, müssen wir nun die Liste so aufbereiten, das postfix damit etwas anfangen kann. Bisher sieht die Liste [...]]]></description>
			<content:encoded><![CDATA[	<p><em>Weiter gehts im schnellen Lauf, denn der Teddy gibt nicht auf <img src='http://controlc.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
</em></p>
	<p><em>Hier der versprochene zweite Teil zum Thema <a href="http://controlc.de/2009/05/24/debian-postfix-und-relay_recipient_maps-vom-exchange-i/">postfix und relay_recipient_maps vom Exchange</a>.</em></p>
	<p>Nachdem wir nun nahezu automatisch die Liste aller gültigen Empfänger auf das Mail-Gateway kopieren können, müssen wir nun die Liste so aufbereiten, das postfix damit etwas anfangen kann.</p>
	<p>Bisher sieht die Liste in etwa so aus:</p>
	<blockquote><p>dn: CN=Administrator,CN=Users,DC=example,DC=de<br />
changetype: add<br />
proxyAddresses: SMTP:Administrator@example.de<br />
proxyAddresses: X400:c=DE;a= ;p=EXAMPLE;o=Exchange;s=Administrator;</p></blockquote>
	<p><span id="more-474"></span><br />
So kann man die Liste natürlich nicht an postfix geben. Wenn man sich dann die Liste genau anschaut, dann findet man viele Einträge von EMail-Adressen, die der Exchange selber benötigt und die man nicht über das Mail-Gateway erreichbar machen muß. Es müssen also folgende Dinge gemacht werden:</p>
	<ol>
	<li>Löschen der unnötigen Zeilen.</li>
	<li>Aufbereiten der Textdatei</li>
	<li>Hinzufügen des Kommandos OK zu jeder Zeile</li>
	<li>Löschen der unbenötigten Emailadressen</li>
	</ol>
	<p>Dazu verwenden wir das Script von <a href="http://www.postfix-buch.com/download/extract_e3k_recipients.tar.gz">postfix-buch.com</a>. Leider hat sich in dem Script ein kleiner Fehler eingeschlichen <img src='http://controlc.de/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> . Das Original-Script sieht so aus:</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
<span style="color: #666666; font-style: italic;"># Extract all Adresses that start with SMTP or smtp from</span>
<span style="color: #666666; font-style: italic;"># an Active Directory export, but omit those that are listed in blacklist</span>
<span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #007800;">$1</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">tr</span> <span style="color: #660033;">-d</span> <span style="color: #000000; font-weight: bold;">\&quot;</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">tr</span> , \\n<span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">tr</span> \; \\n <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> -F\: <span style="color: #ff0000;">'/(SMTP|smtp):/ {printf(&quot;%s\tOK\n&quot;,$2)}'</span> <span style="color: #000000; font-weight: bold;">|</span>
<span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #660033;">-v</span> <span style="color: #660033;">-f</span> blacklist <span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #007800;">$2</span></pre></div></div>

	<p>Wenn man sich das Script aus dem Buch anschaut, dann findet man schnell den Fehler — nach der Korrektur sieht das Script so aus:</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
<span style="color: #666666; font-style: italic;"># Extract all Adresses that start with SMTP or smtp from</span>
<span style="color: #666666; font-style: italic;"># an Active Directory export, but omit those that are listed in blacklist</span>
<span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #007800;">$1</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">tr</span> <span style="color: #660033;">-d</span> <span style="color: #000000; font-weight: bold;">\&quot;</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">tr</span> , \\n<span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">tr</span> \; \\n <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> -F\: <span style="color: #ff0000;">'/^proxyAddresses: (SMTP|smtp):/ {printf(&quot;%s\tOK\n&quot;,$3)}'</span> <span style="color: #000000; font-weight: bold;">|</span>
<span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #660033;">-v</span> <span style="color: #660033;">-f</span> blacklist <span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #007800;">$2</span></pre></div></div>

	<p>Die Email-Adressen, welche man nicht in der Tabelle haben möchte, schreibt man in eine Datei <code>blacklist</code>. Meine <code>blacklist</code> sieht so aus:</p>
	<blockquote><p>SystemMailbox<br />
Administrator<br />
Default<br />
exchangeV1<br />
globalevents<br />
internal<br />
KontaktevonEXAMPLE<br />
EXAMPLE<br />
EXAMPLE-Archiv<br />
OABVersion2<br />
OABVersion3a<br />
Offlineadressbuch-firstadministrativegroup<br />
PublicFolder08275515@example.de<br />
PublicFolder94568143@example.de<br />
schema-root</p></blockquote>
	<p>Wenn man jetzt das Script ausführt</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>extract_valid_recipient <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>exchange<span style="color: #000000; font-weight: bold;">/</span>recipient.txt <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>exchange<span style="color: #000000; font-weight: bold;">/</span>relay_recipient</pre></div></div>

	<p>So sieht das Ergebnis (<code>less /home/exchange/relay_recipients</code>)  dann so aus:</p>
	<blockquote><p>user1@example.de^M         OK<br />
useruser2@example.de^M         OK<br />
user2@example.de^M         OK<br />
Administrator@example.de^M         OK</p></blockquote>
	<p>Wie man sieht hat debian Probleme mit dem DOS-Zeilenumbruch. Um diesen Unix-Konform geradezubiegen installiert man sich das Paket <em>tofrodos</em>, welches den Befehl <em>dos2unix</em> mit sich bringt.</p>
	<p><span style="text-decoration: line-through;">Mit einem</span><br />
<span style="text-decoration: line-through;">dos2unix relay_recipients</span><br />
<span style="text-decoration: line-through;">wandelt man die Liste um und Voilá!</span></p>
	<p>Das ist natürlich falsch. Man muß die DOS-Zeilenumbrüche in der Original-Datei <em>recipient.txt</em> schon löschen und kann anschließend die Datei durch den Filter schicken.</p>
	<p>(Wer es komplizierter mag, der nehme den Befehl <em>flip</em>. Eine Erklärung dazu findet er <a href="http://www.debianadmin.com/flip-convert-text-file-line-endings-between-unix-and-dos-formats.html">hier</a>.)</p>
	<p>Jetzt wandeln wir die Datei in eine Postfix-Datenbank um</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">postmap <span style="color: #7a0874; font-weight: bold;">hash</span>:<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>exchange<span style="color: #000000; font-weight: bold;">/</span>relay_recipients</pre></div></div>

	<p>und kopieren wir die Datei in das postfix-Verzeichnis</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">mv</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>exchange<span style="color: #000000; font-weight: bold;">/</span>relay_recipients.db <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>postfix<span style="color: #000000; font-weight: bold;">/</span>relay_recipients.db</pre></div></div>

	<p>Wichtig ist der Hinweis im Buch, das die Datenbank-Datei im Home-Verzeichnis unseres exchange-Users erstellt und anschließend kopiert wird, da es beim Fehlschlagen des <em>postmap</em>–Befehls ansonsten keine <code>relay_recipients.db</code> im postfix-Verzeichnis geben und Postfix seinen Betrieb einstellen würde.</p>
	<p>Eingebunden in postfix wird es mit einem Eintrag in der /etc/postfix/main.cf</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">relay_recipient_maps = <span style="color: #7a0874; font-weight: bold;">hash</span>:<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>postfix<span style="color: #000000; font-weight: bold;">/</span>relay_recipients</pre></div></div>

	<p>Jetzt kann man, wenn man es möchte, natürlich das Ganze noch automatisieren und in Scripte packen, dazu noch als Taskplaner/cron ausführen lassen. Aber das kommt später.
</p>
]]></content:encoded>
			<wfw:commentRss>http://controlc.de/2009/05/25/debian-postfix-und-relay_recipient_maps-vom-exchange-ii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>debian &#124; postfix und relay_recipient_maps vom Exchange (I)</title>
		<link>http://controlc.de/2009/05/24/debian-postfix-und-relay_recipient_maps-vom-exchange-i/</link>
		<comments>http://controlc.de/2009/05/24/debian-postfix-und-relay_recipient_maps-vom-exchange-i/#comments</comments>
		<pubDate>Sun, 24 May 2009 10:52:48 +0000</pubDate>
		<dc:creator>controlc.de</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[exchange]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[postfix]]></category>
		<category><![CDATA[putty]]></category>
		<category><![CDATA[spamschutz]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://controlc.de/?p=451</guid>
		<description><![CDATA[Nachdem ich im Kapitel »Mail-Gateways« aus dem Buch Postfix — Einrichtung, Betrieb und Wartung gelesen habe, wie man eine Empfängerliste auf dem Exchange exportiert und in postfix einbindet habe ich mich mal dran gemacht das zu realisieren. Die Bemühungen kommen daher, das regelmäßig Versuche gestartet werden auf die Email-Adresse micha AT makomi DE einzuliefern — [...]]]></description>
			<content:encoded><![CDATA[	<p>Nachdem ich im Kapitel »Mail-Gateways« aus dem Buch <a href="http://www.postfix-buch.com/">Postfix — Einrichtung, Betrieb und Wartung</a> gelesen habe, wie man eine Empfängerliste auf dem Exchange exportiert und in postfix einbindet habe ich mich mal dran gemacht das zu realisieren. Die Bemühungen kommen daher, das regelmäßig Versuche gestartet werden auf die Email-Adresse micha AT makomi DE einzuliefern — eine Adresse die bei mir gar nicht existiert. Nachdem ich mal die Suchmaschine meines Vertrauens mit der »ominösen« Emailadresse gefüttert habe war klar: Da hat jemand die Adresse in einem Forum angegeben und die Betreiber hat nix Besseres zu tun, als die Profile öffentlich zu machen.<br />
<span id="more-451"></span><br />
Nun, eine erste Mail an den Admin hat keine Reaktion vorgerufen, also selber nach Lösungen suchen. Die Lösung steht in dem obigen Buch — übrigens sehr zu empfehlen.</p>
	<p>Jetzt aber zur Realisierung:</p>
	<p>Zuerst muß auf dem Exchange die aktuelle Email-Adressenliste generiert werden. Die Daten sind schon alle im Active Directory vorhanden, man muß sie da nur rausbekommen. Das geht mit Boardmitteln, aber der Reihe nach. Als Erstes lohnt es sich für den Austausch der Listen ein eigenes Verzeichnis anzulegen:</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">mkdir</span> c:\mailgw</pre></div></div>

	<p>Dann wird die Liste extrahiert:</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">ldifde <span style="color: #660033;">-m</span> <span style="color: #660033;">-n</span> <span style="color: #660033;">-g</span> <span style="color: #660033;">-f</span> <span style="color: #ff0000;">&quot;C:\Mailgw<span style="color: #000099; font-weight: bold;">\r</span>ecipient.txt&quot;</span> <span style="color: #660033;">-r</span> <span style="color: #ff0000;">&quot;(mailnickname=*)&quot;</span> <span style="color: #660033;">-l</span> proxyAddresses</pre></div></div>

	<p>Ein kurze Erklärung zu den Parametern:</p>
	<blockquote><p>–g              Deaktiviert die seitenweise Suche.<br />
–m              Aktiviert die SAM-Logik beim Export.<br />
–n              Exportiert keine Binärwerte.<br />
–f Dateiname    Dateiname für die Eingabe bzw. Ausgabe.<br />
–r Filter       LDAP-Suchfilter (Standard: »(objectClass=*)«).<br />
–l Liste        Liste der Attribute (durch Komma getrennt), nach denen bei<br />
der LDAP-Suche gesucht wird.</p></blockquote>
	<p>Das Komplizierteste ist nun der Datenaustausch vom Exchange-Server zum Mail-Gateway. Um dies zu bewältigen muß man dem Exchange-Server zuerst beibringen, wie man per Secure Copy (kurz SCP) Dateien verschicken kann. Es gibt verschiedene Programme dafür, am bekanntesten ist aber als Kommandozeilentool <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html">PuTTYs PSCP</a>. Wir benötigen die beiden Programme <em>pscp.exe</em> und <em>puttygen.exe</em>.</p>
	<p>Nun legen wir zuerst auf dem debian-Server einen neuen Benutzer an, der nur für den Transfer der Listen auf das Mail-Gateway verantwortlich ist:</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">useradd <span style="color: #660033;">-d</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>exchange<span style="color: #000000; font-weight: bold;">/</span> <span style="color: #660033;">-m</span> exchange</pre></div></div>

	<p>Im Gegensatz zu den Angaben im Buch mußte ich bei debian Lenny das Homeverzeichnis explizit mit angeben, da Lenny anscheinend das nicht selbstständig anlegt.</p>
	<p>Nachdem der Benutzer existiert geben wir ihm zuerst einmal ein Passwort:</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">passwd</span> exchange</pre></div></div>

	<p>Anschließend generieren wir ein SSH-Schlüsselpaar, damit der Dateitransfer ohne die Eingabe von Passwörtern erfolgen kann:</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">su</span> - exchange
<span style="color: #7a0874; font-weight: bold;">cd</span> ~
<span style="color: #c20cb9; font-weight: bold;">ssh-keygen</span> <span style="color: #660033;">-t</span> rsa</pre></div></div>

	<p>Bei der Nachfrage nach einer Passphrase bitte nix eingeben. Nur wenn hier kein Passwort eingegeben wird, kann der Dateiaustausch wirklich vollautomatisch erfolgen.</p>
	<pre>Generating public/private rsa key pair.
Enter file in which to save the key (/home/exchange/.ssh/id_rsa):
Created directory '/home/exchange/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/exchange/.ssh/id_rsa.
Your public key has been saved in /home/exchange/.ssh/id_rsa.pub.
The key fingerprint is:
ba:90:03:e8:06:20:5f:30:00:52:a9:11:c6:2e:ae:10 exchange@example.de
The key's randomart image is:
+--[ RSA 2048]----+
|&amp;+..             |
|=*.              |
|.o+              |
|.+ +             |
|. o +   S        |
|E. . . o         |
|..    =          |
|o      +         |
|.     .          |
+-----------------+</pre>
	<p>Es werden nun zwei neue Dateien im Unterverzeichnis <em>.ssh</em> erstellt: <em>id_rsa</em> und<em> id_rsa.pub</em></p>
	<p>Damit der Server weiß, das der Benutzer <em>exchange</em> mit Hilfe von Schlüsseln auf den Server zugreifen darf, muß man noch den Inhalt der Datei <em>id_rsa</em> an die Datei <em>~/.ssh/authorized_keys</em> angehängt werden. Dazu gibt man</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">cat</span> ~<span style="color: #000000; font-weight: bold;">/</span>.ssh<span style="color: #000000; font-weight: bold;">/</span>id_rsa.pub <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> ~<span style="color: #000000; font-weight: bold;">/</span>.ssh<span style="color: #000000; font-weight: bold;">/</span>authorized_keys</pre></div></div>

	<p>ein und gibt mit</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">chmod</span> <span style="color: #000000;">644</span> authorized_keys</pre></div></div>

	<p>der Datei die richtigen Rechte.</p>
	<p>Nun muß der private Schlüssel des Paares auf einem sicheren Weg zum Exchange-Server kommen. Dazu nutzen wir gleich die <em>pscp.exe</em>.</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">pscp exchange<span style="color: #000000; font-weight: bold;">@</span>mail.example.de:<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>exchange<span style="color: #000000; font-weight: bold;">/</span>.ssh<span style="color: #000000; font-weight: bold;">/</span>id_rsa .</pre></div></div>

	<p>Ich denke der Syntax ist klar. Natürlich müssen wir uns jetzt mit einem Passwort authentifizieren — genau mit dem, welches wir oben vergeben haben.</p>
	<p>Um die Schlüsseldatei nutzen zu können müssen wir sie in ein PuTTY-verträgliches Format wandeln. Dazu nutzen wir die von PuTTY mitgelieferte <em>puttygen.de</em></p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">puttygen c:\mailgw\id_rsa</pre></div></div>

	<p>es öffnet sich eine GUI</p>
	<p><a href="http://controlc.de/wp-content/uploads/2009/05/puttygen-1.png" class="floatbox" rev="group:451 caption:`puttygen-1`"><img class="alignnone size-full wp-image-468" title="puttygen-1" src="http://controlc.de/wp-content/uploads/2009/05/puttygen-1.png" alt="puttygen-1" width="266" height="150" /></a></p>
	<p>Nach eine Klick auf OK öffnet sich der PuTTY Key Generator-Dialog:</p>
	<p><a href="http://controlc.de/wp-content/uploads/2009/05/puttygen-2.png" class="floatbox" rev="group:451 caption:`puttygen-2`"><img class="alignnone size-medium wp-image-469" title="puttygen-2" src="http://controlc.de/wp-content/uploads/2009/05/puttygen-2-300x287.png" alt="puttygen-2" width="300" height="287" /></a></p>
	<p>Hier kann man im Feld <em>Key comment</em> dem konvertierten Schlüssel einen Namen wegen und anschließend <em>Save private key</em> drücken.</p>
	<p><a href="http://controlc.de/wp-content/uploads/2009/05/puttygen-3.png" class="floatbox" rev="group:451 caption:`puttygen-3`"><img class="alignnone size-full wp-image-470" title="puttygen-3" src="http://controlc.de/wp-content/uploads/2009/05/puttygen-3.png" alt="puttygen-3" width="260" height="117" /></a></p>
	<p>Aufgrund der leeren Passphrase wird hier eine Warnung ausgegeben, was aber ok ist.</p>
	<p>Nun können wir mit dem eben erstellten/konvertierten Key eine verschlüsselte Verbindung zu unserem Mail-Gateway aufnehmen</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">pscp <span style="color: #660033;">-i</span> mail.example.de.ppk recipient.txt exchange<span style="color: #000000; font-weight: bold;">@</span>mail.example.de:<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>exchange<span style="color: #000000; font-weight: bold;">/</span></pre></div></div>

	<p>Nachdem das geklappt hat, können wir dem Benutzer <em>exchange</em> auf dem Mail-Gateway das Passwort wegnehmen — dann ist ein einloggen nur noch mit dem Key möglich.</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">usermod <span style="color: #660033;">-L</span> exchange</pre></div></div>

	<p><em><strong>Weiter geht es im <a href="http://controlc.de/2009/05/25/debian-postfix-und-relay_recipient_maps-vom-exchange-ii/">zweiten Teil</a><span style="text-decoration: line-through;">, der demnächst erscheint</span>.</strong></em>
</p>
]]></content:encoded>
			<wfw:commentRss>http://controlc.de/2009/05/24/debian-postfix-und-relay_recipient_maps-vom-exchange-i/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>debian &#124; Horde-Webmail Installation</title>
		<link>http://controlc.de/2008/11/04/horde-webmail/</link>
		<comments>http://controlc.de/2008/11/04/horde-webmail/#comments</comments>
		<pubDate>Tue, 04 Nov 2008 14:41:17 +0000</pubDate>
		<dc:creator>controlc.de</dc:creator>
				<category><![CDATA[allgemeine IT]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[horde]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[postfix]]></category>
		<category><![CDATA[webmail]]></category>

		<guid isPermaLink="false">http://controlc.de/wordpress/?p=59</guid>
		<description><![CDATA[Auf der Suche nach einem vernünftigen Webmailer bzw. Groupware-Oberfläche fürs Web bleibe ich immer mal wieder bei Horde hängen — bringt eigentlich fast alles mit, was ich brauche. Leider eben nur fast, es fehlt noch: Sync mit iCal vernünftige Absenderwahl beim Erstellen einer Mail (die bestehende Lösung über verschiedene Identitäten würde schon gehen, ist m.E. [...]]]></description>
			<content:encoded><![CDATA[	<p>Auf der Suche nach einem vernünftigen Webmailer bzw. Groupware-Oberfläche fürs Web bleibe ich immer mal wieder bei Horde hängen — bringt eigentlich fast alles mit, was ich brauche. Leider eben nur fast, es fehlt noch:</p>
	<ul>
	<li>Sync mit iCal</li>
	<li>vernünftige Absenderwahl beim Erstellen einer Mail (die bestehende Lösung über verschiedene Identitäten würde schon gehen, ist m.E. aber noch zu unkomfortabel)</li>
	</ul>
	<p>Aber egal wie es ist: Um es erneut testen zu können habe ich hier einfach mal aufgeschrieben, was man tun muß, damit es auf nem Standard-Debian-Server installiert ist.</p>
	<p><span id="more-59"></span><strong>Vorbereitung</strong></p>
	<p>Erstmal muß man alle Voraussetzungen schaffen, damit der Apache2 was mit dem Horde Framework anfangen kann:</p>
	<p style="padding-left: 30px;">apt-get install libxml2-dev php5-gd php5-memcache php5-mcrypt php5-ldap php5-dev make php-pear libmagic-dev <span style="text-decoration: line-through;">libgeoip-dev</span> php5-tidy php5-idn</p>
	<p style="padding-left: 30px;">pecl install fileinfo<br />
pecl install lzf
</p>
	<p style="padding-left: 30px;">pecl install memcache</p>
	<p style="padding-left: 30px;">pecl install –f idn</p>
	<p style="padding-left: 30px;">pecl install tidy</p>
	<p>Dann muß PHP5 angepaßt werden:</p>
	<p style="padding-left: 30px;">vi /etc/php5/apache2/php.ini</p>
	<p style="padding-left: 30px;">memory_limit = 64M</p>
	<p style="padding-left: 30px;">extension=fileinfo.so<br />
extension=lzf.so<br />
extension=tidy.so<br />
extension=idn.so</p>
	<p>Jetzt kann der Apache2 neu gestartet werden
</p>
	<p style="padding-left: 30px;">/etc/init.d/apache2 reload</p>
	<p>Anschließend kann das Horde Webmail-Paket heruntergeladen werden. Die Versionsnummer des Paketes muß natürlich an das aktuelle angepaßt werden.</p>
	<p style="padding-left: 30px;">wget <a class="linkification-ext" title="Linkification: ftp://ftp.horde.org/pub/horde-webmail/horde-webmail-1.2.tar.gz" href="ftp://ftp.horde.org/pub/horde-webmail/horde-webmail-1.2.tar.gz">ftp://ftp.horde.org/pub/horde-webmail/horde-webmail-1.2.tar.gz</a></p>
	<p>auspacken nach /var/www (z.B. /var/www/webmail)</p>
	<p>Jetzt müssen Datenbank und –Nutzer angelegt werden.</p>
	<p style="padding-left: 30px;">über <a class="linkification-ext" title="Linkification: http://SERVER/phpmyadmin" href="http://SERVER/phpmyadmin">http://SERVER/phpmyadmin</a> einen neuen User »horde« mit gleichnamiger DB anlegen</p>
	<p>Anschließend wird alles vorbereitet, das Horde Webmail aufrufbar und detailierter konfiguriert werden kann</p>
	<p style="padding-left: 30px;">cd /var/www/webmail</p>
	<p style="padding-left: 30px;">mv /var/www/horde-3.3/ /var/www/horde</p>
	<p style="padding-left: 30px;">mv /var/www/horde/imp-h3-4.3/ /var/www/horde/imp</p>
	<p style="padding-left: 30px;">mv /var/www/horde/kronolith-h3-2.3/ /var/www/horde/kronolith</p>
	<p style="padding-left: 30px;">mv /var/www/horde/turba-h3-2.3/ /var/www/horde/turba</p>
	<p style="padding-left: 30px;">touch /var/www/horde/config/conf.bak.php<br />
touch /var/www/horde/imp/config/conf.bak.php<br />
touch /var/www/horde/kronolith/config/conf.bak.php<br />
touch /var/www/horde/turba/config/conf.bak.php</p>
	<p style="padding-left: 30px;">chmod 777 /var/www/horde/config/conf.bak.php<br />
chmod 777 /var/www/horde/config/conf.php<br />
chmod 777 /var/www/horde/imp/config/conf.php<br />
chmod 777 /var/www/horde/imp/config/conf.bak.php<br />
chmod 777 /var/www/horde/kronolith/config/conf.php<br />
chmod 777 /var/www/horde/kronolith/config/conf.bak.php<br />
chmod 777 /var/www/horde/turba/config/conf.bak.php<br />
chmod 777 /var/www/horde/turba/config/conf.php</p>
	<p style="padding-left: 30px;">touch /var/log/horde.log<br />
chmod 777 /var/log/horde.log</p>
	<p>Ein erster Test, ob die Installation funktioniert.
</p>
	<p style="padding-left: 30px;"><a class="linkification-ext" title="Linkification: http://192.168.13.212/horde/test.php" href="http://192.168.13.212/horde/test.php">http://192.168.13.212/horde/test.php</a></p>
	<p>Hier stellt sich heraus, ob schon alle Voraussetzungen erfüllt sind, wenn nicht:</p>
	<p style="padding-left: 30px;">apt-get install php5-dev libidn11-dev libmagic-dev libtidy-dev make php5-mcrypt php5-gd</p>
	<p style="padding-left: 30px;">pear upgrade_all</p>
	<p style="padding-left: 30px;">pear install mail date mail_mime net_socket log db mdb2 auth_sasl http_request net_smtp services_weather cache<br />
pear install –f http_webdav_server xml_serializer Date_Holidays date_holidays_germany</p>
	<p>Anlegen der Datenbank-Tabellen für die einzelnen Horde-Programme
</p>
	<p style="padding-left: 30px;">mysql –u root –p &lt; /var/www/horde/scripts/sql/create.mysql.sql<br />
mysql –u root –p –D horde &lt; /var/www/horde/turba/scripts/sql/turba.sql<br />
mysql –u root –p –D horde &lt; /var/www/horde/imp/scripts/sql/imp.sql<br />
mysql –u root –p –D horde &lt; /var/www/horde/kronolith/scripts/sql/kronolith.mysql.sql</p>
	<p>Anlegen der leeren Config-Dateien für die ganzen Horde-Programme:
</p>
	<p style="padding-left: 30px;">cd /var/www/horde/config/<br />
for f in *.dist; do cp $f ›basename $f .dist›; done<br />
cd /var/www/horde/imp/config/<br />
for f in *.dist; do cp $f ›basename $f .dist›; done<br />
cd /var/www/horde/kronolith/config/<br />
for f in *.dist; do cp $f ›basename $f .dist›; done<br />
cd /var/www/horde/turba/config/<br />
for f in *.dist; do cp $f ›basename $f .dist›; done</p>
]]></content:encoded>
			<wfw:commentRss>http://controlc.de/2008/11/04/horde-webmail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>debian &#124; Mail-/Webserver installieren und konfigurieren</title>
		<link>http://controlc.de/2008/11/03/mail-webserver-installieren-und-konfigurieren/</link>
		<comments>http://controlc.de/2008/11/03/mail-webserver-installieren-und-konfigurieren/#comments</comments>
		<pubDate>Mon, 03 Nov 2008 13:30:46 +0000</pubDate>
		<dc:creator>controlc.de</dc:creator>
				<category><![CDATA[allgemeine IT]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[amavis]]></category>
		<category><![CDATA[apache2]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[mailserver]]></category>
		<category><![CDATA[postfix]]></category>
		<category><![CDATA[spamassassin]]></category>
		<category><![CDATA[webserver]]></category>

		<guid isPermaLink="false">http://controlc.de/wordpress/?p=39</guid>
		<description><![CDATA[Hauptsächlich verwende ich meinen vServer als EMail-Server, da ich gerne selber meine EMails verwalte als einem Anderen zu vertrauen. Außerdem kann ich meinen Spam so filtern wie ich es will. Nebenbei stellt der vServer nur das Mail-Relay und leitet alle EMails an meinen privaten Exchange-Server weiter. Aus Dokumentationszwecken hier die Installationsabfolge. apt-get install –t etch-backports [...]]]></description>
			<content:encoded><![CDATA[	<p>Hauptsächlich verwende ich meinen vServer als EMail-Server, da ich gerne selber meine EMails verwalte als einem Anderen zu vertrauen. Außerdem kann ich meinen Spam so filtern wie ich es will. Nebenbei stellt der vServer nur das Mail-Relay und leitet alle EMails an meinen privaten Exchange-Server weiter.</p>
	<p>Aus Dokumentationszwecken hier die Installationsabfolge.<span id="more-39"></span></p>
	<ul>
	<li>apt-get install –t etch-backports postfix mysql-server apache2 php5 php5-imap php5-mysql postfix-mysql dovecot-imapd phpmyadmin php-pear</li>
	<li><span style="text-decoration: line-through;">apt-get install subversion</span></li>
	<li><span style="text-decoration: line-through;"><tt>svn co <a class="linkification-ext" title="Linkification: https://postfixadmin.svn.sourceforge.net/svnroot/postfixadmin" href="https://postfixadmin.svn.sourceforge.net/svnroot/postfixadmin">https://postfixadmin.svn.sourceforge.net/svnroot/postfixadmin</a> postfixadmin </tt></span></li>
	<li><tt>my</tt><tt>sql-Passwort setzen</tt><tt>: </tt><tt>mysqladmin –u root password ›NEUESPASSWORT‹</tt></li>
	</ul>
	<p>Postfixadmin</p>
	<ul>
	<li>wget <a class="linkification-ext" title="Linkification: http://dfn.dl.sourceforge.net/sourceforge/postfixadmin/postfixadmin_2.2.1.1_all.deb" href="http://dfn.dl.sourceforge.net/sourceforge/postfixadmin/postfixadmin_2.2.1.1_all.deb">http://dfn.dl.sourceforge.net/sourceforge/postfixadmin/postfixadmin_2.2.1.1_all.deb</a></li>
	<li>dpkg –i postfixadmin_2.2.1.1_all.deb</li>
	<li><tt><a class="linkification-ext" title="Linkification: http://SERVER/phpmyadmin" href="http://SERVER/phpmyadmin">http://SERVER/phpmyadmin</a> und einen User mit gleichlautender DB anlegen</tt></li>
	<li><tt>/etc/postfixadmin/config.inc.php editieren und Datenbank-Einträge setzen</tt></li>
	<li><tt><a class="linkification-ext" title="Linkification: http://SERVER/postfixadmin/setup.php" href="http://SERVER/postfixadmin/setup.php">http://SERVER/postfixadmin/setup.php</a> und Superuser anlegen</tt></li>
	<li><tt>rm /usr/share/postfixadmin/setup.php</tt></li>
	<li><tt><a class="linkification-ext" title="Linkification: http://SERVER/postfixadmin/setup.php" href="http://server/postfixadmin/setup.php">http://SERVER/postfixadmin</a> aufrufen — sollte alles gehen</tt></li>
	</ul>
	<p>Postfix</p>
	<ul>
	<li> <strong>/etc/postfix/master.cf<br />
</strong></p>
	<pre># Dovecot LDA
dovecot   unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail:mail argv=/usr/lib/dovecot/deliver -d ${recipient}</pre>
	</li>
	<li><strong>/etc/postfix/main.cf<br />
</strong></p>
	<pre>virtual_mailbox_domains         = proxy:mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_base            = /var/vmail
virtual_mailbox_maps            = proxy:mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_alias_maps              = proxy:mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_minimum_uid             = 5000
virtual_uid_maps                = static:5000
virtual_gid_maps                = static:12
virtual_transport               = dovecot
dovecot_destination_recipient_limit = 1</pre>
	</li>
	<li><strong>/etc/postfix/mysql_virtual_alias_maps.cf<br />
</strong></p>
	<pre>user            = postfix
password        = postfix
#hosts           = localhost
hosts           = unix:/var/run/mysqld/mysqld.sock
dbname          = postfix
query           = SELECT goto FROM alias WHERE address='%s' AND active = '1'</pre>
	</li>
	<li><strong>/etc/postfix/</strong><strong>mysql_virtual_domains_maps.cf<br />
</strong></p>
	<pre>#hosts           = localhost
hosts           = unix:/var/run/mysqld/mysqld.sock
dbname          = postfix
#query          = SELECT domain FROM domain WHERE domain='%s'
#optional query to use when relaying for backup MX
query           = SELECT domain FROM domain WHERE domain='%s' AND backupmx = '0' AND active = '1'</pre>
	<pre>user            = postfix
password        = postfix</pre>
	</li>
	<li><strong>/etc/postfix/</strong><strong>mysql_relay_domains_maps.cf</strong>:
	<pre>user            = postfix
password        = postfix
#hosts           = localhost
hosts           = unix:/var/run/mysqld/mysqld.sock
dbname          = postfix
query           = SELECT domain FROM domain WHERE domain='%s' and backupmx = '1'</pre>
	</li>
	<li><strong>/etc/postfix/</strong><strong>mysql_virtual_mailbox_limit_maps.cf<br />
</strong></p>
	<pre>user            = postfix
password        = postfix
#hosts           = localhost
hosts           = unix:/var/run/mysqld/mysqld.sock
dbname          = postfix
query           = SELECT quota FROM mailbox WHERE username='%s' AND active = '1'</pre>
	</li>
	<li><strong>/etc/postfix/</strong><strong>mysql_virtual_mailbox_maps.cf<br />
</strong></p>
	<pre>user            = postfix
password        = postfix
#hosts           = localhost
hosts           = unix:/var/run/mysqld/mysqld.sock
dbname          = postfix
query           = SELECT CONCAT(domain,'/',maildir) FROM mailbox WHERE username='%s' AND active = '1'</pre>
	</li>
	</ul>
	<p>Dovecot</p>
	<ul>
	<li>
	<pre>mkdir -p /var/vmail
chmod 770 /var/vmail</pre>
	</li>
	<li>
	<pre>useradd -r -u 5000 -g mail -d /var/vmail -s /sbin/nologin -c \"Virtual mailbox\" vmail</pre>
	</li>
	<li>Rechte für /var/vmail und /etc/dovecot/* auf vmail:mail setzen<br />
chown vmail:mail /var/vmail/<br />
chown vmail:mail /etc/dovecot/</li>
	<li>dovecot-sql.conf<br />
default_password_scheme = MD5-CRYPT</li>
	<li>Logfile anlegen und Rechte setzen<br />
touch /var/log/dovecot-deliver.log<br />
chown vmail:mail /var/log/dovecot-deliver.log</li>
	</ul>
]]></content:encoded>
			<wfw:commentRss>http://controlc.de/2008/11/03/mail-webserver-installieren-und-konfigurieren/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

