What makes DA unique
A modern control panel's primary purpose is to effectively facilitate the routine management of your hosting infrastructure and present these tasks simply and intuitively to both the user and to you as the administrator.
While many available control panels claim to do just that, DirectAdmin offers many features that you just won't find elsewhere, making the DirectAdmin experience truly unique.
From a technical perspective, let's delve into more of the features that you'll love with DirectAdmin.
Nginx Unit
We've been working hard to bring you Nginx Unit! A dream come true for polyglots, the Nginx Unit application server supports the following languages:
- Perl
- PHP
- Python
- Ruby
- Java
Upcoming:
- Go
- Node.js
Nginx Unit allows you to run different versions of the same language, can deploy configuration changes without interruptions to services, and can run alongside any webserver. Several popular frameworks and web applications run seamlessly with Nginx Unit, including frameworks such as Django, Express, Flask, and Laravel, and webapps including WordPress, Joomla, Drupal, Jira, phpBB, and MediaWiki amongst several others.
We use Nginx Unit to support multiple languages, while the competition usually utilizes Phusion Passenger for this purpose. Nginx Unit offers features that just aren't available with Passenger. Some of the benefits of Nginx Unit when compared to Phusion Passenger include:
- Multithreading (applications can use multiple cores)
- Native support for many languages not supported by Passenger (Java, Go, Assembly, Perl, and PHP).
- Support of Linux namespaces and chroot natively to isolate the users/applications from each other. Namespace and file system isolation is available for operating systems that support it. You also have a choice between static or dynamic process management. More information here.
- Feature-rich. Nginx Unit as a standalone server supports routing, proxying and some other 'common webserver' features, such as HTTP/2 support. HTTP rewrites are planned. Proxying requests and load balancing by defining upstream servers is also possible. You can even serve Nginx in front of Unit to secure the Unit Control Socket (if you require the Control Socket to be accessible remotely, that is).
- ASGI support for Python. With ASGI, processing becomes asynchronous in Python. It lets you achieve high throughput in IO-bound contexts. Additionally, it fully supports WebSockets,which are bidirectional, low-latency, persistent connections between the server and the client that allows either participant to send messages at any time without the overhead of HTTP. Websockets are supported currently for Node.js, Java, and Python. Websocket support is planned for Ruby, Go, Perl, and PHP.
Nginx Templates for shared webhosting
Nginx has no support for .htaccess, thus friendly-URLs do not work automatically. DirectAdmin officially supports Nginx Templates to support most common CMS (content management system) applications with a single click. Select "WordPress", "Drupal" or some other CMS from drop-down, save the selection and that's it! It also has an API available, so, plugins like Installatron or Softaculous could have it integrated easily and make it work automatically after the installation of a new application.
OpenLiteSpeed webserver support
OpenLiteSpeed is the Open Source edition of LiteSpeed Web Server Enterprise. OpenLiteSpeed contains all of the essential features found in LiteSpeed Enterprise, including LiteSpeed cache support for common content management systems like WordPress, Joomla or OpenCart. See some benchmarks here conveying how well LScache performs. It offers .htaccess support for URL rewrites, and DirectAdmin offers a way to re-load OpenLiteSpeed automatically if any .htaccess changes are detected.
Nginx FastCGI cache for WordPress
Looking for an alternative to LScache (LiteSpeed cache)? We have it covered! You may use WordPress+FastCGI cache with your Nginx installation on your DirectAdmin server. Just select the WordPress+FastCGI cache template, install the WordPress Nginx Helper plugin, and you have your blazing-fast WordPress site ready!
Feature sets
Customizable or built-in feature sets, which allow the control over which features are allowed in the account per package or account. Default Feature Sets may include the following:
- DNS Only
- E-Mail Only
- Tickets
- View Domain
- Core Functions
Plugins as package items
Did you ever want to include more premium plugins with your premium plans only? The 'plugins as package items' feature lets you do it easily!
Rspamd, the Rspamd GUI, and many other email features
Rspamd support is offered as an alternative to SpamAssassin and provides better functionality. Rspamd is a drop-in replacement, so you'll notice that from within the user panel, the control options are unchanged. The same user_prefs syntax and settings are supported in Rspamd as with SpamAssassin. Rspamd also supports the addition of modules such as greylisting and Redis cache.
Other email features include : RBL blocking, EasySpamFighter and Blockcracking SpamBlocker modules, Exim filters, Pigeonhole Sieve language filtering support, Dovecot Full Text Search (FTS) with fts-xapian, Managesieve Roundcube sieve support, Whitelists/Blacklists, Daily per-user/per-account/global Email Limits, and so much more!
Real Time Performance Monitoring at a glance with Netdata
Netdata offers stunning visualizations and detailed graphs in real time to help you troubleshoot, monitor, and understand your server's performance and resource usage. While extremely detailed, the display couldn't be more alluring. It offers tons of software integrations, too. Enough said... check out a preview here!
MX templates
DirectAdmin includes, by default, some popular MX Templates for a faster MX record configuration. ‥Google Suite MX”, ‥Microsoft 365” and ‥Zoho Mail” are all offered as pre-configured choices. Other remote mail servers' MX records could be included in the MX template choices available by an admin if needed. Changing a mail server for the domain is as easy as selecting mail provided from the list, no more mess with DirectAdmin DNS record control for your end-customers!
Security
Login Keys
Users can create login keys that will essentially function like a second password for that username. The key can be set to:
- only be allowed to run certain commands (similar to
commands.allow
andcommands.deny
) - have an expiry date
- have a limited number of executions (e.g., 1, 2+, or unlimited)
- allow only the specific IPs or IP ranges listed to use that key.
Login keys are useful for many reasons, such as remote API calls, for example. You could create a login key that allowed access only to CMD_DNS* and CMD_API_DNS* functionality for a dynamic DNS script that makes calls to the server to update your local machine's hostname A record when the machine's IP has changed, for example. Another example of when this would be useful, you could create an admin login key restricted to your support team's IP addresses, and then provide this to your support team in lieu of your admin password.
Bubblewrap/JailShell
Better security is provided by using a bubblewrap for PHP, SSH, and crons, which actually does 'lock' a user in their own file system. This serves as an alternative solution to CageFS for those not using CloudLinux.
Direct CSF/LFD integration, the DirectAdmin BruteForce Monitor, and ModSecurity
Direct integration with CSF and BFM was implemented in DirectAdmin. This ensures that these security resources work together optimally to provide multiple layers of protection and prevent unauthorized access. BFM now also monitors ModSecurity logs(https://directadmin.com/features.php?id=2861)! So, you can have all three resources working together to ensure attackers are blocked.
User controlled per-domain ModSecurity flags
This feature enables Users to skip some mod_security rules, or fully disable them when needed. This can be disabled if desired by the root user.
Automatic Disabling of Spam Scripts
This feature will automatically chmod 000, thereby disabling, scripts that have exceeded email limits via PHP's mail() function. There is also a hook script for this function, which can be used to rename the spam script if so desired (useful for flagging spam scripts as malicious, or for preventing accidental re-enabling of spam scripts that haven't been removed when running commands to fix permissions en masse).
Multi-Server Setup
Supporting DNS, email, and accounts, the Multi-Server Setup feature offers scalability and centralized management by allowing multiple DA servers to communicate with one another. While mostly used for DNS clustering (zone transfer), it can also sync email accounts and user accounts.
IP Linking
The multi-IP system allows having a website on multiple IPs and the fine tuning of IPv6 to IPv4 relationships. Automatically add an IP to certain areas (Apache/DNS) based on the selection of another IP, seamlessly link LAN IPs to external IPs, and/or link IPv6 IPs to IPv4 IPs with this feature.
Customizations
Many users find that they need to customize these necessary features, and the extent to which that can be done varies greatly depending on what panel you use. You'll discover that DirectAdmin is immensely flexible in this area.
DirectAdmin Configuration Options
The directadmin.conf
allows you to easily enable/disable numerous features. You can even configure the DirectAdmin GUI to run via whatever available ports (SSL and non-SSL) you want! Take a look at all of the directadmin.conf
options here.
CustomBuild
CustomBuild was named aptly so because it allows one to customize the versions of software installations, flags used at compile time so that one can include custom modules and settings with PHP and Apache, for example, custom hook scripts to run with CB after a certain software upgrade, and more. See the extent to which CustomBuild facilitates customizations here.
Control Panel Skin Customizations
Advanced evolution skin customization, which includes not only colors but also full sectioning, custom icons and custom URLs to any resource. The skin comes including Light and Dark modes out of the box. Custom scripting is even supported in the skin templates! You can customize the login page and have custom per reseller/user widgets.
Custom Package/Domain Items
The custom package and custom domain items allow you to customize packages and domains. Linking custom package items to hook scripts, you can perform certain tasks for certain packages only. For example, let's say you wanted a certain feature available on one package only, then you'd use this feature to accomplish that. Let's say you wanted to have an option available to display a checkbox for "In Active Development" when creating a domain. You could link this to a hook script that would then have a custom "Coming Soon!" index.html page placed in the site's docroot, replacing the index.html put in place by DirectAdmin. You wouldn't want to do this for all domains, though, because of production domains that you may migrate in. That is just one example of how you could use this feature. The custom package/domain items offer a higher level of customization on a per package/per domain basis.
never_commands
The feature allows you to add any CMD_
to this variable, colon separated, so it can never be used. For example, if you want to fully prevent the creation of any new Admin account, you can add this to the directadmin.conf
:
never_commands=CMD_ACCOUNT_ADMIN:CMD_API_ACCOUNT_ADMIN
This is similar to the per user commands.allow
and commands.deny
files, but never_commands
is a global setting applicable to all users on the server.
commands.allow and commands.deny
The commands.allow and commands.deny files let you specify which commands you wish to allow and/or deny for a User. Use these to limit access to certain features, or grant access to only certain features on a per-User basis. For example, you could prevent a user's access to the API by adding CMD_API* commands to commands.deny
for that user.
Custom Templates
You can customize the any of the templates that DirectAdmin uses, located under the directory /usr/local/directadmin/data/templates
. These include DNS, Vhost, user notifications, and many other templates. These templates are tokenized (example), meaning that variables are used, which permit a staggering degree of flexibility. Custom scripting is even allowed in the templates! For example, see this and this. For anything you wish to customize with DirectAdmin, you would just copy the file to the appropriate custom
directory and make your changes to the file there. It's that easy!
DirectAdmin permits the use of their documentation via your URI.
You don't have to worry about spending the time, effort and money to provide your clients with general documentation for this panel's GUI. The documentation is available for licensed users to use under their own domain! The documentation available is served via https://www.site-helper.com/evo/sitehelper.php, but you can duplicate the content under your documentation URI, then change the URIs shown via the help buttons within the DirectAdmin panel. The help button URIs are controlled by user_helper
, reseller_helper
, and admin_helper
in the DA configuration (/usr/local/directadmin/conf/directadmin.conf
). Now, when users click the help buttons, they'll be directed to DA documentation loading under your domain!
Updates via CustomBuild
CustomBuild handles the software installations, removals, and updates for DirectAdmin. CustomBuild is unique to DirectAdmin alone and builds software from source, which allows it to support the latest software and versions as well as permit the highest degree of customization by allowing one to specify alternative versions to install (downloading your own even faster than it's added to the repos), custom compilation flags, and more. The only downsides are that it takes some time to build and can consume some CPU. However, being the first to run a highly anticipated software/feature makes it quite worthwhile.
An Internal Ticketing System, a Messaging System, Demo mode, and more to support reselling
Stellar accommodations are available for reseller hosting, including demo mode for attracting new clients, an internal ticketing system for managing client issues, and a message system for communicating with all users (notifications about upcoming upgrades, for example). Resellers can have their own nameservers, their own IPs, and more.
The following describe features that are useful for those who resell hosting and have root access, so the term 'reseller' in the following does not describe the "Reseller" access level, but rather one who resells hosting.
Users, resellers, and domains can also be customized via user.conf, reseller.conf, and domain.conf files, respectively, which allows a reseller with root access to adapt and customize accordingly for each user/reseller/domain as their needs evolve. These files, which require root access to edit, are located under /usr/local/directadmin/data/users/
(both the user.conf and the reseller.conf) and /usr/local/directadmin/data/users/<USERNAME>/domains/
,and allow one to enable/disable certain features on a per-user/per-reseller/per-domain basis.
A nifty tool for resellers with root access is the login hash generator. You can log in as the root user, and generate a login URL for your users. Since this is based off of login keys, you can control what IPs can use it, how long and how many uses it is valid for, and what commands are allowed. This would allow you to configure passwordless root SSH access to the server, but also be able to generate a login URL so that you can log into your users' DirectAdmin GUIs without the need to inquire about or reset their passwords.
The option to combine all access levels for a single user server
Some clients may not be interested in reseller hosting and only need to run a single busy site on their server via a single user. DA accommodates this as well by eliminating the need to toggle between admin/reseller/user access levels. DirectAdmin permits one to combine all access levels into a single interface, allowing one to access all features from within one page. Select the checkbox "Merge Access Levels" to use this feature.
Multiple users with admin privileges
DirectAdmin allows you to create multiple Admin users. This way, if you have multiple individuals trusted to administer the server, you can track who logged in and made what changes since they can have their own unique login with admin privileges as opposed to having multiple trusted individuals sharing a single login.
Common Must-have features
Some baseline "Must-Have" features for any modern control panel include:
- Server users (including quotas, packages and limits, access permissions)
- Domain Name System
- Web Service (a webserver with MultiPHP support and SSL certificates)
- Database Service
- E-Mail Service (including mailboxes themselves, aliases, forwarders)
- Spam protection
- Antivirus protection
- Statistics and logs
- Backups/Restorations
- Service Monitoring
- An API, hook scripts, plugins and widgets
- Demo mode
DirectAdmin exceeds these minimum requirements with the following industry-leading software implementations:
- Linux-based OS for user creation and management
- Named DNS service with DNS clustering support (/other-hosting-services/dns/general/#how-the-multiserver-dns-clustering-works)
- A choice of 5 different webservers, all with PHP and SNI SSL support
- The webservers available include:
- The reliable and trusted Apache
- The fast and efficient Nginx
- A combination of both, Nginx as a reverse proxy to Apache
- The speedy, secure, and optimized with Quic support, Litespeed but this does require a paid license
- The open-source version of Litespeed, OpenLiteSpeed
- Let's Encrypt for free SSLs, including:
- Lego external DNS provider support (e.g., Cloudflare)
- autoletsencrypt.sh, a script for managing automated Let's Encrypt SSL renewal
- wildcard SSL support
- Hostname SSL support
- Mail SNI
- Multiple PHP versions and the following PHP handlers supported:
- php-fpm
- fastcgi
- lsphp
- Truncating logs automatically to save disk space.
- The webservers available include:
- MySQL or MariaDB and PHPMyAdmin for Database management
- Exim and Dovecot for email management
- Rspamd or SpamAssassin, EasySpamFighter, Blockcracking, email limits, whitelists/blacklists, and RBL blocking for Spam prevention
- Antivirus protection and other security controls
- Statistics and logs
- Backups and restorations upon request and/or via a scheduled task, complete with configurable retention settings by appending custom values to the backup names. See also the backup and restore progress monitoring feature.
- Service Monitoring, monthly resource usage tallying, and task management via the dataskq
- An Extensive API
- Hook Scripts to hook into events and execute your own code before or after the event.
- Extendable panel via plugins (you can even write your own), widgets, and language packs.
- Demo mode available
- Per domain and per subdomain PHP version selection.
- Manage custom docroots via the DirectAdmin interface for both domains and subdomains.
Note that this list is not anywhere near completely inclusive of the features offered by DirectAdmin. DA brings so much more than this to the table as your hosting panel provider.
You may have noticed that some of the features listed above may include implementations that are unique to DA, such as BFM (their own Bruteforce Monitor).
Why DirectAdmin Will Always Be Unique
This is a quick look at the what makes DirectAdmin unique from a non-technical perspective. So, what is it that has allowed DirectAdmin to be unique thus far?
Because the company is comprised of people who truly love hosting, software, innovation, development, and the community... that's why.
It isn't hard to see this for yourself by perusing the forums. Whether it's smtalk posting custom written code in response to an issue a client has, or John pushing a fix to a bug discovered just an hour before, it's evident that these are committed people that love what they do.
This is also why DirectAdmin will always be unique. While other panels seem to be driven by the bottom dollar, DirectAdmin remains motivated by a passion for providing great software. While DirectAdmin cannot promise that there will never be a price increase simply due to the way business works, we can promise that we'll always do our best as your panel provider and do so at a rate within reason.