Using PhpWiki 1.3 with Mac OS X / Darwin
PhpWiki works quite well and retains almost complete functionality
when used with a default installation of Mac OS X 10.1 (or greater),
with only a few minor exceptions as noted below. Setting up a database
for the Wiki backend is probably the most difficult part of the
PhpWiki installation as it will require use of the Terminal utility;
therefore it is recommended that you at least have some familiarity
with the unix command prompt. However, the setup is straightforward
and you should be able to complete the install by following the
instructions in the INSTALL document included with the PhpWiki
download.
If you intend to compile the required database software or PHP module
yourself you should download and install the Developer tools from
Apple, which includes the necessary cc compiler, and at least
temporarily activate the superuser (root) account. The steps necessary
to do this are relatively more complicated and are beyond the scope of
this document.
In any case you may find Project Builder to be an attractive
alternative to TextEdit, especially if you are intent on heavily
customizing PhpWiki, working with PHP or doing any other code
development. Among other niceties it provides multiple undos (even
beyond the last file save), line numbering and syntax coloring; but
don't rely on PB's text colors too much, it doesn't always properly
handle coloring for \"escaped quotes\" which are frequently called for
in PHP when generating HTML code.
Database
--------
A suitable database for PhpWiki is not included with Mac OS X 10.1. If
you decide to use one of the more popular (and free) database packages
such as mySQL or PostgreSQL with PhpWiki, fortunately there are
precompiled versions of the software available. Some distributions
even come with Mac OS X installers which will significantly reduce the
amount of work you will have to do in the unix environment.
The MySQL 3.23.46 binary installation works well with Mac OS X 10.1
and PhpWiki. After you install and test mySQL follow the instructions
given in INSTALL.mysql to prepare a new database for use with PhpWiki.
Apache PHP Modulex
-----------------
The default PHP module for Apache as supplied by Apple does work with
PhpWiki but is missing support for the zlib and GD libraries. Wiki
will still produce a valid ZIP file when an administrator saves a ZIP
dump of the database but it will not use any compression.
If you want compressed ZIP dumps you will have to install a version of
PHP which does support the zlib library, or compile PHP yourself and
replace the default /usr/libexec/httpd/libphp4.so (part of the
Apple-supplied Apache installation).
PHP with GD library support is required to use "text2png", an
experimental plugin for Wiki 1.3.
PhpWiki 1.3 already knows where to find the required PEAR.php on Mac
OS X systems. However if you need to use PEAR with other PHP
applications, edit or create the file /usr/local/lib/php.ini then add
the following line:
include_path = ".:/System/Library/PHP";
If you compiled a version of PHP yourself (perhaps newer than the
4.0.6 version included by Apple) the path will already be included in
the php.ini file. In that case you shouldn't have to change the path,
unless you installed PHP into a location other than the default
/usr/local/ prefix.
Obtaining and Installing mySQL and libphp4.so
---------------------------------------------
Mark Liyanage has graciously provided precompiled Mac OS X versions of
mySQL, an updated PHP module for Apache and some installation
instructions on his web site. He has also written some tips if you
want to compile these programs for yourself.
Note that whether you use the built-in PHP module or another PHP
module, it must be activated in Apache's httpd.conf before you can use
PHP. Take a look at Mark's PHP installation instructions or read the
Apache documentation for more information.
A good place to find other distributions of mySQL or PostgreSQL which
can be used with Mac OS X are listed at:
PhpWiki Configuration Notes
---------------------------
Move the phpwiki folder into the directory used by the web server. In
Mac OS X 10.1 this folder will be "/Library/WebServer/Documents"
(unless you previously changed it to somewhere else in the
configuration file "/private/etc/httpd/httpd.conf").
Follow the generalized installation instructions described in INSTALL
but with the changes below.
1. The Mac OS X Apache web server runs as user "www" and this works
fine with PhpWiki so long as "Everyone" has at least read-only
access in the phpwiki folder's Get Info.
If you want to perform serial dumps instead of ZIP dumps you need to
set at least one directory to be accessible read-write by the http
server. The easiest solution is probably to create a new folder called
"dumps" inside the phpwiki folder, then give the user "www" read-write
access to it in the terminal:
sudo chown www:www /System/Library/phpwiki/dumps
sudo chmod u+wrx /System/Library/phpwiki/dumps
2. A few lines need to be inserted into Apache's configuration in
order to use "nice" URLs with PhpWiki such as:
http://somehost/wiki?GoodStyle
Open the terminal and type in the following to edit the web server
configuration file (enter your administration password when prompted):
sudo pico /etc/httpd/httpd.conf
Scroll down to the section. Copy the comment
line "#PhpWiki 1.3 aliases" and the four lines below it, then paste it
into the mod_alias section as shown below.
#
# Note that if you include a trailing / on fakename then the server will
# require it to be present in the URL. So "/icons" isn't aliased in this
# example, only "/icons/". If the fakename is slash-terminated, then the
# realname must also be slash terminated, and if the fakename omits the
# trailing slash, the realname must also omit it.
#
Alias /icons/ "/usr/share/httpd/icons/"
#PhpWiki 1.3 aliases
Alias /wiki/images/ "/Library/WebServer/Documents/phpwiki/images/"
Alias /wiki/images "/Library/WebServer/Documents/phpwiki/images"
Alias /wiki/ "/Library/WebServer/Documents/phpwiki/index.php/"
Alias /wiki "/Library/WebServer/Documents/phpwiki/index.php"
To save your changes and exit, press 'control-x', then 'y' followed by
the 'return' key.
Restart the Web Sharing server from the System Preferences "Sharing"
control panel or from the terminal:
sudo apachectl graceful
Next, edit the following lines 379, 387 and 412 of index.php to match
the following:
define('DATA_PATH', '/wiki');
define('USE_PATH_INFO', true);
define('VIRTUAL_PATH', '/wiki');
3. To retain your PhpWiki logs between system restarts you should
specify a non-temporary directory. I recommend you use the same
folder where the web-server stores it's logs. Change the following
(line 73) in index.php from:
define('ACCESS_LOG', '/tmp/wiki_access_log');
to something like:
define('ACCESS_LOG', '/private/var/log/httpd/wiki_access.log');
Note that the automatic /etc/daily and weekly cron cleanup routines
will not touch the Wiki log file--even if it is in the same directory
as the httpd logs--it will be up to you to Trash it once in a while or
write your own /etc/daily.local file to include it as part of a server
log rotation.
If you have problems after all of this, try contacting the
phpwiki-talk list at phpwiki-talk@lists.sourceforge.net.
Carsten Klapp
carstenklapp@mac.com