Merge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.info
[ikiwiki] / doc / setup.mdwn
1 This tutorial will walk you through setting up a wiki with ikiwiki.
2
3 [[!toc ]]
4
5 ## Install ikiwiki
6
7 If you're using Debian or Ubuntu, ikiwiki is an `apt-get install ikiwiki` away.
8 If you're not, see the [[download]] and [[install]] pages.
9
10 ## Create your wiki
11
12 All it takes to create a fully functional wiki using ikiwiki is running
13 one command.
14 [[!template id=note text="""
15 For more control, advanced users may prefer to set up a wiki
16 [[by_hand|byhand]].
17 """]]
18
19         % ikiwiki -setup /etc/ikiwiki/auto.setup
20
21 Or, set up a blog with ikiwiki, run this command instead.
22
23         % ikiwiki -setup /etc/ikiwiki/auto-blog.setup
24
25 Either way, it will ask you a couple of questions.
26
27         What will the wiki be named? foo
28         What revision control system to use? git
29         What wiki user (or openid) will be admin? joey
30         Choose a password:
31
32 Then, wait for it to tell you an url for your new site..
33
34         Successfully set up foo:
35                 url:         http://example.com/~joey/foo
36                 srcdir:      ~/foo
37                 destdir:     ~/public_html/foo
38                 repository:  ~/foo.git
39         To modify settings, edit ~/foo.setup and then run:
40                 ikiwiki -setup ~/foo.setup
41
42 Done! 
43
44 ## Using the web interface
45
46 Now you can go to the url it told you, and edit pages in your new wiki
47 using the web interface.
48
49 (If the web interface doesn't seem to allow editing or login, you may
50 need to [[configure_the_web_server|tips/dot_cgi]].)
51
52 ## Checkout and edit wiki source
53
54 Part of the fun of using ikiwiki is not being limited to using the
55 web for editing pages, and instead using your favorite text editor and
56 [[Revision_Control_System|rcs]]. 
57
58 To do this, you need to check out a copy of the source to your wiki.
59 (You should avoid making changes directly to the `srcdir`, as that
60 checkout is reserved for use by ikiwiki itself.)
61
62 Depending on which [[Revision_Control_System|rcs]] you chose to use,
63 you can run one of these commands to check out your own copy of your wiki's
64 source. (Remember to replace "foo" with the real directory name.)
65
66         git clone foo.git foo.src
67         svn checkout file://`pwd`/foo.svn/trunk foo.src
68         cvs -d `pwd`/foo get -P ikiwiki
69         bzr clone foo foo.src
70         hg clone foo foo.src
71         # TODO monotone, tla
72
73 Now to edit pages by hand, go into the directory you checked out (ie,
74 "foo.src"), and fire up your text editor to edit `index.mdwn` or whatever
75 other page you want to edit. If you chose to set up a blog, there is even a
76 sample first post in `posts/first_post.mdwn` that you can edit.
77
78 Once you've edited a page, use your revision control system to commit
79 the changes. For distributed revision control systems, don't forget to push
80 your commit.
81
82 Once the commit reaches the repository, ikiwiki will notice it, and
83 automatically update the wiki with your changes.
84
85 ## Customizing the wiki
86
87 There are lots of things you can configure to customize your wiki.
88 These range from changing the wiki's name, to enabling [[plugins]],
89 to banning users and locking pages.
90
91 If you log in as the admin user you configured earlier, and go to
92 your Preferences page, you can click on "Setup" to customize many
93 wiki settings and plugins.
94
95 Some settings cannot be configured on the web, for security reasons or
96 because misconfiguring them could break the wiki. To change these settings,
97 you can manually edit the setup file, which is named something like
98 "foo.setup". The file lists all available configuration settings
99 and gives a brief description of each.
100
101 After making changes to this file, you need to tell ikiwiki to use it:
102
103         % ikiwiki -setup foo.setup
104
105 Alternatively, you can ask ikiwiki to change settings in the file for you:
106
107         % ikiwiki -changesetup foo.setup -plugin goodstuff
108
109 See [[usage]] for more options.
110
111 ## Customizing file locations
112
113 As a wiki compiler, ikiwiki builds a wiki from files in a source directory,
114 and outputs the files to a destination directory. The source directory is
115 a working copy checked out from the version control system repository.
116
117 When you used `auto.setup`, ikiwiki put the source directory, destination
118 directory, and repository in your home directory, and told you the location
119 of each. Those locations were chosen to work without customization, but you
120 might want to move them to different directories.
121
122 First, move the destination directory and repository around.
123    
124         % mv public_html/foo /srv/web/foo.com
125         % mv foo.git /srv/git/foo.git
126
127 If you moved the repository to a new location, checkouts pointing at the
128 old location won't work, and the easiest way to deal with this is to delete
129 them and re-checkout from the new repository location.
130    
131         % rm -rf foo
132         % git clone /src/git/foo.git
133
134 Finally, edit the setup file. Modify the settings for `srcdir`, `destdir`,
135 `url`, `cgiurl`, `cgi_wrapper`, `git_wrapper`, etc to reflect where
136 you moved things. Remember to run `ikiwiki -setup` after editing the
137 setup file.
138
139 ## Enjoy your new wiki!
140
141 Add yourself to [[IkiWikiUsers]]. And check out
142 the [[tips]] to find out how to get more out of ikiwiki.