A VPS doesn't need a control panel. If you are comfortable in a terminal, you can point your domain at the server, host a website with Apache, add a free SSL certificate and keep everything updated with a handful of commands. This guide walks through that setup on a Domain India VPS running AlmaLinux or Rocky Linux, and is honest about the parts, such as email, where a panel or a hosted service saves you real work.
Point your domain's @ and www A records at the VPS IP address where your DNS is managed. On the server, install Apache with dnf, open HTTP and HTTPS in firewalld, create a virtual host for your domain, and get a free Let's Encrypt certificate with Certbot. Upload files over SFTP with an SSH key, apply updates regularly, and keep backups off the server. A Domain India VPS is self-managed: you have full root access and you are responsible for its software and security.
Everything below needs root access, which you have on a VPS. It does not apply to shared hosting (cPanel, DirectAdmin, Webuzo), where the server is managed for you and you can't install packages or change the web server's configuration.
1. Before you start
You need your VPS's IP address and root login from your welcome details, and an SSH client: macOS, Linux and Windows 10 and 11 all include the ssh command.
- Log in as rootwith
ssh root@your-vps-ip. - Update everythingwith
dnf -y upgrade, then reboot if a new kernel was installed. - Create your own userwith
useradd -m -G wheel deployandpasswd deploy. Members ofwheelcan usesudo. - Switch to SSH keys.Copy your public key with
ssh-copy-id deploy@your-vps-ip, confirm you can log in with it, then turn off root and password logins in/etc/ssh/sshd_config.
Create a key first with how to generate SSH keys, and work through the SSH security hardening checklist before you put anything important on the server. Keep your first session open until you have tested the new login in a second window.
2. Point your domain at the VPS
Your website needs two DNS records: an A record for @ (the domain itself) and one for www, both pointing to your VPS IP address. Add them where your domain's DNS is managed today, which is the provider your nameservers point to, such as your hosting control panel or a DNS service like Cloudflare.
| Host | Type | Value |
|---|---|---|
| @ | A | Your VPS IPv4 address |
| www | A | Your VPS IPv4 address |
If you are not sure where your DNS lives, how to change your domain DNS settings shows how to check. If your domain has no hosting and no DNS provider yet, open a support ticket and ask how to set up DNS for it. Changes usually show within a few hours and can take up to 24–48 hours because of caching. Check with dig +short yourdomain.com.
If your email lives somewhere else, change only the A records. Leave the MX and TXT records alone, or email stops arriving.
3. Install Apache and open the firewall
sudo dnf -y install httpd mod_ssl
sudo systemctl enable --now httpd
sudo firewall-cmd --permanent --add-service=http --add-service=https
sudo firewall-cmd --reloadOpen http://your-vps-ip in a browser: you should see the Apache test page. If you prefer nginx, dnf install nginx works the same way; pick one web server, not both on the same ports.
4. Create a virtual host for your domain
Make a folder for the site and a configuration file that tells Apache which domain it serves.
sudo mkdir -p /var/www/yourdomain.com/public_html
sudo chown -R deploy:deploy /var/www/yourdomain.com
sudo nano /etc/httpd/conf.d/yourdomain.com.confPaste this, replacing yourdomain.com with your domain:
<VirtualHost *:80>
ServerName yourdomain.com
ServerAlias www.yourdomain.com
DocumentRoot /var/www/yourdomain.com/public_html
<Directory /var/www/yourdomain.com/public_html>
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/httpd/yourdomain.com-error.log
CustomLog /var/log/httpd/yourdomain.com-access.log combined
</VirtualHost>Then check the syntax and reload:
sudo restorecon -Rv /var/www/yourdomain.com
sudo apachectl configtest
sudo systemctl reload httpdrestorecon gives the new folder the SELinux label Apache is allowed to read. Without it, SELinux (on by default on AlmaLinux and Rocky Linux) often causes a 403 Forbidden error even when file permissions look right. Don't switch SELinux off to fix that; fix the label.
5. Add a free SSL certificate
Once yourdomain.com resolves to your VPS, get a Let's Encrypt certificate with Certbot from the EPEL repository:
sudo dnf -y install epel-release
sudo dnf -y install certbot python3-certbot-apache
sudo certbot --apache -d yourdomain.com -d www.yourdomain.comCertbot adds an HTTPS virtual host, can redirect HTTP to HTTPS, and installs a timer that renews the certificate automatically. Test renewal with sudo certbot renew --dry-run.
6. Upload your website
Use SFTP, which runs over SSH, so there is nothing extra to install on the server. In FileZilla or WinSCP, choose SFTP, enter your VPS IP, port 22, the user deploy and your private key, then upload into /var/www/yourdomain.com/public_html.
From a terminal, rsync is faster for repeat uploads because it copies only what changed:
rsync -avz --delete ./site/ deploy@your-vps-ip:/var/www/yourdomain.com/public_html/Don't install a plain FTP server: it sends passwords unencrypted, and SFTP does the same job.
7. Everyday management from the command line
| Task | Command |
|---|---|
| Apply updates | sudo dnf -y upgrade |
| Apply security updates automatically | sudo dnf -y install dnf-automatic, then enable dnf-automatic-install.timer |
| Restart or check a service | sudo systemctl restart httpd / systemctl status httpd |
| Read a service's log | journalctl -u httpd --since today |
| Read the site's error log | sudo tail -f /var/log/httpd/yourdomain.com-error.log |
| Check disk and memory | df -h / free -h |
| See what is using CPU | top (or htop from EPEL) |
| List open ports | sudo ss -tulpn |
| Open a port in the firewall | sudo firewall-cmd --permanent --add-port=8080/tcp, then --reload |
For a longer command reference, see our guide to server management with shell commands.
On a self-managed VPS, nobody else backs up your files and databases for you. Copy them off the server on a schedule, for example a nightly database dump and an rsync to another machine or to object storage, and test a restore. Domain India VPS plans don't include snapshots or backups, so your own off-server copy is the only way back after a bad update or a lost disk.
8. Email: think before you run your own mail server
You can install Postfix and Dovecot on a VPS, but a mail server that reliably reaches Gmail and Outlook inboxes needs much more than the install: TLS certificates, SPF, DKIM and DMARC records, a matching reverse DNS (PTR) record for your IP (ask support whether it can be set for your VPS), spam filtering, and constant watching for blocklists.
For most businesses, it is simpler to keep the website on the VPS and put email on a hosted service. Business Email from Domain India costs ₹60 per mailbox a month, and you point your domain's MX and TXT records at it while the A records keep pointing at your VPS.
9. When a control panel makes sense
A panel is worth it when several people manage sites, you host many domains or mailboxes, or you would rather click than type. The VPS page lists what is available on Domain India VPS today: free CyberPanel, optional DirectAdmin, or no panel at all. cPanel is not offered on VPS; for cPanel, choose shared cPanel hosting.
10. Where Domain India fits
A Domain India VPS gives you KVM virtualisation, full root access over SSH and your choice of Linux, including AlmaLinux and Rocky Linux. It is self-managed: you install, update and secure the software. VPS plans are non-refundable once provisioned. Prices on the card are live and exclude 18% GST.
- 1 vCPU
- 2 GB DDR4 RAM
- 64 GB NVMe SSD Storage
- 2 TB Monthly Bandwidth
If you just want a website and email without managing a server, cPanel hosting or DirectAdmin hosting is simpler and cheaper.
Frequently asked questions
Do I need cPanel or another control panel to run a website on a VPS?
No. You can install Apache or nginx, add virtual hosts, get free SSL with Certbot and manage everything over SSH. A panel only makes the same tasks easier to click through.
How do I point my domain to my VPS?
Add an A record for @ and another for www, both pointing to your VPS IP address, at the provider that manages your domain's DNS. Leave MX and TXT records alone if your email is hosted elsewhere.
Why does my new site show 403 Forbidden on AlmaLinux?
Usually SELinux. Run restorecon -Rv on your site folder so Apache is allowed to read it, and check that the folder and files are readable. Do not disable SELinux to work around it.
How do I get free SSL on a VPS without a panel?
Install Certbot from EPEL, then run certbot --apache with your domain and www. Certbot sets up HTTPS and renews the certificate automatically.
Does Domain India manage or back up my VPS?
A Domain India VPS is self-managed. You have full root access and are responsible for updates, security and backups. Keep regular copies of your files and databases off the server.
Can I use cPanel on a Domain India VPS?
No. cPanel is not offered on VPS. The VPS page lists free CyberPanel and optional DirectAdmin; for cPanel, choose shared cPanel hosting.
Ready to build on your own server? Compare VPS plans, read the SSH hardening checklist, or add Business Email so your mail doesn't depend on your server. Questions first? Open a support ticket or use our 24/7 live chat.
KVM virtualisation, full root access and your choice of Linux, self-managed and billed in rupees.
See VPS plans