DirectAdmin is a lightweight commercial web hosting control panel. This guide covers a fresh manual installation on supported OSes, first-time login, and initial configuration steps.
Before You Start
- Fresh OS (no panel installed): Only install DirectAdmin on a clean system.
 - Supported OS: AlmaLinux 8/9, Rocky Linux 8/9, CentOS 7, Debian 10/11/12, or Ubuntu 20.04/22.04.
 - Static public IPv4 (not NAT without 1:1 configuration).
 - Hostname (FQDN): e.g. 
server.example.com. - Resources: 1 vCPU / 1 GB RAM minimum (2 GB+ recommended).
 - License: DirectAdmin requires a valid license (trial or paid). You’ll need:
- Client ID
 - License ID
 - Hostname & main IP
 
 
Step 1 — Connect to your VPS
ssh root@YOUR.SERVER.IP
Update and upgrade the system:
# AlmaLinux / Rocky
dnf -y update
# Debian / Ubuntu
apt update && apt -y upgrade
    
Set hostname (FQDN):
hostnamectl set-hostname server.example.com
Step 2 — Download and run the installer
Run the official DirectAdmin setup script:
bash <(curl -Ss https://www.directadmin.com/setup.sh)
The installer will prompt for:
- Client ID and License ID
 - Hostname (use your FQDN)
 - Main IP
 - Optional services and configuration choices
 
Note: The installation may take 20–30 minutes depending on OS and network speed.
Step 3 — Access DirectAdmin
- After installation, open https://YOUR.SERVER.IP:2222
 - Login with:
- Username: 
admin - Password: shown at the end of the installation (also stored in 
/usr/local/directadmin/scripts/setup.txt) 
 - Username: 
 
Once logged in, you can create users, packages, and configure services like Apache, Nginx, PHP, and email.
Step 4 — Post-install checklist
- Secure the panel: Change the default admin password.
 - License activation: Ensure the license is active. To force update:
/usr/local/directadmin/scripts/getLicense.sh CLIENT_ID LICENSE_ID
 - SSL for hostname: In DirectAdmin, issue a Let’s Encrypt certificate for your hostname (
server.example.com). - DNS & email: Set rDNS (PTR) for outbound mail, configure SPF/DKIM/DMARC records.
 - Backups: Configure scheduled backups for user accounts.
 - Firewall: If you enable LifeinCloud firewall later, open port 
2222plus mail/FTP/SSH ports. 
Troubleshooting
- Panel not loading: Ensure you use 
https://IP:2222. If firewall is enabled, confirm port2222is allowed. - License invalid: Verify your license is bound to the correct IP and hostname. Run license update script if needed.
 - Forgot admin password: Reset with:
/usr/local/directadmin/directadmin set adminpass NEWPASSWORD
 - Logs: Check 
/var/log/directadmin/error.logfor issues. 
