PmWiki

PmWiki

PHP wiki that needs no database

Description

A few people want to keep one set of docs together, and every option has a catch: MediaWiki wants MySQL configured first, Confluence charges per seat, and a hosted service means handing your content over. PmWiki is unzip-and-upload — no database at all, each page is a plain text file on the server — so any host that runs PHP will do, and moving it elsewhere is copying a directory.

Its access control is finer-grained than most. Not just who gets into the site, but separate read, edit and upload passwords per page group and per page, so one wiki can hold a manual everyone reads and an internal page only a few can open. The markup is its own light syntax — exclamation marks for headings, asterisks for lists, double brackets for links — and saving publishes it, with no build step in between.

Features



Pages are files: every page is a text file under wiki.d, so a backup is a tarball of a directory and a restore is copying it back — no SQL dumps, no corrupted database.

Layered permissions: read, edit and upload passwords set at the site, group and page level, and it can also authenticate against an existing password database — which is what makes semi-public team docs practical.

Light markup: !!! for headings, * for lists, [[double brackets]] for internal links, '''bold''' for emphasis, with a toolbar above the edit box that inserts them, so nobody has to memorise a syntax table first.

History and authorship: every save keeps a revision with a diff view and rollback; as of 2.7.6 the IP addresses in page histories are shown only to administrators.

Skins change everything: templates and skins are plain HTML and CSS, swappable from the official and community collections or written yourself, without touching core code.

The Cookbook: hundreds of official extensions covering page lists, forms, comments and statistics — drop one into the cookbook directory and add an include line.

Page variables and includes: directives like (:pagelist:) and (:include:) let one page assemble itself from others, so index pages, recent-changes lists and category views maintain themselves.

Runs on modest hosting: the only requirements are PHP and a web server that can run it, which covers shared hosting, a Raspberry Pi or a box on the office LAN.