From 2e1417eb08f18ffebcec76d994777d2413e0fcde Mon Sep 17 00:00:00 2001 From: joey Date: Mon, 13 Mar 2006 19:29:21 +0000 Subject: document setup files --- doc/ikiwiki.setup | 47 +++++++++++++++++++++++++++++++ doc/post-commit.mdwn | 4 ++- doc/setup.mdwn | 79 ++++++++++++++++++++++++++-------------------------- 3 files changed, 90 insertions(+), 40 deletions(-) create mode 100644 doc/ikiwiki.setup (limited to 'doc') diff --git a/doc/ikiwiki.setup b/doc/ikiwiki.setup new file mode 100644 index 000000000..9592d36f5 --- /dev/null +++ b/doc/ikiwiki.setup @@ -0,0 +1,47 @@ +#!/usr/bin/perl +# Configuration file for ikiwiki. +# Passing this to ikiwiki --setup will make ikiwiki generate tw +# wrapper programs, one for cgi and one for a subversion post-commit hook. +# +# Remember to re-run ikiwiki --setup any time you edit this file. + +%config=(%config, + + wikiname => "MyWiki", + + # Be sure to customise these.. + srcdir => "/path/to/source", + templatedir => "/path/to/templates", + destdir => "/var/www/wiki", + + url => "http://myhost/wiki", + cgiurl => "http://myhost/ikiwiki.cgi", + #historyurl => "http://svn.myhost/trunk/[[]]", + + # Whether to integrate with svn. + svn => 1, + svnrepo => "/svn/wiki", + + # Whether to enable a cgi wrapper. + cgiwrapper => 0, + # Can anonymous web users edit pages? + #anonok => 1, + +); + +gen_wrapper(%config, + + cgi => 1, + wrapper => "$config{destdir}/ikiwiki.cgi", + wrappermode => 06755, + +) if $config{cgiwrapper}; + +gen_wrapper(%config, + + # Note that this will overwrite any exsting post-commit hoo + # script, which may not be what you want. + wrapper => "$config{svnrepo}/hooks/post-commit", + wrappermode => 04755, + +) if $config{svn}; diff --git a/doc/post-commit.mdwn b/doc/post-commit.mdwn index 467fc6bd5..496c69075 100644 --- a/doc/post-commit.mdwn +++ b/doc/post-commit.mdwn @@ -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. 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 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 ikiwiki-wrap suid to a user who can write there (*not* to root!). You might want to read [[Security]] first. + +[[setup]] explains setting this up in more detail. diff --git a/doc/setup.mdwn b/doc/setup.mdwn index 541131cf9..cc830c0b9 100644 --- a/doc/setup.mdwn +++ b/doc/setup.mdwn @@ -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 the wiki. You can play around with other ikiwiki parameters such as - --wikiname too. Get conformatble with its command line. - -7. Set up a Subversion [[post-commit]] hook to automatically rebuild your - wiki when you commit to it. - - ikiwiki ~/wikiwc/ \ - /usr/lib/ikiwiki/templates ~/public_html/wiki/ \ - --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. - - ikiwiki ~/wikiwc/ \ - /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 - your public_html directory. You might need to put it somewhere else - depending on your web server configuration. - -9. Add links to the CGI to all the pages in your wiki, and update your - post-commit hook to add such links when updating the wiki in the - future. Note the use of the [[WrapperParamsTrick]]. - - ikiwiki $(/svn/wikirepo/hooks/post-commit --params) \ - --cgiurl=http://host/~you/wiki/ikiwiki.cgi --wrapper - mv ikiwiki-wrap /svn/wikirepo/hooks/post-commit - ikiwiki $(/svn/wikirepo/hooks/post-commit --params) --rebuild - - Be sure to change the cgiurl to the actual url to the wiki.cgi you - 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]] + --wikiname too. Get confortable with its command line. + +7. By now you should be getting tired of typing in all the command line + 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. + + Note that the default file will enable a [[post-commit]] hook to + update the wiki, but has cgi support turned off. + + When you're satisfied, run `ikiwiki --setup ikiwiki.setup`, and it will + generate the subversion [[post-commit]] hook and update your wiki. + +8. Set up [[CGI]] to allow editing the wiki from the web. + + Just edit ikiwiki.setup, change cgiwrapper to 1, and optioanlly anonok + to 1, run `ikiwiki --setup ikiwiki.setup`, and you're done! + +9. 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` 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: + + `http://svn.host/trunk/[[]]?root=wiki` + + Then run `ikiwiki --setup ikiwiki.setup` again. + +10. Enjoy your new wiki! Add yourself to [[IkiWikiUsers]] -- cgit v1.2.3