Merge branch 'master' of github.com:schmonz/ikiwiki
[ikiwiki] / doc / tips / ikiwiki_on_mac_os_x.mdwn
1 [[!toc]]
2
3 # MacPorts
4
5 The easiest way of installing ikiwiki on Mac OS X [Snow] Leopard and Tiger is via MacPorts: <http://www.macports.org/>
6
7 This project ports Open Source software into Mac Os X platform.
8 It's very easy to intall ikiwiki via MacPorts:
9
10 1.- Donwnload and install MacPorts port manager from:  <http://www.macports.org/install.php> . 
11     Port manager installs via Mac Os X installer. Prerequisite: XCode.
12     Se above URL for details
13
14 2.- Run 
15
16     $ sudo port install ikiwiki
17
18 This installs ikiwiki and all of its dependencies
19
20 enjoy
21
22 Enrique Castilla
23
24 -----
25
26 # pkgsrc
27
28 The other easiest way of installing ikiwiki on Mac OS X is via
29 [pkgsrc](http://www.pkgsrc.org/).
30
31 7. Bootstrap pkgsrc
32 7. Run `cd .../pkgsrc/www/ikiwiki && make install clean`
33
34 -----
35
36 # Manual install
37
38 These are some notes on installing ikiwiki on Mac OS X Snow Leopard. I have a three year old machine with a lot of stuff on it so it took quite a while, YMMV. 
39
40 The best part of installing ikiwiki was learning how to use git. I never used source control before but its pretty slick.
41
42
43 ## installing git:
44
45 cd /opt/ikiwiki/install
46
47 curl http://kernel.org/pub/software/scm/git/git-(latest version).tar.gz -O
48
49 tar xzvf git-(latest version).tar.gz
50
51 cd git-(latest version)
52
53 ./configure --prefix=/usr/local 
54
55 make prefix=/usr/local all
56
57 sudo make install
58
59
60 git config --global user.name "firstname lastname" 
61
62 git config --global user.email "email here"
63
64 git config --global color.ui "auto" 
65
66
67 curl http://www.kernel.org/pub/software/scm/git/git-manpages-1.7.3.1.tar.gz | sudo tar -xzC /usr/local/share/man/
68
69
70 ## installing ikiwiki:
71 I had terrible trouble installing ikiwiki. It turned out I had accidentally installed Perl through ports. Uninstalling that made everything install nicely.
72 I got an error on msgfmt. Turns out this is a program in gettext. I installed that and it fixed the error.
73
74 cd ..
75
76 git clone git://git.ikiwiki.info/
77
78 cd git.ikiwiki.info/
79
80 perl Makefile.PL  LIB=/Library/Perl/5.10.0
81
82 make
83
84 sudo make install
85
86 when you make ikiwiki it gives you a .git folder with the ikiwiki files. Stay out of this folder. You want to learn how to create a clone and make all your changes in the clone. When you push the changes ikiwiki will update. I moved a file in this folder by accident because I named my working file the same and I couldn't get into the setup page. I had apparently messed up my ikiwiki git repository. I did a pull into my clone, deleted the repository and webserver/ cgi folders and ran a new setup. Then I did a git clone and dragged all my old files into the new clone. Did the git dance and did git push. Then the angels sang.
87
88
89 ## using git from inside a git folder:
90
91 start with git clone, then learn to do the git dance like this.
92
93 git pull
94
95 make your changes to your clone
96
97 git commit -a -m "message here"
98
99 git push
100
101
102 When you can't get into the setup page or you get strange behavior after a setup update the Utilities > Console app is your friend.
103
104 ## installing gitweb
105
106 cd ../git-1.7.3.1/gitweb
107
108 make GITWEB_PROJECTROOT="/opt/ikiwiki/" GITWEB_CSS="/gitweb.css" GITWEB_LOGO="/git-logo.png" GITWEB_FAVICON="/git-favicon.png" GITWEB_JS="/gitweb.js"
109
110 cp gitweb.cgi /Library/WebServer/CGI-Executables/
111
112 cp /usr/local/share/gitweb/static/git-favicon.png /Library/WebServer/Documents/
113
114 cp /usr/local/share/gitweb/static/git-logo.png /Library/WebServer/Documents/
115
116 cp /usr/local/share/gitweb/static/gitweb.css /Library/WebServer/Documents/
117
118 cp /usr/local/share/gitweb/static/gitweb.js /Library/WebServer/Documents/
119
120
121 sudo chmod 2755 /Library/WebServer/CGI-Executables/gitweb.cgi
122
123 sudo chmod 2755 /Library/WebServer/Documents/git-favicon.png
124
125 sudo chmod 2755 /Library/WebServer/Documents/git-logo.png
126
127 sudo chmod 2755 /Library/WebServer/Documents/gitweb.css
128
129 sudo chmod 2755 /Library/WebServer/Documents/gitweb.js
130
131
132 ## installing xapian:
133
134 download xapian and omega
135
136 I needed pcre: sudo ports install pcre
137
138 ./configure
139
140 make
141
142 sudo make install
143
144
145 ## installing omega:
146
147 I had a build error do to libiconv undefined symbols. sudo port deactivate libiconv took care of it. After install I had trouble with ikiwiki so I did a sudo port install libiconv and ikiwiki came back.
148
149 ./configure
150
151 make
152
153 sudo make install
154
155
156 ## installing Search::Xapian from CPAN
157
158 for some reason this wouldn't install using CPAN console so I went to CPAN online and downloaded the source.
159
160 perl Makefile.PL
161
162 make
163
164 make test
165
166 sudo make install
167
168 it installed without issue so I'm baffled why it didn't install from command line.
169
170  
171  ## setup file
172     _!/usr/bin/perl
173     _ Ikiwiki setup automator.
174     
175     _ This setup file causes ikiwiki to create a wiki, check it into revision
176     _ control, generate a setup file for the new wiki, and set everything up.
177     
178     _ Just run: ikiwiki -setup /etc/ikiwiki/auto.setup
179     
180     _By default, it asks a few questions, and confines itself to the user's home
181     _directory. You can edit it to change what it asks questions about, or to
182     _modify the values to use site-specific settings.
183     require IkiWiki::Setup::Automator;
184     
185     our $wikiname="your wiki";
186     our $wikiname_short="yourwiki";
187     our $rcs="git";
188     our $admin="your name";
189     use Net::Domain q{hostfqdn};
190     our $domain="your.domain";                    
191     
192     IkiWiki::Setup::Automator->import(
193     wikiname => $wikiname,
194     adminuser => [$admin],
195     rcs => $rcs,
196     srcdir => "/opt/ikiwiki/$wikiname_short",
197     destdir => "/Library/WebServer/Documents/$wikiname_short",
198     repository => "/opt/ikiwiki/$wikiname_short.".($rcs eq "monotone" ? "mtn" : $rcs),
199     dumpsetup => "/opt/ikiwiki/$wikiname_short.setup",
200     url => "http://$domain/$wikiname_short",
201     cgiurl => "http://$domain/cgi-bin/$wikiname_short/ikiwiki.cgi",
202     cgi_wrapper => "/Library/WebServer/CGI-Executables/$wikiname_short/ikiwiki.cgi",
203     adminemail => "your\@email.com",
204     add_plugins => [qw{goodstuff websetup}],
205     disable_plugins => [qw{}],
206     libdir => "/opt/ikiwiki/.ikiwiki",
207     rss => 1,
208     atom => 1,
209     syslog => 1,
210     )
211  
212
213 ## turning on search plugin:
214
215 I turned on the plugin from the setup page in ikiwiki but it gave an error when I went to search. Error "Error: /usr/lib/cgi-bin/omega/omega failed: No such file or directory".
216 I did a  "find / -name "omega" -print" and found the omega program in "/usr/local/lib/xapian-omega/bin/omega".
217
218 Then I went into the 2wiki.setup file and replaced the bad path, updated and badda-boom badda-bing.