<?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>Kau-Boys blog &#187; Server</title>
	<atom:link href="http://kau-boys.de/tag/server/feed" rel="self" type="application/rss+xml" />
	<link>http://kau-boys.de</link>
	<description>Webdevelopment and more</description>
	<lastBuildDate>Sun, 22 Jan 2012 17:33:25 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Schutz der Website oder des Blog vor massiven Zugriffen durch Crawler oder Angreifer</title>
		<link>http://kau-boys.de/1471/webserver/schutz-der-website-oder-des-blog-vor-massiven-zugriffen-durch-crawler-oder-angreifer?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=schutz-der-website-oder-des-blog-vor-massiven-zugriffen-durch-crawler-oder-angreifer</link>
		<comments>http://kau-boys.de/1471/webserver/schutz-der-website-oder-des-blog-vor-massiven-zugriffen-durch-crawler-oder-angreifer#comments</comments>
		<pubDate>Tue, 17 Jan 2012 17:39:08 +0000</pubDate>
		<dc:creator>Bernhard</dc:creator>
				<category><![CDATA[Webserver]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://kau-boys.de/?p=1471</guid>
		<description><![CDATA[Heute bekam ich über mein Monitoring-Tool mal wieder eine Mail, dass mein Blog gerade down ist. Bei allen, die das vorhin getroffen hat, möchte ich mich hiermit auch entschuldigen. Aber wieso war mein Blog mal wieder down, wo er doch in letzter Zeit so gut gelaufen ist? Crawler: Plage oder Segen? Jeder von uns, der [...]]]></description>
			<content:encoded><![CDATA[<p>Heute bekam ich über mein Monitoring-Tool mal wieder eine Mail, dass mein Blog gerade down ist. Bei allen, die das vorhin getroffen hat, möchte ich mich hiermit auch entschuldigen. Aber wieso war mein Blog mal wieder down, wo er doch in letzter Zeit so gut gelaufen ist?</p>
<h2>Crawler: Plage oder Segen?</h2>
<p>Jeder von uns, der eine Website hat freut sich wohl, wenn den Google Crawler regelmäßig vorbeischaut und dabei möglichst alle neuen schon nach wenigen Minuten in den Index befördert. Da der Google Crawler dabei auch automatisch auf die Performance einer Website achtet um kleine Seiten nicht zu überlasten, fällt es auch nicht weiter auf, wenn er gerade am Werk ist.</p>
<p>Aber leider gibt es nicht nur den Google Crawler sondern mittlerweile eine unüberschaubar große Anzahl davon. Heute hat sich also ein neuer Crawler ans Werk gemacht und meine Website im Turbogang mit Anfragen beschossen. Das ist für den kleinen V-Server dann doch etwas zu viel geworden und er hatte innerhalb kürzester Zeit eine Auslastung von 4500%!</p>
<p><span id="more-1471"></span></p>
<p>Aber wie kann man sich nun vor solchen Crawlern schützen und möchte man das auch. Wenn man nämlich einen Crawler blockiert, dann kann der Dienst dahinter die Website nicht mehr indizieren und man verliert eventuell neue Nutzer, die auf die eigene Website über diesen Dienst aufmerksam geworden wären. Daher habe ich bei meiner Website nicht kategorisch alle Crawler außer denen der großen Suchmaschinen ausgeschlossen.</p>
<h2>Einzelne Crawler sperren</h2>
<p>Um Crawler den Zugriff auf die eigene Website zu verweigern setzt man eine Datei mit dem Namen <code>robots.txt</code> ein. Nachdem ich also den Namen des Crawlers über die Logfiles meines Servers rausgefunden hatte, konnte ich ihn zukünftig ausschließen, indem ich folgende Zeilen zur robots.txt Datei hinzugefügt habe:</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
User-agent: 008
Disallow: /
</pre>
<p>Das Problem an der Sache ich nur, dass der Crawler diese Änderung nicht sofort bemerkt. Eventuell prüft er die Datei ja nur einmal pro Stunde oder sogar nur einmal am Tag oder in der Woche. Bis er also aufhört die Website mit Anfragen zu überfluten müssen andere Maßnahmen getroffen werden.</p>
<h2>Zugriffe von einer IP-Adresse blockieren</h2>
<p>Ich musste also nun den Zugriff durch den Crawler anhand seiner IP-Adresse blockieren. Das geht am einfachsten über die Datei <code>.htaccess</code> die sich meistens im Wurzelverzeichnis der Website befindet. Dort habe ich folgende Zeilen eingefügt:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
# block potentially harming clients
order allow,deny
deny from 77.45.136.22
deny from 91.218.229.49
allow from all
# END: block potentially harming clients
</pre>
<p>Ich habe hier in diesem Beispiel zwei IP-Adressen blockiert. Was es mit der zweiten auf sich hat erkläre ich euch gleich. Ihr könnt hier also auch mehrere IP-Adressen blockieren, müsste aber pro Adresse eine Zeile verwenden. Damit verhindert ihr zwar die Anfrage selbst nicht (was auch nicht möglich ist) aber die Anfrage wird hierbei vom Apache-Server direkt zurückgewiesen, ohne dass beispielsweise WordPress etwas davon mitbekommt und anfängt die angeforderte Seite zu generieren. Wenn der Crawler intelligent ist, hört er auch recht bald auf eure Seite zu lesen und schaut sich vielleicht gleich mein eure veränderte robots.txt Datei an.</p>
<h2>Hilfe gegen die bösen Jungs da draußen</h2>
<p>Leider ist die robots.txt Datei nur eine Bitte an einen Crawler, was sie mit eurer Website tun soll. Er kann diese Information aber natürlich auch einfach ignorieren und eure Website trotzdem auslesen. Dann sollte das Blockieren mittels .htaccess Datei funktionieren, solange es ein Crawler ist, hinter dem keine bösen Absichten stecken. Denn sobald ihr den Crawler blockiert, bekommt er das natürlich mit. Er könnte dann einfach die IP-Adresse wechseln und erneut eure Seite belagern. Damit er das aber nicht so schnell mitbekommt, könnt ihr einen kleinen Trick anwenden. Oft werden solche Crawler von Programmieren eingesetzt, die den gesamten Inhalt eurer Website lesen wollen. Sie prüfen dabei vermutlich auch, ob die Seite erfolgreich angefordert werden konnte (Status Code 200) oder ob es eine erfolgreiche Weiterleitung gab (Status Code 301/302). Wieso also nicht dem Crawler einfach eine Seite zurückliefern, die Inhalt enthält, nicht aber den, den er wollte. Oder ihn einfach auf eine andere Seite weiterleiten.</p>
<p>Ich leite solche Angreifer gerne auf <a href="http://www.weirdity.com/internet/eoti.html">&#8220;Das Ende des Internets&#8221;</a> um. Das ist eine witzige Seite, die wie eine typische Internet Explorer-Fehlerseite aussieht und andeutet, dass man das Ende des Internet erreicht hat. Um das zu tun fügt ihr einfach folgende Zeilen in eure .htaccess Datei ein:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
# rewrite unwanted clients to the end of the internet
RewriteCond %{REMOTE_ADDR} ^77\.45\.136\.22 [OR]
RewriteCond %{REMOTE_ADDR} ^91\.218\.229\.49
RewriteRule ^(.*)$ http://www.weirdity.com/internet/eoti.html [L]
# END: rewrite unwanted clients to the end of the internet
</pre>
<p>Wenn ihr hier mehrere IP-Adressen angeben möchtet, dann müsst ihr hinter jeder Zeile, außer der letzten, noch <code>[OR]</code> einfügen. Außerdem müssten die Punkte mit einem vorangestellten Backslash markiert werden.</p>
<p>Wenn ihr zuvor schon den vorherigen Code zum Blockieren einer IP-Adresse eingefügt habt, dann müsst ihr diesen auskommentieren (indem ihr vor jede Zeile ein # Zeichen einfügt), damit die Zugriffe nicht mehr blockiert, sondern stattdessen umgeleitet werden.</p>
<p>Der Nutzer des Crawlers merkt  im Optimalfall davon nichts. Wenn er sich dann aber im Nachhinein die gecrawlten Seiten ansieht, wird er sich über deren Inhalt wohl sehr ärgern.</p>
<h2>Fazit</h2>
<p>Ich habe mit den hier beschriebenen schon eingie Angriffe bzw. unbeabsichtigte Überlastungen durch Crawler abwenden können. Auch mein Server läuft gerade wieder mit gemächlichen 5% Auslastung vor sich hin. Diese Maßnahmen schützen einen zwar nicht vor professionellen oder gut organisierten Angriffen, aber gegen die oft genannten &#8220;Script-Kiddies&#8221; sollten sie ausreichen. Die suchen sich dann einfach eine Website, die sie einfacher angreifen können.</p>
<p>Ach ja und jetzt noch zu der zweite IP-Adresse. Diese stammt wirklich von einem Angreifer. Der wollte aber nicht meinen Server durch viele Anfragen überlasten, sondern viel schlimmer noch, er wollte Schadcode auf meinen Server laden. Dazu hat er versucht die Sicherheitslücke in der TimThumb Funktion auszunutzen, auf die ich auch weiter unten in meinem Artikel <a href="http://kau-boys.de/1422/wordpress/plugins-und-sicherheit-sicherheitsluecke-in-filedownload-plugin-geschlossen">Plugins und Sicherheit: Sicherheitslücke in Filedownload Plugin geschlossen</a> kurz eingegangen bin. Aber zum Glück verwende ich kein Plugin oder Theme, das diese Funktion nutzt bzw. eine unsichere Version von TimThumb verwendet.</p>
]]></content:encoded>
			<wfw:commentRss>http://kau-boys.de/1471/webserver/schutz-der-website-oder-des-blog-vor-massiven-zugriffen-durch-crawler-oder-angreifer/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Server Downtimes und keine Erklärung in Sicht</title>
		<link>http://kau-boys.de/1449/allgemein/server-downtimes-und-keine-erklaerung-in-sicht?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=server-downtimes-und-keine-erklaerung-in-sicht</link>
		<comments>http://kau-boys.de/1449/allgemein/server-downtimes-und-keine-erklaerung-in-sicht#comments</comments>
		<pubDate>Sun, 06 Nov 2011 14:10:47 +0000</pubDate>
		<dc:creator>Bernhard</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://kau-boys.de/?p=1449</guid>
		<description><![CDATA[Am Freitag habe ich auf meinem Server nach Rootkits suchen lassen. Die beiden Skripte dazu stelle ich euch hier demnächst mal kurz vor. Es sah danach alles sehr gut aus. Leider war ich dann eine Weile nicht am Rechner und in dieser Zeit stürzte der Apache-Server aus bisher ungeklärten Gründen ab und war über 3 [...]]]></description>
			<content:encoded><![CDATA[<p>Am Freitag habe ich auf meinem Server nach Rootkits suchen lassen. Die beiden Skripte dazu stelle ich euch hier demnächst mal kurz vor. Es sah danach alles sehr gut aus. Leider war ich dann eine Weile nicht am Rechner und in dieser Zeit stürzte der Apache-Server aus bisher ungeklärten Gründen ab und war über 3 Stunden nicht erreichbar. Nach Analyse der Logfiles fand ich viele Angriffe, die auf die <a href="http://www.perun.net/2011/11/04/wordpress-alte-timthumb-version-mit-kritischer-sicherheitsluecke-in-vielen-instalationen-aktiv/">Sicherheitslücke in der TimThumb</a> hindeutete. Ein Angreifer versuchte bei mir die Funktion im Plugin <a href="http://wpmegamenu.com/">UberMenu</a> zu attackieren. Es ist aber schon schlimm, dass ein &#8220;Premium Theme&#8221; eine solche Sicherheitslücke aufweist. Zum Glück setze ich dieses Plugin nicht ein. Ich habe auch ansonsten alle Plugins und Themes gelöscht, die TimThmub einsetzen. </p>
<p>Heute musste ich dann leider feststellen, dass der Server erneut down war. Da das Monitoring über <a href="http://www.pingdom.com">Pingdom</a> mir leider keine Nachricht auf mein Handy schickte, bemerkte ich es erst nach über 7 Stunden! Hiermit möchte ich mich auch bei allen Entschuldigen, die in dieser Zeit vergeblich versucht haben meinen Blog zu erreichen.</p>
<p>Ich weiß leider noch immer nicht, was genau zu den beiden Ausfällen geführt hat. Die einzige größere Änderung der letzten Tage war die Installation des <a href="http://wordpress.org/extend/plugins/wp-super-cache/">WP Super Cache</a> Plugins. Falls jemand von euch weiß, ob es damit zu Abstürzen des Apache Prozesses kommen kann, dann wäre ich ihm für einen Kommentar sehr dankbar.</p>
<p>Ich werde jetzt meinen Server ein bisschen besser im Auge behalten. Sobald ich den Fehler gefunden habe, werde ich euch natürlich sofort berichten, woran es lag. In diesem Sinne noch ein schönes Wochenende!</p>
]]></content:encoded>
			<wfw:commentRss>http://kau-boys.de/1449/allgemein/server-downtimes-und-keine-erklaerung-in-sicht/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Einen Catch-All E-Mail Account in Plesk einrichten</title>
		<link>http://kau-boys.de/1246/webserver/einen-catch-all-e-mail-account-in-plesk-einrichten?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=einen-catch-all-e-mail-account-in-plesk-einrichten</link>
		<comments>http://kau-boys.de/1246/webserver/einen-catch-all-e-mail-account-in-plesk-einrichten#comments</comments>
		<pubDate>Sat, 26 Feb 2011 16:57:46 +0000</pubDate>
		<dc:creator>Bernhard</dc:creator>
				<category><![CDATA[Webserver]]></category>
		<category><![CDATA[Administration]]></category>
		<category><![CDATA[Plesk]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://kau-boys.de/?p=1246</guid>
		<description><![CDATA[Wie ich schon in verschiedenen anderer Artikel erwähnt habe, läuft dieser Blog auf einem Server mit Plesk. Für meine Domain kann ich zurzeit bei meinem Hoster nur eine einzige E-Mail-Adresse angeben. Da ich aber auch andere Adressen verwenden wollte habe ich mir die E-Mail Funktion von Plesk zunutze gemacht. Da ich alle E-Mail-Adressen meiner Domain [...]]]></description>
			<content:encoded><![CDATA[<p>Wie ich schon in verschiedenen anderer Artikel erwähnt habe, läuft dieser Blog auf einem Server mit Plesk. Für meine Domain kann ich zurzeit bei meinem Hoster nur eine einzige E-Mail-Adresse angeben. Da ich aber auch andere Adressen verwenden wollte habe ich mir die E-Mail Funktion von Plesk zunutze gemacht.</p>
<p>Da ich alle E-Mail-Adressen meiner Domain ohnehin auf eine einzige Adresse umleiten lassen möchte, habe ich noch einer Möglichkeit in Plesk gesucht und schließlich auch gefunden. Man kann recht einfach einen sogenannten Catch-All E-Mail-Account einrichten. Die Einstellung ist allerdings etwas versteckt.</p>
<p><span id="more-1246"></span></p>
<h2>Catch-All einrichten</h2>
<p>Zuerst navigiert ihr über die Startseite über Übersicht eure Domain, für die ihr einen Catch-All erstellen möchtet.</p>
<div style="text-align: center;">
<img src="http://kau-boys.de/wp-content/uploads/2011/02/Plesk-Domain-E-Mail.png" alt="Plesk Domain - E-Mail" title="Plesk Domain - E-Mail" style="width: 506px; height: 169px;" />
</div>
<p>Anschließend klickt ihr auf &#8220;E-Mail-Accounts&#8221;:</p>
<div style="text-align: center;">
<img src="http://kau-boys.de/wp-content/uploads/2011/02/Plesk-Domain-E-Mail-Accounts.png" alt="Plesk Domain - E-Mail-Accounts" title="Plesk Domain - E-Mail-Accounts" style="width: 506px; height: 147px;" />
</div>
<p>Dort könntet ihr nun einen einzelnen E-Mail-Account anlegen, den ihr dann direkt als Postfach z.B. per POP3 abruft oder eine Weiterleitung einrichtet. Wir möchten aber einen Catch-All einrichten und klicken daher auf &#8220;E-Mail-Einstellungen&#8221;:</p>
<div style="text-align: center;">
<img src="http://kau-boys.de/wp-content/uploads/2011/02/Plesk-Domain-E-Mail-Einstellungen.png" alt="Plesk Domain - E-Mail-Einstellungen" title="Plesk Domain - E-Mail-Einstellungen" style="width: 506px; height: 444px;" />
</div>
<p>Hier findet ihr endlich die Einstellungen für den Catch-All. Bei einem Catch-All werden bekanntlich alle E-Mails, die an unbekannte Adressen geschickt, aufgefangen. Ihr könnt hier nun entweder eine Adresse angeben, die ihr zuvor als echten E-Mail-Account angelegt habt, oder aber ihr leitet sie an eine externe E-Mail-Adresse weiter, so wie ich es getan habe.</p>
<p>Das war es auch schon. Ab sofort könnt ihr jede beliebige E-Mail-Adresse eures Accounts verwenden und die Mails landen automatisch in eurem Postfach. Nur wenn ihr auch mit dieser Adresse antworten möchtet, müsst ihr dann daran denken in eurem E-Mail-Programm auch die Absender-Adresse entsprechen anzupassen.</p>
<p>Ich hoffe der Tipp konnte euch wie immer weiterhelfen. Über Kommentare würde ich mich wie immer sehr freuen.</p>
]]></content:encoded>
			<wfw:commentRss>http://kau-boys.de/1246/webserver/einen-catch-all-e-mail-account-in-plesk-einrichten/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AWStats und Webalizer für Plesk aktivieren</title>
		<link>http://kau-boys.de/914/webserver/awstats-und-webalizer-fuer-plesk-aktivieren?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=awstats-und-webalizer-fuer-plesk-aktivieren</link>
		<comments>http://kau-boys.de/914/webserver/awstats-und-webalizer-fuer-plesk-aktivieren#comments</comments>
		<pubDate>Fri, 04 Jun 2010 15:15:13 +0000</pubDate>
		<dc:creator>Bernhard</dc:creator>
				<category><![CDATA[Webserver]]></category>
		<category><![CDATA[Administration]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Plesk]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://kau-boys.de/?p=914</guid>
		<description><![CDATA[Ich nutze auf dem Server, auf dem dieser Blog läuft Plesk. Ich konnte dort bereits vieles aktivieren, aber eine Sache, die einfach nicht funktionieren wollte, war AWStats oder Webalizer. Dabei war es mir eigentlich egal, welchen der beiden Statistiken läuft, ich wollte es einfach nur mal zum Laufen bekommen, selbst wenn es nur allgemeine Daten [...]]]></description>
			<content:encoded><![CDATA[<p>Ich nutze auf dem Server, auf dem dieser Blog läuft Plesk. Ich konnte dort bereits vieles aktivieren, aber eine Sache, die einfach nicht funktionieren wollte, war AWStats oder Webalizer. Dabei war es mir eigentlich egal, welchen der beiden Statistiken läuft, ich wollte es einfach nur mal zum Laufen bekommen, selbst wenn es nur allgemeine Daten zum Traffic und den Benutzern beinhaltet.</p>
<h2>Statistiken in Plesk aktivieren</h2>
<p>Das Ganze in Plesk zu aktivieren ist eigentlich kein allzu großes Problem. Unter &#8220;Domain -> Hosting -> Setup&#8221; kann man das jeweilige Statistik-Toll recht einfach aktivieren:</p>
<p><img src="http://kau-boys.de/wp-content/uploads/2010/05/AWStats-oder-Webalizer-Webstatistiken-aktivieren.png" alt="AWStats oder Webalizer Webstatistiken aktivieren" title="AWStats oder Webalizer Webstatistiken aktivieren" style="width: 506px; height: 29px" class="aligncenter size-full wp-image-915" /></p>
<p><span id="more-914"></span></p>
<p>Aber leider hat man dadurch nur in Plesk festgelegt, welches Tool man nutzen möchte und wie man auf die Daten zugreifen kann. Beide Dienste beziehen ihre Daten aus den Apache-Logfiles. Diese müssen aber erst aufbereitet werden. Ich dachte, dass dies automatisch passiert, sobald man die Einstellungen in Plesk vorgenommen hat. Dem war aber nicht so.</p>
<h2>Apache-Logfiles manuell auswerten lassen</h2>
<p>Wenn die Daten noch nie ausgewertet wurden enthält man auf der Seite, die eigentlich die Statistiken enthalten sollten, folgenden Hinweis: </p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
This is the placeholder for Webalizer statistics. If you see this page that means that Webalizer has not run yet on your server. Webalizer is typically set to run once every 24 hours. If you do not see a change to this page in the next 24 hours contact your server administrator for assistance.

This page has been automatically generated by Server Administrator.
</pre>
<p>Dummerweise ist man selbst Administrator und weiß auch jetzt nicht weiter. Man kann die Daten erstmalig auswerten lassen, indem man folgenden Befehl über die Konsole ausführt:</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
/usr/local/psa/admin/sbin/statistics
</pre>
<p>Nun werden die Apache-Logfiles ausgewertet und für AWStats und Webalizer aufbereitet. Selbst wenn ihr beide Varianten für verschiedene Domains verwendet habt, werden die Daten mit diesem einen Befehl ausgewertet. Damit ihr diesen Befehl nicht ständig manuell ausführen müsst, solltet ihr einen Cronjob (bzw. Crontab oder &#8220;geplante Aufgabe&#8221;) erstellen, die das z.B. jede Nacht um Mitternacht ausführt.</p>
<p>Wie man einen Cronjob anlegt könnte ihr auf meinem Artikel mit dem <a href="http://kau-boys.de/490/webserver/plesk-cronjob-fuer-ein-php-skript-mit-parametern-einrichten">Titel Plesk Cronjob für ein PHP-Skript mit Parametern einrichten</a> nachlesen, wobei ihr hier anstelle der PHP Skripts den oben beschriebenen Befehl einfügt. Da der Apache Benutzer auch normalerweise keinen Zugriff auf die notwendigen Ordner hat, solltet ihr den Cronjob für den ROOT Benutzer einrichten.</p>
<p>Ich hoffe, der Artikel konnte euch weiterhelfen. Ich wünsche euch noch viel Spaß beim Studieren eurer Statistiken. Anmerkungen und Kommentare sind natürlich wie immer gern gesehen.</p>
]]></content:encoded>
			<wfw:commentRss>http://kau-boys.de/914/webserver/awstats-und-webalizer-fuer-plesk-aktivieren/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Syntax Highlighting im Vim Editor aktivieren</title>
		<link>http://kau-boys.de/896/software/syntax-highlighting-im-vim-editor-aktivieren?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=syntax-highlighting-im-vim-editor-aktivieren</link>
		<comments>http://kau-boys.de/896/software/syntax-highlighting-im-vim-editor-aktivieren#comments</comments>
		<pubDate>Wed, 28 Apr 2010 14:15:52 +0000</pubDate>
		<dc:creator>Bernhard</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://kau-boys.de/?p=896</guid>
		<description><![CDATA[Ab und zu kommt es vor, dass man mal per Konsole eine Datei auf dem Server bearbeiten muss. Dabei wird oft der Vim Editor (&#8220;Vi IMproved&#8221; eine erweiterte Version des Vi Editors) verwendet. Auch ich verwende den Editor auf zwei Servern und komme einigermaßen damit klar. Auf einem dieser Server ist aber die Syntax Hervorhebung [...]]]></description>
			<content:encoded><![CDATA[<p>Ab und zu kommt es vor, dass man mal per Konsole eine Datei auf dem Server bearbeiten muss. Dabei wird oft der <a href="http://www.vim.org/">Vim Editor</a> (&#8220;Vi IMproved&#8221; eine erweiterte Version des Vi Editors) verwendet. Auch ich verwende den Editor auf zwei Servern und komme einigermaßen damit klar.</p>
<p>Auf einem dieser Server ist aber die Syntax Hervorhebung des Vim Editors deaktiviert. Man kann diese im Vim aktivieren, indem man &#8220;:syntax enable&#8221; eingibt. Diese Einstellung geht aber nach dem Beenden des Editors wieder verloren. Wer das Syntax Highlighting dauerhaft aktivieren möchte, muss die Datei &#8220;vimrc&#8221; anpassen. Entweder ihr bearbeitet dabei nur die vimrc Datei in eurem Home-Verzeichnis, oder mit dem Administrator die systemweite vimrc Datei. Diese findet ihr in der Regel unter /etc/vim/vimrc. Dort solltet ihr folgende Zeile finden:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
&quot;syntax on
</pre>
<p>Mit dem doppelten Anführungszeichen zu Beginn der Zeile wird der Befehl auskommentiert. Wenn ihr das doppelte Anführungsuzeichen entfernt und dann die Datei speichert, solltet ihr nach einem erneuten Öffnen der Datei (oder eine anderen Datei mit Quellcode) das Syntax Highlighting sehen können. In der <a href="http://vimdoc.sourceforge.net/">Dokumentation zum Vim Editor</a> findet ihr bestimmt auch einige weitere hilfreiche Tipps.</p>
<p>Ich hoffe der Beitrag konnte euch weiterhelfen. Ich wollte mir schon lange mal das Buch &#8220;vi-Editor. Kurz und gut&#8221; kaufen um ein bisschen mehr über den Editor zu erfahren. Aber laut Buchbeschreibung handelt nur ein Kapitel vom Vim und da es mein Buchladen nicht hat konnte ich es mir bisher noch nicht ansehen. Aber ich habe es auf meinen <a href="http://kau-boys.de/wunschzettel">Wunschzettel</a> gesetzt. Vielleicht findet sich ja jemand, der es mir schenken möchte <img src='http://kau-boys.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://kau-boys.de/896/software/syntax-highlighting-im-vim-editor-aktivieren/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RewriteRule mit Leerzeichen in der Zieladresse</title>
		<link>http://kau-boys.de/887/webentwicklung/rewriterule-mit-leerzeichen-in-der-zieladresse?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rewriterule-mit-leerzeichen-in-der-zieladresse</link>
		<comments>http://kau-boys.de/887/webentwicklung/rewriterule-mit-leerzeichen-in-der-zieladresse#comments</comments>
		<pubDate>Mon, 19 Apr 2010 10:22:03 +0000</pubDate>
		<dc:creator>Bernhard</dc:creator>
				<category><![CDATA[Webentwicklung]]></category>
		<category><![CDATA[Webserver]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://kau-boys.de/?p=887</guid>
		<description><![CDATA[Auf einer Seite die ich betreue wurde ich vor kurzem vor die Aufgabe gestellt eine RewriteRule in der .htaccess zu definieren, die auf eine PDF zeigt, die ein Leerzeichen im Dateinamen enthält. Das war gar nicht so einfach rauszufinden und selbst im sehr guten Forum von modrewrite.de konnte ich keine geeignete Lösung finden. In URLs [...]]]></description>
			<content:encoded><![CDATA[<p>Auf einer Seite die ich betreue wurde ich vor kurzem vor die Aufgabe gestellt eine RewriteRule in der .htaccess zu definieren, die auf eine PDF zeigt, die ein Leerzeichen im Dateinamen enthält. Das war gar nicht so einfach rauszufinden und selbst im sehr guten <a href="http://www.modrewrite.de/foren/index.php">Forum von modrewrite.de</a> konnte ich keine geeignete Lösung finden.</p>
<p>In URLs werden Leerzeichen einfach mit der Zeichenkette <code>%20</code> ersetzt, aber das alleine führt noch nicht zum Erfolg. Da das Prozentzeichen ein spezielles Zeichen in Rewrite Rules darstellt muss es mit einem Backslash escaped werden. Eine funktionierende Rewrite Rule mit einem Leerzeichen könnte also wie folgt aussehen:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
RewriteEngine on
RewriteRule ^kurzer-dateiname.pdf$ dateiname\%20mit\%20Leerzeichen\%20.pdf
</pre>
<p>Wer also den Dateinamen nicht ändern kann um Leerzeichen zu ersetzen (z.B. durch Unterstriche) kann mit dieser Regel trotzdem einen schöneren/kürzeren Dateinamen über die .htaccess anbieten.</p>
<p>Das war es auch schon. Heute gibt es mal nur einen kurzen Artikel, aber viel mehr gibt es auch nicht dazu zu sagen. Außer vielleicht, dass ihr niemals versuchen solltet ein Leerzeichen in der Zieladresse zu verwenden, da sonst die gesamte .htaccess ungültig wird und der Server einen 500 Fehler für jede Seite zurückliefert.</p>
<p>Ich hoffe der Tipp konnte euch weiterhelfe. Kommentare sind wie immer gern gesehen!</p>
]]></content:encoded>
			<wfw:commentRss>http://kau-boys.de/887/webentwicklung/rewriterule-mit-leerzeichen-in-der-zieladresse/feed</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Website oder Blog mit der mod_deflate Komprimierung beschleunigen</title>
		<link>http://kau-boys.de/859/webserver/website-oder-blog-mit-der-mod_deflate-komprimierung-beschleunigen?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=website-oder-blog-mit-der-mod_deflate-komprimierung-beschleunigen</link>
		<comments>http://kau-boys.de/859/webserver/website-oder-blog-mit-der-mod_deflate-komprimierung-beschleunigen#comments</comments>
		<pubDate>Fri, 26 Mar 2010 16:54:32 +0000</pubDate>
		<dc:creator>Bernhard</dc:creator>
				<category><![CDATA[Webserver]]></category>
		<category><![CDATA[Administration]]></category>
		<category><![CDATA[Betriebssystem]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Optimierung]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://kau-boys.de/?p=859</guid>
		<description><![CDATA[Ich wollte schon lange eine Komprimierung aller Dateien auf meinem Server aktivieren, aber alle Versuche die Komprimierung über das Apache Module mod_deflate oder mod_gzip zu aktivieren liefen ins Leere. Ich fand ständig super aufwändige Anleitungen, wie ich mir das selbst kompilieren und dann mit vielen Anpassungen unter Apache zum Laufen bekomme. Ich bin aber immer [...]]]></description>
			<content:encoded><![CDATA[<p>Ich wollte schon lange eine Komprimierung aller Dateien auf meinem Server aktivieren, aber alle Versuche die Komprimierung über das Apache Module <a href="http://httpd.apache.org/docs/2.0/mod/mod_deflate.html">mod_deflate</a> oder mod_gzip zu aktivieren liefen ins Leere. Ich fand ständig super aufwändige Anleitungen, wie ich mir das selbst kompilieren und dann mit vielen Anpassungen unter Apache zum Laufen bekomme. Ich bin aber immer davor zurückgeschreckt es auch umzusetzen, da ich kein ausgewiesener Linux und Apache Profi bin.</p>
<p>An meinem Geburtstag habe ich dann durch Zufall auf der Suche nach einem anderen Problem gesucht habe unter anderem auf der Website <a href="http://www.debianroot.de/server/serverkomprimierung-mit-apache2-und-mod_deflate-1153.html">debianroot.de</a> eine super einfache Anleitung gefunden, wie man DEFLATE einfach aktivieren kann.</p>
<p><span id="more-859"></span></p>
<h2>MOD_DEFLATE aktivieren</h2>
<p>Ich habe erfahren, dass DEFLATE bereits bei Apache2 installiert ist und man es nur noch aktivieren muss. Dazu ist ein einziger simpler Befehl notwendig:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
a2enmod deflate
</pre>
<p>Das ist alles! Damit DEFLATE aber auch genutzt werden kann und die Dateien ab sofort komprimiert werden ist es zuerst einmal notwendig den Apache2 neu zu starten. Das geht auf den meisten Systemen mit folgendem Befehl:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
/etc/init.d/apache2 restart
</pre>
<p>Der Befehl <code>a2enmod</code> gibt teilweise die Meldung aus man sollte den Befehl <code>/etc/init.d/apache2 force-reload</code> ausführen, aber das alleine hat bei mir nicht geholfen.</p>
<h2>Einrichten der Komprimierung</h2>
<p>Damit die Seiten und Dateien aber auch komprimiert werden, muss noch die <code>.htaccess</code> Datei angepasst werden. Hier mal meine aktuelle Anpassung:</p>
<pre class="brush: bash; title: ; notranslate">
# Turn on compression
&lt;IfModule mod_deflate.c&gt;
  AddOutputFilterByType DEFLATE text/plain text/html text/xml
  AddOutputFilterByType DEFLATE text/css text/javascript text/x-js
  AddOutputFilterByType DEFLATE application/xml application/xhtml+xml
  AddOutputFilterByType DEFLATE application/rss+xml
  AddOutputFilterByType DEFLATE application/javascript application/x-javascript
&lt;/IfModule&gt;
</pre>
<p>Einige JavaScript Dateien wurden interessanterweise mit dem Content-Type <code>text/x-js</code> ausgeliefert, obwohl weder der Standard Content-Type in HEAD noch das Attribut des STYLE Tags diesen Content-Type angaben. Mit <a href="https://addons.mozilla.org/de/firefox/addon/1843">Firebug</a> und <a href="https://addons.mozilla.org/de/firefox/addon/5369">YSlow</a> kann man sehr gut kontrollieren ob die Dateien komprimiert werden.</p>
<h2>Fazit</h2>
<p>Ich habe die Installation und Konfiguration so wie hier beschrieben auf einem Strato V-Server mit Ubuntu sowie auf einem 1&#038;1 Root-Server mit OpenSUSE erfolgreich testen können. Solltet ihr also ein anderes Serverbetriebssystem nutzen, dann kann sich der ein oder andere Befehl unterscheiden.</p>
<p>Durch das Komprimieren aller JavaScript, CSS und HTML Daten konnte ich auf einem System das Ladevolumen um über ein Drittel verringern. Ich finde für zwei Befehle und eine kleine Anpassung der .htaccess ist das ein tolles Ergebnis. Es ist eigentlich schade, dass DEFLATE nicht bei allen Apache2 Installationen standardmäßig aktiviert ist. Denn wer keinen ROOT-Zugriff auf den Server hat wird es wohl nicht ohne weiteres aktivieren können.</p>
<p>Ihr könnte aber in der Ausgabe der <a href="http://de.php.net/manual/en/function.phpinfo.php">phpinfo()</a> Funktion auf einem System mit PHP sehr schnell rausfinden, ob DEFLATE schon aktiv ist. Im Abschnitt &#8220;apache2handler&#8221; findet ihr ganz unten die Zeile &#8220;Loaded Modules&#8221;, in der mod_deflate aufgeführt sein sollte. Eventuell ist aber auch mod_gzip aufgeführt, was ebenfalls zur Komprimierung eingesetzt werden kann. Sollte beides nicht vorhanden sein und ihr keinen ROOT-Zugriff haben hilft vermutlich nur ein verzweifelter Anruf beim Support eures Hosters.</p>
<p>Ich hoffe, dass dem ein oder anderen von euch der Tipp ebenso weiterhelfen konnte wie mir. Ich habe mir damit zumindest selbst ein sehr schönes Geburtstagsgeschenk gemacht. Falls ihr sonstige Anmerkungen oder Fragen habt würde ich mich wie immer über einen Kommentar freuen.</p>
]]></content:encoded>
			<wfw:commentRss>http://kau-boys.de/859/webserver/website-oder-blog-mit-der-mod_deflate-komprimierung-beschleunigen/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Anzahl der Backups im Plesk Backup-Manager begrenzen</title>
		<link>http://kau-boys.de/692/webserver/anzahl-der-backups-im-plesk-backup-manager-begrenzen?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=anzahl-der-backups-im-plesk-backup-manager-begrenzen</link>
		<comments>http://kau-boys.de/692/webserver/anzahl-der-backups-im-plesk-backup-manager-begrenzen#comments</comments>
		<pubDate>Thu, 11 Feb 2010 15:53:04 +0000</pubDate>
		<dc:creator>Bernhard</dc:creator>
				<category><![CDATA[Webserver]]></category>
		<category><![CDATA[Administration]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Plesk]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://kau-boys.de/?p=692</guid>
		<description><![CDATA[In meinem Artikel Plesk Backup-Manager auf 1&#038;1 Linux Root Server einrichten habe ich bereits beschrieben was zu tun ist, um das Backup auf einem Server mit Plesk einzurichten. Beim Einsatz dieser Konfiguration bin ich allerdings sehr schnell auf ein folgenschweres Problem gestoßen. Da ein Backup der Domain mittlerweile eine Größe von über 20GB hat reichen [...]]]></description>
			<content:encoded><![CDATA[<p>In meinem Artikel <a href="http://kau-boys.de/385/webserver/plesk-backup-manager-auf-1und1-linux-root-server-einrichten">Plesk Backup-Manager auf 1&#038;1 Linux Root Server einrichten</a> habe ich bereits beschrieben was zu tun ist, um das Backup auf einem Server mit Plesk einzurichten. Beim Einsatz dieser Konfiguration bin ich allerdings sehr schnell auf ein folgenschweres Problem gestoßen.</p>
<p>Da ein Backup der Domain mittlerweile eine Größe von über 20GB hat reichen die 250GB des 1&#038;1 Backup FTP-Servers nur für 10 Backups. Sobald dieser Speicherplatz verbraucht ist, werden die Daten auf dem Webserver abgelegt. Das fatale dabei ist, dass dadurch der gesamte Speicherplatz des Servers langsam aber sich aufgebraucht wird. Wenn der Speicherplatz belegt ist führt es im schlimmsten Fall dazu, dass MySQL keine temporären Tabellen mehr erzeugen kann und euer Server ist somit nicht mehr in der Lage die Anfragen zu bearbeiten. Also im Klartext: Euer Server funktioniert im schlimmsten Fall nicht mehr.</p>
<p><span id="more-692"></span></p>
<p>Daher solltet ihr die Anzahl der Backups begrenzen, wobei ihr am besten einen Wert nehmt, der der Größe eures FTP Backup Servers geteilt durch die durchschnittliche Größe eines Backups entspricht. In meinen Fall habe ich also einen Wert von 10 gewählt, da hierbei noch etwas Luft nach oben ist, sollte doch mal ein Backup größer ausfallen. Die Einstellung könnt ihr in der &#8220;Einstellungen für geplantes Backup&#8221; vornehmen:</p>
<p><img src="http://kau-boys.de/wp-content/uploads/2010/02/Maximale-Anzahl-von-Backups-im-Repository.png" alt="Maximale Anzahl von Backups im Repository begrenzen" title="Maximale Anzahl von Backups im Repository begrenzen" /></p>
<p>Ihr sollte zur Sicherheit von Zeit zu Zeit überprüfen, ob der gewählte Wert noch der Größe der Backups angemessen ist.</p>
<p>Sollte bei euch bereits ein Backup auf dem Webserver selbst gelandet sein, dann habt ihr leider über Plesk keine Möglichkeit die Backups auf den FTP Backup Server zu verschieben, es sei denn ihr traut euch zu das manuell über die Konsole zu tun. Ich würde euch einfach raten abzuwarten bis aktuellere Backups auf dem FTP Backup Server vorliegen und dann die alten Backups auf dem Server einfach zu löschen. Wenn wie bei mir aber schon der Speicher voll ist solltet ihr auf jeden Fall die ältesten Backups vom Webserver entfernen.</p>
<p>Ich hoffe, dass euch der Tipp weiterhelfen konnte. Unverständlich, dass der kleine Hinweis unter dem Textfeld kein Ausrufezeichen enthält mit dem Hinweis was passiert, wenn man keine Begrenzung angibt. Über Anmerkungen würde ich mich wie immer sehr freuen.</p>
]]></content:encoded>
			<wfw:commentRss>http://kau-boys.de/692/webserver/anzahl-der-backups-im-plesk-backup-manager-begrenzen/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Plesk Cronjob für ein PHP-Skript mit Parametern einrichten</title>
		<link>http://kau-boys.de/490/webserver/plesk-cronjob-fuer-ein-php-skript-mit-parametern-einrichten?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=plesk-cronjob-fuer-ein-php-skript-mit-parametern-einrichten</link>
		<comments>http://kau-boys.de/490/webserver/plesk-cronjob-fuer-ein-php-skript-mit-parametern-einrichten#comments</comments>
		<pubDate>Mon, 23 Nov 2009 21:09:00 +0000</pubDate>
		<dc:creator>Bernhard</dc:creator>
				<category><![CDATA[Webserver]]></category>
		<category><![CDATA[Administration]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plesk]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://kau-boys.de/?p=490</guid>
		<description><![CDATA[Bei vielen Webhosting Paketen gibt es die Möglichkeit einen Cronjob einzurichten. Leider musste ich nach dem Umstieg von einem 1&#038;1 Managed Homepage Server auf einen 1&#038;1 Linux Root Server feststellen, dass diese Option im Control Center nicht mehr verfügbar war. Auch meine Suche nach dem &#8220;Crontab&#8221; in Plesk war erst einmal erfolglos, da die Funktion [...]]]></description>
			<content:encoded><![CDATA[<p>Bei vielen Webhosting Paketen gibt es die Möglichkeit einen <a href="http://de.wikipedia.org/wiki/Cronjob">Cronjob</a> einzurichten. Leider musste ich nach dem Umstieg von einem 1&#038;1 Managed Homepage Server auf einen 1&#038;1 Linux Root Server feststellen, dass diese Option im Control Center nicht mehr verfügbar war. Auch meine Suche nach dem &#8220;Crontab&#8221; in Plesk war erst einmal erfolglos, da die Funktion an der beschriebenen Stelle nicht zu finden war. Durch Zufall habe ich sie dann doch gefunden.</p>
<p><img title="Plesk Hauptmenü - Server" alt="Plesk Hauptmenü - Server" src="http://kau-boys.de/wp-content/uploads/2009/11/Plesk-Hauptmenü-Server.png"/></p>
<p><span id="more-490"></span></p>
<p>Um einen Cronjob anzulegen navigiert ihr im Hauptmenü zum Abschnitt Server und wählt dort &#8220;Geplante Aufgaben&#8221;. Anschließend bekommt ihr eine Liste mit allen Benutzern angezeigt, die auf eurem Server vorhanden sind. Jedem dieser Benutzer könnt ihr einen Cronjob zuteilen. Um ein PHP-Skript auszuführen solltet ihr den Benutzer wählen, der auf eurem Server den Apache-Server ausführt. Dies ist meistens der Benutzer namens &#8220;wwwrun&#8221;. Blättert also einfach auf die entsprechende Seite oder sucht nach dem Benutzer:</p>
<p><img title="Geplante Aufgaben" alt="Geplante Aufgaben" src="http://kau-boys.de/wp-content/uploads/2009/11/Geplante-Aufgaben.png"/></p>
<p>Nachdem ihr den Benutzer ausgewählt habt klickt auf &#8220;Weiter&#8221;. Ihr gelangt nun auf die Seite mit den &#8220;Crontab-Aufgaben&#8221; für den entsprechenden Benutzer. Hier hat sich also die Crontab Einstellung versteckt. Ihr könnt nun oben eine &#8220;Neue Aufgabe hinzufügen&#8221;:</p>
<p><img title="Crontab Aufgaben von wwwrun" alt="Crontab Aufgaben von wwwrun" src="http://kau-boys.de/wp-content/uploads/2009/11/Crontab-Aufgaben-von-wwwrun.png"/></p>
<p>In die Felder Minute, Stunde und Tag des Monat könnt ihr entweder eine Zahl eingeben oder einen Stern, um den Cronjob für jeden Wert auszuführen. In dem Beispiel wird als der Cronjob an jedem Tag eines Monat um 00:00 Uhr ausgeführt. Wenn ihr den Cronjob auch jeden Monat und an jedem Tag einer Woche ausführen lassen möchtet, dann tragt unten ebenfalls einen Stern ein.</p>
<p><img title="Bearbeitung der Crontab-Aufgabe von wwwrun" alt="Bearbeitung der Crontab-Aufgabe" src="http://kau-boys.de/wp-content/uploads/2009/11/Bearbeitung-der-Crontab-Aufgabe-von-wwwrun.png"/></p>
<p>Wenn ihr ein lokales Programm oder ein PHP-Skript ohne Parameter starten möchtet, könnt ihr einfach den Befehlsnamen in der Feld &#8220;Befehl&#8221; eintragen. Wenn ihr allerdings etwas in der Form &#8220;php /srv/www/vhosts/example.com/httpdocs/skript.php?var1=value&#8221; eintragt, dann versucht PHP die Datei mit dem Namen &#8220;skript.php?var1=value&#8221; zu finden, die es natürlich nicht gibt. Ein sehr einfacher Trick dies zu lösen ist die Verwendung von <a href="http://de.wikipedia.org/wiki/Wget">wget</a>. Dieser Befehlt wird normalerweise dazu genutzt eine Datei von einer Website zu laden. Damit aber nicht eine Datei mit dem Namen &#8220;skript.php?var1=value&#8221; erzeugt wird, nutzen wir den Parameter &#8220;&#8211;spider&#8221;, der den Download unterdrückt. Wir führen also somit einfach nur ein PHP-Skript auf einer beliebigen URL aus. Sobald alle Einstellungen vorgenommen sind, könnt ihr die Einstellungen mit einem Klick auf &#8220;OK&#8221; speichern.</p>
<p><img title="Crontab-Aufgaben von wwwrun aktualisiert" alt="Crontab-Aufgaben aktualisiert" src="http://kau-boys.de/wp-content/uploads/2009/11/Crontab-Aufgaben-von-wwwrun-aktualisiert.png"/></p>
<p>Ihr solltet nun in der Übersicht euren eben erzeugt Cronjob sehen können. Sobald der Zeitpunkt, den ihr angegeben habt erreicht ist, sollte das Skript ausgeführt werden. Zu den Cronjobs wird ein Bereicht erstellt und an eine E-Mail-Adress verschickt. Diese könnt ihr über &#8220;Einstellungen&#8221; eintragen:</p>
<p><img title="Crontab-Eigenschaften von wwwrun bearbeiten" alt="Crontab-Eigenschaften bearbeiten" src="http://kau-boys.de/wp-content/uploads/2009/11/Crontab-Eigenschaften-von-wwwrun-bearbeiten.png"/></p>
<p>Bei meinen Cronjobs wurde bisher noch keine E-Mail verschickt. Eventuell wird auch nur im Fehlerfall eine Mail mit der Fehlermeldung verschickt. Oder aber mein Server leitet die Mail nicht korrekt an den externen 1&#038;1 Mailserver weiter, da es sich bei der E-Mail-Adresse um eine Domain handelt, die er selbst verwaltet. Sobald ich das Rätsel gelöst habe werde ich euch natürlich davon berichten.</p>
<p>Ich hoffe der Artikel konnte euch weiterhelfen. Kennt ihr vielleicht auch noch eine tollt versteckte Funktion? Oder sucht ihr eine bestimmte Einstellung? Über Kommentare würde ich mich wie immmer sehr freuen.</p>
]]></content:encoded>
			<wfw:commentRss>http://kau-boys.de/490/webserver/plesk-cronjob-fuer-ein-php-skript-mit-parametern-einrichten/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Mail Versand per SMTP auf 1&amp;1 Linux Root Server einrichten</title>
		<link>http://kau-boys.de/466/webserver/mail-versand-per-smtp-auf-1un1-linux-root-server-einrichten?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=mail-versand-per-smtp-auf-1un1-linux-root-server-einrichten</link>
		<comments>http://kau-boys.de/466/webserver/mail-versand-per-smtp-auf-1un1-linux-root-server-einrichten#comments</comments>
		<pubDate>Thu, 05 Nov 2009 13:17:58 +0000</pubDate>
		<dc:creator>Bernhard</dc:creator>
				<category><![CDATA[Webserver]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://kau-boys.de/?p=466</guid>
		<description><![CDATA[Ich bin auf einen neues Problem mit dem Standard-Setup der 1&#038;1 Linux Root Server getoßen. Vor dem Umzug auf den Root Server wurde ein 1&#038;1 Managed Homepage Server genutzt. Dieser hat keinen eigenen Mailserver installiert. Der Root Server hingegen verschickt die Mails direkt an den Empfänger und nicht wie der Managed Server über den 1&#038;1 [...]]]></description>
			<content:encoded><![CDATA[<p>Ich bin auf einen neues Problem mit dem Standard-Setup der 1&#038;1 Linux Root Server getoßen. Vor dem Umzug auf den Root Server wurde ein 1&#038;1 Managed Homepage Server genutzt. Dieser hat keinen eigenen Mailserver installiert. Der Root Server hingegen verschickt die Mails direkt an den Empfänger und nicht wie der Managed Server über den 1&#038;1 SMTP Server. Doch wieso ist das ein Problem?</p>
<p>Nun, durch das zunehmende Problem von SPAM werden bei den meisten Mailanbeitern alle Mails von Severn abgelehnt, die nicht als vertrauerswürdiger Mailserver in einer Whitelist eingetragen sind. Der eigene Root-Server ist in diesen Listen allerdings fast nie gelistet. Beim Versuch eine Mail an einen Freemailer wie z.B. GMX zu senden resultiert dann in einer Ablehnung seitens GMX. Diese sehen in der Regel wie folgt aus:</p>
<p><span id="more-466"></span></p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
Hi. This is the qmail-send program at sXXXXXXXX.
I'm afraid I wasn't able to deliver your message to the following addresses.
This is a permanent error; I've given up. Sorry it didn't work out.

&lt;user@gmx.de&gt;:
XXX.XXX.XX.XXX does not like recipient.
Remote host said: 550-5.7.1 {mx087} Sorry, your helo has been denied.
550 5.7.1 ( http://portal.gmx.net/serverrules ) Giving up on XXX.XXX.XX.XXX.
</pre>
<p>Die Lösung des Problems ist die Versendung der Mail über den SMTP-Server von 1&#038;1. Hierbei gibt es allerdings ein kleines Problem. Damit der 1&#038;1 Mailserver nicht als SPAM-Verteiler missbraucht werden kann, muss sich das sendende Skript an diesem Server authentifizieren. Dazu ist eine beliebiege E-Mail Adresse eures Servers notwendig. Ich würde euch empfehlen dazu eine spezielle Adresse wie z.B. &#8220;websitesend@example.com&#8221; anzulegen.</p>
<p>Das wäre soweit auch kein Problem, allerdings unterstützen einigen Skriptsprachen nicht von Hause aus die SMTP-Authentifizierung an einem Server. Auch PHP bietet leider keinerlei Einstellungen für die Authentifizierung. Lediglich der Mailserver kann angegeben werden, über den die Mail versendet werden soll. Die <a href="http://de.php.net/manual/de/function.mail.php">mail()</a> Funktion von 1&#038;1 könnt ihr also nicht verwenden. </p>
<p>Abhilfe schafft hier eine Mail-Klasse, die auch eine SMTP-Authentifizierung anbieten. Ich nutze schon seit längerem in allen Projekte die PHP-Klasse <a href="http://phpmailer.worxware.com/">PHPMailer</a>. Diese bietet auch eine SMTP-Authentifizierung. Einfache Beispiele zur <a href="http://phpmailer.worxware.com/index.php?pg=examplebsmtpna">Verwendung der SMTP-Authentifizierung mit PHPMailer</a> findest ihr auch auf der Website von PHPMailer. Ein Beispiel für den Versand einer Mail über den SMTP von 1&#038;1 könnte wie folgt aussehen:</p>
<pre class="brush: php; title: ; notranslate">
require_once('class.phpmailer.php');
$mail = new PHPMailer();
$mail-&gt;CharSet = 'utf-8';
$mail-&gt;IsSMTP();
$mail-&gt;SMTPAuth = true;
$mail-&gt;Host = &quot;smtp.1und1.de&quot;;
$mail-&gt;Username = &quot;websitesend@example.com&quot;;
$mail-&gt;Password = &quot;password_for_websitesend&quot;;
$mail-&gt;AddReplyTo('your_mail_address@example.com');
$mail-&gt;Subject = 'Subject of the mail';
$mail-&gt;AltBody = 'Text for users without a HTML mail viewer';
$mail-&gt;MsgHTML('Text for users with a HTML ready mail viewer');
$mail-&gt;AddAddress('user@gmx.de');
if(!$mail-&gt;Send()) {
	echo &quot;Fehler beim Senden der Mail: &quot; . $mail-&gt;ErrorInfo;
} else {
	echo &quot;Mail wurde erfolgreich versandt!&quot;;
}
</pre>
<p>Zugegebenermaßen sind das sehr vielke Zeilen für den Mailversand einer einzelnen Mail. Aber leider ist es nicht sehr viel kürzen möglich. Damit ihr aber nicht in jedem Skript, in dem ihr eine Mail versenden möchtet, alles von neuem schreiben und bei Änderungen in jedem Skript anpassen müsst, empfiehlt es sich die Zeilen 1.8 in eine PHP-Datei zu exporieren und diese per &#8220;require&#8221; in das Skript zu importieren, in der ihr die Mail verschicken wollt.</p>
<p>Die Verwendung der PHPMailer Klasse bietet aber auch ein paar Vorteile gegenüber der mail() Funktion von PHP. Ihr könnt nämlich sehr einfach weitere Empfänger hinzufügen, indem ihr die &#8220;$mail->AddAddress()&#8221; mehrfach anwendet. Es gibt auch eine Funktion für Kopien: &#8220;$mail->AddCC()&#8221; und blinde Kopien: &#8220;$mail->AddBCC()&#8221; oder auch Anhänge: &#8220;$mail->AddAttachment()&#8221;. Seht euch dazu einfach mal die <a href="http://phpmailer.worxware.com/index.php?pg=methods">Liste der Methoden</a> an.</p>
<p>Ich hoffe, dass euch die kleine Anleitung helfen konnte. Wenn ihr noch Anmerkungen oder Fragen habt, oder auch eine andere gute PHP-Klasse oder eine entsprechende Funktion für andere Skrtipsprachen kennt, würde ich mich über einen Kommentar sehr freuen.</p>
]]></content:encoded>
			<wfw:commentRss>http://kau-boys.de/466/webserver/mail-versand-per-smtp-auf-1un1-linux-root-server-einrichten/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Plesk Backup-Manager auf 1&amp;1 Linux Root Server einrichten</title>
		<link>http://kau-boys.de/385/webserver/plesk-backup-manager-auf-1und1-linux-root-server-einrichten?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=plesk-backup-manager-auf-1und1-linux-root-server-einrichten</link>
		<comments>http://kau-boys.de/385/webserver/plesk-backup-manager-auf-1und1-linux-root-server-einrichten#comments</comments>
		<pubDate>Wed, 14 Oct 2009 21:50:48 +0000</pubDate>
		<dc:creator>Bernhard</dc:creator>
				<category><![CDATA[Webserver]]></category>
		<category><![CDATA[Administration]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Plesk]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://kau-boys.de/?p=385</guid>
		<description><![CDATA[Ich habe bei einem Server den ich betreue ein paar Probleme beim Einrichten des Backup-Managers über das Plesk Panel festgestellt. Daher habe ich hier ein kleines Tutorial zusammengestellt, welches das Einrichten des Backup-Managers auf einem 1&#038;1 Dedicated Server Linux beschreiben soll. Auf anderen Servern wird die Einrichtung bis auf ein parr Punkt aber identisch sein. [...]]]></description>
			<content:encoded><![CDATA[<p>Ich habe bei einem Server den ich betreue ein paar Probleme beim Einrichten des Backup-Managers über das Plesk Panel festgestellt. Daher habe ich hier ein kleines Tutorial zusammengestellt, welches das Einrichten des Backup-Managers auf einem 1&#038;1 Dedicated Server Linux beschreiben soll. Auf anderen Servern wird die Einrichtung bis auf ein parr Punkt aber identisch sein.</p>
<p>Der 1&#038;1 Server verwendet Plesk in der Version 9.2. Im ersten Schritt müsst ihr euch im Plesk Panel anmelden anschließend gelangt ihr auf die Startseite wo ihr im Abschnitt Server einen Button für den Backup-Manager finden solltet:</p>
<p><span id="more-385"></span></p>
<p><img src="http://kau-boys.de/wp-content/uploads/2009/10/Backup-Manager.png" alt="Backup-Manager" title="Backup-Manager" /></p>
<p>Nachdem ihr den Backup-Manager aufgerufen habt bekommt ihr eine Auswahl an Tools angeboten. Der Punkt &#8220;Aktualisieren erklärt sich wohl von selbst. Die anderen stelle ich kurz vor.</p>
<p><img src="http://kau-boys.de/wp-content/uploads/2009/10/Backup-Manager-Tools.png" alt="Backup-Manager-Tools" title="Backup-Manager-Tools" /></p>
<p>Mit dem Tool &#8220;Backup erstellen&#8221; könnt ihr ein einmaliges Backup druchführen, das sofort ausgeführt wird. Mit dem unter &#8220;Einstellungen für geplantes Backup&#8221; könnt ihr ein tägliches (bzw. wöchentliches, monatliches) Backup einstellen. Mit dem Punkt &#8220;Dateien ins Server-Repository hochladen&#8221; könnt ihr ein erstelltes Backup wieder auf den Server kopieren um es anschließend eine Wiederherstellung zu starten. Der Punkt der uns zuerst interessiert ist &#8220;Einstellungen für persönliches FTP-Repository&#8221;:</p>
<p><img src="http://kau-boys.de/wp-content/uploads/2009/10/Pers%C3%B6nliches-FTP-Repository.png" alt="Persönliches FTP-Repository" title="Backup Manager Einstellungen für persönliches FTP-Repository" /></p>
<p>Hier tragt ihr die Zugangsdaten für den 1&#038;1 Recovery Server ein. Die Daten dazu findet ihr innerhalb des 1&#038;1 Control-Centers im Bereich &#8220;Server-Verwaltung&#8221; unter dem Punkt &#8220;Server-Backup&#8221;. Ein Zugriff auf diesen Server direkt per FTP von eurem Rechner aus wird aber nicht funktionieren, was euch also nicht verwundern sollte. Innerhalb des Netzwerks von 1&#038;1 funktioniert die Verbindung. Nachdem ihr also alle Daten eingetragen habt und auf &#8220;OK&#8221; geklickt habt, kommt ihr wieder ins Menü des &#8220;Backup-Managers&#8221; zurück. Dort wählt ihr als nächstes &#8220;Einstellungen für geplantes Backup&#8221;:</p>
<p><img src="http://kau-boys.de/wp-content/uploads/2009/10/Einstellungen-für-geplantes-Backup.png" alt="Einstellungen für geplantes Backup" title="Backup Manager Einstellungen für geplantes Backup" /></p>
<p>Wichtig ist bei den Einstellungen die Auswahl &#8220;Persönlichers FTP-Repository&#8221; damit die Daten auch auf dem Backup Server landen und bei einem Ausfall des 1&#038;1 ROOT Servers nicht auch verloren gehen. Wann ihr das Backup starten wollt ist euch überlassen, aber wählt am besten einen Zeitpunkt mit wenigen Zugriffen. Ein Zeitpunkt von 1 Uhr nachts ist z.B. auch nicht gut, wenn ihr viele Besucher aus den USA habt. Wählt in diesem Fall vielleicht eher 6 Uhr, da hier viele Amerikaner schon im Bett liegen und viele Deutsche erst aufstehen. Der Prozess braucht zwar nicht viele Ressourcen, aber ihr habt somit alle Daten eines &#8220;Tages&#8221; im Backup enthalten. Ihr könnt ein Präfix vergeben, falls ihr das wollt. Eine E-Mail-Adresse für Meldungen über fehlgeschlagene Backups solltet ihr in jedem Fall angeben. Zuletzt auf keinen Fall vergessen &#8220;Serverkonfiguration und Inhalt&#8221; auszuwählen, da ansonsten nicht die Dateien eures Servers mitgesichert werden.</p>
<p><strong>UPDATE:</strong> Ihr solltet auch daran denken die Anzahl der Backups auf einen sinnvollen Wert zu begrenzen. Wieso erfahrt ihr in diesem Artikel: <a href="http://kau-boys.de/692/webserver/anzahl-der-backups-im-plesk-backup-manager-begrenzen">Anzahl der Backups im Plesk Backup-Manager begrenzen</a>.</p>
<p>Man könnte meinen, dass jetzt alles glatt läuft. Leider ist dem aber nicht so. Denn standardmäßig werden die Backups im Ordner &#8220;/var/lib/psa/dumps&#8221; zwischengespeichert, der sich auf der Partition &#8220;/dev/sda6&#8243; befindet. Diese Partition ist oft zu klein um ein Backup zu speichern, bevor es dann auf den FTP-Server verschoben wird. Da hier auch die MySQL Tabellen liegen führt es dann dazu, dass die MySQL Datenbank keinen Platz mehr für temporäre Tabellen für Abfragen erstellen kann und den Dienst bei großen Abfragen verweigert. Ihr müsst also den Speicherort verschieben. Am besten verschiebt ihr ihn auf die größte Partition. Welche das ist könnt ihr mit dem Befehl &#8220;df&#8221; rausfinden (die zusätzlichen Parameter dienen nur der Übersichtlichkeit), nachdem ihr euch <a href="http://hilfe-center.1und1.de/hosting/technik/ssh/?article_searchpos=2">per SSH am Server an angemeldet</a> habt:</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
s12345678:~ # df -h -x tmpfs
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             9.2G  235M  8.5G   3% /
/dev/sda5             9.4G  2.2G  7.3G  23% /usr
/dev/sda6             9.4G  1.9G  7.5G  20% /var
/dev/sda7             436G   21G  416G   5% /srv
</pre>
<p>In diesem Beipiel ist die größte Partition &#8220;/dev/sda7&#8243;, auf welcher der Ordner &#8220;/srv&#8221; gemountet ist. Ihr verschiebt den Ordner dann mit diesen drei Befehlen:</p>
<pre class="brush: plain; title: ; notranslate">
mv /var/lib/psa/dumps /srv/dumps
rm -rf /var/lib/psa/dumps
ln -s /srv/dumps /var/lib/psa/dumps
</pre>
<p>Der erste Befehl verschiebt den Ordner nach &#8220;/srv&#8221; welcher sich in diesem Beipsiel auf der größten Partition befindet, da hier auch die Websites gespeichert sind. Der zweite Befehl löscht den Ordner an seinem ursprünglichen Ort (sollte er dort noch vorhanden sein). Am wichtigsten ist der dritte Befehl. Er erzeugt einen sogenanten &#8220;Symbolic Link&#8221; also einen Link zu dem neuen Verzeichnis. Dadurch ist es nicht notwendig den Speicherpfad in der Konfiguration von Plesk anzupassen, was über das Plesk Panel ohnehin nicht funktioniert.</p>
<p>Nachdem diese Schritte vollzogen sind, müsst ihr nurnoch abwarten, bis der Zeitpunkt des ersten Backups erreicht ist. Ein Backup kann ohne Probleme eine halbe Stunde oder mehr andauern. Ihr könnt auch zu Testzwecken gerne ein Backup manuell über den Punkt &#8220;Backup erstellen&#8221; ausführen und einfach einmal nur die Serverkonfiguration speichern. Wenn das Backup erfolgreich verlaufen ist, solltet ihr es über den Reiter &#8220;Persönliches FTP-Repository&#8221; aufgelistet sehen:</p>
<p><img src="http://kau-boys.de/wp-content/uploads/2009/10/Backup-Manager-erstellte-Backups.png" alt="Backup-Manager erstellte Backups" title="Backup-Manager Übersicht der erstellten Backups" /></p>
<p>Hier könnt ihr auch ein Backup wiederherstellen. Das habe ich aber bisher zum Glück noch nicht machen müssen. Sobald ich es aber mal durchführen musste (hoffentlich nie) gibt es dazu dann auch einen Artikel.</p>
<p>Ich hoffe der Artikel konnte euch weiterhelfen und ihr konntet eine Backup-Routine dadruch einrichten. Es ist aber schade, dass die Server von 1&#038;1 nicht direkt so konfiguriert sind, dass sie die größte Partition für die Backup-Daten nutzt. Wenn euch zusätzlich noch ein Tipp zu dem Thema einfällt oder ihr Fragen oder Anregungen habt, würde ich mich über ein Kommentar sehr freuen.</p>
]]></content:encoded>
			<wfw:commentRss>http://kau-boys.de/385/webserver/plesk-backup-manager-auf-1und1-linux-root-server-einrichten/feed</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>Die Grenzen der Frame-Weiterleitung sprengen</title>
		<link>http://kau-boys.de/315/webentwicklung/die-grenzen-der-frame-weiterleitung-sprengen?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=die-grenzen-der-frame-weiterleitung-sprengen</link>
		<comments>http://kau-boys.de/315/webentwicklung/die-grenzen-der-frame-weiterleitung-sprengen#comments</comments>
		<pubDate>Tue, 29 Sep 2009 18:09:29 +0000</pubDate>
		<dc:creator>Bernhard</dc:creator>
				<category><![CDATA[Webentwicklung]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://kau-boys.de/?p=315</guid>
		<description><![CDATA[Viele Hoster bieten günstige Domains ohne Webhosting Komponenten an. Bei einigen Hoster wie z.B. Strato handelt es sich aber leider nur um Domains mit der Möglichkeit der Frame-Weiterleitung. Das ist aber teilweise vor der Bestellung nicht zu sehen. Manch einer wird sich eventuell darüber freuen, da er irgendwo ein kostenloses Hosting mit einer sehr langen [...]]]></description>
			<content:encoded><![CDATA[<p>Viele Hoster bieten günstige Domains ohne Webhosting Komponenten an. Bei einigen Hoster wie z.B. Strato handelt es sich aber leider nur um Domains mit der Möglichkeit der Frame-Weiterleitung. Das ist aber teilweise vor der Bestellung nicht zu sehen.</p>
<p>Manch einer wird sich eventuell darüber freuen, da er irgendwo ein kostenloses Hosting mit einer sehr langen URL hat und durch die Frameweiterleitung den Besuchern immer eine kurze Domain präsentieren kann. Doch die Sache hat auch ihre Haken.</p>
<p><span id="more-315"></span></p>
<h2>Das Lesezeichen-Problem</h2>
<p>Das navigieren innerhalb der Seite gestaltet sich für den Besucher, wie er es erwartet. Er kann alle Links anklicken und der Hauptframe öffnet daraufhin die richtige Seite. Auch das Navigieren mit den &#8220;Vor&#8221; und &#8220;Zurück&#8221; Buttons funktioniert tadellos. Aber sobald der Benutzer eine Seite gefunden hat, die er seinen Favoriten hinzufügen möchte fängt der Ärger an. Nicht nur, dass der Name des Lesezeichens oft nur die Domain enthält, viel schlimmer ist, dass das Lesezeichen auch auf die selbige zeigt. Wenn der Besucher also später das Lesezeichen aufruft kommt er nicht auf die gewünschte Seite, sondern auf die Startseite und muss von dort aus erst wieder mühsam auf die richtige Seite navigieren.</p>
<h2>Das Suchmaschinen-Problem</h2>
<p>Die meisten Suchmaschinen (Google eingeschlossen) haben Probleme mit framebasierten Seiten. Sie sehen oft nur das Frameset-Konstrukt und nicht die Inhalte der einzelnen Frames. Das bedeutet in den meisten Fällen, das eure Internet-Seiten, die tausende von Seiten haben können, bei Suchmaschinen genau EINE Seite als Eintrag enthalten. Und das ist die Startseite oder genauer gesagt das Frameset der Domain. Eine Möglichkeit den Suchmaschinen doch die anderen Seiten mitzuteilen ist das Erstellen einer <a href="http://www.sitemaps.org/">Sitemap</a>. Diese solltet ihr dann aber manuell den Suchmaschinen mitteilen, da sie die Datei unter umständen auch nicht finden können. Dabei könnt ihr entweder die Domain um die Seitennamen erweitern, oder aber die URL eures Webspace verwenden und um die Seitennamen erweitern.</p>
<h2>Die Lösung</h2>
<p>Beide Probleme zeigen also, dass Frame-Weiterleitungen ein Relikt aus alten Zeiten sind und nicht mehr verwendet werden sollten. Aber was kann man tun, wenn der Hoster keine HTTP-Weiterleitung bietet, oder dafür einen Aufpreis verlangt? Ganz einfach, man bedient sich eines recht simplen Tricks. Dazu legt man zuerst einen Ordner mit beliebigen Namen auf dem Server an. Dann stellt man die Domain so ein, dass sie als Ziel den Ordner enthält. In diesem Ordner erzeugt man dann eine index.php (oder eine Index-Datei einer andern Scriptsprache) mit folgendem Inhalt:</p>
<pre class="brush: xml; gutter: false; title: ; notranslate">
&lt;script type=&quot;text/javascript&quot;&gt;
	top.location.href = &quot;http://example.com&quot;;
&lt;/script&gt;
</pre>
<p>Dieser einfache JavaScript Snippet ändert die URL des Top-Frame auf einen neuen Wert. Wenn der Besucher also eure Domain aufruft, die lediglich eine Frame-Weiterleitung untersützt, sorgt der Code dafür, dass das oberste Frameset auf eine andere URL umgeleitet wird. Hierbei müsste ihr natrülich &#8220;example.com&#8221; durch eure eigene Domain ersetzen (das &#8220;http://&#8221; dabei nicht vergessen). Für alle Besucher, die keine JavaScript Unterstützung aktiviert haben solltet ihr zusätzlich einen NOSCRIPT Tag einfügen der einen Link enthält:</p>
<pre class="brush: xml; gutter: false; title: ; notranslate">
&lt;noscript&gt;
	Sollten Sie nicht weitergeleitet werden, klicken Sie auf den folgenden Link:
	&lt;a href=&quot;http://example.com&quot; target=&quot;top&quot;&gt;http://example.com&lt;/a&gt;
&lt;/noscript&gt;
</pre>
<p>Der Link bekommt dabei das Attribut &#8220;traget&#8221; mit dem Wert &#8220;top&#8221;. Somit wird auch hier der Link im obersren Frameset aufgerufen. Um Benutzern, die ein Lesezeichen auf eure umzuleitende Domain haben, könntet ihr auch noch den Request an die Domain anhängen. Somit wird der Besucher dann auf die richtige Zielseite auf der anderen Domain umgeleitet. Zusammengesetzt sieht das ganze Beispiel dann wie folgt aus (oder ähnlich in einer anderen Skriptsprache):</p>
<pre class="brush: php; gutter: false; title: ; notranslate">
&lt;script type=&quot;text/javascript&quot;&gt;
	top.location.href = &quot;http://example.com&quot;&lt;?php echo $_SERVER['REQUEST_URI']; &gt;
&lt;/script&gt;
&lt;noscript&gt;
	Sollten Sie nicht weitergeleitet werden, klicken Sie auf den folgenden Link:
	&lt;?php echo '&lt;a href=&quot;http://example.com'.$_SERVER['REQUEST_URI'].'&quot; target=&quot;top&quot;&gt;http://example.com'.$_SERVER['REQUEST_URI'].'&lt;/a&gt;'; ?&gt;
&lt;/noscript&gt;
</pre>
<p>Diesen Codeblock platziert Ihr einfach im BODY Tag der Index-Seite. Dabei solltet ihr aber Besuchern ohne JavaScript eine schönere Seite präsentieren, als eine die nur den Link auf weißem Untergrund enthält.</p>
<p><del datetime="2009-12-06T14:33:09+00:00">Da ich selbst noch eine Domain besitze, die ich leider zur Zeit noch nicht auf ein aktuelles Hostingpaket umziehen kann, könnt ihr euch das ganze in einem kleinen Beispiel auch ansehen.</del><ins datetime="2009-12-06T14:33:09+00:00"> <a href="http://kau-boys.de/505/allgemein/der-blog-hat-eine-neue-domain">Die Domain ist mittlerweile endlich umgezogen</a> und daher habe ich nun das Beispiel auf die alte Subdomain abgeändert. Dazu solltet ihr einfach JavaScript vorübergehen deaktivieren, damit ihr auch die Seite und den Quelltext betrachten könnt. Wenn ihr dann JavaScript wieder aktiviert und die Seite aktualisiert, solltet ihr auf meinen Blog umgeleitet werden.</ins></p>
<p><a href="http://kau-boys.ramarka.de">Beispiel</a></p>
<p>Mit diesem Trick könnt ihr also die Frame-Weiterleitung umgehen, aber ihr präsentiert dann dem Besucher die entsprechend andere URL, als sie aufgerufen haben. Dies sollte aber einer schönen URL aber dafür der eingeschränkten Suchmaschinenfreundlichkeit und der Verhinderung von Lesezeichen bevorzugt werden. Ihr könnt weiterhin die schöne URL in Mails verbreiten und den Besucher trotzdem umleiten. Wenn ihr die Domain vollständig nutzen möchtet bleibt euch leider nichts anderes Möglich, als diese in das Webhosting-Paket zu übertragen oder zu einem reinen Domain-Anbieter zu wechseln, der auch eine HTTP-Weiterleitung anbietet, auch wenn das eventuell einen Aufpreis bedeutet.</p>
]]></content:encoded>
			<wfw:commentRss>http://kau-boys.de/315/webentwicklung/die-grenzen-der-frame-weiterleitung-sprengen/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>WordPress auf einem Server mit Plesk installieren</title>
		<link>http://kau-boys.de/277/webserver/wordpress-auf-einem-server-mit-plesk-installieren?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wordpress-auf-einem-server-mit-plesk-installieren</link>
		<comments>http://kau-boys.de/277/webserver/wordpress-auf-einem-server-mit-plesk-installieren#comments</comments>
		<pubDate>Sun, 20 Sep 2009 18:28:48 +0000</pubDate>
		<dc:creator>Bernhard</dc:creator>
				<category><![CDATA[Webserver]]></category>
		<category><![CDATA[Administration]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Plesk]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://kau-boys.de/?p=277</guid>
		<description><![CDATA[Mein Blog läuft auf einem virtuellen Root Server, der Plesk zur Administration verwendet. Im Zusammenhang mit der Installation hatte ich einige Probleme bezüglich der Zugriffsrechte. Auf der Website von WordPress gibt es zwar eine sehr ausführliche Anleitung zum Ändern der Zugriffrechte, aber sie beantwortet nicht alle Fragen, die man beim Einrichten auf einem System mit [...]]]></description>
			<content:encoded><![CDATA[<p>Mein Blog läuft auf einem virtuellen Root Server, der Plesk zur Administration verwendet. Im Zusammenhang mit der Installation hatte ich einige Probleme bezüglich der Zugriffsrechte. Auf der Website von WordPress gibt es zwar eine sehr ausführliche <a href="http://codex.wordpress.org/Changing_File_Permissions">Anleitung zum Ändern der Zugriffrechte</a>, aber sie beantwortet nicht alle Fragen, die man beim Einrichten auf einem System mit Plesk hat.</p>
<p>Zuerst müsst Ihr entscheiden, wo der Blog installiert werden soll. Entweder direkt auf einer eurer Domains oder auf einer Subdomain. Diese müsst ihr eventuell zuerst über Plesk erzeugen und dort die PHP-Unterstützung aktivieren.</p>
<p><span id="more-277"></span></p>
<p>Jetzt meldet Ihr euch per SSH am Server an, das geht unter Unix Systemen direkt mit der Konsole (dem Terminal) und unter Windows mit Tools wie <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html">PuTTY</a>. Dort navigiert Ihr zu dem httpdocs Ordner eurer Domain bzw. Subdomain, in die ihr den Blog installieren möchtet. Für eine Domain example.com könnte der Ordner wie folgt aussehen:</p>
<p><code><br />
cd /var/www/vhosts/example.com/httpdocs<br />
</code></p>
<p>Nicht immer steckt der Plesk vhosts Ordner aber in /var, daher müsst ihr eventuell feststellen, wo er auf eurem Server liegt.</p>
<p>Anschließend müsste Ihr euch die aktuelle Version von WordPress runterladen. Ich tue das hier exemplarisch mit der englischen Version, Ihr könnt aber auch die Deutsche Version runterladen und installieren:</p>
<p><code><br />
wget http://wordpress.org/latest.zip<br />
</code></p>
<p>Nachdem die Zip-Datei runtergeladen wurde, müsst Ihr Sie entpacken.</p>
<p><code><br />
unzip latest.zip<br />
</code></p>
<p>Dabei wird der Inhalt in einen Unterordner &#8220;wordpress&#8221; entpackt. Möchtet Ihr den Blog aber unter einem anderen Ordnernamen aufrufbar machen, könnt Ihr den Ordner &#8220;wordpress&#8221; einfach umbenennen.</p>
<p><code><br />
mv wordpress/ blog<br />
</code></p>
<p>Damit habt Ihr WordPress installiert. Wenn ihr nun example.com/blog aufruft und versucht die Konfigurationsdatei zu erstellen bekommt Ihr allerdings eine Fehlermeldung. Beim entpacken wurden alle Ordner dem Benutzer und dessen Gruppe zugeordnet (z.B. root). Damit Ihr mit dem Plesk Benutzer per FTP Zugriff auf das Verzeichnis bekommen könnt, müsst ihr zuerst alle Order und Dateien dem Plesk Benutzer zuordnen. Dazu wechselt Ihr zuerst in den Ordner und passt dann den Besitzer an:</p>
<p><code><br />
cd blog/<br />
chown dein_plesk_username . -R<br />
</code></p>
<p>Anschließend solltet Ihr noch die Gruppe auf die Standardgruppe von Plesk setzen:</p>
<p><code><br />
chgrp psacln . -R<br />
</code></p>
<p>Aber auch jetzt könnt Ihr die Konfigurationsdatei noch nicht über das WordPress-Setup erzeugen. Damit Ihr die Installation über den WordPress-Setup-Wizzard durchführen könnt, müsst ihr den ROOT Ordner des Blog dem Benutzer zuordnen, der den Apache-Server ausführt. Um festzustellen, welcher Benutzer dies ist, könnt ihr den Befehl &#8220;top&#8221; verwenden.</p>
<p><code><br />
Ausgabe (Auszug): 3113 www-data  18   0 45400  25m 4044 S  0.0  0.5   0:18.57 apache2<br />
</code></p>
<p>Diese Zeile zeigt und, dass der Benutzer www-data den Apache-Server ausführt. Mit STRG+C kehrt Ihr wieder zur Konsole zurück.</p>
<p>Jetzt weisen wir den ROOT Ordner des Blogs dem www-data Benutzer zu (der Punkt am Ende des Befehls gehört dazu):</p>
<p><code><br />
chown www-data .<br />
</code></p>
<p>Nun könnt Ihr den WordPress-Setup-Wizzard durchführen und euch ein erstes Mal am neuen Blog anmelden. Es gibt allerdings noch ein paar andere Ordner, die Ihr anpassen müsst, damit der Blog vollständig über den Adminbereich verwaltet werden kann. Vor Allem die Ordner &#8220;cache&#8221;, &#8220;uploads&#8221;, &#8220;upgrades&#8221; und eventuell die Order &#8220;plugins&#8221; und &#8220;themes&#8221; müssen für den Apache-Benutzer schreibbar sein. Diese befinden sich alle im Ordner &#8220;wp-content&#8221; und können somit gemeinsam schreibar gemacht werden. Damit Ihr auch per FTP auf solche Dateien zugreifen könnt, solltet Ihr dem &#8220;wp-content&#8221; Order daher die Gruppe des Apache-Benutzers zuordnen:</p>
<p><code><br />
chgrp www-data wp-content<br />
</code></p>
<p>Damit die Gruppe auch Dateien dort ablegen darf, müsst Ihr zusätzlich die Zugriffsrechte anpassen:</p>
<p><code><br />
chmod g+w wp-content/ -R<br />
</code></p>
<p>Hiermit sollten alle notwendigen Anpassungen vorgenommen sein. Ihr habt dadruch die Sicherheitseinstellungen bezüglich der Zugriffsrechte von Plesk beibehalten und lediglich einige problematische Ordner auch für die Gruppe des Apache-Benutzers freigegeben. Ihr solltet auf keinen Fall Pauschal allen Ordnern die Schreibberechtigung für die Gruppe setzen oder gar allen Benutzern alle Rechte, wie es manche Plugins gerne hätten.</p>
<p>Die einzige Einschränkung besteht hier beim Installieren oder Aktualisieren von Plugins bzw. Themes und beim Upgrade von WordPress. Da der Benutzer www-data nicht der Besitzer aller Ordner ist, muss bei diesen Vorgängen der FTP-Benutzer und dessen Passwort eingegeben werden. Wenn Ihr allerdings den Benutzer ändert, verliert Ihr den Zugriff auf den Blog per FTP (zumindest den Schreibzugriff). Dies lässt sich leider oft nicht beheben, da der www-data Benutzer nicht per FTP zugreifen darf und Ihr auch vermutlich keine Möglichkeit habt, den Plesk-Benutzer zum ausfüren des Apache-Servers einzustellen.</p>
<p>Solltet Ihr noch ein Problem gefunden haben oder Anmerkungen haben, würde ich mich über einen Kommentar sehr freuen.</p>
]]></content:encoded>
			<wfw:commentRss>http://kau-boys.de/277/webserver/wordpress-auf-einem-server-mit-plesk-installieren/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

