From 89d34b252ad254da5aaf65d56f9dac66bc6fe8af Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ji=C5=99=C3=AD=20Suchomel?= Date: Tue, 23 Sep 2014 14:13:37 +0200 Subject: [PATCH] Adapt radosgw configuration for SUSE: fix package lists, specify path for s3gw.fcgi --- attributes/radosgw.rb | 6 ++++++ attributes/radosgw_apache2.rb | 4 +++- recipes/radosgw_apache2.rb | 17 ++++++++++++++++- templates/default/rgw.conf.erb | 8 ++++---- 4 files changed, 29 insertions(+), 6 deletions(-) diff --git a/attributes/radosgw.rb b/attributes/radosgw.rb index 833f3c6..11e39c2 100644 --- a/attributes/radosgw.rb +++ b/attributes/radosgw.rb @@ -27,6 +27,12 @@ default['ceph']['radosgw']['webserver_companion'] = 'apache2' # can be false default['ceph']['radosgw']['use_apache_fork'] = true default['ceph']['radosgw']['init_style'] = node['ceph']['init_style'] +default['ceph']['radosgw']['path'] = '/var/www' + +if node['platform_family'] == 'suse' + default['ceph']['radosgw']['path'] = '/srv/www/ceph-radosgw' +end + case node['platform_family'] when 'debian' packages = ['radosgw'] diff --git a/attributes/radosgw_apache2.rb b/attributes/radosgw_apache2.rb index 047c2a8..79d6d45 100644 --- a/attributes/radosgw_apache2.rb +++ b/attributes/radosgw_apache2.rb @@ -1,6 +1,8 @@ case node['platform_family'] -when 'debian', 'suse' +when 'debian' default['ceph']['radosgw']['apache2']['packages'] = ['libapache2-mod-fastcgi'] +when 'suse' + default['ceph']['radosgw']['apache2']['packages'] = ['apache2-mod_fastcgi', 'apache2-worker'] when 'rhel', 'fedora' default['ceph']['radosgw']['apache2']['packages'] = ['mod_fastcgi'] end diff --git a/recipes/radosgw_apache2.rb b/recipes/radosgw_apache2.rb index 7f8b86b..8b266c0 100644 --- a/recipes/radosgw_apache2.rb +++ b/recipes/radosgw_apache2.rb @@ -68,7 +68,14 @@ web_app 'rgw' do ceph_rgw_addr node['ceph']['radosgw']['rgw_addr'] end -template '/var/www/s3gw.fcgi' do +directory node['ceph']['radosgw']['path'] do + owner 'root' + group 'root' + mode '0755' + action :create +end + +template "#{node['ceph']['radosgw']['path']}/s3gw.fcgi" do source 's3gw.fcgi.erb' owner 'root' group 'root' @@ -77,3 +84,11 @@ template '/var/www/s3gw.fcgi' do :ceph_rgw_client => "client.radosgw.#{node['hostname']}" ) end + +if node['platform_family'] == 'suse' + bash 'Set MPM apache value' do + code 'sed -i s/^[[:space:]]*APACHE_MPM=.*/APACHE_MPM=\"worker\"/ /etc/sysconfig/apache2' + not_if 'grep -q "^[[:space:]]*APACHE_MPM=\"worker\"" /etc/sysconfig/apache2' + notifies :restart, 'service[apache2]' + end +end diff --git a/templates/default/rgw.conf.erb b/templates/default/rgw.conf.erb index 322fb01..1f35880 100644 --- a/templates/default/rgw.conf.erb +++ b/templates/default/rgw.conf.erb @@ -1,7 +1,7 @@ <% if node['ceph']['radosgw']['rgw_port'] -%> -FastCgiExternalServer /var/www/s3gw.fcgi -host 127.0.0.1:<%= node['ceph']['radosgw']['rgw_port'] %> +FastCgiExternalServer <%= node['ceph']['radosgw']['path'] %>/s3gw.fcgi -host 127.0.0.1:<%= node['ceph']['radosgw']['rgw_port'] %> <% else -%> -FastCgiExternalServer /var/www/s3gw.fcgi -socket /var/run/ceph/radosgw.<%= node['hostname'] %> +FastCgiExternalServer <%= node['ceph']['radosgw']['path'] %>/s3gw.fcgi -socket /var/run/ceph/radosgw.<%= node['hostname'] %> <% end -%> LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\" \"%{Host}i\"" proxy_combined @@ -15,13 +15,13 @@ LogFormat "%{X-Forwarded-For}i %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{Use <% end -%> <% end -%> ServerAdmin <%= node["ceph"]["radosgw"]["admin_email"] %> - DocumentRoot /var/www/ + DocumentRoot <%= node['ceph']['radosgw']['path'] %> RewriteEngine On RewriteRule ^/([a-zA-Z0-9-_.]*)([/]?.*) /s3gw.fcgi?page=$1¶ms=$2&%{QUERY_STRING} [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L] - + > Options +ExecCGI AllowOverride All SetHandler fastcgi-script -- 2.47.3