<?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>Oliver Pifferi &#187; Linux</title>
	<atom:link href="http://www.oliver-pifferi.com/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.oliver-pifferi.com</link>
	<description></description>
	<lastBuildDate>Thu, 02 Sep 2010 10:54:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>Screencast: Ubuntu 10.04 Desktop</title>
		<link>http://www.oliver-pifferi.com/2010/05/screencast-ubuntu-10-04-desktop/</link>
		<comments>http://www.oliver-pifferi.com/2010/05/screencast-ubuntu-10-04-desktop/#comments</comments>
		<pubDate>Wed, 19 May 2010 20:24:35 +0000</pubDate>
		<dc:creator>Oliver Pifferi</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[screencast]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.oliver-pifferi.com/?p=456</guid>
		<description><![CDATA[Alle zwei Jahre veröffentlichen die Ubuntu-Entwickler eine Version mit LTS (&#8220;Long Term Support&#8221;), deren Fokus weniger auf der Implementierung neuester technischer Features, sondern auf den Faktoren Stabilität und Benutzerfreundlichkeit liegt. Ubuntu 10.04 geht als &#8220;Lucid Lynx&#8221; (leuchtender Luchs) an den ...]]></description>
			<content:encoded><![CDATA[<p>Alle zwei Jahre veröffentlichen die Ubuntu-Entwickler eine Version mit LTS (&#8220;Long Term Support&#8221;), deren Fokus weniger auf der Implementierung neuester technischer Features, sondern auf den Faktoren Stabilität und Benutzerfreundlichkeit liegt. Ubuntu 10.04 geht als &#8220;Lucid Lynx&#8221; (leuchtender Luchs) an den Start und ist nicht nur in Rekordzeit installiert (sofern nicht die Variante der Live-CD beim Booten gewählt wird), sondern fällt speziell in Sachen veränderter Optik und Integration von Internet- und Social Network-Diensten ins Auge. Wie das aussieht, zeigt er folgende Screencast!<span id="more-456"></span></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/7keUuNa7-hY&amp;hl=de&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/7keUuNa7-hY&amp;hl=de&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.oliver-pifferi.com/2010/05/screencast-ubuntu-10-04-desktop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Squid &#8211; Proxyeinrichtung unter Linux</title>
		<link>http://www.oliver-pifferi.com/2010/02/squid-proxyeinrichtung-unter-linux/</link>
		<comments>http://www.oliver-pifferi.com/2010/02/squid-proxyeinrichtung-unter-linux/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 19:36:01 +0000</pubDate>
		<dc:creator>Oliver Pifferi</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Features]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[opensuse]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[squid]]></category>

		<guid isPermaLink="false">http://www.oliver-pifferi.com/?p=177</guid>
		<description><![CDATA[Proxy-Server sind hauptsächlich für das Cachen von Webseiten bzw. Kontrolle und / oder Reglementierung von Internetzugriffen verantwortlich &#8211; ein gut konfigurierter Proxy spart Bandbreite (auch wenn das im xDSL-Zeitalter nicht mehr ganz so von Belang ist) und hindert auch den ...]]></description>
			<content:encoded><![CDATA[<p>Proxy-Server sind hauptsächlich für das Cachen von Webseiten bzw.  Kontrolle und / oder Reglementierung von Internetzugriffen verantwortlich &#8211; ein gut konfigurierter Proxy spart Bandbreite (auch wenn das im xDSL-Zeitalter nicht mehr ganz so von Belang ist) und hindert auch den ein oder anderen Kollegen erfolgreich daran, am Arbeitsplatz allzu offen privat zu surfen. Ein jeder, der sich schon mal genauer mit dem Thema &#8220;Proxy-Server&#8221; beschäftigt hat, wird schon einmal den Begriff &#8220;Squid&#8221; gehört haben &#8211; quasi DAS Synonym für einen Proxy-Server unter Linux. Als Alternativen stehen viele andere Produkte bereit, das berühmteste (leider auch teuerste) Beispiel wäre hier Microsofts ISA (Internet Security and Acceleration) Server. Im Verlaufe dieses Tutorials wollen wir uns aber dem quelloffenen Tintenfisch (Squid) sowie seiner Kompilierung und Ersteinrichtung widmen, um dem Ziel, einen eigenen Proxy-Server erfolgreich einzusetzen, ein wenig näher zu kommen!<span id="more-177"></span>Wie üblich, steht am Anfang immer die Quelle bzw. das Quellpaket, welches Ihr von <a title="http://www.squid-cache.org" href="http://www.squid-cache.org" target="_blank">http://www.squid-cache.org</a> herunterladen könnt und in Eurem gewünschten Zielpfad (bei mir wie gewohnt /usr/local) herunterladen könnt. Anschliessend wird das Paket durch Eingabe von</p>
<blockquote><p>&#8220;tar zxvf squid-3.0.STABLE24.tar.gz&#8221;</p></blockquote>
<p>entpackt und wir wechseln durch Eingabe von</p>
<blockquote><p>&#8220;cd /usr/local/squid-3.0.STABLE24&#8243;</p></blockquote>
<p>in das soeben frisch entpackte Verzeichnis. Wie gewohnt, müssen wir nun den Squid-Server auf die Bedürfnisse unseres Systems zuschneiden und das geht über das bekannte &#8220;configure&#8221;-Skript, wobei wir dieser Installationsroutine den ein oder anderen individuellen Parameter übergeben. Wer eine genauere Übersicht der Befehle sucht, kann die wie üblich über Eingabe des Befehls</p>
<blockquote><p>&#8220;./configure &#8211;help&#8221;</p></blockquote>
<p>im Quellverzeichnis finden und &#8211; die wie üblich erschlagende Anzahl von Optionen &#8211; genauer nachlesen. Erstellen wir also gemäss dem folgenden Beispiel (die Bedeutungen der einzelnen Schalter sind grösstenteils selbsterklärend bzw. können in der Hilfe des Konfigurationsskriptes nachgelesen werden) unser Makefile:</p>
<blockquote><p>&#8220;./configure &#8211;prefix=/usr/local/squid &#8211;enable-icmp &#8211;enable-useragent-log &#8211;enable-referer-log &#8211;enable-ssl &#8211;enable-default-err-language=German &#8211;enable-linux-netfilter&#8221;</p></blockquote>
<p>Wie bereits gewohnt sollten diverse Abhängigkeiten (openSSL) im System bereits erfüllt werden, da es sonst zum Abbruch des Skriptes samt passender Fehlermeldung kommt. Nun wenden wir uns per Eingabe von</p>
<blockquote><p>&#8220;make all&#8221;</p></blockquote>
<p>dem eigentlichen Kompilierungsvorgang zu, der ebenfalls problemlos durchlaufen sollte und uns im Falle eines Fehlers wieder entsprechend informiert. Installiert werden dann die neuen Binärdateien durch Eingabe von</p>
<blockquote><p>&#8220;make install&#8221;</p></blockquote>
<p>an ihren Zielort im System kopiert. Der eigentliche Installationsvorgang ist nun abgeschlossen. Vor dem erstmaligen Starten des Proxy-Servers sollte sich aber ein jeder noch der Konfigurationsdatei &#8220;squid.conf&#8221; im Verzeichnis /usr/local/squid/etc widmen, in dem unter anderem der Benutzer und die Gruppe, unter denen der Cache-Dämon laufen soll, anzupassen sind. In meinem Fall habe ich durch Eingabe der Befehle</p>
<blockquote><p>&#8220;groupadd squid&#8221; und<br />
&#8220;useradd squid -g squid&#8221;</p></blockquote>
<p>den Benutzer &#8220;squid&#8221; und die Gruppe &#8220;squid&#8221; angelegt, wobei der User logischerweise auch Mitglied dieser Gruppe ist. Diese Benutzer- und Gruppenkonfiguration ist in der mir vorliegenden Datei in Zeile 2935 (&#8220;cache_effective_user&#8221;) und 2955 (&#8220;cache_effective_group&#8221;) zu finden. Sobald dies geändert wurde, müssen wir noch die Benutzerrechte auf das Cache- und Logverzeichnis durch Eingabe von</p>
<blockquote><p>&#8220;chown squid.squid /usr/local/squid/var -R&#8221;</p></blockquote>
<p>ändern, da diese Verzeichnisse ja noch vom aktuellen Root-Benutzer erstellt wurden und der Squid-Dämon ja nicht als Root läuft bzw. laufen sollte! Auch das PID-File, das ja den Status darüber liefert, ob der Cache läuft oder nicht, kann in Zeile 2006 (&#8220;pid_filename&#8221;) der squid.conf noch vom störenden &#8220;Lattenkreuz&#8221; befreit und somit aktiviert werden.</p>
<p>Schlussendlich erfolgt nun noch das Initialisieren des eigentlichen Cacheverzeichnisses, welches noch durch Eingabe von</p>
<blockquote><p>&#8220;/usr/local/squid/sbin/squid  -z&#8221;</p></blockquote>
<p>einmalig geschieht. Dies sollte nach den vorherigen Anpassungen ohne Probleme erfolgen und uns somit einen funktionsfähigen und grundeingerichteten Proxyserver bescheren, welcher durch Eingabe von</p>
<blockquote><p>&#8220;/usr/local/squid/sbin/squid&#8221;</p></blockquote>
<p>zu starten ist. Trägt man dann im Browser die IP des Linux-Servers samt Proxy-Port (in meinem Falle die 192.168.15.5, Port 3128) ein und surft auf die ein oder andere Seite, sollte der Squid bereits diese Inhalte cachen. Final können wir dies verfolgen, indem wir einfach ein Echzeitmonitoring auf die Logdatei &#8220;access.log&#8221; durch Eingabe des Befehls</p>
<blockquote><p>&#8220;tail -f /usr/local/squid/var/logs/access.log&#8221;</p></blockquote>
<p>durchführen &#8211; voila, unsere gecachten Dokumente sind in diesem Logfile schon zu finden, was letztendlich heisst: Der Proxyserver funktioniert &#8211; ein Beispielscreenshot ist hier zu sehen:</p>
<p><a href="http://www.oliver-pifferi.com/wp-content/uploads/2010/02/squid-log2.jpg" rel="lightbox[177]"><img class="size-thumbnail wp-image-182 alignnone" title="squid-log" src="http://www.oliver-pifferi.com/wp-content/uploads/2010/02/squid-log-270x150.jpg" alt="" width="270" height="150" /></a></p>
<p>Wie bereits von meinen Tutorials gewohnt, ist auch dies nur ein kleiner Einstieg in die Funktionsweise einer selbstkompilierten Linux-Software, denn ob nun selbstkompiliert oder direkt via &#8220;apt-get&#8221; oder &#8220;rpm&#8221; installiert, es gilt immer: Die letztendliche Konfiguration übernimmt immer noch der Benutzer bzw. der Administrator &#8211; und wie immer gibt es auch viele unzählige Optionen, die dem einen wichtig, dem anderen eher unwichtig erscheinen, daher rate ich an dieser Stelle auch: Zieht die Dokumentation der Software zu Rate und passt Euch das Produkt gezielt auf Eure Bedürfnisse an, es lohnt sich!</p>
<p>Bei Fragen, Anmerkungen oder Ergänzungen nutzt bitte die Kommentarfunktion oder das Kontaktformular auf dieser Webseite!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oliver-pifferi.com/2010/02/squid-proxyeinrichtung-unter-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GreenSQL &#8211; Implementierung einer SQL-Firewall</title>
		<link>http://www.oliver-pifferi.com/2010/02/greensql-implementierung-einer-sql-firewall/</link>
		<comments>http://www.oliver-pifferi.com/2010/02/greensql-implementierung-einer-sql-firewall/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 19:48:34 +0000</pubDate>
		<dc:creator>Oliver Pifferi</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Features]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[datenbank]]></category>
		<category><![CDATA[greensql]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[opensuse]]></category>

		<guid isPermaLink="false">http://www.oliver-pifferi.com/?p=149</guid>
		<description><![CDATA[SQL-Injections &#8211; also verdächtige SQL-Anfragen mit dem Ziel, eine Datenbank zu kompromittieren, sind eine der stetig zunehmenden Gefahren in Bezug auf die Sicherheit von Web-, Mail- und Datenbankservern. Waren die erstgenannten bisher das erste Ziel von Angriffen, so konnte man ...]]></description>
			<content:encoded><![CDATA[<p>SQL-Injections &#8211; also verdächtige SQL-Anfragen mit dem Ziel, eine Datenbank zu kompromittieren, sind eine der stetig zunehmenden Gefahren in Bezug auf die Sicherheit von Web-, Mail- und Datenbankservern. Waren die erstgenannten bisher das erste Ziel von Angriffen, so konnte man in den letzten Monaten beobachten, das auch Datenbanken immer häufiger Attacken von aussen ausgesetzt waren. Das <a title="GreenSQL" href="http://www.greensql.net" target="_blank">GreenSQL-Projekt</a> hat es sich zur Aufgabe gemacht, eine Firewallapplikation für MySQL- und PostgreSQL-Datenbank zu entwickeln, über deren serverseitige Implementierung ich an dieser Stelle in Form eines Tutorials einmal berichten möchte.<span id="more-149"></span></p>
<p>Grundlegend hat GreenSQL vier Betriebsmodi, die sich wie folgt aufschlüsseln und bereits viel über die Einsatzzwecke- und Möglichkieten der Software offenbaren:</p>
<ul>
<li>Simulations-Modus (Intrusion Detection System)</li>
<li>Sperre  verdächtiger Abfragen (Intrusion Prevention System)</li>
<li>Lern-Modus</li>
<li>Datenbank-Firewall</li>
</ul>
<p>Auf die einzelnen Funktionen gehe ich an dieser Stelle nur stichpunktartig ein, da das Kompilieren und die damit verbundene grundsätzliche Funktion von GreenSQL im Vordergrund stehen, die Anwendungsebene bleibt dann dem Benutzer selbst überlassen, nachdem er dieses Tutorial durchgearbeitet hat.</p>
<p>Wie bei bisherigen Tutorials dieser Art haben wir grundsätzlich die Auswahl zwischen vorkompilierten und distributionsspezifischen RPM-Dateien oder aber dem Quellcode, den ich aus Gründen der eigenen Systemanpassung &#8211; sofern möglich &#8211; stets vorziehe. Die einzelnen Pakete können vorab unter http://www.greensql.net/download heruntergeladen werden, eine Registrierung ist nicht erforderlich (hilft den Autoren aber sicherlich!) und kann auf Wunsch durch Klicken auf die Option &#8220;Skip Registration&#8221; übersprungen werden.</p>
<p>Gehen wir also vom aktuellen Quellcode aus, so führt <a title="GreenSQL 1.2.2" href="http://www.greensql.net/download/get?os=Source_Code&amp;platform=Any&amp;filename=greensql-fw-1.2.2.tar.gz" target="_blank">dieser</a> Link zum Ziel. Wie üblich speichern wir das Archiv unter /usr/local und entpacken dies durch Eingabe von</p>
<blockquote><p>&#8220;tar zxvf greensql-fw-1.2.2.tar.gz&#8221;.</p></blockquote>
<p>Anschliessend wechseln wir durch Eingabe von</p>
<blockquote><p>&#8220;cd /usr/local/greensql-fw-1.2.2&#8243;</p></blockquote>
<p>in das just entpackte Verzeichnis  und werfen den Kompilierungsvorgang durch schlichte Eingabe des Befehls</p>
<blockquote><p>&#8220;./build.sh&#8221;</p></blockquote>
<p>an.</p>
<p>Werden jetzt diverse Fehler ausgegeben, so fehlen der Applikation diverse Bibliotheken &#8211; in meinem Fall (Testsystem: openSUSE 11.2) waren das die Komponenten &#8220;flex&#8221;, &#8220;bison&#8221;, &#8220;postgresql-develop&#8221;, &#8220;pcre-devel&#8221;, &#8220;libmysqlclient-devel&#8221; und &#8220;libevent-devel&#8221;. Diese schlüsselt die Installationsroutine wunderbar auf und nachdem diese nachinstalliert wurden, sollte auch der &#8220;make&#8221;-Befehl &#8211; sprich: Der eigentliche Kompilierungsvorgang &#8211; problemlos durchlaufen. Nun haben wir auf unserem Zielsystem ein neues RPM, wie zum Beispiel unter /usr/src/packages/RPMS/i586/greensql-fw-1.2.2-1.i586.rpm.</p>
<p>Dieses Paket lässt sich nun durch Eingabe von</p>
<blockquote><p>&#8220;rpm -i /usr/src/packages/RPMS/i586/greensql-fw-1.2.2-1.i586.rpm&#8221;</p></blockquote>
<p>installieren &#8211; nun teilt uns das frisch installierte Paket mit, das wir die Konfigurationsroutine unter</p>
<blockquote><p>&#8220;/usr/sbin/greensql-config&#8221;</p></blockquote>
<p>ausführen müssen, um die finale Anpassung des Programms an die eigene Betriebsumgebung zu beenden. Das ist ganz einfach, da die Routine alle benötigten Informationen in einem gewohnten Dialog abfragt, die benötige MySQL-Datenbank samt Benutzer anlegt und die GreenSQL-Konfigurationsdatei &#8220;greensql.conf&#8221; im Verzeichnis /etc/greensql erstellt.</p>
<p>Nachdem auch dieser Schritt abgeschlossen ist, können wir GreenSQL per Eingabe von</p>
<blockquote><p>&#8220;/etc/init.d/greensql-fw start&#8221;</p></blockquote>
<p>starten &#8211; der Startvorgang sollte problemlos vonstatten gehen &#8211; überprüfen lässt sich dies freilich in der Logdatei /var/log/greensql.log.</p>
<p>Um nun das Webinterface für die Verwaltung von GreenSQL in Eurer Apache-Webserverkonfiguration zu aktivieren, müsst Ihr am Ende der httpd.conf den folgenden Eintrag einfügen</p>
<blockquote><p>&#8220;Include /etc/greensql/greensql-apache.conf&#8221;</p></blockquote>
<p>sowie in besagter Datei die Einträge</p>
<blockquote><p>&lt;IfModule mod_alias.c&gt;<br />
Alias /greensql &#8220;/usr/share/greensql-fw&#8221;<br />
&lt;/IfModule&gt;</p></blockquote>
<p>aktivieren &#8211; sprich: Die Raute (&#8220;Lattenkreuz&#8221;) vor diesen drei Zeilen löschen. Dann gilt es noch, der Anwendung volle Schreibrechte in das Cacheverzeichnis zu geben &#8211; dies geschieht durch Eingabe von</p>
<blockquote><p>&#8220;chmod 0777 /usr/share/greensql-fw/templates_c&#8221;.</p></blockquote>
<p>Voila, nun könnt Ihr Euch über Euren Browser (http://&lt;IPEuresSystems&gt;/greensql) auf der Konfigurationsoberfläche von GreenSQL einloggen und anfangen, mit dieser Lösung zu arbeiten. Die Standardlogindaten (soweit nicht von Euch während des Konfigurationsvorganges geändert) sind &#8220;admin&#8221; mit dem Kennwort &#8220;pwd&#8221; &#8211; nach dem ersten erfolgreichen Einloggen finde ich es &#8211; sofern noch nicht geschehen &#8211; obligatorisch, diese Daten dringendst zu ändern &#8211; aber das versteht sich ja von selbst, oder?</p>
<p>Letztendlich gilt es dann nur noch, anstatt Eures normalen Datenbankservers mit Port 3306 (Standard) die IP und den Port (3305) des Rechners, auf dem GreenSQL läuft, anzugeben und schon ist Eure SQL-Firewallapplikation (Stichwort: &#8220;Proxying&#8221;) aktiv. Die weitere Konfiguration der Anwendung überlasse ich nun &#8211; wo das Programm an sich problemlos funktioniert &#8211; einmal Euch, denn hier würde ich in diesem installationsfokussierten Tutorial ein, zwei Schritte zu tief in den anwenderspezifischen Bereich eindringen &#8211; wer mehr dazu wissen möchte, möge mir entweder per Kommentarfunktion oder Kontaktformular ein Feedback geben oder aber die Ressourcen auf der Herstellerhomepage zu Rate ziehen!</p>
<p><a href="http://www.oliver-pifferi.com/wp-content/uploads/2010/02/greensql.jpg" rel="lightbox[149]"><img class="size-full wp-image-163 alignnone" style="border: 0pt none; margin: 5px;" title="greensql" src="http://www.oliver-pifferi.com/wp-content/uploads/2010/02/greensql.jpg" alt="" width="339" height="240" /></a></p>
<p><a href="http://www.oliver-pifferi.com/wp-content/uploads/2010/02/greensql_dashboard2.jpg" rel="lightbox[149]"><img class="size-thumbnail wp-image-169 alignnone" title="greensql_dashboard" src="http://www.oliver-pifferi.com/wp-content/uploads/2010/02/greensql_dashboard-270x150.jpg" alt="" width="270" height="150" /></a></p>
<p><a href="http://www.oliver-pifferi.com/wp-content/uploads/2010/02/mysql_proxy2.jpg" rel="lightbox[149]"><img class="size-thumbnail wp-image-173 alignnone" title="mysql_proxy" src="http://www.oliver-pifferi.com/wp-content/uploads/2010/02/mysql_proxy-270x150.jpg" alt="" width="270" height="150" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.oliver-pifferi.com/2010/02/greensql-implementierung-einer-sql-firewall/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installation der VMware-Tools unter openSUSE 11.2</title>
		<link>http://www.oliver-pifferi.com/2010/02/installation-der-vmware-tools-unter-opensuse-11-2/</link>
		<comments>http://www.oliver-pifferi.com/2010/02/installation-der-vmware-tools-unter-opensuse-11-2/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 13:17:30 +0000</pubDate>
		<dc:creator>Oliver Pifferi</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Features]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Virtualisierung]]></category>
		<category><![CDATA[fusion]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://www.oliver-pifferi.com/?p=143</guid>
		<description><![CDATA[Obwohl viele Linux-Distributionen bereits von Haus aus VMware-Unterstützung bieten, wollte ich einmal die Installation der VMware-Tools auf einem openSUSE 11.2-System mit VMware Fusion 3.0-&#8221;Unterbau&#8221; demonstrieren. Interessant sollte das speziell für diejenigen Poweruser sein, die immer noch eine auf ihr System ...]]></description>
			<content:encoded><![CDATA[<p>Obwohl viele Linux-Distributionen bereits von Haus aus VMware-Unterstützung bieten, wollte ich einmal die Installation der VMware-Tools auf einem openSUSE 11.2-System mit VMware Fusion 3.0-&#8221;Unterbau&#8221; demonstrieren. Interessant sollte das speziell für diejenigen Poweruser sein, die immer noch eine auf ihr System und ihre Bedürfnisse abgestimmte Version der VMware-Tools kompilieren wollen, anstatt sich auf die distributionsspezifischen und vorkompilierten Versionen zu verlassen.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/WTB-ZAtdlpc&amp;hl=de_DE&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/WTB-ZAtdlpc&amp;hl=de_DE&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.oliver-pifferi.com/2010/02/installation-der-vmware-tools-unter-opensuse-11-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Webmin-Installation unter Linux leicht gemacht</title>
		<link>http://www.oliver-pifferi.com/2010/01/webmin-installation-unter-linux-leicht-gemacht/</link>
		<comments>http://www.oliver-pifferi.com/2010/01/webmin-installation-unter-linux-leicht-gemacht/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 20:29:02 +0000</pubDate>
		<dc:creator>Oliver Pifferi</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[webmin]]></category>

		<guid isPermaLink="false">http://www.oliver-pifferi.com/?p=98</guid>
		<description><![CDATA[Seit Jahren ist der Webmin eins meiner liebsten Mittel, um einen Linux-Rechner/Server nicht nur über die Kommandozeile, sondern bequem über den Browser zu managen. Wer das Tool auch gerne nutzen, aber nicht unbedingt auf die Distributions-eigenen Pakete zurückgreifen möchte, kann ...]]></description>
			<content:encoded><![CDATA[<p>Seit Jahren ist der <a title="http://www.webmin.com" href="http://www.webmin.com" target="_blank">Webmin</a> eins meiner liebsten Mittel, um einen Linux-Rechner/Server nicht nur über die Kommandozeile, sondern bequem über den Browser zu managen. Wer das Tool auch gerne nutzen, aber nicht unbedingt auf die Distributions-eigenen Pakete zurückgreifen möchte, kann den Webmin auch bequem selbst installieren. Wie dies in fünf Minuten geht, zeige ich im Folgenden!<span id="more-98"></span>Wie immer sollte zuerst das aktuelle Quellpaket vom Hersteller (hier: <a title="http://www.webmin.com" href="http://www.webmin.com" target="_blank">http://www.webmin.com</a>) heruntergeladen werden, mein Beispielverzeichnis für den Download ist wie gewohnt &#8220;/usr/local&#8221;. Nun wird das Archiv (aktuellste Version: 1.500) durch Eingabe von</p>
<blockquote><p>&#8220;tar zxvf webmin-1.500.tar.gz&#8221;</p></blockquote>
<p>entpackt.</p>
<p>Wechselt nun in das Verzeichnis &#8220;/usr/local/webmin-1.500&#8243; und startet das Setup-Skript durch Eingabe von</p>
<blockquote><p>&#8220;./setup.sh&#8221;.</p></blockquote>
<p>Das Skript leitet Euch nun Schritt für Schritt durch die Installation &#8211; Pfadangaben (Webmin-Verzeichnis und Verzeoichnis für die Logdateien) können bei Bedarf angepasst werden, ein Druck auf die &lt;ENTER&gt;-Taste übernimmt die jeweilige Voreinstellung und springt zum nächsten Punkt. Wichtig ist, das der Perl-Interpreter installiert ist &#8211; ist er das nicht, zeigt Euch das Installationskript dies entsprechend an und Perl muss vor einem erneuten Aufruf des Setup-Skripts erst einmal installiert werden.</p>
<p>Interessant sind speziell die Fragen nach dem Webserver-Port, auf dem der Webmin läuft ((Standard: 10000) als auch der gewünschte Benutzername (Standard: &#8220;admin&#8221;) und das Kennwort, welches Ihr selbstverständlich eingeben und einmal bestätigen müsst. Auch die Frage, ob Webmin beim Booten des Systems dauerhaft gestartet werden soll (und das macht Sinn, wie ich finde!) sollte mit &#8220;y&#8221; (&#8220;yes&#8221;) beantwortet werden.</p>
<p>Dann installiert das Installationskript die Webmin-Umgebung in die von Euch ausgewählten Pfadnamen und nach dem (hoffentlich) erfolgreichen Installationsvorgang ist durch Eingabe von</p>
<blockquote><p>http://&lt;EuerHost.tld&gt;:10000</p></blockquote>
<p>der Webmin zu erreichen. Nutzt die eben festgelegten Anmeldedaten und schon könnt Ihr eine der besten und mächtigsten GUI-Oberflächen zur Verwaltung eines Linux-Betriebssystems nutzen!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oliver-pifferi.com/2010/01/webmin-installation-unter-linux-leicht-gemacht/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apache &amp; PHP &#8211; eigene Entwicklungsumgebung kompilieren</title>
		<link>http://www.oliver-pifferi.com/2010/01/apache-php-eigene-entwicklungsumgebung-kompilieren/</link>
		<comments>http://www.oliver-pifferi.com/2010/01/apache-php-eigene-entwicklungsumgebung-kompilieren/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 18:57:46 +0000</pubDate>
		<dc:creator>Oliver Pifferi</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[lamp]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.oliver-pifferi.com/?p=71</guid>
		<description><![CDATA[Schon zu Zeiten meiner Ausbildung hat mich der wohl beste Webserver samt PHP-Umgebung in den Bann gezogen &#8211; war damals noch alles über den Debian-Paketmanager von CDs installiert worden, kam irgendwann einmal der Wunsch auf, Apache &#38; PHP selbst zu ...]]></description>
			<content:encoded><![CDATA[<p>Schon zu Zeiten meiner Ausbildung hat mich der wohl beste Webserver samt PHP-Umgebung in den Bann gezogen &#8211; war damals noch alles über den Debian-Paketmanager von CDs installiert worden, kam irgendwann einmal der Wunsch auf, Apache &amp; PHP selbst zu kompilieren und sich somit eine massgeschneiderte Entwicklungsumgebung zu kreieren. Wie man das macht, möchte ich im folgenden nun Beschreiben, Testsystem war ein aktuelles openSUSE 11.2, das bereits Unterbau für mein <a title="http://www.oliver-pifferi.com/2010/01/mysql-kompilieren-eigener-binaries/" href="http://www.oliver-pifferi.com/2010/01/mysql-kompilieren-eigener-binaries/" target="_blank">MySQL-Tutorial</a> war.<span id="more-71"></span></p>
<p>Die aktuelle Versionen von Apache (2.2.14) und PHP (5.3.1) können müssen zuerst einmal als Source-Paket von den Herstellerseiten (<a title="http://httpd.apache.org" href="http://httpd.apache.org" target="_blank">http://httpd.apache.org</a>)<a title="httpd.apache.org" href="httpd.apache.org" target="_blank"></a> bzw. <a title="http://www.php.net" href="http://www.php.net" target="_blank">http://www.php.net</a>) heruntergeladen werden, idealerweise ins Verzeichnis &#8220;/usr/local&#8221; (wobei sich Eure Pfadangaben natürlich entsprechend unterscheiden können, dieses Verzeichnis ist für mich nur schon seit Urzeiten mein Installationsverzeichnis &#8211; daher dient es hier als Muster!).</p>
<p>Anschliessend entpacken wir erst einmal den Apache-Quellcode durch Eingabe von</p>
<blockquote><p>&#8220;tar zxvf httpd-2.2.14.tar.gz &#8220;.</p></blockquote>
<p>Anschliessend wechseln wir in das &#8220;httpd-2.2.14&#8243;-Verzeichnis und generieren wieder das Makefile, sprich: Durch den &#8220;./configure&#8221;-Befehl passen wir das zu erstellende Apache-Paket an unsere Systemumgebung- und Bedürfnisse an und geben direkt das ein oder andere nützliche Modul mit an &#8211; der Beispiel-Befehl würde also in etwa so lauten:</p>
<p>&#8220;./configure \<br />
&#8211;prefix=/usr/local/apache2 \<br />
&#8211;enable-cgi \<br />
&#8211;enable-ssl \<br />
&#8211;enable-so \<br />
&#8211;enable-rewrite \<br />
&#8211;enable-mime-magic \<br />
&#8211;enable-suexec \<br />
&#8211;enable-static-rotatelogs \<br />
&#8211;enable-speling&#8221;</p>
<p>Der Befehl kann in einer Reihe eingegeben werden, dann fallen natürlich die Backslashes weg, wenn Ihr die Zeilen oben 1:1 in Eure Shell kopiert, sollte das Erstellen des Makefiles auch kein Problem darstellen. Wenn eine Fehlermeldung erscheint (bei mir waren es beispielsweise für die Entwicklung benötigte openSSL-Bibliotheken, die fehlten), sorgt bitte für eine Nachinstallation der gewünschten Pakete und startet den Konfigurationsvorgang erneut. Ist der ohne Fehler durchgelaufen, kann man durch Eingabe von</p>
<blockquote><p>&#8220;make&#8221;</p></blockquote>
<p>wie gewohnt den eigentlichen Kompilierungsvorgang starten. Läuft auch dieser ohne Fehler durch, ist der finale Befehl zum Kopieren und Installieren der Binaries der Befehl</p>
<blockquote><p>&#8220;make install&#8221;.</p></blockquote>
<p>Damit ist der eigentliche Apache-Kompilierungsvorgang abgeschlossen und man kann durch Eingabe von</p>
<blockquote><p>&#8220;/usr/local/apache2/bin/apachectl start&#8221;</p></blockquote>
<p>den Apache-Dämon starten. Ob der funktioniert, lässt sich durch das Ansurfen der IP Eures &#8211; nun &#8211; Webservers über den Browser Eurer Wahl oder direkt am Server über Eingabe von</p>
<blockquote><p>&#8220;telnet localhost 80&#8243;</p></blockquote>
<p>feststellen &#8211; auf jeden Fall sollte eine entsprechende Apache-Startseite (&#8220;It works!&#8221;) erscheinen und damit liegt die erste Hälfte dieses Tutorials bereits erfolgreich hinter uns &#8211; parallel kann man durch Eingabe von</p>
<blockquote><p>&#8220;cp /usr/local/apache2/bin/apachectl /etc/init.d/apache&#8221;</p></blockquote>
<p>das Apache-Startskript schon mal in den Startordner des Systems kopieren, damit beim nächsten Neustart der Apache-Server direkt mitgestartet wird. Diesen Zustand erreicht man durch Eingabe von</p>
<blockquote><p>&#8220;/sbin/chkconfig &#8211;add apache&#8221;.</p></blockquote>
<p>Nun geht es weiter mit der PHP-Umgebung, die ebenfalls noch gepackt im Verzeichnis &#8220;/usr/local&#8221; liegt und durch Eingabe von</p>
<blockquote><p>&#8220;tar zxvf php-5.3.1.tar.gz&#8221;</p></blockquote>
<p>entpackt wird.</p>
<p>Nun gilt es, auch hier das Makefile zu erzeugen, welches durch Eingabe von</p>
<blockquote><p>&#8220;./configure &#8211;with-apxs2=/usr/local/apache2/bin/apxs &#8211;with-mysql=/usr/local/mysql &#8211;prefix=/usr/local/php &#8211;with-config-file-path=/usr/local/php &#8211;disable-cgi &#8211;with-mcrypt&#8221;</p></blockquote>
<p>geschieht. Die einzelnen Optionen für die grundsätzliche Installation sind natürlich optional und stellen folgendes dar:</p>
<ul>
<li>&#8220;with-apxs2&#8243; :</li>
<li>&#8220;with-mysql&#8221; : Angabe des Verzeichnisses, in dem eine ggf. vorhandene MySQL-Installation liegt, damit die Verbindung mit MySQL direkt miteinkompiliert werden kann. Ist noch kein MySQL installiert, diesen Schalter entweder weglassen oder aber MySQL nachinstallieren</li>
<li>&#8220;prefix&#8221;: Installationspfad der eigentlichen PHP-Umgebung</li>
<li>&#8220;with-config-file-path&#8221;: Dateipfad der PHP-Konfigurationsdatei php.ini</li>
<li>&#8220;disable-cgi&#8221;: Stellt sicher, das PHP nicht in einer CGI-Umgebung bzw. in einem CGI-Modus läuft</li>
<li>&#8220;with-mcrypt&#8221;: Integration der MCrypt-Bibliothek aus Gründen der Datenverschlüsselung</li>
</ul>
<p>Auch hier sollte das Makefile dann &#8220;vernünftig&#8221; erstellt werden, etwaige fehlende Programmbibliotheken (bei mir war es beispielsweise die libxml2-Bibliothek) müssen dann vorab wieder nachinstalliert werden. Läuft das Skript problemlos durch, kann der eigentliche Kompilierungsvorgang auch hier angeworfen werden &#8211; wie immer über den Befehl</p>
<blockquote><p>&#8220;make&#8221;.</p></blockquote>
<p>Nach einer Weile (und hoffentlich keinen Fehlern) können die Binärdateien nun via</p>
<blockquote><p>&#8220;make install&#8221;</p></blockquote>
<p>an ihre endgültige Position kopiert werden.</p>
<p>Während dieses Prozesses wird auch das eigentliche PHP5-Modul kopiert und in der Apache-Konfigurationsdatei httpd.conf aktiviert, der Eintrag sollte dort wie folgt aussehen:</p>
<blockquote><p>&#8220;LoadModule php5_module        modules/libphp5.so&#8221;</p></blockquote>
<p>Sollte dies wider Erwarten nicht in der httpd.conf stehen, so muss dieser Eintrag manuell nachgepflegt werden. Diverse PHP-Bibliotheken sollten dann noch (wie es am Ende der Ausgabe des Makefiles steht) durch Eingabe von</p>
<blockquote><p>&#8220;./libtool &#8211;finish /usr/local/php-5.3.1/libs&#8221;</p></blockquote>
<p>im Source-Verzeichnis (hier: /usr/local/php-5.3.1) dem System bekannt gemacht werden, bevor wir uns an die letzte Änderung der Apache-Konfigurationsdatei httpd.conf wagen &#8211; denn nachdem das PHP5-Modul bereits geladen ist, müssen wir unserem Webserver noch mitteilen, welche Dateiendungen überhaupt mit PHP geparst werden sollen. In meinem Beispiel sind das alle Dateien mit der Endung .php und .html:</p>
<blockquote><p>&#8220;AddType application/x-httpd-php .php .html<br />
AddType application/x-httpd-php-source .phps&#8221;</p></blockquote>
<p>Anschliessend teilen wir der httpd.conf noch mit, das Dateien, die auch &#8220;index.php&#8221; heissen, als Startseite des Webservers anerkannt werden &#8211; der Eintrag für die index.html steht bereits dort drin und muss nur noch wie folgt abgeändert werden:</p>
<blockquote><p>&#8220;&lt;IfModule dir_module&gt;<br />
DirectoryIndex index.html index.php<br />
&lt;/IfModule&gt;&#8221;</p></blockquote>
<p>Nun fehlt zum &#8220;finalen Glück&#8221; noch eine &#8220;php.ini&#8221;-Datei, die wir durch Eingabe von</p>
<blockquote><p>&#8220;cp /usr/local/php-5.3.1/php.ini-production /usr/local/php/php.ini&#8221;</p></blockquote>
<p>in das beim Kompilierungsvorgang angegebene Zielverzeichnis kopieren.</p>
<p>Nach einem Neustart des Apache-Webservers ist dann die grundlegende Implementation von PHP 5 in Apache abgeschlossen und wir können uns dem finalen Test widmen: Im Dokumentenroot (hier: /usr/local/apache2/htdocs) muss nun eine Datei mit dem Beispielnamen &#8220;phpinfo.php&#8221; angelegt werden, die nur den folgenden Inhalt enthält:</p>
<blockquote><p>&#8220;&lt;?php phpinfo(); ?&gt;&#8221;</p></blockquote>
<p>Wird nun Euer Webserver via <a title="http://linux-vm.pifferi.local/phpinfo.php" href="http://linux-vm.pifferi.local/phpinfo.php" target="_blank">http://linux-vm.pifferi.local/phpinfo.php</a> (dies ist beispielsweise die URL meines Testsystems), müsste eine ausführliche PHP-Infoseite auf dem Bildschirm erscheinen, die besagt, das alles richtig gemacht wurde!</p>
<p><a rel="attachment wp-att-87" href="http://www.oliver-pifferi.com/2010/01/apache-php-eigene-entwicklungsumgebung-kompilieren/phpinfo/"><img class="aligncenter size-medium wp-image-87" title="phpinfo" src="http://www.oliver-pifferi.com/wp-content/uploads/2010/01/phpinfo-570x248.jpg" alt="" width="570" height="248" /></a></p>
<p>Damit ist auch dieses Tutorial beendet und zusammen mit dem vorherigen MySQL-Tutorial solltet Ihr nun eine ideale Entwicklungs- oder (je nach Anpassung) Produktivumgebung für Euer System besitzen. Wie immer gilt auch hier: Die einzelnen Schalter &amp; Optionen des &#8220;configure&#8221;-Befehls sind sowohl bei Apache als auch bei PHP nahezu unendlich und für jeden Bedarf zugeschnitten &#8211; man muss nur lesen. Diese Anleitung soll nur der erste Schritt sein, um mit diesen wundervollen Softwarekomponenten arbeiten zu können und ich würde mich wie immer über Feedback jeglicher Art freuen!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oliver-pifferi.com/2010/01/apache-php-eigene-entwicklungsumgebung-kompilieren/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL &#8211; Kompilieren eigener Binaries</title>
		<link>http://www.oliver-pifferi.com/2010/01/mysql-kompilieren-eigener-binaries/</link>
		<comments>http://www.oliver-pifferi.com/2010/01/mysql-kompilieren-eigener-binaries/#comments</comments>
		<pubDate>Sat, 09 Jan 2010 16:11:33 +0000</pubDate>
		<dc:creator>Oliver Pifferi</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[datenbank]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.oliver-pifferi.com/?p=23</guid>
		<description><![CDATA[MySQL hat sich über die Jahre zu einer DER Datenbanken schlechthin entwickelt &#8211; die große Portabilität zwischen verschiedenen Systemen, die Stabilität und Flexibilität sowie die unschlagbare Geschwindigkeit haben dieser Datenbank im Laufe der Zeit zu einem hervorragenden Ruf verholfen. Es ...]]></description>
			<content:encoded><![CDATA[<p>MySQL hat sich über die Jahre zu einer DER Datenbanken schlechthin entwickelt &#8211; die große Portabilität zwischen verschiedenen Systemen, die Stabilität und Flexibilität sowie die unschlagbare Geschwindigkeit haben dieser Datenbank im Laufe der Zeit zu einem hervorragenden Ruf verholfen.<span id="more-322"></span></p>
<p>Es ist also an der Zeit, sich einmal intensiver mit dem Thema &#8220;MySQL&#8221; beschäftigten und nachdem ich im Laufe der letzten Jahre verschiedene Distributionen mit vorkompilierten Binaries getestet habe, kam irgendwann der Zeitpunkt, wo ich MySQL speziell an mein System anpassen und auch nicht mehr mit der mitgelieferten Version Vorlieb nehmen wollte.</p>
<p>Fazit : Der Quellcode musste her, ein wenig Wissen musste angelesen werden und als Resultat erhielt ich letztendlich dann die speziell auf mein jeweiliges System angepasste Version von MySQL.</p>
<p>Als erstes sollte sich der geneigte Linux-User daher das Source-Package von http://www.mysql.com besorgen, im Falle dieses Workshops hieß die aktuelle Version &#8220;mysql-5.1.42.tar.gz&#8221; und stellte den blanken Sourcecode dar. Dieser ist mit dem Kommando</p>
<blockquote><p>&#8220;tar zxvf mysql-5.1.42.tar.gz&#8221;</p></blockquote>
<p>zu entpacken.</p>
<p>Wechselt nun in das neu enstandene Verzeichnis &#8220;mysql-5.1.42.tar.gz&#8221;. Nun muß erstmal der Standard-MySQL-User und die Standardgruppe angelegt werden. Dies geschieht durch Eingabe der folgenden Kommandos :</p>
<blockquote><p>&#8220;groupadd mysql&#8221; und<br />
&#8220;useradd -g mysql mysql&#8221;</p></blockquote>
<p>Anschließend müsst Ihr erst einmal das &#8220;Configure&#8221;-Skript ablaufen lassen, das Eure Systemumgebung prüft und aus dem Ergebnis das Makefile generiert. Werden hier Fehler ausgegeben, müssen über die jeweiligen Paketmanager oder manuell die fehlenden Module- bzw. Bibliotheken nachinstalliert werden. Wollt Ihr Eure MySQL-Version also beispielsweise unter &#8220;/usr/local/mysql&#8221; installieren, so gilt folgende Eingabe :</p>
<blockquote><p>&#8220;./configure &#8211;prefix=/usr/local/mysql&#8221;</p></blockquote>
<p>Dies sollte im Normalfall (von dem ich jetzt hier einfach einmal ausgehe) problemlos vonstatten gehen (meine Tests fanden bei älteren MySQL-Distributionen unter anderem auf Debian 2.1, Red Hat 6.2 &amp; 7.0 sowie SuSE 7.2, alle Versuche, den aktuellen 5&#8242;er Stamm der Open Source-Datenbank zu erstellen unter SuSE  11.2 statt), weswegen ihr anschließend das eigentliche Kompilieren in Angriff nehmen könnt. Tippt also</p>
<blockquote><p>&#8220;make&#8221; und<br />
&#8220;make install&#8221;</p></blockquote>
<p>und fertig sind eure eigenen, selbstkompilierten MySQL-Binaries &#8211; vorausgesetzt, Compiler und die notwendigen Bibliotheken sind installiert. Falls nicht, gilt auch hier: Nachinstallieren!</p>
<p>Ihr könnt nun die MySQL-Standarddatenbank, in der unter anderem die Benutzer verwaltet werden, durch die Eingabe von</p>
<blockquote><p>&#8220;scripts/mysql_install_db&#8221;</p></blockquote>
<p>erstellen.</p>
<p>Nun müssen noch die jeweiligen Benutzerrechte auf das &#8220;mysql&#8221;-Verzeichnis und die darunterliegenden Pfade gesetzt werden. Dies geschieht durch die folgenden Befehle :</p>
<blockquote><p>&#8220;chown -R root /usr/local/mysql&#8221;,<br />
&#8220;chown -R mysql /usr/local/mysql/var&#8221; und<br />
&#8220;chgrp -R mysql /usr/local/mysql&#8221;.</p></blockquote>
<p>Nun sind wir fast am Ende &#8211; als vorletzten Punkt müssen wir nur noch ein Standard-Konfigurationsfile in das &#8220;/etc&#8221;-Verzeichnis unseres Linux-Systems kopieren. Als Standard nimmt man die vordefinierte Konfigurationsdatei &#8220;my-medium.cnf&#8221;, die für ziemlich alle Plattformen den besten Kompromiss bietet. Natürlich stehen für langsamere oder auch High-End-Rechner ebenfalls Musterkonfiguration zur Verfügung, aber wir wählen auf unserem Testsystem (Core2Duo-CPU 2,53 GHz, 4 GB RAM) einfach mal die Medium-Datei. Gebt also folgendes Kommando ein, während ihr euch noch im Sourcepfad befindet :</p>
<blockquote><p>&#8220;cp support-files/my-medium.cnf /etc/my.cnf&#8221;</p></blockquote>
<p>Damit habt ihr die Hürde der ersten eigenen MySQL-Installation bereits genommen. Startet nun &#8220;euer&#8221; Werk durch Eingabe von</p>
<blockquote><p>&#8220;/usr/local/mysql/bin/mysqld_safe &#8211;user=mysql &amp;&#8221;</p></blockquote>
<p>und die Datenbank läuft. Wollt ihr es euch dann noch ganz einfach machen, kopiert die die Datei &#8220;mysql.server.sh&#8221; in euer &#8220;/etc/init.d&#8221;-Verzeichnis</p>
<blockquote><p>(&#8220;cp support-files/mysql.server.sh /etc/init.d/mysql&#8221;),</p></blockquote>
<p>paßt sie gegebenenfalls an Euer System an und macht das Skript durch die Eingabe von</p>
<blockquote><p>&#8220;chmod +x /etc/init.d/mysql&#8221;</p></blockquote>
<p>ausführbar.</p>
<p>Anschliessend teilen wir dem System mit, das in den Standardrunleveln 2, 3, 4 und 5 das MySQL-Startskript abgearbeitet werden soll. Das geschieht einmalig durch Eingabe des Befehls</p>
<blockquote><p>&#8220;/sbin/chkconfig -add mysql&#8221;.</p></blockquote>
<p>Nun wird euer MySQL-Dämon bei jedem Neustart des Systems automatisch mitgestartet, sofern Ihr die oben genannte Datei noch per Editor (vi etc.) in den Variablen &#8220;basedir&#8221; und &#8220;datadir&#8221; wie folgt anpasst (angelehnt an unsere Standardinstallationspfade):</p>
<blockquote><p>&#8220;basedir=/usr/local/mysql<br />
datadir=/usr/local/mysql/var&#8221;</p></blockquote>
<p>Was nun noch geändert werden sollte, nachdem der Dämon läuft ist &#8211; selbstverständlich &#8211; das leere Standardkennwort für den MySQL-Root-Benutzer. Dies geschieht durch Eingabe von</p>
<blockquote><p>&#8220;/usr/local/mysql/bin/mysql -u root -p&#8221;</p></blockquote>
<p>Nach Drücken der &#8220;Enter&#8221;-Taste (schliesslich ist das aktuelle Kennwort eigentlich noch gar keins) befindet Ihr Euch dann auf der MySQL-Konsole. Nun kann durch Eingabe des Befehls</p>
<blockquote><p>&#8220;set password=password(&#8220;neues passwort&#8221;);&#8221;</p></blockquote>
<p>das neue Kennwort (bitte entsprechend und selbstverständlich den Tag &#8220;neues passwort&#8221; ersetzen!) gesetzt werden. Durch die Eingabe des Befehls &#8220;exit&#8221; gelangt Ihr dann wieder auf die Linux-Shell.</p>
<p>So, ich denke mal, das sollte für den ersten Einstieg in die Installation einer MySQL-Datenbank gereicht haben und ich hoffe, das dieser Workshop auch einigermaßen verständlich aufgebaut ist &#8211; falls nicht, bin ich immer für irgendwelche Verbesserungsvorschläge, Fragen, Anregungen aber auch Kritik immer empfänglich ! Denkt immer dran, das dies ein kleiner Schritt in das Kompilieren von MySQL-Binaries ist und erst einmal eine funktionsfähige Datenbankstruktur liefert. Wer mehr benötigt, kann den anfänglichen &#8220;configure&#8221;-Befehl entsprechend anpassen und so all die Module einkompilieren, die in diesem Standard-Tutorial aus Zeit- und Platzgründen unerwähnt blieben.</p>
<p>Die hier angegeben Pfade müssen sich natürlich nicht mit euren Einstellungen decken und wenn ihr zum Beispiel alle Binärdateien oder Datenbanken in andere Verzeichnisse installieren wollt, empfehle ich die Option</p>
<blockquote><p>&#8220;./configure -help&#8221; ,</p></blockquote>
<p>wo wirklich jede kleinste Option für eure persönliche Installation genauestens dokumentiert ist. Als kleine Notiz am Rande sei angemerkt, das dieses Tutorial in dieser Form bereits seit MySQL 3.23.42 besteht, sich über all die Monate und Jahre in der eigentlichen Grundinstallationsroutine keine nennenswerten Änderungen ergeben haben &#8211; zumindest nicht für die blanke Grundinstallation!</p>
<p>Zuguterletzt hier noch die URL&#8217;s zu zwei Tools, mit denen sich die Verwaltung eurer MySQL-Datenbank zu einem Kinderspiel entwickelt :</p>
<p>Webmin : <a title="http://www.webmin.com" href="http://www.webmin.com" target="_blank">http://www.webmin.com</a></p>
<p>phpMyAdmin : <a title="http://www.phpmyadmin.net" href="http://www.phpmyadmin.net" target="_blank">http://www.phpmyadmin.net</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.oliver-pifferi.com/2010/01/mysql-kompilieren-eigener-binaries/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Postfix &#8211; SMTP-Authentifikation leicht gemacht</title>
		<link>http://www.oliver-pifferi.com/2010/01/postfix-smtp-authentifikation-leicht-gemacht/</link>
		<comments>http://www.oliver-pifferi.com/2010/01/postfix-smtp-authentifikation-leicht-gemacht/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 00:00:27 +0000</pubDate>
		<dc:creator>Oliver Pifferi</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[mta]]></category>
		<category><![CDATA[postfix]]></category>

		<guid isPermaLink="false">http://www.oliver-pifferi.com/?p=36</guid>
		<description><![CDATA[Wer jahrelang Sendmail als MTA unter Linux benutzt hat, hat sich über die Zeit sicherlich an die Software gewöhnt, aber bestimmt auch oft mit deren Flexibilität und Komplexität gehadert &#8211; manchmal war Sendmail einfach zu umfangreich, manchmal wieder zu starr ...]]></description>
			<content:encoded><![CDATA[<p>Wer jahrelang Sendmail als MTA unter Linux benutzt hat, hat sich über die Zeit sicherlich an die Software gewöhnt, aber bestimmt auch oft mit deren Flexibilität und Komplexität gehadert &#8211; manchmal war Sendmail einfach zu umfangreich, manchmal wieder zu starr und strikt, was die (zugegeben hakelige) Grundkonfiguration anging. Aus diesem Grund bin ich vor ein paar Monaten einfach mal ins kalte Wasser gesprungen und habe den Wechsel zu Postfix gewagt. Die reine Konfiguration, um zumindest Mails zu verschicken, war recht schnell gefunden &#8211; leider stolperte ich ebenso schnell über die fehlende Möglichkeit, meine Mails über einen anderen Mailserver (hier : all-inkl.com) zu relayen&#8230; <span id="more-36"></span>Das Problem mußte also gelöst werden, schließlich liegt meine Domain bei all-inkl, warum sollte ich also nicht den dazugehörigen SMTP-Server für meinen Mailversand nutzen? Ganz einfach, fährt all-inkl doch selbstverständlich kein offenes Relay, sondern erfordert eine Benutzerauthentifizierung &#8211; in Momenten des Spamzeitalters also das A und O, um sich die eigene Serverlandschaft nicht durch Millionen unnützer Mails lahmzulegen. Wie war also Postfix beizubringen, dieses SMTP-Auth-Feature (wie es im allgemeinen genannt wird) zu nutzen?</p>
<p>Wie so oft stand vor dem glücklichen Ergebnis eine Menge Arbeit und Schweiß, die sich hier durch das Wälzen diverser Dokumentationen und Fallbeispiele ausdrückten &#8211; mit einem am Ende mehr als zufriedenstellenden Ergebnis!</p>
<p>Getestet wurden diese Dokumentation auf SuSE-Linux-Systemen der Versionen 9.0 und 9.1, im Großen und Ganzen ist dieses Tutorial aber auch portierbar auf alle anderen Distributionen und Plattformen, auch wenn unter Umständen Pfadangaben etc. ein wenig abweichen können! Selbstverständlich wird auch der Mailserver, über den relayed wird, von User zu User verschieden sein, in dem hier vorliegenden Fall gehen wir immer vom Mailserver Eurer Domain (smtp.&lt;euredomain.tld&gt;) aus!</p>
<p>Um zum Punkt (und dem Grund dieses Tutorials zu kommen), fangen wir an dieser Stelle einfach mal mit der Konfigurationsarbeit an sich an &#8211; editiert also mit dem Editor Eurer Wahl die Datei &#8220;/etc/postfix/main.cf&#8221; und fügt der eigentlichen Konfigurationsdatei die folgenden Zeilen zu :</p>
<blockquote><p># SMTP-Authentifikation<br />
# Nutzung von SMTP mit SASL-Authentifikation<br />
smtp_sasl_auth_enable = yes</p>
<p># Notwendige Paßwörter stehen im unten angegebenen Paßwortfile smtp_auth<br />
smtp_sasl_password_maps = hash:/etc/postfix/smtp_auth</p>
<p># Option : Verweigerung anonymer Anmeldungen<br />
smtp_sasl_security_options = noanonymous</p>
<p># E-Mail-Host, der als Relay dienen soll<br />
relayhost = smtp.&lt;euredomain.tld&gt;</p></blockquote>
<p>Speichert die veränderte Datei ab und prüft durch Eingabe der Befehle &#8220;postfix check&#8221; und &#8220;postconf&#8221; Eure nun veränderte Konfiguration. Ersterer Befehl sollte keine Fehler melden, dann sind wir an dieser Stelle mit der Hauptkonfigurationsdatei fertig. Nun ist es an der Zeit, das Paßwortfile &#8220;smtp_auth&#8221; im Verzeichnis &#8220;/etc/postfix&#8221; zu erstellen. Der Inhalt sollte vom Muster her wie folgt aussehen :</p>
<blockquote><p>&#8220;smtp.&lt;euredomain.tld&gt; username:password&#8221;</p></blockquote>
<p>Relayserver ist hier &#8220;smtp.&lt;euredomain.tld&gt;&#8221;, &#8220;username&#8221; der Benutzername eines beliebigen POP3-/IMAP-Benutzers bei Eurem Provider und &#8220;password&#8221; logischerweise das dazugehörige Kennwort. Speichert nun die Datei und erzeugt die &#8220;gehashte&#8221; Datei (sprich : Diese Textdatei im oben angegebenen Hash-Format) durch Eingabe von</p>
<blockquote><p>&#8220;postmap smtp_auth&#8221;</p></blockquote>
<p>im Verzeichnis &#8220;/etc/postfix&#8221;.</p>
<p>Im eigentlichen Sinne haben wir hiermit unser Ziel erreicht. Durch Eingeben des Befehls</p>
<blockquote><p>&#8220;/etc/init.d/postfix restart&#8221;</p></blockquote>
<p>wird der Postfix-Dienst neu gestartet und Ihr könnt von Eurem bevorzugten E-Mail-Programm einmal eine Testmail an eine beliebige Adresse versenden. Um zu überprüfen, ob dies auch brav so geschieht, wie wir das eigentlich erreichen wollten, gibt es in der Datei &#8220;/etc/postfix/master.cf&#8221; eine Zeile, die wie folgt lautet :</p>
<blockquote><p>&#8220;smtp unix &#8211; - &#8211; - &#8211; smtp&#8221;</p></blockquote>
<p>Setzt bitte hinter das letzte &#8220;smtp&#8221; einmal den Parameter &#8220;-v&#8221;, so das die Zeile wie folgt aussieht :</p>
<blockquote><p>&#8220;smtp unix &#8211; - &#8211; - &#8211; smtp -v&#8221;</p></blockquote>
<p>Wird Postfix dann noch neu gestartet und schaut man sich parallel das Logfile an, sollte die E-Mail, die wir eben verschickt haben, hoffentlich mit dem Status &#8220;sent&#8221; verschickt worden sein. Ist dies nicht der Fall, hat es auf dem Weg hierhin noch irgendein Problem gegeben bzw. ist bis hierhin ein Problem aufgetaucht, was aber &#8211; sind keine Tippfehler etc. vorhanden &#8211; relativ unwahrscheinlich sein dürfte. Stellt abschließend bitte in der Datei &#8220;/etc/postfix/master.cf&#8221; in der Zeile</p>
<blockquote><p>&#8220;smtp unix &#8211; - &#8211; - &#8211; smtp -v&#8221;</p></blockquote>
<p>wieder den Ursprungszustand durch das Entfernen des &#8220;-v&#8221;-Parameters her, bevor das Mail-Logfile ins Unüberschaubare wächst und Ihr Euch irgendwann wundert, warum Eure Festplatte plötzlich voll ist (ja, auch das kann passieren!)!</p>
<p>Unter dem Strich &#8211; und um dieses Tutorial an dieser Stelle einmal abzuschließen &#8211; sollte sich nun die Möglichkeit des Relayens über den eigenen Internetprovider bieten, allerdings &#8211; und das betone ich an dieser Stelle extra noch einmal &#8211; über einen unverschlüsselten Mailserver via Port 25 &#8211; wer es also verschlüsselt mag, sollte sich einen SSL-Server suchen und parallel noch die Postfix-Dokumentation zu Rate ziehen! Bei Fragen, Anregungen, Erfahrungsberichten oder auch Kritik bezüglich dieser Anleitung bitte ich um eine E-Mail über das entsprechende Mailformular auf dieser Webseite!</p>
<p>Weitere Informationen und allerlei Wissenswertes über Postfix findet Ihr auf der offiziellen Projekthomepage :</p>
<p><a title="http://www.postfix.org" href="http://www.postfix.org" target="_blank">http://www.postfix.org</a> !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oliver-pifferi.com/2010/01/postfix-smtp-authentifikation-leicht-gemacht/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
