master
joey 2006-11-20 22:57:20 +00:00
parent 5bc73d7fac
commit 1dc741deb6
2 changed files with 105 additions and 114 deletions

View File

@ -19,11 +19,11 @@ use IkiWiki::Setup::Standard {
#templatedir => "/usr/share/ikiwiki/templates", #templatedir => "/usr/share/ikiwiki/templates",
# Subversion stuff. # Subversion stuff.
rcs => "svn", #rcs => "svn",
#historyurl => "http://svn.example.org/trunk/[[file]]", #historyurl => "http://svn.example.org/trunk/[[file]]",
#diffurl => "http://svn.example.org/trunk/[[file]]?root=wiki&r1=[[r1]]&r2=[[r2]]", #diffurl => "http://svn.example.org/trunk/[[file]]?root=wiki&r1=[[r1]]&r2=[[r2]]",
svnrepo => "/svn/wiki", #svnrepo => "/svn/wiki",
svnpath => "trunk", #svnpath => "trunk",
# Git stuff. # Git stuff.
#rcs => "git", #rcs => "git",
@ -47,16 +47,16 @@ use IkiWiki::Setup::Standard {
# wrapper => "/var/www/wiki/ikiwiki.cgi", # wrapper => "/var/www/wiki/ikiwiki.cgi",
# wrappermode => "06755", # wrappermode => "06755",
#}, #},
{ #{
# The svn post-commit wrapper. # # The svn post-commit wrapper.
# Note that this will overwrite any existing # # Note that this will overwrite any existing
# post-commit hook script, which may not be # # post-commit hook script, which may not be
# what you want. # # what you want.
wrapper => "/svn/wikirepo/hooks/post-commit", # wrapper => "/svn/wikirepo/hooks/post-commit",
wrappermode => "04755", # wrappermode => "04755",
# Enable mail notifications of commits. # # Enable mail notifications of commits.
notify => 1, # notify => 1,
}, #},
#{ #{
# # The git post-update wrapper. # # The git post-update wrapper.
# # Note that this will overwrite any existing # # Note that this will overwrite any existing

View File

@ -1,118 +1,57 @@
So you want to set up your own wiki using ikiwiki? This tutorial will walk This tutorial will walk you through setting up a wiki with ikiwiki.
you through setting up a wiki that is stored in [[Subversion]], [[Git]],
[[TLA]] or [[Mercurial]], and that has optional support for commits from the web.
1. [[Install]] ikiwiki. See [[download]] for where to get it. 1. [[Install]] ikiwiki. See [[download]] for where to get it.
2. Decide where your wiki's files will go. 2. Decide where your wiki's files will go.
Pick three directories for respectively the repository (contains As a wiki compiler, ikiwiki builds a wiki from files in a source
the "master copy" and history); working copy (checked-out directory, and outputs the files to a destination directory.
files from the repository); and web pages (served by the web server).
For the purposes of this tutorial, we'll set shell variables For the purposes of this tutorial, we'll set shell variables
for these locations, and use those variables in the commands that follow. for these locations, and use those variables in the commands that follow.
REPOSITORY=~/wikirepo
SRCDIR=~/wikiwc SRCDIR=~/wikiwc
DESTDIR=~/public_html/wiki/ DESTDIR=~/public_html/wiki/
3. Create the master rcs repository for your wiki. 3. Create the beginnings of your wiki.
# Subversion This will create a simple main page for the wiki.
svnadmin create $REPOSITORY
svn mkdir file://$REPOSITORY/trunk -m create
# Git
mkdir $REPOSITORY
cd $REPOSITORY
git init-db
# Git requires something be in the repo to start with.
cp /usr/share/ikiwiki/basewiki/index.mdwn .
git add .
git commit -m create -a
# No need to keep files in the master repository; so at this
# stage, you may want to remove all files (except .git) to
# save disk space.
# TLA
mkdir $REPOSITORY
tla make-archive me@localhost--wiki $REPOSITORY
tla my-id "<me@localhost>"
# Mercurial
hg init $REPOSITORY
4. Check out the repository to make the working copy that ikiwiki will use
as its source directory.
# Subversion
svn co file://$REPOSITORY/trunk ~/wikiwc
# Git
# Create a local clone to save disk space and also to
# optimize performance. See git-clone(1).
git clone -l -s $REPOSITORY $SRCDIR
# TLA
mkdir $SRCDIR mkdir $SRCDIR
cd $SRCDIR cd $SRCDIR
tla archive-setup me@localhost--wiki/wiki--0 $EDITOR index.mdwn
tla init-tree me@localhost--wiki/wiki--0
# Edit {arch}/=tagging-method and change the precious
# line to add the .ikiwiki directory to the regexp.
tla import
# Mercurial In the editor, you could start by entering a simple page like this one:
# Mercurial uses a single repo approach, so no need to
# clone anything. Because the following examples
# refer to $SRCDIR, we symlink it:
ln -s $REPOSITORY $SRCDIR
5. Build your wiki for the first time. Welcome to your new wiki.
All wikis are supposed to have a [[SandBox]], so this one does too.
----
This wiki is powered by [ikiwiki](http://ikiwiki.kitenet.net).
See [[HelpOnFormatting]] for details about the markup language.
Note that several standard wiki pages will be added to your wiki, from
files in `/usr/share/ikiwiki/basewiki/`, so your wiki will automatically
get a [[SandBox]], and some other useful pages.
4. Build your wiki for the first time.
ikiwiki --verbose $SRCDIR $DESTDIR --url=http://host/~you/wiki/ ikiwiki --verbose $SRCDIR $DESTDIR --url=http://host/~you/wiki/
Replace the url with the real url to your wiki. You should now Replace the url with the real url to your wiki. You should now
be able to visit the url and see your wiki. be able to visit the url and see your wiki.
6. Customise your wiki. The files in `/usr/share/ikiwiki/basewiki/` are 5. Repeat steps 3 and 4 as desired, editing or adding pages and rebuilding
used if you don't have a custom version, so let's start by making a
custom version of the wiki's index page:
cd $SRCDIR
cp /usr/share/ikiwiki/basewiki/index.mdwn .
$EDITOR index.mdwn
# Subversion
svn add index.mdwn
svn commit -m customised index.mdwn
# Git
git add index.mdwn
git commit -m customised index.mdwn
git push origin
# TLA
tla add index.mdwn
tla commit
# Mercurial
hg add index.mdwn
hg commit -m customised index.mdwn
You can also add any files you like from scratch of course. Use the same
command as in step 5 to rebuild the wiki.
7. Repeat steps 5 and 6 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` and `--rebuild` too. Get comfortable with its command line `--wikiname` and `--rebuild` too. Get comfortable with its command line
(see [[usage]]). (see [[usage]]).
8. By now you should be getting tired of typing in all the command line 6. 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 options each time you change something in your wiki's setup. Time to
also getting old to have to manualy rebuild the wiki each time you introduce setup files.
change a file. Time to introduce setup files.
A sample setup file is [[ikiwiki.setup]]. Download it (or copy it from A sample setup file is [[ikiwiki.setup]]. Download it (or copy it from
`doc/ikiwiki.setup` in the ikiwiki sources), and edit it. `doc/ikiwiki.setup` in the ikiwiki sources), and edit it.
@ -120,21 +59,13 @@ you through setting up a wiki that is stored in [[Subversion]], [[Git]],
Most of the options, like `wikiname` in the setup file are the same as Most of the options, like `wikiname` in the setup file are the same as
ikiwiki's command line options (documented in [[usage]]. `srcdir` and ikiwiki's command line options (documented in [[usage]]. `srcdir` and
`destdir` are the two directories you specify when running ikiwiki by `destdir` are the two directories you specify when running ikiwiki by
hand. `svnrepo` is the path to your subversion repository. Make sure hand. Make sure that these are pointing to the right directories, and
that all of these are pointing to the right directories, and read read through and configure the rest of the file to your liking.
through and configure the rest of the file to your liking.
If you want to use something other than subversion, comment out the
subversion configuration, and uncomment and edit the configuration for
your chosen RCS. Note that the default file has a block to configure a
[[post-commit]] wrapper to update the wiki. You need to uncomment the
related block for whatever RCS you use and comment out the other rcs
blocks.
When you're satisfied, run `ikiwiki --setup ikiwiki.setup`, and it When you're satisfied, run `ikiwiki --setup ikiwiki.setup`, and it
will set everything up and update your wiki. will set everything up.
9. Turn on additional features. 7. Turn on additional features.
Now you have a basic wiki with a configuration file. Time to experiment Now you have a basic wiki with a configuration file. Time to experiment
with ikiwiki's many features. with ikiwiki's many features.
@ -149,4 +80,64 @@ you through setting up a wiki that is stored in [[Subversion]], [[Git]],
`ikiwiki --setup ikiwiki.setup`. Be sure to browse through all the `ikiwiki --setup ikiwiki.setup`. Be sure to browse through all the
[[plugins]].. [[plugins]]..
8. Put your wiki in revision control.
At this point you might want to check your wiki in to a revision control
system you can get history of past changes and revert edits. Depending
on the revision control system you choose, the way this is done varies.
There's little that's ikiwiki specific about these instructions; this is
just how you put a directory under revision control using the various
systems ikiwiki supports:
# Subversion
REPOSITORY=~/wikirepo
svnadmin create $REPOSITORY
svn import $SRCDIR file://$REPOSITORY/trunk -m "initial import"
rm -rf $SRCDIR
svn co file://$REPOSITORY/trunk $SRCDIR
# Git
REPOSITORY=~/wikirepo
mkdir $REPOSITORY
cd $REPOSITORY
git init-db
cp -a $SRCDIR/* .
git add .
git commit -m "initial import" -a
rm -rf $SRCDIR
git clone -l -s $REPOSITORY $SRCDIR
# TLA
REPOSITORY=~/wikirepo
tla make-archive me@localhost--wiki $REPOSITORY
tla my-id "<me@localhost>"
cd $SRCDIR
tla archive-setup me@localhost--wiki/wiki--0
tla init-tree me@localhost--wiki/wiki--0
# Edit {arch}/=tagging-method and change the precious
# line to add the .ikiwiki directory to the regexp.
tla add *
tla import
# Mercurial
REPOSITORY=$SRCDIR
hg init $REPOSITORY
9. Configure ikiwiki to use revision control.
Once your wiki is checked in to the revision control system,
you should configure ikiwiki to use revision control. Edit your
ikiwiki.setup, and uncomment the lines for the revision control system
you chose to use. Be sure to set `svnrepo` to $REPOSITORY, if using
subversion. Uncomment the block for the wrapper for your revision
control system, and configure the wrapper path in that block
appropriately.
Once it's all set up, run `ikiwiki --setup ikiwiki.setup` once more.
Now you should be able to edit files in $SRCDIR, and use your revision
control system to commit them, and the wiki will automatically update.
And in the web interface, RecentChanges should work, and files changed
by web users will also be committed using revision control.
10. Enjoy your new wiki! Add yourself to [[IkiWikiUsers]]. 10. Enjoy your new wiki! Add yourself to [[IkiWikiUsers]].