KNOWNHOST WIKI

User Tools

Site Tools


control-panels:comparison:directadmin-vs-cpanel-comparison

A Comparison of cPanel and DirectAdmin


The Graphical User Interface

Both panels offer a clean, organized, modern GUI. A picture is worth a thousand words, so let's allow you to make your own decision about the skins. Below is the 'Icon Grid' Layout of the new DirectAdmin Evolution Skin.

And below is the cPanel WHM default skin.

Both are quite modern and facilitate server and domain management via a friendly, easy-to-use interface.

Demo Mode

Both panels provide live demos (though cPanel only appears to provide the live demo of cPanel and not one for WHM). 1) 2)

Additionally, you can enable Demo Mode on an account that you host so that you can use it as a sales tool. This applies to both panels. 3) 4)


Access Levels

Both DirectAdmin and cPanel are structured with different access levels.


DirectAdmin

DirectAdmin's interface seems to be a bit easier with regards to the number of ports and access levels.

DirectAdmin

  • All interfaces (both SSL and non-SSL) served via port 2222 by default (lacks any mnemonic proxy path to :2222 like /whm is to :2087)
  • 3 access levels: admin, reseller, user (there is also an optional 4th email-only access level plugin)
  • An option exists to merge all access levels if you want to have access to all features in one single interface
  • You can switch between all user levels in the same interface if logged in as admin, and can log in as any user via "Show All Users".
  • ability to create multiple top-level 'admin' users if desired

DirectAdmin's management interface may seems simpler to use to someone that prefers to manage all accounts and/or domains themselves, though it is still simple enough to manage multiple access levels as well. The ability to create multiple users with 'admin' access levels also allows one to share the overall server and reseller/user management responsibilities with other admin users while preserving absolute root control.


cPanel

cPanel/WHM is structured with two different interfaces operating on different ports, each serving different users with different privileges.

WHM

  • port 2086 (non-SSL) and port 2087 (SSL)
  • ports can be accessed by combining either http or https with /whm
  • serves resellers and the root user
  • used for reseller and user account management & the configuration of services such as MySQL, PHP, and Apache.
  • permits only one single user above the reseller level, which is the root user

cPanel

  • port 2082 (non-SSL) and port 2086 (SSL)
  • ports can be accessed by combining either http or https with /cpanel
  • serves cPanel users created by either root or the resellers
  • used primarily for domain/subdomain/addon domain and email management (though you can edit PHP, SSL, and such services as they pertain to your domain).

cPanel lacks the option to manage everything in one interface, though they do permit root login to cPanel via the "List Accounts" interface (as long as this is permitted in Tweak Settings, which root controls). The highest level that one can have with WHM without using the root login is the reseller level. There is no option to create other 'admin' users to help you manage resellers, and if reseller management is necessary, one must use the root login in order to accomplish this.


Themes and Styles


DirectAdmin

DirectAdmin offers four styles of the new Evolution theme for all access levels.

Icons Grid

Standard

Sidebar

Hybrid

DirectAdmin has also recently their first sub-theme for Evolution, which is named "traditional". 5)


cPanel

As for cPanel, the cPanel team recommends the x theme for WHM, the paper_lantern theme for cPanel, and the x3mail theme for Webmail. 6)

By default, you can choose either the 'Classic' style or the 'Default' style for WHM.

Classic

Default

You can choose one of four different styles for cPanel with the Paper Lantern theme. The following image is taken from WHM's Home »Themes »Theme Manager interface.

Both DirectAdmin and cPanel provide documentation for customizing themes for their panels and login pages. 7) 8) 9) 10) One can completely alter the appearance of the panel to suit their personal style or brand with either panel.


File Manager

Both panels include a modern, easy-to-use File Manager.

At first glance, DirectAdmin's File Manger doesn't appear to have as many options as cPanel's, but many of those features become accessible via tooltips that appear when you are about to select a file or directory that you need to make changes to. So, don't let the simplicity of the display fool you as the features are tucked away nicely and intuitively displayed when you need them.

cPanel's File Manager is very feature-rich, nicely arranged and overall appealing to the eye. It opens in a new window so that you can easily swap back and forth between cPanel and the File Manager if needed.


WebDAV

Both DirectAdmin and cPanel support WebDAV (cPanel support is via its Web Disk interface). Cardav and Caldav are not available by default on DirectAdmin,11) but these features are available via cPanel by default 12). An experienced system administrator may be able to configure these on DirectAdmin, though. 13)


Resource Usage

The cPanel templates provision to consume more disk space and memory than the DirectAdmin templates, however, this could be because cPanel has traditionally had support for more features. With the recent advances DirectAdmin has made in the panel's design and added support for more features, the template and resource usage has grown but is still substantially below that of cPanel. DirectAdmin typically runs with a much lower memory footprint than cPanel as well.

