// Complete control over your infrastructure.
OWN YOUR DIGITAL PRESENCE.
A VPS gives you complete control over your server environment. No shared hosting limitations, no platform restrictions—just raw computing power that you configure exactly how you want. Deploy websites, run applications, host databases, and scale on your terms.
VPS IS FREEDOM.
Root access means you're not constrained by what hosting companies allow. Install any software, configure any service, optimize every setting. Your server, your rules. The skills you learn here transfer to any cloud platform—AWS, DigitalOcean, Linode, Hetzner.
SERVER MASTERY IS DEVOPS MASTERY.
Modern development requires server knowledge. Whether you're deploying a personal blog or scaling a startup, understanding servers is non-negotiable. This is your foundation for cloud computing, containerization, and infrastructure as code.
12 lessons. Complete server control.
Learn what a VPS is, its benefits, and how to choose the right provider.
BeginnerSet up SSH, connect to your server, and learn basic navigation commands.
BeginnerConfigure your server: users, timezone, hostname, and system updates.
BeginnerSecure your server with firewall (UFW), fail2ban, and SSH hardening.
BeginnerInstall and configure Nginx, set up virtual hosts, and serve static files.
IntermediateConfigure domains, set up DNS records, and obtain SSL certificates.
IntermediateInstall MariaDB or PostgreSQL, create databases, and manage users.
IntermediateInstall PHP, configure PHP-FPM, and deploy web applications.
IntermediateInstall Docker, run containers, and orchestrate with docker-compose.
IntermediateMonitor system resources, analyze logs, and set up health checks.
IntermediateImplement automated backups with rsync and offsite storage solutions.
AdvancedMaster reverse proxies, load balancing, scaling strategies, and maintenance.
AdvancedA Virtual Private Server (VPS) provides dedicated server resources in a virtualized environment. Unlike shared hosting where hundreds of websites compete for the same resources, a VPS gives you guaranteed CPU, RAM, and storage that you control exclusively.
Benefits of VPS hosting:
Full Root Access: Install any software, modify system configurations, and have complete control over your environment. No restrictions on what you can run.
Scalability: Start small and scale up resources as your needs grow. Add RAM, CPU, or storage without migrating to a new server.
Performance: Dedicated resources mean your applications run consistently. No "noisy neighbors" affecting your performance.
Security: Isolated environment with your own firewall rules, user management, and security policies. You're not affected by other users' vulnerabilities.
Cost Effective: VPS plans start as low as $5/month. You get dedicated resources at a fraction of the cost of a physical server.
The future of web hosting is VPS and cloud. Own your infrastructure.
A Virtual Private Server (VPS) is a virtualized server that mimics a dedicated server within a shared hosting environment. It provides dedicated resources (CPU, RAM, storage) while running on physical hardware shared with other virtual servers.
Key factors to consider:
After creating your VPS, you'll receive:
1. What does VPS stand for?
2. What gives you full administrative control on a VPS?
3. Which provider is known for developer-friendly tutorials?
4. What type of Ubuntu release is best for servers?
SSH (Secure Shell) is a protocol for securely connecting to remote servers over an encrypted connection. It replaces insecure protocols like Telnet and provides authentication and encryption.
Basic SSH connection syntax:
When connecting for the first time, you'll see a host key verification prompt:
Once connected, you can use standard Linux commands:
Password authentication is insecure. Use SSH keys instead:
1. What protocol is used to connect to a remote server securely?
2. What command shows your current directory?
3. What command copies your SSH key to the server?
4. What algorithm is recommended for SSH keys?
After your first connection, complete these essential setup steps:
Never use root for daily tasks. Create a regular user with sudo privileges:
1. What command updates package lists?
2. What command sets the system timezone?
3. What group gives sudo privileges on Ubuntu?
4. What command creates a new user?
A VPS on the internet is constantly scanned and attacked. Implement these security measures immediately.
UFW (Uncomplicated Firewall) is a user-friendly front-end for iptables:
Edit SSH configuration for better security:
fail2ban blocks IP addresses that show malicious signs:
After creating a sudo user and verifying SSH key access:
1. What firewall tool is recommended for Ubuntu?
2. What tool bans IPs after failed login attempts?
3. What setting disables root SSH login?
4. What setting disables password authentication?
Nginx is a high-performance web server and reverse proxy. It's known for its stability, rich feature set, and low resource consumption.
Nginx configuration files are located in /etc/nginx/:
1. What is the recommended web server?
2. What port does HTTP use?
3. What command tests Nginx configuration?
4. Where are site configurations stored?
DNS (Domain Name System) translates human-readable domain names to IP addresses. When someone types your domain, DNS directs them to your server.
Certbot provides free SSL certificates from Let's Encrypt:
Certbot installs a systemd timer for automatic renewal:
1. What DNS record maps a domain to an IP address?
2. What tool provides free SSL certificates?
3. What port does HTTPS use?
4. What certificate authority provides free SSL?
MariaDB is a community-developed fork of MySQL. It's fast, reliable, and fully compatible with MySQL.
PostgreSQL is a powerful, open-source object-relational database system:
1. What is the MySQL-compatible database?
2. What command secures MariaDB installation?
3. What command shows all databases?
4. What command backs up a MySQL database?
PHP is a popular server-side scripting language. We'll install PHP with common extensions and PHP-FPM for better performance with Nginx.
Composer is PHP's dependency manager:
1. What handles PHP requests with Nginx?
2. What is PHP's package manager called?
3. What file extension does PHP use?
4. What popular PHP framework is mentioned?
Docker is a platform for developing, shipping, and running applications in containers. Containers package code with all its dependencies, ensuring consistent environments across development and production.
Docker Compose manages multi-container applications:
1. What packages applications with dependencies?
2. What flag runs a container in background?
3. What tool manages multi-container apps?
4. What command lists running containers?
Monitoring your VPS is essential for maintaining performance, detecting issues, and planning capacity. Let's explore the built-in and installable monitoring tools.
1. What command shows real-time system processes?
2. What command shows disk usage?
3. What real-time monitoring tool uses port 19999?
4. What command views service-specific logs?
A proper backup strategy follows the 3-2-1 rule: 3 copies of data, 2 different media types, 1 offsite location. Let's implement automated backups for your VPS.
rclone syncs files to cloud storage (S3, Google Drive, Dropbox, etc.):
1. What tool is used for file synchronization?
2. What schedules automated tasks?
3. What command compresses backups?
4. What tool syncs to cloud storage?
A reverse proxy sits between clients and backend servers, forwarding requests and returning responses. Nginx excels at this.
Distribute traffic across multiple backend servers:
Protect your server from abuse:
1. What Nginx directive forwards requests to backend?
2. What directive defines backend servers for load balancing?
3. What limits request rate in Nginx?
4. What adds more servers vs upgrading existing (scaling types)?