<?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>linuxschutz.de</title>
	<atom:link href="http://www.linuxschutz.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.linuxschutz.de</link>
	<description>Linux &#38; Server im produktiven Einsatz</description>
	<lastBuildDate>Thu, 01 Sep 2011 06:35:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>ebay: AdWords fatal error</title>
		<link>http://www.linuxschutz.de/ebay-adwords-fatal-error/</link>
		<comments>http://www.linuxschutz.de/ebay-adwords-fatal-error/#comments</comments>
		<pubDate>Thu, 01 Sep 2011 06:35:06 +0000</pubDate>
		<dc:creator>Ben Kulschewski</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://www.linuxschutz.de/?p=227</guid>
		<description><![CDATA[Lustige Fehlermeldungen bei Ebay:]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Lustige Fehlermeldungen bei Ebay:</p>
<div id="attachment_228" class="wp-caption alignnone" style="width: 310px"><a href="http://www.linuxschutz.de/wp-content/uploads/2011/09/ebay_error.png"><img class="size-medium wp-image-228" src="http://www.linuxschutz.de/wp-content/uploads/2011/09/ebay_error-300x187.png" alt="Ebay Error-300x187 in ebay: AdWords fatal error" width="300" height="187" /></a><p class="wp-caption-text">Ebay Fatal Error beim Aufruf der AdWords ...</p></div>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.linuxschutz.de/ebay-adwords-fatal-error/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mobile Touch Icon</title>
		<link>http://www.linuxschutz.de/mobile-touch-icon/</link>
		<comments>http://www.linuxschutz.de/mobile-touch-icon/#comments</comments>
		<pubDate>Sat, 09 Jul 2011 12:36:48 +0000</pubDate>
		<dc:creator>Ben Kulschewski</dc:creator>
				<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://www.linuxschutz.de/?p=224</guid>
		<description><![CDATA[Da wir via Seitenreport unsere Projekte auch auf Usability hin untersuchen, ist uns aufgefallen, dass ein zeitgemäßes &#8220;Mobile Touch Icon&#8221; verlangt wird, welches es iPhone, iPad und Apple Usern erlaubt, die jeweilige Website auf dem Home-Screen abzuspeichern. Dank der super Anleitung von Matthias Pabst geht das recht schnell: - Icon mit 114&#215;114 Pixeln erstellen - [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Da wir via Seitenreport unsere Projekte auch auf Usability hin untersuchen, ist uns aufgefallen, dass ein zeitgemäßes &#8220;Mobile Touch Icon&#8221; verlangt wird, welches es iPhone, iPad und Apple Usern erlaubt, die jeweilige Website auf dem Home-Screen abzuspeichern. Dank der <a title="Mobile Touch Icon erstellen" href="http://matthiaspabst.de/2011/02/17/touch-icons-fuer-ios-und-android-erstellen-und-einbinden/" target="_blank">super Anleitung von Matthias Pabst</a> geht das recht schnell:</p>
<p>- Icon mit 114&#215;114 Pixeln erstellen</p>
<p>- als PNG abspeichern</p>
<p>- im Root der Website abspeichern</p>
<p>-  <code>im Header der Seite per &lt;</code><code>link</code> <code>rel</code><code>=</code><code>"apple-touch-icon-precomposed"</code> <code>href</code><code>=</code><code>"<a href="http://domain.de/apple-touch-icon.png">http://domain.de/apple-touch-icon.png</a>"</code> <code>/&gt; das Icon einbinden</code></p>
<p>Habe es selber getestet. Funktioniert wunderbar.</p>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.linuxschutz.de/mobile-touch-icon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Concardis Probleme mit neuer Payment Url</title>
		<link>http://www.linuxschutz.de/concardis-probleme-mit-neuer-payment-url/</link>
		<comments>http://www.linuxschutz.de/concardis-probleme-mit-neuer-payment-url/#comments</comments>
		<pubDate>Fri, 08 Jul 2011 08:05:51 +0000</pubDate>
		<dc:creator>Ben Kulschewski</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programmierung]]></category>

		<guid isPermaLink="false">http://www.linuxschutz.de/?p=220</guid>
		<description><![CDATA[Testhalber prüft man vor jeder Kreditkartenzahlung über den Saferpay Server die Erreichbarkeit der Saferpay URL per Script: if( strtolower( substr( $payment_url, 0, 36 ) ) != &#8220;https://www.saferpay.com/vt/pay.asp?&#8221;) Hier wird nur abgefragt, ob mit der Server per SSL erreichbar ist, ansonsten sollte man dem Kunden gar keine Kreditkartenzahlung ermöglichen. &#160; Allerdings hat sicher die $payment_url geändert. [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Testhalber prüft man vor jeder Kreditkartenzahlung über den Saferpay Server die Erreichbarkeit der Saferpay URL per Script:</p>
<p>if( strtolower( substr( $payment_url, 0, 36 ) ) != &#8220;https://www.saferpay.com/vt/pay.asp?&#8221;)</p>
<p>Hier wird nur abgefragt, ob mit der Server per SSL erreichbar ist, ansonsten sollte man dem Kunden gar keine Kreditkartenzahlung ermöglichen.</p>
<p>&nbsp;</p>
<p>Allerdings hat sicher die $payment_url geändert. War es für bestehende Concardis Kunden bis dahin die Url &#8220;https://www.saferpay.com/vt/pay.asp&#8221; is tes für neue Kunden ab 2011 die URL: &#8220;https://www.saferpay.com/vt2/pay.aspx&#8221;. Hierfür muss das Sctript angepasst werden:</p>
<p>if( strtolower( substr( $payment_url, 0, 36 ) ) != &#8220;https://www.saferpay.com/vt/pay.asp?&#8221; AND<br />
strtolower( substr( $payment_url, 0, 38 ) ) != &#8220;https://www.saferpay.com/vt2/pay.aspx?&#8221;<br />
)<br />
{ echo &#8220;Saferpay Server per SSL nicht erreichbar!&#8221; }</p>
<p>Das funktioniert super, ebenso empfielt der technische Support folgende Script Abfrage:</p>
<p>&nbsp;</p>
<p><em>Sehr  geehrter Herr Kulschewki,</em></p>
<p><em>die Url  hat sich mit Einführung der neuen Saferpay Page geändert. Der angegebene Code  dient lediglich dazu zu überprüfen ob die Kommunikation funktioniert. Ersetzen  Sie deswegen die alte Abfrage einfach durch:</em></p>
<p><em>if( strtolower(  substr( $payment_url, 0, 24 ) ) != &#8220;<a href="https://www.saferpay.com/">https://www.saferpay.com</a>&#8221;  )&#8221;</em></p>
<p><em>dann  funktioniert die Abfrage auch mit dem neuen Zahlungslink.</em></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Der Support bei Saferpay ist super, eine Mail wird innerhalt 1 Stunde beantwortet, die telefonische Erreichbarkeit ist aber leider nicht so dolle.<em><br />
</em></p>
<p>&nbsp;</p>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.linuxschutz.de/concardis-probleme-mit-neuer-payment-url/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSSTidy Probleme mit a:hover CSS Anweisung</title>
		<link>http://www.linuxschutz.de/csstidy-probleme-mit-a-hover-css-anweisung/</link>
		<comments>http://www.linuxschutz.de/csstidy-probleme-mit-a-hover-css-anweisung/#comments</comments>
		<pubDate>Tue, 21 Jun 2011 07:51:49 +0000</pubDate>
		<dc:creator>Ben Kulschewski</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Programmierung]]></category>

		<guid isPermaLink="false">http://www.linuxschutz.de/?p=210</guid>
		<description><![CDATA[Ich nutze in einem Projekt CSSTidy und wunderte mich immer, warum bei einer CSS Anweisung &#8220;a:hover.navi_right  {font-family:Verdana,Arial,Helvetica;font-size:8pt;color:#0e0282;text-decoration:none;}&#8221; beim Mouseover das Underline nicht verschwand. Auch eine andere Komprimierung im CSSTidy brachte nix. Die Lösung fand sich schnell, es gab eine CSS Definition eines Elementes, welches über eine ID angesprochen wurde, welche ebenfalls als &#8220;navi_right&#8221; definiert war: [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Ich nutze in einem Projekt CSSTidy und wunderte mich immer, warum bei einer CSS Anweisung &#8220;a:hover.navi_right  {font-family:Verdana,Arial,Helvetica;font-size:8pt;color:#0e0282;text-decoration:none;}&#8221; beim Mouseover das Underline nicht verschwand. Auch eine andere Komprimierung im CSSTidy brachte nix. Die Lösung fand sich schnell, es gab eine CSS Definition eines Elementes, welches über eine ID angesprochen wurde, welche ebenfalls als &#8220;navi_right&#8221; definiert war: #navi_right{background-color: #F4F4F4;border: 0px solid green; padding: 0px;height: auto; width: 135px; float: right; margin-top: 0px; }. Im Quelltext wurde dieses Element dann per &lt;div id=&#8221;navi_right&#8221;&gt; angesprochen.</p>
<p>Ich benannte das Element im Quelltext einfach um in &lt;div id=&#8221;navi_right_box&#8221;&gt; passte die CSS an &#8220;#navi_right_box{background-color: #F4F4F4;border: 0px solid green; padding: 0px;height: auto; width: 135px; float: right; margin-top: 0px; }&#8221; und es funktionierte danach problemlos.</p>
<p>Also, CSSTidy macht Probleme in der Komprimierung, wenn eine ID Definition, welche per &#8220;#&#8221; angesprochen wird, denselben Namen wie eine Klasse besitzt.</p>
<p>&nbsp;</p>
<p>Hier noch ein paare Keywords für Suchende:</p>
<p>CSSTidy, a:hover, Klasse, Elemet-ID, Mouseover Probleme, CSS Komprimierung, Mouseout underline none</p>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.linuxschutz.de/csstidy-probleme-mit-a-hover-css-anweisung/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plesk &amp; das &#8220;LOAD DATA LOCAL INFILE&#8221; &#8211; Problem mit PHP</title>
		<link>http://www.linuxschutz.de/plesk-das-load-data-local-infile-problem-mit-php/</link>
		<comments>http://www.linuxschutz.de/plesk-das-load-data-local-infile-problem-mit-php/#comments</comments>
		<pubDate>Mon, 06 Jun 2011 11:13:11 +0000</pubDate>
		<dc:creator>Ben Kulschewski</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plesk - widerlich !]]></category>

		<guid isPermaLink="false">http://www.linuxschutz.de/?p=204</guid>
		<description><![CDATA[Ich hasse Plesk, das ist der letzte Kinderkram -klickibunti und mit Null Funktionen &#8211; aber egal. Ein Kunde von uns ist endlich auf einen eigene Server umgestiegen, so dass wir dringend eine benötigte Höheneinheit bei Keyweb in Erfurt frei bekamen. Allerdings versprachen wir in geistiger Umnachtung, sein System auf einen 1&#38;1 Dedicated Server zu migrieren. [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Ich hasse Plesk, das ist der letzte Kinderkram -klickibunti und mit Null Funktionen &#8211; aber egal. Ein Kunde von uns ist endlich auf einen eigene Server umgestiegen, so dass wir dringend eine benötigte Höheneinheit bei Keyweb in Erfurt frei bekamen. Allerdings versprachen wir in geistiger Umnachtung, sein System auf einen 1&amp;1 Dedicated Server zu migrieren. Dort läuft das tolle Plesk in der buntesten Version 9.0.1 &#8211; aber na gut.</p>
<p>Die Domain war bereits drüben und es mussten nur die Daten per SSH rumkopiert werden, dank der superflotten 1&amp;1 Anbindung ja kein Problem, schließlich pegelt sich ja der Transfer irgendwann bei sagenhaften 4 Mbit / sec ein &#8230; also Bilder in Tar.gz Archive gepackt und los &#8230;.</p>
<p>Dann legten wir eine neue Datenbank via Plesk an sowie den dazugehörigen Benutzer, auch erstmal kein Problem. Die Anwendung bekam die DB Logins mitgeteilt und es sollte gehen, denkste. Wir transferieren Stammdaten aus Warenwirtschaftssystemen üblicherweise in die Anwendungen via gezippten und verschlüsselten CSV Dateien, so also auch hier &#8211; und wollten einfach per &#8220;LOAD DATA INFILE&#8221; den Krempel wieder in die neue Datenbank einlesen, was aber netterweise auf Anhieb aus der PHP Anwendung heraus per Programmcode nicht klappte. Also loggte ich mich auf dem MYSQL DB SERVER dieser Maschine per &#8220;mysql -uBenutzer -pPasswort&#8221; ein, machte ein connect auf die betreffende frisch angelegte Datenbank und probierte den ganzen Kram händisch per &#8220;LOAD DATA INFILE &#8216;/srv/www/vhosts/DOMAINVERZEICHNIS/httpdocs/importdatei.csv&#8217; INTO TABLE irgendwas FIELDS TERMINATED BY &#8216;;&#8217; (Feld1, Feld2);&#8221; &#8230; was zu dem lustigen Error 13 (HY00) führte &#8211; &#8220;Can&#8217;t get stat of DeinebekloppteImportdatei&#8221;. Ok, Google meinte, Plesk kennt kein LOAD DATA INFILE, hier muss ein LOAD DATA LOCAL INFILE denselben Zweck erfüllen. OK, aber nun wurde es ganz interessant,denn nach Eingabe von &#8220;LOAD DATA LOCAL INFILE &#8216;/srv/www/vhosts/DOMAINVERZEICHNIS/httpdocs/importdatei.csv&#8217; INTO TABLE irgendwas FIELDS TERMINATED BY &#8216;;&#8217; (Feld1, Feld2);&#8221; verweigerte der DB SERver mir vollends die Zusammenarbeit und meinte nur trocken: ERROR 1148 (42000): The used command is not allowed with this MySQL version!</p>
<p>Na gut, irgendwo las ich dann was von &#8220;mysql -uBenutzer -pPasswort &#8211;local-infile=1&#8243;, was schonmal in die richtige Richtung ging, aber da wir nicht wissen, ob der DB Server oder der Client betroffen ist, kann das zwar auf der Shell funktionieren, aber nicht unbedingt in der Anwendung.</p>
<p>Na Super, und nun? Eine komplett neuen MYSQL Server auf die Kiste zu kompilieren, darauf hatte ich keine Lust, da sind locker 3 Stunden weg. Aber da wir keine Angst vor der Shell haben, nahm ich mir die my.cnf vor, welche in /etc/ liegt und änderte kurzerhand die Konfiguration, damit die gesamte Ausgangssituation des Servers geändert wird, kann ja nix passieren . Aus set-variable=local-infile=0 in der Abteilung des MYSQL SERVERS ( [mysqld] ) wurde ein set-variable=local-infile=1 und denselben Eintrag legte ich zusätzlich im MYSQL-CLIENT Konfigurationsbereich an ( [mysql] )!</p>
<p># The MySQL server<br />
[mysqld]<br />
set-variable=local-infile=1</p>
<p>[mysql]<br />
set-variable=local-infile=1</p>
<p>Um auf Nummer sicher zu gehen, loggte ich mich auf den DB SERVER per admin und Masterpasswort ein und machte ein Connect auf die Rechte-Datenbank &#8220;mysql&#8221;. Hier änderte ich per manuellem Update  in der Tabelle &#8220;user&#8221; für den DB Benutzer, welchen wir zu Beginn mit der neuen Datenbank angelegt hatten, alle Rechte von &#8220;N&#8221; auf &#8220;Y&#8221; und erklärte ihm am Ende per FLUSH PRIVILEGES, dass ich es ernst meine.</p>
<p>So, wieder händischer Test per &#8220;LOAD DATA LOCAL INFILE  &#8216;/srv/www/vhosts/DOMAINVERZEICHNIS/httpdocs/importdatei.csv&#8217; INTO TABLE  irgendwas FIELDS TERMINATED BY &#8216;;&#8217; (Feld1, Feld2);&#8221; und er las mir den Krempel korrekt ein, soweit so gut.</p>
<p>Ok, Anwendung aufgemacht und das ganze per PHP Script versucht &#8211; ohne Erfolg, wie sollte es anders sein, also lag hier ein Problem mit dem PHP MYSQL Connect vor, denn der DB SERVER selber und der MYSQL Client auf der Konsole habe ja ihren Job eben korrekt gemacht, also kann es nur noch am PHP liegen. Und da der Connect auf die DB per PHP regulär durch &#8220;mysql_connect($db_host, $db_user, $db_password)&#8221; erfolgt, war hier anzusetzen &#8230; google befragt &#8230;. und siehe da, an kann dem mysql_connect noch ein paar mehr Infos mit geben, wie etwa die Fehlerausgabe an Stelle 4 und optionale Parameter an Position 5. Ein erweitertes &#8220;mysql_connect($db_host, $db_user, $db_password, FALSE, 128) erlaubt nun auch der PHP Klasse, welche den mysql Client spielt, LOAD DATA LOCAL INFILE zu akzeptieren.  Die Zauberzahl ist die 128 am Ende, welche das benötigte Importrecht zu Verfügung stellt. Gefunden habe ich das unter <a title="PHP + load data local infile problem" href="http://bytes.com/topic/php/answers/4923-common-prob-mysql-load-data-local-infile" target="_blank">diesem Link</a>, aber auch unter mysql.com findet man Hinweise und weitere Wunderzahlen.</p>
<p>Ich hoffe, das war etwas hilfreich, ich sitze dafür seit 07:50 Uhr heute früh und kann nun endlich um 13:15 Uhr ohne Mittagessen und mit kaltem Kaffee die Anwendung umschreiben, so dass der Import der CSV Datein auch auf einem 1&amp;1 Server mit Plesk korrekt funktioniert.</p>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.linuxschutz.de/plesk-das-load-data-local-infile-problem-mit-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSSTidy zum Komprimieren von CSS Dateien einbinden</title>
		<link>http://www.linuxschutz.de/csstidy-zum-komprimieren-von-css-dateien-einbinden/</link>
		<comments>http://www.linuxschutz.de/csstidy-zum-komprimieren-von-css-dateien-einbinden/#comments</comments>
		<pubDate>Sun, 05 Jun 2011 17:39:04 +0000</pubDate>
		<dc:creator>Ben Kulschewski</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programmierung]]></category>

		<guid isPermaLink="false">http://www.linuxschutz.de/?p=194</guid>
		<description><![CDATA[CSSTidy Bibliothek per PHP verarbeiten: CSSTidy kann man sich einfach runterladen und in ein Verzeichnis entpacken. Die grundsätzlich benötigte PHP Klasse liegt in der Datei &#8220;class.csstidy.php&#8221;.  Die einfachste Verarbeitung des Inhaltes einer CSS Datei in eine komprimierte Ausgabe erledigt man mit diesen wenigen Zeilen: &#60;? require(&#8216;../administration/CSSTIDY/class.csstidy.php&#8217;); $css = new csstidy(); $css_code = file_get_contents($datei); $css-&#62;set_cfg(&#8216;remove_last_;&#8217;,true); $css-&#62;load_template(&#8216;highest_compression&#8217;); [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>CSSTidy Bibliothek per PHP verarbeiten:</p>
<p>CSSTidy kann man sich <a title="CSSTidy" href="http://csstidy.sourceforge.net/" target="_blank">einfach runterladen</a> und in ein Verzeichnis entpacken. Die grundsätzlich benötigte PHP Klasse liegt in der Datei &#8220;class.csstidy.php&#8221;.  Die einfachste Verarbeitung des Inhaltes einer CSS Datei in eine komprimierte Ausgabe erledigt man mit diesen wenigen Zeilen:</p>
<p>&lt;?</p>
<p>require(&#8216;../administration/CSSTIDY/class.csstidy.php&#8217;);</p>
<p>$css = new csstidy();<br />
$css_code = file_get_contents($datei);<br />
$css-&gt;set_cfg(&#8216;remove_last_;&#8217;,true);<br />
$css-&gt;load_template(&#8216;highest_compression&#8217;);<br />
$css-&gt;parse($css_code);</p>
<p>$css_inhalt = $css-&gt;print-&gt;plain();</p>
<p>echo $css_inhalt;</p>
<p>?&gt;</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&gt;</p>
<p>Aber man möchte ja in lesbaren Dateien CSS Code ablegen, daher bindet man einfach die verkleinerte CSS Dateiversion ein, ich habe das einfach in eine Routine gepackt:</p>
<p>1.) Klasse einbinden</p>
<p>2.) Quelldatein definieren, in denen lesbarer Code hinterlegt ist</p>
<p>3.) Schleife laufen lassen und die komprimierte Dateiversion unter anderem Namen abspeichern:</p>
<p>&lt;?</p>
<p>require(&#8216;../administration/CSSTIDY/class.csstidy.php&#8217;);</p>
<p>// Verzeichnisse durchsuchen &#8230;</p>
<p>$cssdatei[0] = &#8220;general.css&#8221;;<br />
$cssdatei[1] = &#8220;aktion.css&#8221;;<br />
$cssdatei[2] = &#8220;artikelliste.css&#8221;;<br />
$cssdatei[3] = &#8220;voransicht.css&#8221;;<br />
$cssdatei[4] = &#8220;detailansicht.css&#8221;;</p>
<p>$i = 0;<br />
foreach($cssdatei as $datei)<br />
{<br />
$i++;<br />
$quelldatei = $datei;<br />
$zieldatei  = &#8220;compress_&#8221;.$datei;</p>
<p>$css = new csstidy();<br />
$css_code = file_get_contents($datei);<br />
$css-&gt;set_cfg(&#8216;remove_last_;&#8217;,true);<br />
$css-&gt;load_template(&#8216;highest_compression&#8217;);<br />
$css-&gt;parse($css_code);</p>
<p>$css_inhalt = $css-&gt;print-&gt;plain();</p>
<p>echo $css_inhalt;</p>
<p>@unlink ($zieldatei);<br />
$file = $zieldatei;<br />
$fd   = fopen($file,&#8221;a&#8221;);<br />
fwrite ($fd,$css_inhalt.&#8221;\r\n&#8221;);<br />
fclose ($fd);<br />
}</p>
<p>?&gt;</p>
<p>&nbsp;</p>
<p>Funktioniert super, bei PageSpeed hat das etliche Punkte gebracht !</p>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.linuxschutz.de/csstidy-zum-komprimieren-von-css-dateien-einbinden/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux SERVER als Webserver einrichten &#8211; Grundinstallation Teil 3</title>
		<link>http://www.linuxschutz.de/linux-server-als-webserver-einrichten-grundinstallation-teil-3/</link>
		<comments>http://www.linuxschutz.de/linux-server-als-webserver-einrichten-grundinstallation-teil-3/#comments</comments>
		<pubDate>Wed, 25 May 2011 12:17:50 +0000</pubDate>
		<dc:creator>Ben Kulschewski</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://www.linuxschutz.de/?p=188</guid>
		<description><![CDATA[MYSQL installieren: 1.) Es sollte standardmäßig der MYSQL SERVER, der MYSQL CLient sowie die mysql-libs sollten bereits installiert sein, aber da wir den reinen SERVER selber kompieren wollen, löschen wir per YAST den MYSQL SERVER (mysql). 2.) Da hier systemseitig bereits ein Benutzer&#8221;mysql&#8221; angelegt wurde, diesen löschen und neu anlegen als benutzerdefinierten Benutzer. Als Standardgruppe [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>MYSQL installieren:</p>
<p>1.) Es sollte standardmäßig der MYSQL SERVER, der MYSQL CLient sowie die mysql-libs sollten bereits installiert sein, aber da wir den reinen SERVER selber kompieren wollen, löschen wir per YAST den MYSQL SERVER (mysql).</p>
<p>2.) Da hier systemseitig bereits ein Benutzer&#8221;mysql&#8221; angelegt wurde, diesen löschen und neu anlegen als benutzerdefinierten Benutzer. Als Standardgruppe bitte &#8220;daemon&#8221; festlegen, mehr Gruppenzugehörigkeit braucht der Mysql Server dann nicht mehr.</p>
<p>3.) Dann bitte bei www.mysql.com den Sourcecode runterziehen, das sollte in etwas das Paket &#8220;mysql-5.5.12.tar.gz&#8221; sein, je nach Version. Ich habe das unter &#8220;Plattform &gt;&gt; Source Code&#8221; gefunden.</p>
<p>4.) Ich selber nehme noch meine Version 5.1.31, welche mir als tar.gz Archiv vorliegt. Diese entpacke ich, um so ein Verzeichnis &#8220;mysql-5.1.31&#8243; zu bekommen.</p>
<p>5.) Unter &#8220;/U1&#8243; lege ich das Verzeichnis &#8220;MYSQL_5131&#8243; an, in welchem der MYSQL SERVER dann läuft</p>
<p>6.) bitte noch die termcap installieren, sonst kann man mysql leider nicht kompilieren, mysql braucht das zum builden &#8230;</p>
<p>7.) jetzt erfolgt die Installation per 1&#8211;&gt;&#8221;./configure &#8211;enable-static &#8211;with-debug &#8211;prefix=/U1/MYSQL_5131 &#8211;localstatedir=/U1/MYSQL_5131/data &#8211;with-mysql-ldflags=-all-static &#8211;without-innodb &#8211;without-docs &#8211;without-bench &#8211;without-man&#8221; 2&#8211;&gt; &#8220;make&#8221; 3&#8211;&gt; &#8220;make install&#8221;</p>
<p>8.) Es liegt nun die DB unter &#8220;/U1/MYSQL_5131&#8243;. Die Rechtedatenbank &#8220;mysql&#8221; legen wir an, indem wir einfach unter &#8220;/U1/MYSQL_5131/bin&#8221; das Script &#8220;./mysql_install_db&#8221; aufrufen.</p>
<p>9.) Nun müssen wir den DB SERVER zum Starten überreden, indem wir das Script &#8220;/U1/MYSQL_5131/share/mysql/mysql.server&#8221; nach &#8220;/etc/init.d/&#8221; kopieren und unter dem Scriptnamen mysql5131.server ablegen.</p>
<p>10.) Jetzt zur sagenumwobenen Datei my.cnf, diese unter &#8220;/U1/MYSQL_5131/data&#8221; ablegen und konfigurieren.</p>
<p>11.) Das Verzeichnis &#8220;/U1/MYSQL_5131/data&#8221; komplett und rekursiv mit den Rechten mysql:www versehen und dann die DB mit &#8220;/etc/init.d/mysql5131.server start&#8221; starten. Auf die DB kommt man jezt nur unter Angabe des korrekten MYSQL Socket, der sollte unter /tmp/mywsql.sock&#8221; liegen.  Damit lautet der Befehl für den MYSQL CLient: &#8220;mysql -S/tmp/mysql.sock&#8221;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.linuxschutz.de/linux-server-als-webserver-einrichten-grundinstallation-teil-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux SERVER als Webserver einrichten &#8211; Grundinstallation Teil 2</title>
		<link>http://www.linuxschutz.de/linux-server-als-webserver-einrichten-grundinstallation-teil-2/</link>
		<comments>http://www.linuxschutz.de/linux-server-als-webserver-einrichten-grundinstallation-teil-2/#comments</comments>
		<pubDate>Wed, 25 May 2011 09:38:55 +0000</pubDate>
		<dc:creator>Ben Kulschewski</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://www.linuxschutz.de/?p=186</guid>
		<description><![CDATA[1.) Neztwerkadresse einrichtne, um die Kiste remote konfigurieren zu können 2.) FTP SERVER (vsftp) installieren: 2.1 &#8211; den Dienst VSFTP per yast2 installieren 2.2 &#8211; einen Benutzer &#8220;webserver&#8221; mit dem HOME &#8220;/U1/WEBSERVER&#8221; anlegen mit der Gruppe:  www,users, daemon 2.3 &#8211; in der vsftpd.conf alle nötigen einstellungen vornehmen und 2 weitere Dateien unter /etc anlegen: &#8220;vsftpd.chroot_list,vsftpd.user_list&#8221; [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>1.) Neztwerkadresse einrichtne, um die Kiste remote konfigurieren zu können</p>
<p>2.) FTP SERVER (vsftp) installieren:</p>
<p>2.1 &#8211; den Dienst VSFTP per yast2 installieren</p>
<p>2.2 &#8211; einen Benutzer &#8220;webserver&#8221; mit dem HOME &#8220;/U1/WEBSERVER&#8221; anlegen mit der Gruppe:  www,users, daemon</p>
<p>2.3 &#8211; in der vsftpd.conf alle nötigen einstellungen vornehmen und 2 weitere Dateien unter /etc anlegen: &#8220;vsftpd.chroot_list,vsftpd.user_list&#8221; -&gt; in beiden einfach den Benutzernamen &#8220;webserver&#8221; reinschreiben abspeichern. Die Rechte dieser Dateien sollten den Rechten der vsftpd.cond entsprechen</p>
<p>2.4 &#8211; unter/etc/xinetd.d/vsftpd den Punkt &#8220;disable=yes&#8221; auf disable = &#8220;no&#8221; setzen und per &#8220;rcxinetd restart&#8221; den Dienst neu starten &#8211; empfehlenswert ist nun, den Dienst im &#8220;Runlevel Editor&#8221; so zu konfigurieren, dass der rcxinetd bei Systemstart automatisch mit gestartet wird.</p>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.linuxschutz.de/linux-server-als-webserver-einrichten-grundinstallation-teil-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux SERVER als Webserver einrichten &#8211; Grundinstallation Teil 1</title>
		<link>http://www.linuxschutz.de/linux-server-als-webserver-einrichten-grundinstallation-teil-1/</link>
		<comments>http://www.linuxschutz.de/linux-server-als-webserver-einrichten-grundinstallation-teil-1/#comments</comments>
		<pubDate>Wed, 25 May 2011 09:00:25 +0000</pubDate>
		<dc:creator>Ben Kulschewski</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://www.linuxschutz.de/?p=184</guid>
		<description><![CDATA[1.) Hardware: Dell 1950, 2 x E5400 2.83GHz, 8GB RAM, PERC 5/i RAIDCONTROLLER, welcher 2 73GB 15k SAS Platten als Raid1 (Mirror) antreibt. 2.) OS = SLES 11 3.) Wir konfigurieren das HardwareRaid &#8211; das SLES 11 erkennt den PERC 5/i Controller sofort, als Bootmedum sollte der Controller noch im Bios eingerichtet werden. 4.) Wir [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>1.) Hardware: Dell 1950, 2 x E5400 2.83GHz, 8GB RAM, PERC 5/i RAIDCONTROLLER, welcher 2 73GB 15k SAS Platten als Raid1 (Mirror) antreibt.</p>
