Going Back to Zope 2.7
When I wrote my Notes on Zope 2 migration some while back, reinstalling an old Zope version was a side topic only. Last Thusday on #zope, there was an enquiry that led to a reinstallation of a Zope 2.7 install. Which is really old stuff, but it turns out, it was needed to get an unfortunate admin up and running again. The story commences with "eriolssi" asking for help, because as I understood it, he (I assume "he", though apparently there exists a female game character by that name) accidentally deleted a Zope install...
Then he had tried to install Zope 2.10 - I assume because that's what the operating system package manager had to offer. (For those outside the Zope world: It's neither the latest version by far, nor is it actually close to what he needed, having some technological changes). Since the Zope install was for a Plone site, this led to a lot of errors. Each Plone version is usually tied to one Zope version and it's not for a complete newbie to try to work around such a prerequisite. So I suggested getting a Zope 2.7 installed again.
Problem number one was, that Zope 2.7 required Python 2.3. That was available from packages, but wouldn't install due to conflicts with other packages. Which is kind of expected, since the package manager installs a python for all the system to use. In our case, we are lucky that we can install a Python interpreter that is "private", i.e. a non-root install, in some user directory, used only for that version of Zope. This will not mess up the system in any way.
We (the helpful people on #zope) had to help eriolssi a bit with the install procedure. Looks like lots of admins are so used to package managers that even a simple ./configure / make / make install is unknown. Some developer tools were also missing, but could be added without trouble. All installs were done in a newly created /var/zope, to be run by a special user for Zope. All the install procedure is done by a normal, non-root user, no sudo or anything.
The next step was to install Zope. Obviously, the 2.7 offered by the package manager wasn't happy with the manually installed Python. Instead, download a "historical" Zope release and install from source. These live on http://old.zope.org/Products/Zope/swpackage_releases and usually one can choose the latest sub-version of the needed version. Eriolssi had the next problem that there was no zlib in his Python install, getting zlib-dev from packages and recompiling Python solved that. Then Zope 2.7 compiled fine.
Last step was to update the paths for Python and Zope in the Zope instance and it would start up again. In this case, he was also missing some extra Python libraries, but the big work was done. Note that this isn't really a migration (neither of Zope, nor of the Plone CMS running on top of it). But many times getting the old server to run again is the first step to migrating the old content.