]> CyberLeo.Net >> Repos - SourceForge/phpwiki.git/blob - doc/INSTALL.MacOSX
Allow bold, italics or underlined for numbers
[SourceForge/phpwiki.git] / doc / INSTALL.MacOSX
1 Using PhpWiki 1.3 with Mac OS X / Darwin
2
3 PhpWiki works quite well and retains almost complete functionality
4 when used with a default installation of Mac OS X 10.1 (or greater),
5 with only a few minor exceptions as noted below. Setting up a database
6 for the Wiki backend is probably the most difficult part of the
7 PhpWiki installation as it will require use of the Terminal utility;
8 therefore it is recommended that you at least have some familiarity
9 with the unix command prompt. However, the setup is straightforward
10 and you should be able to complete the install by following the
11 instructions in the INSTALL document included with the PhpWiki
12 download.
13
14 If you intend to compile the required database software or PHP module
15 yourself you should download and install the Developer tools from
16 Apple, which includes the necessary cc compiler, and at least
17 temporarily activate the superuser (root) account. The steps necessary
18 to do this are relatively more complicated and are beyond the scope of
19 this document.
20
21 In any case you may find Project Builder to be an attractive
22 alternative to TextEdit, especially if you are intent on heavily
23 customizing PhpWiki, working with PHP or doing any other code
24 development. Among other niceties it provides multiple undos (even
25 beyond the last file save), line numbering and syntax coloring;
26 however it doesn't always properly handle coloring for strangely
27 nested \"escaped quotes\" which are frequently called for in PHP when
28 generating HTML code.  \\" <--(kludge for broken syntax coloring)
29
30 Instructions for using Project Builder with PhpWiki can be found at
31 the bottom of this document.
32
33
34 Database
35 --------
36
37 A suitable database for PhpWiki is not included with Mac OS X 10.1. If
38 you decide to use one of the more popular (and free) database packages
39 such as mySQL or PostgreSQL with PhpWiki, fortunately there are
40 precompiled versions of the software available. Some distributions
41 even come with Mac OS X installers which will significantly reduce the
42 amount of work you will have to do in the unix environment.
43
44 The MySQL 3.23.46 binary installation works well with Mac OS X 10.1
45 and PhpWiki. After you install and test mySQL follow the instructions
46 given in INSTALL.mysql to prepare a new database for use with PhpWiki.
47
48
49 Apache PHP Module
50 -----------------
51
52 The default PHP module for Apache as supplied by Apple does work with
53 PhpWiki but is missing support for the zlib and GD libraries. Wiki
54 will still produce a valid ZIP file when an administrator saves a ZIP
55 dump of the database but it will not use any compression.
56
57 If you want compressed ZIP dumps you will have to install a version of
58 PHP which does support the zlib library, or compile PHP yourself and
59 replace the default /usr/libexec/httpd/libphp4.so (part of the
60 Apple-supplied Apache installation).
61
62 PHP with GD library support is required to use "text2png", an
63 experimental plugin for Wiki 1.3.
64
65 PhpWiki 1.3 already knows where to find the required PEAR.php on Mac
66 OS X systems. However if you need to use PEAR with other PHP
67 applications, edit or create the file /usr/local/lib/php.ini then add
68 the following line:
69
70 include_path = ".:/System/Library/PHP";
71
72 If you compiled a version of PHP yourself (perhaps newer than the
73 4.0.6 version included by Apple) the path will already be included in
74 the php.ini file. In that case you shouldn't have to change the path,
75 unless you installed PHP into a location other than the default
76 /usr/local/ prefix.
77
78
79 Obtaining and Installing mySQL and libphp4.so
80 ---------------------------------------------
81
82 Mark Liyanage has graciously provided precompiled Mac OS X versions of
83 mySQL, an updated PHP module for Apache and some installation
84 instructions on his web site. He has also written some tips if you
85 want to compile these programs for yourself.
86
87     <http://www.entropy.ch/software/macosx/>
88
89 Note that whether you use the built-in PHP module or another PHP
90 module, it must be activated in Apache's httpd.conf before you can use
91 PHP. Take a look at Mark's PHP installation instructions or read the
92 Apache documentation for more information.
93
94 A good place to find other distributions of mySQL or PostgreSQL which
95 can be used with Mac OS X are listed at:
96
97     <http://versiontracker.com/macosx/>
98     <http://fink.sourceforge.net/>
99
100 PHP 4.1 and Mac OS X
101 --------------------
102
103 The version of PHP 4.1 from Mark Liyanage's web site requires an
104 updated PEAR library. PhpWiki seems to work anyway but it will produce
105 warnings about a depreciated user function with each page load.
106
107 1.  Move the current contents of '/System/Library/PHP' into a backup
108     folder, such as '/System/Library/PHP/PEAR-4.0.6'.
109
110 2.  Take the contents of the 'pear' folder from the official PHP 4.1
111     tarball (php-4.1.0.tar.gz) and move it into '/System/Library/PHP'.
112
113
114 PhpWiki Configuration Notes
115 ---------------------------
116
117 Move the phpwiki folder into the directory used by the web server. In
118 Mac OS X 10.1 this folder will be "/Library/WebServer/Documents"
119 (unless you previously changed it to somewhere else in the config file
120 "/private/etc/httpd/httpd.conf").
121
122 Follow the generalized installation instructions described in INSTALL
123 but with the changes to sections 1 and 2 listed below.
124
125 Section 1
126
127 The Mac OS X Apache web server runs as user "www" and this works fine
128 with PhpWiki so long as "Everyone" has at least read-only access in
129 the phpwiki folder's Get Info.
130
131 If you want to perform serial dumps instead of ZIP dumps you need to
132 set at least one directory to be accessible read-write by the http
133 server. The easiest solution is probably to create a new folder called
134 "dumps" inside the phpwiki folder, then give the user "www" read-write
135 access to it in the terminal:
136
137 sudo chown www:www /System/Library/phpwiki/dumps
138 sudo chmod u+wrx /System/Library/phpwiki/dumps
139
140 Section 2
141
142 A few lines need to be inserted into Apache's configuration in order
143 to use "nice" URLs with PhpWiki such as:
144
145     "http://somehost/wiki/GoodStyle"
146
147 Open the terminal and type in the following to edit the web server
148 configuration file (enter your administration password when prompted):
149
150 sudo pico /etc/httpd/httpd.conf
151
152 Scroll down to the <IfModule mod-alias.c> section. Copy the comment
153 line "#PhpWiki 1.3 aliases" and the four lines below it, then paste it
154 into the mod_alias section as shown below.
155
156 <IfModule mod_alias.c>
157
158     #
159     # Note that if you include a trailing / on fakename then the server will
160     # require it to be present in the URL.  So "/icons" isn't aliased in this
161     # example, only "/icons/".  If the fakename is slash-terminated, then the 
162     # realname must also be slash terminated, and if the fakename omits the 
163     # trailing slash, the realname must also omit it.
164     #
165     Alias /icons/ "/usr/share/httpd/icons/"
166
167 #PhpWiki 1.3 aliases
168     Alias /wiki/themes/ "/Library/WebServer/Documents/phpwiki/themes/"
169     Alias /wiki/themes  "/Library/WebServer/Documents/phpwiki/themes"
170     Alias /wiki/favicon.ico "/Library/WebServer/Documents/phpwiki/favicon.ico"
171     Alias /wiki/ "/Library/WebServer/Documents/phpwiki/index.php/"
172     Alias /wiki  "/Library/WebServer/Documents/phpwiki/index.php"
173
174
175 To save your changes and exit, press 'control-x', then 'y' followed by
176 the 'return' key.
177
178 Restart the Web Sharing server from the System Preferences "Sharing"
179 control panel or from the terminal:
180
181 sudo apachectl graceful
182
183 Next, edit the following lines in part five of index.php to match the
184 following:
185
186 define('DATA_PATH', '/wiki');
187 define('USE_PATH_INFO', true);
188 define('VIRTUAL_PATH', '/wiki');
189
190 Section 3
191
192 To retain your PhpWiki logs between system restarts you should specify
193 a non-temporary directory. I recommend you use the same folder where
194 the web-server stores it's logs. Change the following (line 73) in
195 index.php from:
196
197 define('ACCESS_LOG', '/tmp/wiki_access_log');
198
199 to something like:
200
201 define('ACCESS_LOG', '/private/var/log/httpd/wiki_access.log');
202
203 Note that the automatic /etc/daily and weekly cron cleanup routines
204 will not touch the Wiki log file--even if it is in the same directory
205 as the httpd logs--it will be up to you to Trash it once in a while or
206 write your own /etc/daily.local file to include it as part of a server
207 log rotation.
208
209 The web server must have write access to the log file:
210
211     sudo chown www /private/var/log/httpd/wiki_access.log
212
213
214 Using Apple's Project Builder with PhpWiki
215 ------------------------------------------
216
217 A PB project file is available on the SourceForge CVS server to allow
218 you to easily edit PhpWiki's source code using Apple's Project
219 Builder. PB 2.1 (Dec 2002 DevTools) is recommended. If you have not
220 yet updated to at least PB 1.1.1 (Dec 2001 DevTools) it is highly
221 recommended you do so because the PhpWiki source are written in
222 ISO-8859-1, and some of the bug fixes are pertinent to file encoding.
223
224 The older PB 1.1 has some bugs which makes it impossible to select the
225 correct character encoding in the GUI for any pre-existing source code
226 files. By using this project file you will find the PhpWiki source
227 files are already preset to use the correct ISO-8859-1 (Western
228 Latin-1) encoding.
229
230 Also by using the project file, if you are updating or adding a
231 tranlastion to the './phpwiki/locale/po/' files, you do not have to
232 run 'make' from the terminal window. The Build Target settings have
233 been preconfigured to automatically build the project with a "legacy
234 Makefile", by invoking '/usr/bin/gnumake' in the folder
235 './phpwiki/locale'. Just click the build button in the toolbar.
236
237 To download the phpwiki.pbxproj bundle, use CVS to checkout the module
238 named "phpwiki.pbxproj" then place it into the same folder which
239 contains your "phpwiki" folder.
240
241
242 How to use SSH with Project Builder
243 -----------------------------------
244
245 To use the CVS functions in PB, the phpwiki folder itself must have
246 been checked out with CVS (i.e. the 'CVS' folders within each
247 subdirectory of the phpwiki source are required by PB).
248
249 Project Builder 1.1.1 (December 2001 Dev Tools) can be used with
250 SourceForge's CVS but a little work is needed to get it set up the
251 first time. The following instructions were based on a tip from
252 macosxhints.com.
253
254 Preparation
255
256 Make sure that your ssh keys have been uploaded to your account at
257 SourceForge and that you can sucessfully ssh into your account. Next,
258 ensure that you can check out your project from SourceForge using the
259 unix command-line based CVS tools provided by Mac OS X.
260
261 Instructions
262
263 1.  Download and install "keychain" from:
264
265     <http://www.gentoo.org/projects/keychain.html>
266
267 Keychain is also available via the Fink package manager.
268
269 The Keychain script acts as a front-end to ssh-agent, allowing you to
270 easily have one long-running ssh-agent process per system, rather than
271 per login session. This dramatically reduces the number of times you
272 need to enter your passphrase, from once per new terminal window
273 session to once every time your local machine is rebooted. It also
274 allows you to use Project Builder with SSH instead of RSH. SSH is
275 required if you want to commit files to a CVS repository at
276 SourceForge.
277
278 2.  If you use the default tcsh shell or csh, add the following to your
279     .cshrc file:
280
281 setenv CVS_RSH 'ssh'
282 alias pb 'open -a /Developer/Applications/Project\ Builder.app '
283 # Alias to servers via SSH
284 alias sshsf 'ssh mysfuserid@phpwiki.sourceforge.net'
285
286     Also add the following to your ~/.login file:
287
288 # Keychain is an OpenSSH key manager
289 # This will add my SSH1 and SSH2 key
290 # Use '/sw/bin/keychain' for a fink-installed keychain
291 /usr/bin/keychain ~/.ssh/id_rsa ~/.ssh/id_dsa
292 source ~/.keychain/${HOST}-csh
293
294
295     If you use bash instead, add following lines to the ~/.bashrc file:
296
297 CVS_RSH=ssh; EXPORT CVS_RSH
298 alias pb='open -a /Developer/Applications/Project\ Builder.app '
299 # Alias to servers via SSH
300 alias sshsf='ssh mysfuserid@phpwiki.sourceforge.net'
301
302     Bash users also add the following to your ~/.login file:
303
304 # Keychain is an OpenSSH key manager
305 # This will add my SSH1 and SSH2 key
306 /usr/bin/keychain ~/.ssh/id_rsa ~/.ssh/id_dsa
307 source ~/.keychain/${HOSTNAME}-sh
308
309
310 3.  Close the terminal window then open a new one. Keychain will
311     activate ssh-agent which will ask for your ssh key password. It
312     keeps running in the background and won't ask for your password
313     again until you log out or restart.
314
315 4.  From now on, YOU MUST open Project Builder from the Terminal shell
316     for it's CVS to work with SSH. This is why we created a command
317     alias in .cshrc to launch Project Builder. If it is already
318     running because you double-clicked the PB icon, quit it, then
319     launch it from the terminal by typing pb. <em>Once PB is running
320     you can safely double-click a project file to open it</em>.
321
322 Using the above method, ProjectBuilder will successfully connect to
323 the Sourceforge CVS with SSH. Any other server which requires cvs
324 connections to be made cia ssh instead of rsh should now work too.
325
326 Note: Renaming /usr/bin/rsh to something else and replacing it with
327       ssh doesn't seem to work; Project Builder simply MUST be
328       launched from the command line for it to work at all with ssh.
329
330 Hopefully Project Builder's integrated CVS will be improved in the
331 future to directly support SSH. To let Apple know that full support
332 for SSH in Project Builder is important, send an email to:
333
334       <macosx-tools-feedback@group.apple.com>
335
336
337 Project Builder: Miscellaneous 
338 ------------------------------
339
340 ProjectBuilder 1.1.1 has a new auto-indent feature but it does not yet
341 recognise php files. You can create a temporary file with the filename
342 suffix ".c" and drag it into the project. Paste your code into that temp
343 file to use auto-indent, then copy your changes back to the original file
344 when you're done.
345
346
347 Emacs Users: You can add custom Alt-key bindings to Project Builder
348 for some common Emacs stuff: *Note the wrapped url!
349
350 <http://developer.apple.com/techpubs/macosx/Cocoa/TasksAndConcepts/
351 ProgrammingTopics/TextDisplay/Tasks/TextDefaultsAndBindings.html>
352
353
354 If you have problems after all of this, try contacting the
355 phpwiki-talk list at phpwiki-talk@lists.sourceforge.net.
356
357 Carsten Klapp <carstenklapp@users.sourceforge.net>