All posts by Florian Wiessner

Warum es ein No-No ist, bei produktiven Server _kein_ RAID zu verwenden

Der Grund warum ich diesen Post schreibe ist folgender: Ein Kunde ordert einen Root-Server bei uns. Soweit so gut. Das System ist recht flott, hat zwei identische Platten drin und wird von uns mit frisch installiertem Gentoo ausgeliefert.

Natürlich richten wir solche Server, sofern kein Hardware RAID integriert ist, mit Software RAID1 mit dem Linux md-device Driver ein. Dies hat den Vorteil, dass zum einen die Swap-Partition auf einem RAID1 Device läuft und somit das System nicht abstürzt, wenn die Swap-Partition defekte Blöcke aufweisst, zum anderen hat es den Vorteil, dass man generell vor dem Ausfall einer Disk und dem einhergehenden Datenverlust gefeit ist.
Continue reading Warum es ein No-No ist, bei produktiven Server _kein_ RAID zu verwenden

www-hoster.de jetzt mit E-Mail Push Dienst

seit gestern bietet http://www-hoster.de jetzt seine E-Mail Services auch als E-Mail Push Dienst an. So kann man nun mit seinem Smart Phone den E-Mail Push Dienst nutzen und bekommt somit neue E-Mails direkt von www-hoster.de auf sein Phone gepusht. Der Hoster erhebt für die zusätzliche Leistung keine weiteren Kosten und hat auch bestehende Pakete für diesen Dienst upgegraded.

Warum man mit Suchmaschinenoptimierung allein nur schwierig ein Geschäft führen kann

Der optimierungs Boom

Tja, da ist er nun, oder ist nun schon vorbei, der Boom auf Suchmaschinenoptimierung. Wer in diesem Bereich versucht seinen Lebensunterhalt zu verdienen, kann sich nicht darauf verlassen, von Suchmaschinen gefunden zu werden. Wer einmal bei Google nach “Suchmaschinenoptimierung” gesucht hat, stellt fest, dass es hier zahlreiche Anbieter gibt, die einem alle das Gleiche verkaufen möchten – eine Optimierung der Webseite hinsichtlich Keywords, Barrierefreiheit und Markup. Das ist eigentlich super, und viele Webseiten die man so im Internet ansurfen kann, gerade die von sog. KMUs, haben soetwas wirklich nötig. Das Problem ist nur – Die Betreiber der Webseite wissen meist gar nichts über die Materie und werden daher nicht von sich aus darüber nachdenken, dass ihre Seite einmal überarbeitet werden sollte, und sofern doch jemand auf die Idee kommt, professionelle Hilfe in Anspruch zu nehmen, so wird er von Angeboten überflutet. Continue reading Warum man mit Suchmaschinenoptimierung allein nur schwierig ein Geschäft führen kann

_gat is not defined – Adblock und Google Analytics Problem

Wenn Adblock oder ein anderer Werbeblocker das Nachladen von Googels Code verhindert, gibt es Probleme bei der JavaScript Code Validierung, da das Script keinen Code von Googles Server nachladen kann und somit das Objekt _gat nicht definiert ist.

Um dies zu beheben reicht es aus, vorher abzufragen ob _gat ein Objekt ist:

<script type=”text/javascript” language=”javascript”>
if (typeof(_gat) == ‘object’)
{

..google-analytics-code..
}
</script>
Die fett geschriebenen Zeilen müssen zusätzlich um den Code herum eingefügt werden. Der Fehler tritt dann nicht mehr auf.

vd-server.de und Korypet stellt Service ein

Wie ich heute erfahren habe, stellt vd-Server.de und Korypet seine Services ein.

Allen Kunden, die bisher noch keinen neuen Provider gefunden haben, kann ich nur sagen, dass www.smart-weblications.de ähnliche Produkte zu günstigen Preisen anbietet.

Soweit ich mitbekommen habe, werden die Services eingestellt, weil es dem Geschäftsführer aus gesundheitlichen Gründen nicht mehr möglich ist, die Dienste aufrecht zuerhalten.

apache2, virtualdocumentroot und Logfiles in verschiedene Files

Wieder mal ein spezifisches Problem:

Wer mit apache2 einfaches Massenhosting betreiben will, der will nicht für jeden Virtualhost einen VirtualHost-Container in seiner Apache Konfiguration anlegen, denn ab ca. 500 Domains als VHostContainer wird zum einen die Konfiguration sehr unübersichtlich und ausserdem wird der Indianer dadurch langsamer, aufgrund von vielen offenen Filehandles. Muss man ja auch nicht, schliesslich gibt es das vhost_alias Modul, mit welchem man ein VirtualDocumentRoot konfigurieren kann, dass dann das DocumentRoot anhand des übermittelten ServerName oder HTTP-Host Headers auswertet.

In der Apache Konfiguration sieht das dann z.B. so aus:

<VirtualHost *>
UseCanonicalName Off
Options Indexes Includes FollowSymLinks MultiViews
VirtualDocumentRoot /domains/%0/www
VirtualScriptAlias /domains/%0/cgi-bin/
CustomLog access_log vcommon
<Directory /domains/%0/www>
AllowOverride All
</Directory>
</VirtualHost>

Das Problem ist nun, dass alle Logs in ein einziges File “access_log” geloggt werden, und es schwierig ist, hier für die einzelnen gehosteten Domains Statistiken zu erzeugen etc.

Man kann nun aber um dieses Problem zu umgehen Folgendes tun:
Man erzeugt in /etc/apache2 ein Script welches die Ausgabe des Logfiles aufteilt und in mehrere Dateien speichert:


#!/usr/bin/php
<?php

$path = “/var/log/apache2”;
$fh_timeout = 30; // 30 sek.

$fd = fopen(“php://stdin”, “r”);

while(!feof($fd)) {

$row = fgets($fd);

list($vhost,$h,$l,$u,$t,$r,$s,$b,$referrer,$ua) = explode(“;”,$row,10);

if (!${$vhost}) { ${$vhost} = fopen($path.“/”.$vhost.“_access.log”,“a+”); }
$lastwrite[$vhost] = time();
fputs (${$vhost},“$h $l $u $t $r $s $b $referrer $ua”);

foreach ($lastwrite as $vhost => $time) {
if ((
time() – ($time+30)) >=0) {
fclose(${$vhost});
unset(${
$vhost});
unset(
$lastwrite[$vhost]);
}
}
}
?>

Nun müssen wir in der apache2 Konfiguration noch das Logformat ändern und die Ausgabe des Logfiles an unser Script durchpipen:

LogFormat "%V;%h;%l;%u;%t;\"%r\";%>s;%b;\"%{Referer}i\";\"%{User-agent}i\"" vcommon
CustomLog "|/etc/apache2/splitlogs.php" vcommon

Dann Apache einmal neu starten und künftig werden pro Host separate Logfiles erstellt.

Edit: Fast hätte ich es vergessen! Das Script braucht natuerlich eXecutable-Flag also am besten chmod 755 /etc/apache2/splitlogs.php ausführen!

viele Bilder auf einmal skalieren mit Gimp

Welcher Webdesigner hat das Problem nicht schon einmal gehabt? Man bekommt viele Bilder in hoher Auflösung und soll diese skaliert in ein Forum oder eine Galerie einstellen. Im Photoshop gibt es dafür eine Batch-Funktion, wohl dem, der es sich leisten kann. Wer allerdings kein Vermögen für Photoshop ausgeben will, kann dies auch mit dem GNU Image Manipulation Programm GIMP erledigen.

Alles was dazu benötigt wird, ist ein Plugin DBP (David’s Batch Programm) und GIMP in einer aktuellen Version (ab 2.0).

Zuerst wird GIMP mit allen Standardeinstellungen installiert, anschliessend holen wir uns DBP und installieren dies im Plugins Pfad von GIMP:
bei w32: GIMP-2.0\lib\gimp\2.0\plug-ins

Anschliessend startet man GIMP und wählt nun Menü “Extras” “Batch Process…” aus.

Hier kann man jetzt Bilder hinzufügen und diese dann mittels Resize neu skalieren. Es sei angemerkt, dass man damit die Bilder auch drehen kann und weitere Effekte auf die Bilder anwenden kann.