Version 1.62.5

Released: 2021-08-10

Backup: mysqldump timeout new

New internal default:


which allows up to 4 hours for a mysqldump call before DA will send a SIGTERM to kill it. It was reported that corrupted tables can hang mysqldump, thus hanging the entire backup process.

You can disable the timeout by setting

./directadmin set database_dump_timeout 0

and no internal alterations to signal handlers and alarm timeouts will be made.


Suspend in background new

Optional new directadmin.conf value for suspending/unsuspending in the background, internal default:



this only applies to the "dosuspend" and "dounsuspend" triggers. It does not apply to the toggle "suspend" case which isn't used by Enhcaned/Evolution, as the toggle can swap opposite states on a per-User basis #confusing.

Read more


Mailing List save settings hook: new

Hook script which can be used to take actions after list settings are saved. For example:


as this is a post-script, the exit code will have no effect on the save operation.


The env values passed will be the same tokens that are set in the template: /usr/local/directadmin/data/templates/list.config

|NAME| will be set as "list-digest" if the list name was "list". |name| will be set as "list"

Read more


Second-Level TLDs to tld.list (TEMPLATES) improved

Added expanded list of second-level TLDs to the new template file: /usr/local/directadmin/data/templates/tld.list
... etc.

Could not add to forbidden_domains.list, as that included subdomains for the block. This change simply blocks the creation of a second-level tld domain.

T34003 T34079 T34189

update_channel: stable, current, beta, alpha (SKINS) new

To allow for better choice in terms of which updates you get, and when, we're introducing a new directadmin.conf variable, default: update_channel=current

where "current" refers to the standard version used eveywhere:

To do:

/cgi-bin/daupdate to handle the other channels.

Read more

Create DB page: get Users for all DBs in single query fixed

When creating a new DB, DA offers Users to create it using an existing account. All Users for all DBs under this User are listed. If there are many DBs, this can take time to get the list of Users for each DB.

This change makes one single call using a LIKE username_% condition, allowing a much faster result list.


DNS: Delete record: not affecting pointers fixed

For User Level DNS Management and MX Records, there is an "Affect Pointers" option for adding/removing records. The "add" and "edit" options were correctly duplicating the records, but the deletion of records as not correctly affecting pointers, when indicated to do so.

T33966 F62624

Call ./directadmin p from scripts/ fixed

Previously, the calling dataskq internally set permissions after updating DA. This change will move this call to the, by calling ./directadmin p from the script using the new binary.

task.queue: rewrite mail_sni with domain clears configs fixed

Bug introduced with this change

where, if the task.queue call for a mail_sni rewrite is used for just one domain, all sni configs are cleared and not re-added, eg:

echo 'action=rewrite&value=mail_sni&' > /usr/local/directadmin/data/task.queue.cb; ./dataskq d1245 --custombuild

Workaround, rebuild all sni configs globally:

echo 'action=rewrite&value=mail_sni' > /usr/local/directadmin/data/task.queue.cb; ./dataskq d1245 --custombuild

Fix will just delete the sni config for this domain. The global (all domain) version is not affected.


Create Domain Pointer: inherit master dns zone fixed

When creating a domain pointer, DirectAdmin will now check the existing option:


and if set to 1, it will duplicate all records from the master domain's dns zone for the pointer. The "left-side" values will be checked for endings of and swpped with

The right-side values will not be affected. Logic being MX/CNAME/NS values can remain the same.

If the form is passed:


this will override the dns_affect_pointers_default value.

Block php-settings for non-default fpm domains fixed

There can only be 1 php-fpmXX.conf file per User (for a given php selection). This means that for multiple domains using the same conf file, they must all share the same settings. DirectAdmin only bases this conf file on the main/default domain on the account.

Previously, a non-default fpm domain was able to set the php settings, which had no effect. This change blocks GET/POST requests to the CMD_PHP_SETTINGS call for a non-default domain if it's using php-fpm.


Nginx: protected directory: quote paths and values (TEMPLATES) fixed

Related to the change to the internal "location" structure management from 1.62.0 documented here

preventing the use of the location PROTECTED_PATH part of the nginx_protected_directory.conf (it still uses the template, but only bits between {})

This change puts quotes around the location's value, eg:

location ~ "^(/protected)(/.*)?$$"

and the template will be changed to put quotes around the auth_basic_user_file value.


CMD_ADMIN_SSL: cache shows invalid during per-User rewrite fixed

When data/admin/certificates_cache.json was updated for just 1 User, it was processing all domains, rather than just the domains on the list. This was an unhandled state causing other User certs to become "invalid" in the GUI. This did not affect the actual cert's functionality, only a cosmetic confusion.


auto_detect_filesystem_type for the dataskq fixed

The main quota_partition value was not being detected correctly in dataskq when relying on:


Eg: when /home is ext4


This should end up using ext4 for setting quotas, but xfs was used. The result is a backup could fail is the User's usage was too high and they didn't have enough quota space to create the tar.gz file.

Simple workaround:


if the quota_partition isn't using xfs.


Protected Directories: /var/home/user breaks .htpasswd path fixed

chroot vs no chroot deteremines how many slashes DA will look for in: /home/user/domains/

when determining the path: /home/user/domains/

Cases where the home is: /var/home/user, this breaks, causing: /home/user/domains/.htpasswd/


Last Updated: