## Please edit system and help pages ONLY in the moinmaster wiki! For more
## information, please see MoinMaster:MoinPagesEditorGroup.
##master-page:Unknown-Page
##master-date:Unknown-Date
#acl MoinPagesEditorGroup:read,write,delete,revert All:read
#format wiki
#language en
HelpContents > HelpOnAdministration > HelpOnUpdating 

'''Index'''
<<TableOfContents>>

== General procedures ==
=== Download and unpack the new MoinMoin archive ===
Download the MoinMoin code that you are interested in updating to. If you are not a developper, this is usually the latest released version from the project homepage.

(!) Often it is better (and easy enough) to install ''latest'' release from distribution archive than relying on some outdated package provided by your Linux distribution.

=== Reading the docs ===
Please read the files `docs/CHANGES` and `docs/README.migration` contained in the moin distribution archive for details on what changed and how to upgrade.

/!\ The docs might contain import installation, compatibility and upgrade hints we won't repeat here.

=== Backup ===

/!\ '''Before you update an existing wiki, MAKE A BACKUP!'''

You have been warned, and it's not our fault when you end up like this: X-( 

As you want to make a ''complete'' backup (not even losing a single edit), you want to stop your wiki server process now.

There are two directory trees which you should backup:

 * The one containing the MoinMoin code files (e.g. {{{/usr/lib/python*.*/site-packages/MoinMoin}}})
   * (!) after you have a backup of this, you might want to delete the `MoinMoin` directory there to avoid having old code files there that are not overwritten by the new code, but maybe interferring with it)
 * The one containing your data (e.g. {{{/usr/share/moin/wikiname/data}}} - see data_dir in your moin_config.py). 

The real paths depend on your installation.

You also need to backup:
 * your moin.cgi file (or moin.fcg or other adaptor file you use)
 * your wikiconfig.py or farmconfig.py or other wiki configuration files
 * your web server configuration files

=== Code update ===
If you are installing from the original distribution archive, run "{{{python setup.py install}}}" as root to install the new version.

If you are using some Linux (or other) distributor's package, please read their docs.

If CHANGES tells you, you maybe also need to upgrade your moin.cgi (or moin.fcg or other adaptor) file. You maybe need to set some specific user/group/mode on that file (just look at the old one before replacing it).

=== Configuration update ===

After upgrading, your existing wiki should continue to work (the goal is to have sane defaults for any new config values, but then there can be bugs).

Check that this is indeed the case, and then take the time to check the CHANGES file in your distribution archive. Often, new features will be invisible unless you extend your configuration in `wikiconfig.py` (1.3+) or `moin_config.py` (<=1.2.x).

Check that you have the latest "intermap.txt" file; If you have your own entries, you can point "shared_intermap" at a file loaded ''before'' the file in your data directory, which takes precedence (i.e. have global entries in the shared one, private entries the data dir file).

=== Static stuff update ===

On every update, you should copy the content of the "wiki/htdocs/" directory we provide to the directory visible to your web server, normally a new release has some new images, CSS and Javascript in it.

You also have to change your web server / directory setup to match the `url_prefix_static` setting of moin. Starting with moin 1.6, this defaults to `/moin_staticVVV` (VVV is 160 for moin release 1.6.0) and the default will change on every release (moin 1.6.1 will use `/moin_static161` by default). This is done to be able to use a very long cache lifetime for the static stuff, so your wiki will be faster and cause less load and traffic.

=== Wiki pages update ===
==== System and Help pages ====
Since moin 1.3, system and help pages are separated in the `underlay` directory. Just use the fresh underlay directory we provide in the distribution archive (and throw away the old one).

For pre-1.3 procedure, please see CHANGES file.

==== Your valuable own pages ====
See CHANGES and README.migration for maybe necessary steps to convert your `data_dir` to what we expect.

=== Troubleshooting ===

A good idea is to do a request for "...?action=test" (which calls an internal diagnosis feature) after you installed a new release, which will spot some common errors. If one of the tests fails, don't panic, but see CHANGES if it is a known effect.

Depending on your installation, more tightly secured permissions are a good idea. Ideally, you assign all files in the data directory to the user the web server runs under, and then you use `700` or `770` - see also the `config.umask` setting.
