Migrate WordPress from Cloudways to Vultr with ServerPilot (In 1 hour)


#1

Terminology

  • Cloudways - A managed Cloud Web Hosting platform that can be used with Cloud services provider. This makes things easier by providing a user-friendly interface to manage application like WordPress. The 1 GB RAM server pricing start from $10/mo

  • Vultr - A most affordable and yet powerful Cloud web server provider to run WordPress smoothly. The 1 GB RAM server Pricing starts from $5/mo.

  • ServerPilot - A platform to manage a Cloud server like Vultr and run unlimited PHP and MySQL based application like WordPress, free of cost.

  • SSH: Secure Shell to control a web server.

  • Putty: A SSH application, feels like Command Prompt.


Why Vultr?

:boom: Do you know? By migrating my WordPress from Cloudways to Vultr, I save $5 each month.

  • Cloudways charge at least $10/mo for 1 GB RAM web server.
  • At Vultr, now I pay $5/mo only to run 1 GB RAM server

This way, I save $60 each year on web hosting. :sunglasses:

Nowadays, most beginner struggle with some kind of web hosting that is not only costly but also comes with hell lots of restriction and poor performance.

I can remember when I was a user of any shared hosting company(I am not mentioning anyone name), regularly I was facing some kind of problem… and I had to search on Google below most popular search queries.

  • How to fix error 503?
  • Varnish Backend Fetch failed
  • How to fix disk error of Filezilla?
  • How to fix slow site?
  • How to increase PHP memory limit, execution time and what not!!

Support? Drop a ticket and expect copy-paste crap as usual…!!
If anything left, upgrade to a dedicated server. :expressionless:

I have so frustrating experience with shared hosting. I can’t imagine even to go back.

Today, I am so glad, I am not in that comfort zone of ready-made cPanel and File manager. At least now, I don’t face all those common issues.

Nowadays, these are …

Trending lame excuses about using Cloud VPS, despite the fact it’s so affordable (starting from $2.5/mo).

  • I am not a tech-savvy, this is not for me.

  • I need cPanel, without it I can’t think about running WordPress.

  • It would be costly.

My dear,

If you won’t come out from comfort zone, you won’t learn anything new…!!

Let’s learn something new today -

Install WordPress on Vultr With ServerPilot

I will show you how exactly I migrated a 15 GB, Self-hosted WordPress site in just an hour. It was an amazing experience for me to work on that site.

This is a stupid S I M P L E process that you can follow anytime.

Think yourself, If I can migrate a 15 GB WordPress size, why not you?

Required

Login credentials of the old and new web server
Access to SSH
1 hour, patience


Step 1. Launch a new Vultr Server

  1. Sign up at Vultr (Discount Link) & do first recharge with $10.
    vultr-25
    (While sign up, please don’t use fake name or someone else account for making payment.)

  1. Add a new Server
    launch%20a%20new%20web%20server

  2. Choose a Server Location, better close to your target audience.

  3. Choose a Server Type, Ubuntu 16.04 x64

  4. Select Server Size, select at least 1 GB RAM for best performance

  5. Select additional features, Enable IPV6, you may also check Auto Backup if you need.
    additional%20feature

  6. Skip, Startup Script and SSH Keys, enter Server Server Hostname and Level

  7. Confirm monthly Billing, Deploy now

  8. Wait for few minutes, while Installing.

  9. Once finishes, you will receive a confirmation email.

  10. Assuming now, Ubuntu 16.04 x64 version server has been deployed successfully.


Step 2. Point DNS Records to Vultr Server IP Address

  1. Now, it’s time to point DNS to the server IP. Please maintain two records
    Hint: You can find Server IP written inside Vultr Dashboard or email.
    image

A --------------- @ ---------> IP address
CNAME ---------- www --------> @

  1. Let’s see live, how I do it easily. Login to your DNS manager (I prefer Cloudflare especially for it)

  2. Select domain > DNS > Update records > Make sure to keep DNS records in DNS mode only by keeping Grey Cloud. No orange, please. You need to keep DNS mode until SSL is not installed (in the next upcoming steps).

  3. Or, go to Cloudflare Overview page > Advanced > Keep it Paused

  4. Next, it may take up to 30 minutes for the DNS propagation.


