I am configuring apache passenger by following the doc
http://projects.reductivelabs.com/projects/puppet/wiki/Using_Passenger
I am getting following erros when start httpd:
]# /etc/init.d/httpd start
Starting httpd: httpd: Syntax error on line 221 of
/etc/httpd/conf/httpd.conf: Syntax error on line 5 of
/etc/httpd/conf.d/10_passenger.conf: Cannot load
/usr/lib/ruby/gems/1.8/gems/passenger-3.0.12/ext/apache2/mod_passenger.c
into server:
/usr/lib/ruby/gems/1.8/gems/passenger-3.0.12/ext/apache2/mod_passenger.c:
invalid ELF header
[FAILED]
the /usr/lib/ruby/gems/1.8/gems/passenger-3.0.12/ext/apache2/mod_passenger.c
is the only thing I found in my system, I cannot find a
mod_passenger.so file.
here is my config, please help:
==========================================================# ll
total 28
-rw-r--r-- 1 root root 861 Jul 7 11:08 10_passenger.conf
-rw-r--r-- 1 root root 1299 Jul 7 10:57 rack.conf
-rw-r--r-- 1 root root 392 Dec 8 2011 README
-rw-r--r-- 1 root root 9473 Dec 8 2009 ssl.conf
-rw-r--r-- 1 root root 299 May 20 2009 welcome.conf
=============================================================# cat
10_passenger.conf
# /etc/httpd/conf.d/10_passenger.conf
# The passenger module path should match ruby gem version
# LoadModule passenger_module
/usr/lib/ruby/gems/1.8/gems/passenger-2.2.11/ext/apache2/mod_passenger.so
LoadModule passenger_module
/usr/lib/ruby/gems/1.8/gems/passenger-3.0.12/ext/apache2/mod_passenger.c
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-3.0.12
PassengerRuby /usr/bin/ruby
# Recommended Passenger Configuration
PassengerHighPerformance on
PassengerUseGlobalQueue 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
====================================================================# cat
rack.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/hqd-puppet-01.telenav.com.pem
SSLCertificateKeyFile
/var/lib/puppet/ssl/private_keys/hqd-puppet-01.telenav.com.pem
SSLCertificateChainFile /var/lib/puppet/ssl/certs/ca.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
DocumentRoot /etc/puppet/rack/public/
RackBaseURI /
<Directory /etc/puppet/rack/>
Options None
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
--
Hai Tao
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to
puppet-users+unsubscribe@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en.
When I was just setting up passenger, I had to alter that line referencing mod_passenger.so to our apache modules directory. # LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.2.11/ext/apache2/mod_passenger.so This needed to be changed to /etc/httpd/modules/mod_passenger.so since that is where apache has the module for passenger. I think you just need to track down where that module is and point the configuration to the right place. On Saturday, July 7, 2012 12:23:29 PM UTC-6, Hai wrote:> > I am configuring apache passenger by following the doc > http://projects.reductivelabs.com/projects/puppet/wiki/Using_Passenger > > I am getting following erros when start httpd: > > ]# /etc/init.d/httpd start > Starting httpd: httpd: Syntax error on line 221 of > /etc/httpd/conf/httpd.conf: Syntax error on line 5 of > /etc/httpd/conf.d/10_passenger.conf: Cannot load > /usr/lib/ruby/gems/1.8/gems/passenger-3.0.12/ext/apache2/mod_passenger.c > into server: > /usr/lib/ruby/gems/1.8/gems/passenger-3.0.12/ext/apache2/mod_passenger.c: > invalid ELF header > [FAILED] > > the > /usr/lib/ruby/gems/1.8/gems/passenger-3.0.12/ext/apache2/mod_passenger.c > is the only thing I found in my system, I cannot find a > mod_passenger.so file. > > here is my config, please help: > =========================================================== > # ll > total 28 > -rw-r--r-- 1 root root 861 Jul 7 11:08 10_passenger.conf > -rw-r--r-- 1 root root 1299 Jul 7 10:57 rack.conf > -rw-r--r-- 1 root root 392 Dec 8 2011 README > -rw-r--r-- 1 root root 9473 Dec 8 2009 ssl.conf > -rw-r--r-- 1 root root 299 May 20 2009 welcome.conf > > ============================================================== > # cat 10_passenger.conf > > # /etc/httpd/conf.d/10_passenger.conf > > # The passenger module path should match ruby gem version > # LoadModule passenger_module > /usr/lib/ruby/gems/1.8/gems/passenger-2.2.11/ext/apache2/mod_passenger.so > LoadModule passenger_module > /usr/lib/ruby/gems/1.8/gems/passenger-3.0.12/ext/apache2/mod_passenger.c > PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-3.0.12 > PassengerRuby /usr/bin/ruby > > # Recommended Passenger Configuration > PassengerHighPerformance on > PassengerUseGlobalQueue 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 > > ===================================================================== > # cat rack.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/hqd-puppet-01.telenav.com.pem > SSLCertificateKeyFile > /var/lib/puppet/ssl/private_keys/hqd-puppet-01.telenav.com.pem > SSLCertificateChainFile /var/lib/puppet/ssl/certs/ca.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 > > DocumentRoot /etc/puppet/rack/public/ > RackBaseURI / > <Directory /etc/puppet/rack/> > Options None > AllowOverride None > Order allow,deny > allow from all > </Directory> > </VirtualHost> > > > -- > Hai Tao >-- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/SHGyouoA1-IJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Sound like you only have the passenger gem installed, it needs to install
the apache module. Here is a snippet from a Centos puppet build.
#### init.pp ####
#
# modules/passenger/manifests/init.pp
class passenger {
package { ''rack'':
ensure => ''1.1.0'',
provider => ''gem'',
require => Class[''rubygems''],
before => Package[''passenger''],
}
package { ''passenger'':
ensure => installed,
provider => ''gem'',
require => Package[''rack''],
before => File[''/opt/passenger''],
}
####
# auto install passenger apache2 module and create links
file { ''/opt/passenger'':
ensure => ''directory'',
owner => ''root'',
group => ''root'',
mode => ''0755'',
before =>
File[''/opt/passenger/auto_passenger_install.sh''],
}
file { ''/opt/passenger/auto_passenger_install.sh'':
ensure => ''present'',
owner => ''root'',
group => ''root'',
mode => ''0755'',
source =>
''puppet:///modules/passenger/auto_passenger_install.sh'',
before => Exec[''auto_passenger_install''],
}
exec { ''auto_passenger_install'':
command => ''/opt/passenger/auto_passenger_install.sh'',
timeout => ''900'',
creates => ''/etc/passenger'',
}
}
The install script. This installs the mod_passenger.so and links the
directory to /etc/passenger (which means easy to upgrade version, the link
is just swapped - apache still needs to restart as it reads the hardlink
when started.)
#!/bin/bash
#### auto_passenger_install.sh ####
#
# modules/passenger/files/auto_passenger_install.sh
#########
# Script variables
SCRIPT=$(readlink -f $0)
SCRIPTNAME=$(basename "$SCRIPT")
SCRIPTPATH=$(dirname $SCRIPT)
SERVER=`hostname | cut -d''.'' -f1-1`
TIMESTAMP=$(date +%s)
RUNDATE=`date -d @$TIMESTAMP +%Y%m%d%H%M%S`
LOG_PATH=/var/log/scripts/$SCRIPTNAME
if [ ! -d $LOG_PATH ]; then
mkdir -p $LOG_PATH
fi
LOGFILE=$LOG_PATH/$RUNDATE.$SCRIPTNAME.log
RUBYGEMS_VER_DIR=$(basename `facter rubysitedir`)
PASSENGER_VERSION=`gem list --local | grep passenger | sed -e
''s/passenger
(//g;s/)//g''`
cd /usr/lib/ruby/gems/$RUBYGEMS_VER_DIR/gems/passenger-$PASSENGER_VERSION
/usr/bin/ruby /usr/bin/rake apache2:clean apache2 RELEASE=yes
ln -s
/usr/lib/ruby/gems/$RUBYGEMS_VER_DIR/gems/passenger-$PASSENGER_VERSION
/etc/passenger
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To view this discussion on the web visit
https://groups.google.com/d/msg/puppet-users/-/CS-7QcEic_IJ.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to
puppet-users+unsubscribe@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en.