Version 1.24.0

Released: 2005-05-04

Nightly log roatation and tokenizable webalizer.conf (SKINS) new

Changed the webalizer.conf file to be tokenizable.


LOG   - name of the log file to be rotated. Eg "/var/log/httpd/domains/"
SUBDOMAIN - passed only if working on a subdomain.  Eg: "sub".

The main reasons for all of this is to get the country stats working for webalizer. I believe the problem was an oversize dns_cache.db file preventing webalizer from working (after doing the nightly log rotation which didn't change webalizer, but keeping it anyway). So we can now use "DNSCache /var/cache/dns_cache.|DOMAIN|.db", which makes for more files, but each one is much smaller making things faster (let alone more lookups, but a local NS will cache them anyway).

This change also encompasses working on a log file that is not actively being written to. Meaning the apache logs are rotated to before webalize starts on them. This also means that all logs are rotated nightly, making the "Apache log rotate size limit" depreciated.




<input type=text name=log_rotate_size value="|ROTATESIZE|" size=32>

ability to specify multiple email addresses new

extension of Ability to send to multiple email address via "resend welcome email"

ability to set multiple comma separated email addresses for an email field, allowing an email to be sent out to multiple email addresses without needing a separate forwarder.

User creation will still only permit a single email address, but can be changed after the account is created.

ability to add custom services to list new

Ability to add your own service names to the /usr/local/directadmin/data/admin/services.status page. They'll automatically show up in the list and the dataskq will also keep watch over it.





If the service is in the list, it shows up. ON means the dataskq will monitor it, OFF means it won't. Like the other services, if you click "Stop" from within DA, DA will set this value to OFF so that the dataskq doesn't try to start it. Likewise, if you click "start", DA will set it to ON in the service.status file, then DA will start to monitor it.

option to disable/enable the counting of email disk usage new

On most systems, the email files are either on a /var partition, or on the / partition. Users are either under /home,/usr or /. DA can handle these circumstances and is able to decide whether or not to include the disk usage of email in the totals. When the users are on / and the email is on /, then email will be counted by the system quotas, so DA won't count them. But if you have a different situation that DA can't handle, then you need the option to force the counting on or off. In the directadmin.conf a new option will be added:


where x will be one of 0, 1 or 2. If 0 (default), DA will try and figure it out. If 1, then DA will count the usage no matter what. If 2, DA will not count the usage, no matter what.

exim.conf/ to parse bytes mainlog new

exim.conf/ to parse bytes mainlog

might log the bytes as the emails come in.. undecided how it will work.

This update will require you to update your exim.conf/ file:

Note the files won't be uploaded to the files server until the feature is specified as finished. (might not be uploaded until some time after the release)

ability to set action for email filter (SKINS) new

currently the filters just delete message. This will offer an option to send caught messages to the spambox (/home/username/.spamassasin/spam). We tried to give the option to save to a specific pop account, but the current file permissions in the inbox files in /var/spool/virtual/ didn't work with the filter, because the filter runs as user "mail", but the inbox file is owned by "username". It would be possible to change permissions, but for backwards compatibilities sake, we've chosen to keep it simple for now.

user/email/filter.html, add:

<form action='/CMD_EMAIL_FILTER' method='POST'>
<input type=hidden name=action value=action>
<input type=hidden name=domain value="|DOMAIN|">
<tr><td class=list colspan=2>
Action for filter matches:&nbsp;&nbsp;&nbsp;&nbsp;
<input type=radio name=value value="drop" |DROP_CHECKED|> Drop Email
<input type=radio name=value value="email" |EMAIL_CHECKED|> Send to spambox
<td class=list align=center><input type=submit name=add value="Save" ></td></tr>

Option to run DA with SSL on a 2nd port new

Option in the directadmin.conf to allow DA to run a 2nd instance for SSL.

The current options won't be affected, so if you are currently running DA with SSL, this feature would allow you to run another SSL port.

to enable this feature, just add:


to the directadmin.conf, where 2223 is the port you want to use (can use any free port). Make sure that your ssl certificate information is correctly setup.

You do not need to set SSL=1 in your directadmin.conf. SSL=1 only affects the first port. The ssl_port will have ssl turned on by default.

If you create accounts using the ssl_port port, the welcome emails will show that port and ssl setting (https).

Running directadmin manually without the "d" flag will disable this feature. (d is in the boot script by default)

reseller history new

same as user history, but for resellers.


shows the resellers history


shows "username"'s Reseller history. Available only to admins.




<a href="/CMD_RESELLER_HISTORY">Reseller Stats</a><br>

Have to create

reseller/show_history.html - contents same as user/show_history, just with "reseller" instead of "user". (see the new file for specifics)

add to reseller.conf


status on SSL page for on/off (SKINS) new

add a status token for ssl, either on or off, on the certificates page.

Also a link to user panel -> -> domain setup ->

so users can easily find/enable ssl when needed.


user/ssl.html, add:

|*if SSL_ON="yes"|
SSL is currently <b>enabled</b> for this domain.  You can disable it
SSL is currently <b>disabled</b> for this domain. You can enable it
<a href="/CMD_ADDITIONAL_DOMAINS?action=view&domain=|domain|"><b>here</b></a>.


This API command will basically just dump out the whole contents of /usr/local/directadmin/data/admin/show_all_users.cache.

No modifications, no encoding.

If a reseller calls it, the file will be parsed, and only the lines for the users in the Resellers list will be outputted, as well as the resellers own user info line.

Sample code to get data for each user, assuming httpsocket.php:

$lines = explode("\", $sock->fetch_body());

foreach ($lines as $line)
        $username       = strtok($line, '=');
        $data           = strstr($line, '=');

        echo "\<br><br>found data for $username<br>";
        echo $data;

install.log to have more info about the install new

2 cases in the install.log

case 1)

.. output ..

case 2)

...output .. 
.. the login info...

Option to set the owership of public_html for new domains new



to the directadmin.conf template for new installs. The setting will tell DA to create the public_html as "username:username" chmod 755.

If the option does not exist in the directadmin.conf (all current existing installs of DA), then the default in the DA binary will be chmod username:apache 750, so that nothing changes for current systems. If an admin wants this option, then just add "apache_public_html=0" to get DA to create the public_html as username:username 755.

Note setting this option to 0 is less secure as 755 means that anyone on the system can look into the public_html files. However, it will enable cgi files to run from the public_html directory more easily and be more "friendly" for 3rd party scripts.

backups partition list fixed

On some systems with long partition names, the "df -k" command will loop the output onto a 2nd line for that partition, which gives the DA parser problems. Simple fix: "df -kP" which keeps it on one line.

custom package items: /CMD_USER_STATS fixed

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

custom package items are not showing up in the /CMD_USER_STATS page for a user when he checks his own stats. Added to table, no skin changes required.

FreeBSD IP Aliases fixed

The netmask must be set to

Updated the /usr/local/directadmin/scripts/addip script to reflect this change.





Last Updated: