How To Install WordPress On Contabo VPS Server
Contabo is a hosting service company based in Germany. I Choose Contabo because it offers much better server hardware specifications than its competitor. I get 4 vCPU Cores, 8GB RAM, and 200GB SSD for $5.50 per month only. Tips choose EUR instead of USD to get a better price if you are in another currency like me. Check out the price here.
Introduction
There are 5 sections in this post:
- Connect to the server using VNC client/viewer, this is the only way you can connect to your server at first time so you cannot skip this step
- Installing SSH connection is to replace using VNC connect to the server. Optional but highly recommended because SSH is encrypted not like VNC.
- Install aaPanel, this is hosting management software, we use aaPanel the same as we use CPANEL in shared hosting.
- Install Fresh WordPress via aaPanel, this is required so we can install backup plugins like UpdraftPlus or WPvivid
- Restore data from the old hosting company, this is the most important step, to move all website data from old hosting to new hosting (Contabo Cloud VPS).
You can skip the steps above as per your requirement, let’s begin:
1. Connect to the server using VNC Viewer
The only way to connect to the server is via VNC, however since it’s not using an encrypted connection, it is advised to connect via SHH. Connect via VNC should be quite straightforward, however, I cannot get into the server and get the following error:
This is quite strange because everything seems normal, later I found to solve this problem by restarting the VNC service on the server:
After restarting the VNC service I can connect normally.
2. Installing SSH connection
Update the system
sudo apt update
sudo apt upgrade
Install Open SSH System
sudo apt install openssh-server
Configure Firewall
sudo ufw status
Enable UFW if not active yet
sudo ufw enable
Edit SSH Configuration File
Create backup first
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
Edit the file using Nano
sudo nano /etc/ssh/sshd_config
Edit the file and remove # from Port 22 and # from ListenAddress 0.0.0.0
Replace 0.0.0.0 with your server IP address
Restart SSH Service
sudo systemctl restart ssh
Verify configuration
sudo systemctl status ssh
Make sure it runs normally (Active in green color)
Now you can download an SSH Client like PuTTy to connect to the server to replace the VNC Client as SSH is more secure.
3. Installing AAPanel
wget -O install.sh https://www.aapanel.com/script/install-ubuntu_6.0_en.sh && bash install.sh forum
Do you want to install aaPanel to the /www directory now?(y/n): y
Do you need to enable the panel SSl ? (yes/n): yes
Note: After installation is completed don’t forget to write down your access URL, username, and the password.
4. Install Fresh WordPress via aaPanel
go to https://your.ip.address:port/folder (the access URL given when on the previous step).
After login, you will see below, click One-Click button
Upgrade PHP version (optional but recommended). In my case, the PHP version is 7.4 so I upgraded it to 8.2 via Aapanel, on the left menu, scroll down until you find Appstore, go to the 2nd page, you will see PHP 8.2, click install, and wait until finish.
Install WordPress
When finished, you will see the status similar to below:
Backup The Website
This is the most important part, without being able to backup and restore all the data to the new hosting, everything becomes useless. You need to make a backup first to be able to restore the data. I use UpdraftPlus and store the backup data on Google Drive. I also use the WPvivid Backup Plugin sometimes as my B plan.
Backup website using WPvivid Backup (Free)
Before backup, it is better to make a screenshot of the list of existing posts pages, and plugins in case you want to check that everything is there after the restore process.
Install WPvivid backup, and start make backup.
Download your backup files to your laptop/computer.
Make sure to make several backup files in case one backup session is corrupt
Point your domain to the new server
Before doing the steps below you have to make sure that all your backup files are OK, because after this step your website will contain fresh WordPress installation.
Change your NS to ns1.contabo.net and ns2.contabo.net and ns3.contabo.net
Save the changes, and for up to 48 hours you will see the changes when your website becomes a new WordPress installation. Sometimes the change is only 1 hour or less but if longer than that it is totally normal.
Login to Contabo dashboard and create new DNS zone for your domain:
- Click DNS Zone Management, enter your domain name, enter target IP address (your server IP address), click the create zone button.
Login to aaPanel
on the left menu, click Website. On SSL column click Not Set text.
Select your domain, and click the Apply button.
After this window, click Apply and Open button, and then you can close the window.
Restore website using WPvivid (Free)
The steps below are executed on the new server and new WordPress installation. Install WPvivid Backup pugin.
After all backup files uploaded to the new server you will see Restore text, click it.
After the restore process is completed without error, all your website data are back online and the job is finished. Make sure to check everything is ok.