We have a really old server with ubuntu 10, and the plan is to move all the sites to a a newer Ubuntu 16 (virtual) machine (64bits).
The server has a lot (≈50) of old sites (some maybe 15 years).
I think one is 2.5.x, others are 'everything from 3.x to 5.0.
Every Zope has a few Plone sites, so there are about 15 Zope installation (using pythons from 2.4 to 2.7)
Some zope-instances have been installed with its own python ( probably python2.6) and a lot does not have a 'bootstrap.py' file.
All the sites are small, most are installed as standalone (and they dont need varnish / cache in front).
The plan is to move them from server A to server B, then upgrade server A, so we are sure they they are running while upgrading, and if 'something goes wrong'.
Any suggestions on how to do this the least painful way ? I love how bob templates lets you pip install requirements and then just edit the buildout.cfg file. Could it be possible to install 3.x sites and 4.x sites with pip ?
You'll need old legacy Pythons your distribution does not offer. These you have to compile yourself. Extra care has to be taken to ensure openssl is linked correctly as otherwise setuptools and buildout cannot fetch packages from PyPi.
A second gotcha is whitelisting the new PyPa resources in the buildout configs.
And the old KGS is no more, but there is a dump of the pinnings somewhere.
These days you also do not need to boostrap, as you can just install zc.buildout into a virtualenv and use that (buildout on the $PATH provided by the virtualenv vs. bin/buildout).
Additionally, why not Ubuntu 18.04 at this point? Would again give you a longer breathing room before having to bother again.
Seriously, do a full backup of everything. Running an old buildout or bootstrap in old installations can give lots of headaches.
Depending in how much you customized your installations, I would go with @hvelarde's approach: install transmogrifier on where you site is currently running, an import in a Plone 4 new server from scratch.
I'm assuming you're going to upgrade your Plone versions... or are you intended to just update Ubuntu and keep you Plone installations in the same version but running on new Ubuntu?
I would put every single site into an own docker build and run it isolated. You know, there are no security updates for such old Plones. I know @agitator did this with an inherited Plone 2.5 site. Also, I know he got some headache about it at first, but now it run smoothly.
I managed to move some Plone 3 sites, so I have started on some of the Plone 4.
So far all of them stop because they can not download some add-on, or requirements. Is there any reason why something that installs from buildout on Ubuntu 10 would not install on 16?
Getting distribution for 'collective.js.jqueryui'.
Couldn't find index page for 'setuptools_git' (maybe misspelled?)
No local packages or download links found for setuptools-git
error: Could not find suitable distribution for Requirement.parse('setuptools-git')
An error occurred when trying to install collective.js.jqueryui 2.0.1. Look above this message for any errors that were output by easy_install.