FAQ for DirectAdmin new customers

smtalk

Administrator
Staff member
Joined
Aug 22, 2006
Messages
8,339
Location
LT, EU
Hello,

Due to many new questions on DirectAdmin as a panel, I'm creating this article to answer some of the most common questions. If you have any questions not mentioned here - feel free to post them to the thread :)
Q: Appearance: What layouts come with DirectAdmin?

A: DirectAdmin Evolution skin (default one) is all written in Vue, on every request it just makes 1 or a few very light JSON calls for textfiles, and looks like this:
Standard layout:


Sidebar layout (you can change it live just for your session in "Hello, user" -> "Skin options", this can be set to be the default in "Customize Evolution Skin" under reseller level):


Icons grid layout (https://forum.directadmin.com/showthread.php?t=58075):


Sub-themed layouts (https://forum.directadmin.com/showthread.php?t=58500&p=299418#post299418):


You can check live demo (limited with features and what can be shown/clicked): https://www.directadmin.com/evolution.php

You can brand the skin easily by changing colors, using custom logo, changing menu items (removing/adding new ones) in "Customize Evolution Skin" section too.

Q: I find "Access Level" switches confusing, may I just show everything in one screen?

A: Yes, just use "Icons Grid" layout, and select "Merge Access Levels" checkbox.

Q: Is there any guide on how to use the interface?

A: https://site-helper.com/evo/sitehelper.php

Q: Is there a way to enable DirectAdmin demo for our customers?

A: Yes, DirectAdmin natively supports demo mode. You can host a demo site yourself on your hosting server, just like https://www.directadmin.com/evolution.php (click Demo Login).

Q: Is there a replacement for EasyApache?
A: Yes, subsystem is called CustomBuild. FAQ on it here: http://forum.directadmin.com/showthread.php?t=44743. For beginners, I'd suggest using a GUI instead of command line for it, see the question/answer below.

Q: Is there any graphical interface to manage system packages/updates?

A: Yes, CustomBuild has a plugin (http://www.custombuild.eu/plugin/custombuild.tar.gz) for it and looks like this:


Q: Is CloudLinux supported?

A: Yes, all components are tightly integrated into DirectAdmin. It fully supports CloudLinux LVE manager, CageFS manager, CloudLinux PHP Selector, CloudLinux NodeJS Selector. They are planning to release CloudLinux Python Selector for DirectAdmin very soon (I'd suggest contacting CloudLinux support for ETA). I recommend choosing lsphp as PHP mode with CloudLinux, as it's the one recommended by CloudLinux: https://docs.cloudlinux.com/limits/#compatibility-matrix

Q: What about support of other well-known products?

A: DirectAdmin is supported by most popular billing systems like WHMCS, Blesta or ClientExec. Backup solutions like R1Soft or ClusterLogics have support for DirectAdmin too. CSF Firewall is supported and has GUI for management from admin level. Softaclous/Installatron auto-installers are supported. ImunifyAV/Imunify360 are supported.

Q: What WWW servers/PHP modes are supported?

A: As mentioned in https://www.directadmin.com/technologies.php, DirectAdmin supports LiteSpeed, OpenLiteSpeed, Nginx and Apache as webservers, Nginx as reverse proxy of Apache is also supported. PHP-FPM, mod_php (with or without mod_ruid2), fastcgi and lsphp are available as PHP modes.

Q: Does DirectAdmin have DNS only license?

A: At this moment DirectAdmin requires you a normal license for DNS clustering (a cheaper limited-license option is planned, which should work fine with DNS cluster too), however, any of your shared webhosting servers could be used for this: https://help.directadmin.com/item.php?id=97. A free alternative for this for DNS only server would be https://directslave.com.

Q: Does DirectAdmin support multiple PHP versions by default?
A: Yes, it allows up to 4 different versions of PHP to be installed and selected per-domain. CloudLinux is recommended if more versions are needed, as in addition to this, you get hardened (patched) old versions of PHP like 5.2 :)

Q: Does DirectAdmin support any kind of clustering?

A: Yes. DirectAdmin fully supports DNS cluster. MySQL remote instance can be specified in DirectAdmin configuration file, this way you could have a MySQL cluster without any control panel in your infrastructure, and insert IP of it for DirectAdmin, it will create/use databases from there then. Mail cluster - currently proxying is tested the most, where you could use mail.yourdomain.com for all of your hosting servers, and that mail.yourdomain.com will know which host to proxy the request to, a guide for this is here: https://help.directadmin.com/item.php?id=2077. If you're looking for hosting your emails on a completely separate host, it's not production-ready yet, but it's work in progress: https://www.directadmin.com/features.php?id=1745. Filesystem cluster: if you'd like your /home files to be stored elsewhere, manual GlusterFS or CEPH mount would be needed, there is no native support for this yet.

Q: Does DirectAdmin have any inbound/outbound SPAM protection?

A: Yes, it offers rspamd, SpamAssassin and SMTP time checks for inbound SPAM. For outbound protection mail ratelimiting and BlockCracking (blocks email account if they send lots of emails to non-existing recipients) are offered.

Q: Is there any interface to mange ModSecurity rules?

A: Currently it's only available as a plugin, with Comodo (CWAF) free ruleset installed. A GUI is available in DA admin level.

Q: Is there any tool/how-to for migration from cPanel?

A: Yes, please check the following for more information: https://forum.directadmin.com/showthread.php?t=58059&p=296438#post296438

Q: Does DirectAdmin have any API?

A: Yes, it does, and has PHP libraries for that too: https://help.directadmin.com/item.php?id=499. Not that any page/information directly in DirectAdmin can be fetched as JSON directly (useful for plugin developers).

Q: Is there any documentation for plugin development?

A: Yes, please check the following: https://help.directadmin.com/item.php?id=290. I'd suggest checking http://www.custombuild.eu/plugin/custombuild.tar.gz as the example of real-world plugin as it has native Vue integration with Evolution skin :) DirectAdmin also supports "widgets" and "widget-only" plugins. "Vue widget only" example https://forum.directadmin.com/showthread.php?t=57994. Another example without vue (displayed as iframe): https://forum.directadmin.com/showthread.php?t=43292.

Q: Are there any translations available for DirectAdmin?

A: Yes. Currently there is no single place for translations/management, but it should be available soon. Currently installing a new language is as easy as placing a couple of translation files. You may find lots of different translations here: https://forum.directadmin.com/forumdisplay.php?f=96. To create a new language pack, please follow https://help.directadmin.com/item.php?id=704.

Q: Is it possible to send emails from user assigned IPs?

A: Yes, this feature is available since 2015-01, changelog entry: https://www.directadmin.com/features.php?id=1692. Please note it was marked as BETA in the changelog for DA 1.47, and is stable in current versions of DA.

Q: How may we setup a new server with specific environment we need, instead of changing it after installation?

A: Please follow the following guide for it: https://help.directadmin.com/item.php?id=578

Q: Is there an alternative for AutoSSL?

A: https://help.directadmin.com/item.php?id=675

Q: Is it easy to setup a smart-host?

A: https://help.directadmin.com/item.php?id=153

Q: How to set custom php.ini settings?

A: https://help.directadmin.com/item.php?id=672

Q: Where does DirectAdmin store email data (and where does cPanel do this)?

A: DirectAdmin stores it here: /home/user/imap/domain.com/email/Maildir/
cPanel: /home/user/mail/domain/email/

Email account configuration (passwords, aliases etc.) are saved in /etc/virtual/domain.com. cPanel stores them in /home/user/etc/domain.com/.

Replacement for /etc/domainusers is /etc/virtual/domainowners on DirectAdmin servers. Local devliery domains listed in /etc/virtual/domains.

Q: Where does DirectAdmin store website data?

A: It is stored in /home/user. Every domain has it's own public_html folder, full path to domain public_html: /home/user/domains/domain.com/public_html. Please note that docroot can be customized on admin level: https://help.directadmin.com/item.php?id=3

Q: What's the list of paths used by DA on the system?

A: https://www.directadmin.com/paths.php

Q: We have email-only server, is there a way to transfer it quickly using rsync and without compressing all the emails to backup tarballs?

A: https://forum.directadmin.com/showthread.php?t=58066&p=296482#post296482

Q: How to make webmail.domain.com available, as now only domain.com/webmail works?

A: https://help.directadmin.com/item.php?id=92

Q: How to make DirectAdmin listen on port 2082 for HTTP requests and port 2083 for HTTPs?

A: Just set the following settings in /usr/local/directadmin/conf/directadmin.conf and restart DirectAdmin:
Code:
port=2082
ssl_port=2083
If you would like to let customers use just the SSL on port 2083, set:
Code:
ssl=1
port=2083
Related: https://help.directadmin.com/item.php?id=2101

Q: Does DirectAdmin have any templating system for nginx/openlitespeed/apache configuration?

A: Yes, it does. If you need just a change for a single domain, it's recommended to use "Custom HTTPd Configuration" from admin level. If you'd like to add a custom block to every website, it can be done this way: https://www.directadmin.com/features.php?id=2155 (real-world example of /usr/local/directadmin/data/templates/custom/cust_httpd.CUSTOM.2.pre here: https://www.litespeedtech.com/support/wiki/doku.php/litespeed_wiki:cache:common_installation:directadmin-shared). If you'd like to re-write complete template (not recommended, unless you're planning to maintain it): https://help.directadmin.com/item.php?id=2.

Regarding global settings, only /etc/httpd/conf/extra/httpd-includes.conf is not touched by "./build rewrite_confs", all the other files are always overriden from /usr/local/directadmin/custombuild/configure/ap2/conf, however, if you change something in configs, for example, /etc/httpd/conf/extra/httpd-mpm.conf, just copy it to /usr/local/directadmin/custombuild/custom/ap2/conf/extra/httpd-mpm.conf, and it will always use your customized file. It's also very easy to see what's customized on the systems, as you just check /usr/local/directadmin/custombuild/custom for CustomBuild customizations and /usr/local/directadmin/data/templates/custom for custom templates :)
Q: How to customize exim/dovecot?

A: Please check https://help.directadmin.com/item.php?id=576. I wouldn't suggest doing direct /etc/exim.conf changes, because then you would need to turn exim configuration updates off :) If you'd like to manage it yourself - no problems with setting exim_conf=no in CustomBuild and managing /etc/exim.conf manually. When editing dovecot configs - same custom/ structure as mentioned in above applies. Copy the config to /usr/local/directadmin/custombuild/custom/dovecot/conf and you're safe with having config updates enabled.

Q: What's preferred way to add custom php.ini things?

A: Execute "php --ini", it's recommended to place it to php.conf.d directory, for example, 90-custom.ini. As DirectAdmin does not overwrite php.ini file, you may edit it directly, but it's not so easy to notice the customizations when you migrate the server, for example.

Q: How to deploy a new server with Evolution skin settings copied over from our other server?

A: Evolution stores the custom config in (admin is can be a reseller name, if you'd like to copy reseller's branding) /usr/local/directadmin/data/users/admin/skin_customizations/evolution/, just copy this directory and you have your settings there.

Q: How to create custom CustomBuild configuration files correctly?

A: /usr/local/directadmin/custombuild/configure/ folder is where DirectAdmin stores it’s configuration file templates for services (not per-vhost configs, those are stored in /usr/local/directadmin/tempaltes) and loads them to the system after configuration rewrite/updates. Note that /usr/local/directadmin/custombuild/configure/ is always overwritten by DirectAdmin with CustomBuild updates, but there is a way to store these configs permanently.

Anything you find in /usr/local/directadmin/custombuild/configure/, you'd just place it to the same path, just the "configure" part changed to "custom", so, it'd be /usr/local/directadmin/custombuild/custom/. For example, if you would like to have modified version of /etc/httpd/conf/extra/httpd-mpm.conf, you may find it's 'template' is stored in /usr/local/directadmin/custombuild/configure/ap2/conf/extra/httpd-mpm.conf, so, it means you can copy your /etc/httpd/conf/extra/httpd-mpm.conf (or template file from configure/) directly to /usr/local/directadmin/custombuild/configure/ap2/conf/extra/httpd-mpm.conf, to prevent any overwrites with "./build rewrite_confs" or updates.

DirectAdmin will not modify any files placed in /usr/local/directadmin/custombuild/custom/ folder and they will have priority over /usr/local/directadmin/custombuild/configure/ folder.

/usr/local/directadmin/custombuild/custom/ folder does not exist by default, you have to create it (mkdir), and place files manually there.

Please note we have /etc/httpd/conf/extra/httpd-includes.conf, which is never overriden, so, you can place anything you want there too (this is what plugins usually do).

Q: How to enable skin selection for end-customers?
A: Firstly, you should enable this option in /usr/local/directadmin/conf/directadmin.conf: https://www.directadmin.com/features.php?id=977

Value may be changed using:
Code:
/usr/local/directadmin/directadmin set user_can_select_skin 1 restart
After the change, users could change their skin in: User level -> System Info & Files -> Site Summary / Statistics / Logs -> Edit Account Configuration (button)

Q: Is it possible to run Backup or Restore using terminal (CLI) instead of using GUI?

A: https://help.directadmin.com/item.php?id=198

Q: Does DirectAdmin support realtime quotas?

A: https://www.directadmin.com/features.php?id=2310

Q: How to disable "Change domain name" functionality?

A: Just add CMD_CHANGE_DOMAIN to never_commands list in directadmin.conf, if that's the only function you'd like to disable, it can be done this way:
Code:
/usr/local/directadmin/directadmin set never_commands CMD_CHANGE_DOMAIN restart
Q: I have enhanced skin set in my packages/accounts, how to switch everything to evolution using command line?

Code:
perl -pi -e 's|skin\=enhanced|skin=evolution|g' /usr/local/directadmin/data/users/*/user.confperl -pi -e 's|docsroot\=./data/skins/enhanced|docsroot=./data/skins/evolution|g' /usr/local/directadmin/data/users/*/user.conf
perl -pi -e 's|skin\=enhanced|skin=evolution|g' /usr/local/directadmin/data/users/*/packages/*.pkg

Q: How to forbid layout changes on Reseller or User levels?

Customize Evolution Skin -> Misc. Options -> Forbid users changing the skin layout on user level

For resellers: https://www.directadmin.com/features.php?id=2201
 
Last edited:

emiliomedina21

Verified User
Joined
Jul 23, 2019
Messages
18
AutoSSL Alternative

The AutoSSL alternative (autoletsencrypt.sh) can be added to crontab and to create ssl certificates only to newer users?
 

dotcanada

Verified User
Joined
Aug 20, 2003
Messages
11
Is there a way to have DA listen on 2222 and 2083 (both in SSL?)

Or is there a guide on how to setup a dummy site on *:2083 that has a php file to redirect to servername:2222 ?

We'd like to make things easier for our cPanel customers but don't want to change the default port :2222 since this will lead to different servers having different ports to access DA in the future.

Cheers,


Richard
 

smtalk

Administrator
Staff member
Joined
Aug 22, 2006
Messages
8,339
Location
LT, EU
Is there a way to have DA listen on 2222 and 2083 (both in SSL?)

Or is there a guide on how to setup a dummy site on *:2083 that has a php file to redirect to servername:2222 ?

We'd like to make things easier for our cPanel customers but don't want to change the default port :2222 since this will lead to different servers having different ports to access DA in the future.

Cheers,


Richard
CSF port redirection is the easiest way to achieve this I think :)
 
Top