
This article provides a guide demonstrating how to deploy TinyCP on Ubuntu VPS.
What is TinyCP?
TinyCP is a lightweight web hosting control panel designed to manage Linux servers through a simple web interface. It provides core hosting features without the heavy resource usage of traditional panels.
READ ALSO:Β Top 12 Best VPS Control Panels
π§ Core Idea
TinyCP focuses on:
- Simplicity (minimal UI, fast setup)
- Low resource usage (ideal for small VPS)
- Essential features only (no unnecessary bloat)
βοΈ What It Does
With TinyCP, you can:
- Manage websites (domains, virtual hosts)
- Control web server (NGINX + PHP-FPM)
- Upload and manage files
- Manage databases (MySQL/MariaDB)
- Configure SSL certificates
- Create and manage users
- Basic system administration
π§± Stack It Uses
Typically built on:
- NGINX (web server)
- PHP-FPM (PHP processing)
- MySQL / MariaDB (database)
- Linux system tools
π Why People Use It
- Runs well on low-spec VPS (1β2GB RAM)
- Much faster and lighter than panels like cPanel or Plesk
- Quick to install (single script)
- Easy to understand (minimal UI)
βοΈ TinyCP vs Traditional Panels
| Feature | TinyCP | cPanel / Plesk |
|---|---|---|
| Resource usage | Very low | High |
| UI complexity | Simple | Advanced |
| Features | Basic | Extensive |
| Licensing cost | Free / low | Paid |
| Automation tools | Limited | Extensive |
β οΈ Limitations
TinyCP is not ideal if you need:
- Advanced email hosting
- Built-in DNS clustering
- Enterprise automation
- WHMCS-level integrations
- Multi-server orchestration
π§© Best Use Cases
- Personal projects
- Small business websites
- Dev/test environments
- Lightweight production VPS
- Developers who prefer control + simplicity
π§Ύ Bottom Line
TinyCP is essentially a minimalist alternative to full hosting panelsβperfect when you want control and performance without the overhead.
This guide walks you through installing and securing TinyCP on a fresh Ubuntu server (Ubuntu 20.04 / Ubuntu 22.04 / Ubuntu 24.04).
π§° Prerequisites
- Ubuntu VPS (fresh install recommended)
- Root access or sudo user
- Domain or IP address
- Minimum: 1GB RAM (2GB+ recommended)
Compare Ubuntu VPS Plans
How to Deploy TinyCP on Ubuntu VPS
To deploy TinyCP on Ubuntu VPS, follow the steps below:
-
Update the System
apt update && apt upgrade -y
-
Install Required Dependencies
sudo apt install gnupg ca-certificates -y sudo apt-key adv --fetch-keys http://repos.tinycp.com/ubuntu/conf/gpg.key sudo echo "deb http://repos.tinycp.com/ubuntu all main" | sudo tee /etc/apt/sources.list.d/tinycp.list sudo apt-get update -y
-
Install TinyCP
Run the official install script:
sudo apt-get install tinycp -y
This will:
- Install TinyCP panel
- Configure web server (NGINX + PHP-FPM)
- Set up system services
-
Access TinyCP Web Interface
Β
Tinycp login screen Once installation completes, open:
https://YOUR_SERVER_IP:8080
Example:
https://192.168.1.10:8080
β οΈ You will likely see a browser SSL warning (self-signed certificate). Proceed anyway.
-
Default Login Credentials
- Username:
admin - Password:
admin
π Change this immediately after login.
- Username:
-
Secure Your Installation
π Change Default Password
Inside TinyCP dashboard:
- Go to Users β admin
- Update password
π₯ Configure Firewall (UFW)
ufw allow OpenSSH ufw allow 8080/tcp ufw allow 80/tcp ufw allow 443/tcp ufw enable
π Install SSL Certificate (Letβs Encrypt)
Install Certbot:
apt install certbot -y
Issue certificate:
certbot certonly --standalone -d yourdomain.com
Then configure TinyCP to use the cert:
nano /etc/nginx/conf.d/tinycp.conf
Update:
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
Restart:
systemctl restart nginx
-
Optional: Change Default Port
Edit config:
nano /etc/nginx/conf.d/tinycp.conf
Change:
listen 8080 ssl;
To:
listen 8443 ssl;
Restart:
systemctl restart nginx
Access:
https://yourdomain.com:8443
-
Enable Auto-Start
systemctl enable nginx systemctl enable php*-fpm
-
Add Your First Website
Inside TinyCP panel:
- Go to Web β Domains
- Click Add Domain
- Enter:
- Domain name
- Document root
- Save
Upload files via:
- File Manager
- Or FTP/SFTP
-
π§ Useful Commands
Restart services:
systemctl restart nginx systemctl restart php*-fpm
Check status:
systemctl status nginx
π‘οΈ Hardening Tips
- Disable root SSH login:
nano /etc/ssh/sshd_config # Set: PermitRootLogin no
- Restart SSH:
systemctl restart ssh
- Install Fail2Ban:
apt install fail2ban -y
π What You Now Have
A fully functional lightweight hosting panel with:
- NGINX + PHP-FPM stack
- Web-based management UI
- Multi-domain support
- SSL capability
- Low resource footprint
Conclusion
You now know how to deploy TinyCP on Ubuntu VPS.










