Category: Open Source

Ubuntu Jaunty Jackalope

authorOmar | 24. April 2009

Die neuste Version von Ubuntu wurde gestern abend offiziell herausgegeben. Jaunty Jackalope ist die Version 9.04. Vor allem sollte ja die Bootzeit verkürzt werden. Ich werde es frühstens am Wochenende herausbekommen. Derzeit läuft Jackalope auf dem Arbeitsrechner unter virtualbox – und da recht zufriedenstellend.

Einige nützliche FAQs zur neusten Version gibt es bei Ubuntu Linux Tips & Tricks.

Cebit: Blender-Stand

authorOmar | 4. März 2009

Nur eine kleine Notiz nebenbei: ich werde beim Blender-Stand auf der Cebit aushelfen. Blender ist eines von mehreren Open-Source-Projekten, die auf dem Open-Source-Stand in Halle 6 vertreten ist. Am Wochenende werde ich persönlich – mit meinen beschränkten Möglichkeiten – dort stehen und versuchen, Fragen zu beantworten und vielleicht junges Volk für dieses Programm zu interessieren.

Intrepid Ibex soon to come

authorOmar | 7. Oktober 2008

Es ist Oktober. Ubuntu 8.10 Intrepid Ibex steht vor der Tür (noch 23 Tage!). Wenn ich einen Wunsch frei hätte, würde ich mir wünschen, dass die Version stabil ist. Die Beta sieht schon prächtig aus..

Wenn ich mehr Wünsche offen hätte, dann hätte ich gerne per default die neuste blender Version (auch bitte mit meinem System und ohne Neukompilation lauffähig), die neuste Gimp-Version, eine Vorversion von Openoffice 3 …

Das beste FF theme mit dem wichtigsten FF plugin

authorOmar | 26. August 2008

Eines der wichtigsten Plugins für mein Firefox ist TabMixPlus, mit dem sich das Verhalten und Aussehen von Firefox-tabs bestimmen lässt. Die Version auf der offiziellen Addons-Seite von Firefox ist schon länger nicht mehr aktuell und funktioniert auch nicht ohne Weiteres mit der aktuellen Version 3.0.1. Im Forum der Entwickler befindet sich allerdings eine stabile Entwicklerversion, die immer weiter entwickelt wird. Ich weiß nicht genau, welchen Grund es hat, dass die Entwickler die Addons-Seite nicht aktualisieren, aber vielleicht wollen sie sehr extensiv testen, bevor sie eine (wirklich) stabile Version herausgeben..

Leider hat dieses für mich sehr wichtige Plugin bislang nicht zufrieden stellend mit meinem Lieblingstheme funktioniert: Silvermel. Entweder wurden die Tabs unleserlich dargestellt oder es liessen sich keine Tabs erstellen. Durch einen Beitrag im Entwicklerforum von Tabmixplus habe ich gemerkt, dass offensichtlich die Entwickler von Silvermel ebenfalls mit der Herausgabe von stabilen Versionen sparen. Es gibt also eine Version, die mit Tabmixplus sehr gut arbeitet.

wp-stattraq in wordpress 2.6 – kompatibler Version

authorOmar | 11. August 2008

Bislang stand unter der wordpress Kompatibitätsliste bei Stattraq:

Stattraq 1.1.1 – Has problems with the changed cookie/login system.

Stattraq ist eines der aussagekräftigsten und detailliertesten Statistik-Plugins für Wordpress. Leider ist es schon in die Tage gekommen, seitdem Randy es zuerst herausgab. Langer Rede kurzer Sinn: ich habe das Plugin nun übernommen und als erstes in einen Zustand versetzt, in dem es mit wordpress 2.6 lauffähig ist und zwar unter der normalen Administrationsoberfläche von wordpress1.

Mehr erfahrt ihr hier, hier und hier.

Das ist damit mein erstes öffentliches wordpress-plugin.

  1. bislang hat es eine vollkommene Oberfläche genutzt[]

Comics

authorOmar | 2. Juli 2008

Comics im Internet sind eine nette tägliche Beschäftigung – reißen sie einen doch aus dem teilweise sehr anstrengenden Alltag heraus. Ich habe inzwischen so einige Comic-Seiten abonniert, die ich anlässlich eines Neuzugangs hier vorstellen möchte:

  • xkcd ist der Klassiker. Der Autor hat bereits einige recht interessante und “tiefe” Einsichten in seine Gedankenwelt gewährt. Er schenkt mir ab und zu zwei Minuten des Nachdenkens.
  • gocomics bietet verschiedene Comics an. Ich persönlich habe nur Calvin and Hobbes abonniert. Die meisten dieser Comic strips kenne ich bereits, aber es ist ein anderes Erlebnis eine der vielen Serien auf mehrere Tage verteilt zu lesen..
  • Ninjabi hatte ich bereits vorgestellt. Erscheint leider nicht so regelmäßig.
  • Jojos illustrierter Blog ist eines der “du musst es nicht verstehen” Comics. Lustig gezeichnet, teils fies und ansonsten für kurzweilige (und kurzzeitige) Unterhaltung sehr gut.
  • Us the Robots ist der Neuzugang, den ich über eine blendernation-Meldung mitbekommen habe. Auch wieder ein Comic, der nicht sofort verstanden werden muss. Dieser steht noch am Anfang, verspricht aber durch die tolle Grafik und die Möglichkeiten der “Charakterentwicklung” viel Gutes. Die ganze Arbeit hierzu soll mit open source Produkten geschehen – toll!

