Puppet Dashboard giving “The environment must be purely alphanumeric” error under Passenger

apache-2.2phusion-passengerpuppetpuppet-dashboardpuppetmaster

Please refer to this gist for the puppetmaster.conf and dashboard-vhost.conf files.

I have my Puppetmaster (3.7.3) running on CentOS 6.5 under Apache and Passenger on port TCP/8140. It works fine. But my Puppet dashboard, also running under Passenger on port 80, yields this error when I browse to the server IP/hostname on port 80:

The environment must be purely alphanumeric, not ''

If I remove the puppetmaster.conf file from /etc/httpd/conf.d, I can browse to the dashboard. When I put it back, I get the error.

I've researched this and everything I've found shows this error in the context of someone browsing to the Puppetmaster on port 8140, even though I am browsing to port 80. I get the feeling I'm looking in the wrong place.

Best Answer

You have server-scoped settings in the top of each of those files, when they should only apply to the virtual host that they're relevant to.

Specifically, you'll need to move PassengerAppRoot /usr/share/puppet/rack/puppetmasterd into the <VirtualHost *:8140> block, as right now it's applying to the dashboard service as well.