welcome: please sign in

Diff for "DomTool/Plugins"

Differences between revisions 2 and 10 (spanning 8 versions)
Revision 2 as of 2006-12-16 22:30:11
Size: 2633
Editor: AdamChlipala
Comment:
Revision 10 as of 2011-04-21 07:27:50
Size: 63
Editor: cultureclub
Comment: AFAIC that's the best aneswr so far!
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
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.

[[TableOfContents()]]

= Apache =

'''Modules:''' [http://deleuze.hcoop.net/domtool/apache.html Apache], [http://deleuze.hcoop.net/domtool/apache_auth.html Apache_auth], [http://deleuze.hcoop.net/domtool/apache_options.html Apache_options], [http://deleuze.hcoop.net/domtool/mod_autoindex.html Mod_autoindex], [http://deleuze.hcoop.net/domtool/mod_rewrite.html Mod_rewrite], [http://deleuze.hcoop.net/domtool/proxy.html Proxy], [http://deleuze.hcoop.net/domtool/urls.html 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 rsyncs `/var/domtool/vhosts` to `/etc/apache2/vhosts` after any vhost has changed. After that, it 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.

= BIND =

'''Modules:''' [http://deleuze.hcoop.net/domtool/bind.html 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. A post-handler rsyncs `/var/domtool/zones` to `/etc/bind/zones` and runs `/etc/init.d/bind9 reload`.
AFAIC that's the best aneswr so far!
----
CategoryNeedsWork

AFAIC that's the best aneswr so far!


CategoryNeedsWork

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