welcome: please sign in

The following 281 words could not be found in the dictionary of 7 words (including 7 LocalSpellingWords) and are highlighted below:
accept   action   actions   added   addressed   admins   afs   after   afterward   aimed   Alias   alias   aliases   all   also   an   and   any   Apache   apache   apache2   appropriate   are   aren   as   association   at   auth   autoindex   be   because   before   Bind   bind   bind9   by   callbacks   can   cfg   change   changed   code   concatenated   concatenates   concatenation   conf   config   configuration   configure   configured   considered   consult   contain   Contents   contents   Coop   copies   create   created   creates   creation   current   currently   daemon   daemons   dav   default   defines   deleted   deletes   deletion   delivery   different   directed   directive   directives   directories   directory   dns   documents   Dom   domain   domains   domtool   done   down   each   Each   either   empty   ensures   entirely   env   etc   exception   exim   Exim   exim4   exists   extern   file   files   finished   first   For   for   form   format   found   from   full   functions   generate   Guide   handled   handler   handles   has   have   hcoop   Hcoop   his   hooks   Hopefully   host   Host   hosted   hostname   html   http   if   images   in   indicating   init   instead   into   is   it   its   just   kinds   list   local   log   logs   looking   mail   Mailman   mailman   main   maintains   manages   map   member   members   Mod   mod   modifications   Modules   Most   much   name   named   net   node   nodes   non   none   notes   Of   of   often   on   only   open   options   or   other   our   output   over   owned   page   particular   people   performs   permissions   plug   plugin   plugins   post   primitive   privileges   probably   problem   produces   provide   provided   provides   proxy   Proxy   publish   publishing   py   read   real   record   recording   regenerated   registers   relay   relaying   reload   reloading   request   respectively   rest   rewrite   root   rsyncs   running   runs   servers   should   shouldn   Since   so   soa   some   specific   statistics   stylized   subdirectory   suitable   Table   take   that   The   the   them   then   These   these   This   this   three   through   to   Tool   until   upon   Urls   urls   use   used   useful   User   uses   usr   var   very   vhost   vhosts   virtual   volume   Web   webalizer   Webalizer   When   when   which   while   will   with   works   writes   written   zone   zonefile   zones  

Clear message

DomTool / Plugins

This page is aimed at admins; that is, people with root privileges on our servers. Most members should probably consult DomTool/UserGuide instead.

This page documents the different DomTool plugins, which provide the primitive actions that can be used to configure particular "real" daemons.

1. Apache

Modules: Apache, Apache_auth, Apache_options, Mod_autoindex, Mod_dav, Mod_env, Mod_rewrite, Proxy, Urls

Each vhost "$HOST" directive creates a $HOST.vhost file in $DOMTOOL/nodes. A change handler for .vhost files copies them to /var/domtool/vhosts. A post-handler runs domtool-publish apache, which rsyncs /var/domtool/vhosts to /etc/apache2/vhosts after any vhost has changed and runs /etc/init.d/apache2 reload to reload configuration.

The Apache plugin also manages creation and deletion of log directories. Each member should have an apache/log subdirectory of his AFS volume root, owned by domtool with read permissions for the member. The plugin creates a directory /afs/hcoop/usr/$USER/apache/log/$NODE/$HOST for each virtual host running on $NODE as $USER with full hostname $HOST. When a vhost is deleted, the plugin deletes its log directory. Since this can't be done while Apache is running, because the daemon maintains open file handles to logs, the plugin has to take Apache down until configuration is finished, reloading it afterward. Hopefully domains aren't deleted very often, so this shouldn't be much of a problem.

Apache also provides hooks that other plugins can use to request callbacks just before and/or after a vhost is configured.


Modules: Bind

BIND configuration directives are written to dns files in the $DOMTOOL/nodes directories of the appropriate nodes/domains. These dns files contain all of the contents of a BIND zonefile, with the exception of the SOA record. This is handled by main DomTool code and written in a stylized form to soa files. The BIND plugin registers a change handler looking for modifications to either dns or soa files. When any are found, /var/domtool/zones/$DOMAIN.zone is regenerated from them.

The BIND plugin also produces a named.conf file for each domain. A change handler notes when some named.conf has changed, and a post-handler concatenates all named.conf files in $DOMTOOL/nodes/$NODE into /var/domtool/named.conf.local and runs domtool-publish bind, which rsyncs /var/domtool/zones to /etc/bind/zones, copies /var/domtool/named.conf.local to /etc/bind/, and runs /etc/init.d/bind9 reload.

3. Exim

Modules: Alias, Exim

The Exim plugin maintains three kinds of files in domain configuration directories:

A post-handler performs the concatenation over all domains into /var/domtool/aliases, /var/domtool/local_domains.cfg, and /var/domtool/relay_domains.cfg, respectively; and then runs domtool-publish exim, which copies the first file to /etc/aliases.hosted and concatenates the rest to /etc/exim4/conf.d/main/10_domtool-domains, and then runs /etc/init.d/exim4 reload.

4. HCoop

Modules: Hcoop

This plug-in currently only provides useful HCoop-specific extern functions.

5. Mailman

Modules: Mailman

The mailmanWebHost action writes a domain file mailman, recording the default Mailman vhost for that domain. A post-handler concatenates all of these into /var/domtool/mailman.map in a format suitable for a Python association list in Mailman configuration, and runs domtool-publish mailman, which uses that file to create /etc/mailman/vhosts_cfg.py, which defines an association list named HCOOP_VHOSTS. A file /var/domtool/mailman_domains.cfg is also created to list which domains should be considered for Mailman list delivery, and this list is added to /etc/exim4/conf.d/main/10_domtool-domains upon publishing.

6. Webalizer

Modules: none

This plugin works entirely through the before/after vhost hooks provided by the Apache plugin. For each vhost $VHOST on node $NODE, it writes to $DOMTOOL/webalizer/config/$NODE/$VHOST.conf Webalizer configuration that will generate statistics for that vhost. The output HTML and images are directed to $DOMTOOL/webalizer/output/$NODE/$VHOST/, which the plugin ensures exists.

DomTool/Plugins (last edited 2011-04-22 23:05:37 by ClintonEbadi)