Hello puppet,
I am trying to get puppet to work via apache and passenger and not having much luck.
Here is the error that I am currently seeing:
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
Error: Could not send report: Error 405 on SERVER: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>405 Method Not Allowed</title>
</head><body>
<h1>Method Not Allowed</h1>
<p>The requested method PUT is not allowed for the URL /production/report/
puppet.mydomain.com.</p>
<hr>
<address>Apache/2.2.15 (CentOS) Server at puppet.mydomain
.com Port 8140</address>
</body></html>
I have installed rack and passenger via gems on centos 6.4
passenger (4.0.37)
rack (1.5.2)
I have puppet server and client at the following versions:
puppet-server-3.4.1-1.el6.noarch
puppet-server-3.4.1-1.el6.noarch
This is what I have for my passenger apache configuration:
<VirtualHost *:80>
ServerName
puppet.mydomain.comLoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-4.0.37/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-4.0.37
PassengerDefaultRuby /usr/bin/ruby
</IfModule>
# Recommended Passenger Configuration
PassengerHighPerformance on
#PassengerMaxPoolSize control number of application instances,
# typically 1.5x the number of processor cores.
PassengerMaxPoolSize 6
# Restart ruby process after handling specific number of request to resolve MRI memory leak. PassengerMaxRequests 4000
# Shutdown idle Passenger instances after 30 min.
PassengerPoolIdleTime 1800
# End of /etc/httpd/conf.d/10_passenger.conf
</VirtualHost>
This is what I have for my puppetmaster vhost:
Listen 8140
<VirtualHost *:8140>
SSLEngine on
SSLProtocol -ALL +SSLv3 +TLSv1
SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP
SSLCertificateFile /etc/puppet/ssl/certs/puppet.mydomain.com.pem
SSLCertificateKeyFile /etc/puppet/ssl/private_keys/puppet.mydomain.com.pem
SSLCertificateChainFile /etc/puppet/ssl/certs/ca.pem
SSLCACertificateFile /etc/puppet/ssl/ca/ca_crt.pem
SSLCARevocationFile /etc/puppet/ssl/ca/ca_crl.pem
SSLVerifyClient optional
SSLVerifyDepth 1
SSLOptions +StdEnvVars
RequestHeader set X-SSL-Subject %{SSL_CLIENT_S_DN}e
RequestHeader set X-Client-DN %{SSL_CLIENT_S_DN}e
RequestHeader set X-Client-Verify %{SSL_CLIENT_VERIFY}e
DocumentRoot /usr/share/puppet/rack/puppetmasterd/public
<Directory '/usr/share/puppet/rack/puppetmasterd/public'>
Options None
AllowOverride None
Order allow,deny
allow from all
</Directory>
I have verified all directories and files in both confs, and an apache config test gives this setup a thumbs up!
Here is my (minimal)
config.ru I am using:
# This file is used by Rack-based servers to start the application.
require ::File.expand_path('../config/environment', __FILE__)
run Rails.application
I was just wondering if I was doing anything obviously (or not so obviously) wrong or if someone could help me out with this error.