Us the Robots

Übrigens: Wer lieber ein Videocomic sehen möchte, den verweise ich auf das neu aufgelegte “Red vs. Blue”. Auch da muss man nicht so schnell etwas verstehen..

Schade NVidia..

authorOmar | 24. Juni 2008

Wenn sich an der Haltung NVidias nichts ändert, wird die nächste Grafikkarte, die ich mir zulege eine ATI sein:

Während AMD mittlerweile die Spezifikationen für seine ATI-Grafikkarten veröffentlicht hat, bietet Nvidia weiter nur proprietäre Linux-Treiber an. Dabei wird es auch in Zukunft bleiben, heißt es in einer Stellungnahme, die gegenüber ZDNet abgegeben wurde. Der Treiber sei geschlossen, da nur so geistiges Eigentum Nvidias geschützt werden könne. Zudem erwarte man nicht, dass die Community Probleme mit dem Nvidia-Modul behebe, dafür habe man ein eigenes Kernel-Team.

Auf der anderen Seite hoffe ich auch einfach nur, dass ich mir demnächst endlich eine neue Grafikkarte zulegen kann..

Beitragsversionen ab Wordpress 2.6

authorOmar | 23. Mai 2008

Wer hätte das gedacht? Wordpress 2.6 soll Beitragsversionen verwalten, so dass man Änderungen (bei Gruppenschreiben ganz wichtig) nachverfolgen und gegebenenfalls diese rückgängig machen kann. Die Besprechung dazu fand vor allem im Ticket 6775 statt. Cool, demnächst kann man mit wordpress nicht nur full-fledged cms Applikationen ersetzen, sondern auch gängige wikis! [via]

Dragonfly: Opera’s Antwort auf Firebug

authorOmar | 7. Mai 2008

Opera hat die erste Alpha der Debug-Werkstatt Dragonfly herausgebracht. Obwohl der Browser Opera noch immer ein closed-source Projekt ist, wird Dragonfly unter der BSD-Lizenz veröffentlicht.

Opera pitches Dragonfly as a tool for debugging web pages and web applications. Its feature set includes a JavaScript error console and command line, a debugger, and CSS and DOM inspectors. The current release (out today, and requiring Opera 9.5 beta 2) is an alpha, but they’ve announced planned improvements for the future. Notably, write access to CSS and DOM properties is still to come, as well as support for non-desktop versions of Opera.

Noch reicht die Funktionalität nicht an die von Firebug, aber das soll noch kommen..

The initial alpha release is just the beginning. Opera Dragonfly has a fully featured road map, including support for editing of CSS, JavaScript and the DOM, a single window mode, improved JavaScript thread handling, XHR and HTTP monitoring, improved keyboard navigation, and translation into a number of languages.

Wordpress 2.5.1 Test

authorOmar | 1. Mai 2008

Dies ist nur ein Post, um zu testen, ob die neue 2.5.1-Version von Wordpress auch wirklich funktioniert. Ich hatte zu 2.5 einen patch eingereicht, das nicht bearbeitet wurde und nun will ich wissen, ob der Fehler beim Fix anderweitig behoben wurde..

Webserver-Optimierung

authorOmar | 20. März 2008

In den letzten Tagen gab es einige Aussetzer auf diesem Server und sie hängen fast alle mit der Umstellung und Neukonfiguration des Servers zusammen, die ich am Sonntag vollzogen habe. Bislang war das treibende Betriebssystem hier debian sarge (3.1). Da der support für diese recht stabile aber inzwischen in die Jahre gekommene Version von debian bis Ende März eingestellt wird und weil meine Installation einige eigenmächtige Hacks enthielt, habe ich mich entschieden, eine komplette Neuinstallation zu wagen1. Entschieden habe ich mich dann für die letzte Ubuntu Serverversion (7.10 gutsy). Die Konfiguration war allerdings nicht sehr gradlinig..

Anforderungen

Zunächst einmal die Anforderungen an den Server:

Er beherbergt etwa fünf wordpress-installationen, jede mit eigenen (im Allgemeinen recht umfangreichen) plugins und sowohl einer datenbankgestützten, als auch einer log-dateien-gestützten Zugriffsstatistik. Weiterhin soll eine postnuke-Seite2 mit mäßigen Zugriffszahlen, eine interne Bibliotheksverwaltung, eine bis zwei Feed-Aggregator-Seiten und ein internes Forum beherbergen (smf). Daneben sollen mehrere Testumgebungen für diverse weitere Seiten Platz finden und - in Zukunft - eine rechenintensive wiki-Software. Die Datenbanken für diese Seiten sollen alle auf dem Server liegen.