Step 3: Installing WordPress with ServerPilot

  1. Meanwhile: It’s time to connect to a Cloud platform, Login to ServerPilot.io. We will use its free plan, that is enough for WordPress.

  2. Once Dashboard open, click on Connect Server

  3. Enter your Server IP address, root password, and for SFTP choose yourself a new password.

  4. Copy Server root password from the Vultr account > Server

  5. Now, please click on Connect Server and wait for a while till ServerPilot finish installing . . .

  6. This will start installing every required elements automatically like Nginx, PHP, etc. Sharing few screenshots.
    Installing ServerPilot . . .


    SFTP Creation under process . . .

    Installing PHP. They provides from 5.6 to 7.2

    Finally, Serverpilot has finished installtions all required elements.

  7. From now, managing everything is fun. Let’s learn how to install WordPress in 1 click.

  8. Click on Create App button in ServerPilot
    Enter your choice app name in small letters, example demowp
    Enter domain name
    Check WordPress
    Enter a new username
    Enter a Password
    Select PHP 7.1 (Hint: You may choose 5.6 for better compatibility with old plugin)
    Select Server - Vultr (I named it demo)
    Chooser user: ServerPilot

  9. Create App, get WordPress installed in less than 5 seconds


Step 4: Installing Let's Encrypt SSL

Before following, please make sure that your domain point directly to Vultr Server IP.
You may Verify propagation status using DNS Checker tool
.

  1. Let’s learn how to Install SSL Certificate. Login to your Server using Putty

  2. Open Putty Application > Enter Server IP address > Click Open button
    using-putty

  3. Click on Yes, when Security Alert prompt on your screen
    security-alert

  4. Enter username root

  5. Copy Server password, Right click in Putty to paste and Press enter key.

  6. Now, you should be logged in.

  7. If you see any update, just type apt-get update and enter key. Okay, let’s move to installing SSL
    image

  8. Type below command one by one to install Let’s Encrypt SSL Certificate
    installing-ssl-1


sudo su
cd /usr/local/bin && wget https://raw.githubusercontent.com/lesaff/serverpilot-letsencrypt/master/sple.sh
sudo chmod +x sple.sh
  1. Now, we will begin installing let’s Encrypt to app using command
    sple.sh

  2. Just Press Y key

  3. Provide WordPress application name demowp (Find at ServerPilot, as followed in step 24th)

  4. Provide system username serverpilot

  5. Enter domain name in non-www and www format with space. No comma allowed.
    image

  6. Press Enter key, Let’s Encrypt should be installed now.

  7. Let’s set Auto-renewal. As we know let’s encrypt expires after few months, type crontab -e

  8. Type 2 to select nano mode.
    image

  9. Enter below command
    0 */12 * * * letsencrypt renew && service nginx-sp reload

  10. Use CTRL+O and Enter key command to write out. Press CTRL+X to exit. (Please see the on-screen instructions)

  11. That’s it. A new Cron job should be added now.

  12. A common error - What if the site says like this :fearful:

  13. Nothing to panic. Your DNS propagation is still pending. :stuck_out_tongue:

  14. Okay, to fix this issue. I will delete some files.

  15. Go to directory /etc/nginx-sp/vhosts.d

  16. You will see list all the SSL config files

  17. Delete the <appname>.ssl.conf that is causing problem

  18. Restart NGINX sudo service nginx-sp restart, your site should be working fine now.

Try installing SSL again by typing sple.sh command after some time when DNS propagation completely finish. Learn more.


Step 5: Migrate WordPress from Cloudways to Vultr Easily

If you believe WordPress is installed properly at ServerPilot, and running fine with HTTPS, then you should proceed with below steps. I have written this guide here too. However, this process assumes that in beginning you keep your IP pointed to old hosting, then once you export everything then you switch to the new IP.

  1. Login to Cloudways > Server

Copy Master Credentials (IP, Username and Password)
Copy application path

  1. Access now using Putty

  2. Navigate to public html directory cd applications/app name/public_html/

  3. Create ZIP of wp-content folder zip -r wp-content.zip wp-content/

Wait till completion, this may take few minutes to an hour.

  1. **Please, point IP to the old Server as we going to download the wp-content.zip file to the new server **

  2. Login to the new server via Putty

  3. Type cd /srv/users/serverpilot/apps/appname/public/ to navigate public directory.
    (At ServerPilot, it’s public not public_html)

  4. wget http://example.com/wp-content.zip to download wp-content.zip file at new server

  5. rm -rf /wp-content/ to remove old (default) wp-content folder.

  6. unzip wp-content.zip to unzip the old wp-content.zip file in the wp-content folder.

Now, wp-content part done. Now, please point IP to new Server.

  1. Go back to Cloudways > Application > launch MySql Manager > Export all tables at the system

  2. Log in again to public_html directory of a new server

  3. Install phpMyAdmin at the new server, the command is written below.


