PmWiki Installation

(:Summary: PmWiki group header. Includes styles and trail.:) (:comment please leave the multiple style definitions concatenated as a single line. Linebreaks do appear in the output when the wiki is configured with linebreaks enabled -- thanks!:) (:comment included in PmWiki localisation headers and footers :)


(:Summary: Obtaining and installing PmWiki:) (:Audience: administrators:) This page explains how to download and install PmWiki 2.1 and 2.2. 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.

Installing PmWiki

If you upgrade, please read the page Upgrades and Release notes.

1. Download

Download the latest ''stable'' version of PmWiki as a * zip archive (, or a * gzipped tarball (pmwiki-latest.tgz) from, or Download the latest ''beta'' version from the PmWiki:Subversion page.

2. Unpack

Unpack the archive (tar zxvf pmwiki-latest.tgz or unzip 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.2.129''. The files in this directory include: >>pre<<

  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 '^[1]^'
  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 mv or 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

->@@chmod 2777 .@@

->(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.

4. Initialize

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 ( from 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.


* The PmWiki distribution deliberately doesn't include an ''index.php'' file. You can easily add your own "wrapper script" in the same directory as ''pmwiki.php''. Create a new file called ''index.php'' with the following single line of text (missing a closing " ?>" tag deliberately):

--><?php include_once('pmwiki.php');

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.

See also: * Cookbook:PHP * Cookbook:InstallOnIIS

>>faq<< Q: Should I rename pmwiki.php to index.php? A: Renaming pmwiki.php is not recommended. Instead, create an ''index.php'' file that contains this single line

-><?php include_once('pmwiki.php');

Q: How do I make pmwiki.php the default page for a website? A: 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 "") in ''local/config.php'' .

Q: How do I enable "Clean URLs" that are shorter and look like paths to my wiki pages? Why does appear to have a directory structure rather than "?n=pagename" in URLs? A: See Cookbook:CleanUrls.

Q: How can I run PmWiki on a standalone (offline, portable) machine ? A: See Cookbook:Standalone or Cookbook:WikiOnAStick. (:nl:)(:Summary:Trail and talk page links:) (:comment included in PmWiki localisation headers and footers :)


<<? >>bgcolor=#ffe border-top="1px solid black" font-size=.8em<< This page may have a more recent version on PmWiki:Installation, and a talk page: PmWiki:Installation-Talk. >><<

(:Summary:Contains the 'action' links (like Browse, Edit, History, etc.), placed at the top of the page, see site page actions:) (:comment This page can be somewhat complex to figure out the first time you see it. Its contents are documented at PmWiki.SitePageActions if you need help. :) * View * Edit * History * Print

 (:comment delete if and ifend to enable backlinks:)

* Backlinks