Cost should definitely be considered along with resources. Even before cPanel's recent price hikes, DirectAdmin was hardly an underdog. With the changes in the cPanel license costs, DirectAdmin is in a prime position to take the lead.


The Webserver and PHP Implementation

Because the PHP handler one can use depends on what webserver has been selected, one cannot really manage PHP's configuration without also considering the webserver configuration. These are heavily interdependent on one another. Thus it makes sense for major panels to combine the management of both into a single task. This is smart because it allows the panel to prevent incompatible setups from even being attempted, much less built and deployed.

For DirectAdmin, PHP and webserver management is handled by CustomBuild. For cPanel, it is EasyApache.


CustomBuild versus EasyApache

Both systems are equally adept at what they do. Which you'd prefer depends on your priorities. Both systems support multiple versions of PHP, and both can integrate flawlessly with Cloudlinux to be able to use the secured EOL PHP versions CloudLinux offers as well. If you'd prefer to be able to quickly make changes to the configuration, then EA is for you, but if you prefer more control to be able to build your configuration with custom modules, then CB is for you. Also, CustomBuild is actually used to manage all software installations on the server, such as MySQL, Roundcube, ClamAV, and many more. A single CustomBuild instance could be used to update many different software installations.


Major Pros & Cons of Each

Pro Con
DirectAdmin Many different software installations are highly extendable thanks to being built from source Building from source is slow
cPanel Changes can be made very, very fast to PHP and the webserver Pre-built RPMs mean a limited set of RMS and thus less custom modules


Supported Webservers

DIRECTADMIN CPANEL
Apache Apache
Nginx Nginx 14)
Nginx Reverse Proxy + Apache
Litespeed (requires paid license) Litespeed (requires paid license)
OpenLitespeed


Usage via a Graphical Interface

CustomBuild has long been used via the command line, but many aren't comfortable using a terminal, so DirectAdmin now supports a CustomBuild GUI plugin. 15)

EasyApache has long supported usage via both the command line and via WHM's EasyApache interface. EasyApache 4 is essentially a graphical interface for yum.


Command Line Usage

CustomBuild

DirectAdmin facilitates CustomBuild usage and configuration via the build command.

There is so much that can be done with this command. To view all options, you could just run the following:

/usr/local/directadmin/custombuild/build

The following will show you your current configuration:

/usr/local/directadmin/custombuild/build used_configs

And the following will show you what the latest available version of a software is versus that you have installed:

/usr/local/directadmin/custombuild/build versions

Use the following to update those that require updates:

/usr/local/directadmin/custombuild/build update_versions

The following will show some of the more important options as set in the /usr/loca/directadmin/custombuild/options.conf:

/usr/local/directadmin/custombuild/build options

The syntax is as follows for setting an option to a value:

/usr/local/directadmin/custombuild/build set option_name value

After setting the option as desired, you may need to issue commands to rebuild and rewrite configuration files. For example, the following set of commands would set the primary default PHP version to 7.3 and then update, rebuild, and rewrite the configuration files:

cd /usr/local/directadmin/custombuild
./build set php1_release 7.3
./build update
./build php n
./build rewrite_confs

cPanel

EasyApache4 uses yum for installing modules from the EA4 repository. This means that you can also use rpm to review installed modules. One could use the following to view all installed PHP 7.3 modules:

rpm -qa | grep ea-php73-php

And as for yum, the following can be used to install the XML PHP extension:

yum install ea-php70-php-xml -y

The following command is used to view and help manage the PHP Handlers for each PHP version:

/usr/local/cpanel/bin/rebuild_phpconf 

To view the current PHP handlers for each PHP version:

/usr/local/cpanel/bin/rebuild_phpconf --current

To set the PHP handler to LSAPI for PHP version 7.2:

/usr/local/cpanel/bin/rebuild_phpconf --ea-php72=lsapi

It is important to remember that the .htaccess and .ini files must be rewritten if a PHP handler is changed. The WHMAPI can be used to reapply all PHP versions to all domains following a handler changes with a for loop like so:

for d in $(awk -F: '{print $1}' /etc/userdomains | grep -v '*' | grep -Pv 'ns[\d]'); do v=$(grep -P "^$d" /etc/userdatadomains | grep -Po 'ea-php[\d][\d]'); [[ -z $v ]] && v=$(grep def /etc/cpanel/ea4/php.conf | grep -Po 'ea-php[\d][\d]'); whmapi1 php_set_vhost_versions version=$v vhost-0=$d; done

It is also important to ensure that the user's PHP settings are consistent across these files. The /usr/local/bin/ea_sync_user_phpini_settings script syncs the php.ini , .user.ini, and .htaccess files for either a specified user:

/usr/local/bin/ea_sync_user_phpini_settings --user=username

Or for all users:

/usr/local/bin/ea_sync_user_phpini_settings --all-users

There are also many, many more WHM API commands that can be used to manage Apache and PHP from the CLI. 16).


Customizations


Webserver

DirectAdmin

When customizing your webserver configuration files, you must follow guidelines set forth by your chosen panel for doing so. If you do not, then your customizations will be overwritten the next time the panel rewrites these files. This is true for both DirectAdmin and cPanel.

DirectAdmin allows you to make changes via customized template files so that your customizations are used anytime configuration file rewrites are done. This is actually true for any DirectAdmin server services that use a template-based configuration, such as Named.

For example, to change the docroot for all subdomains, you would rewrite a custom virtualhost template specifying this customization. 17)18)

If you want to instead modify the httpd.conf, you would either edit the designated customizations file /etc/httpd/conf/extra/httpd-includes.conf, or create a custom httpd.conf in the CustomBuild custom/ directory. 19). Such changes requiring this would include adding custom modules. Also, editing configuration settings, such as MaxClients or ServerLimit is done similarly. To accomplish this, locate the value you need to change like so:

grep -Rli 'serverlimit\|maxclients' /etc/httpd/conf/

Once you've found the file containing the value to edit, copy it into the CustomBuild custom/ directory and make the desired changes. This way, CustomBuild will recognize that you've customized your configuration and not overwrite the file containing those customizations. You must remember this change if you decide to change your configuration in the future, though.

If you need to make a customization to only one domain's virtualhost, you would do so via Admin Level → Custom Httpd configurations → domain.com, which creates a custom httpd configuration file in the user's data directory, /usr/local/directadmin/data/users/USER/domains/DOMAIN.TLD.cust_httpd

To summarize, if you need a change that will be applied to the httpd configuration, use the CB custom/ directory or use the /etc/httpd/conf/extra/httpd-includes.conf file if you are adding code rather than removing or altering existing code. If you need a change applied to all Vhosts for all or some domains (such as the webmail or stats subdomains by default) you'd use the custom virtualhost template. 20) If you need a change for a single domain's vhost, use the Custom Httpd configurations interface for that domain.

cPanel

cPanel makes use of include files for making changes to specific domains. You must create the specified path to the include file and the file itself containing the customizations and rebuild and restart Apache in order for a domain's custom changes to be included. The main configuration file specifies these include file paths/names. 21) Creating the path and the file must be done via CLI.

cPanel also allows one to change the templates as well, which will change how cPanel writes the virtualhosts in the first place. 22) You would use this method if you needed a custom subdomain created by default for all domains, for example.

You can also use WHM to edit the global httpd configuration. Use this method to edit global variables, such as Server Limit, for example. 23)

To summarize, cPanel offers the same techniques to customize the webserver configuration as DirectAdmin for the most part. One would use a customized global template to modify the Virtual Host created by the panel for all domains, the domain's include files (found in the user's data in DA) to edit the configuration for a single domain, and lastly, the global include files for editing the global httpd configuration.

The only major difference that I see between the two is that DirectAdmin allows one to make changes to the custombuild files for Apache to change what components it is built from source with. 24) This difference exists because the configuration is built from source rather than from RPMs as is the case with cPanel.


PHP

PHP customizations in DirectAdmin can be accomplished in many, many different ways, and the files that you would edit depend on what type of webserver and PHP handler you are using. It is actually quite confusing to navigate this, though that is the price you pay for having a highly customizable environment. There is no single panel-specified method, so unexpected results can occur when multiple files are edited with different or conflicting settings, especially when a server is managed by a team rather than a single person. Overall, the single method that appears to offer the most flexibility and will likely work regardless of your configuration involves creating a uniquely named custom php.ini file within the directory /usr/local/lib/phpXX/php.conf.d/. 25) You can then proceed to specify a PATH or HOST section to apply the custom php directives to a certain path or domain, respectively.

cPanel, on the other hand, has explicit instructions for PHP customizations. WHM contains the MultiPHP Manger and the MutliPHP INI Editor. The MultiPHP INI Editor in WHM is used to apply global php.ini settings, either via a php.ini or a php-fpm.conf (but both are editable via the MultiPHP INI Editor interface). Within cPanel, a MultiPHP INI Editor also exists, which can be used to make edits on a per domain basis. One nice feature of cPanel's setup is that their MultiPHP INI Editors will create and correctly edit 1) a custom php.ini, 2) a custom .user.ini, and 3) an .htaccess all within the same directory for the changes and keep these 3 files synced. This is really very helpful as it keeps one from having to analyze their PHP, PHP Handler, and Webserver configuration thoroughly before adjusting php settings. It also prevents conflicting changes in different locations that could result in one very frustrated site/system admin.


SQL

The following shows what SQL options are supported for each panel.

DIRECTADMIN CPANEL
MySQL yes yes
Postgres no yes
MariaDB yes yes
PHPMyAdmin yes yes