Neben der Webserver-Tätigkeit sollte der Mailverkehr an alle Domains durch den Server selbst geregelt werden und es sollte ein guter Spam-Filter eingebaut sein.

"Hardware"

Der Server ist ein bei Gehrkens.IT in Hannover gehosteter x|pro 256 mit Zugriff auf einen dualen Prozessor und einem Arbeitsspeicher von 256MB.

Software

Neben der bereits angesprochenen Minimalinstallation von Ubuntu3 habe ich die mir bekannte Maillösung Postfix/Courier wieder installiert. Postfix kümmert sich um den Transport der Emails, während Courier das Abrufen der in der mailbox gespeicherten Email sowohl über imap, als auch über pop3 erlaubt.

Was den Webserver angeht, so hatte ich schon früher Probleme mit dem standardmäßig installieten apache(2). Dieser kommt bei den Anforderungen mit den zur Verfügung gestellten 256 mb RAM nicht aus, ist an sich schon recht langsam bei der Verarbeitung von php-Seiten und wird durch das zwingend notwendige Auslagern um so langsamer. Stattdessen habe ich den als "lighty" bekannten lighttpd installiert, der weit mehr als apache auf performance getrimmt ist. Als SQL-Server dient der Webstandard Mysql und als php-interpret die Version php5 in der cgi-Version4.

Konfiguration

Dankenswerter weise sind alle benötigten Pakete Bestandteil der Ubuntu-Distribution5. Ich habe die nachfolgenden Konfigurationsschritte nach Server sortiert, aber in der Praxis mussten sie ineinandergreifen..

Email-Server

