Shared hosting gets the job done when you are just starting, but you will outgrow it quickly. Traffic spikes slow everything down, and you are at the mercy of whoever else is sharing that server with you. The only solution is to set up a VPS.
A virtual private server (VPS) changes things entirely. You get your own dedicated resources, full root access, and the freedom to configure the environment exactly the way your project demands.
That said, a brand new VPS is not something you want to point live traffic at straight away. Out of the box, it is basically an open door on the internet.
Bots start scanning fresh IP addresses within minutes, probing for weak passwords and known vulnerabilities.
This guide covers the essential VPS configurations needed to turn a raw Linux instance into a production-ready environment. From SSH key authentication to UFW firewall setup.
Pre-Setup Checklist Before You Begin
There are a couple of things you will need to do before you can begin setting up your VPS server. These revolve around signing up for a VPS service. They include:
1) Choosing the Right VPS Provider
Picking a provider is one of the most consequential early decisions you will make. The wrong choice can mean higher costs, slower support, or compliance headaches down the road.
Visit Truehost and check out our VPS hosting plans. We offer Cloud VPS plans to fit different performance requirements.
- Cloud VPS 1 ($4 per month): Best for personal blogs and low traffic websites
- Cloud VPS 2 ($7 per month): Best for small business websites
- Cloud VPS 3 ($20 per month): Best for larger projects with more traffic
2) Account Setup and Billing
Once you have chosen the right plan, the website will guide you through the sign-up process. Complete your account verification with the provider.
On the billing side, confirm that the invoiced price includes VAT so there are no surprises at checkout. Truehost will send a tax-compliant invoice you can submit for accounting purposes.
3) Choose Your Operating System
The most popular choice for VPS setups is Ubuntu LTS (Long-Term Support), currently Ubuntu 22.04. It has the widest community support, excellent documentation, and packages that stay up to date.
If you are running Windows-based applications, Windows Server is available, but it costs more.
4) Retrieve login credentials
After completing the sign-up process, the VPS hosting service provider will send you an email with login credentials and an IP address to access your VPS.

5) Generate SSH Key Pairs
Depending on your laptop or desktop’s operating system, you may need to adjust how you access your VPS when you first log in.
SSH keys are a much safer way to connect to your server than password authentication. Generate your key pair on your local computer before the server is even provisioned. On Mac or Linux, open the terminal and run:
ssh-keygen -t ed25519 -C "[email protected]"
On Windows, it’s recommended to download an SSH client such as PuTTY for simplicity. Alternatively, you can use Windows’ built-in PowerShell and run the code above.
Save the public key somewhere accessible because you will paste it into your provider’s control panel during setup. Never share the private key with anyone.
6) First-time login
Depending on whether you set up SSH keys during provisioning or afterwards, your connection will prompt you for either the password you created or the one the hosting provider sent you.
On Windows:
If you are using a GUI tool such as PuTTY, enter your VPS server IP in the Host Name Field and select SSH as the connection type before clicking Open. Alternatively, you can use the following command on Windows PowerShell:
ssh root@yourvpsserverip

On Linux or Mac
Open the terminal and type in the following command:
ssh root@YOUR_SERVER_IP