So, if you require Postgres and prefer panel-supported installations, you would likely want to use cPanel. However, if you don't mind installing and configuring services such as Postgres yourself, then you could use DirectAdmin and enjoy more features and security via the latest versions available.

DirectAdmin also supports MySQL version 8 where cPanel supports up to version 5.7 (current as of August 2019).

Both panels store the SQL server's configuration files at /etc/my.cnf. Both also use /var/lib/mysql/ as the data directory, which contains the error logs, pid file, and database files.


Managing DNS

Both DirectAdmin and cPanel support Named/Bind and both support DNS Clustering. 26) 27)

Both have eloquent DNS administration interfaces to record management as well.

DirectAdmin

cPanel


Email

Both cPanel and DirectAmin support the following email features (Webmail and anti-spam tools are discussed later):

  • Catch-all email accounts
  • Forwarders/Aliases
  • Autoresponders/Vacation Messages
  • Mail Queue Administration Interface
  • Mass Email address/forwarders import features
  • Quota Enforcement
  • Strong Password Enforcement
  • Ability to Mass Email All Users
  • Automatic purging of mailboxes
  • One-click Webmail login when authenticated via the panel
  • Autodiscover

DirectAdmin and cPanel both use Exim and both use some of the same Webmail software, so email capabilities of one panel should match those of the other.


Webmail

DirectAdmin cPanel
Roundcube yes yes
Squirrelmail yes no
Horde no yes


Fighting Spam

Both DirectAdmin and cPanel offer a myriad of tools for fighting spam. Here is a quick overview:

DirectAdmin cPanel
SpamAssassin yes yes
Pigeonhole Sieve yes no, feature requested 28)
Email Sending Limits yes yes
Custom RBLs & RBL Blocking yes yes
Filtering yes yes
Rspamd yes no, feature requested 29)
Spam Blocker yes similar functionality available 30)
Easy Spam Fighter yes similar functionality available 31)
Block Cracking yes similar functionality available 32)
Greylisting yes, via Spam Blocker exim.conf yes
Sender Verification yes, via Spam Blocker exim.conf yes
BoxTrapper no 33) yes
ClamAV Integration yes yes
Sender Verification yes yes


Mailing Lists

DirectAdmin supports mailing lists via Majordomo. cPanel supports mailing lists via Mailman.

As of August 2019, the DirectAdmin migration tool doesn't copy Mailman mailing lists to Majordomo. Likewise, the same is true of cPanel's migration tool with regards to Majordomo data to Mailman.


Backups

Backup encryption is ideal keeping backups that are GDPR compliant. Encrypted backups are supported via DirectAdmin, but not cPanel. 34)

DirectAdmin's backup restoration interface has the ability to restore cPanel backups. This is how DirectAdmin handles migrating content from cPanel. cPanel's backup restoration interface lacks this ability, however, they have a Transfer Tool that will handle migrating content from many panels, including DirectAdmin, Plesk, and Ensim.

Both panels support automatic Backup FTP/Rsync to remote locations.


Free SSLs

DirectAdmin supports free SSLs via Let's Encrypt for the server's hostname, domains, subdomains, addon domains, and service subdomains. These can be used to secure services as well. This requires that you run Let's Encrypt for the domain, which can be done in the panel as long as SSL is enabled in the DirectAdmin configuration and the user's skin. DirectAdmin also has an autoletsencrypt.sh script that can be downloaded and set to run via cron so that Let's Encrypt SSLs are automatically renewed for you. 35) The SSLs interface can be accessed at the User access level.

cPanel provides free SSLs by default from Sectigo (formerly Comodo) for the server's hostname and for domains, subdomais, addon domains, and service subdomains. These can be used to secure services as well. cPanel also supports free SSLs from Let's Encrypt, but it requires the installation of a plugin, and you must choose either Sectigo or Let's Encrypt, but not both. There was some dispute between Comodo and Let's Encrypt early in Let's Encrypt's deployment which has led many to prefer one to the other, so cPanel's decision to provide both options will accommodate either preference.

Manage AutoSSL in WHM has several tabs for viewing logs (so that you may determine why domain validation failed or check to see the status of the SSL request), for enabled/disabling SSLs for users, and for configuring AutoSSL options (such as the notifications you wish to receive). Manage AutoSSL is accessed via WHM, but there is also an interface at the cPanel user level for managing SSLs, too.


Free Let's Encrypt WildCard SSLs and Rate-Limits

DirectAdmin has has support for this since approximately summer 2018 36). As of August 2019, wildcard SSLs are not available with cPanel. cPanel does, however, have plans to implement this feature by v84. 37)

One notable benefit of using cPanel's Sectigo (formerly Comodo) SSL vendor is that they do not impose rate-limits as Let's Encrypt will start doing with their new API 38). The new rate-limit is 300 certificate orders every three hours. Let's Encrypt does provide a form to request a larger limit 39), though. Also, with the ability to request wildcard SSLs, reaching the limit is made less likely.


