REQUIREMENTS PhpWiki 1.4.0 requires a web server with at least PHP version 5.2. All users of PHP are strongly encouraged to upgrade to PHP 5.3.18 (Current stable) this is the supported version or if not possible to PHP 5.2.17 (Old stable). Visit and for downloads and information. 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." PHP must also be compiled with support for the type of database you want to use, i.e. --with-gdbm, --with-db2, --with-db3, --with-msql, --with-pgsql. (With PHP4 MySQL support is always enabled. With PHP5 sqlite instead). Consult the PHP installation manual for specific installation and configure options. Since version 1.3.0 PhpWiki uses the 'DB.php' from PEAR, a database abstraction layer which is part of PHP. PhpWiki version 1.3.3 and later includes the necessary PEAR libraries and will use it if your system PEAR library can not be found. For more information about PEAR see . PhpWiki version 1.3.7 and later includes the ADODB libraries and will use it for DATABASE_TYPE=ADODB. ADODB has more features, can use yet unsupported backends out of the box, and this is where SQL development happens. ADODB improvements are then backported to the stable PEAR backend (which often suffers from bad upstream PEAR libraries) and to PDO for php5. QUICK START INSTRUCTIONS Copy 'config/config-dist.ini' to 'config/config.ini' and edit the settings in 'config/config.ini' to your liking. By default PhpWiki is configured to use a dba database. If there is no dba 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 check the available dba handlers (default: db3 for Windows, otherwise gdbm), install the dba extension or preferably an sql-compatible database such as MySQL or PostgreSQL and make the necessary configuration changes to 'lib/config/config.ini'. 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 In the config subdirectory copy 'config-dist.ini' to 'config.ini' and edit the settings in 'config.ini' 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 DBA files in '/tmp'. They contain the pages of the live site, archived pages, and some additional information. If you don't want the DBA 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 'config/config.ini'. 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 DBA 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 DBA 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 DBA 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 'config/config.ini' to allow embedded HTML, but you should NEVER do this if your Wiki is publicly accessible! 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