aboutsummaryrefslogtreecommitdiff
path: root/doc/setup.mdwn
blob: 7f2661ec06e919df822ab85f295f096eacd06765 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
This tutorial will walk you through setting up a wiki with ikiwiki.

[[!toc ]]

## [[Download]] and [[install]] ikiwiki

If you're using Debian or Ubuntu, ikiwiki is an `apt-get install ikiwiki` away.
If you're not, see the [[download]] and [[install]] pages.

## Create your wiki

All it takes to create a fully functional wiki using ikiwiki is running
one command.
[[!template id=note text="""
For more control, advanced users may prefer to set up a wiki
[[by_hand|byhand]].
"""]]

	% ikiwiki -setup /etc/ikiwiki/auto.setup

Or, set up a blog with ikiwiki, run this command instead.

	% ikiwiki -setup /etc/ikiwiki/auto-blog.setup

Either way, it will ask you a couple of questions.

	What will the wiki be named? foo
	What revision control system to use? git
	What wiki user (or openid) will be admin? joey
	Choose a password:

Then, wait for it to tell you an url for your new site..

	Successfully set up foo:
		url:         http://example.com/~joey/foo
		srcdir:      ~/foo
		destdir:     ~/public_html/foo
		repository:  ~/foo.git
	To modify settings, edit ~/foo.setup and then run:
		ikiwiki -setup ~/foo.setup

Done! 

## Using the web interface

Now you can go to the url it told you, and edit pages in your new wiki
using the web interface.

You can log in using the wiki user and password (or the openid)
that you told it to set up earlier. That user is an admin, so you can
go to the Preferences page and click on "Wiki Setup" to further
configure the wiki.

(If the web interface doesn't seem to allow editing or login, you may
need to configure [[apache|tips/apache_cgi]] or 
[[lighttpd|tips/lighttpd_cgi]].)

## Checkout and edit wiki source

Part of the fun of using ikiwiki is not being limited to using the
web for editing pages, and instead using your favorite text editor and
[[Revision_Control_System|rcs]]. 

To do this, you need to check out a copy of the source to your wiki.
You should avoid making changes directly to the `srcdir`, as that
checkout is reserved for use by ikiwiki itself.

Depending on which [[Revision_Control_System|rcs]] you chose to use,
you can run one of these commands to check out your own copy of your wiki's
source. (Remember to replace "foo" with the real directory name.)

	git clone foo.git foo.src
	svn checkout file://`pwd`/foo.svn/trunk foo.src
	bzr clone foo foo.src
	hg clone foo foo.src
	# TODO monotone, tla

Now to edit pages by hand, go into the directory you checked out (ie,
"foo.src"), and fire up your text editor to edit `index.mdwn` or whatever
other page you want to edit. If you chose to set up a blog, there is even a
sample first post in `posts/first_post.mdwn` that you can edit.

Once you've edited a page, use your revision control system to commit
the changes. For distributed revision control systems, don't forget to push
your commit.

Once the commit reaches the repository, ikiwiki will notice it, and
automatically update the wiki with your changes.

## Customizing the wiki

There are lots of things you can configure to customize your wiki.
These range from changing the wiki's name, to enabling [[plugins]],
to banning users and locking pages.

If you log in as the admin user you configured earlier, and go to
your Preferences page, you can click on "Wiki Setup" to customize many
wiki settings and plugins.

Some settings cannot be configured on the web, for security reasons or
because misconfiguring them could break the wiki. To change these settings,
you can manually edit the setup file, which is named something like
"foo.setup". The file lists all available configuration settings
and gives a brief description of each.

After making changes to this file, you need to tell ikiwiki to use it:

	% ikiwiki -setup foo.setup

## Customizing file locations

As a wiki compiler, ikiwiki builds a wiki from files in a source directory,
and outputs the files to a destination directory. The source directory is
a working copy checked out from the version control system repository.

When you used `auto.setup`, ikiwiki put the source directory, destination
directory, and repository in your home directory, and told you the location
of each. Those locations were chosen to work without customization, but you
might want to move them to different directories. There are three steps to
this process.

1. Move the destination directory and repository around.

	% mv public_html/foo /srv/web/foo.com
	% mv foo.git /srv/git/foo.git

2. Create a new source directory checkout. If you moved the repository
   to a new location, checkouts pointing at the old location won't work,
   and the easiest way to deal with this is to delete them and re-checkout
   from the new repository location.

	% rm -rf foo
	% git clone /src/git/foo.git

3. Edit the setup file. Modify the settings for `srcdir`, `destdir`,
   `url`, `cgiurl`, `cgi_wrapper`, `git_wrapper`, etc to reflect where
   you moved things. Remember to run `ikiwiki -setup` after editing the
   setup file.

## Enjoy your new wiki!

Add yourself to [[IkiWikiUsers]]. And check out
the [[tips]] to find out how to get more out of ikiwiki.