APIs, Pre/Post Hooks, Debug Mode, and Scripts

Both panels offer vast options for customizing and extending the panel via APIs, Pre- and Post-Hooks, and plugins. Furthermore, they both contain a scripts directory containing many useful scripts to help you administer your server. DirectAdmin's scripts directory is located at /usr/local/directadmin/scripts/ and cPanel's is located at /usr/local/cpanel/scripts/.

DirectAdmin

The DirectAdmin Api 40) permits one to accomplish anything via a script that can be accomplished via the panel. All one must do is determine what POST values to use with the API in order to construct the API command. You can run the panel in debug mode 41) to determine these values.

Aside from the API, you may also attach custom scripts to pre-and post-hooks so that custom code runs either before or after certain events. Plugins allow one to extend DirectAdmin's functionality even further. 42)

cPanel

cPanel is developer friendly as well and accommodates these same features. You can create your own package items, implement custom code via plugins and pre- and post- hooks and plugins, and use debug mode to debug your custom code. All of the development features and more are well documented on their developer documentation page. 43)


Security

Both panels are quite secure out of the box. Statistically speaking from experience, 99.9% of hacks occur due to vulnerabilities in the site rather than in the server, and this is largely due to how KnownHost utilizes the panels' features to secure everything by default in addition to a reliable firewall, such as CSF/LFD. Here are just a few of the security features that both panels support (listed features may be either enabled already or optional on KH servers and unofficially supported, e.g., Maldet):

  • Automatic Updates via Cron 44) 45)
  • 2FA 46) 47)
  • Security Questions 48) 49)
  • CSF/LFD Firewall
  • ClamAV 50) 51)
  • Maldet 52) 53)
  • Option to Enforce Strong Passwords 54)55)
  • Automatic PunyCode translation for IDN domains 56)
  • ModSecurity 57) 58)
  • Spam-fighting software/methods 59) 60)
  • much, much more!

Bruteforce Monitoring

Both panels offer their own bruteforce monitoring software. DirectAdmin includes BFM, the BruteForce Monitor, and cPanel includes cPHulk. 61)

DirectAdmin's BFM by default sends messages to the admin about bruteforce attempts, but doesn't actually block them. This is because DirectAdmin doesn't support IPTables, but there is an unsupported way to configure this. 62) An alternative option would be to configure BFM to work with the CSF/LFD firewall,63) but the integration appears to be redundant as it appears to simply disable settings that the firewall monitors and passes those to BFM. CSF/LFD would monitor these services sufficiently alone. For this reason, Knownhost uses CSF/LFD for bruteforce attack blocking.

cPanel's cPHulk is much of the same story. Unlike BFM, it does handle blocking by default (via denying authentication, not via IPTables), though. Still, CSF/LFD is sufficient for monitoring and blocking bruteforce attacks, so this feature can be considered just another layer of protection for the paranoid, if not redundant. For this reason, Knownhost does not enable this by default.

For any users that choose not to use a firewall such as CSF/LFD, these services would be highly recommended.


Statistics Software

DirectAdmin and cPanel alike support both Awstats and Webalizer. 64) 65) 66) 67). You may choose to use neither, one or the other, or both. These options applies to both panels.


Innovation and 3rd-party Apps

Nginx and Free Litespeed Technologies

DirectAdmin has been quick to implement some features that many have considered absolute hosting necessities. One such feature is Nginx. DirectAdmin has had support to Nginx for a very long time, whereas cPanel just began to support it in 2019. Despite this, cPanel was able to implement support for LSAPI whereas DirectAdmin has not. LSAPI is the free version of LSAPI PRO from Litespeed and CloudLinux. It lacks CRIU and connection pooling but is still much faster and for more efficient than DSO. DirectAdmin instead supports OpenLitespeed, which is still very new and has been reported to cause high CPU and/or RAM usage, though both the CloudLinux and DirectAdmin teams are typically quick to resolve such issues.

Passenger, Ruby, NodeJS, and Python

cPanel also implemented Apache's ModPassenger, which has allowed them to offer support for Ruby on Rails, NodeJS, and Python applications. Using ModPassenger for RoR, WSGI, and NodeJS applications looks like a promising and more stable method of hosting these applications, which is how cPanel now handles these. DirectAdmin has no official support for this, however, considering that one can install custom Apache modules via CustomBuild, it may not be too difficult to implement.

Tomcat

cPanel also currently has official support for Tomcat, but like its Ruby on Rails and Python app support, the implementation has been completely overhauled and in between the time it took to do this for these applications, cPanel support for these features was discontinued.

FastCGI and PHP-FPM

