diff options
-rw-r--r-- | README | 43 |
1 files changed, 42 insertions, 1 deletions
@@ -1,7 +1,48 @@ Sarava's Ikiwiki Puppet Module ============================== -This is an attempt to make a simple and straightforward puppet module to manage ikiwiki instances. +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': } + + # 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", + } |