If you did not attach your public key during provisioning, do it now. Copy your public key to the new user’s authorized keys:
ssh-copy-id yourusername@YOUR_SERVER_IP
Once you confirm, you can log in with your key, turn off password authentication in /etc/ssh/sshd_config by setting PasswordAuthentication to no. Reload SSH after saving:
systemctl reload sshd
Initial Server Configuration and Security Hardening
A freshly spun-up VPS is essentially a door left wide open on the internet. Within minutes of your server getting an IP address, automated bots will start probing it for weak passwords and known vulnerabilities.
The steps below close those doors before anything bad can happen.
A) Update Everything
While you are setting everything up, run a full system update. Software packages on a freshly provisioned server are often weeks or months behind the latest security patches. On Ubuntu or Debian, run the following code:
apt update && apt upgrade -y
B) Create a New User and Disable Root Login
Running everything as root is dangerous because a single mistake can wipe out your entire system. Create a new user with admin privileges instead with the following code:
adduser yourusername
usermod -aG sudo yourusername
To restrict root SSH access, you will need to edit the SSH configuration file. Start by executing the following code:
sudo nano /etc/ssh/sshd_config
The command will open the SSH configuration file in nano. Locate the “PermitRootLogin” line and change the value from yes to no.
If the line is commented, delete the # at the beginning of the line to remove the comment tag.
Save the file changes before exiting the editor and restarting SSH for the changes to take effect with the following command:
sudo systemctl restart sshd
C) Configure the Firewall
Ubuntu comes with UFW (Uncomplicated Firewall) pre-installed. Set it up to allow only the connections your server actually needs:
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
D) Change the Default SSH Port
Port 22 is the default SSH port and the first thing bots scan. Moving it to a non-standard port (like 2222 or 4422) does not add real security on its own, but it dramatically reduces the noise in your server logs.
Edit /etc/ssh/sshd_config, change Port 22 to your chosen port, update your firewall rules accordingly, and reload SSH.
E) Set the Timezone to Asia/Dubai
Getting the timezone right matters for log timestamps, scheduled tasks, and any time-based logic in your applications. Set it with:
timedatectl set-timezone Asia/Dubai
timedatectl status
F) Enable Automatic Security Updates
Turn on unattended upgrades so your server automatically applies security patches without requiring manual intervention:
apt install unattended-upgrades -y
dpkg-reconfigure --priority=low unattended-upgrades
How to Install a Web Server on Your VPS
If your VPS will host websites or web applications, you will need a web server.
The two most common choices are Nginx and Apache. Nginx handles high-concurrency loads efficiently and is generally the better default for new setups.
Apache has a larger ecosystem of modules and is still widely used, particularly for PHP-heavy applications.
Installing Nginx on Ubuntu
To install Nginx on your VPS, execute the following commands one after the other:
apt install nginx -y
systemctl start nginx
systemctl enable nginx
After installation, open a browser and type your server’s IP address. You should see the default Nginx welcome page, which confirms the server is running and accessible.
Setting Up a Server Block (Virtual Host)
A server block tells Nginx how to handle requests for a specific domain. Create a configuration file for your site:
nano /etc/nginx/sites-available/yourdomain.com
Paste in a basic configuration block pointing to your website files, then create a symbolic link to enable the site:
ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/ nginx -t && systemctl reload nginx
The nginx -t command tests your configuration for errors before applying it, which saves you from accidentally taking the server down with a typo.
Connecting a Domain Name to Your VPS
An IP address works fine for internal testing, but for anything public-facing, you will want a proper domain name. Here is how to get one pointed at your VPS.
A) Buying a Domain
If you dont already have an existing domain and you want a .ae domain, you can check out Truehost. Having the .ae extension carries local trust for UAE audiences.
B) Pointing Your Domain to Your VPS
Log in to your domain registrar and open the DNS management panel for your domain. Create an A record that points your domain (and the www subdomain) to your VPS IP address:
Type: A
Name: @ (for the root domain)
Value: YOUR_SERVER_IP
TTL: 300 or 3600

Add a second A record for www pointing to the same IP. DNS changes can take anywhere from a few minutes to 48 hours to fully propagate, though most updates resolve within an hour. You can check propagation status using tools like whatsmydns.net.
C) Install Fail2Ban
Fail2Ban monitors log files and automatically blocks IP addresses exhibiting signs of brute-force attacks. After installation, it starts protecting SSH out of the box:
apt install fail2ban -y
systemctl enable fail2ban
You can configure it to protect other services, such as Nginx, WordPress login pages, or mail servers, by adding jail configurations in /etc/fail2ban/jail.local.
D) Add SSL/TLS with Let’s Encrypt
Running your site over HTTPS is no longer optional; it’s a must-have. Let’s Encrypt provides free, automatically renewable SSL certificates through the Certbot tool:
apt install certbot python3-certbot-nginx -y
certbot --nginx -d yourdomain.com -d www.yourdomain.com
Certbot will modify your Nginx configuration to handle HTTPS automatically and set up a renewal cron job so the certificate never expires.
E) Set Up Regular Backups
Most providers offer snapshot-based backups from the control panel for a small fee. Enable that as your first layer of backup.

For a more granular approach, tools like rsync or Restic can back up specific directories to object storage (such as AWS S3 or Backblaze B2) on a daily schedule.
The key is making sure your backups are stored somewhere other than the server itself.
Conclusion
In the UAE, the demand for local VPS hosting has grown alongside the country’s push to become a regional technology hub.
Whether you are a solo developer spinning up a project or a startup building a product for the Gulf market.
Whether you are a business owner who wants your website running on a fast, reliable local server. There is a VPS plan for every use case on Truehost.
Domain SearchSecure your perfect UAE domain in seconds.
Domain TransferSeamless domain transfer. Zero downtime, complete control.
All TLDsSecure your ideal domain. Explore local UAE and international extensions.
WHOIS LOOKUPCheck domain ownership, expiry dates, and registrar details instantly.
AE DomainsRegister a .AE domain and build trust in the UAE.
.com DomainGet the world’s most trusted domain and build credibility from day one.
Web hostingFind budget-friendly hosting that doesn’t compromise on performance.
Windows HostingHigh-performance hosting for Windows applications and websites.
Affiliate ProgramBecome a partner and earn commission for every referral.
WordPress HostingBlazing-Fast WordPress Hosting, Optimised for Performance.
Email HostingSecure your communications with professional email hosting. Use your domain, stay in control.
Reseller HostingLaunch your own hosting brand. We handle the tech, you grow your business.
cPanel HostingHosting supported by cPanel (simple and user-friendly)
VPS HostingVirtual servers that grow with you. Full root access. Blazing fast performance.
Managed VPS HostingNot a tech expert? Let us handle everything with our fully managed VPS hosting.
Dedicated ServersEnjoy full access and total control over your dedicated physical server.


