Your website pages are loading very slow… the admin panel takes a long time to load… 5xx errors are thrown whenever the server slot reaches the limits set by the hosting provider… That’s what happens when you are on Shared Hosting.
By choosing a shared hosting service, your website is sharing a physical server with many other websites.
This feature allows it to be the cheapest hosting solution, but at the same time makes it exclusively suitable for new websites that do not require complicated functionalities.
To ensure the proper functioning of the server, Shared hosting providers put limits to their shared resources (CPU, RAM, Bandwidth…etc.) to prevent service outages.
Many hosting providers do not show you these limits.
Hiding limitations in any way is a dishonest marketing method to attract novices to get their services.
Sooner or later, when the website grows and it starts to demand more resources, it’ll become a real problem.
If this is the issue you aspire to resolve, your solution is to migrate your website to a Virtual Private Server (VPS) with good CPU, RAM, and Network Speed specs.
In this step-by-step guide, you will learn how to get a discount on the cheapest VPS with great specs.
You will also learn how to install a control panel, secure your VPS, install WordPress and migrate your website quickly & easily.
All of these can be done in many ways. To make it easy, I chose the easiest one, backed up with a real example of a real website of one of our clients.
The name of the website I migrated is called vesios.com
vesios.com was hosted on a shared hosting server, after it started to grow and get complicated, the server couldn’t handle it. As a result, it became very slow and started to throw 508 errors each time CPU, RAM, and Bandwidth limits were reached.
I. GET A DISCOUNT ON VPS
Quality VPS is normally more expensive than Shared Hosting, but what if I tell you that the provider that I recommend, plus the trick I’ll share with you will give you a great VPS with great specs at the price of Shared Hosting?
The VPS I recommend has 4 vCPU Cores, 8 GB RAM, 50 GB NVMe Gen 4 (or 200 GB SSD) and 200 MB/s Network Speed!
With these specs, your website will run very smoothly.
We tried it and we were amazed at how faster the website became after the migration.
Additionally, prices starting from $6.99 surprised us…how is the company able to provide VPSs with such quality and such specs at these prices?
I’ve never seen something like this before! Astonishing!
1. THE TRICK TO GET A DISCOUNT ON VPS
The trick is simple, but a few people realize this. Here’s how to do it:
✅ Step 1: Click Here
✅ Step 2: Click on Get Started and Select your Favorite Plan.
✅ Step 3: Change the currency to EURO.
On Desktop🖥️, Select one of the VPSs by clicking on Install; You’ll be taken to the page where you can customize your VPS. On the menu, click on $ USD and change it to € EUR.
If you are on Mobile📱, click on MENU ☰, scroll down to Locale Settings, click on it and change $ USD to € EUR.
For one or a few months, the VPS is with a setup fee, to avoid this, you need to register it for 12 months.
By doing so, you’ll notice that the setup fee turned to 0 € and with the trick above, you’ll save more.
Here is an example that explains all of these:
Let’s say you chose the VPS S Plan for $6.99 USD / month, and then switched to EUR => The price becomes 4.99 €.
If you convert 4.99 € to USD on Google now, it will indicate an exchange equivalent of $5.93 USD. (Prices are subject to change)
As you may have noticed, by choosing EUR instead of USD, you get a discount of $1.06/month.
For the yearly plan, that means you’ll save $12.72 which is a 15% OFF discount on a great 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 will take about 15-20 mins, you can have a cup of coffee.
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 tells you that the connection is not secure, that’s because of an invalid SSL certificate, you can ignore it by clicking on advanced, then proceed…
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.