diff --git a/cartridges/openshift-origin-cartridge-ruby/bin/control b/cartridges/openshift-origin-cartridge-ruby/bin/control
index ada5d849fd8..d0eb908f112 100755
--- a/cartridges/openshift-origin-cartridge-ruby/bin/control
+++ b/cartridges/openshift-origin-cartridge-ruby/bin/control
@@ -6,6 +6,7 @@ source "${OPENSHIFT_RUBY_DIR}/lib/ruby_context"
HTTPD_CFG_DIR=${OPENSHIFT_RUBY_DIR}/etc/conf.d
HTTPD_CFG_FILE=$OPENSHIFT_RUBY_DIR/etc/conf/httpd_nolog.conf
+ERB_HTTPD_CFG_DIR=${OPENSHIFT_RUBY_DIR}versions/${OPENSHIFT_RUBY_VERSION}/etc/conf.d/
HTTPD_PASSENV_FILE=${HTTPD_CFG_DIR}/passenv.conf
HTTPD_PID_FILE=$OPENSHIFT_RUBY_DIR/run/httpd.pid
RAILS_ENV=${RAILS_ENV:-production}
@@ -64,6 +65,7 @@ function restart() {
echo "${1}ing Ruby cartridge"
mkdir -p ${OPENSHIFT_REPO_DIR}public
write_httpd_passenv $HTTPD_PASSENV_FILE
+ oo-erb ${ERB_HTTPD_CFG_DIR}openshift.conf.erb > ${HTTPD_CFG_DIR}/openshift.conf
oo-erb ${OPENSHIFT_RUBY_DIR}conf/performance.conf.erb.hidden > $HTTPD_CFG_DIR/performance.conf
[ -d ${OPENSHIFT_REPO_DIR}/tmp ] && touch ${OPENSHIFT_REPO_DIR}/tmp/restart.txt
ensure_httpd_restart_succeed "$HTTPD_PID_FILE" "$HTTPD_CFG_FILE"
diff --git a/cartridges/openshift-origin-cartridge-ruby/bin/setup b/cartridges/openshift-origin-cartridge-ruby/bin/setup
index b1820148c6b..a434d0f4746 100755
--- a/cartridges/openshift-origin-cartridge-ruby/bin/setup
+++ b/cartridges/openshift-origin-cartridge-ruby/bin/setup
@@ -20,7 +20,7 @@ done
# Create/truncate Apache PassEnv configuration file
echo > $OPENSHIFT_RUBY_DIR/etc/conf.d/passenv.conf
-
+echo > $OPENSHIFT_RUBY_DIR/etc/conf.d/openshift.conf
echo > $OPENSHIFT_RUBY_DIR/etc/conf.d/server-status.conf
if [ $version == '1.9' ]; then
diff --git a/cartridges/openshift-origin-cartridge-ruby/bin/upgrade b/cartridges/openshift-origin-cartridge-ruby/bin/upgrade
index c7dd4203b0f..3757f3fbc81 100755
--- a/cartridges/openshift-origin-cartridge-ruby/bin/upgrade
+++ b/cartridges/openshift-origin-cartridge-ruby/bin/upgrade
@@ -13,3 +13,8 @@ if [[ "$next" == "0.0.14" ]]; then
rm -f ${OPENSHIFT_RUBY_DIR}env/LD_LIBRARY_PATH
fi
fi
+
+if [[ "$next" == "0.0.24" ]]; then
+ chown $OPENSHIFT_GEAR_UUID:$OPENSHIFT_GEAR_UUID ${OPENSHIFT_RUBY_DIR}etc/conf.d/openshift.conf
+ chcon -u unconfined_u ${OPENSHIFT_RUBY_DIR}etc/conf.d/openshift.conf
+fi
diff --git a/cartridges/openshift-origin-cartridge-ruby/metadata/managed_files.yml b/cartridges/openshift-origin-cartridge-ruby/metadata/managed_files.yml
index 84ffe538362..f7b2a2cfa0f 100644
--- a/cartridges/openshift-origin-cartridge-ruby/metadata/managed_files.yml
+++ b/cartridges/openshift-origin-cartridge-ruby/metadata/managed_files.yml
@@ -12,7 +12,6 @@ locked_files:
- etc/conf/
- etc/conf/*
- etc/conf.d/
-- etc/conf.d/openshift.conf
- env/
- env/OPENSHIFT_RUBY_DIR
- env/PASSENGER_TEMP_DIR
diff --git a/cartridges/openshift-origin-cartridge-ruby/versions/1.8/etc/conf.d/openshift.conf.erb b/cartridges/openshift-origin-cartridge-ruby/versions/1.8/etc/conf.d/openshift.conf.erb
index e8cd6c9bcd0..b64a64dced7 100644
--- a/cartridges/openshift-origin-cartridge-ruby/versions/1.8/etc/conf.d/openshift.conf.erb
+++ b/cartridges/openshift-origin-cartridge-ruby/versions/1.8/etc/conf.d/openshift.conf.erb
@@ -1,4 +1,5 @@
LoadModule passenger_module modules/mod_passenger.so
+
PassengerRoot NativelyPackaged
PassengerRuby /usr/bin/ruby
@@ -19,8 +20,12 @@ PassengerPreStart http://<%= ENV['OPENSHIFT_RUBY_IP'] %>:<%= ENV['OPENSHIFT_RUBY
PassengerSpawnIPAddress <%= ENV['OPENSHIFT_RUBY_IP'] %>
PassengerUseGlobalQueue off
PassengerTempDir /tmp/passenger
+
+<% unless ENV['RAILS_ENV'] == "development" %>
+PassengerFriendlyErrorPages off
+<% end %>
+
/public/>
AllowOverride All
Options -Multiviews
-
diff --git a/cartridges/openshift-origin-cartridge-ruby/versions/1.9/etc/conf.d/openshift.conf.erb b/cartridges/openshift-origin-cartridge-ruby/versions/1.9/etc/conf.d/openshift.conf.erb
index bf8f61d0a7f..87fa874bcca 100644
--- a/cartridges/openshift-origin-cartridge-ruby/versions/1.9/etc/conf.d/openshift.conf.erb
+++ b/cartridges/openshift-origin-cartridge-ruby/versions/1.9/etc/conf.d/openshift.conf.erb
@@ -6,7 +6,6 @@ LoadModule passenger_module /usr/lib64/httpd/modules/ruby193-mod_passenger.so
PassengerSpawnMethod conservative
-
ServerRoot "<%= ENV['OPENSHIFT_RUBY_DIR'] %>"
DocumentRoot "<%= ENV['OPENSHIFT_REPO_DIR'] %>/public"
Listen <%= ENV['OPENSHIFT_RUBY_IP'] %>:<%= ENV['OPENSHIFT_RUBY_PORT'] %>
@@ -21,8 +20,12 @@ PassengerPreStart http://<%= ENV['OPENSHIFT_RUBY_IP'] %>:<%= ENV['OPENSHIFT_RUBY
PassengerSpawnIPAddress <%= ENV['OPENSHIFT_RUBY_IP'] %>
PassengerUseGlobalQueue off
PassengerTempDir /tmp/passenger
+
+<% unless ENV['RAILS_ENV'] == "development" %>
+PassengerFriendlyErrorPages off
+<% end %>
+
/public/>
AllowOverride All
Options -Multiviews
-
diff --git a/cartridges/openshift-origin-cartridge-ruby/versions/2.0/etc/conf.d/openshift.conf.erb b/cartridges/openshift-origin-cartridge-ruby/versions/2.0/etc/conf.d/openshift.conf.erb
index 2bc5a363605..46d99e9614f 100644
--- a/cartridges/openshift-origin-cartridge-ruby/versions/2.0/etc/conf.d/openshift.conf.erb
+++ b/cartridges/openshift-origin-cartridge-ruby/versions/2.0/etc/conf.d/openshift.conf.erb
@@ -23,6 +23,10 @@ PassengerUser <%= ENV['OPENSHIFT_GEAR_UUID'] %>
PassengerPreStart http://<%= ENV['OPENSHIFT_RUBY_IP'] %>:<%= ENV['OPENSHIFT_RUBY_PORT'] %>/
PassengerTempDir /tmp/passenger
+<% unless ENV['RAILS_ENV'] == "development" %>
+PassengerFriendlyErrorPages off
+<% end %>
+
<% if ENV['RAILS_ENV'] == "development" %>
PassengerLogLevel 1
<% end %>
@@ -31,4 +35,3 @@ PassengerLogLevel 1
AllowOverride All
Options -Multiviews
-