~3 min read • Updated Mar 1, 2026
1. Location of the DirectAdmin Binary
The main DirectAdmin binary is located at:
/usr/local/directadmin/directadmin
During installation, a symlink is created:
/usr/bin/da
This means you can simply run da instead of typing the full path.
Both commands execute the same binary.
The binary powers the DirectAdmin web server and provides a rich set of command-line tools for system administration.
---2. Starting and Managing the DirectAdmin Web Server
Using systemd (recommended):
systemctl start directadmin
systemctl stop directadmin
systemctl restart directadmin
Manual execution (for debugging only):
systemctl stop directadmin
da server --debug=2000
--debug=2000 enables the highest debug level with extremely detailed output.
Common debug levels: d80, d400, d800, d2000
Warning: Running DirectAdmin manually in production is not recommended. If the terminal closes, the service stops.
---3. Common DirectAdmin CLI Commands
| Command | Description | Example |
|---|---|---|
| da version | Show DirectAdmin version | da version |
| da admin | Show the main admin username (usually "admin") | da admin |
| da license | Display license information | da license |
| da update | Update DirectAdmin to the latest version | da update |
| da config | List all configurable directadmin.conf variables | da config |
| da config-set key value | Modify a configuration variable | da config-set letsencrypt 1 |
| da login-url --user=admin | Create a one-time login URL | Outputs a temporary login link |
| da api-url --user=fred | Generate API access URL with login key | Outputs API URL with credentials |
| da suspend-user --user=fred | Suspend a user account | da suspend-user --user=fred --reason=abuse |
| da unsuspend-user --user=fred | Unsuspend a user | da unsuspend-user --user=fred |
| da suspend-domain --domain=example.com | Suspend a domain | da suspend-domain --domain=example.com |
| da docs-root | Show DocumentRoot paths for all domains (JSON) | da docs-root |
4. Creating a One-Time Login URL
This is extremely useful for support access or automation.
da login-url --user=admin
Example output:
URL: https://server.example.com:2222/api/login/url?key=VGhpcyBpcyBub3QgYSByZWFsIGtleSEh
Additional options:
- --redirect-url=/CMD_PLUGINS_ADMIN/plugin → redirect after login
- --expiry=1d → set expiration (s, m, h, d, w, M, y)
- --ip=1.2.3.4 → restrict to specific IP
Security note: The URL is valid only once. After use, the key is deleted.
---5. Creating an API Access URL
For API automation without browser login:
da api-url --user=admin
Example output:
https://admin:[email protected]:2222
Example usage with curl:
curl -k "$(da api-url)/CMD_API_SHOW_ALL_USERS?json=yes"
---
6. Suspend / Unsuspend from CLI
Available in DirectAdmin 1.595+:
da suspend-user --user=fred --reason=abuse
da unsuspend-user --user=fred
da suspend-domain --domain=example.com
da unsuspend-domain --domain=example.com
---
7. Show DocumentRoot for All Domains
da docs-root
Outputs JSON containing public_html and private_html paths for all domains and subdomains.
---8. Other Useful Commands
- da install → rerun installer
- da permissions → reset DirectAdmin file permissions
- da taskq → run dataskq manually
- da doveadm-quota [email protected] → show Dovecot quota
9. Conclusion
The da command-line tool is one of the most powerful components of DirectAdmin, enabling administrators to automate tasks, debug issues, manage users and domains, and control the panel with precision.
Mastering these commands significantly improves server management efficiency.
Written & researched by Dr. Shahin Siami