document setup files
parent
f7f45d6a0a
commit
2e1417eb08
|
@ -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};
|
|
@ -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.
|
||||||
|
|
|
@ -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]]
|
|
||||||
|
|
Loading…
Reference in New Issue