Migrating sites from ancient Debian 4 server

Discussion in 'General' started by Spawnsworth, Feb 9, 2016.

  1. Spawnsworth

    Spawnsworth Member

    We have a Debian 3 server which hosts about 50 sites. We're going to move these sites on to a brand new ISP Config server. Is there a way to do a bulk move of the sites so they can all be created in ISP config or any helpful scripts/tools to make this migration easier.

    Debian 3. I know what you're thinking! We've been trying to get this replaced for ages and now finally able to do so. Any general hints/tips of an easier migration or do we just need to set up each site and database individually? I think there are some mail accounts also.


  2. Jesse Norell

    Jesse Norell Well-Known Member Staff Member Howtoforge Staff

    You could script the domain/account creation using the remote api (http://git.ispconfig.org/ispconfig/ispconfig3/tree/master/remoting_client). And maybe there's another way to import that, I don't know.

    As for copying your websites and databases, you might be able to script that as well, though the website part will depend on your filesystem layout on the old server, whether it's a simple copy files in src dir to dest, or if you have things broken up (eg. we have some old sites with private files stored outside the website root - a simply copy wouldn't catch everything).

    Also you'll need to test whether your sites work on the new server, as you're likely bumping up major versions of php at least, if not perl, python and ruby as well. If you have to update/fix each site individually then probably copying them individually makes sense, too.
  3. till

    till Super Moderator Staff Member ISPConfig Developer

    We offer a migration tool at ispconfig.org for such imports. From the readme file:

    So in case that you want to save some time and use a ready made tool instead or building one with the api yourself, then please contact me by pm or email to info [at] ispconfig [dot] org. The tool is not listed on the website yet, but it can already be purchased, the price is 59 Eur. We had developed the tool for our internal use and use it for more than 2 years now to imports systems for our customers, so it is stable and reliable.
    Farsus, DDArt and Elayne like this.
  4. jnsc

    jnsc rotaredoM Moderator

    Hi till, how are you? does the ipmort tool work for a single sites at time (ISPConfig 2), or must the whole server be migrated at the same time?

  5. till

    till Super Moderator Staff Member ISPConfig Developer

    The tool imports a complete server, so you can't use the current version to migrate just one website.
  6. Jesse Norell

    Jesse Norell Well-Known Member Staff Member Howtoforge Staff

    Any chance that could be added in the future? If there are a large number of domains moving from the old to new server, it's understandable to only do a limited number at a time to reduce the number of potential issues/support calls (especially for known required changes like email settings).
  7. till

    till Super Moderator Staff Member ISPConfig Developer

    We will try to implement that. It is not that easy as it might look at the first glance as you have to do a reverse lookup which clients own these sites and then import just these clients first and later you can get possibly problems when you try to import a second site of the same client, so there must be also a switch to not import clients so that the tool tries to find a matching client with same username on the new system.
  8. Jesse Norell

    Jesse Norell Well-Known Member Staff Member Howtoforge Staff

    You said (in another thread) that the tool writes a script to be run to perform I think the file and database transfer - maybe it could/should write a metadata file that records what source server/customer/account info was converted to what destination server/client, and then add the ability to re-read that file rather than trying to figure it out again? Likely it's already in memory in an array at some point, just write the array out in json or xml and it might be fairly simple to do. (though might want a routing to check that the destination server/client info exists before trying to use it)

Share This Page