Upgrading Greenstone 2.x on Linux

Contributed by Julian Fox to the Greenstone mailing list.

There is nothing particularly difficult about an upgrade on Linux, except that you may need to keep a close eye on several of the factors indicated below. Here is one person's experience of upgrading (successfully!) from 2.73 to 2.80, not with a view to running two or more GS's on the server however - just the most recent version.

1. Initially, 2.73 had been installed at usr/local/gsdl. In retrospect it would have been better to have created a usr/local/greenstone/2.73, then let the installation create its gsdl folder there. It's just neater, that's all, and ensures the preservation of whatever has been customised. So this time I created usr/local/greenstone/2.80 (you could also just create usr/local/2.80, up to you) and having downloaded and unpacked the gsdl-2.80-unix file, then began the installation process. For anyone relatively new to working with Linux, it's worth noting that you find the Install script (Install.sh) in the Unix folder, and that you need to change its permission to make it executable, usually simply done by right clicking it and then checking the 'execute' spot under properties-permissions. Then you simply run ./Install.sh from that Unix folder and it gets on with the job!

2. The installation process asks questions throughout. Most of them have obvious answers. It's a good idea to have checked one's Apache setup earlier in order to have the right responses to questions relevant to that. Clearly, one obvious change given the creation of the usr/local/greenstone folder above was that Apache would now have to point to a different location; the /gsdl alias needs altering. I will not deal with the Apache changes here - that can be followed separately from existing documentation, just by making relevant changes. I'll just note that I let the installation use the cgi-bin folder in the new gsdl installation rather than the Apache one. It's one of the questions you are asked. I had a systems administrator nearby, so any dealings with Apache had his advice behind it!

3. There was sufficient space on the disk to actually copy all collections (a whopping 30Gbs worth) across to the new 'collect' folder created in the installation process under the new gsdl folder in 2.80. I moved each one individually and checked it but my observation was that this part could hardly go wrong - just a simple copying of the collections from 2.73 to 2.80 involved no dramatic changes.

4. The really important part of the upgrade however is to ensure that you move across all other relevant files. To be sure, I changed certain existing new files concerned (main.cfg, users.db, key.db, history.db, all to be found in /etc, and any *dm files I had altered, including the style.dm, along with new images I had added in the /images folder, and style.css there too, since I had altered that ) all to *.old or something like that, and simply transferred all my existing files from the older installation to their appropriate folders. I wasn't sure if there had been any change to the way macro files worked, so that's why I played safe, so I could return to the 'proper' 2.80 macros or *.cfg files if necessary and then make relevant changes afterwards. But in fact, simply replacing the older files, at least for this upgrade, would have made no difference. Everything worked.