Version 1.26.0

Released: 2005-12-19

API for Resellers IP list with status for each: CMD_API_SHOW_RESELLER_IPS new

Already completed in current release, was just missing the documentation, but will add one new feature for a full IP dump, with all IP info.


dumps the list of IPs, no info about the IP.


dumps the info for that IP.


dumps everything for all resellers IPs.

Outputs everything on one line, so you need to double decode it:

Sample php decoding:

Test out the above API command in a webbrowser to get a sample output, then dump it into the double_decode php form/script to get a sample out that you can read.

Admin file editor (SKINS) new

Editor in the admin level.

There will be a file: /usr/local/directadmin/data/templates/edit_files.txt

This file contains a list of files that can be edited via the editor in the Admin Level.

  1. only admins have access to this editor.

  2. only root can add/remove files from the edit_files.txt file.

Example of the format of the edit_files.txt file:


(this feature was added mainly for the ip_blacklist editing, but might as well be able to edit other files as well).

If you'd like to protect any file such that the root password is required to authenticate first, then you can do by adding this to the end of the line:




which will require authentication before the file can be saved.

The secure authenticatin was added in DA 1.31.0

root password protect sensitive files in the admin file editor (SKINS)



<a href="/CMD_ADMIN_FILE_EDITOR">File Editor</a><br>



admin/file_editor.html (see released skin)

lower priority scheduling for user backups new

Use the setpriority function when running user backups.

setpriority(PRIO_PROCESS, 0, 19);

the numerical priority will be set in the directadmin.conf.

backup_nice=19 (default value)

Button to refresh disk usage stats. new

With the introduction of the "mini-tally" for the User Backup Disk usage threshold feature (see previous release), the code is already implemented to calculate the disk usage for users. A button in their control panel will allow them to update their disk usage stats on command.

There is a interval minimum time, default is 10 minutes, directadmin.conf:


If you want users to be able to update more often, change the value.

No skin changes are required.

Button is found in:

User Level -> Stats / Logs -> "Update" (beside the Total Disk Usage)


dump the /etc/virtual/domainowners file.

Outputs a standard list:

if an Admin calls it, he'll get all the domains.

If a Reseller calls it, he'll get the domains/users that he controls (including himself).


To add/remove custom httpd settings via the api.


Read data:

Method: GET



will dump the contents of the /usr/local/directadmin/data/users/username/domains/

Set data:

Method: POST
config=custom httpd.conf data

To delete the entry, set the data with


such that config is blank, eg "" new

run after the DA user's password is changed.

environmental variables:



API commands for adding/saving/deleting packages.


To add a package, or to set a package
add=Save  (can be anything, but must have name 'add')

see skins for the rest of the values, eg bandwidth, ubandwidth, quota, uquota..etc.

To delete a package
delete=Delete (again, name is importan, value isn't)





list skins, set skins for all users.

To upload a skin: (this might be tricky to do unless you know how httpd file uploads work)

Method: POST
enctype: multipart/form-data
file=file  (type is file though, not a "normal" form value)
server=yes|no  (only admins can set to yes). set to serverwide.

Delete a skin:

Method: POST
delete=Delete (can be set to anything, presence of name is all that's required)
(select1=skin2) etc..

Set Skin to yourself (Reseller/Admin)

Method: POST
reseller=anythingyouwant (name is only important part).

Set Skin to All Users:

Method: POST

Set a Skin for one user (not used via interface)

Method: POST

Also, to set skin for one user (2nd version of the same thing), you can already use:


method: POST or GET
skin=*anything*   (only the existence of the name "skin" is important, the value it's set to isnt important)

custom input in custom package item form values new

Ability to insert custom form input code.

Related to Ability to add your own package items (SKINS)

Eg, used to use something like

<input type=checkbox name=bob value=ON>

you can add custom data, say "id=fred", making it:

<input type=checkbox name=bob value=ON id=fred>

In the "custom_package_items.conf" file, you can add:


to the end of the line, eg:

feature=type=checkbox&string=My Feature&desc=short description&checked=yes&custom=customvalue

Where customvalue would be what's inserted into the checkbox (or listbox, or text input)

Note, if you wanted to add id=fred, you'd need to make sure it's encoded in hex.

Hex for = is 3D, so you'd type


hex for & is %26 (if you need it). Those are the only 2 important characters you'd need to encode. The rest should be fine.

THis custom input can be inserted into any of the 3 input types.

ability to change the ftp username separator character from @ new

option to use another character, instead of @ for the ftp separator.



in your directadmin.conf, where @ is the character you want to swap. The + character would be a good alternative.

Note: there is no swap script to change existing accounts. If you are to use a different separator, then it's recommended to do it before you create any ftp accounts. Else, you'll need to swap the @ character with the one you wish manually.


api to verify if a pop account password is correct



You'll receive a standard api output..

if error=1, then the password is not right (or something else is wrong).

if error=0, then password is correct.

Also included is "text" and "details", which will give you some info about what's wrong if error=1.

SERVERNAME token for message_user.txt and message_tech.txt new

SERVERNAME token for message_user.txt and message_tech.txt

Also available for welcome messages (u_welcome.txt, r_welcome.txt, a_welcome.txt)

DOVECOT (Major Feature) new

For custombuild, use this guide instead:

If you don't actively change to this, dovecot will not be installed (nothing on your system related to this feature will be changed with the update)

NOTE this is a one-way trip. There is no undo-script to return to mbox.

It's been in testing for a while now, and has proven itself.

Major improvement over the previous mail system.

Old system used the mbox format. Dovecot will use Maildir. Maildir has a significant performance improvement over mbox.

Users will not see any changes to their setttings or email data during this conversion.

Dovecot will replace wu-imap and vm-pop3d.

To convert to dovecot:

  1. Update to DA 1.26.0 or higher.

  2. Type:

cd /usr/local/directadmin/customapache
./build update
./build update_dovecot
./build dovecot
./build todovecot

DO NOT ABORT the "todovecot" command. It can take a long time to convert everything.

Start/restart dovecot:

Linux: /sbin/service dovecot restart
Debian: /etc/init.d/dovecot restart
FreeBSD: /usr/local/etc/rc.d/dovecot restart
  1. Make sure that dovecot is running. Take a few days to ensure that everything is working correctly. Once satisfied, you can clean the old mbox files by typing:
echo "action=delete&value=mbox" >> /usr/local/directadmin/data/task.queue

apache log rotate only deletes logs if subdomain exists fixed

The files in /home/username/domains/ are only delete if a subdomain exists on the domain.

Workaround until release: add a subdomain.

delete /home/username/imap/ with domain fixed

Delete /home/username/imap/ when the domain is deleted.

Last Updated: