document setup files

master
joey 2006-03-13 19:29:21 +00:00
parent f7f45d6a0a
commit 2e1417eb08
3 changed files with 42 additions and 35 deletions

View File

@ -13,6 +13,7 @@
srcdir => "/path/to/source", srcdir => "/path/to/source",
templatedir => "/path/to/templates", templatedir => "/path/to/templates",
destdir => "/var/www/wiki", destdir => "/var/www/wiki",
url => "http://myhost/wiki", url => "http://myhost/wiki",
cgiurl => "http://myhost/ikiwiki.cgi", cgiurl => "http://myhost/ikiwiki.cgi",
#historyurl => "http://svn.myhost/trunk/[[]]", #historyurl => "http://svn.myhost/trunk/[[]]",
@ -20,7 +21,9 @@
# Whether to integrate with svn. # Whether to integrate with svn.
svn => 1, svn => 1,
svnrepo => "/svn/wiki", svnrepo => "/svn/wiki",
# Whether to enable a cgi wrapper.
cgiwrapper => 0,
# Can anonymous web users edit pages? # Can anonymous web users edit pages?
#anonok => 1, #anonok => 1,
@ -32,7 +35,8 @@ gen_wrapper(%config,
wrapper => "$config{destdir}/ikiwiki.cgi", wrapper => "$config{destdir}/ikiwiki.cgi",
wrappermode => 06755, wrappermode => 06755,
); ) if $config{cgiwrapper};
gen_wrapper(%config, gen_wrapper(%config,
# Note that this will overwrite any exsting post-commit hoo # Note that this will overwrite any exsting post-commit hoo
@ -40,4 +44,4 @@ gen_wrapper(%config,
wrapper => "$config{svnrepo}/hooks/post-commit", wrapper => "$config{svnrepo}/hooks/post-commit",
wrappermode => 04755, wrappermode => 04755,
) if $config{$svn}; ) if $config{svn};

View File

@ -1,7 +1,7 @@
A post-commit hook is run every time you commit a change to your subversion repository. To make the wiki be updated each time a commit is made, it can be run from (or as) a post-commit hook. A post-commit hook is run every time you commit a change to your subversion repository. To make the wiki be updated each time a commit is made, it can be run from (or as) a post-commit hook.
The best way to run ikiwiki in a [[Subversion]] post-commit hook is using The best way to run ikiwiki in a [[Subversion]] post-commit hook is using
a wrapper, which can be generated using `ikiwiki --wrapper`. a [[wrapper, which can be generated using `ikiwiki --wrapper`.
First, set up the subversion checkout that ikiwiki will update and compile First, set up the subversion checkout that ikiwiki will update and compile
into your wiki at each subversion commit. Run ikiwiki a few times by hand into your wiki at each subversion commit. Run ikiwiki a few times by hand
@ -26,3 +26,5 @@ getting called by users who have write access to subversion, but not to
your wiki checkout and html directory. If so, you can safely make your wiki checkout and html directory. If so, you can safely make
ikiwiki-wrap suid to a user who can write there (*not* to root!). You might ikiwiki-wrap suid to a user who can write there (*not* to root!). You might
want to read [[Security]] first. want to read [[Security]] first.
[[setup]] explains setting this up in more detail.

View File

@ -36,42 +36,43 @@ optional support for commits from the web.
6. Repeat steps 4 and 5 as desired, editing or adding pages and rebuilding 6. Repeat steps 4 and 5 as desired, editing or adding pages and rebuilding
the wiki. You can play around with other ikiwiki parameters such as the wiki. You can play around with other ikiwiki parameters such as
--wikiname too. Get conformatble with its command line. --wikiname too. Get confortable with its command line.
7. Set up a Subversion [[post-commit]] hook to automatically rebuild your 7. By now you should be getting tired of typing in all the command line
wiki when you commit to it. options each time you change something in your wiki's setup. And it's
also getting old to have to manualy rebuild the wiki each time you
change a file. Time to introduce setup files.
A sample setup file is [[ikiwiki.setup]]. Download it (or copy it from
`doc/ikiwiki.setup` in the ikiwiki sources), and edit it.
Most of the options, like `wikiname` in the setup file are the same as
ikiwiki's command line options (documented in [[usage]]. `srcdir`,
`templatedir` and `destdir` are the three directories you specify when
running ikiwiki by hand. `svnrepo` is the path to your subversion
repository. Make sure that all of these are pointing to the right
directories, and read through and configure the rest of the file to your
liking.
ikiwiki ~/wikiwc/ \ Note that the default file will enable a [[post-commit]] hook to
/usr/lib/ikiwiki/templates ~/public_html/wiki/ \ update the wiki, but has cgi support turned off.
--url=http://host/~you/wiki/ --wrapper
mv ikiwiki-wrap /svn/wikirepo/hooks/post-commit
8. Set up a [[CGI]] to allow editing the wiki from the web. When you're satisfied, run `ikiwiki --setup ikiwiki.setup`, and it will
generate the subversion [[post-commit]] hook and update your wiki.
ikiwiki ~/wikiwc/ \ 8. Set up [[CGI]] to allow editing the wiki from the web.
/usr/lib/ikiwiki/templates ~/public_html/wiki/ \
--url=http://host/~you/wiki/ --wrapper --cgi
chmod 6755 ikiwiki-wrap
mv wrapper ~/public_html/wiki/ikiwki.cgi
Note that this assumes that your web server will run CGI scripts from Just edit ikiwiki.setup, change cgiwrapper to 1, and optioanlly anonok
your public_html directory. You might need to put it somewhere else to 1, run `ikiwiki --setup ikiwiki.setup`, and you're done!
depending on your web server configuration.
9. Add links to the CGI to all the pages in your wiki, and update your 9. Add [[PageHistory]] links to the top of pages. This requires you to have
post-commit hook to add such links when updating the wiki in the setup [[ViewCVS]] or something similar to access your [[Subversion]]
future. Note the use of the [[WrapperParamsTrick]]. repository. The `historyurl` setting makes ikiwiki add the links, and
in that url, "[[]]" is replaced with the name of the file to view. So
edit ikiwiki.setup and set `historyurl` to something like this:
ikiwiki $(/svn/wikirepo/hooks/post-commit --params) \ `http://svn.host/trunk/[[]]?root=wiki`
--cgiurl=http://host/~you/wiki/ikiwiki.cgi --wrapper
mv ikiwiki-wrap /svn/wikirepo/hooks/post-commit Then run `ikiwiki --setup ikiwiki.setup` again.
ikiwiki $(/svn/wikirepo/hooks/post-commit --params) --rebuild
Be sure to change the cgiurl to the actual url to the wiki.cgi you 10. Enjoy your new wiki! Add yourself to [[IkiWikiUsers]]
installed in step 9.
10. Add [[PageHistory]] links to the top of pages. This requires you to have setup [[ViewCVS]] or something similar to access your [[Subversion]] repository. The --historyurl parameter makes ikiwiki add the links, and in that url, "[[]]" is replaced with the name of the file to view. So repeat step 9 to rebuild the wiki post commit wrapper and wiki, adding a historyurl something like this one:
--historyurl='http://svn.host/trunk/[[]]?root=wiki'
11. Enjoy your new wiki! Add yourself to [[IkiWikiUsers]]