Bei der Konfiguration des Mailservers bin ich weitestgehend der Anleitung in dieser howtoforge-Anleitung gefolgt. Dort werden die grundsätzlichen Schritte zur Installation von Postfix inklusive SMTP-AUTH, TLS-Authentifizierung und der dazu gehörigen Courier-Installation erklärt. Geändert habe ich nur zwei Dinge:

  1. Um Email für mehrere Domainnamen zu erhalten muss die Variable "mydestination" in /etc/postfix/main.cf geändert werden.
    CODE:
    1. mydestination = my.servername.de, localhost, der.de, die.de

    Postfix kann dann allerdings nicht zwischen den Domainnamen unterscheiden und behandelt alle eintreffenden Emails als wären sie an ein und dieselbe Domain gerichtet. Um mehrere Domainnamen mit teilweise ähnlichen Emailnamen6 einzurichten, muss eine zusätzliche Konfiguration virtueller Server erfolgen.

    CODE:
    1. mydestination = my.servername.de, localhost
    2. virtual_alias_domains = der.de, die.de

    Nun weiß Postfix, dass es Emails für die Domains der.de und die.de annehmen soll, man kann ihm dann noch mitteilen, wie er die Emails zu sortieren hat. Dazu wird eine Datei erstellt, die die Auflösung zwischen Emailadresse und lokalen Benutzern vollzieht:

    /etc/postfix/virtual_domains

    CODE:
    1. der@der.de        deradmin
    2. der@die.de        dieadmin

    Von dieser Datei sollte noch die hash-Tabelle erstellt werden:

    CODE:
    1. postmap /etc/postfix/virtual_domains

    Dieser Befehl sollte die Datei virtual_domains.db erstellen. Danach wird die Datei in der main.cf eingetragen (nicht die .db-Datei!):

    CODE:
    1. virtual_alias_maps = hash:/etc/postfix/virtual_domains

  2. Das nächste ist die Abwehr von Spam-Emails: Postfix bietet mehrere Methoden und Eingriffsmöglichkeiten, um bewerten zu können, ob eine Email 'vernünftig'7 ist. Dazu sollte man wissen, wie die Übermittlung einer Email vonstatten geht8:
    • Der Client stellt eine Verbindung zum Mailserver her. Meist wird die Verbindung über den smtp-Port 25 hergestellt, kann aber von server zu server variieren9. Läuft der Server ordnungsgemäß, dann antwortet er mit dem code 220.
    • Der Client muss nun mit dem Befehl HELO (oder EHLO10 ) sich identifizieren (also ehlo localhost z.B.) Der Server antwortet mit dem code 250.
    • Der "MAIL FROM"-Befehl gibt an, von welchem Absender die Email kommt (MAIL FROM: der@der.de). Wieder antwortet der Server mit 250.
    • Der "RCPT TO"-Befehl gibt an, welche Zieladresse die Email hat (RCPT TO: der@die.de). Serverantwort ist wieder 250.
    • Dann kommt die eigentliche Übermittlung der Email (inklusive header). Diese wird mit dem Befehl DATA eingeleitet und mit einem Escape-Charakter abgeschlossen, der vom Server beim Eingeben von "DATA" vorgegeben wird.
    • Zum Beenden der Verbindung wird der Befehl QUIT ausgeführt.

    Eine smtp-Sitzung kann also wie folgt aussehen:

    CODE:
    1. telnet localhost 25
    2. Trying 127.0.0.1...
    3. Connected to localhost.
    4. Escape character is '^]'.
    5. 220 servername ESMTP Postfix (Ubuntu)
    6. ehlo localhost
    7. 250-servername
    8. 250-PIPELINING
    9. 250-SIZE 10240000
    10. 250-VRFY
    11. 250-ETRN
    12. 250-STARTTLS
    13. 250-AUTH PLAIN LOGIN
    14. 250-AUTH=PLAIN LOGIN
    15. 250-ENHANCEDSTATUSCODES
    16. 250-8BITMIME
    17. 250 DSN
    18. MAIL FROM:der@der.de
    19. 250 2.1.0 Ok
    20. RCPT TO:der@die.de
    21. 250 2.1.5 Ok
    22. DATA
    23. 354 End data with <CR><LF>.<CR><LF>
    24. test
    25. .
    26. 250 2.0.0 Ok: queued as C868A114C84
    27. quit
    28. 221 2.0.0 Bye
    29. Connection closed by foreign host.

    Mit Postfix hat man die Möglichkeit nach verschiedenen Merkmalen Emails zu klassifizieren. Zur Filterung von Emails gibt es fünf Anknüpfungspunkte:

    • smtpd_client_restrictions wird beim Verbindungsaufbau durchlaufen
    • smtpd_helo_restrictions wird nach dem helo/ehlo-Befehl durchlaufen
    • smtpd_sender_restrictions wird nach dem 'MAIL FROM'-Befehl abgearbeitet
    • smtpd_recipient_restrictions wird nach dem 'RCPT TO'-Befehl abgearbeitet
    • smtpd_data_restrictions wird nach dem 'DATA'-Befehl abgearbeitet

    An jeder dieser Stellen kann eine Email abgelehnt werden. Es hat sich eingebürgert, die Filterung auf den Zeitpunkt nach dem 'RCPT TO'-Befehl zu verschieben11, da einige Mail-Clients ein vorheriges Ablehnen strikt ignorieren und ihre Daten weiterschicken. Da aber bis zum Senden des DATA-Befehls keine übermäßigen Datenmengen zu verarbeiten sind, sollte diese kurze Verzögerung kein Problem darstellen.

    Die zur Verfügung stehenden 'restrictions' finden sich auf den Seiten von Postfix. Ich will in Kürze die von mir gewählte Konfiguration erklären:

    CODE:
    1. smtp_delay_reject = yes
    2. # keine client_restrictions, die Verbindung soll immer aufgebaut werden dürfen
    3. #smtpd_client_restrictions =
    4. # Der helo/ehlo-Befehl soll immer ausgeführt werden. Fehlerhafte Verbindungen sollen nicht toleriert werden (das erspart bereits einiges an spam)
    5. smtpd_helo_required = yes
    6. smtpd_helo_restrictions
    7.     # Alle Verbindungen vom eigenen Server sollen zugelassen und von den weiteren Prüfungen ausgenommen werden
    8.     permit_mynetworks,
    9.     # spezielle hash-Tabelle über helo-Einträge, die nicht zugelassen werden
    10.     check_helo_access hash:/etc/postfix/helo_access,
    11.     # Nicht auflösbare und fehlerhafte hostnames ablehnen
    12.     reject_non_fqdn_hostname,
    13.     reject_invalid_hostname,
    14.     # alles andere erst einmal erlauben
    15.     permit
    16. smtpd_sender_restrictions =
    17.     # Wenn Client sich richtig authentifiziert, soll er senden dürfen
    18.     permit_sasl_authenticated,
    19.     # Alle Verbindungen vom eigenen Server sollen zugelassen und von den weiteren Prüfungen ausgenommen werden
    20.     permit_mynetworks,
    21.     # Nicht auflösbare Senderadresse nicht zulassen
    22.     reject_non_fqdn_sender,
    23.     # Anhand einer manuell erstellten Liste von nicht-erlaubten Absender prüfen (funktioniert nicht, so wie ich möchte...)
    24.     check_sender_access hash:/etc/postfix/blockedemails
    25.     # alles andere erst einmal erlauben
    26.     permit
    27. smtpd_recipient_restrictions =
    28.     # wenn ein client seine daten versucht einzuschleusen, bevor die Empfangsbestätigung vom Server kommt, wird er abgelehnt (fehlerhaftes Verhalten)
    29.     reject_unauth_pipelining,
    30.     # nicht auflösbare Empfängeradresse nicht zulassen
    31.     reject_non_fqdn_recipient,
    32.     # alle Verbindungen aus dem eigenen Netz erlauben
    33.     permit_mynetworks,
    34.     # authentifizierte Verbindungen erlauben und unauthentifizierte Ziele nicht zulassen
    35.     permit_sasl_authenticated,
    36.     reject_unauth_destination,
    37.     # alles andere erlauben
    38.     permit

    Das hält einiges an fehlerhaft konfigurierten Spam-Sendern ab, allerdings reicht das noch lange nicht.

    Zur weiteren Minderung trägt die Greylisting-Methode bei. Hierbei wird jedem client der erste Versuch eine Email abzuschicken temporär abgelehnt12. Spam-Versender haben die Angewohnheit dieselbe Email nicht noch einmal abzuschicken. Ordentliche Mailserver würden die Email zurückhalten und in einiger Zeit13 noch einmal abzuschicken versuchen. Beim zweiten Versuch wird dann die Email durchgelassen und der Absender wird für die weitere Zustellung freigestellt.

    Das greylisting ist derzeit noch stark umstritten, da die Hürde für Spam-Versender relativ niedrig ist14 und der Nachteil durch die erstmalige Verzögerung einer 'ordentlichen' Email teilweise gravierend sein kann. Einige Administratoren drehen der Methode den Rücken, aufgrund der bei mir immer noch sehr hohen Zahlen an Emails, die durch das greylisting entfernt werden und weil ich grundsätzlich ein Problem mit blacklisting habe15, da ich einem fremden Server Vertrauen schenken muss und dieses durchaus gewollt oder ungewollt missbraucht werden kann, setze ich erst einmal weiterhin greylisting ein.

    Für Postfix gibt es das Modul Postgrey, mit dem sich greylisting umsetzen lässt. Unter Ubuntu lässt sich das mit

    CODE:
    1. apt-get install postgrey

    einfach installieren. Zur Konfiguration stehen auf der einen Seite whitelist-Dateien unter /etc/postgrey/ zur Verfügung, auf der anderen Seite die Aufrufparameter in der Datei /etc/default/postgrey. In beiden Fällen kann der Default-Zustand beibehalten werden. Damit postfix das Modul anspricht, muss der entsprechende Eintrag in einer der restrictions eingetragen werden:

    CODE:
    1. smtpd_recipient_restrictions =
    2.     # wenn ein client seine daten versucht einzuschleusen, bevor die Empfangsbestätigung vom Server kommt, wird er abgelehnt (fehlerhaftes Verhalten)
    3.     reject_unauth_pipelining,
    4.     # nicht auflösbare Empfängeradresse nicht zulassen
    5.     reject_non_fqdn_recipient,
    6.     # alle Verbindungen aus dem eigenen Netz erlauben
    7.     permit_mynetworks,
    8.     # authentifizierte Verbindungen erlauben und unauthentifizierte Ziele nicht zulassen
    9.     permit_sasl_authenticated,
    10.     reject_unauth_destination,
    11.     # greylisting
    12.     check_policy_service inet:127.0.0.1:60000,
    13.     # alles andere erlauben
    14.     permit

    Weiterhin habe ich Spamassassin installiert, um den restlichen Spam zu beseitigen. Spamassassin ist als Ubuntu-Paket erhältlich und muss nach der Installation16 in den Arbeitsablauf von Postfix eingebunden werden. Dazu wird die Datei /etc/postfix/master.cf editiert. An das smtpd-Modul müssen folgende Argumente übergeben werden:

    CODE:
    1. smtp    inet    n   -  - -    -   smtpd
    2.         -o content_filter=spamassassin

    Dann muss eine zusätzliche Zeile eingefügt werden:

    CODE:
    1. spamassassin    unix    -   n  n -    -   pipe
    2.         user=spamfilter argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}

    Der Benutzer 'spamfilter' muss angelegt werden, dann startet man postfix neu und schon funktioniert spamassassin!