DirectAdmin has been offering FastCGI and PHP-FPM for some time, where cPanel implemented these in the past few years. If the latest and greatest is your preference, DirectAdmin offers this. Both cPanel and DirectAdmin are good choices if you desire a stable, production environment.

MySQL 8

MySQL 8 is currently available for DirectAdmin servers, where version 5.7 is the highest available version for cPanel as of August 2019.

Useful Reseller Features

One feature that DirectAdmin includes that cPanel does not is an internal ticketing system. This ticketing system is intended for hosting resellers so that an account owner can be easily contact by that account user.

Another feature that is useful especially for resellers is the ability to mass email all accounts they own. Both panels offer this capability.

DirectAdmin is highly, highly customizable. One feature that cPanel lacks that would be useful to admins and resellers alike would be the ability to add custom package features. 68) For example, if you wanted to offer a custom service to these customers outside of the panel, such as Uptime Monitoring or Dynamic DNS, for example, you could add a custom package item for this.

Browser-based Terminal

cPanel has a Terminal Feature that is quite handy for those that are inexperienced with connecting to a server via SSH. It is essentially an SSL terminal inside your browser delivered via your panel. It exists in both WHM and in cPanel. The terminal inside WHM gives access to directories and files that are otherwise inaccessible via the panel and thus can be very useful.


Developer/Forum Support

One thing that most absolutely loved about cPanel was the level of support you could expect from cPanel via both the ticket system and the cPanel forums. You could find the answer to any issue you had in the forums. Both cPanel Staff and the cPanel user community contribute to the forums heavily and the forums have tutorials section as well. If you couldn't find the answer on the forums, then a quick ticket submission to cPanel support would surely have the issue resolved in no time.

DirectAdmin hasn't always had this level of support with regards to the forums, however they haven't always had the demand they've seen recently, either. Time will tell, but thus far, their support for cPanel to DirectAdmin migrations has been exceptional. They've gone above and beyond to accommodate feature requests and to help those transitioning to DirectAdmin.


Equivalent Files, Logs, and Services in DirectAdmin and cPanel

