Using Confixx with PHP 5.4

For our webhosting servers, we still rely on Confixx. Initially created by “Yippie-Yeah GmbH” in Germany, which was then bought by SW-Soft and is now discontinued by Parallels after being the most popular webhosting control panel in Germany.

Unfortunenately, development ended already in 2012: the web interface, which still contains unaltered parts from Confixx 2.0 and older, merely got support for PHP 5.3. Support for PHP 5.4 is missing and will not be published by Parallels at all.

As we still have to use Confixx not only on our main webhosting servers, but also on some customer VMs, supporting PHP 5.4 was crucial to me.

Colleagues at Ingate already created a patch for the web interface, but this didn’t cover all aspects: when creating a new customer, the webserver only displayed the “white screen of death” and did not create the customer in the database.

Also, if customers try to edit their auto responders, the corresponding textarea is empty.

To solve the autoresponder issue, the manual on htmlspecialchars() was helpful: Confixx internally defaults back to latin1/ISO-8859-15, whereas PHP 5.4 defaults to UTF-8. If a customer uses Umlaut (or any other non-UTF8 character), htmlspecialchars() will fall back to “false” and therefor not display anything. By specifying the charset of the input explicitly as “latin1” (or better “iso-8859-15”), this is fixed – but should better be patched throughout the whole web interface.

With those changes, I created a new patch (“revision 3”) to be applied on a new / clean Confixx 3.3.9 installation.

[Download the patch]({% link /assets/2013/08/confixx_3.3.9_php54-r3.patch.gz %})

cd /var/www/confixx/html;
wget $URL;
gzip -d $URL;
patch -p0 < confixx_3.3.9_php54-r3.patch;
chown -R confixx:confixx ./*;
rm confixx_3.3.9_php54-r3.patch;

This patch works on our installations flawlessly.

There is only one exception: on a single VM, new domains cannot be added to an existing customer. The execution ends again with the “white screen of death” – in the system logs a segfault of php-cgi in As I did not have yet the time to check this, we altered the Apache/suPHP configuration to use our custom built PHP 5.3 for the Confixx vHost.

To preempt the question, why we still rely on Confixx: it has been used for our shared hosting servers since 2004 and still has some concepts, which are not yet adapted by other hosting panels. Additionally, some modifications have been made (like our centralized mailserver), which again have to be treated differently and have to be adapted by the “new” hosting panel.

I’d like to write about the alternatives to Confixx in a different blogpost, reflecting the previous experiences with those system as well.

This post relies in parts on the work of the following persons: