DotME
aka: DOmain Tracking Made Easy


Project summary
Download


First of all, let me say DotME aims to break the rule: ``the longer the title, the less important the job''.

There are many tools around such as linuxconf and webmin (just to name a couple) which do a great job managing domains you're running but you should have at least a minimal knowledge of UNIX, bind, sendmail and the like anyway. DotME allows a person with basic knowledge to add, modify and delete multiple domains running on your host.

DotME is a tool for sites running multiple domains. It allows you to easily insert, update and delete any domain you wish to handle. DotME takes care of correctly touching bind and sendmail's config files. DotME also reloads bind and sendmail so that the changes have immediate effect.

DotME is distributed under the terms of the GNU General Public License (aka GNU GPL).

DotME is written in C. It has a DB backend which currently works only with MySQL. It also has a user-friendly(tm) interface written in PHP (although it's only available in italian at the moment of writing this).

It's been one of my first attempts at programming so there are lots of things which might have been done better. Here are a few:

  • the whole project should be 'autoconfiscated' (i.e. make it work with automake and autoconf);
  • actually, DotME allows you to handle a basic set of DNS features (ex: you can only handle a maximum of 5 cnames);
  • there should be a config file for secondary name servers, actually there are only two first level domains we can handle (.it, .net, .org and .com); 
  • more and more things should be made configurable in the config file;
  • provide a db abstraction layer;
  • the user interface written in PHP should be made multi-lingual; 
  • I used too many global variables O:-)

Apart from this, DotME does its job well. It's been used for a few months at my site.

The interesting thing is that, by design, DotME should work in a multiuser environment. Anyone with proper rights can insert 'requests' in DotME's queue (which is a MySQL table). DotME could run from cron and scan the queue at a given interval. In case of errors, DotME sends messages to a given email address which can be set in the config file.

If you have domains which should not be touched from DotME, you can configure sendmail and bind to use different config files. You can, for instance, have a main /etc/named.conf file and, inside it, put an include directive to an /etc/named.conf.dotme_managed file. This is not true for sendmail's virtusertable.db which should always be touched by www/vut.php if you need to put your dirty hands on it :)

DotME has an interesting feature which is 'panic mode'. This special mode is meant to be run from the command line by the sysadmin in case of a system crash. 'Panic mode' means: start dotme, read the content of the 'domains' table and reconstruct all the necessary files for sendmail and bind from scratch.

Panic mode is invoked with the -p switch. The -v switch enables verbose mode for debug and also turns off error reporting and sendmail + bind reload.

DotME lacks documentation but the code is extensively commented (maybe I should say excessively) so you should have a look at it before trying to install the thing.

If you wish to download DotME, please follow this link.

For installation guidelines, see the INSTALL file.

If you wish to give a hand developing this project, no need to say you're welcome!

Mirko Caserta < mcaserta@tps.it>