From dc93fe0baa029f33ec80a01675059d80070ca146 Mon Sep 17 00:00:00 2001 From: Ossi Salmi Date: Wed, 1 Jun 2011 12:45:40 +0300 Subject: [PATCH] Added ejabberd extauth support to wiki::collab::base --- wiki/manifests/init.pp | 30 ++++++++++++++++++------------ wiki/templates/collab.ini.erb | 25 +++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 12 deletions(-) create mode 100644 wiki/templates/collab.ini.erb diff --git a/wiki/manifests/init.pp b/wiki/manifests/init.pp index 077d897..63f747a 100644 --- a/wiki/manifests/init.pp +++ b/wiki/manifests/init.pp @@ -98,6 +98,13 @@ class wiki::collab inherits wiki::graphingwiki::common { # $wiki_collab_fqdn: # FQDN of collab virtual host. Defaults to $homename. # +# $wiki_collab_jabberdomain: +# Domain for jabber extauth. +# +# $wiki_collab_conferencedomain: +# Conference domain for jabber extauth. +# Defaults to conference.$wiki_collab_jabberdomain. +# class wiki::collab::base { include cairo::python @@ -117,14 +124,11 @@ class wiki::collab::base { include user::system realize(User["collab"], Group["collab"]) - case $operatingsystem { - debian,ubuntu: { - exec { "usermod-www-data": - path => "/bin:/usr/bin:/sbin:/usr/sbin", - command => "usermod -a -G collab www-data", - unless => "id -n -G www-data | grep '\\bcollab\\b'", - } - } + exec { "usermod-www-data": + path => "/bin:/usr/bin:/sbin:/usr/sbin", + command => "usermod -a -G collab ${apache::sslserver::user}", + unless => "id -n -G ${apache::sslserver::user} | grep '\\bcollab\\b'", + require => Group["collab"], } if $wiki_datadir { @@ -231,15 +235,17 @@ class wiki::collab::base { group => root, } + if $wiki_collab_jabberdomain and !$wiki_collab_conferencedomain { + $wiki_collab_conferencedomain = "conference.${wiki_collab_jabberdomain}" + } + file { "/etc/local/collab/collab.ini": ensure => present, mode => 0644, owner => root, group => root, - source => "/usr/local/src/graphingwiki/collab/config/collab.ini", - replace => false, - require => [ File["/etc/local/collab"], - Python::Setup::Install["/usr/local/src/graphingwiki/collab"], ], + content => template("wiki/collab.ini.erb"), + require => File["/etc/local/collab"], } if !$wiki_collab_fqdn { diff --git a/wiki/templates/collab.ini.erb b/wiki/templates/collab.ini.erb new file mode 100644 index 0000000..9f23914 --- /dev/null +++ b/wiki/templates/collab.ini.erb @@ -0,0 +1,25 @@ +[collab] +logconf=/srv/wikis/collab/config/logging.conf +## directory also in per instance configs +farmconf=/srv/wikis/collab/config/collabfarm.py +## also in /.htaccess +htpasswd=/srv/wikis/collab/run/.htpasswd +htgroup=/srv/wikis/collab/run/.htgroup +## also in collabfarm.py +htmldir=/srv/wikis/collab/htdocs +userdir=/srv/wikis/collab/user +cachedir=/srv/wikis/collab/cache +wikidir=/srv/wikis/collab/wikis +## only here +baseinstancedir=/srv/wikis/collab/wikis/collab +archivedir=/srv/wikis/collab/archive +piddir=/srv/wikis/collab/run +helperuser=collab +## for collab-auth-ejabberd +cacherefreshtime=30 +<% if has_variable?("wiki_collab_jabberdomain") -%> +[jabber] +## also in ejabberd.cfg +jabberdomain=<%= wiki_collab_jabberdomain %> +conferencedomain=<%= wiki_collab_conferencedomain %> +<% end -%>