New decency website

The new decency website is online: www.decency-antispam.org. Decency is also on github: here. Currently i am building the debian packages, writing the howtos for installation and initial configuration and finishing release 0.2.0. There is also an API in development, which allows you to configure (especially something like adding a new custom whitelist entry, sender permission and so on) decency remotely. As a first usage example, there is also a web interface, using the API, in the pipe, with which you can administrate multiple decency installations synchronously.

Decency itself is proving itself on a day-to-day basis. There were some issues with amazon mails and DKIM, but apart from this, it works smoothly and my daily spam amount is basically non-existent (at least in the mailboxes where i use decency already).

Squeeze + CouchDB + Lucene

The first half of this year (is it really already May?) was quite swamped and i did not came about writing any new blog entry. I also outsmarted myself, inĀ  a way, by always wanting to write complete, reads large, reviews / articles. As a matter of fact, i began to write a couple – but then something else cam up and two weeks later, i would have to start all over. The next half of the year does not look less engaging, so i try to find a new form for my articles. Shorter. Less comprehensive. But more often. So the following is the first part of this new series. I’ll try to take the time to also write more thoroughly researched and thus more time intensive articles as well, but no promise.

To the matter: For a project of a client of mine i need a fast, high available, scalable and outsourced database. Discussed were JanRain Capture, MongoDB via MongoHQ or Mongo Machine and a CouchDB + Lucene solution as offered by Cloudant. Long story short: We’ll probably go with CouchDB + Lucene, so here is the extract of my testing-installation.

Read the rest of this entry »

PHP, apache and fastcgi – a comprehensive overview

I recently ran into trouble with our mod_fastcgi + PHP setup and had to to a lot of research to figure out what happened and how to fix it. This post summarizes the results of this research. It covers anything you might want to know about PHP + Apache and FastCGI, what modules there are, how you use them, what is planed and the real world issues you have to consider. Also what is new with PHP 5.3 on FPM and how you can benefit from it.

Read the rest of this entry »

Yet another online invoice billing tool

On a personal note..

My company fortrabbit proudly launched our new online billing tool. Granted, this is not the first, but in Germany, the market is quite new. The software is implemented in our MISH system, which is a perl/catalyst application running also our hosting control panel. Speaking of which, our hosting pricing is based on a “pay per usage” model, which produces very different invoice amounts each month. Being too lazy to do this manually and also being those kind of “we can do this better” developers, we wanted to create the invoices by ourselves and not wanted to rely on a third party API (also in Germany invoicing follows very strict specifications, so most of international / american tools could not be considered at all). However, having this done, we naively thought: “Why not add a nifty interface and allow anybody to use it?”. Well, that was about a year ago. Of course, not the whole time was spent on this (most of the last year’s time was spent implementing new features for our hosting, extending our hardware and fulfilling customer requests), but i think at least three months full time were dedicated to the e-billing part.

However, this blog is not about marketing announcements, so i will highlight two implementation and two conceptual issues and our solutions which may at least provide some help ..

Read the rest of this entry »

Intro to pacemaker part 2: Advanced topics

Not everything fitted in the first article and i felt a too long “first steps” article might alienate beginners. This time, i will go into some more advanced matters such as: stickiness vs location, N+1 clusters, advanced resource locations, clones and master/slave situations.

Before reading this article, you should at least get your feed wed playing around with pacemaker. I’ve read the pacemaker configuration A-Z guide before getting the basics straight and became very soon very lost with many described concepts. Shortly after i actually began using pacemaker (even only on my testing nodes), i discovered for myself what features seem to be missing and what would be nice to have – guess what: the guide somehow began to make sense all of a sudden. But maybe it’s just me.

Read the rest of this entry »

Intro to pacemaker on heartbeat

With squeeze around the corner it’s time to reconsider your everything with debian – once again ;) Of course i am aware, that pacemaker is available since 2008, but sticking to debian stable, my first contact with pacemaker came with squeeze. Also, i was not really aware what i missed, because my simple setup just worked. With my new database server, already squeezing, and my virtual army of test installations, i’ve spent about 50 hours or so with 6.0 and can say: nicely done, again. However, sometimes there is work before pleasure, and that’s the case with heartbeat 3.0.2 in squeeze (lenny: 2.1.3). This article will not cover pacemakers abilities in depth, it aims to help with the very first steps into the cold water and / or give you an impression of what you can expect, before you decide to change everything.

Read the rest of this entry »

XEN 4.0.1 vs KVM 0.12.4 – MySQL and Apache Benchmarks

This articles compares performance of XEN and KVM running MySQL and Apache (separately). I recently read an article about the same issue (but far more in depth) which used Xen 3.x and KVM 0.9.x. I will compare Xen 4.0.1 and KVM 0.12.4 which are more recent

Read the rest of this entry »

Decency 0.1.6 released

Download

Whats new ?

  • Updated description to clarify the goal of this approach
  • Updated M::D::LogParser::Core::PostfixParser docs for others as a background to implement other MTAs
  • Removed Geo::IP from dependencies, test will be skipped if not installed.
  • Added Net::DNSBL::Client as dependency in tests
  • Implemented DSPAM via Net::LMTP (instead of command line client)
  • Converted M::D::ContentFilter::Core::* to Moose::Role
  • Implemented SpamAsssassin via Mail::SpamAssassin::Client
  • Enabled train mode for CF without cmd_-methods (DSPAM, SpamAssassin)

Whats next ?

  • Keep on testing
  • Finishing docs

Decency 0.1.5 released

Download

What is new ?

  • Association module now ignores mails which pass SPF (cause it is a lightweight SPF check itself)
  • Basic module added for policy. Reimplements the postfix basic checks (reject_invalid_helo_hostname, ..), but with scoring
  • Updated server maintenance method to maintain server Stats module
  • init-scripts can now install/uninstall themselfs into runlevels
  • Fixed some dependencies

Whats next ?

  • Keep on testing
  • Finishing docs
  • Finishing SpamAssassin module
  • Re-evaluate DSPAM module (chroot bug)

Playing with puppets on debian

This article is about puppet or puppetmaster, a newish tool for “data center automation and configuration management”. If you have to administrate more then one server, you probably end up repeating the same tasks over and over again on multiple machines, deploying the same configurations (maybe with minor changes) to your systems and spend and enormous amount of time in keeping everything in sync. Well, this is not my definition of fun. But there is hope. I played around for some time with FAI, which is great for install a large base of servers. Then wrote my own customized automation to keep the configurations up to date. However, now i’ll give puppet a try. As always, i stick to debian and all installation instructions will be therefore as they can be performed on a debian server.

Read the rest of this entry »