DirectAdmin cPanel
DOMAINS
default docroot /home/USER/domains/DOMAIN/public_html /home/USER/public_html
subdomain docroot /home/USER/domains/DOMAIN/public_html/SUB /home/USER/public_html/SUB OR /home/USER/SUB/
https vs http location /home/USER/domains/DOMAIN/private_html , /home/USER/domains/DOMAIN/public_html /home/USER/public_html
find domain owner
grep DOMAIN.COM /etc/virtual/domainowners
/scripts/whoowns DOMAIN.COM 
custom docroot definitions file /usr/local/directadmin/data/users/USER/domains/DOMAIN.COM.cust_httpd /var/cpanel/userdata/USER/DOMAIN.TLD
DirectAdmin cPanel
USER DATA
user root directory /home/USER /home/USER/
user data directory /var/cpanel/userdata/USER /usr/local/directadmin/data/users/USER
DirectAdmin cPanel
MAIL
user email data directory /home/USER/imap/DOMAIN.TLD/ACCOUNT/Maildir /home/USER/mail/DOMAIN.TLD/ACCOUNT/
account's default domain's email directory /home/USER/Maildir /home/USER/mail
email account configuration /etc/virtual/DOMAIN.COM/ /home/USER/etc/DOMAIN.COM/
custom outgoing mail IPs file /etc/virtual/domainips /etc/mailips
custom domains' HELO file /etc/virtual/helo_data /etc/mailhelo
local domains file /etc/virtual/domains /etc/localdomains
location of root forwarder /etc/aliases /root/.foward
location of domains' aliases /etc/virtual/DOMAIN/aliases /etc/valiases/DOMAIN
Dovecot index files for info@email.com /home/USER/imap/EMAIL.COM/INFO/Maildir/dovecot* /home/USER/mail/EMAIL.COM/INFO/dovecot.index
email limits files /etc/virtual/limit, /etc/virtual/user_limit, etc/virtual/limit_${USER} /etc/email_send_limits
main exim activity log /var/log/exim/mainlog /var/log/exim_mainlog
fatal error log NA /var/log/exim_paniclog
Incoming-email rejection log /var/log/exim/rejectlog /var/log/exim_rejectlog
exim configuration files /etc/exim.*conf /etc/exim.conf*
DirectAdmin cPanel
PHP
PHP path /usr/local/php## /opt/cpanel/ea-php##
location of php.ini /usr/local/php##/lib/php.ini, /usr/local/lib/php##/php.conf.d/*.ini /opt/cpanel/ea-php##/root/etc/php.ini
php executable location /usr/local/php##/bin/php /opt/cpanel/ea-php##/root/usr/bin/php
pear executable location /usr/local/php##/bin/pear /opt/cpanel/ea-php##/root/usr/bin/pear
pecl executable location /usr/local/php##/bin/pecl /opt/cpanel/ea-php##/root/usr/bin/pecl
phar executable location /usr/local/php##/bin/phar /opt/cpanel/ea-php##/root/usr/bin/phar
PHP-FPM logs /usr/local/phpXX/var/log/php-fpm.log /usr/local/cpanel/logs/php-fpm/error.log, /var/cpanel/php-fpm/USER/logs/
command to check php & handler settings
/usr/local/cpanel/bin/rebuild_phpconf --current
grep -P php'[\d]'_ /usr/local/directadmin/custombuild/options.conf
PHP-FPM User pools configuration /usr/local/directadmin/data/users/USER/php/php-fpmXX.conf /opt/cpanel/ea-phpXX/root/etc/php-fpm.d/DOMAIN.conf , /var/cpanel/userdata/USER/DOMAIN.COM.php-fpm.yaml
PHP-FPM global configuration files /usr/local/phpXX/etc/php-fpm.conf /opt/cpanel/ea-phpXX/root/etc/php-fpm.conf
PHP-FPM default configuration templates /usr/local/directadmin/data/templates/php-fpm.conf /var/cpanel/ApachePHPFPM/system.yaml, /var/cpanel/ApachePHPFPM/system_pool_defaults.yaml
DirectAdmin cPanel
BACKUPS
panel backups /home/admin/admin_backups, /home/admin/user_backups /backups, /home/USER/
softaculous backups user settings /home/USER/.softaculous /home/USER/.softaculous
softaculous backups /home/USER/softaculous_backups /home/USER/.softaculous_backups
panel's global backup exclusions grep "skip_*_in_backups" /usr/local/directadmin/conf/directadmin.conf /etc/cpbackup-exclude.conf
panel backup user configuration file /home/USER/.backup_exclude_paths /home/USER/cpbackup-exclude.conf
MySQL backups /usr/local/directadmin/custombuild/mysql_backups /backup/*/system/* & /backup/*/*/system/*
DirectAdmin cPanel
SERVICE MONITOR
service monitoring /usr/local/directadmin/data/admin/services.status /etc/chkserv.d/chkservd.conf
commands
/usr/local/directadmin/custombuild/build set_service mysql ON|OFF|delete
whmapi1 configureservice service=mysql enabled=1 monitored=1
logs /var/log/chksrvd.log,/usr/local/cpanel/logs/tailwatchd_log /var/log/directadmin/system.log, /var/log/directadmin/errortaskq.log
DirectAdmin cPanel
APACHE
error log /var/log/httpd/error_log, /var/log/httpd/domains/DOMAIN.COM.error.log /etc/apache2/logs/error_log
configuration files directory /etc/httpd/conf/, /etc/httpd/conf/extra/ /etc/apache2/conf/, /etc/apache2/conf.d/
domlogs /var/log/httpd/domains/DOMAIN.COM.log /etc/apache2/logs/domlogs
httpd customizations per domain /usr/local/directadmin/data/users/USER/domains/DOMAIN.COM.cust_httpd /etc/apache2/conf.d/userdata/s*/2_4/USER/DOMAIN.COM/*.conf
global apache customizations files directory /usr/local/directadmin/custombuild/custom/ap2, /etc/httpd/conf/extra/httpd-includes.conf /etc/apache2/conf.d/includes/
access logs /var/log/httpd/access_log /etc/apache2/logs/access_log
server docroot /var/www/html /var/www/html
binary /usr/sbin/httpd /usr/sbin/httpd
DirectAdmin cPanel
SSLs
domain SSLs /usr/local/directadmin/data/users/USERNAME/domains/ /var/cpanel/ssl/apache_tls/,
Apache server.crt /etc/httpd/conf/ /etc/apache2/conf.d/
Exim /etc/exim.cert, /etc/exim.key /var/cpanel/ssl/exim/
MySQL configurable configurable
OpenLitespeed /usr/local/lsws/ssl.*/ NA
Nginx /etc/nginx/ssl.*/
FTP /etc/exim.cert, /etc/exim.key /var/cpanel/ssl/ftp/
Dovecot /etc/exim.cert, /etc/exim.key /var/cpanel/ssl/dovecot/
DirectAdmin cPanel
SSH
SSH/d configuration /etc/ssh/ /etc/ssh/
ssh log /var/log/secure /var/log/secure
DirectAdmin cPanel
NAMED
default nameservers setting /usr/local/directadmin/conf/directadmin.conf /etc/wwwacct.conf
zone files location /var/named/ /var/named/
named configuration /etc/named.conf /etc/named.conf
DirectAdmin cPanel
WEBAPPS
PHPMYAdmin /var/www/html/phpMyAdmin /usr/local/cpanel/3rdparty/php/72/etc/phpmyadmin
Roundcube /var/www/html/roundcube /usr/local/cpanel/3rdparty/php/72/etc/roundcube
PHPPGAdmin NA /usr/local/cpanel/3rdparty/php/72/etc/phppgadmin
Horde NA /usr/local/cpanel/3rdparty/php/72/etc/horde
MajorDomo /etc/virtual/majordomo NA
Mailman NA /usr/local/cpanel/3rdparty/mailman/
DirectAdmin cPanel
NGINX
configuration /etc/nginx/nginx.conf, /etc/nginx/*conf, /etc/nginx/conf.d/ /etc/nginx/nginx.conf, /etc/nginx/conf.d/*
user configurations /usr/local/directadmin/data/users/USER/nginx.conf /etc/nginx/conf.d/users/*.conf
domlogs /var/log/nginx/domains /var/log/nginx/access.log
access logs /var/log/nginx/access_log /var/log/nginx/access.log
error logs /var/log/nginx/error_log /var/log/nginx/error.log
domain access logs /var/log/nginx/domains/DOMAIN.COM.log /var/log/nginx/access.log
domain error logs /var/log/nginx/domains/DOMAIN.COM.error.log /var/log/nginx/error.log
DirectAdmin cPanel
LITESPEED
/usr/local/lsws/ /usr/local/lsws/

* Litespeed is a drop in replacement for Apache, so the domlogs, access logs and error logs will be the same as they were when using Apache.

DirectAdmin cPanel
OPENLITESPEED
configuration fies /usr/local/lsws/conf/ NA
binary /usr/local/lsws/bin/openlitespeed NA
restart log /usr/local/lsws/logs/lsrestart.log NA

* OpenLitespeed is a drop in replacement for Apache, so the domlogs, access logs and error logs will be the same as they were when using Apache.

DirectAdmin cPanel
SPAMASSASSIN
user-defined SA configuration /home/USER/.spamassassin/user_prefs /home/USER/.spamassassin/user_prefs
SA enabled user file /home/USER/.spamassassinenable /home/USER/.spamassassinenable
executable /usr/bin/spamassassin /usr/local/cpanel/3rdparty/perl/528/bin/spamassassin
DirectAdmin cPanel
CRONS
user crons /var/spool/cron/USER /var/spool/cron/USER
root crons (panel backups, etc) /etc/cron*/* /var/spool/cron/root
cron log /var/log/cron /var/log/cron
DirectAdmin cPanel
PANEL LOGS/DIRECTORIES
login log /var/log/login.log /usr/local/cpanel/logs/login_log
error log /var/log/error.log /usr/local/cpanel/logs/error_log
access log /var/log/${date}.log /usr/local/cpanel/logs/access_log
system log (tallies, LE, service reloads, etc) /var/log/system.log /usr/local/cpanel/logs/*, /var/cpanel/logs/*
task queue error log /var/log/directadmin/errortaskq.log NA
utility scripts location /usr/local/directadmin/scripts/ /usr/local/cpanel/scripts, /usr/local/cpanel/bin/
DirectAdmin cPanel
FIREWALL
LFD log /var/log/lfd.log /var/log/lfd.log
CSF/LFD configuration /etc/csf/csf.conf /etc/csf/csf.conf
Whitelist /etc/csf/csf.allow /etc/csf/csf.allow
Block list /etc/csf/csf.deny /etc/csf/csf.deny
Dynamic DNS /etc/csf/csf.dyndns /etc/csf/csf.dyndns
Ignored files /etc/csf/csf.fignore /etc/csf/csf.fignore
Ignored processes /etc/csf/csf.pignore /etc/csf/csf.pignore
DirectAdmin cPanel
MySQL
configuration file /etc/my.cnf /etc/my.cnf
data directory /var/lib/mysql/ /var/lib/mysql/
error log /var/lib/mysql/host.servername.tld.err /var/lib/mysql/host.servername.tld.err
DirectAdmin cPanel
CB/EA PATHS & CLI COMMANDS
activity log /usr/local/directadmin/custombuild/custombuild.log /var/log/yum.log
DirectAdmin cPanel
WP-CLI
executable /usr/local/bin/wp /usr/local/cpanel/3rdparty/bin/wp
user wp-cli configuration, cache, & data /home/USER/.wp-cli/ /home/USER/.wp-cli/
DirectAdmin cPanel
GIT
executable /usr/bin/git /usr/local/cpanel/3rdparty/bin/git
gitk /usr/bin/gitk /usr/local/cpanel/3rdparty/bin/gitk
gitweb yes yes
14)
currently experimental only
30) , 31)
see mail options in WHM's Tweak Settings and Exim Configuration Manager
32)
See 'Mail' options in Tweak Settings (Maximum percentage of failed or deferred messages a domain may send per hour & Number of failed or deferred messages a domain may send before protections can be triggered)
control-panels/comparison/directadmin-vs-cpanel-comparison.txt · Last modified: 2019/10/10 19:24 by Karson N.