Webserver

Ein großer Vorteil von lighttpd ist die Art, wie es Skriptsprachen wie php einbindet. Während Apache standardmäßig bei jedem Aufruf eines php-skripts eine neue php-Instanz startet und nach erfolgter Auswertung die Instanz wieder beendet, hält lighttpd über die fastcgi-Schnittstelle mehrere Instanzen von php-cgi auf Abrufbereitschaft und verteilt auf diese offenen Instanzen die anliegenden Auswertearbeiten. Die kostspieligen Starts und Stops entfallen somit komplett17.

Zwischendurch hatte ich sowohl fcgi als auch das 'normale' cgi aktiviert. Was dann geschah, hat mich mehr als zwei Stunden meines Lebens gekostet: Lighttpd startete wie gewohnt einen php-cgi-Prozess, der auf eine Anfrage gewartet hat. Wenn dann eine Anfrage an Lighttpd kam, wurde eine weitere php-cgi-Instanz gestartet und nach erfolgter Verarbeitung wieder geschlossen. Durch die umsonst geöffneten Instanzen kam es dann regelmäßig zur totalen Speicherauslastung und der Server war überhaupt nicht mehr erreichbar.. Offensichtlich geniesst cgi eine höhere Priorität als fast-cgi bei der Verteilung der Aufgaben.

