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
2222
plus mail/FTP/SSH ports.
Troubleshooting
- Panel not loading: Ensure you use
https://IP:2222
. If firewall is enabled, confirm port2222
is 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.log
for issues.