From 627d9c77e538bdcf972ff1c7d48dafd966b44d74 Mon Sep 17 00:00:00 2001 From: Sunil Thaha Date: Wed, 10 Apr 2013 14:11:44 +1000 Subject: [PATCH] Fixes running horizon on fedora 18 and above Fixes bug: 1167066 Summary: 1. Starting with fedora 18 the httpd.conf has AllowOverride none Require all denied which requires you to explicitly permit access to web content directories in other blocks 2. Install nodejs on fedora 18 and above Change-Id: I487a7a74bad6627d32c1081dcbe48630a704a106 --- files/apache-horizon.template | 1 + lib/horizon | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/files/apache-horizon.template b/files/apache-horizon.template index fb98471bb7..af880c4f51 100644 --- a/files/apache-horizon.template +++ b/files/apache-horizon.template @@ -17,6 +17,7 @@ Options Indexes FollowSymLinks MultiViews + %HORIZON_REQUIRE% AllowOverride None Order allow,deny allow from all diff --git a/lib/horizon b/lib/horizon index 94aac5c979..05bf6d3915 100644 --- a/lib/horizon +++ b/lib/horizon @@ -102,6 +102,7 @@ function init_horizon() { sudo mkdir -p $HORIZON_DIR/.blackhole + HORIZON_REQUIRE='' if is_ubuntu; then APACHE_NAME=apache2 APACHE_CONF=sites-available/horizon @@ -115,6 +116,12 @@ function init_horizon() { elif is_fedora; then APACHE_NAME=httpd APACHE_CONF=conf.d/horizon.conf + + if [[ "$os_RELEASE" -ge "18" ]]; then + # fedora 18 has Require all denied in its httpd.conf + # and requires explicit Require all granted + HORIZON_REQUIRE='Require all granted' + fi sudo sed '/^Listen/s/^.*$/Listen 0.0.0.0:80/' -i /etc/httpd/conf/httpd.conf elif is_suse; then APACHE_NAME=apache2 @@ -132,6 +139,7 @@ function init_horizon() { s,%HORIZON_DIR%,$HORIZON_DIR,g; s,%APACHE_NAME%,$APACHE_NAME,g; s,%DEST%,$DEST,g; + s,%HORIZON_REQUIRE%,$HORIZON_REQUIRE,g; \" $FILES/apache-horizon.template >/etc/$APACHE_NAME/$APACHE_CONF" } @@ -156,6 +164,9 @@ function install_horizon() { if [[ ! -e "/usr/bin/node" ]]; then install_package nodejs-legacy fi + elif is_fedora && [[ "$os_RELEASE" -ge "18" ]]; then + # fedora 18 and higher gets nodejs + install_package nodejs fi git_clone $HORIZON_REPO $HORIZON_DIR $HORIZON_BRANCH $HORIZON_TAG