Zur weiteren Beschleunigung von php-Skripten habe ich dann zum Schluß noch xcache installiert. Xcache speichert den kompilierten Zwischenstand einzelner php-skripte. Dadurch wird das erneute Kompilieren beim nochmaligen Aufruf erspart. Dies hat dem Seitenaufbau um wenige Millisekunden weitergeholfen18. Weiterhin bietet xcache einen Variablenspeicher an für Variablen, die sich nicht ganz so schnell ändern. Dieser Speicher muss allerdings einzeln von den php-skripten angesprochen werden, wofür mehr Programmierbedarf da ist. Glücklicherweise hat mein Cousin eine Erweiterung für wordpress geschrieben, die einige Datenbankabfragen in xcache zwischenspeichert. Dadurch reduzieren sich die Datenbankabfragen bei einem Aufruf der Seite teilweise um die Hälfte!

Ende

Ich hoffe, diese recht lang ausgefallene Zusammenfassung kann einigen verzweifelnden Administratoren einiges an Arbeit abnehmen oder in die richtige Richtung verweisen. Mir dient sie als Gedankenstütze und ich hoffe, ich kann hierauf aufbauend auch in der Zukunft Tips aus der eigenen Erfahrung bei der Administratotion dieses Servers aufschreiben. Viel Spaß!

  1. ja, Linux-profis werden entgegnen, man installiere Linux nie neu; aber bei der verqueren Installationslage des Systems hier auf dem Server, hätte ich mir mit einem dist-upgrade jeder Art zu viel Ärger eingehandelt. Schuldig bleibe ich ja trotzdem..[]
  2. demnächst als drupal-Seite umgesetzt, aber da bin ich mir noch nicht ganz sicher...[]
  3. xencon bietet ein "ubuntu feisty"-image, das ich auf gutsy gibbon dist-upgraded habe. Dies habe ich vor der Installation weiterer Software, aber nach einem grundlegenden apt-get update und apt-get upgrade gemacht.[]
  4. apt-get install php5-cgi[]
  5. bei sarge musste ich noch so einige Pakete selbst zusammensuchen oder vom Quelltext erstellen lassen[]
  6. also z.B. der@der.de und der@die.de, wenn der.de und die.de von einem einzigen server verwaltet werden[]
  7. von einem 'vernünftigen' Rechner stammend, von einem 'vernünftigen' Sender gesendet, an einen 'vernünftigen' Empfänger gerichtet und mit einem 'vernünftigen' Inhalt gefüllt[]
  8. dies habe ich mir auch nur 'hier und da' erarbeitet, deshalb können hier durchaus Fehler enthalten sein..[]
  9. Bei Postfix wird der 'listen'-Port in /etc/postfix/master.cf eingerichtet. Um einen weiteren Port einzurichten, kann man die erste nicht-auskommentierte Zeile duplizieren und den ersten Wert (normalerweise smtp = 25) auf die gewünschte Portadresse setzen[]
  10. Beim Befehl EHLO antwortet der Server mit einer erweiterten Befehlsliste, um dem client zu signalisieren, welche SMTP-Befehle es zusätzlich zu den Standardbefehlen verstehen kann[]
  11. Für Postfix ist es die Konfiguration 'smtp_delay_reject = yes'[]
  12. Die Verschiedenen SMTP-Fehlercodes gibt es z.B. hier. Zum greylisting wird meist der code 450 oder 451 abgeschickt[]
  13. nicht standardisiert[]
  14. einen ordentlich versendenden Server zu halten sollte nich so schwierig sein[]
  15. als Blacklists bezeichnet man Listen, die von einigen Servern zur Verfügung gestellt werden, in denen Emailversender eingetragen werden, die derzeit Spam verschicken.[]
  16. apt-get install spamassassin[]
  17. fastcgi ist eigentlich auch für Apache implementiert, wird aber nicht standardmäßig eingebunden. Lighttpd hat aber weitere Vorteile, vor allem was den Speicherverbrauch angeht..[]
  18. 0.3 Sekunden braucht der Seitenaufbau von toomuchcookies.net normalerweise. Mit xCache ist es nur noch ein Zehntel einer Sekunde![]

Big Buck Bunny – Trailer

authorOmar | 19. März 2008

Der Trailer für den zweiten open source Film aus dem Hause der Blender Foundation wurde heute veröffentlicht [via]. Die Grafik stimmt meines Erachtens, die Charakteranimation auch. Hoffentlich ist es auch eine spannende Geschichte!

Blender 2.46

authorOmar | 23. Februar 2008

Just a short notice: Blender 2.46 is due to be released in april/march 2008. The list of features is amazing. I'm most excited about the ability to simulate anisotropic materials and Gloss. Both i need for my day-job so I'm looking forward to them.. I'm also interested in the way this has been implemented and I want to look into the code as fast as possible to see, if i can use the tangent-implementation to help make my own shader..

The next thing I'm excited about is the new particle system, though I'll hardly find the time to use it..

Firefox 3 beta 3 – URL precognition

authorOmar |

