No mod_perl in RHEL 7 and CentOS 7

I was reading up on the documentation for the newly released RHEL 7 beta the other night. The section Removed Packages showed that RHEL 7 no longer includes mod_perl as it is ‘Incompatible with HTTP 2.4‘ and mod_fcgid is recommended as its replacement.

200px-RedHat.svgWith ‘HTTP 2.4‘ the Red Hat folks actually mean the Apache Webserver 2.4, which package is called ‘httpd’ in the RHEL repositories.

While it is true that there still is no ‘official’ mod_perl release that has support for Apache httpd 2.4, there is a mod_perl branch with support for 2.4 and this has been used by the Fedora project in Fedora 19 and later. Since RHEL 7 would be based on Fedora 19 I find it kind if weird to read there will be no mod_perl in RHEL 7: there has not been a single release of Fedora without mod_perl!

Furthermore, mod_fcgid is by no means a drop-in replacement for mod_perl; mod_perl allows very deep integration with the Apache web server. If you’d just use mod_perl as a way to make your CGI scripts run faster, then you can use it as an alternative though.

Most ‘modern’  perl applications have moved off from mod_perl to plack, which is a more standardized way to integrate your application with your web server, which has lots of deployment options. So if you have moved your application to plack in the last years, you’d be good.

OTRS is typically deployed on mod_perl; and last summer (when I still worked at OTRS Group) we created a wrapper around our frontends which allows you to deploy on Plack. This is still marked as ‘experimental’, and it’s not documented, but it does work. I’ve been running in Plack mode on my ‘personal’ OTRS system since August last year. I’ll want to post a how-to on deployment soon.

I find it a bit disheartening to see that there has been no real activity on mod_perl and there is still no ‘official’  support for mod_perl on Apache 2.4; but also I can’t really understand why there is no mod_perl in RHEL7 as it is readily available in Fedora. Of course, I do consider mod_perl as ‘old’ technology, Plack is really the more modern choice. That said, it’s not always trivial to port your application to Plack. But if you haven’t done so already, you really should start now!

UPDATE: luckily, you can now install mod_perl on CentOS or RHEL 7 via EPEL.

EPEL is the high-quality RPM collection for RHEL and CentOS linux, maintened by the Fedora project. You can install mod_perl like this:

yum install -y epel-release
yum install -y mod_perl

Vagrant base image for CentOS 6.5

Vagrant is a very nice system for automating and standardizing your development environments. The standard documentation is geared towards Ubuntu but at $work we standardize on CentOS and RHEL 6.

I created a base image for Vagrant based on CentOS 6.5 Minimal Install.Vagrant

Features:

  • Default vagrant ‘insecure’ key
  • root password is ‘vagrant
  • Added EPEL repository
  • Installed Virtualbox Guest Additions and dkms
  • Disabled iptables
  • Set selinux to ‘permissive’

How to start this image locally using Vagrant:

 $ vagrant box add centos6 http://vagrant.huntingbears.nl/vagrant-centos-6.5-x86_64.box
 $ vagrant init centos6
 $ vagrant up

Enjoy!