I met the same problem with you.Thank you for solving this problem.I'm in this trouble from several days.
在 2012年7月26日星期四UTC+8上午2时56分32秒,banjer写道: > I solved it. My puppetmaster and puppet-dashboard apache configs were > conflicting. Looks like it was related to RackBaseURI and RailsBaseURI. > > > Under VirtualHost definition in /etc/httpd/conf.d/puppetmaster.conf I > added: > > RackBaseURI / > > Under VirtualHost definition in /etc/httpd/conf.d/dashboard-vhost.conf I > added: > > RailsBaseURI / > > On Wednesday, July 25, 2012 8:10:55 AM UTC-4, banjer wrote: >> >> Hi, >> I am trying to configure my puppet master to be served by >> Apache/Passenger. I was successful in getting puppet-dashboard to run >> under Apache/Passenger, but have been running into issues with puppet >> master. >> >> When I visit https://foo:8140 in my browser to test things out, I get: >> >> Ruby on Rails application could not be started >> Error message: >> No such file or directory - config/environment.rb Exception class: >> Errno::ENOENT Application root: /etc/puppet/rack ------ >> >> I'm running Apache 2.2.15 on CentOS 6.3, passenger is version 3.0.14, and >> rails is version 2.13.12. >> >> root@foo~> gem list >> >> *** LOCAL GEMS *** >> >> actionmailer (2.3.12) >> actionpack (2.3.12) >> activerecord (2.3.12) >> activeresource (2.3.12) >> activesupport (2.3.12) >> daemon_controller (1.0.0) >> fastthread (1.0.7) >> passenger (3.0.14) >> rack (1.4.1, 1.1.0) >> rails (2.3.12) >> rake (0.9.2.2, 0.8.7) >> >> >> Here are my Apache configs: >> >> In* /etc/httpd/conf/httpd.conf*: >> >> >> LoadModule passenger_module >> /usr/lib/ruby/gems/1.8/gems/passenger-3.0.14/ext/apache2/mod_passenger.so >> PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-3.0.14 >> PassengerRuby /usr/bin/ruby >> >> >> In* /etc/httpd/conf.d/puppetmaster.conf*: >> >> >> # you probably want to tune these settings >> PassengerHighPerformance on >> PassengerMaxPoolSize 12 >> PassengerPoolIdleTime 1500 >> # PassengerMaxRequests 1000 >> PassengerStatThrottleRate 120 >> RackAutoDetect Off >> RailsAutoDetect Off >> >> Listen 8140 >> <VirtualHost *:8140> >> SSLEngine on >> SSLProtocol -ALL +SSLv3 +TLSv1 >> SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP >> >> SSLCertificateFile >> /var/lib/puppet/ssl/certs/foo.mydomain.com.pem >> SSLCertificateKeyFile >> /var/lib/puppet/ssl/private_keys/foo.mydomain.com.pem >> SSLCertificateChainFile /var/lib/puppet/ssl/ca/ca_crt.pem >> SSLCACertificateFile /var/lib/puppet/ssl/ca/ca_crt.pem >> # If Apache complains about invalid signatures on the CRL, you >> can try disabling >> # CRL checking by commenting the next line, but this is not >> recommended. >> SSLCARevocationFile /var/lib/puppet/ssl/ca/ca_crl.pem >> SSLVerifyClient optional >> SSLVerifyDepth 1 >> SSLOptions +StdEnvVars >> >> # This header needs to be set if using a loadbalancer or proxy >> RequestHeader unset X-Forwarded-For >> >> 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 /etc/puppet/rack/public/ >> RackBaseURI / >> <Directory /etc/puppet/rack/public/> >> Options None >> AllowOverride None >> Order allow,deny >> allow from all >> </Directory> >> </VirtualHost> >> >> >> *root@foo:/etc/puppet/rack> ls -la* >> total 24 >> drwxr-xr-x 5 root root 4096 Jul 25 07:51 ./ >> drwxr-xr-x. 7 root root 4096 Jul 24 15:58 ../ >> -rw-r--r-- 1 puppet puppet 550 Jul 25 07:51 config.ru >> drwxr-xr-x 3 root root 4096 Jul 24 11:18 public/ >> drwxr-xr-x 6 root root 4096 Jul 24 15:34 .svn/ >> drwxr-xr-x 3 root root 4096 Jul 24 11:18 tmp/ >> >> >> *root@foo:/etc/puppet/rack> more config.ru* >> # a config.ru, for use with every rack-compatible webserver. >> # SSL needs to be handled outside this, though. >> >> # if puppet is not in your RUBYLIB: >> # $:.unshift('/opt/puppet/lib') >> $:.unshift('/usr/share/puppet/lib') >> $:.unshift('/var/lib/puppet/lib') >> $:.unshift('/usr/lib/ruby/site_ruby/1.8/puppet') >> >> $0 = "master" >> >> # if you want debugging: >> # ARGV << "--debug" >> >> ARGV << "--rack" >> require 'puppet/application/master' >> # we're usually running inside a Rack::Builder.new {} block, >> # therefore we need to call run *here*. >> run Puppet::Application[:master].run >> >> -------- >> The Apache error_log says the same thing: no such file or directory >> config/environment.rb. I see this config/environment.rb for >> puppet-dashboard, but the puppet >> docs<http://projects.puppetlabs.com/projects/1/wiki/Using_Passenger>make no >> mention of it. I'm not familiar with Ruby/Rails/Passenger, so any >> help would be appreciated. Also, I should note that when running with the >> puppetmaster service, my puppet agent is able to connect just fine with >> puppet agent --test. >> >> Thanks! >> >> >> >> -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/puppet-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
