REQUIREMENTS PhpWiki requires a web server with PHP version 4.0.5? or greater and a database application. (PhpWiki uses the array_search() function which is present only in PHP version 4.0.5 or greater.) QUICK START INSTRUCTIONS By default PhpWiki is configured to use a flatfile database. If there is no dbm on your system, you will see an error like this the first time you try to use PhpWiki: "Fatal error: Call to undefined function: dba_open() in phpwiki/lib/DbaDatabase.php on line 32" To correct this you will have to install a dbm package or preferably an sql-compatible database such as MySQL or PostgreSQL and make the necessary configuration changes to index.php. Since version 1.3.0 PhpWiki uses the 'DB.php' from PEAR, a database absraction layer which is part of PHP. PEAR must be installed and enabled too. If PHP cannot find it's 'DB.php', the first time you try to use PhpWiki you will see an error like this: "lib/FileFinder.php:82: Fatal[256]: DB.php: file not found" To fix this, locate the file 'DB.php' on your system, then uncomment and modify the "ini_set" line in part zero of 'index.php': ini_set('include_path', '.:/my/location/of/pear/directory'); For more information about PEAR see . You need the Perl regular expressions package compiled in; this is the default for PHP, so you probably have it. If you don't you'll see an error like "function preg_replace() not defined." INSTRUCTIONS Below are the instructions for the "out of the box" installation, which uses DB files. If you are using a relational database like MySQL, see the INSTALL file for your database in the 'doc/' directory under the root of your PhpWiki installation. 0. INSTALLATION Untar / gzip this file into the directory where you want it to live. That's it. bash$ gzip -d phpwiki-X.XX.tar.gz bash$ tar -xvf phpwiki-X.XX.tar Look at 'index.php' and edit the settings there to your liking. 1. CONFIGURATION The first time you run this Wiki it will load a set of basic pages from the 'pgsrc/' directory. These should be enough to get your Wiki started. PhpWiki will create some DBM files in '/tmp'. They contain the pages of the live site, archived pages, and some additional information. If you don't want the DBM files to live in '/tmp' you must make sure the web server can read/write to your chosen location. It's probably a bad idea to leave it in '/tmp', so change it in 'index.php'. WARNING: on many systems, files in '/tmp' are subject to periodic removal. We very strongly advise you to move the files to another directory. For example, create a subdirectory called 'pages' in the 'phpwiki' directory which was made when you untarred PhpWiki. Move the DBM files there. The files should already have proper rights and owners, as they were created by the web server. If not, change the permissions accordingly so your web server can read / write the DBM files. Note that you must be root to move files created by the web server. Next you must ensure that the web server can access the 'pages' directory and can create new files in it. For example, if your web server runs as user 'nobody', give the web server access like this: bash$ chown nobody:youraccount pages bash$ chmod 755 pages This is necessary so that the server can also create / set the database lock file (PHP has a built in locking mechanism for DBM file access). Or if you're really lazy and don't worry much about security: bash$ chmod 777 pages Note: This is insecure. The proper way is to let the directory be owned by the web servers GUID and give it read and write access. 2. ALLOWING EMBEDDED HTML PhpWiki ships with this feature disabled by default. According to CERT, malicious users can embed HTML in your pages that allow pure evil to happen: Set the ENABLE_RAW_HTML to true in 'lib/plugin/RawHtml.php' to allow embedded HTML, but you should NEVER do this if your Wiki is publicly accessible! define('ENABLE_RAW_HTML', true); 3. ETC Installing PHP is beyond the scope of this document :-) You should visit if you don't have PHP. Note that you should have the web server configured to allow index.php as the root document of a directory. 4. PATCHES Post patches to: 5. BUGS Post bugs to: 6. SUPPORT For support from the PhpWiki team and user community post to: You can join this list at: FIN $Id: INSTALL,v 1.16 2002-02-23 23:31:19 carstenklapp Exp $