newAbility to change the tmp backup paths during ftp backups
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.
newOption to prevent creating subdomain of a different user.
Feature where a user creating sub.domain.com (as a full domain) must own domain.com.
To enable this feature, set:
in your directadmin.conf and restart DA.
This will also check any number of sub.sub.sub.sub.domain.com lengths, and covers domains with any number of extensions, eg sub.domain.co.uk.
This prevents User bob from adding sub.fred.com as a domain name if User fred owns fred.com
As of 1.38.0, this feature is enabled by default for new installs:
newtally_pre.sh tally_post.sh tally_rotation_post.sh
the tally_pre.sh 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.
tally_rotation_post.sh will be called immediately after the rotation/truncation near the start of the tally.
tally_post.sh is used if you need to do any custom cleanup. Return value doesn't change anything.
newDelete Users in the background for large account sizes
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.
newAbility to generate debug output from tokenizer
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.
newzip in filemanager enabled by default
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:
newpost script for overusage: overusage_notice_post.sh
custom script to be called after a warning/notice email is sent out.
USERNAME BANDWIDTH QUOTA BANDWIDTHLIMITGIG BANDWIDTHUSAGEGIG BANDWIDTHLIMITMEG BANDWIDTHUSAGEMEG QUOTALIMITGIG QUOTAUSAGEGIG QUOTALIMITMEG QUOTAUSAGEMEG TIMELEFT SUSPENDATLIMIT CREATOR LANG
newOption to exclude home.tar.gz from backups
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.
newAbility to pass clipboard files in same request as action
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:
clipboard0=/your/file1.txt clipboard1=/your/other/file1.txt ..etc..
(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)
newbasic IPv6 implementation (alpha)
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)
newDisk Usage update link at User Level (SKINS:lang)
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'> </form>
and add the a href:
where desired (with
</a> after the text)
LANG_CLICK_TO_UPDATE=Click to Update Usage
newAdd "move user" feature to default and power_user skins (SKINS)
Added the CMD_MOVE_USERS command to the default and power_user skins.
Was already present in the enhaned skin.
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)
newActive check for, and disabling of, roundecube 0.1
During the update of DA, in the update.sh 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.
fixedinternal text lang files not using other skins
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)
fixedMissing closing table in message system
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).
fixedLogFormat for homedir to use %O instead of %b for apache 2.x
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.
fixedDelete user causes Reseller Backup cron to mix users
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.
fixedDo not allow SSL for the non-default domain
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.