= Environment = * Debian GNU/Linux but should work for every Linux distribution. * Apache 2.2 with CGI * Python 2.4 The following three directory paths are important: * , for me with Python 2.4 is {{{/usr/lib/python2.4/site-packages/MoinMoin}}}. Here are located the MoinMoin code * , generally {{{/usr/share/moin}}} * , in my case is {{{/var/www/wiki-instance}}}. It the most important path because it contains all your data. = Backup = First of all, you want to be sure you have a backup of all your data. To be sure we can easily restore and go back to the previous situation with a working MoinMoin 1.5, I suggest to not only backup but also and . {{{ # cd /opt # mkdir backup-wiki # cd backup-wiki # tar cvzf _libs_MoinMoin1.5.tgz # tar cvzf _share_MoinMoin1.5.tgz # tar cvzf _data_MoinMoin1.5.tgz }}} = Purge = To be sure that no conflict or problem araise, we will erase all the MoinMoin 1.5 installed files. {{{ # rm -fr }}} {i} this step is probably not necesary, but I got some problems when I migrate, and there seems to be related to a bad copy, so purging solved them = MoinMoin 1.6 installation = == Files == Now, we will install the files from the new version. After downloading and decompressing of the archive, go to its directory and run {{{ # python setup.py install --record=../install-1.6.x.log }}} The file {{{../install-1.6.x.log}}} will contain the list of files which where copied during the installation == Web server == Now, you must update your {{{moin.cgi}}} (or equivalent) of your instance {{{ # cd # cd cgi-bin # cp /server/moin.cgi . }}} And edit it to fit to your configuration. In general, you just have to change this line {{{ sys.path.insert(0, '') }}} You also need to edit your Apache configuration to have something like this {{{ Alias /moin_static16X/ /htdocs/ ScriptAlias /mywiki /cgi-bin/moin.cgi }}} Change /moin_static16X/ to fit the 1.6.X version of MoinMoin you use. ''If you want you can also have your MoinMoin engine installed in the root of you domain, check HelpOnConfiguration/ApacheVoodoo'' == Updating system pages == Under /underlay directory are stored the default MoinMoin pages. Now that MoinMoin 1.6 files are installed, you must update this directory. {{{ # cd # cp -R /underlay . }}} == Updating your instance configuration == I'm not sure if the /wikiconfig.py needs or not to be updated. On my server, I preferred to install the new version and then update it to fit my configuration {{{ # cp /config/wikiconfig.py . }}} == Migrate the data == The most crucial (and critical) part is the migration of your data. This is based on a set of scripts which convert your 1.5.X data to 1.6.X. {{{ # su www-data $ cd $ moin --config-dir= --wiki-url=wiki.domain.tld migration data }}} You'll get an output similar to {{{ Calling migration script for /data, base revision 1050700 Returned. New rev is 1050800. Calling migration script for /data, base revision 1050800 Returned. New rev is 1059999. Calling migration script for /data, base revision 1059999 You must first edit /data/rename1.txt. For editing it, please use an editor that is able to edit UTF-8 encoded files. Carefully edit - the fields are separated by a | char, do not change this! Entries in this file look like: PAGE OLDPAGENAME NEWPAGENAME FILE OLDPAGENAME OLDFILENAME NEWFILENAME You may ONLY edit the rightmost field (the new name - in case you want to rename the page or file). After you have finished editing, rename the file to /data/rename2.txt and re-issue the moin migrate command. Final mig script reached, migration is complete. }}} As MoinMoin 1.6 distinguish between spaces (" ") and underscores ("_") in page names, the migration lets you the possibility to rename some pages. To do it, just edit the file {{{/data/rename1.txt}}} to fix page or attachments names.[[BR]] When it's ok, just rename this file to {{{rename2.txt}}} and relaunch the previous command. == Finish the migration == Normally, the migration is now complete and you just have to do some things: * reinstall your language pack if necesary, visit the SystemPagesSetup on your Wiki as superuser to do it * reinstall all the macros, parsers, formatters, etc. you had in the previous version. Visit MoinMoinExtensions * maybe fix the text of some pages which was not handled by the migration script (e.g. if you use the Frame parser)