Moving an existing Drupal site (either a production site or one built on a development server) to an OIT Web Hosting account is not terribly difficult, but it is important to make sure you follow all of the right steps.
Skills Required for Migrating a Drupal Site
- You will need to know how to access the Plesk control panel for your account in order to complete the rest of these steps you may also wish to set an SSH password or SSH key so that you can SSH into your web hosting space.
- You should have a basic understanding of filesystems and mySQL databases, as well as phpMyAdmin
- If you need assistance with some of these steps, check with your local unit's IT support staff
Before You Begin
If you haven't done so already, you'll need to request a hosting account from OIT. If you are moving a live site, you should ask for the account to be set up as the hostname of your live site, but ask that DNS not be updated yet, since that would disrupt your existing site. Once the account is set up, you can do one of two things to access it while you are working on migrating your existing site:
- You can edit your local computer's hosts list (on Linux and Macintosh computers, this is /etc/hosts) to locally map your live site's hostname to your OIT hosting account. This is the quickest method, but while you have this mapping in place you won't be able access your existing live site from that computer.
- You can create a DNS alias for your new site. You or someone in your IT staff will have to create the alias in DNS, and then you'll have to go into the Plesk control panel for your new OIT Web Hosting site and add the alias there (via the Add New Domain Alias button on the main page) so that the Plesk server knows that your DNS alias goes with your OIT Web Hosting account. This method takes a little more effort to set up, but with it you can access your new site from anywhere while you are testing it, and you can access your existing live site from the same computer at the same time.
- You could actually mix these two methods for perhaps the most versatile option: you can define an alias for your new site in your local computer's host file, and then add that alias to your Web Hosting account via the Plesk control panel, but without adding the alias to DNS. This will let you access both the old and new sites from your local computer, but you still won't be able to access your new site from anywhere else.
When your new site is ready to go live and replace your existing live site, you can have DNS updated (see below) and remove any unneeded aliases that you have created.
Moving Any Drupal Site to an OIT Web Hosting Account
- You will need to create an archive of the filesystem of your existing site, and an archive (often called an SQL dump) of your existing site's database. How you do this will depend on where your existing site is located. Please note that if you are comfortable with using SSH, you can archive your site's filesystem as either a GZipped Tar archive (.tar.gz extension) or a Windows style ZIP archive (.zip extension). If you are not comofrtable with SSH and prefer to upload your archive to your Web Hosting account via the Plesk control panel, your archive must be in Windows style ZIP format.
- Upload the archive file to your OIT Web Hosting Account and unpack it where you want your Drupal installation to live. From within the Plesk control panel, you can upload the archive file via the File Manager. Once the file is uploaded, just select it in the File Manager to unpack it. After the archive file has been unpacked, move it to your hosting account's "/private/" folder.
- In the Plesk control panel, go to the Databases manager and create a new database. Copy down the database name, the database user name, and the password, as you will need them later.
- While still in the Databases manager, on its main page select the phpMyAdmin link for the database you just created. This will open phpMyAdmin for this database in a new browser window or tab. On the Import tab of phpMyAdmin, import the SQL dump of your existing site's database.
- Either via SSH or the Plesk control panel's File Manager, modify your Drupal site's sites/default/settings.php file and update the database information in it to match what you copied down in step three above.
- Navigate to your Web Hosting account's main URL, and you should hopefully see the front page of your Drupal site. Try logging into it and check the Drupal status page and error logs to see if there are any problems with the site.
Updating DNS When Moving a Live Site
If your site is already live in another location, then you will need to update DNS to point your site's hostname to your new OIT Web Hosting account. You will need to know your hosting account's server name - to get this, just look in your browser's address bar while logged into your Web Hosting account's Plesk control panel. The server will be web-plesk##.oit.gatech.edu, where # is a number. Either update your existing site's hostname to point to this Plesk server, or if you don't have that kind of access, ask your local IT support staff to make the change for you. If you don't have anyone in your unit who can update DNS, you can always open a support request with OIT.
A Word on Migrating a Development Site to Live Production
If you are developing your site somewhere else and then moving it to an OIT Web Hosting account (or any other server where the DNS hostname for the site will be different from what it was in development), then you need to take special care to make sure that your internal links do not break.
When setting the URL paths for page links, inline images, attachment files, etc., make sure to enter those URLs as relative paths. A regular (called 'absolute') URL looks like this:
The relative version of that path looks like this:
Relative paths will continue to work even after you change the hostname of the website. Absolute paths will cause the user's web browser to try to follow the link back to the development site. This can cause all kinds of problems, ranging from links not working and images not showing as soon as the new site goes live, to problems that aren't detected until someone shuts down the development site months after the production site went live.
The command line savvy developer may want to search through his/her SQL database dump for the hostname of the development server before uploading that dump file to the new OIT Web Hosting account. This is a great way of catching any absolute URL links that are still lingering about somewhere in the site.
Importing a Migrated Site into Installatron
Installatron is a service available in OIT Web Hosting that (among other things) can keep the core of your Drupal site automatically updated with security patches. To import a migrated Drupal site into Installatron, please refer to the Installatron documentation provided by OIT's Web Hosting team and watch the video tutorial on this page.
Please note that by default, Installatron does not enable automatic updating of Drupal core when importing a Drupal website into Installatron. To turn on automatic update:
- From the front page of the Plesk control panel, look for the Installatron Applications Installer link on the right-hand side of the page.
- In the section that gives details about your Drupal installation, select the blue wrench icon button.
- Under Automatic Update, select 'Create a backup and update to new minor versions and security releases. (Recommended)'.
- Select Save All.