At the time I'm testing the upcoming Firefox 3 both at home and at work. I'm pretty impressed by the performance improvements made by the development team, though one should still expect more variation in the performance to come. For one, Firefox at last moved to the Cairo graphics engine. Also the support of more svg elements is most exciting.. But all this will hopefully be part of a more advanced article I'm preparing to be finished when Firefox 3 is released.

In this article I only want to talk about the URL precognition (or rather autocomplete) abilities. Formerly Firefox would check for the beginning of an url and match against the urls in the history. For Firefox 2.x there was the very useful add-on "Autocomplete Manager" by UCLA-student Nikitas Liogkas.

Available features include:

  • matching against bookmark addresses
  • matching against page titles and bookmark names
  • matching anywhere in the address, not just the beginning
  • changing the sorting criterion to alphabetical by address or title, most frequently visited, most recently visited, or top-level pages first
  • completing the best match inline
  • temporarily or permanently disabling the suggestion popup
  • excluding local pages and pages containing search results
  • swapping the address and title columns on the suggestion popup
  • highlighting the column where a match was found
  • fine-tuning the popup appearance by hiding page titles, changing the number of visible suggestions, and setting the truncation method for long addresses and page titles

Firefox 3 supports most (if not all) of these autocomplete features plus it has the ability to match against tags of bookmarks. See, all bookmarks (Places) can have distinct tags to mark them in Firefox 3 so one possibility of finding a link is by typing a tag that could be associated with it!

One problem associated with autocomplete is the possibility of a misspelling occurring once and being dragged along from there on.. So, if you once accidentally typed "www.goooggle.de" you should be able to delete it from the autocomplete-list. Gina suggests hitting shift-delete to delete that item from the list, but i wasn't able to reproduce this effect..

To change the maximum number of url suggestions provided by firefox you have to edit the configuration string 'browser.urlbar.maxRichResults' [via].

script-fu: exporting the same region for different layers

authorOmar | 31. Januar 2008

Intro

Gimp offers the ability to run scripts and by that create, manipulate and save images automatically. The language used normally is script-fu, though one could also use perl or (more commonly) python.

In my current project, I have to take pictures of different samples which are partly manipulated (using surface processing). In those pictures I'm mostly interested in three regions:

  • the reflection of light on an untreated surface,
  • the reflection of light on a treated surface,
  • the histogram of the image.

A sample image that i took looks like this:

Sample image for script-fu

The regions I'm interested in are as follows:

rund_1_16_markiert.jpg

I took about 30 pictures (with more to come) and i needed an automated method to copy those regions and save them as new images with an appropriate filename.

Read more »

Server is running lighttpd 1.4.18

authorOmar | 26. Januar 2008

Yesterday my hoster had a slight problem with his tcp-stack and therefor no data would be transfered to the outside world. Every time a client started a connection, Apache would start a thread, which apparently did execute the request but then the resulting data couldn't be transfered to the client completely. Even using ssh the data was dripping in very slowly and sometimes the answer to a simple 'ps aux' stopped in the middle and didn't continue..

First i thought the problem is in my apache configuration and tried different things to optimize that. When at last it wouldn't work at all and when i saw that even ssh wasn't working so smoothly, i thought I'd call them and they confirmed the problem..

In the meanwhile - while the technicians were working on solving that problem - i got myself interested in lighttpd and thought i'd give it a try. And I'm impressed!

Lighty is really lightweight, the main task uses about 1% of my memory - that's about 3MB. It doesn't start more than one task which is a great comfort looking at, compared to apache2. The inclusion of php5 is very easy and performance options are easy to find. The php tasks - bound by fastcgi - keep running after completing the task. This makes starting and stopping the task everytime there is a new request obsolete.

The documentation is reasonable and many examples of configuration files can be found all over the net.

Successfull at building Blender3d

authorOmar | 21. Dezember 2007

Phew! At last i was able to build and even modify the blender sources. I need to do that for my current project:

I'm trying to Simulate different BRDF-models for my research using the render engine of blender. It was easy to find the source code locations, where i had to change it, but the hard part was to get the blender source code compiled..

I tried following the guides that are given at blender.org, i downloaded all needed software, libraries and documentations, even tried changing the code on my own, when an error was shown. Mainly i tried compiling the code with cygwin and visual studio and although there are project files specially for visual studio, i couldn't succeed at building the project.

Then - just before giving up completely - i decided to try to contact the 'elders' and describe my problem. The easiest way was to get into the irc-channel. I thought #blendercompilers would be the right place to ask this sort of question, but unfortunately nobody was really active at that channel. Then At #blendercoders someone pointed me to this guide. The guide uses mingw and - to my surprise - it works .. flawlessly!

So, at last i'm getting to the fun part: writing my own shader!

From EPS to SVG

authorOmar | 15. Dezember 2007

I've just had to convert an EPS-File to SVG to get to play with it and re-export it again to png. Inkscape did fail me, because although it can export eps-files, it's not able to import them. So, i had to look for another way..

First thing i found is pstoedit, which is a small program that can convert ps/eps- and pdf-files into other vector formats. On the site, they say, that the svg-option is only available as an optional shareware plugin, but once i installed it via

