newDebug flag for running CustomBuild from CLI
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/tmpchecking it out can be useful when debugging software compilation or configuration errors.
improvedSimplified multi-server (cluster) IP binding logic
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
ethernet_dev values in
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.
cluster_ip_bindis empty and
lan_ipis 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.
cluster_ip_bindis empty and
lan_ipis not empty, bind to IP set int
cluster_ip_bindis non empty and not set to
NULL(case insensitive) value, then bind to the specified address.
cluster_ip_bindis non empty but set to
NULL(case insensitive) value allow OS to pick source IP address.
cluster_ip_bindis not empty, bind to the specified address.
cluster_ip_bindis 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.
improvedPermissions command files structure
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
custombuild improvedSoftware version changes
MariaDB 10.4updated from
MariaDB 10.5updated from
MariaDB 10.6updated from
MariaDB 10.11added with
PHP 8.1updated from
PHP 8.2updated from
- new ionCube loaders now support PHP 8.2
- MariaDB 10.11 is now available
custombuild improvedDefault PHP opcache extension configuration
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.enable_cli=1 is removed so the default value of
opcache.enable_cli=0 will be used.
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.
exim.conf custombuild improved
The project was merged with the spamhouse and we do already have the zen.spamhouse.org in our rbl check list:
More information - https://www.abuseat.org/cutover.html.
custombuild fixedSent email limit for individual mail-boxes
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.pl scripts to ensure Exim would always use lower-cased version of mailbox address. This fixes the limits accounting issue.
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.
fixedInfinite Evolution skin reload loop on user password change
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.
fixedRedis service clean-up on user deletion
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.
fixedSending emails from jailed environment using old msmtp version
Accounts in jailed environments uses msmtp tool to send email from CLI. Default config file for MSTP
data/templates/exim.bubblewrap.conf used patterns
%H to generate sender address, but these patterns are only supported starting
msmtp version 1.8.7.
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.
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.
fixed evolutionPreserving fragment URL part when loading plugins
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.
removed evolutionFade-in/fade-out animation when navigating between pages
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.