Ben Bieker

Stuff that really matters! Things you must know about the world of IT.

2011-08-08 (14:03)

Get ready for PHP 5.3

PHP 5.3 yippie, aber diese ganzen deprecated Meldungen im Error-Log? Das ist nicht schön. Hm, wie fixt man das nun am besten? Ich mein deprecated… naja.. ist ja nur sone Meldung oder? Wird schon nix weiter passieren.

Entwickler einer recht bekannten Forensoftware lösen das deshalb wiefolgt:

Das Trickreiche daran ist, dass keine sau weiß was die 8192 bedeutet, das findet man erst raus, wenn man sich die vordefinierten PHP Konstanten reinzieht :P

useless

Und fertig ist der Bugfix!

2010-10-19 (17:58)

HowtoNot DB-Dump

Filed under: Praktikum ::

Letztens bin ich über einen lustigen DB-Dump der Software Navicat gestolpert. Aufgefallen ist mir dieser Dump, weil er ca 10 Stunden!!! gebraucht hat, um sich in meine MySql Datenbank einzuspielen.

Auszugsweise sieht der Dump folgendermaßen aus:

INSERT INTO `channels` VALUES (’14′, ’3′, ‘IpH’, ‘pH’, ’0′, ’0′);
INSERT INTO `channels` VALUES (’15′, ’3′, ‘IPCO2′, ‘pCO2′, ’0′, ’0′);
INSERT INTO `channels` VALUES (’16′, ’3′, ‘IPO2′, ‘pO2′, ’0′, ’0′);
INSERT INTO `channels` VALUES (’17′, ’3′, ‘IHCO3A’, ‘HCO3-akt’, ’0′, ’0′);
INSERT INTO `channels` VALUES (’18′, ’3′, ‘IHCO3S’, ‘HCO3-std’, ’0′, ’0′);
INSERT INTO `channels` VALUES (’19′, ’3′, ‘ITCO2′, ‘tCO2′, ’0′, ’0′);
INSERT INTO `channels` VALUES (’20′, ’3′, ‘IBE’, ‘BE(B)’, ’0′, ’0′);
INSERT INTO `channels` VALUES (’21′, ’3′, ‘IPHT’, ‘pH(T)’, ’0′, ’0′);
INSERT INTO `channels` VALUES (’22′, ’3′, ‘IPCO2T’, ‘pCO2(T)’, ’0′, ’0′);
INSERT INTO `channels` VALUES (’23′, ’3′, ‘IPO2T’, ‘pCO2(T)’, ’0′, ’0′);
INSERT INTO `channels` VALUES (’24′, ’3′, ‘ICHB’, ‘cHb’, ’0′, ’0′);

Das ganze denkt man sich jetzt multipliziert mit faktor ein-paar-hundert-tausend… so, was fällt auf? Aaaaah, wieso sindn da immer für jeden Datensatz INSERT INTO Befehle? Warum ist nicht einfach alles mit einem Befehl abgehandelt? Letzteres wäre wesentlich effizienter und würde (bei mir lokal getestet) dann in unter einer Minute durchlaufen. MySql startet nämlich für jeden INSERT INTO Befehl eine eigene Transaktion und schreibt dann wirklich Datensatz für Datensatz in die Tabelle, welches die Festplatte vollkommen überlastet => Dauert eeeewig.

In wiefern dies nun Standardverhalten der Software Navicat ist, kann ich nicht beantworten, da ich diese selber nicht einsetze, wäre sicherlich aber auch einmal interessant das in Erfahrung zu bringen.

2010-07-30 (12:13)

Wenn der kleine Hunger kommt…

Filed under: Praktikum ::

Greift der Informatiker natürlich zu Pizza, was sonst?


2010-04-22 (23:48)

Howto Dovecot Sieve

Filed under: Infotechnischer Krempel ::

Die Problemstellung ist folgende: Man hat sein Mailkonto, greift auf dieses via IMAPs zu und erhält jeden Tag tonnenweise Mails. Um eMails zu sortieren, legt man sich Filterregeln auf seinem Client Computer an. So weit so gut, einziges Problem was dann richtig nervig wird ist, wenn man mehrere Computer benutzt und dann vllt. noch ab und zu via Webmailer seine Mails checkt. Filterregeln müssten dann auf jedem einzelnen Computer neu angelegt werden, das kostet Zeit und ist nervig, geschweige denn vom Webmailer. Falls der Webmailer Filterregeln unterstützt, müssten diese dort auch nochmals eingetragen werden..

