Version 1.653

Released: 2023-09-18

Debug flag for running CustomBuild from CLI new

Running CustomBuild script from CLI now has debug mode, which is enabled with --debug flag. Example usage:

da build --debug wp

Enabling debug mode changes CustomBuild behaviour in the following way:

  • CustomBuild script will be executed in bash trace mode, which will print all executed commands to the output.
  • Temporary directories used to compile software will not be wiped-out after script exits. Temporary files are stored in /usr/local/directadmin/custombuild/tmp checking it out can be useful when debugging software compilation or configuration errors.

Simplified multi-server (cluster) IP binding logic improved

If DA is configured to use multi-server (cluster) feature outgoing requests to other DA instances used a complicated set of logic to bind the request to a specific IP address on the source server. It depended on combination of cluster_ip_bind, lan_ip and ethernet_dev values in directadmin.conf

The logic for binding request to specific source IP address or allowing OS to pick suitable source IP address is changed in the follwing way.

Old behaviour:

  • If cluster_ip_bind is empty and lan_ip is empty, bind to first IP address of network device set in ethernet_dev. This behaviour used to cause unexpected problems if first IP address on the interface is not suitable for outgoing connections.
  • If cluster_ip_bind is empty and lan_ip is not empty, bind to IP set int lan_ip.
  • If cluster_ip_bind is non empty and not set to NULL (case insensitive) value, then bind to the specified address.
  • If cluster_ip_bind is non empty but set to NULL (case insensitive) value allow OS to pick source IP address.

New behaviour:

  • If cluster_ip_bind is not empty, bind to the specified address.
  • If cluster_ip_bind is empty, allow OS to pick source IP address.

Update script will detect if cluster_ip_bind is set to NULL and automatically set it to empty value to continue using OS preferred IP address as before this upgrade.

Permissions command files structure improved

da permissions command is responsible for ensuring correct DirectAdmin files structure. It is automatically called on DirectAdmin install and updates.

Permissions command had a minor flaw which caused it to exit early if some operation fails. The comman has been improved to rather continue its execution, printing all errors it encounters.

CloudLinux Solo licenses can use lsphp PHP mode custombuild improved

CloudLinux Solo licenses can now use mod_lsapi package for using lsphp PHP mode. CustomBuild script is updated to allow selecting lsphp on servers using CloudLinux solo licenses.

This mode could be enabled with command:

da build set php1_mode lsphp

Software version changes custombuild improved

  • MariaDB 10.4 updated from 10.4.30 to 10.4.31
  • MariaDB 10.5 updated from 10.5.21 to 10.5.22
  • MariaDB 10.6 updated from 10.6.14 to 10.6.15
  • MariaDB 10.11 added with 10.11.5 version
  • PHP 8.1 updated from 8.1.22 to 8.1.23
  • PHP 8.2 updated from 8.2.8 to 8.2.10
  • phalcon5 updated from 5.2.3 to 5.3.1
  • roundcubemail updated from 1.6.2 to 1.6.3
  • composer updated from 2.5.8 to 2.6.3
  • nginx updated from 1.25.1 to 1.25.2
  • redis updated from 7.0.12 to 7.2.1
  • owasp3_rules updated from 3.3.4 to 3.3.5
  • unit updated from 1.30.0 to 1.31.0
  • ioncube_loaders updated from 12.0.4 to 13.0.1
  • dovecot updated from 2.3.20 to 2.3.21
  • pigeonhole23 updated from 0.5.20 to 0.5.21
  • openlitespeed updated from 1.7.17 to


  • new ionCube loaders now support PHP 8.2
  • MariaDB 10.11 is now available

Default PHP opcache extension configuration custombuild improved

This version has updated opcache PHP extension configuration (file custombuild/configure/opcache/opcache.ini). It does not set explicit configuration options that matches default opcache configuration.

Option opcache.enable_cli=1 is removed so the default value of opcache.enable_cli=0 will be used.

Using opcache for CLI calls is not recommended and causes compatibility issues with ioncube PHP loader extension. With this change latest ioncube loader can be used.

Remove from exim.conf custombuild improved

The project was merged with the spamhouse and we do already have the in our rbl check list:

More information - in new window.

Sent email limit for individual mail-boxes custombuild fixed

In some cases sending an email would be counted only towards DirectAdmin user account limit but not for the particular mailbox limit.

This happens if upper-case characters were used in SMTP authentication for mail delivery.

This version updates exim.conf and scripts to ensure Exim would always use lower-cased version of mailbox address. This fixes the limits accounting issue.

Compiling PHP readline extension on PHP 7.1 custombuild fixed

Some systems failed to compile PHP readline extension on PHP 7.1 because of incorrect rl_completion_matches function detection. Compilation would fail with error:

/usr/local/directadmin/custombuild/php-7.1.33/ext/readline/readline.c:34:31: error: conflicting types for ‘completion_matches’
   34 | #define rl_completion_matches completion_matches
      |                               ^~~~~~~~~~~~~~~~~~
In file included from /usr/local/directadmin/custombuild/php-7.1.33/ext/readline/readline.c:38:
/usr/include/editline/readline.h:183:15: note: previous declaration of ‘completion_matches’ was here
  183 | char        **completion_matches(/* const */ char *, rl_compentry_func_t *);
      |               ^~~~~~~~~~~~~~~~~~

This version includes a patch for PHP sources that allows this extension to be compiled successfully.

Infinite Evolution skin reload loop on user password change fixed

Changing user password used to cause Evolution skin to enter infinite reload loop. This release fixes the issue.

With this release - changing user password will no longer terminate active user sessions. Only prevent new logins using old password. Next DA versions will have separate page for listing and terminating active used sessions if needed as a separate action, not tied to the password change action.

Redis service clean-up on user deletion fixed

Removing user which had active redis service running used to leave stopped and failed systemd redis instance unit. This version extends user deletion code to clean-up no longer needed systemd redis unit.

Sending emails from jailed environment using old msmtp version fixed

Accounts in jailed environments uses msmtp tool to send email from CLI. Default config file for MSTP data/templates/exim.bubblewrap.conf used patterns %U and %H to generate sender address, but these patterns are only supported starting msmtp version 1.8.7open in new window.

Some distros are still using older msmtp versions (Debian 10 has msmtp 1.8.3 and Ubuntu 20 has msmtp 1.8.6). On these system using patterns in the configuration file fails preventing users from sending email in jailed environment.

This release updates the config file to generate from email address using DirectAdmin template system. This makes configs compatible with older msmtp on old distros.

After update configuration files will be updated automatically so no additional actions are needed.

Package renaming fixed

Renaming a package to a same name used to delete the package entirely instead of leaving it untouched. This is now fixed so renaming package to the same name is no-op.

Preserving fragment URL part when loading plugins fixed evolution

Some plugins render menus with URLs that contain fragment part (part after # symbol). Older Evolution versions ignored this part. With this release fragment part is preserved.

Fade-in/fade-out animation when navigating between pages removed evolution

Fade animation when navigating between pages in Evolution skin is removed. Skin option to disable these animations is removed as well with the new default being no animations.

Removed Disable Route Transitions

Last Updated: