1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
Sarava's Ikiwiki Puppet Module
==============================
This is an attempt to make a simple and straightforward puppet module to manage ikiwiki instances
leveraging a git daemon such as gitolite.
Gitolite or gitosis is needed but should be managed elsewhere. Please setup your keys before deploying
the instances.
How it works
------------
The following setup is used:
- Wiki pages are served under it's own user, but the cgi usually runs under www-data.
- The git daemon runs on its own user and group.
So the recommended suid for the cgi and the post-update hook are used normally.
For that to work, you, the wiki user and root needs ssh read/write access to the git daemon:
- You need to be able to push an pull changes to the git daemon.
- The cgi backend also needs push and pull access to the bare repository.
- Gitolite needs permission to write into the repository working copy and be able to generate pages.
- Root also needs access to the repo so "ikiwiki --setup" can be run as root.
Usage example
-------------
# Declare the ikiwiki class
class { 'ikiwiki':
www_user => 'www-data',
sites_folder => /var/www,
git_implementation => 'gitolite',
git_folder => '/var/lib/git',
}
# Define your website using your http server module of choice.
apache::site { "mywiki":
docroot => "${apache::sites_folder}/mywiki/ikiwiki",
use => [ "Ikiwiki mywiki" ],
owner => 'mywiki',
group => 'mywiki',
}
# Define your ikiwiki instance.
ikiwiki::instance { "mywiki":
ensure => present,
description => "My Ikiwiki",
adminuser => "myuser",
disable_plugins => "openid",
add_plugins => "goodstuff sidebar",
}
References
----------
- See http://rtime.felk.cvut.cz/~sojka/blog/using-ikiwiki-with-gitolite/
|