Abhilfe schafft hier Sieve. Man erstellt sich einmal zentralisiert auf dem Webserver seine Filterregeln und die Mails liegen dann bereits auf dem Server fein sortiert vor, sodass man mit einem beliebigem Mailclient, ohne Filterregeln definieren zu müssen, zugreifen kann.

Ich nutze auf meinem Server Postfix als Mailserver. Auf die Konfiguration von Postfix werde ich hier nicht weiter eingehen, dies wird vorausgesetzt. Als IMAP Server setze ich wie schon erwähnt Dovecot ein. Dovecot unterstützt Sieve ab der Version 1.2 und neuer. Das ganze nennt sich dann Dovecot Sieve. Die Dovecot Entwickler haben Sieve für Dovecot neu geschrieben. Sollte als Serverdistribution als Beispielsweise Debian Lenny verwendet werden, wird man feststellen, dass das Paket dort nicht ganz aktuell ist. Deshalb empfiehlt es sich, aus den Debian Backports die aktuellste dort verfügbare Version von Dovecot zu installieren.

Da ich nur einen kleinen Mailserver betreibe lege ich für jeden  Benutzer ein Benutzerkonto auf dem Server an. Die Mails liegen dann im Homedir des jeweiligen  Benutzers. Kommen wir nun zur Konfiguration, das ist im Prinzip auch recht einfach gehalten.

Erst einmal muss die postfix  Konfiguration angepasst werden, es muss jetzt nämlich immer der Dovecot Deliver Client für das zustellen von Mails benutzt werden, weil dieser dann die Filterregeln anwendet, wann immer eine Mail reinkommt, dies erledigt man durch Folgende Zeile:

# /etc/postfix/main.cf
mailbox_command = /usr/lib/dovecot/deliver

Als nächstes müssen wir noch das Sieve Plugin für Dovecot aktivieren, folgendes muss hierbei in die Konfiguration:

# /etc/dovecot/dovecot.conf
protocols = imap imaps managesieve lda
protocol lda {
postmaster_address = master@server.domain
mail_plugins = sieve
}
plugin {
sieve = ~/.dovecot.sieve
sieve_dir = ~/mails/sieve
}

So, nun haben wir Dovecot für Sieve konfiguriert. Dovecot muss nun restarted werden und wird, sofern die datei .dovecot.sieve im Home Verzeichnis des Benutzers vorliegt, die Filterregeln für jede eingehende Mail verarbeiten.  Sollte man als Mail-Client Thunderbird einsetzen, was ich wärmstens empfehle, kann man dort ein gutes Sieve Plugin verwenden. Dieses Plugin nutzt die vorhin konfigurierte Managesieve Schnittstelle, welche per default auf port 2000 läuft, um das Sieve Skript hochzuladen. Eine wirklich sehr praktische Sache! Das Plugin checkt, ob man Syntax Fehler hat und hat eine umfassende Skript Referenz, welches gerade Einsteigern (wie mir) das Leben leichter machen soll. Ich habe hier mal einen Screenshot von einigen meiner Filterregeln beigefügt. Für eine volle Funktionsreferenz oder weitere Beispiele kann ich die Dovecot Sieve Seite im Dovecot Wiki empfehlen.

Screenshot Sieve Plugin Thunderbird

Sieve Plugin Thunderbird

2010-04-21 (13:36)

Serverumzug

Filed under: Infotechnischer Krempel ::

So, bin jetzt endlich erfolgreich auf meinen eigenen RPS bei OVH umgezogen. Demnächst gibts hier vllt. auch noch ein paar schöne neue Beiträge. Ich hab mir letztens nämlich nen Mailserver mit SIEVE eingerichtet. Das werde ich bald mal Schritt für Schritt dokumentieren, damit man sich das einfach nachbasteln kann. Auf jeden Fall eine feine Sache, so ein serverbasiertes Mailfiltering!

Nächste Seite »