sudo apt-get install pstoedit

i was able to convert the file to svg:

pstoedit muster.eps muster.svg

But it seems, pstoedit has some minor bugs in the conversion process and some paths were filled, rather than originally being hollow.. I then found this blog entry on Gimparoo! on how to convert eps files manually. He suggests opening the eps file using gimp with a high resolution, saving it as a bitmap-based graphics (png), importing it into inkscape and tracing the bitmap to paths.. The problem with this method could be in my opinion that color-graphics could get "lost in the translation".

Looking through the comment section, i found someone suggesting pstoedit (which compared to the method suggested by Scott is way more compact!) but then i found the following advice:

An other option is use Scribus, import and save as svg.

And that's it! Scribus imports the eps-format very easily and exports it to svg without problem.

I love open source!

Online Bibliography

authorOmar | 12. Dezember 2007

Ever been looking for a system to manage your list of literature? Well, only think about the time needed to write a thesis, a paper or any other publication. Most of the time, you're searching for "that paper", you've just read some months or even years ago.. Then, you'd like to have the documents that your predecessor used when he wrote his thesis. Or sometimes you could simply profit from the collection of papers your colleagues have prepared.

Well, since I began working at a university institute, I've had to collect quiet some papers and was looking for the best solution to archive them. One way would certainly be to print them out and put them into a folder. This has some disadvantages:

  1. The documents can't be searched through easily.
  2. Ever tried to extract bibliography information from a paper? Well i have (for a friend) and think, it's the most underpaid job one could do and one that could be substituted, when one collects that information right from the beginning..
  3. Ever heard of the coffee-cup-syndrome? Printed documents get dirty with time.

Just recently did I find out about Aigaion.

Both for individual researchers as for research groups or projects, it is of major importance to organize the literature one has read. A well organized bibliography is a powerful instrument. It speeds up the search for publications one has already read and supports the user in structuring information. Aigaion provides a bibliography management environment that supports a user in just this: Organizing and managing a complete bibliography, from small bibliographies to bibliographies for a complete research department.

The system makes it easy to collect and categorize published articles. The easiest way to import a document into the aigaion-system is to import the bibtex-code associated with the document. Then one can attach as many files as necessary and assign one of those files to be the main document.

Aigaion supports the export of bibtex-code for all documents, a specific category or a set of bookmarked documents. It also allows for basic user management and the linking of external references. It's written in php and needs a mysql-database to run. So nearly any webhosting account or private computer can host the package.

The latest alpha-version (2.0) is not published yet (but i can confirm, that it works just fine). It can be obtained by writing an email to the project-maintainer: reidsma <overat> users <subdomainof> sourceforge.net. For a quick test of the system, you may either try the demo-application or you may download the latest stable version: Aigaion 1.3.4.

Firefox Addons

authorOmar | 14. Oktober 2007

Lately i've had to install Firefox on my new computer in office and found myself thinking about all those addons i've installed at home. I have the habit of installing addons whenever it seems suitable and i search for specific addons at the time rather than installing them just because they're "cool" (that's specially true for those "download video"-addons...). To keep things at a place, i've decided to document the addons i'm using with Firefox (or Swiftfox on my ubuntu-system):

FlashGot:
FlashGot is the must-have for downloading more than one file at a time using Firefox. I like the idea, that it doesn't add download capabilities itself, but generates the connection between Firefox and the download manager of choice.
Download FlashGot
FasterFox:
Not really a must-have, but if you have enough memory laying around, then you might think about it. To be honest, from time to time i do deactivate this addon to lighten the load on Firefox..
Download FasterFox
Tab Mix Plus:
There are many Tabs-editing addons for Firefox, but most of them didn't evolve but represent a way of dealing with a specific problem like hiding "close"-button from the tab field. Tab Mic Plus provides almost all the enhancements one can think of for Tabbed Browsing including the behavior when one tab is opened, closed or otherwise changed. One very interesting setting is the way more tabs are shown: Tab Mix Plus enables stacking of tabs.
Download Tab Mix Plus
MinimizeToTray:
Sometimes this is a very nice addon to clean up the task bar. Mainly i use it with Thunderbird, but it has the disadvantage, that it's click response is slow.
Download MinimizeToTray
ChromaTabs:
My latest discovery! I use to open up many tabs and sometimes (to more easily distinguish them from each other) i do open up a new Firefox window and again fill it with tabs. There are different addons with which one can colorize specific tabs. ChromaTabs generates a color from the URI used in the tab. This way every tab has it's specific color derived by the one information that should be unique: the location. The addon needs some adjusting and needs getting used to, but in general it supports a more fluent wok process for people who open up more than - let's say - 15 tabs at a time.
Download ChromaTabs

For the development and bug fixing of websites i personally use

Web Developer: "Web Developer" provides many small nifty things like online css-editor, resizing of the window to a specific width / height etc.. This is absolutely a must-have for any web-developer!!
Download Web Developer