Munin Virtual Host Configuration on Ubuntu 14.04 and Apache 2.4

Submitted on Jul 09, 2014, 1:26 p.m.

Having switched to Nginx a while ago, I was recently asked to use Apache for a client installation. There have been some significant changes in 2.4 from 2.2, include the 'Requires' option.  I also wanted to create a virtualhost entry for Munin on this machine. It took a little while to figure this out, in particular on Apache 2.4. I'm also using the built-in cron task to generate graphs. Here's the complete Virtualhost configuration for Munin on Ubuntu 14.04 and Apache 2.4

<VirtualHost *:80>
ServerName munin.yourhost.com
ServerAlias munin
ServerAdmin yours@email.com
DocumentRoot "/var/cache/munin/www"
DirectoryIndex index.html
<Directory "/var/cache/munin/www">
AuthUserFile /etc/apache/htpasswords
AuthName "admin"
AuthType Basic
require valid-user
</Directory>
ErrorLog /var/log/apache2/munin.yourhost.com-error.log
CustomLog /var/log/apache2/munin.yourhost.com-access.log combined
# Rewrites
RewriteEngine On
# Static content in /static
RewriteRule ^/favicon.ico /etc/munin/static/favicon.ico [L]
RewriteRule ^/static/(.*) /etc/munin/static/$1 [L]
# HTML - Uncomment for CGI graphs
#RewriteCond %{REQUEST_URI} .html$ [or]
#RewriteCond %{REQUEST_URI} =/
#RewriteRule ^/(.*) /usr/lib/munin/cgi/munin-cgi-html/$1 [L]
# Images
#RewriteRule ^/(.*) /usr/lib/munin/cgi/munin-cgi-graph/$1 [L]
<Directory "/etc/munin/static">
Require all granted
</Directory>
# Ensure we can run (fast)cgi scripts
<Directory "/usr/lib/munin/cgi">
Options +ExecCGI
Require all granted
<IfModule mod_fcgid.c>
SetHandler fcgid-script
</IfModule>
<IfModule !mod_fcgid.c>
SetHandler cgi-script
</IfModule>
</Directory>
</VirtualHost>