Create VPS in Contabo
On Contabo Dashboard:
- Choose Cloud VPS
- Select:
- OS: Debian 13
- Location (Singapore / Germany / US)
- SSH Key (recommended)
- OS: Debian 13
- Deploy server
- Wait for email with:
- IP address
- root password
- IP address
On Linux / Mac:
ssh root@your_server_ip
On Windows:
- Use PowerShell
- Or PuTTY
4️⃣ Initial Server Update (VERY IMPORTANT)
After login:
sudo apt update && sudo apt upgrade -y
⚠️ Why?
- Update security patches
- Fix vulnerabilities
- Ensure latest package versions
Optional but recommended:
apt install sudo curl wget git unzip -y
You can choose either:
Option A: Apache
apt install apache2 -y
systemctl enable apache2
systemctl start apache2
Check:
Option B: Nginx (Recommended for performance)
apt install nginx -y
systemctl enable nginx
systemctl start nginx
6️⃣ Install PHP
Check available version:
apt search php
Install PHP + common extensions:
apt install php php-cli php-fpm php-mysql php-curl php-xml php-mbstring php-zip php-gd -y
Check:
php -v
7️⃣ Configure PHP with Nginx (if using Nginx)
Enable PHP-FPM:
systemctl enable php8.x-fpm
systemctl start php8.x-fpm
Edit Nginx config:
nano /etc/nginx/sites-available/default
Uncomment:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.x-fpm.sock;
}
apt install mariadb-server -y
8️⃣ Install MySQL / MariaDB
apt install mariadb-server -y
Secure installation:
mysql_secure_installation
Then:
mysql -u root -p
Create database:
CREATE DATABASE mydb;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'strongpassword';
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
⚠️ Only if you want GUI access (like Windows VPS)
Install desktop environment:
Install Chrome:
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
apt install ./google-chrome-stable_current_amd64.deb -y
Install Chrome Remote Desktop:
wget https://dl.google.com/linux/direct/chrome-remote-desktop_current_amd64.deb
apt install ./chrome-remote-desktop_current_amd64.deb -y
Enable:
systemctl enable chrome-remote-desktop@$USER