aboutsummaryrefslogtreecommitdiff
path: root/README
blob: df88f37666e9bb763f5d877ce0570a0a9056da02 (plain)
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/