Version 1.692
Released: 2026-01-05
New "Clear trash" action in File Manager evolution update
A new "Clear Trash" action has been added to File Manager, letting you permanently delete all trashed files and folders conveniently.
Updated File Manager "Move" dialog evolution update
The move dialog now calls a new API endpoint and reports any errors right in the same window, so you immediately know if one of the selected files or folders cannot be moved.
Faster cleanup for long-running plugin requests update
Long-running plugin requests used to continue running until the plugin process terminates.
If the client request for the plugin is cancelled, the plugin handler would not notice that and would continue to run.
An optimization is added to close the plugin request writing socket as soon as the client request is terminated. This allows plugin processes to detect output write errors and terminate faster.
Software version changes custombuild update
- composer updated from
2.9.2to2.9.3 - imapsync updated from
2.290to2.314 - phalcon (PHP extension) updated from
5.9.3to5.10.0 - PHP 8.1 updated from
8.1.33to8.1.34 - PHP 8.2 updated from
8.2.29to8.2.30 - PHP 8.3 updated from
8.3.28to8.3.29 - PHP 8.4 updated from
8.4.15to8.4.16 - PHP 8.5 updated from
8.5.0to8.5.1
Simplified web server and PHP-FPM templates update
PHP-FPM configuration files are updated to no longer use the LIMIT_EXTENSIONS token.
The PHP-FPM option security.limit_extensions now has a static value that matches the file extensions web server will pass to the PHP-FPM process.
Files:
data/templates/php-fpm.confdata/templates/php-isolated-fpm.conf
@@ -20,6 +20,8 @@ pm.max_children = |MAX_CHILDREN|
pm.max_children = |MAX_CHILDREN|
pm.process_idle_timeout = 20
pm.max_requests = |MAX_REQUESTS|
+security.limit_extensions = .php .inc .phtml
+
php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f |EMAIL|
|*if PHP_SESSION_SAVE_PATH!=""|
@@ -33,10 +35,6 @@ php_admin_value[open_basedir] = |OPEN_BASEDIR_PATH|
php_admin_value[mail.log] = |PHP_MAIL_LOG_DIR|/php-mail.log
|*endif|
-|*if LIMIT_EXTENSIONS!=""|
-security.limit_extensions = |LIMIT_EXTENSIONS|
-|*endif|
-
|FPM_PHP_SETTINGS|
|CUSTOM2|
The web server templates are simplified to use same set of PHP file extensions. The .phps files were matched with the FilesMatch directive, but ignored in the AddHandler directive.
Files:
data/templates/user_virtual_host.conf
<Directory "|HOME|/public_html">
|*if HAVE_PHP1_FPM="1"|
- <FilesMatch "\.(inc|php|phtml|phps)$">
+ <FilesMatch "\.(php|inc|phtml)$">
AddHandler "proxy:unix:|PHP_FPM_SOCKET_PATH||fcgi://localhost" .inc .php .phtml
</FilesMatch>
<FilesMatch "\.(php53|php54|php55|php56|php70|php71|php72|php73|php74|php80|php81|php82)$">
Files:
data/templates/virtual_host2.confdata/templates/virtual_host2_secure.confdata/templates/virtual_host2_sub.confdata/templates/virtual_host2_secure_sub.conf
Options -ExecCGI -Includes +IncludesNOEXEC
|*endif|
|*if HAVE_PHP1_FPM="1"|
- <FilesMatch "\.(inc|php|phtml|phps|php)$">
+ <FilesMatch "\.(php|inc|phtml)$">
<If "-f %{REQUEST_FILENAME}">
AddHandler "proxy:unix:|PHP_FPM_SOCKET_PATH||fcgi://localhost" .inc .php .phtml
</If>
Fix checkmark for selected domain evolution fix
Checkmark was not visible if the selected domain had non-latin letters in the name.
Fix table sorting for tables with initial sort evolution fix
Fixed an issue where tables that had initial sort could not be sorted any other way.
Removed file or folder creation and upload actions from trash in File Manager evolution fix
The trash folder no longer shows "New Folder", "New File", or "Upload" actions. Since trash is meant only for restoring or permanently deleting items, these actions have been removed to avoid confusion.
Show all pointer/alias domain combinations in new certificate request page fix
The page for the new domain certificate is fixed to list out all domain pointer/alias and subdomain combinations. Previous DA versions would only show the main domain/alias host.
Custom Package Items in php-fpm.conf and VirtualHost templates
For anyone who uses the Custom Domain Items or Custom Package Items, their values will now be more readibly available in the php-fpmXX.conf files and Apache VirtualHost templates. The Custom Domain Items were already available in the VirtualHosts, but Custom Package Items have now been added, with the format:
|CUSTOM_PACKAGE_ITEM_test|
where test would be the name of the Custom Package Item.
Similarly, the php-fpm.conf template, which writes to, eg: /usr/local/directadmin/data/users/fred/php/php-fpm83.conf, also has support for Custom Package Items.
Note that custom CUSTOM_PACKAGE/DOMAIN_ITEM_ tokens are only generated if there is a matching field in their respective user.conf or domain.com.conf files.
Removed script output from successful CMD_PLUGIN_MANAGER install action removal
Successful plugin installation using CMD_PLUGIN_MANAGER no longer returns script output if the script completes successfully. Script output will still be shown if the script fails.
Removed named_service_override configuration options from directadmin.conf removal
This flag was intended to handle named service name mismatch between RHEL and Debian systems. Since Debian 11, both systems have decided to use named.service name.
Removed CustomBuild set_service command removal
The command da build set_service is not supported anymore. This command allowed changes to be made to the /usr/local/directadmin/data/admin/services.status file.
Command was removed because it falls out of scope for the functionality that the CustomBuild tool provides (installation and configuration additional software).
The services file can be easily managed manually or with an external helper script set_service.sh:
#!/bin/bash
FILE=/usr/local/directadmin/data/admin/services.status
SERVICE=$(sed 's/[.[\*^\/&$]/\\&/g' <<< "$1")
SERVICE_RAW=$1
ACTION=$2
if [ "${ACTION}" = "ON" ] || [ "${ACTION}" = "OFF" ]; then
if ! grep -q -e "^${SERVICE}=" ${FILE}; then
echo "${SERVICE_RAW}=${ACTION}" >> ${FILE}
else
sed -i -e "s/^${SERVICE}=.*/${SERVICE}=${ACTION}/" ${FILE}
fi
elif [ "${ACTION}" = "delete" ]; then
sed -i -e "/^${SERVICE}=/d" ${FILE}
else
echo "unknown option: ${ACTION}"
echo "Usage:"
echo " set_service <service> ON"
echo " set_service <service> OFF"
echo " set_service <service> delete"
fi