From e98a92934756718ea6501425dbedc067c9ae148c Mon Sep 17 00:00:00 2001 From: Ossi Salmi Date: Wed, 6 Jul 2011 16:42:45 +0300 Subject: [PATCH] Added support for ejabberd web interface --- ejabberd/files/ejabberd-httpd.conf | 3 +++ ejabberd/files/htaccess | 4 ++++ ejabberd/manifests/init.pp | 32 +++++++++++++++++++++++++++++ ejabberd/templates/ejabberd.cfg.erb | 2 +- 4 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 ejabberd/files/ejabberd-httpd.conf create mode 100644 ejabberd/files/htaccess diff --git a/ejabberd/files/ejabberd-httpd.conf b/ejabberd/files/ejabberd-httpd.conf new file mode 100644 index 0000000..e238eff --- /dev/null +++ b/ejabberd/files/ejabberd-httpd.conf @@ -0,0 +1,3 @@ + + AllowOverride All + diff --git a/ejabberd/files/htaccess b/ejabberd/files/htaccess new file mode 100644 index 0000000..5239a6c --- /dev/null +++ b/ejabberd/files/htaccess @@ -0,0 +1,4 @@ + + RewriteEngine On + RewriteRule ^(.*)$ http://localhost:5280/$1 [P] + diff --git a/ejabberd/manifests/init.pp b/ejabberd/manifests/init.pp index d86f1df..2064b31 100644 --- a/ejabberd/manifests/init.pp +++ b/ejabberd/manifests/init.pp @@ -44,4 +44,36 @@ class ejabberd { notify => Service["ejabberd"], } + if $ejabberd_webhosts { + file { "/var/www/jabber": + ensure => directory, + mode => 0755, + owner => "root", + group => "root", + } + + file { "/var/www/jabber/.htaccess": + ensure => present, + mode => 0644, + owner => "root", + group => "root", + source => "puppet:///modules/ejabberd/htaccess", + require => File["/var/www/jabber"], + } + + apache::configfile { "ejabberd.conf": + http => false, + source => "puppet:///modules/ejabberd/ejabberd-httpd.conf", + } + + define configwebhost() { + file { "/srv/www/https/${name}/jabber": + ensure => link, + target => "/var/www/jabber", + require => File["/srv/www/https/${name}"], + } + } + + configwebhost { $ejabberd_webhosts: } + } } diff --git a/ejabberd/templates/ejabberd.cfg.erb b/ejabberd/templates/ejabberd.cfg.erb index 38eef24..816c5d4 100644 --- a/ejabberd/templates/ejabberd.cfg.erb +++ b/ejabberd/templates/ejabberd.cfg.erb @@ -249,7 +249,7 @@ override_acls. %% If you want to use a different method, %% comment this line and enable the correct ones. %% -<% if ejabberd_extauth -%> +<% if has_variable?("ejabberd_extauth") -%> {auth_method, external}. {extauth_program, "<%= ejabberd_extauth %>"}. <% else -%>