I have been a Bluehost customer since December 2014 when I decided to purchase their shared hosting package to host toughdev.com and other sites. Three months later, in March 2015, I upgrade my server to use Bluehost VPS. and the upgrade was smooth. Data from the shared hosting package was migrated more or less seamlessly, and my new website, now on a VPS, was up and running within 30mins, with all websites still accessible. Except for the somewhat slow cPanel login as the cPanel interface seems to be hosted a central server at my.bluehost.com, and not on my VPS, and occasional service disruptions, my experience with Bluehost has been great. MOJO Marketplace, which comes bundled with my hosting account, provides easy installation to many commonly used packages such as WordPress or phpBB, and their online customer support has always been very helpful, usually providing straight answers just within a couple of minutes.
Upgrading the VPS plan
Recently I decided to upgrade my VPS resources, since the enhanced VPS plan that comes with 2CPU cores, 4GB of RAM and 60GB of disk space is insufficient for my usage. After a quick check, the premium VPS plan, comes with 3 CPU cores, 120GB storage, and 6GB of RAM, costs 30 USD more monthly, seemed to be the best option for me:
I contacted the billing department and was advised that VPS plan upgrade is not available out of the box and the only option is to purchase a new plan and painfully migrate the data! Alternatively, I could login to my cPanel, and choose to purchase the extra resources in the addons menu, which quoted me the following monthly prices:
- Extra 2GB of RAM: $15
- Extra 60GB of storage: $16
- Enhanced VPS plan cost: $59.99
This totals to a monthly cost of $90.99, more than the premium plan @ $89.99, but without the benefits of an additional CPU core and extra 1TB of monthly bandwidth. What a ripoff! Nevertherless, I decided to go head and purchased the extra resources.
On a side note, do not be fooled by the promotional prices of the VPS plans shown on Bluehost websites. You will need to subscribe for 36 months to get that price, with any renewals charged at the regular price. As the price will definitely decrease three years down the road, it makes no sense to lock yourself in for that long just to enjoy the discount. The good news is that Bluehost will refund any unused credits on your account when you request a cancellation, unlike GoDaddy which will not refund if you do not cancel within 30 days after signing up.
Expanding the storage space
After a system reboot, the additional 60GB of storage appears immediately but was unmounted. It took further configuration on cPanel for me to be able to mount this 60GB as /data, which means the purchased storage could not be used to expand the original hard disk drive, which could have been useful for people who want more space for their websites files or MySQL databases. During the purchase process, there was an option for me to select whether the 60GB of space would be used for data or for backup. None of the Bluehost sales personnel I contacted could provide a satisfactory answer regarding the differences between the options and simply told me “data is for use to store data, whereas backup is well, for backup”. I chose to use the storage for data, but I guess it made little difference …
At this point the only thing I could do to make use of the space without disrupting the existing configuration was to use them to store the automatic backups, by logging in to WHM and changing the backup destination. Bluehost VPS by default performs daily, weekly, and monthly backup of all files and settings. This is of course very useful but would result in loss of disk space since the size of the backups, although compressed in .tar.gz format, would still be huge if there are a lot of files on the VPS. Changing the backup destination to the newly purchased storage (and removing the old backups) would make more free disk space available for my websites and databases.
If you are an advanced user, you could perhaps change the MySQL datadir directory to move the MySQL data files to the new partition, or to set up symlinks so that your FTP folder could point to the new storage. I have not tried these yet, and have no idea whether they could have any side effects on a managed hosting environment with cPanel and WHM, which most likely do not expect users to manually modify config files to add strange configurations.
Problems purchasing additional RAM
Despite limited usability for the extra space, the purchase and configuration process can still be considered to be painless. I could therefore expect the purchase of extra 2GB of RAM to be the same, but unfortunately I was wrong. After waiting 15 minutes and several manual reboots of the server, nothing changed and only 4GB of RAM (original configuration) could be seen. I contacted Bluehost VPS support department via web chat, and after waiting 45 minutes staring at the “we’ll be right with you” screen, an agent told me that the RAM would be available within one hour. I waited another hour, contacted support again, and the next agent told me that the following error message was seen in their server log:
“Could not change server flavor. Resize requested, but found one already in progress”
Upon seeing the error message, I immediate knew that the extra RAM was never going to be reflected unless somebody with the necessary knowledge investigated the problem. The error seems to be a known bug of OpenStack, the virtualization platform used by Bluehost to power their VPS machines. I asked the agent what he suggested me to do, and was told that an internal ticket had been created, that the necessary support staff would be looking into it shortly and contact me via email, and I could expect my RAM to be seen within a couple of hours.
I decided to be patient and waited a day before checking again. Nope, the machine still had 4GB of RAM, and I received no email from Bluehost. My credit card was charged for the extra RAM purchased, pro-rated till the end of the current hosting term. I contacted Bluehost again and was attended to by an agent named Jake H. I told him that I expected the RAM upgrade to be seamless and received the following response:
This is what he said:
“That’s not how computers work. Some fixes are fast and seamless, and those are great. Some take hours, some can take event days or longer. I doubt this is one of those, but it’s not one that we can necessarily flick a switch and have it fixed.”
Oh well, not that I didn’t know about that. I was just sharing my thoughts and never expected to be told off. Furthermore I was surprised by the fact that all Bluehost support agents simply told me they did not have an ETA when such a serious issue would be fixed, while I was the one paying them and that my credit card was charged for services that I could not use at all. In other words, I was totally surprised by the lack of competency and poor customer service quality at Bluehost, at least for this time.
Over the next three days I contacted various Bluehost departments, from billing to technical support, only to be given the same answer – no ETA available. Either nobody was actually looking at the internal ticket for my upgrade issue, if one was ever created, or that fixing the issue require serious efforts and is not worth the amount I was paying them. I decided I had enough and contacted the billing department again to ask for a full refund of the RAM purchased. Fortunately the request was granted and the transaction reversal appeared shortly on my bank statement.
Migrating away from Bluehost
As I still wanted additional RAM for my needs, I decided it was time to choose a better host. After some research, Linode seeems to be a good choice. The Linode 12GB plan costs just $80 a month, with 192GB SSD, 6 CPU cores, 12GB of RAM and 8TB bandwidth. Full disk backup costs another $20 monthly, which is a reasonable price if you want some peace of mind. Within a day of signing up, I managed to create a CentOS 7 image and set up Sentora and Webmin to be used as the control panel. After another two more days, I managed to migrate all my Bluehost configurations (files, databases, cron jobs, etc.) and changed the domain to point to the Linode server IP address. My websites are now running on Linode and the setup is more or less on par with a Bluehost managed VPS machine, at a much cheaper cost. The control panels (Sentora and Webmin) now load faster (almost immediately) as well, since they don’t need to go through Bluehost servers. It is time for me to cancel my Bluehost VPS plan and get my money back!
Also, if you are migrating your WordPress sites from Bluehost to other servers, remember to remove the MOJO Marketplace plugin. It does not work outside Bluehost and will simply cause your site homepage to fail to load with just a blank screen. The issue is most likely due to hard-coded paths somewhere inside the plugin, causing PHP to access non-existent directories and fail immediately.