<p>2.) OS = SLES 11</p>
<p>3.) Wir konfigurieren das HardwareRaid &#8211; das SLES 11 erkennt den PERC 5/i Controller sofort, als Bootmedum sollte der Controller noch im Bios eingerichtet werden.</p>
<p>4.) Wir haben folgende Partitionen erstellt:</p>
<p>&#8220;swap&#8221; = 4GB</p>
<p>&#8220;/&#8221; = 15GB ext3</p>
<p>&#8220;/var&#8221; = 10GB</p>
<p>&#8220;/U1&#8243; = 38GB, also den Rest für den Webserver und die Datenbanken</p>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.linuxschutz.de/linux-server-als-webserver-einrichten-grundinstallation-teil-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML Werbemail erstellen- Teil 4</title>
		<link>http://www.linuxschutz.de/html-werbemail-erstellen-teil-4/</link>
		<comments>http://www.linuxschutz.de/html-werbemail-erstellen-teil-4/#comments</comments>
		<pubDate>Mon, 04 Apr 2011 17:10:49 +0000</pubDate>
		<dc:creator>Ben Kulschewski</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://www.linuxschutz.de/?p=177</guid>
		<description><![CDATA[Das HTML besteht aus wenigen Teilen, aber hier sind Besonderheiten zu beachten: 1.) DOCTYPE &#8211; wir versuchen es mit: &#60;!DOCTYPE html PUBLIC &#8220;-//W3C//DTD XHTML 1.0 Transitional//EN&#8221; &#8220;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#8221;&#62; 2.) dem html und der language: &#60;html xmlns=&#8221;http://www.w3.org/1999/xhtml&#8221; xml:lang=&#8221;de-de&#8221; lang=&#8221;de-de&#8221; dir=&#8221;ltr&#8221;&#62; 3.) den html header informationen inkl. IsoCode: &#60;head&#62; &#60;META http-equiv=Content-Type content=&#8221;text/html; charset=iso-8859-1&#8243; /&#62; &#60;title&#62;SHOPNAME &#8211; Sonderaktion&#60;/title&#62; 4.) [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Das HTML besteht aus wenigen Teilen, aber hier sind Besonderheiten zu beachten:</p>
<p>1.) DOCTYPE &#8211; wir versuchen es mit:</p>
<p>&lt;!DOCTYPE html PUBLIC &#8220;-//W3C//DTD XHTML 1.0 Transitional//EN&#8221;<br />
&#8220;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#8221;&gt;</p>
<p>2.) dem html und der language:</p>
<p>&lt;html xmlns=&#8221;http://www.w3.org/1999/xhtml&#8221; xml:lang=&#8221;de-de&#8221; lang=&#8221;de-de&#8221; dir=&#8221;ltr&#8221;&gt;</p>
<p>3.) den html header informationen inkl. IsoCode:</p>
<p>&lt;head&gt;<br />
&lt;META http-equiv=Content-Type content=&#8221;text/html; charset=iso-8859-1&#8243; /&gt;<br />
&lt;title&gt;SHOPNAME &#8211; Sonderaktion&lt;/title&gt;</p>
<p>4.) Im header die CSS Definitionen:</p>
<p>&lt;style type=&#8221;text/css&#8221;&gt;<br />
img.test            { margin: 0px; padding: 0px; border: 0px solid #B0B0B0; cursor: pointer;}<br />
&lt;/style&gt;</p>
<p>5.) denheader zumachen und den body starten &#8230; &lt;/head&gt;&lt;body&gt;</p>
<p>6.) wichtig für Freemailer: das CSS nochmal im Body in Kopie bringen:</p>
<p>&lt;style type=&#8221;text/css&#8221;&gt;<br />
img.test            { margin: 0px; padding: 0px; border: 0px solid #B0B0B0; cursor: pointer;}<br />
&lt;/style&gt;</p>
<p>7.) das eigentliche HTML: &lt;p&gt;hallo ich bin ein Angebot&lt;/p&gt;</p>
<p>8.) HTML beenden: &#8220;&lt;/body&gt;&lt;/html&gt;&#8221;</p>
<p>Nun ist das eigentliche Problem, das Teil W§C valide zu machen, hier sollte man auf korrekten Code achten.</p>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.linuxschutz.de/html-werbemail-erstellen-teil-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

