This page explains how to download and install PmWiki 2.1 to 2.3.
Here's a list of related pages:
- Requirements - Pre-requisites for running the PmWiki wiki engine
- Upgrades - How to upgrade an existing PmWiki installation
- Wiki Farms - Running multiple wikis from a single installation
- Change Log - Log of changes made to PmWiki by Release
Improvements to these instructions are always appreciated. Just report any problems you encounter to the pmwiki-users mailing list or use the PmWiki Issue Tracking System.
If you upgrade, please read carefully the pages Upgrades and Release notes.
Download the latest stable version of PmWiki as a
Download the latest beta version from the PmWiki:Subversion page.
Unpack the archive (
tar zxvf pmwiki-latest.tgz or
unzip pmwiki-latest.zip). This will create a pmwiki-x.y.z directory containing the PmWiki software. For example, the current "latest" should unpack to a directory named pmwiki-2.3.3. The files in this directory include:
README.txt An introductory document
pmwiki.php The main PmWiki script
local/ Configuration scripts (local configuration files)
cookbook/ Recipes (add-ons) from the Cookbook
docs/ Brief documentation, sample configuration scripts
pub/ Publicly accessible files
pub/css/ Extra CSS stylesheet files 
pub/skins/ Layout templates for custom look and feel
scripts/ Scripts that are part of PmWiki
wikilib.d/ Bundled default PmWiki pages
The pmwiki-x.y.z directory needs to be placed into a location accessible by your webserver (e.g., in a public_html directory of some sort). You can place files and directories using a number of methods -- FTP, or a Unix
cp command generally does the job.
Note: It is recommended to change the "pmwiki-x.y.z" directory name to be simply "pmwiki" or just "wiki".
3. Create directories
In most cases PmWiki will do this for you.
Open a web browser to the pmwiki.php script on the server (i.e., not the one on your local computer or accessed using a file://... URL). PmWiki will then analyze your system configuration and provide instructions (if needed) for creating the wiki.d/ directory which will be used to hold the pages created for your site.
Otherwise, there are two ways to achieve this. (Use Filezilla or WinSCP to change FTP file/folder permissions.)
3a. You can create the wiki.d/
directory manually, and then give it full write permissions (i.e., "
chmod 777 wiki.d
"). Use this method when "safe mode" is activated in the server's PHP installation.
3b. On some systems you can let PmWiki create wiki.d/
by temporarily changing the permissions on the directory containing the pmwiki.php
file to 2777. In Unix this is commonly done by changing to the directory containing pmwiki.php
and executing the command
(note the dot at the end). The
chmod command also works in many FTP programs. Creating wiki.d/ in this manner will (1) make the directory writable so the web server can create the data directory it needs for the wiki files, (2) preserve group ownership of the directory so the installer account can manipulate the files created in this directory, and (3) make it more difficult for other accounts on the same server to access the files in wiki.d/.
After establishing directory permissions, try opening a browser to the pmwiki.php script again. If all is well, the wiki.d directory will have been created and you'll see the default home page.
Important: If you used method 3b, you should reset permissions by executing "
chmod 755 ." in the directory containing pmwiki.php.
See also FilePermissions.
Check out Initial Setup Tasks for other tasks you may want to perform to begin customizing your PmWiki installation. You might also want to peruse the Release Notes for further information.
5. Set language
If you want to use PmWiki in a different language download the international language pack as zip archive (i18n-all.zip) from https://pmwiki.org/pub/pmwiki/i18n/. Then extract it and copy the files into the wikilib.d/ directory as described above. Besides the -all file you can also download your country localization file only.
Languages available are:
There are two directories in the decompressed i18n archive, scripts and wikilib.d. Copy the files respectively contained in these directories to the scripts and wikilib.d of your PmWiki directory. For example, for French localization, PmWikiFr.* and PmWiki.* must be contained in the same directory.
Then, enable localization by adding an instruction to local/config.php to load the language translation page of your choice. For instance,
XLPage('fr','PmWikiFr.XLPage'); loads the French language page PmWikiFr.XLPage.
Read more about this on Internationalizations.
Resist the temptation to rename pmwiki.php to index.php because if you rename the file it will not be overwritten during an upgrade.
- If using the Unix tar command to unpack the archive in step 2 above, be sure that the files are created with sufficient permissions for the webserver to be able to access them. Usually you can ensure this by typing
umask 002 on the command line before unpacking the tar file.
- When installing on Windows you should take a look at Cookbook:SimultaneousEdits to enable simultaneous edits on that platform.
- Additional tips can be found at Troubleshooting.
Should I rename pmwiki.php to index.php?
Renaming pmwiki.php is not recommended. Instead, create an index.php file that contains this single line
How do I make pmwiki.php the default page for a website?
Create an index.php file that runs PmWiki from a subdirectory (pmwiki/ for example) and place it in the site's web document root (the main directory for the website).
<?php chdir('pmwiki'); include_once('pmwiki.php');
Note: You will also need to explicitly set the
$PubDirUrl variable (e.g. to
"https://example.com/pmwiki/pub") in local/config.php .
How do I enable "Clean URLs" that are shorter and look like paths to my wiki pages? Why does pmwiki.org appear to have a directory structure rather than "?n=pagename" in URLs?
How can I run PmWiki on a standalone (offline, portable) machine ?
See Cookbook:Standalone or Cookbook:WikiOnAStick.