1. Getting started — connect via SSH
When we hand over the VPS, you receive the IP, the root user and a password by email. Connect from your computer:
ssh root@TU_IP
On Windows use PowerShell or PuTTY; on Mac/Linux, the Terminal. First thing: update the system.
# Ubuntu / Debian
apt update && apt upgrade -y
passwd, or better, set up SSH keys (see security).2. Basic security
Create a user and firewall
# New user with sudo permissions
adduser miusuario
usermod -aG sudo miusuario
# UFW firewall: allow SSH, HTTP and HTTPS
apt install ufw -y
ufw allow OpenSSH
ufw allow 80,443/tcp
ufw enable
Block brute-force attacks
apt install fail2ban -y
systemctl enable --now fail2ban
3. Install a control panel
If you prefer a web interface (create domains, emails, databases with clicks), install a panel:
- CyberPanel (free, lightweight, LiteSpeed):
sh <(curl https://cyberpanel.net/install.sh) - cPanel/WHM (paid, the most complete)
- Webmin / aaPanel (free alternatives)
4. Set up your website (no panel)
LEMP stack (Nginx + PHP + MariaDB) for WordPress or other sites:
apt install nginx mariadb-server php-fpm php-mysql -y
systemctl enable --now nginx mariadb
mysql_secure_installation
Point your domain (A record) to the VPS IP and configure the Nginx block. For free HTTPS:
apt install certbot python3-certbot-nginx -y
certbot --nginx -d tudominio.com -d www.tudominio.com
5. Docker & apps (n8n, etc.)
curl -fsSL https://get.docker.com | sh
With Docker you run almost any app in minutes. Example, n8n:
docker run -d --name n8n -p 5678:5678 \
-v n8n_data:/home/node/.n8n n8nio/n8n
6. Backups
Always keep copies. A simple backup of a folder and a database:
# Files
tar czf /root/backup_web_$(date +%F).tar.gz /var/www
# MySQL/MariaDB database
mysqldump -u root -p mibase > /root/mibase_$(date +%F).sql
Store copies off the VPS (your computer, Google Drive, S3). Automate it with cron.
7. Monitoring
# Live resources
htop # CPU and RAM (apt install htop)
df -h # Disk space
free -h # Memory
journalctl -xe # Latest system errors
If disk goes over 85-90% or RAM fills up often, it is time to upgrade your plan.
8. Troubleshooting
- Can't connect via SSH: check the IP, that the firewall allows port 22, and that fail2ban didn't block you.
- Site won't load:
systemctl status nginxand check the domain points to the right IP. - Disk full:
du -sh /* | sort -hto see what's heavy; clean old logs.