wget https://files.phpmyadmin.net/phpMyAdmin/4.7.8/phpMyAdmin-4.7.8-all-languages.zip && unzip phpMyAdmin-4.7.8-all-languages.zip && rm phpMyAdmin-4.7.8-all-languages.zip && mv phpMyAdmin-4.7.8-all-languages phpmyadmin


  1. Edit wp-config.php, grab MySQL username and password

  2. Make sure to Point the new IP to your domain

Edit host file or switch at DNS directly

  1. Login to phpMyAdmin www.example.com/phpmyadmin/

  2. Important export tables from Cloudways MySQL manager

  3. Update Database Table Prefix at wp-config.php file

  4. Update robots.txt file.

  5. Now, you can point your domain IP back to the new Server. Everything should be running fine now.

That’s all.

Related

  1. [Guide] Install WordPress into Subdirectory at Cloudways
  2. [Guide] Install phpMyAdmin for Cloudways Application Database

FAQs

Why Vultr? Why not Digital Ocean?

  • To avoid GST charges. To get timely support. :sunglasses:

How can I use IPV6 Records? (Optional)

  • Select Server > Settings > Copy IPV6 Records > Point using AAAA DNS record.
    finding-ipv6-address

My WordPress is not sending any email, why?

  • By default, they keep it disabled to avoid email spam. Just drop a support ticket and ask them to enable SMTP. Once, done restart server from the Vultr dashboard.

Can you do for me?

  • Yes, I can. Please refer to my gig.

I hope this helps. Have any question? Please feel free to ask below. :slight_smile:
#DailyDose

Thanks & Regards,
Gulshan


Cheap Domain Name Registration & Hosting
Best Hosting for WordPress in my opinion
(Vishnu) #2

Great and detailed guide @gulshankumar! :clap: Was kind of waiting for this one (the SSL part). Thank you! :grinning:


(PiyanK) #3

This is why I love this forum, you explain everything step-by-step. :heart_eyes:

One question: Is Vultr good for Discourse set up?, or DigitalOcean?


(Vishnu) #4

This forum itself is setup in Vultr only, I believe.


#5

Both are good. To skip GST charges and to get timely support, I prefer Vultr instead DO. This forum, as well as currently all sites, I have hosted at Vultr.


({ Beautiful Code!; }) #6

Awesome Tutorial! :sunglasses:

I have 2 doubts,

  • As i was thinking to use BunnyCDN with my website, and it also provide SSL, then what should i be doing? Install the BunnyCDN SSL or the way you have mentioned in this tutorial!

  • By Using ServerPilot will it protect my website from brute force attack for my root password? or i need to do some seperate step to protect from it!

Thanks! :slight_smile:


#7
  1. Like every other CDN, BunnyCDN provides Let’s Encrypt support for CDN path, not root domain.
  2. ServerPilot comes with inbuilt Firewall.

ServerPilot enables an iptables firewall on your server. The firewall allows only the following incoming ports:

TCP port 22 (SSH)
TCP port 80 (HTTP)
TCP port 443 (HTTPS)


({ Beautiful Code!; }) #8

oh… sorry… my lack of understanding! So, i need to install this SSL and the BunnyCDN SSL as well? Right?


#9

@gauravk Exactly. You have to install at both places. Both will have separate SSL installations.

A record example.com --- Vultr IP
CNAME www --- example.com (same as A record, Vultr IP)
CNAME cdn.example.com --- BunnyCDN address

This is why…

At Serverpilot for your own domain example.com, www.example.com

At BunnyCDN, only for cdn.example.com. I hope this clarifies.


({ Beautiful Code!; }) #10

Thanks for Clarifying the doubts! Appreciated! :slight_smile:


#11

Good to know, Thanks :slight_smile:


(Saksham Kumar) #12

Thank you for this detailed guide @gulshankumar :smile: I was looking for something like this.

And one question, currently I am using Rackspace email on Cloudways and if I stop the server then I will able to use it or it will also stop? :thinking:


(I am a love charger) #13

Can confirm that Vultr is FAR better than Digital ocean and Linode. Go check out the benchmark :wink:

I am using Amazon AWS and I’m in love with it :heart_eyes: Google Cloud is good as well

I’ll move to Microsoft Azure the day Cloudways launches their servers.


#14

I prefer Zohomail. It’s free of cost.

I am its old customer, they also provide me free email forwarding feature, that I use my Gmail account. :heart_eyes:


(Manashjyoti Athparia) #15

Great guide! Was waiting for 4 days. thank you very much :heart:️


#16

Sorry for the delay. Good to see your feedback. Thank you.


#17

Please don’t forget to press like button. :heart:


(I am a love charger) #18

and hit on the bell icon

:stuck_out_tongue:


#19

Here is no bell icon. :stuck_out_tongue:


(Wands Blog) #20

Must have taken hours to create this detailed tutorial.

Thank you!