How to Migrate Your WordPress Website to VPS: The Complete Guide 2023
Is your website plagued by slow loading times, a sluggish admin panel, and frequent 5xx errors due to server limitations set by your hosting provider? These issues are common when using Shared Hosting.
Shared hosting services place multiple websites on a single physical server, making it the most affordable option for new websites with basic functionality needs. To maintain server stability, providers impose limits on shared resources such as CPU, RAM, and bandwidth, but many providers don’t disclose these restrictions, using deceptive marketing tactics to entice inexperienced users.
As your website grows and requires more resources, these limitations become a significant problem. If you’re ready to overcome these challenges, migrating to a Virtual Private Server (VPS) with robust CPU, RAM, and network speed specifications is the solution you need.
In this comprehensive guide, we’ll teach you how to secure a discount on a high-performance VPS at an affordable price. We’ll also demonstrate how to install a control panel, safeguard your VPS, set up WordPress, and swiftly migrate your website with minimal hassle.
To simplify the process, we’ve selected the easiest approach, supported by a real-life example from one of our websites. We recently migrated vesios.com, a website that had outgrown its shared hosting server. Due to increased complexity and growth, the server struggled to keep up, resulting in slow performance and frequent 508 errors when CPU, RAM, and bandwidth limits were exceeded.
I. GET A DISCOUNT ON VPS
Quality VPS solutions are typically more expensive than Shared Hosting. However, I’m excited to share that the provider I recommend, along with a clever trick, can offer you a high-performance VPS at a Shared Hosting price!
The recommended VPS boasts impressive specifications, including 4 vCPU cores, 8 GB RAM, 50 GB NVMe Gen 4 (or 200 GB SSD), and a 200 MB/s network speed. With these features, your website will run seamlessly and efficiently. We tested this solution ourselves and were astounded by the noticeable speed improvement following migration.
What’s even more remarkable is that prices start at just $8.48. We were genuinely surprised by how this company can provide top-tier VPSs with such specifications at such affordable rates.
This discovery is nothing short of astonishing – an opportunity you won’t want to miss!
1. THE TRICK TO GET A DISCOUNT ON VPS
The trick to getting an amazing deal on a high-quality VPS is straightforward, yet often overlooked. Here’s how to take advantage of it:
✅ Step 1: [Click Here]
✅ Step 2: Click on ‘Get Started’ and choose your preferred plan.
✅ Step 3: Change the currency to EURO.
On Desktop🖥️, after selecting a VPS by clicking ‘Install,’ you’ll be taken to the customization page. Click on the ‘$ USD’ dropdown and switch it to ‘€ EUR.’
On Mobile📱, click on ‘MENU ☰,’ scroll down to ‘Locale Settings,’ and change ‘$ USD’ to ‘€ EUR.’
Initially, the VPS comes with a setup fee for one or a few months. To avoid this, register for a 12-month plan.
By doing so, you’ll see the setup fee reduced to 0 €, and with the currency trick, you’ll save even more.
Here’s an example to illustrate:
Suppose you choose the VPS S Plan for $8.49 USD/month and then switch to EUR. The price becomes 5.99 €.
If you convert 5.99 € to USD using Google’s current exchange rate, it equates to approximately $6.53 USD. (Note: Prices are subject to change)
As you can see, by selecting EUR instead of USD, you’ll enjoy a monthly discount of $1.96.
For a yearly plan, this translates to a savings of $23.52, or a 23% OFF discount on a top-tier NVMe 4vCPU, 8GB RAM VPS!
II: CONFIGURE YOUR VPS
1. INSTALL A FREE OS
Once purchased and activated, login to your control panel and go to VPS control, there, you will be asked to install your Operating System.
Let’s install Ubuntu 20.04 (LTS):
✅ Step 1: Under Standard Image, Choose Ubuntu 20.04 (LTS)
✅ Step 2: Under Password For User Admin, type your Password
✅ Click on Install and wait for about 3-5 minutes
2. SSH TO YOUR VPS
Now you need to connect to your VPS via SSH using PuTTy.
✅ Step 1: Download It From Here
✅ Step 2: In the field Hostname (or IP address) type in your VPS IP address. (You received in your Email)
✅ Step 3: Click on authorize and then type in your username and password when prompted. The username is by default ‘admin’; The password is the one you entered during Ubuntu installation.
3. SECURE YOUR VPS
- Create a New Sudo User
For security reasons, it’s highly recommended to create a non-root user with sudo access, to do this:
✅ Step 1: Add the user with adduser command (replace user-example with the username you wish to add):
sudo adduser user-example
✅ Step 2: Enter a strong password, and fill in the information required (Full name, Room Number, Work Phone…etc.), you can leave them empty if you want.
✅ Step 3: Add the user to sudo group:
sudo adduser user-example sudo
✅ Step 4: Switch to the new user:
su - user-example
2. Configure UFW Firewall
A firewall helps in preventing hackers from connecting to your VPS, enabling it is very recommended.
Ubuntu has a firewall called UFW, which is by default inactive, let’s configure it, then enable it:
✅ Step 1: Deny all incoming traffic:
sudo ufw default deny incoming
✅ Step 2: Allow outgoing traffic:
sudo ufw default allow outgoing
✅ Step 3: Allow SSH connections:
sudo ufw allow OpenSSH
✅ Step 4: Allow port 10000 (for Webmin Control Panel), 80 (for HTTP) and 443 (for HTTPS):
sudo ufw allow 10000
sudo ufw allow 80
sudo ufw allow 443
✅ Step 5: Enable UFW firewall:
sudo ufw enable
4. INSTALL WEBMIN/VIRTUALMIN CONTROL PANEL
A control panel helps you install your websites via your browser quickly & easily.
Webmin/Virtualmin control panel is a free alternative to cPanel, it has a 1-click Install of WordPress and a lot of other features. Let’s install it:
✅ Step 1: Download Virtualmin installation script:
sudo wget http://software.virtualmin.com/gpl/scripts/install.shc
✅ Step 2: Set your domain name (replace example.com with your domain name):
sudo hostnamectl set-hostname example.com
✅ Step 3: Make the script executable:
sudo chmod a+x install.sh
✅ Step 4: Install Webmin and Virtualmin:
The installation process takes approximately 15-20 minutes, providing you with the perfect opportunity to enjoy a cup of coffee while you wait.
III: INSTALL WORDPRESS ON WEBMIN/VIRTUALMIN
Now you can access your Webmin control panel on https:// VPS-IP:10000 (Replace VPS-IP with your VPS IP Address)
If your browser displays a warning about an insecure connection due to an invalid SSL certificate, you can safely bypass it. Simply click on ‘Advanced’ and then ‘Proceed’ to continue.
Next, log in to Webmin using the username and password you just created (You can also connect with your admin account – not recommended).
After logging in, follow the instructions of the wizard and you are all set for the installation of WordPress.
To install WordPress:
✅ Step 1: Enable MySQL database by going to Virtualmin (On the left sidebar) and clicking on Edit Virtual Server and enabling the checkbox MySQL database enabled, Click Save Virtual Server when done.
✅ Step 2: Click on Install Scripts and choose WordPress from the Available Scripts, start the configuration by clicking on the green checkmark.
✅ Step 3: Install WordPress site At Top Level if you want it to be accessed from your domain.com (Recommended) or in the Sub-directory (WordPress) if you want it to be accessed from domain.com/wordpress/
✅ Step 4: Wait until the initial installation is complete and then visit the URL that appears at the end to complete your WordPress installation.
At this stage, you just have to follow the wizard. (Replace your domain name with your VPS IP because you normally haven’t pointed your domain name at your VPS yet)
You will be asked to choose the language, site title, username, password, etc.
Click on Install WordPress when done.
IV: MIGRATE YOUR WEBSITE TO VPS (WEBMIN)
The easiest way to migrate your website can be done with a plugin named UpdraftPlus WordPress Backup Plugin.
✅ Step 1: We suppose that you haven’t pointed your domain name to your VPS yet, open both of your WordPress Websites Dashboards – Old (domain name) and New (VPS IP) – and install the plugin mentioned above in the two places.
✅ Step 2: Once activated, click on Settings, then Settings, and choose Dropbox, where you will host your backup.
✅ Step 3: Click on Save Changes, a window will be prompted asking you to authorize access to your Dropbox, click on Follow this link… and make an account if you don’t have one.
Do this on both of your WordPress websites.
✅ Step 4: Once connected to your Dropbox, you can go to the UpdraftPlus of your WordPress that you would like to Migrate (Old) and backup your website by Clicking on Backup Now… and wait until it finishes.
✅ Step 5: Now, point your domain name to your VPS IP Address, you can do this in your DNS manager.
If you are using Cloudflare, go to the DNS section of your website and change the IP in the A Record to the IP of your VPS.
✅ Step 6: By refreshing your WordPress Dashboard now, you’ll access the new WordPress website that you want to migrate your website to. Go to updraft and click on Rescan remote storage to retrieve the backups…
When the Backup appears, click on Restore and select plugins, themes, uploads, others and database, then click Next.
The restoration process will start, wait until it finishes, and if everything goes well… Congrats!
Your website has been successfully migrated easily without the need of any technical knowledge.
V: HOW TO INSTALL A FREE SSL CERTIFICATE INTO WEBMIN/VIRTUALMIN?
Now that your website is hosted on your VPS, you need to install SSL certificate to secure your website and get rid of that warning message.
✅ Step 1: In your browser type in https://Server-IP:10000 (replace Server-IP with your server IP address)
✅ Step 2: In the left sidebar, click on Virtualmin, Server Configuration and select SSL Certificate.
✅ Step 3: Select Let’s Encrypt from the tabs above, check Also request wildcard certificate? and Yes for Automatically renew certificate?
To install the certificate with these parameters, click on Request Certificate and you are done.
HAVE YOU GOT ANY QUESTIONS OR SUGGESTIONS?
Chat with us live via messenger.