Version 1.33.1

Released: 2009-02-24

Ability to change the tmp backup paths during ftp backups new

Ability to change /home/tmp to something else for backups.

Also ability to change the "backup" directory that DA uses for each user to assemble files.

It will be a directadmin.conf option, defaults stored internally, add the options to override the defaults.


is the default. (it's default value is the tmpdir value set in the directadmin.conf)

You can change it by changing the backup_tmpdir value.

Option to prevent creating subdomain of a different user. new

Feature where a user creating (as a full domain) must own

To enable this feature, set:


in your directadmin.conf and restart DA.

This will also check any number of lengths, and covers domains with any number of extensions, eg

This prevents User bob from adding as a domain name if User fred owns

As of 1.38.0, this feature is enabled by default for new installs:

Important Security Changes new

3 scripts:

the is run before the whole works so you can run things ahead of the tally. Also returning a non-zero result will abort the tally. will be called immediately after the rotation/truncation near the start of the tally. is used if you need to do any custom cleanup. Return value doesn't change anything.

Delete Users in the background for large account sizes new

Feature (enabled by default) where-by if the sum of the disk usage of all Users being deleted exceeds a certain threshold, those accounts will be deleted by adding the command to the task.queue for background deletion, instead of doing it the foreground. This would be done to prevent time-outs for excessively large accounts.


The variable for the directadmin.conf is going to be:


which is in meg. 10 gig by default internally.

If you set it to 0, this feature will be disabled.

Ability to generate debug output from tokenizer new

directadmin.conf option:


which will generate output to the screen when you run DA in debug mode (so it needs 2 steps). Default internal value is 0.

To run DA in debug mode you type:

cd /usr/local/directadmin
killall -9 directadmin
./directadmin b800

where 800 is the debug level. The higher the number, the more output you get.

Debug levels and higher will accomplish the following:

500   - Inidcation of tokenizer being run. Include set user and recursive depth.
500   - Printout of binary shebang name and options, eg /usr/local/bin/php
1000 - Dump of the passed tokenzier code, pre parsed.
1200 - Tokens to be inserted dumped
1400 - Tokens to be added to environment for scripts (not always the same values)
1500 - script output, post execution
1600 - script code parsed out, to be executed

Keep it turned off if you don't need it as it will slow down page loads significantly since there are numerous toknized items per load. Only use it to debug.

zip in filemanager enabled by default new

The zip/unzip feature will be enabled by default in this release.

If you don't want to have it, add:


in your directadmin.conf.

This feature does require that you have:




post script for overusage: new

custom script to be called after a warning/notice email is sent out.



Environmental variables:


Option to exclude home.tar.gz from backups new

directadmin.conf option to exclude home.tar.gz from User backups in DA.


is the default internal value.

If you wish to skip the home.tar.gz files from User backups, set this value to 1.

Ability to pass clipboard files in same request as action new

For anyone who uses the API to work with the filemanager, using the clipboard become less flexible in the case you've got multiple tasks going on at the same time. The feature allows you to pass all clipboard files to the filemanager with the same request as the action being done. The ~/.clipboard file is not touched in this process.

To override the .clipboard file and use thie feature, simply add the files you want to pass to the request:


(in the url encoded string of course)

You must have the clipboard0 entry to have it do anything, as that's what's checked to trigger the override. If that's present, you can have any combination of numbers, but usually best to stick with a simple 0 1 2 3 order for simplicity. (skipping after 0 is allowed: clipboard0 clipboard5 clipboard68, etc)

basic IPv6 implementation (alpha) new

Please see this guide for updated information:

Early beginnings with the ipv6 implementation in DirectAdmin.

These changes simply allow DA to accept the new IP types in it's system. You can add ipv6 IPs to DA via the IP Manager, and manage them throughout DA normally.

This has not yet been extensively tested yet and feedback would be required. Note that the dns adds the IPv6 values into the A records, so dns modifications would be required for each new account (move values to AAAA records)

To allow DA to use IPv6 values, add:


into your directadmin.conf, and restart directadmin.

This does not affect any services, so you will need to add ipv6 support to your services manually. This is not covered by our support quite yet (still very early in development)

The "Update" button found in the "User Level -> Site Summary / Stats / Logs" now exists on all User Level pages that show the "Disk Space (MB)" usage (User Level only). That text is actually the link. If you hover your mouse over it, you'll see a pop-up that says "Click to Update Usage".



<form name=updateform form action="CMD_CHANGE_INFO" method="POST">
<input type=hidden name=update value='Update'>

and add the a href:

<a class=tabtext href="javascript:onClick(document.updateform.submit());" title="|LANG_CLICK_TO_UPDATE|">

where desired (with </a> after the text)


LANG_CLICK_TO_UPDATE=Click to Update Usage

Add "move user" feature to default and power_user skins (SKINS) new

Added the CMD_MOVE_USERS command to the default and power_user skins.

Was already present in the enhaned skin. new

Script that is run after both a cronjob is created and a cronjob is modified.



The values of the html form are passed to this script, as well as:


edit=1|0 (1 for edit, 0 for new cron)

Active check for, and disabling of, roundecube 0.1 new

During the update of DA, in the script, the following will be called:

echo "action=syscheck" >> /usr/local/directadmin/data/task.queue

What this will do (so far) is check for any directory in /var/www/html that starts with roundcubemail and contains a 0.1 in it somewhere.

If found, DA will notify all admins via the message systems about the folders, and chmod these folders to 0 to prevent it from being accessed by anyone (except root of course).

If you're still using roundcube 0.1, it's in your best interest not to be using it, so consider this a very large hint.

Update to 0.2:

If you insist upon using 0.1 (against our recommendations) then you'd simply need to type:

chmod 755 /var/www/html/roundcubemail*

and you'll be running again. This is not recommended for roundcube 0.1.

Of course, the next update of DA would chmod it to 0 again.

internal text lang files not using other skins fixed

The new internal text feature is only reading from the enhanced skin, even if other skins have the full internaltext files present in their lang folder.

Fix will be to properly check for other skins to have the setting.

The workaround is to set the value:


in the directadmin.conf to the skin you want to use.

The internal_lang value is not present by default (it's set internally) and the internal default is overridden if you specify it in the directadmin.conf.

The internal_lang setting is supposed to be the "last resort" backup for when values are not present, so once fixed, the internal_lang setting should be reset to the enhanced skin (delete it from directadmin.conf will work)

Missing closing table in message system fixed

With the addition of the internal-text system, internal strings have been changed to accommodate translation of this text. This caused an error in the assembly of the table strings for the message system in that the closing </td></td></table> code is missing. This should not cause major errors, only some minor display issues (larger bottom table row).

LogFormat for homedir to use %O instead of %b for apache 2.x fixed

Feb 27, update:

I received notice that %O doesnt work for apache 2.0, but does work for 2.2

I've re-released the 1.33.1 binaries. If you have 2.0 and 1.33.1, please update with the following guide:

and then type:

echo "action=rewrite&value=ips" >> /usr/local/directadmin/data/task.queue
/usr/local/directadmin/dataskq d800

to ensure it works.


In the /etc/httpd/conf/ips.conf, the following line is used to specify the logging format of access from ~username in /var/log/httpd/homedir.log

LogFormat "%b "%r"" homedir

For apache 2.x, this should be %O instead of %b.

LogFormat "%O "%r"" homedir

The %b format logs the size of the file before it's sent. This means that if a file is cancelled half-way through, the user is being overbilled.

The %O format on the other hand only logs the number of bytes sent to the user and doesn't worry about the filesize.

This fix only applies when:


is set in the directadmin.conf, because it's not a valid option for apache 1.3.

Delete user causes Reseller Backup cron to mix users fixed

As a Reseller, if you delete a User, he should be removed from all of your backup crons. This does happen, but due to a failure to empty a reused container class in the loop through all backup crons, it's possible for the list of users to become mixed up over multiple cron backups. Fix is to issue an users.empty() at the beginning of each loop through the backup crons to ensure users from existing crons are not compared in the next list. This can only affect the "select" type of list where the Reseller selects each user from his list. It will not affect "All Users" lists where the "All Users" radio box is selected.

Do not allow SSL for the non-default domain fixed

Check to prevent anyone from accessing the SSL section on domains if they're not the default domain. Only the default domain has control over the certificate, thus allowing them access to secondary domains was confusing. Making SSL changes to secondary domains has no effect since only the first SSL virtualhost controls the cert/key.

Last Updated: