We often have Resellers get their business in a position where they want to have more control and upgrade to a Virtual Private Server (VPS).
Given our high-speed cloud infrastructure, this allows customers to move over to a semi-dedicated environment with the ability to add more resources as their business grows (full root access and control over the Operating System).
Our top Resellers will have a combination of both; multiple Reseller accounts and Virtual Private Servers.
Before you begin though, there are some important items that should be taken into consideration to save you the headache of having to go back and forth with support to ensure a smooth transition.
Migrating From Reseller To VPS Checklist
- Determine Your Goal – The first step is to determine what your exact goal is: Are you wanting to migrate your entire Reseller account? Do you just want to move your primary website? Or are you just migrations one (or a couple) accounts. Is the VPS permanent or are you just moving an individual client for a high traffic event (i.e. holiday shopping)?
- Prepare The Environment – Once you have your goal in place, you need to then prepare the environment you’re wanting to setup. All of our Reseller Hosting accounts run on the CloudLinux Operating System with CageFS and PHP Selector. We also use the LiteSpeed web server (with LS Caching) and have Cloudflare integrated directly into cPanel. If these features are important to you, you’ll want to select them when deploying your VPS (please allow up to 24 hours for installation/configuration).
- Calculate Your Resources – Before you place your VPS order, you need to make sure you’re ordering enough resources to satisfy your goal. This is probably the most overlooked step. Our Corporate Hero Reseller package allows for up to 100GB SSD Raid 10 space and 2TB a month in Bandwidth. It allows for the creation of unlimited cPanel accounts and runs on a very powerful node. If you’re moving from the Corporate Hero you’ll most likely want to start with the Hero 6GB or Hero 8GB VPS hosting package. While disk space/bandwidth are important you’ll also want to consider the RAM and CPU cores. This will determine the speed of your new infrastructure, so you don’t want to go too low. If you have 50 or less accounts, the Hero 6GB should be a good starting point, but anymore than this, you’ll probably want to start with the Hero 8GB. If you need more than this, please reach out to our sales team for a custom configuration (we can handle anything).
- Remember Additional Services – During the order process it’s also important to remember extra features such as a WHMCS license. Our Corporate Hero Reseller package comes with a complimentary Starter license, therefore if you plan on cancelling it, you’ll need to order one of these. Since all VPS hosting packages come with a complimentary cPanel/WHM license, you’ll have to order the WHMCS additional (they are provided at a discounted rate). The same for Backups. All our Reseller Hosting accounts come with complimentary nightly backups with one day retention. For a VPS, you’ll want to make sure you setup your own backups or at least order our automate backups. I have a blog post that explains how I suggest configuring backups.
- Deploy the Virtual Private Server – This step is pretty straight forward, especially once you’ve completed the above steps. You need to deploy the “target” server where you’re wanting to migrate too. This must be online before the data can be moved. It’s also important that you DO NOT cancel your Reseller account until everything has been migrated and you can confirm 100% all the data has been moved successfully. I repeat, DO NOT cancel your current hosting package until you’re ABSOLUTELY certain.
- Setup Basic Configuration – Once your new VPS is online, you’ll want to configure it to satisfy the goal mentioned in step one. We have a course called VPS Hosting 101 that’ll walk you through this setup in an easy step-by-step manner. If you plan on using the same private nameservers as your Reseller Hosting account, you’ll want to wait to update the nameserver IPs on your domain until the migration is complete. Most find it beneficial to use separate ones so they can take their time on the migration. For example, if your Reseller account is using ns1.yourdomain.com and ns2.yourdomain.com you may want to configure the VPS to use ns3.yourdomain.com and ns4.yourdomain.com. You’ll also want to examine your rDNS records (matching your hostname/domain with your IP addresses) and request our support team make any changes needed.
- PHP Configuration – If you’ve decided that you’d rather use Apache web server vs. LiteSpeed – this is fine – but keep in mind the PHP handler is going to be different. LiteSpeed has some great information on their website about their PHP handler. With cPanel/WHM now bundling PHP-FPM with Apache, some are finding very similar performance using this. However, PHP-FPM requires more RAM, so you’ll want to make sure you’ve prepared for this. As a general rule of thumb, you need at least 0.05GB of RAM per domain on the system (not just per cPanel accounts). Therefore if you are hosting 500 domains (including Add-on domains) and you want to use PHP-FPM on all of them, you’ll want at least 25GB of RAM which will require a custom solution (mentioned in step 3). You’ll also want to make sure the default system PHP version matches the current version your websites are on now and is compiled with the required extensions (i.e. Ioncube loader). It’d be a good idea to compile this data on your current Reseller account by going through your accounts and looking at the values inside cPanel -> Select PHP version. The default PHP version and PHP handler is configured inside of WHM -> MultiPHP Manager. PHP extensions / additional PHP versions can be compiled inside WHM -> Easy Apache 4. Failure to configure this could lead to sites not loading properly once migrated over. Additionally, if you have any customers/websites using the LiteSpeed cache, you’ll want to have that configured on the target server ahead of time. If you’re not going to be using LiteSpeed, you’ll want to make sure this is removed and disabled before migrating (or you’ll get some nasty internal server errors once migrated).
- Setup Auto SSL – One of the most beloved features at NameHero is our free and automatic SSL certificates. This not only saves your customers money but also the headache of having to hassle with a tedious installation. If you’re moving to your own VPS, you need to configure how this is handled. By default, cPanel/WHM uses the Comodo auto SSL option. If you’d prefer Let’s Encrypt, like NameHero, you need to install this on the server. I cover this inside my VPS Hosting 101 course.
- Prepare For Migration – Once you’ve completed all of the above and your “target” server is ready, you can then prepare to migrate data from your Reseller hosting account. It’s important to remember that once the data has been migrated, any changes made to a website (including emails) will be lost until the DNS has been changed. Some customers will wish to schedule this for late evening hours / weekends while activity is low. If you plan on having our team carry out the migration, we ask for at least a 24 hour advanced notice so we can plan accordingly.
- Backup Your Accounts – This step is all too often skipped because it’s a pain in the butt. I completely understand, especially if you have a lot of accounts, this can be very time consuming. But the downside to not doing this is so great, it’s worth spending the extra time to avoid the consequences later (trust me, I can tell horror stories). You should do this by taking a Full cPanel Backup of each website by going to cPanel -> Backup -> Download a Full Account Backup. If you have room on the new VPS, you can use the FTP option to automatically send these over (I like to create a seperate cPanel account called ‘restore’ to save them). Your other option is to download them locally to your computer and store them using a service such as Dropbox or Amazon S3. If you have an account that’s larger than 20GB in data and/or 100,000+ Inodes, you’ll need to request these backups from our support team; they’ll be happy to assist! You should retain these backups for at least 60-90 days.
- Begin The Migration – Once you’re satisfied with all of the other steps, you can then begin migrating the data. You can do this on your own (send the Full cPanel Backups to the new server and restore them) or our team will do it for you free of charge. If you’re using our support team, we ask to allow up to 24 hours to complete the migration, but most of the time, it’s completed within a couple of hours at most.
- Test The Websites Locally Before Changing DNS – Once the migration has been completed, you’ll want to test the websites locally before changing the DNS. This allows you to view the website on the new server using your computer (and not the rest of the Internet) to ensure everything came over properly so your clients aren’t going to experience any interruption of service. This can be done by modifying your local host file to point a domain to a specific IP address. I have a full guide on how to test or preview your website before changing DNS on our blog. If you notice any errors, now is the time to get them fixed.
- Re-Import Any Last Minute Changes Of Data – The last two steps can take sometime, especially if you have a lot of data to migrate over. Therefore if anything was changed during this time (i.e. post made on WordPress, cronjob ran on WHMCS, etc.) you’ll want to make sure an updated database is brought to the new VPS before changing the DNS. You can easily do this by going to cPanel -> Backup -> Download a MySQL Database Backup on your Reseller account and then re-importing this file inside the VPS -> cPanel -> Backup -> Restore a MySQL Database Backup. If the change was an uploaded file (i.e. image to WordPress) you’ll want to upload it manually to the VPS by going to cPanel -> File Manager -> Uploading to the appropriate location.
- Check Individual Website Configuration (PHP Version, CronJobs, etc.) – When doing cPanel to cPanel migrations the system attempts to retain the exact same settings as the previous server. However, if you’ve made changes such as removing LiteSpeed/Cloudlinux you need to examine PHP version of the website. If you’re using Apache, you can control the PHP version inside of cPanel -> MultiPHP Manager (or WHM -> MultiPHP manager). Make sure the PHP version matches the old server as well as the existence and location of any CronJobs configured. Additionally, now is a good time to check the packages of your new accounts to ensure they have the proper features/space allotments. This includes SSH access as well.
- Change/Update Your DNS Records – At this point, you can then make the necessary DNS changes to reflect the new server across the Internet. If you’re using the same nameservers as your Reseller account, you’ll need to first ensure the proper A records exist on the VPS (WHM -> Edit DNS Records) and then modify the registered nameservers at your domain registrar. If your domain is registered at NameHero, our team can make these modifications for you. If you’re using new nameservers, you may update your domain(s) to use these. If you have a domain using a third-party DNS provider (such as a full Cloudflare integration) you’ll want to login to that service and modify the corresponding A record(s). Once the DNS is updated, domains will generally begin pointing to the new server within an hour or two. However in some cases, this may take up to 24 hours, especially if you’ve visited the website recently in your browser. When you make this edit, it’s important to go back to your local host file (from step 12) and remove those entries (so you’re pulling from the Internet and not your local host file).
- Suspend The Account(s) On Your Old Reseller Account – Finally, you’ll want to make sure your client(s) aren’t making updates/pulling edits from the old account. To ensure they’re pulling from the new server, you’ll want to suspend the account on the old account. You should leave these suspended for at least 48 hours after updating your DNS just incase you need to go back and get some forgotten data.
- Cancel Your Old Reseller Hosting Account – If you’ve migrated everything from an existing Reseller Hosting package, you’ll want to cancel that account so you’ll no longer be billed for it. I recommend requesting this cancellation no earlier than 48 hours after you’ve changed your DNS, but really suggest 30 days just incase something really goes wrong. You can easily request cancellation inside of the NameHero client interface under your package. If you still have purchased time left on your old account (i.e. signed up for two-years) you can also log a new billing ticket to have this time credited to your NameHero account (unfortunately no cash refunds outside of 30-days).
Congratulations! If you made it through this entire checklist you’ve completed the migration successfully.
Trust me, I completely understand how exhausting this can be, so I recommend really evaluating your goal(s) before beginning this process. Some may wish to migrate the data over an extended period of time so you don’t have to overwhelm yourself.
It’s also important to note that moving to a VPS the goal shouldn’t be to “reduce cost” as a Reseller Hosting account is the most “affordable” way to get started with your business. The purpose of migrating to a VPS is to be able to have more flexibility in terms of control of your business (i.e. add more resource limits, custom software, etc.). This is why we’ll typically see customers have a combination of both Reseller and VPS hosting accounts as some prefer to roll out gradually to keep their costs down and ROI positive.
If you have any questions or feel like I left out something, feel free to add your comments below!
We thank you all for your business and look forward to being your web hosting provider!
Ryan Gray is the founder and CEO of NameHero, one of the fastest growing independent web hosts in the United States. Ryan has been working online since 1998 and has over two-decades experience in Internet Entrepreneurship.
Leave a Reply