<?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>admirableadmin &#187; debian</title>
	<atom:link href="http://admirableadmin.de/tag/debian/feed" rel="self" type="application/rss+xml" />
	<link>http://admirableadmin.de</link>
	<description>&#34;Suchst du noch oder lebst du schon?&#34;</description>
	<lastBuildDate>Sun, 20 May 2012 14:31:19 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Installing nginx with PHP on Debian</title>
		<link>http://admirableadmin.de/190/installing-nginx-with-php-on-debian</link>
		<comments>http://admirableadmin.de/190/installing-nginx-with-php-on-debian#comments</comments>
		<pubDate>Sat, 25 Feb 2012 23:06:29 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[en]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/?p=190</guid>
		<description><![CDATA[By searching the web how to install nginx with PHP5 on Debian, one can find different tutorials, but many require a lot of manual work. At first some background information: nginx (wikipedia) is a very fast webserver with efficient use of system resources. Because of debian&#8217;s security policy you can&#8217;t install the current up to date [...]]]></description>
			<content:encoded><![CDATA[<p>By searching the web how to install nginx with PHP5 on Debian, one can find different tutorials, but many require a lot of manual work.</p>
<p><span id="more-190"></span>At first some background information: nginx (<a href="https://en.wikipedia.org/wiki/Nginx" target="_blank">wikipedia</a>) is a very fast webserver with efficient use of system resources. Because of debian&#8217;s security policy you can&#8217;t install the current up to date version of out of the box, therefore you have to <em>compile it on your own</em>. Or one can use the <em><a href="http://admirableadmin.de/tag/dotdeb" target="_blank">dotdeb</a> service</em>, which offers a slightly older version of nginx. Furthermore you can use some strange <em>setup scripts</em> if you trust them.</p>
<p>But if you do not need the most up to date version of nginx and don&#8217;t want to break your systems securety with different thirdparty stuff you can follow this short guide.</p>
<p><strong>Install required packages</strong></p>
<p class="code">apt-get install php5-cgi php5-suhosin spawn-fcgi nginx</p>
<p>Start nginx afterwards:</p>
<p class="code">/etc/init.d/nginx start</p>
<p>Type in your web server&#8217;s IP address and you should see some error-webpage. On my system the <em>/var/www</em> directory was missing, so i have to create it:</p>
<p class="code">mkdir -p /var/www<br />
chown www-data:www-data /var/www</p>
<p>For testing you can create a <em>index.html</em> file inside <em>/var/www</em> with some &#8220;Hello World&#8221; or something like that so.</p>
<p><strong>Setting up php parsing</strong></p>
<p>Edit the file /etc/rc.local and put the following line above the &#8220;exit 0&#8243;:</p>
<p class="code">/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid</p>
<p>So on every reboot of you server it starts on localhost port 9000 the php fcgi parsing service. Also you should type this command in your console to run it now.</p>
<p><strong>Configure nginx</strong></p>
<p>Now change the config file <em>/etc/nginx/sites-available/default</em> to enable and configure the php settings:</p>
<p class="code">location ~ \.php$ {<br />
location ~ \..*/.*\.php$ {return 404;}<br />
root /var/www;<br />
fastcgi_pass 127.0.0.1:9000;<br />
fastcgi_index index.php;<br />
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;<br />
include fastcgi_params;<br />
}</p>
<p>Make sure that there are some spaces between <em>include</em> and <em>fastcgi_params</em> in the default file this is written as one word which is a bug.</p>
<p>For testing you can create a /var/www/info.php with</p>
<p class="code">&lt;?php<br />
phpinfo();<br />
?&gt;</p>
<p>and after a restart of your webserver you should see the php-infopage</p>
<p class="code">/etc/init.d/nginx restart</p>
<p>As you see, PHP5 is working, and it&#8217;s working through FastCGI, as shown in the Server API line. If you scroll further down, you will see all modules that are already enabled in PHP5, also for security reasons we installed already <a href="http://www.hardened-php.net/suhosin/" target="_blank">Suhosin</a> module.</p>
<p class="favorite"><a href="http://wiki.nginx.org/Pitfalls" target="_blank">http://wiki.nginx.org/Pitfalls</a><br />
<a href="http://wiki.nginx.org/PHPFcgiExample" target="_blank">http://wiki.nginx.org/PHPFcgiExample</a><br />
<a href="http://wiki.nginx.org/NginxFullExample" target="_blank">http://wiki.nginx.org/NginxFullExample</a></p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/190/installing-nginx-with-php-on-debian/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Neuinstallation Ubuntu 11.04</title>
		<link>http://admirableadmin.de/182/neuinstallation-ubuntu-11-04</link>
		<comments>http://admirableadmin.de/182/neuinstallation-ubuntu-11-04#comments</comments>
		<pubDate>Sat, 27 Aug 2011 22:41:58 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/?p=182</guid>
		<description><![CDATA[Es gibt kaum einen Grund Ubuntu nachinstallieren zu müssen, außer man baut eine SSD-Festplatte in den Laptop ein. Aber der Reihe nach. Backup anlegen Zuerst ist ein gutes Backup wichtig. Das Programm Déjà Dup ist an Einfachheit kaum zu überbieten: Neben dem Einstellungsdialog gibt es lediglich zwei Buttons: Wiederherstellen und Sichern. Es integriert sich außerdem [...]]]></description>
			<content:encoded><![CDATA[<p>Es gibt kaum einen Grund Ubuntu nachinstallieren zu müssen, außer man baut eine SSD-Festplatte in den Laptop ein. Aber der Reihe nach.</p>
<p><span id="more-182"></span><strong>Backup anlegen</strong></p>
<p>Zuerst ist ein gutes Backup wichtig. Das Programm <em>Déjà Dup</em> ist an Einfachheit kaum zu überbieten: Neben dem Einstellungsdialog gibt es lediglich zwei Buttons: Wiederherstellen und Sichern. Es integriert sich außerdem in das Kontextmenü, so dass per Rechtsklick von jedem Ordner aus vermisste Dateien wiederherzustellen sind. Gesichert wird auf eine exteren Festplatte, auf FTP oder auf einen Cloud-Dienst wie Amazon S3. Und mit der nächsten Ubuntu-Version 11.10 soll <a href="http://www.omgubuntu.co.uk/2011/05/deja-dup-backup-tool-proposed-for-default-in-ubuntu-11-10/" target="_blank">Déjà Dup das Standard-Backup-Programm von Ubuntu</a> werden.</p>
<p><strong>SSD-Festplatte vorbereiten</strong></p>
<p>Allgemeine Hinweise habe ich bereits unter <a title="Eine Woche mit Ubuntu 10.10" href="http://admirableadmin.de/177/eine-woche-mit-ubuntu-10-10">Eine Woche mit Ubuntu 10.10</a> beschrieben, jedoch gibt bei SSD Besonderheiten bei der Partitionierung zu beachten: Wird beim <a href="http://www.thomas-krenn.com/de/wiki/Partition_Alignment" target="_blank">Partition Alignment</a> ein Fehler gemacht, so wird die SSD sehr langsam. Der aktuelle Ubuntu-Installer setzt die Werte allerdings richtig wenn man die ganze Festplatte für Ubuntu nutzt. Wenn allerdings verschiedene Partitionen gewünscht sind, oder mehrere Betriebssysteme, heißt es zunächst sich in das <a href="http://wiki.ubuntuusers.de/SSD" target="_blank">Thema SSD</a> einzulesen.</p>
<p><strong>&#8220;Look and Feel&#8221;</strong></p>
<p><strong></strong>Komischerweise waren nach der Neuinstallation von 11.04 alle Ordnersymbole in sämtlichen Menüs nicht vorhanden. <a href="http://forum.ubuntuusers.de/topic/icons-in-den-menues-anzeigen/#post-2443084" target="_blank">Im ubuntuusers-Forum fand ich die Lösung</a>. Ebenfalls gibt es dort den Hinweis wie der <a href="http://forum.ubuntuusers.de/topic/ab-9-10-klang-bei-anmeldebildschirm-deaktivie/#post-2323564" target="_blank">Ton vom Anmeldedialog deaktiviert</a> werden kann.</p>
<p><strong>&#8220;pimp my Unity&#8221;</strong></p>
<p>Unity ist bekanntlich die neue Ubuntu Oberfläche. Leider gibt es standardmäßig kaum Konfigurationsmöglichkeiten. Installiert man das Programm <em>ccsm</em> kann über <em>Systemeinstellungen -&gt; CompizConfig Einstellungs-Manager -&gt; Ubuntu-Unity-Plugin</em> beispielsweise die &#8220;Launcher icon size&#8221; auf 32 gesetzt werden. Dies schafft etwas Platz auf dem Desktop.</p>
<p>Eine weitere Besonderheit von Unity ist die obere Status- bzw. Application-Indicator Leiste. Aus den <a href="http://www.ubuntu-corner.com/2011/06/application-indicators-for-ubuntu-11-04/" target="_blank">vielen</a> <a href="http://askubuntu.com/questions/30334/list-of-application-indicators" target="_blank">möglichen</a> <a href="http://linuxundich.de/de/ubuntu/application-indicators-machen-applets-fur-das-gnome-panel-vergessen/" target="_blank">Erweiterungen</a> finde ich persönlich zwei besonders nützlich:</p>
<p><a href="https://launchpad.net/indicator-sysmonitor" target="_blank">indicator-sysmonitor</a>: zeigt die aktuelle CPU- und Arbeitsspeicher-Auslastung sowie auf Wunsch die CPU-Temperatur via &#8220;lm-sensors&#8221;. Damit die Anzeige nach jedem Neustart angezeigt wird ist ein manueller Eintrag unter <em>Systemeinstellungen -&gt; Startprogramme</em> notwendig.</p>
<p class="code">sudo add-apt-repository ppa:alexeftimie/ppa<br />
sudo apt-get update<br />
sudo apt-get install indicator-sysmonitor<br />
sudo apt-get install lm-sensors</p>
<p><a href="https://launchpad.net/touchpad-indicator" target="_blank">touchpad-indicator</a>: ist für Laptop-Benutzer mit zusätzlicher externer Maus sehr nützlich; sobald diese angeschlossen ist kann das Touchpad deaktiviert werden und stört nicht mehr bei Tastatureingaben. Die Einstellung für den Autostart ist über das Programm selbst möglich.</p>
<p class="code">sudo add-apt-repository ppa:atareao/atareao<br />
sudo apt-get update<br />
sudo apt-get install touchpad-indicator</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/182/neuinstallation-ubuntu-11-04/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eine Woche mit Ubuntu 10.10</title>
		<link>http://admirableadmin.de/177/eine-woche-mit-ubuntu-10-10</link>
		<comments>http://admirableadmin.de/177/eine-woche-mit-ubuntu-10-10#comments</comments>
		<pubDate>Sun, 27 Feb 2011 16:20:15 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/?p=177</guid>
		<description><![CDATA[Vor einer Woche habe ich mir Ubuntu 10.10, welches auf Debian basiert, installiert und bin sehr zufrieden. Vieles funktioniert sofort nach der Installation, manches musste ich aber wie im folgenden beschrieben noch etwas konfigurieren. Festplatte vorbereiten Wenn man nicht sofort komplett auf Windows 7 verzichten möchte, gibt es die Möglichkeit Ubuntu parallel zu einem bestehenden [...]]]></description>
			<content:encoded><![CDATA[<p>Vor einer Woche habe ich mir Ubuntu 10.10, welches auf Debian basiert, installiert und bin sehr zufrieden. Vieles funktioniert sofort nach der Installation, manches musste ich aber wie im folgenden beschrieben noch etwas konfigurieren.</p>
<p><span id="more-177"></span><strong>Festplatte vorbereiten</strong></p>
<p>Wenn man nicht sofort komplett auf Windows 7 verzichten möchte, gibt es die Möglichkeit Ubuntu parallel zu einem bestehenden Windows einzurichten, vorausgesetzt es ist noch genug Speicherplatz auf der Festplatte vorhanden. Ich habe verschiedene Anleitungen gelesen und zunächst wird empfohlen eine <a href="http://neosmart.net/blog/2009/windows-7-system-repair-discs/" target="_blank">Windows-Rettungs-Disk</a> bereit zu halten &#8211; welche glücklicherweise nicht gebraucht wurde. Selbstverständlich sollte auch ein Backup der wichtigen Daten angelegt und auf einer externen Festplatte gespeichert werden. Zunächst wird die Festplatte gründlich defragmentiert und über die <a href="http://ubuntuguide.org/wiki/Multiple_OS_Installation#Using_Shrink_Volume_on_Vista_and_Windows_7" target="_blank">Datenträgerverwaltung verkleinert</a>. Dies wird der manuellen Partitionierung z.B. mit einer <a href="http://gparted.sourceforge.net/livecd.php">GParted-Live-CD</a> vorgezogen, da Windows selbst die <a href="http://www.howtogeek.com/howto/windows-vista/working-around-windows-vistas-shrink-volume-inadequacy-problems/" target="_blank">NTFS-Eigenheiten</a> besser kennt. So ließ sich in meinem Fall die Festplatte ungefähr halbieren und Windows startete anschließend auch problemlos.</p>
<p><strong>Ubuntu installieren</strong></p>
<p>Nach dem <a href="http://www.ubuntu.com/desktop/get-ubuntu/download" target="_blank">Herunterladen</a> und Brennen der Installations- CD wird über die manuelle Partitionierung &#8220;(advanced)&#8221; der zuzvor vorbereitete, freie Speicherplatz für eine kleine Swap-Partition, z.B. 5 GB und der Rest für die root-Partition (ext4, Mountpoint /) verwendet. Dann die root-Partition auswählen und den Button zur &#8220;Installation starten&#8221; klicken. Das eingegebene Benutzerkennwort wird auch später immer für root-Aktionen in Kombination mit sudo verwendet, da in Ubuntu der <a href="http://wiki.ubuntuusers.de/sudo#Der-Benutzer-root" target="_blank">root-Benutzer standardmäßig deaktiviert</a> ist.</p>
<p><strong>Updates installieren</strong></p>
<p>Nach erfolgreicher Installation und Login können nun die neuesten Updates installiert werden. Dazu unter <em>System &gt; Systemverwaltung &gt; Aktualisierungsverwaltung</em> den Anweisungen folgen. Bekommt man einen neuen Kernel, so wächst auch das GRUB-Bootmenü stetig an. Anstatt hier die Einträge auszukommentieren ist es einfacher die überflüssigen <a href="http://wiki.ubuntuusers.de/kernel#Kernel-deinstallieren" target="_blank">Kernel zu deinstallieren</a>.</p>
<p><strong>die ersten Pakete installieren</strong></p>
<p>Wenn eine Funktion oder Programm vermisst wird lohnt immer ein Blick unter <em>Anwendungen &gt; Ubuntu Software-Center</em> oder <em>System &gt; Systemverwaltung &gt; Synaptic-Paketverwaltung</em>. So installiere ich mir meinen<a href="http://admirableadmin.de/172/meine-vimrc" target="_self"> Lieblingseditor <em>vim</em></a> und <em>nmap</em>. Ein kurzer Scan zeigt, dass auf dem neuen System keine offenen Ports existieren:</p>
<p class="code">sudo nmap -P0 -F &#8211;open 192.168.1.0/24</p>
<p><strong>User-Login umbenennen</strong></p>
<p>Falls man es wie ich geschafft hat bei der Installation einen falschen User-Login zu erstellen oder diesen einfach umbenennen möchte: mit Hilfe von <a href="http://wiki.ubuntuusers.de/usermod" target="_blank">usermod</a> und <a href="http://wiki.ubuntuusers.de/groupmod" target="_blank">groupmod</a> ist dies einfach möglich. Anschließend noch die Datei <em>~/.gtk-bookmarks</em> anpassen, da sonst unter &#8220;Orte&#8221; alle Favoriten-Ordner verwunden sind. Auch lassen sich in dieser Datei eigene Verknüpfungen definieren.</p>
<p><strong>Firefox und Thunderbird migrieren<br />
</strong></p>
<p>Die Profile von Firefox und Thunderbird lassen sich samt installierter Plugins, Passwörter usw. komplett übernehmen. Da die Windows NTFS Festplatte unter &#8220;Orte&#8221; mit einem Klick direkt mit schreibendem Zugriff gemountet wird, lassen sich die Profile direkt kopieren. Wenn man beides Portable verwendet hat folgt man dieser <a href="http://stadt-bremerhaven.de/portable-profile-migrieren" target="_blank">Anleitung um die Profile zu migrieren</a>. Das jeweilige Profilverzeichnis in Ubuntu wird komplett gelöscht und mit den alten Inhalten befüllt:</p>
<p class="code">cd .mozilla/firefox/ bzw. .thunderbird/<br />
rm -rf profilname123anpassen.default/*<br />
cp -a ~/backup/altes-profil/* profilname123anpassen.default/</p>
<p><strong>Flash-Bug</strong></p>
<p>Leider gibt es ein Problem mit Flash-Videos im Vollbildmodus. Das Bild stoppt oder flackert, während der Ton weiter läuft. Der <a href="http://blogs.adobe.com/penguinswf/2008/08/secrets_of_the_mmscfg_file_1.html" target="_blank">GPU-Beschleunigungs-Spuk</a> hat ein Ende, wenn die Datei /etc/adobe/mms.cfg (Verzeichnis vorher erstellen) und mit folgendem Inhalt angelegt wird:</p>
<p class="code">OverrideGPUValidation=true</p>
<p><strong>&#8220;Look and Feel&#8221;</strong></p>
<p>Wem die Schriftarten allgemein auch zu groß erscheinen, können diese unter <em>System &gt; Einstellungen &gt; Erscheinungsbild &gt; Schriftarten</em> jeweils um 1 reduziert werden. Unter <em>Visuelle Effekte</em> kann man auf Wunsch die höchste Einstellung wählen.</p>
<p>Die Reihenfolge der Fensterknöpfe lässt sich an die von Windows gewohnte Ansicht anpassen. Dazu über <em>Alt+F2</em> den <em>gconf-editor</em> starten. Unter /apps/metacity/general/button_layout lässt sich nun die gewünschte Reihenfolge eintragen, z.B.:</p>
<p class="code">:minimize,maximize,close</p>
<p>Die Systemtöne wie auch die Startmelodie bringt man zum Schweigen, wenn unter <em>System &gt; Einstellungen &gt; Klang</em> unter Klangthema <em>keine Klänge</em> ausgewählt werden.</p>
<p>Ein Mac-ähnliche Programme-Dock-Leiste erhält man indem das Paket <a href="http://wiki.ubuntuusers.de/Avant_Window_Navigator" target="_blank">avant-window-navigator</a> installiert wird. Zur dauerhaften Verwendung in den Einstellungen noch &#8220;Awn automatisch starten&#8221; makieren und ggf. das untere Panel per Rechtsklick löschen. Fehlende Funktionen werden nun dem neuen Dock oder dem oberen Panel hinzugefügt.</p>
<p><strong>&#8220;pinp my Nautilus&#8221;</strong></p>
<p>Nautilus ist der verwendete Dateibrowser, für den es viele Erweiterungen gibt. Nützlich finde ich:</p>
<p><a href="http://wiki.ubuntuusers.de/Terminal#Integration-in-Nautilus" target="_blank">nautilus-open-terminal</a>: öffnet das Konsolen-Fenster im aktuellen Verzeichnis. Nach der Installation den Prozess Neustarten über:</p>
<p class="code">nautilus -q</p>
<p><a href="http://marius.scurtescu.com/2005/08/24/nautilus_scripts_for_subversion" target="_blank">nautilus-script-collection-svn</a>: integriert SVN in das Rechtsklick-Menü. Nach der Installation die Script-Erweiterungen aktivieren:</p>
<p class="code">nautilus-script-manager enable Subversion</p>
<p><strong>Fazit</strong></p>
<p>Ich bin sehr begeistert von Ubuntu und den vielfältigen Anpassungsmöglichkeiten. Es gibt immer etwas was verändert werden kann, ohne das tiefe Eingriffe in das System oder gar Kommerzielle Programme nötig wären. Besonders hat mich die Integration von gängigen Chat-Diensten und sozialer Anwendungen wie last.fm ohne Zusatzprogrammen überrascht.</p>
<p class="favorite"><a href="https://help.ubuntu.com/10.10/installation-guide/amd64/index.html" target="_blank">Ubuntu 10.10 Installations-Guide</a><br />
<a href="http://ubuntuusers.de/" target="_blank">Wiki und Forum rund um Ubuntu</a></p>
<p><strong>Update vom 23.01.2012</strong>: Um die System-Schriftgröße und Schriftarten unter Ubuntu 11.10 zu ändern ist das Programm &#8220;gnome-tweak-tool&#8221; nötig.</p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/177/eine-woche-mit-ubuntu-10-10/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>meine .vimrc</title>
		<link>http://admirableadmin.de/172/meine-vimrc</link>
		<comments>http://admirableadmin.de/172/meine-vimrc#comments</comments>
		<pubDate>Sat, 13 Nov 2010 17:08:55 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/?p=172</guid>
		<description><![CDATA[Als erstes nach einer neuen Debian-Installation ersetze ich vi gerne gegen meinen Lieblingseditor vim. Der Editor vim wird installiert über: apt-get install vim dann wird die Konfigurationsdatei für den angemeldeten Benutzer angelegt über vi ~/.vimrc und mit folgendem Inhalt befüllt: set tabstop=2 set bs=2 syn on set noai weitere Vim-Tipps]]></description>
			<content:encoded><![CDATA[<p>Als erstes nach einer neuen Debian-Installation ersetze ich <em>vi</em> gerne gegen meinen Lieblingseditor <em>vim</em>.</p>
<p><span id="more-172"></span></p>
<p>Der Editor <em>vim</em> wird installiert über:</p>
<p class="code">apt-get install vim</p>
<p>dann wird die Konfigurationsdatei für den angemeldeten Benutzer angelegt über <em>vi ~/.vimrc</em> und mit folgendem Inhalt befüllt:</p>
<p class="code">set tabstop=2<br />
set bs=2<br />
syn on<br />
set noai</p>
<p class="favorite"><a href="http://vim.wikia.com/wiki/Category:VimTip" target="_blank">weitere Vim-Tipps</a></p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/172/meine-vimrc/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Webalizer auf deutsch unter Webmin</title>
		<link>http://admirableadmin.de/136/webalizer-auf-deutsch-unter-webmin</link>
		<comments>http://admirableadmin.de/136/webalizer-auf-deutsch-unter-webmin#comments</comments>
		<pubDate>Thu, 19 Feb 2009 22:20:59 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/?p=136</guid>
		<description><![CDATA[Standardmäßig wird die Zugriffsstatistik von Webalizer unter Webmin nur auf englisch erzeugt. Webalizer bietet keine Einstellung um die Ausgabe in einer bestimmten Sprache zu generieren. Ein manueller Aufruf vom Webmin über &#8220;Report generieren&#8221; aus bringt als Statusreport unter anderem die folgende Zeile: Webalizer V2.01-10 (Linux 2.6.18-5-amd64) locale: C Dahingeben wird mit einem Aufruf von webalizer [...]]]></description>
			<content:encoded><![CDATA[<p>Standardmäßig wird die Zugriffsstatistik von Webalizer unter Webmin nur auf englisch erzeugt.</p>
<p><span id="more-136"></span>Webalizer bietet keine Einstellung um die Ausgabe in einer bestimmten Sprache zu generieren. Ein manueller Aufruf vom Webmin über &#8220;Report generieren&#8221; aus bringt als Statusreport unter anderem die folgende Zeile:</p>
<p class="code">Webalizer V2.01-10 (Linux 2.6.18-5-amd64) locale: C</p>
<p>Dahingeben wird mit einem Aufruf von webalizer von der Konsole aus die richtige Systemsprache verwendet. Unter Debian wird die  Standardsprache definiert über:</p>
<p class="code">dpkg-reconfigure locales</p>
<p>Erst wenn man sich als <em>root </em>in den Webmin einloggt und dort unter &#8220;Webmin -&gt; Webmin-Konfiguration -&gt; Betriebssystem und Betriebsumgebung&#8221; die Systemsprache erzwingt mit:</p>
<p class="code">Variablenname: LC_ALL<br />
Wert: de_DE@euro</p>
<p>dann wird auch Webalizer die Auswertungen auf deutsch anzeigen:
</p>
<p class="code">Webalizer V2.01-10 (Linux 2.6.18-5-amd64) locale: de_DE@euro</p>
<p class="favorite"><a href="http://www.webmin.com/" target="_blank">Webmin</a><br />
<a href="http://www.webalizer.org/" target="_blank">Webalizer</a></p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/136/webalizer-auf-deutsch-unter-webmin/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dotdeb Pakete deinstallieren</title>
		<link>http://admirableadmin.de/123/dotdeb-pakete-deinstallieren</link>
		<comments>http://admirableadmin.de/123/dotdeb-pakete-deinstallieren#comments</comments>
		<pubDate>Sun, 08 Feb 2009 19:09:41 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[dotdeb]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/?p=123</guid>
		<description><![CDATA[Bei der Installation von php5-curl gab es unerwartete Probleme mit dem verwendeten PHP von dotdeb. Aktiviert habe ich damals die Dotdeb-Paketverwaltung um in den Genuss von suhosin zu kommen, jedoch ist diese inzwischen auch im offiziellen Debian verfügbar. Jetzt scheiterte aber die Installation von php5-curl per apt-get install mit dem Hinweis: Hängt ab: php5-common (= [...]]]></description>
			<content:encoded><![CDATA[<p>Bei der Installation von php5-curl gab es unerwartete Probleme mit dem verwendeten PHP von dotdeb.</p>
<p><span id="more-123"></span>Aktiviert habe ich <a href="/10/" target="_self">damals</a> die Dotdeb-Paketverwaltung um in den Genuss von <a href="http://www.hardened-php.net/suhosin/" target="_blank">suhosin</a> zu kommen, jedoch ist diese inzwischen auch im offiziellen Debian <a href="http://packages.debian.org/de/etch/php5-suhosin" target="_blank">verfügbar</a>.</p>
<p>Jetzt scheiterte aber die Installation von <em>php5-curl</em> per <em>apt-get install</em> mit dem Hinweis:</p>
<p class="code">Hängt ab: php5-common (= 5.2.0-8+etch13) aber 5.2.8-0.dotdeb.1 soll installiert werden<br />
E: Kaputte Pakete</p>
<p>Ein Blick in die <a href="http://packages.dotdeb.org/dists/etch/" target="_blank">Quellpakete von Dotdeb</a> bestätigte den Verdacht, dass das gesuchte Paket dort gar nicht vorhanden ist. Anscheinend waren dort mal mehr php5 Pakete verfügbar, denn installiert waren noch weitere von dotdeb:</p>
<p class="code"># dpkg &#8211;list | grep dotdeb<br />
ii  php5-cli                          5.2.8-0.dotdeb.1<br />
ii  php5-common                       5.2.8-0.dotdeb.1<br />
ii  php5-dev                          5.2.8-0.dotdeb.1<br />
ii  php5-gd                           5.2.8-0.dotdeb.1<br />
ii  php5-mysql                        5.2.8-0.dotdeb.1<br />
ii  php5-suhosin                      5.2.8-0.dotdeb.1</p>
<p>Nach einem zusätzlichen Vollbackup des Servers und einem auskommentieren der dotdeb-Quelle aus der Datei <em>/etc/apt/sources.list</em> ging es an die Deinstallation der ausgelisteten Pakete inklusive aller Konfigurationsdateien:</p>
<p class="code">dpkg &#8211;purge php5-gd php5-mysql php5-common libapache2-mod-php5 php5-cli</p>
<p>dies scheiterte zunächst, da Debian richtigerweise bemerkte, dass manche Programme von den zu löschenden noch benötigt wurden. Temporär wurden diese dann kurzerhand auch deinstalliert, aber die Konfiguration beibehalten:</p>
<p class="code">apt-get remove phpmyadmin phpsysinfo squirrelmail libphp-phpmailer</p>
<p>Nach der Neuinstallation aller Pakete aus der offiziellen Debian-Quelle, sowie der temporär deinstallierten Pakete, musste lediglich die mysql-Unterstützung in der <em>php.ini</em> händisch wieder aktiviert werden:</p>
<p class="code">extension=mysql.so</p>
<p>Anschließend konnte ich erfolgreich php5-curl installieren:</p>
<p class="code">apt-get install php5-curl<br />
Paketlisten werden gelesen&#8230; Fertig<br />
Abhängigkeitsbaum wird aufgebaut&#8230; Fertig<br />
Die folgenden NEUEN Pakete werden installiert:<br />
php5-curl</p>
<p>Vielleicht hätte das auch anders funktioniert.</p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/123/dotdeb-pakete-deinstallieren/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux: FTP Speicherplatz mounten</title>
		<link>http://admirableadmin.de/110/linux-ftp-speicherplatz-mounten</link>
		<comments>http://admirableadmin.de/110/linux-ftp-speicherplatz-mounten#comments</comments>
		<pubDate>Thu, 05 Feb 2009 21:09:39 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/?p=110</guid>
		<description><![CDATA[Unter Linux kann man einen FTP Server mounten und den entfernten Speicherplatz lokal nutzen. So könnte man beispielsweise das Backup vereinfachen oder mit Eclipse direkt auf dem Webspace arbeiten. Zuerst wird das erforderliche Paket installiert. Debian löst die Abhängigkeiten auf und installiert weitere dazu benötige Programme gleich mit. apt-get install curlftpfs nun wird das lokale [...]]]></description>
			<content:encoded><![CDATA[<p>Unter Linux kann man einen FTP Server mounten und den entfernten Speicherplatz lokal nutzen.</p>
<p><span id="more-110"></span>So könnte man beispielsweise das Backup vereinfachen oder mit Eclipse direkt auf dem Webspace arbeiten. Zuerst wird das erforderliche Paket installiert. Debian löst die Abhängigkeiten auf und installiert weitere dazu benötige Programme gleich mit.</p>
<p class="code">apt-get install curlftpfs</p>
<p>nun wird das lokale Verzeichnis erstellt, welche später die FTP-Daten enthält</p>
<p class="code">mkdir -p /mnt/backup_ftp/</p>
<p>Dann muss FUSE (<a href="http://de.wikipedia.org/wiki/Filesystem_in_Userspace" target="_blank">Wikipedia</a>) eingerichtet werden</p>
<p class="code">mknod -m 666 /dev/fuse c 10 229</p>
<p>nun wird der FTP-Server eingebunden</p>
<p class="code">curlftpfs BENUTZER:PASSWORT@FTPSERVER /mnt/backup_ftp/</p>
<p>jetzt kann in dem Verzeichnis gearbeitet werden als ob alle Daten lokal vorliegen würden. Änderungen werden sofort auf den FTP-Server übertragen.</p>
<p>Nach vollendeter Arbeit wird natürlich das Verzeichnis wieder aus dem System genommen</p>
<p class="code">umount /mnt/backup_ftp</p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/110/linux-ftp-speicherplatz-mounten/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Domainsuche mit Linux</title>
		<link>http://admirableadmin.de/101/domainsuche-mit-linux</link>
		<comments>http://admirableadmin.de/101/domainsuche-mit-linux#comments</comments>
		<pubDate>Thu, 05 Feb 2009 20:43:38 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/?p=101</guid>
		<description><![CDATA[Dieser nicht ganz ernst gemeinte Beitrag zeigt wie sich Linux-Programme und ein Wörterbuch zur Domain-Findung eignen. Zuerst braucht man das deutsche Wörterbuch. Natürlich ist auch jede andere Sprache dazu geeignet. apt-get install wngerman In Debian enthält wngerman die neue Rechtschreibung, wohingegen das Paket wogerman die alte Rechtschreibung enthält. Um ein bestimmten Wortteil zu finden hilft [...]]]></description>
			<content:encoded><![CDATA[<p>Dieser nicht ganz ernst gemeinte Beitrag zeigt wie sich Linux-Programme und ein Wörterbuch zur Domain-Findung eignen.</p>
<p><span id="more-101"></span>Zuerst braucht man das deutsche Wörterbuch. Natürlich ist auch jede andere Sprache dazu geeignet.</p>
<p class="code">apt-get install wngerman</p>
<p>In Debian enthält <em>wngerman</em> die neue Rechtschreibung, wohingegen das Paket <em>wogerman</em> die alte Rechtschreibung enthält.</p>
<p>Um ein bestimmten Wortteil zu finden hilft ein einfacher grep-Befehl, z.B.:</p>
<p class="code">grep &#8211;color heim /usr/share/dict/ngerman</p>
<p>ein<em>heim</em>ischer<br />
ein<em>heim</em>sen</p>
<p>oder um ein Wort zu finden, welches auf eine bestimmte Endung, z.B. net aufhört:</p>
<p class="code">grep &#8216;.*net$&#8217; /usr/share/dict/ngerman | sed &#8216;s/net/\.net/g&#8217;</p>
<p>gekennzeich<em>.net</em><br />
geleug<em>.net</em></p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/101/domainsuche-mit-linux/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mysql: Reparieren und optimieren</title>
		<link>http://admirableadmin.de/68/mysql-reparieren-und-optimieren</link>
		<comments>http://admirableadmin.de/68/mysql-reparieren-und-optimieren#comments</comments>
		<pubDate>Wed, 20 Aug 2008 20:26:38 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/?p=68</guid>
		<description><![CDATA[Die Datenbank MySQL muss von Zeit zu Zeit gewartet werden. Korrupte Datenbanken oder fragmentierte Tabellen treten zwar selten auf, falls es jedoch zu solchen Problemen kommt, kann man sich mit Bordmitteln selbst helfen. Kommt es zu einem unvorhergesehenen Server neustart, so hat MySQL anschließend mitunter Probleme alle Daten wiederzufinden. In diesem Fall spricht man von [...]]]></description>
			<content:encoded><![CDATA[<p>Die Datenbank MySQL muss von Zeit zu Zeit gewartet werden. Korrupte Datenbanken oder fragmentierte Tabellen treten zwar selten auf, falls es jedoch zu solchen Problemen kommt, kann man sich mit Bordmitteln selbst helfen.</p>
<p><span id="more-68"></span></p>
<p>Kommt es zu einem unvorhergesehenen Server neustart, so hat MySQL anschließend mitunter Probleme alle Daten wiederzufinden. In diesem Fall spricht man von einer korrupten Datenbank.</p>
<p>Der andere Fall der weitaus häufiger auftreten wird ist die Fragmentierung. Mit der Zeit gerät die Ordnung in den Tabellen durcheinander. Es werden einzelne Teile gelöscht und neue Daten kommen hinzu. Das führt dazu, dass irgendwo in der Datendatei von MySQL eine Lücke entsteht.</p>
<p>Für gewöhnlich ist dies kein Problem, denn die gelöschten Zeilen protokolliert MySQL in einer Liste mit. Kommen wieder neue Daten zur Tabelle hinzu, dann werden die freien Positionen und die Datenlücke wieder gefüllt. Dies läuft solange gut, wenn nur mit festen Feldtypen gearbeitet wird. Kommen jedoch variable Felder wie etwa <em>varchar</em>, <em>blob</em> oder <em>text</em> ins Spiel funktioniert der Mechanismus nicht mehr und es bleiben viele kleine Lücken zurück, die Platz wegnehmen.</p>
<p>Mit dem Bordmitteln von Debian kann man sich in dieser Situation selbst helfen. Ohne das man lange Befehle oder das root-Passwort auswendig lernen muss, können in der Datei <em>.bashrc</em> zwei neue Befehle hinterlegt werden, die das Kennwort selber auslesen und mit der Reparatur und der Optimierung der Datenbank beginnen:</p>
<p class="code">alias mysqlcheckrep=&#8221;mysqlcheck -u debian-sys-maint -cs &#8211;password=`grep -m 1 password  /etc/mysql/debian.cnf | awk &#8216;{print $3}&#8217;` &#8211;all-databases &#8211;auto-repair&#8221;<br />
alias mysqlcheckopt=&#8221;mysqlcheck -u debian-sys-maint -os &#8211;password=`grep -m 1 password  /etc/mysql/debian.cnf | awk &#8216;{print $3}&#8217;` &#8211;all-databases&#8221;</p>
<p>Bitte beachten, dass der jeweilige Befehl von doppelten Anführungszeichen umschlossen ist, während das Passwort mit Hilfe von grep über sog. Backticks ausgelesen wird, während awk mit einfachen Anführungszeichen arbeitet.</p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/68/mysql-reparieren-und-optimieren/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Rootkit suche mit Benachrichtigung</title>
		<link>http://admirableadmin.de/63/rootkit-suche-mit-benachrichtigung</link>
		<comments>http://admirableadmin.de/63/rootkit-suche-mit-benachrichtigung#comments</comments>
		<pubDate>Mon, 07 Jul 2008 17:55:21 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/?p=63</guid>
		<description><![CDATA[Eine regelmäßige Überprüfung des Servers auf Rootkits (Wikipedia) und die sofortige Informierung der entsprechenden Personen, am besten per SMS, kann durchaus Sinn machen um Veränderungen am System frühzeitig erkennen zu können. Zuerst muss das Rootkitsuchprogramm installiert werden, das geht unter Debian per: apt-get install chkrootkit Anschließend wird ein Cronjob angelegt, welcher regelmäßig das System nach [...]]]></description>
			<content:encoded><![CDATA[<p>Eine regelmäßige Überprüfung des Servers auf Rootkits (<a href="http://de.wikipedia.org/wiki/Rootkit" target="_blank">Wikipedia</a>) und die sofortige Informierung der entsprechenden Personen, am besten per SMS, kann durchaus Sinn machen um Veränderungen am System frühzeitig erkennen zu können.</p>
<p><span id="more-63"></span></p>
<p>Zuerst muss das Rootkitsuchprogramm installiert werden, das geht unter Debian per:</p>
<p class="code">apt-get install chkrootkit</p>
<p>Anschließend wird ein Cronjob angelegt, welcher regelmäßig das System nach Rootkits prüft und im Fehlerfall eine Meldung sendet. Hier macht eine mail2sms Sinn. Der Cronjob unter /etc/cron.d/chkrootkit soll täglich um sechs Uhr laufen, sowohl morgens als auch abends:</p>
<p class="code">MAILTO=&#8221;mail2sms@example.com&#8221;<br />
0 6,18 * * *  root    /usr/sbin/chkrootkit -q</p>
<p>Leider kommt es dabei auch vermehrt zu Falschmeldungen, dass sollte bedacht werden, wenn pro SMS Kosten entstehen:</p>
<p class="code">You have     1 process hidden for readdir command<br />
You have     1 process hidden for ps command<br />
chkproc: Warning: Possible LKM Trojan installed</p>
<p>Diese Falschmeldungen entstehen wenn andere Programme während der Prüfroutine laufen und sich somit die Anzahl der laufenden Prozese ändert. Chkrootkit entnimmt diese Anzahl den Systemtools (welche ja bereits durch ein Rootkit ersetzt sein können) und vergleicht diese mit seinem eigenen Tools. Läuft beispielsweise ein anderer Cronjob zeitgleich, kann es somit beim Prüfen durch Chkrootkit auf versteckte Prozesse zu der Falschmeldung kommen.</p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/63/rootkit-suche-mit-benachrichtigung/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debian: Tägliche Infomail zu Updates</title>
		<link>http://admirableadmin.de/36/debian-tagliche-updates-per-mail</link>
		<comments>http://admirableadmin.de/36/debian-tagliche-updates-per-mail#comments</comments>
		<pubDate>Wed, 02 Jul 2008 17:20:53 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/?p=36</guid>
		<description><![CDATA[Um täglich auf dem aktuellen Stand zu sein ob Debian Pakete aktualisiert wurden, lässt sich der folgende Cronjob einrichten. In der Datei /etc/cron.daily/apt-upgrade-simulation wird der folgende Inhalt hinterlegt: #!/bin/sh ( apt-get update -qq apt-get upgrade -s -V ) &#124; /usr/bin/mail -s &#8216;apt-get upgrade -s&#8217; root Die Mails werden auch hier wieder lokal an root zugestellt, [...]]]></description>
			<content:encoded><![CDATA[<p>Um täglich auf dem aktuellen Stand zu sein ob Debian Pakete aktualisiert wurden, lässt sich der folgende Cronjob einrichten.</p>
<p><span id="more-36"></span></p>
<p>In der Datei <em>/etc/cron.daily/apt-upgrade-simulation</em> wird der folgende Inhalt hinterlegt:</p>
<p class="code">#!/bin/sh<br />
(<br />
apt-get update -qq<br />
apt-get upgrade -s -V<br />
) | /usr/bin/mail -s &#8216;apt-get upgrade -s&#8217; root</p>
<p>Die Mails werden auch hier wieder lokal an root zugestellt, dies lässt sich jedoch einfach <a href="/35/" target="_self">umstellen</a>.</p>
<p>Das Einspielen der Updates muss man natürlich noch selber von Hand übernehmen &#8211; ein automatisches Update ist nicht zu empfehlen, da sonst keine Interaktionsmöglichkeit gegeben ist.</p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/36/debian-tagliche-updates-per-mail/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rootkithunter installieren</title>
		<link>http://admirableadmin.de/35/rootkithunter-instalieren</link>
		<comments>http://admirableadmin.de/35/rootkithunter-instalieren#comments</comments>
		<pubDate>Wed, 02 Jul 2008 17:06:20 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[debian]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/?p=35</guid>
		<description><![CDATA[Eine tägliche Überprüfung des Servers auf Rootkits (Wikipedia) und die Zustellung der Ergebnisse an eine externe Mail Adresse kann durchaus Sinn machen um Veränderungen am System frühzeitig erkennen zu können. Anders als bei WordPress mit apt-pinning, laden wir nun die Suchroutinen direkt beim Hersteller vom Rootkithunter herunter, da ich so die besten Ergebnisse beim testen [...]]]></description>
			<content:encoded><![CDATA[<p>Eine tägliche Überprüfung des Servers auf Rootkits (<a href="http://de.wikipedia.org/wiki/Rootkit" target="_blank">Wikipedia</a>) und die Zustellung der Ergebnisse an eine externe Mail Adresse kann durchaus Sinn machen um Veränderungen am System frühzeitig erkennen zu können.</p>
<p><span id="more-35"></span></p>
<p>Anders als bei <a href="/33/" target="_self">WordPress mit apt-pinning</a>, laden wir nun die Suchroutinen direkt beim Hersteller vom <a href="http://www.rootkit.nl/" target="_blank">Rootkithunter</a> herunter, da ich so die besten Ergebnisse beim testen erzielen konnte.</p>
<p>Nach der Installation wird unter <em>/etc/cron.daily/rkhunter</em> ein Cronjob angelegt, um von nun an täglich über den Zustand des Servers zu informieren:</p>
<p class="code">#!/bin/sh<br />
(<br />
/usr/local/bin/rkhunter &#8211;versioncheck &#8211;nocolors<br />
/usr/local/bin/rkhunter &#8211;update &#8211;nocolors<br />
/usr/local/bin/rkhunter &#8211;cronjob &#8211;report-warnings-only &#8211;nocolors<br />
) | /usr/bin/mail -s &#8216;rkhunter Daily Run: myt&#8217; root</p>
<p>Die Mails werden lokal an root zugeschickt. Da es sowieso besser ist, sich die Mails nach extern zusenden zu lassen, anstatt auf dem Server liegen zulassen (&#8230; bei einem Ausfall, käme man nicht an die Mails um die Ursache des Ausfalls zu ergründen), kam man diese Einstellung für Exim gleich unter <em>/etc/aliases</em> vornehmen:</p>
<p class="code">root: postfach@example.com</p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/35/rootkithunter-instalieren/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debian: WordPress mehrfach nutzen</title>
		<link>http://admirableadmin.de/34/debian-ein-wordpress-fuer-alle</link>
		<comments>http://admirableadmin.de/34/debian-ein-wordpress-fuer-alle#comments</comments>
		<pubDate>Wed, 02 Jul 2008 16:30:00 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/34/</guid>
		<description><![CDATA[Wer sein WordPress über die Debian-Paketverwaltung bezieht, kann gleich mehrere Blogs auf einmal damit einrichten und bei Updates werden diese gleichzeitig aktualisiert. Um in den Genuss der aktuellsten Version von WordPress zu kommen muss diese über die apt-pinning Funktion installiert werden. Aber auch die stable-Version wird einfach über apt-get install wordpress installiert. Die Dateien liegen [...]]]></description>
			<content:encoded><![CDATA[<p>Wer sein WordPress über die Debian-Paketverwaltung bezieht, kann gleich mehrere Blogs auf einmal damit einrichten und bei Updates werden diese gleichzeitig aktualisiert.</p>
<p><span id="more-34"></span></p>
<p>Um in den Genuss der aktuellsten Version von WordPress zu kommen muss diese über die <a href="http://admirableadmin.de/33/">apt-pinning</a> Funktion installiert werden. Aber auch die stable-Version wird einfach über <em>apt-get install wordpress</em> installiert.</p>
<p>Die Dateien liegen nun unter <em>/usr/share/wordpress/</em>, die Debian spezifische Dokumentation liegt unter <em>/usr/share/doc/wordpress/</em> und dort finden sich auch einige Beispiele im <em>exampes</em>-Ordner.</p>
<p><strong>1. Einrichtung des Webservers</strong></p>
<p>In der Datei <em>examples/apache.conf</em> befinden sich drei Möglichkeiten beschrieben den Blog einzurichten. Diese haben jedoch alle gemeinsam, dass sie meinen Anforderungen nicht genügen. Um zu jedem Blog ein favicon.ico, eine robots.txt und natürlich einen von den anderen Blogs getrennten Upload-Ordner zu haben, ist die folgene Methode eine Möglichkeit die sie gut bewährt hat:</p>
<p class="code">&lt;VirtualHost *:80&gt;<br />
ServerName www.example.com<br />
# /blog/ virtuell verlinken<br />
Alias /blog /usr/share/wordpress<br />
&lt;Directory /usr/share/wordpress&gt;<br />
Options FollowSymLinks<br />
AllowOverride Limit Options FileInfo<br />
DirectoryIndex index.php<br />
&lt;/Directory&gt;<br />
# htdocs Ordner einstellen und Mod-Rewrite aktivieren<br />
DocumentRoot /var/www/example.com/www/htdocs/<br />
&lt;Directory /var/www/example.com/www/htdocs&gt;<br />
DirectoryIndex /blog/index.php<br />
&lt;IfModule mod_rewrite.c&gt;<br />
RewriteEngine On<br />
RewriteBase /blog<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule . index.php [L]<br />
&lt;/IfModule&gt;<br />
&lt;/Directory&gt;<br />
# Log-Dateien schreiben<br />
ErrorLog /var/log/apache/www.example.com-error.log<br />
CustomLog /var/log/apache/www.example.com-access.log combined<br />
&lt;/VirtualHost&gt;</p>
<p>Nach dem aktivieren des neuen vHosts, steht der neue Blog schon fast zur Verfügung:</p>
<p class="code">#a2ensite www.example.com<br />
#apache2ctl graceful</p>
<p><strong>2. mySQL-Server</strong></p>
<p>Die Datenbank wird mit <em>examples/setup-mysql</em> erstellt. Zum Ausführen müssen zuerst die entsprechenden Rechte gesetzt werden, wonach das Setup gestartet werden kann:</p>
<p class="code">#chmod +x setup-mysql<br />
#./setup-mysql<br />
.<br />
Options:<br />
-n  name for the mysql user and database<br />
-h  help<br />
-d  destroy and purge<br />
-b  backup<br />
.<br />
Example: You want your blog to be served from http://blog.example.com<br />
for user &#8216;wordpress&#8217;.<br />
.<br />
Then run:<br />
sudo bash setup-mysql -n wordpress blog.example.com</p>
<p>Das Setup erzeugt einen Benutzer mit Passwort welcher nur Zugriff auf die neue Datenbank hat.</p>
<p><strong>3. Konfiguration </strong></p>
<p>Die Konfiguration des Blogs findet &#8211; wie auch in der Standard WordPress-Version &#8211; über den Browser statt, indem die entsprechende Seite <em>/blog/wp-admin/</em> aufgerufen wird.</p>
<p><strong>4. Lokalisierung</strong></p>
<p>Um den Adminbereich des Blogs in deutscher Sprache anzuzeigen, wird die deutsche <a href="http://de.wordpress.org/" target="_blank">de_DE.mo Datei</a> für das Basissystem benötigt, welche unter <em>/usr/share/wordpress/wp-content/languages</em> abgelegt wird. Die automatisch erstellte Konfigurationsdatei unter <em>/etc/wordpress/config-www.example.com</em><em>.php</em> wird erweitert:</p>
<p class="code">define (&#8216;WPLANG&#8217;, &#8216;de_DE&#8217;);</p>
<p><strong>5. Upload-Verzeichniss</strong><br />
Das Upload-Verzeichnis für jeden einzelnen Blog, wird in der config-Datei und ggf. auch im Adminbereich (unter Einstellungen-&gt;Verschiedenes) fest eingestellt:</p>
<p class="code">$upload_path = &#8220;/var/www/example.com/www/htdocs/wp-uploads/&#8221;;<br />
$upload_url_path = &#8220;http://www.example.com/wp-uploads&#8221;;</p>
<p>Das Verzeichniss muss natürlich vorhanden sein und für den Webserver die benötigten Schreibrechte besitzen.</p>
<p><strong>6. Themes und Plugins</strong></p>
<p>gemeinsame Themes und Plugins werden unter <em>/usr/share/wordpress/wp-content</em> abgelegt und stehen allen Blogs zur Verfügung.</p>
<p class="favorite"><a href="http://www.wordpress.org/" target="_blank">Offizielle WordPress Seite</a><br />
Basis auf Deutsch <a href="http://de.wordpress.org/" target="_blank">Sie-Version</a> oder <a href="http://wordpress-deutschland.org/download/sprachdatei/" target="_blank">Du-Version</a><br />
<a href="http://themes.wordpress-deutschland.org/kubrick-de-edition/" target="_blank">Standard-Template auf deutsch</a></p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/34/debian-ein-wordpress-fuer-alle/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debian: WordPress mit apt-pinning</title>
		<link>http://admirableadmin.de/33/debian-wordpress-mit-apt-pinning</link>
		<comments>http://admirableadmin.de/33/debian-wordpress-mit-apt-pinning#comments</comments>
		<pubDate>Sat, 05 Apr 2008 17:55:34 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[dotdeb]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/33/</guid>
		<description><![CDATA[Wie jedes Debian Paket aus dem stable-Zweig, hat auch WordPress die aktuellste Version nur im unstable-Zweig. Über das sog. apt-pinning lassen sich gezielt einzelne Pakete aktualisieren. Wenn man WordPress in der stabilen Version installiert erhällt man leider nicht die aktuellste, jedoch eine Version die gut auf Sicherheitslücken getestet wurde. Die unstabile Version hält dahingehend jedoch [...]]]></description>
			<content:encoded><![CDATA[<p>Wie jedes Debian Paket aus dem stable-Zweig, hat auch WordPress die aktuellste Version nur im unstable-Zweig. Über das sog. apt-pinning lassen sich gezielt einzelne Pakete aktualisieren.</p>
<p><span id="more-33"></span> Wenn man WordPress in der <a href="http://packages.debian.org/stable/web/wordpress" target="_blank">stabilen Version</a> installiert erhällt man leider nicht die aktuellste, jedoch eine Version die gut auf Sicherheitslücken getestet wurde. Die <a href="http://packages.debian.org/unstable/web/wordpress">unstabile Version</a> hält dahingehend jedoch bereits mehr neue Features vor.</p>
<p>Indem man gezielt WordPress aus dem unstable Bereich installiert, ohne jedoch das ganze System aktualisieren zu müssen, kommt man mit einem stable-Debian an ein aktuelles WordPress &#8211; dank <a href="http://linux.die.net/man/5/apt_preferences" target="_blank">apt-pinning</a>.</p>
<p>Zuallererst wird die Datei <em>/etc/apt/sources.list</em> erweitert um die folgenden Einträge:</p>
<p class="code"> deb ftp://ftp.uni-erlangen.de/pub/Linux/debian/ unstable main non-free contrib</p>
<p>In der Datei <em>/etc/apt/preferences</em> wird festgelegt welche Priorität das bestehende stabile System zu den neuen unstabilen Quellen hat:</p>
<p class="code">Package: *<br />
Pin: release a=stable<br />
Pin-Priority: 700<br />
Package: wordpress<br />
Pin: release a=unstable<br />
Pin-Priority: 710<br />
Package: *<br />
Package: libjs-scriptaculous<br />
Pin: release a=unstable<br />
Pin-Priority: 710<br />
Package: libjs-prototype<br />
Pin: release a=unstable<br />
Pin-Priority: 710<br />
Package: tinymce<br />
Pin: release a=unstable<br />
Pin-Priority: 710<br />
Pin: release o=Debian<br />
Pin-Priority: -10</p>
<p>Der erste Block legt die Priorität der stabilen Version mit 700 fest. Im zweiten Block wird definiert, dass die unstabile Version von WordPress mit 710 eine höhere Priorität hat, also vor der stabilen Version steht. Der dritte Block ist nur nötig, wenn man seine php-Version von <a href="/tag/dotdeb/">dotdeb</a> bezogen hat, denn dann liegen diese Pakete zwischen vom Status dazwischen und beim nächsten <em>apt-get update &amp;&amp; apt-get upgrade</em> würden diese gegen die unstable-Version ersetzt. Wichtig ist, dass diese Prioritätsangabe später nicht mehr geändert werden kann. Bei Problemen hilft die Übersicht von <em>apt-cache policy wordpress</em> weiter.</p>
<p>Mit <em>apt-get update &amp;&amp; apt-get upgrade</em> kommen die aktuellen Paketlisten in das System. Es ist sehr wahrscheinlich, dass der folgende Fehler eintreten wird:</p>
<p class="code">Paketlisten werden gelesen&#8230; Fehler!<br />
E: Dynamic MMap ran out of room<br />
E: Ein Fehler trat beim Bearbeiten von kadu-external-modules auf (NewVersion1)<br />
E: Problem with MergeList /var/lib/apt/lists/ftp.uni-erlangen.de[...]<br />
E: Die Paketliste oder die Statusdatei konnte nicht geparst oder geöffnet werden.</p>
<p>Der Cache-Speicher von Debian reicht nicht aus die neu hinzugekommene Liste der Pakete zu speichern. Dies wird in der Datei <em>/etc/apt/apt.conf</em> neben der Nennung der Primären Debian Version angepasst. Wichtig dabei ist eine darauffolgende letzte Leerzeile:</p>
<p class="code">APT::Default-Release &#8220;stable&#8221;;<br />
APT::Cache-Limit 16777216;</p>
<p>Nach einem erneuten Update der Paketlisten kann nun das aktuelle WordPress installiert werden. Über den Parameter <em>-t</em> wird die Version angegeben und gleichzeitig werden auch die Abhängigkeiten beachtet. Falls WordPress schon zuvor in der stable-Version installiert war, sieht die Ausgabe wie folgt aus:</p>
<p class="code">apt-get -t unstable install wordpress<br />
Paketlisten werden gelesen&#8230; Fertig<br />
Abhängigkeitsbaum wird aufgebaut&#8230; Fertig<br />
Die folgenden zusätzlichen Pakete werden installiert:<br />
libphp-phpmailer<br />
Die folgenden NEUEN Pakete werden installiert:<br />
libphp-phpmailer<br />
Die folgenden Pakete werden aktualisiert:<br />
wordpress<br />
1 aktualisiert, 1 neu installiert, 0 zu entfernen und 371 nicht aktualisiert.<br />
[...]<br />
Vorbereiten zum Ersetzen von wordpress 2.0.10-1etch1 (durch &#8230;/wordpress_2.5.0-1_all.deb) &#8230;</p>
<p>Nun liegt die aktuelle WordPress-Version unter <em>/usr/share/wordpress/</em> bereit. Zur Einrichtung von WordPress folgt später noch ein Eintrag hier.</p>
<p class="favorite"><a href="http://jaqque.sbih.org/kplug/apt-pinning.html" target="_blank">Englische Anleitung: apt-pinning</a><br />
<a href="http://linux.die.net/man/5/apt_preferences" target="_blank">Englisches Handbuch: apt_preferences</a></p>
<p><strong>Update vom 02.07.2008:</strong> /etc/apt/preferences an WordPress 2.5.1-4 angepasst.</p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/33/debian-wordpress-mit-apt-pinning/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Apache: php4 und php5 parallel</title>
		<link>http://admirableadmin.de/32/apache-php4-und-php5-parallel</link>
		<comments>http://admirableadmin.de/32/apache-php4-und-php5-parallel#comments</comments>
		<pubDate>Wed, 19 Mar 2008 18:25:28 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/32/</guid>
		<description><![CDATA[Um den Umstieg von php4 auf php5 zu proben oder um für eine bestimmte Seite die neue Version von php zur Verfügung zu stellen, hilft ein Blick ein die folgende Anleitung. Mit php 4.4.8 ist vermutlich die letzte Version von PHP4 erschienen. Der Support für diesen Versionszweig wurde somit auch mit Ablauf des Jahres 2007 [...]]]></description>
			<content:encoded><![CDATA[<p>Um den Umstieg von php4 auf php5 zu proben oder um für eine bestimmte Seite die neue Version von php zur Verfügung zu stellen, hilft ein Blick ein die folgende Anleitung.</p>
<p><span id="more-32"></span> Mit <a href="http://php.net/archive/2008.php#2008-01-03-1" target="_blank">php 4.4.8</a> ist vermutlich die letzte Version von PHP4 erschienen. Der Support für diesen Versionszweig wurde somit auch mit Ablauf des Jahres 2007 eingestellt. Darum ist es sinnvoll auf die aktuelle Version zu aktualisieren, was jedoch auf einem Produktiv-Server nicht so einfach möglich ist, da eventuell Anhängigkeiten bestehen. Auf der Internetseite von PHP sind <a href="http://de.php.net/manual/de/migration5.php">Tipps</a> und eine <a href="http://de.php.net/manual/de/faq.migration5.php">FAQ</a> bereitgestellt.</p>
<p>Üblicherweise läuft auf dem Server bereits php4 als Apache-Modul. Aufgrund der Anhängigkeiten von Debian ist es nicht möglich php5 als Zusatzmodul zu installieren, da sonst direkt php4 deinstalliert würde. Darum wird php5 mit den benötigten Zusatzmodulen als CGI-Modul (<a href="http://de.wikipedia.org/wiki/Common_Gateway_Interface">Wikipedia</a>) eingerichtet:</p>
<p class="code">apt-get install php5-cgi php5-gd php5-mcrypt php5-mhash php5-mysql php5-recode</p>
<p>Der Reihe nach werden nun einige Apache-Module aktiviert, die wie <em>actions </em>benötigt werden, sonst läuft php5 nicht als CGI-Modul:</p>
<p class="code">a2enmod actions<br />
a2enmod ssl<br />
a2enmod rewrite<br />
a2enmod suexec<br />
a2enmod include</p>
<p>Die Konfiguration findet in der Datei <em>/etc/apache2/apache2.conf</em> statt, wo auch <em>AddType</em> und <em>AddHandler</em> definiert werden:</p>
<p class="code">ScriptAlias /cgi-bin/ &#8220;/usr/lib/cgi-bin/&#8221;<br />
AddType application/x-httpd-php5 .php5<br />
Action application/x-httpd-php5 &#8220;/cgi-bin/php&#8221;</p>
<p>Somit werden alle Dateien mit der Endung .php5 vom CGI-Modul verarbeitet statt mit dem Apache-Modul. Alle Dateien jedoch umzubenennen wäre jetzt eine Menge Arbeit. Es geht einfacher indem im gewünschten VHost, die folgenden Zeilen eingetragen werden:</p>
<p class="code">&lt;VirtualHost *:80&gt;<br />
&lt;Directory  /var/www/htdocs &gt;<br />
Options +ExecCGI<br />
&lt;/Directory&gt;<br />
AddType application/x-httpd-php5 .php<br />
&lt;/VirtualHost&gt;</p>
<p>Nun werden alle Dateien mit php5 ausgeliefert und die Seite kann ausgiebig getestet werden bevor der komplette Umstieg von php4 zu php5 gemacht wird.</p>
<p>Ein testen der aktuellen  Konfiguration und ein anschließender Neustart ist selbsverständlich:</p>
<p class="code"> apache2ctl configtest<br />
apache2ctl restart</p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/32/apache-php4-und-php5-parallel/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PHP: Seiten zwischenspeichern</title>
		<link>http://admirableadmin.de/27/php-seiten-zwischenspeichern</link>
		<comments>http://admirableadmin.de/27/php-seiten-zwischenspeichern#comments</comments>
		<pubDate>Tue, 06 Nov 2007 18:00:11 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/27/</guid>
		<description><![CDATA[Jede PHP-Seite wird Serverseitig bei jedem Zugriff neu berechnet. Da liegt es nahe diese Seite zwischenzuspeichern. Mit eAccelerator ist dies einfach möglich. Die Beschleunigung der auszuliefernden Seiten wird mit eAccelerator (Wikipedia) dadurch erreicht, das diese auf dem Server in einer bereits kompilierten Version gespeichert werden. Bei einem erneuten Aufruf der der gleichen Seite entfällt das [...]]]></description>
			<content:encoded><![CDATA[<p>Jede PHP-Seite wird Serverseitig bei jedem Zugriff neu berechnet. Da liegt es nahe diese Seite zwischenzuspeichern. Mit eAccelerator ist dies einfach möglich.</p>
<p><span id="more-27"></span></p>
<p>Die Beschleunigung der auszuliefernden Seiten wird mit eAccelerator  (<a href="http://http://de.wikipedia.org/wiki/EAccelerator" target="_blank">Wikipedia</a>) dadurch erreicht, das diese auf dem Server in einer bereits kompilierten Version gespeichert werden. Bei einem erneuten Aufruf der der gleichen Seite entfällt das wiederholte umwandeln durch PHP, da nun die Seite aus dem Zwischenspeicher geladen wird.</p>
<p>Zunächst müssen unter Debian einige notwendige Pakte installiert werden, passend zur PHP-Version.</p>
<p class="code">apt-get install make bzip2 php5-dev</p>
<p>Die <a href="http://www.eaccelerator.net/" target="_blank">aktuelle Version von eAccelerator</a> wird z.b. mit wget runtergeladen, entpackt, kompiliert und installiert:</p>
<p class="code">tar jxvf eaccelerator-0.9.5.2.tar.bz2<br />
cd eaccelerator-0.9.5.2<br />
/usr/bin/phpize<br />
./configure &#8211;enable-eaccelerator=shared &#8211;with-php-config=/usr/bin/php-config<br />
make<br />
make install</p>
<p>Jetzt wird PHP noch in der Datei <em>/etc/php5/apache2/php.ini</em> konfiguriert</p>
<p class="code"> ; eaccelerator<br />
extension=&#8221;eaccelerator.so&#8221;<br />
eaccelerator.shm_size=&#8221;128&#8243;<br />
eaccelerator.cache_dir=&#8221;/var/cache/eaccelerator&#8221;<br />
eaccelerator.enable=&#8221;1&#8243;<br />
eaccelerator.optimizer=&#8221;1&#8243;<br />
eaccelerator.check_mtime=&#8221;1&#8243;<br />
eaccelerator.debug=&#8221;0&#8243;<br />
eaccelerator.filter=&#8221;"<br />
eaccelerator.shm_max=&#8221;0&#8243;<br />
eaccelerator.shm_ttl=&#8221;0&#8243;<br />
eaccelerator.shm_prune_period=&#8221;0&#8243;<br />
eaccelerator.shm_only=&#8221;0&#8243;<br />
eaccelerator.compress=&#8221;1&#8243;<br />
eaccelerator.compress_level=&#8221;9&#8243;<br />
eaccelerator.allowed_admin_path=&#8221;/var/www/webserverpfad/htdocs/&#8221;</p>
<p>Das Verzeichnis für den Zwischenspeicher wird angelegt und die Steuer-Datei in das gewünscht Verzeichnis kopiert. Das Zugangsdaten sind dort natürlich noch zu ändern.</p>
<p class="code">mkdir /var/cache/eaccelerator<br />
cp control.php /var/www/webserverpfad/htdocs/eaccelerator.php</p>
<p>Von der einwandfreien Funktion kann man sich nun nach einen Serverneustart mit einem phpinfo(); und über einen Blick in die Steuer-Datei überzeugen.</p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/27/php-seiten-zwischenspeichern/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP: Sicherheit mit suhosin</title>
		<link>http://admirableadmin.de/10/php-sicherheit-mit-suhosin</link>
		<comments>http://admirableadmin.de/10/php-sicherheit-mit-suhosin#comments</comments>
		<pubDate>Mon, 02 Jul 2007 21:32:37 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[dotdeb]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/10/</guid>
		<description><![CDATA[Selbst geschriebene oder OpenSource PHP-Anwendungen, wie auch dieser Blog, sind immer nur begrenzt sicher. Immer wieder werden Sicherheitslücken gefunden und es beginnt ein Wettlauf im aktualisieren bevor jemand versucht diese Lücke anhand von einem fertigen Exploit (Wikipedia) auszuprobieren. Hier hilft vorbeugen. Suhosin ist ein umfangreiches Schutzsystem für die eigene PHP Installation. Entwickelt wurde dieser Patch, [...]]]></description>
			<content:encoded><![CDATA[<p>Selbst geschriebene oder OpenSource PHP-Anwendungen, wie auch dieser Blog, sind immer nur begrenzt sicher. Immer wieder werden Sicherheitslücken gefunden und es beginnt ein Wettlauf im aktualisieren bevor jemand versucht diese Lücke anhand von einem fertigen Exploit (<a href="http://de.wikipedia.org/wiki/Exploit" target="_blank">Wikipedia</a>) auszuprobieren.</p>
<p><span id="more-10"></span>Hier hilft vorbeugen. <a href="http://www.hardened-php.net/suhosin/index.html" target="_blank">Suhosin</a> ist ein umfangreiches Schutzsystem für die eigene PHP Installation. Entwickelt wurde dieser Patch, um Server und Benutzer sowohl vor bekannten und unbekannten Fehlern in PHP Anwendungen als auch im PHP Kern zu schützen. Suhosin besteht aus zwei voneinander unabhängigen Teilen, welche entweder einzeln oder auch kombiniert verwendet werden können.</p>
<p>Der erste Teil ist ein kleiner Patch im PHP Kern, der verschiedene Schutzfunktionen vor low-level Pufferüberläufen und zum Schutz von Format String Schwachstellen, die noch nicht beseitigt wurden oder konsstruktionsbedingt nicht vollständig geschützt werden können.</p>
<p>Der zweite Teil des Suhosin Schutzsystems ist eine mächtige, leistungsfähige PHP Erweiterung, die alle anderen Schutzfunktionen anbietet. Anders als der PHP Patch zur PHP Härtung ist Suhosin binär kompatibel zur PHP Installation und ist ein Mittel, die einer PHP Installation eine binäre Erweiterung beifügt, wie sie beispielsweise auch durch den ZendOptimizer hinzugefügt werden kann. Im weitesten Sinn ist Suhosin also eine Erweiterung für PHP.</p>
<p>Seit Debian <a href="http://packages.debian.org/stable/web/php5-suhosin" target="_blank">Etch ist Suhosin</a> auch als Paket erhältlich und muss also nicht selber kompiliert werden. Da jedoch Debian von Natur aus sehr konservativ gegenüber neuen Version ist, sollte man sich überlegen diese PHP-Pakete  von einer externen Quelle zu beziehen.</p>
<p>Hier bietet sich <a href="http://dotdeb.org/" target="_blank">dotdeb.org</a> an. Was genau in die <em>/etc/apt/sources.list</em> eingetragen werden muss um in den Genuss der aktuellsten Pakete zu kommen steht auf der Webseite. Zu Beachten ist jedoch das diese Pakete wie gesagt von einer externen Quelle stammen und Debian entsprechend vor der Installation warnt.</p>
<p class="code">apt-get install php5-suhosin</p>
<p>hiermit installieren wir suhosin. Da es kein gewöhnliches Plugin für Apache ist, muss es auch nicht erst aktiviert werden, sondern ist nach einem Neuladen der Konfiguration mit sofort aktiv:</p>
<p class="code">apache2ctl graceful</p>
<p>Überprüfen wir das Ganze indem wir eine <em>info.php</em> erstellen und die folgenden Zeilen einfügen:</p>
<p class="code"> &lt;?<br />
phpinfo();<br />
?&gt;</p>
<p>wir finden dort einen Eintrag wie</p>
<p class="code"> This server is protected with the Suhosin Patch 0.9.6.2<br />
Copyright (c) 2006 Hardened-PHP Project</p>
<p>im Error-Log von Apache finden wir nun immer die abgefangenen Anfragen, z.b.
</p>
<p class="code"> [Thu Jun 28 21:41:50 2007] [error] [client 12.23.34.45] ALERT &#8211; configured GET variable value length limit exceeded &#8211; dropped variable &#8216;content&#8217; (attacker &#8217;12.23.34.45&#8242;, file &#8216;/var/www/example.com/www/htdocs/(&#8230;).php&#8217;), referer: http://example.com/(&#8230;).php</p>
<p>Hier noch die Links:</p>
<p class="favorite"><a href="http://www.hardened-php.net/suhosin/index.html" target="_blank">Suhosin<br />
</a><a href="http://packages.debian.org/stable/web/php5-suhosin" target="_blank">Debain Suhosin</a><br />
<a href="http://dotdeb.org/" target="_blank">dotdeb</a></p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/10/php-sicherheit-mit-suhosin/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apache: Seiten gepackt ausliefern</title>
		<link>http://admirableadmin.de/9/apache-seiten-gepackt-ausliefern</link>
		<comments>http://admirableadmin.de/9/apache-seiten-gepackt-ausliefern#comments</comments>
		<pubDate>Sat, 30 Jun 2007 21:45:38 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[debian]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/9</guid>
		<description><![CDATA[Werden hauptsächlich statische Seiten mit Apache ausgeliefert, lohnt es sich diese zuvor zu komprimieren. Mit der Erweiterung mod_deflate können unter Apache2 bestehende HTML, Text oder XML Dateien auf bis zu 20 &#8211; 30 % ihrer ursprünglichen Größe komprimiert werden auf Kosten einer höheren CPU-Auslastung. Unter Apache1 gibt es dazu die Erweiterung mod_gzip &#8211; hier wird [...]]]></description>
			<content:encoded><![CDATA[<p>Werden hauptsächlich statische Seiten mit Apache ausgeliefert, lohnt es sich diese zuvor zu komprimieren.</p>
<p><span id="more-9"></span></p>
<p>Mit der Erweiterung <em>mod_deflate</em> können unter Apache2 bestehende HTML, Text oder XML Dateien auf bis zu 20 &#8211; 30 % ihrer ursprünglichen Größe komprimiert werden auf Kosten einer höheren CPU-Auslastung.</p>
<p>Unter Apache1 gibt es dazu die Erweiterung <em>mod_gzip</em> &#8211; hier wird jedoch nur die neuere Erweiterung <em>mod_deflate</em> für Apache2 behandelt.</p>
<p>Standardmäßig ist unter Debian die Erweiterung <em>mod_deflate</em> bereits installiert und wartet nur darauf aktiviert zu werden:</p>
<p class="code">a2enmod deflate</p>
<p>nun wird anschließend die Konfiguration von Apache neu geladen</p>
<p class="code">apache2ctl graceful</p>
<p>fortan werden die MIME-Typen (<a href="http://de.wikipedia.org/wiki/Content-Type" target="_blank">Wikipedia</a>) text/html, text/plain und text/xml (HTML-, Text- und XML-Dateien) komprimiert und im HTTP-Header steht nun:</p>
<p class="code">Content-Encoding: gzip</p>
<p>ziemlich unspektakulär, oder? Okay, wir brauchen zumindest temporär zum testen eine Anzeige ob und wie gut die Komprimierung wirklich funktioniert. Dazu werden die folgenden Zeilen in der Konfigurationsdatei eines V-Hosts eingetragen:</p>
<p class="code">&lt;IfModule mod_deflate.c&gt;<br />
DeflateFilterNote Input instream<br />
DeflateFilterNote Output outstream<br />
DeflateFilterNote Ratio ratio<br />
LogFormat &#8216;&#8221;%r&#8221; %{outstream}n/%{instream}n (%{ratio}n%%)&#8217; deflate<br />
CustomLog /var/log/apache2/vhostname_deflate_log deflate<br />
&lt;/IfModule&gt;</p>
<p>Nach dem Neuladen der Konfiguration wird in der neuen CustomLog-Datei als Beispiel folgende Zeile erscheinen:</p>
<p class="code">&#8220;GET /info.php HTTP/1.1&#8243; 13146/64834 (20%)</p>
<p>Man sieht das die Datei info.php angefordert und ausgeliefert wurde. Die originale Dateigröße betrug 64834 Bytes, aber wurde komprimiert auf 13146 Bytes oder 20% der Originalgröße. Dies ist ein sehr gutes Ergebnis und wenn ein Großteil der Webseite aus HTML-, Text- und XML-Dateien besteht, dann wird <em><span class="system">mod_deflate</span></em> eine Menge Traffic einsparen. Für Besucher mit einer &#8220;schmalbandigen&#8221; Internetanbindung bedeutet dies, dass die Seite schneller geladen wird.</p>
<p class="favorite"><a href="http://httpd.apache.org/docs/2.0/mod/mod_deflate.html" target="_blank">Apache Dokumentation mod_deflate</a></p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/9/apache-seiten-gepackt-ausliefern/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ein perfektes Debian</title>
		<link>http://admirableadmin.de/7/ein-perfektes-debian</link>
		<comments>http://admirableadmin.de/7/ein-perfektes-debian#comments</comments>
		<pubDate>Thu, 28 Jun 2007 20:01:50 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[debian]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/7</guid>
		<description><![CDATA[Das auf einem frisch installierten Debian-System von Haus aus kaum etwas läuft wird man sofort nach dem ersten Login merken. Darum ist es nicht schlecht eine Anleitung zur Hand zu haben, um das System von Anfang an optimal einzurichten. Natürlich installiert man auch nur das was dann später auch wirklich gebraucht wird, denn in der [...]]]></description>
			<content:encoded><![CDATA[<p>Das auf einem frisch installierten Debian-System von Haus aus kaum etwas läuft wird man sofort nach dem ersten Login merken. Darum ist es nicht schlecht eine Anleitung zur Hand zu haben, um das System von Anfang an optimal einzurichten.</p>
<p><span id="more-7"></span></p>
<p>Natürlich installiert man auch nur das was dann später auch wirklich gebraucht wird, denn in der englischen Anleitungen die ich gefunden hab wird nicht immer jeder Schritt begründet:</p>
<p class="favorite"><a href="http://www.howtoforge.com/perfect_setup_debian_etch" target="_blank">The Perfect Setup &#8211; Debian Etch (Debian 4.0)</a><br />
<a href="http://www.howtoforge.com/perfect_setup_debian_sarge" target="_blank"> The Perfect Setup &#8211; Debian Sarge (3.1)</a></p>
<p>Bei Unklarheiten sollten man also einen Blick in die entsprechende Dokumentation werfen und nicht Blind alles runterkopieren, um sich später über die Funktion zu wundern. Übrigens gibt es noch mehr gute Anleitungen dort auf <a href="http://www.howtoforge.com">www.howtoforge.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/7/ein-perfektes-debian/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debian als E-Mailserver</title>
		<link>http://admirableadmin.de/4/debian-als-e-mailserver</link>
		<comments>http://admirableadmin.de/4/debian-als-e-mailserver#comments</comments>
		<pubDate>Tue, 26 Jun 2007 22:18:37 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[spam]]></category>
		<category><![CDATA[virus]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/4</guid>
		<description><![CDATA[Ein eigener E-Mailserver (Wikipedia) ist unerlässlich wenn man selber E-Mails empfangen und versenden möchte, ohne von einem großen Provider abhängig zu sein. Nicht nur kann man so alles optimal auf seine eigenen Bedürfnisse einstellen, sondern kann auch weitergehend durch Verschlüsselung des E-Mailverkehrs über eigene Zertifikate seine Nachrichten schützen. E-Mail kann man gut mit Postkarten vergleichen, [...]]]></description>
			<content:encoded><![CDATA[<p>Ein eigener E-Mailserver (<a href="http://de.wikipedia.org/wiki/Mailserver" target="_blank">Wikipedia</a>) ist unerlässlich wenn man selber E-Mails empfangen und versenden möchte, ohne von einem großen Provider abhängig zu sein.</p>
<p><span id="more-4"></span>Nicht nur kann man so alles optimal auf seine eigenen Bedürfnisse einstellen, sondern kann auch weitergehend durch Verschlüsselung des E-Mailverkehrs über eigene Zertifikate seine Nachrichten schützen.</p>
<p>E-Mail kann man gut mit Postkarten vergleichen, jeder kann fremde Nachrichten mit minimal technischem Aufwand lesen und verändern. Wie man dies verhindern kann werde ich später erklären.</p>
<p>Als Betreuer oder Besitzers eines Servers ist man selber für alles verantwortlich was von und auf dem eigenen Server passiert. Somit ist es wichtig, dass kein Spam (<a href="http://de.wikipedia.org/wiki/Spam" target="_blank">Wikipedia</a>) direkt über den eigenen Server versandt wird.</p>
<p>Ein sogenanntes Offenes Relay (<a href="http://de.wikipedia.org/wiki/Offenes_Mail-Relay" target="_blank">Wikipedia</a>)  lässt sich einfach überprüfen (<a href="http://www.abuse.net/relay.html" target="_blank">abuse.net</a>), dabei werden verschiedene Formen des E-Mailversand geprüft und die Ergebnisse direkt angezeigt. Das Ganze lässt sich auch anonym testen.</p>
<p>Es gibt viele Anleitungen einen eigenen Mailserver zu erstellen. Erste Anlaufstelle für Debian-Benutzer wären eigentlich somit die Hilfestellungen von debianhowto.de (<a href="http://www.debianhowto.de/doku.php/de:howtos:sarge:exim4_vexim2_courier_mailman?do=backlink" target="_blank">de:howtos:sarge:exim4_vexim2_courier_mailman</a>) &#8211; der Autor verweist auf die Mailingliste, auf der jedoch nicht so erfreuliche Beträge zu finden sind (<a href="https://lists.debianhowto.de/pipermail/howto/2005-November/000197.html" target="_blank">lists.debianhowto.de</a>). Zusammengefast wird die Systematik von Debian zerstört, über welche sich neue Pakete installieren lassen und die Konfiguration standardisiert definiert wird. In der Liste wird sogar davon gesprochen, das Updates später unmöglich sind. Also muss etwas anderes her.</p>
<p>Nach einiger Suche hab ich für Debian eine gute Anleitung gefunden. Der Autor Christoph Haas stellt für Debian Sarge (<a href="http://workaround.org/articles/ispmail-sarge/index.shtml.de" target="_blank">deutsch</a> und <a href="http://workaround.org/articles/ispmail-sarge/index.shtml.en" target="_blank">englisch</a>) und Etch (<a href="http://workaround.org/articles/ispmail-etch/" target="_blank">englisch</a>) eine ausführliche Anleitung zur Verfügung, die auch sehr gut funktioniert. Verschiedene Domains mit einer Verwaltung über die Datenbank, Spam und Viren-Erkennung und Filterung sind mit eingeschlossen. Das Beste daran ist natürlich, dass alles gut erklärt wird wie es gemacht wird und warum.</p>
<p class="favorite"><a href="http://workaround.org/articles/ispmail-etch/" target="_blank">ISP-style Email Server with Debian-Etch and Postfix 2.3</a><br />
<a href="http://workaround.org/articles/ispmail-sarge/index.shtml.de" target="_blank">ISP-ähnlicher Email Service mit Debian-Sarge und Postfix 2.1</a><br />
<a href="http://workaround.org/articles/ispmail-sarge/index.shtml.en" target="_blank">ISP-style Email Service with Debian-Sarge and Postfix 2.1</a></p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/4/debian-als-e-mailserver/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

