|
Hi all,
I work in an Internet Provider and I'm trying to implement qmail-ldap in a server hosting multiple virtual domains. Some of these domains will be divided into clusters, so this is a complicated installation. For this environment the tasks of adding and removing a virtual domain are not trivial. Using qmail-ldap, whenever I add one new domain to my environment I have to: 1 - edit the 'rcpthosts' and 'locals' control files of all machines in the cluster of that particular domain 2 - add the entries for the e-mails accounts pertaining to that domain according to the mailhost attribute. The maildirs can be installed in different machines - the ones making the cluster. When I want delete a virtual domain I have to: 1 - remove this domains from the 'rcpthosts' and 'locals' file of every host in the cluster 2 - remove all the Maildirs of the accounts from the deleted domain. 3 - remove the entries from the LDAP directory The challenge is to accomplish these steps above in an automated fashion. It is not easy. Trying to solve this, i'm elaborating a new objectClass to the qmail.schema, called "virtualDomain". It could help in solving this problem as it could propitiate room for new features in qmail-ldap and still improve the organization of the DIT's. When used in conjunction with auxiliary programs running locally in each mailserver in the cluster, the created virtualDomain entry can provide the information enough to automate those difficult tasks.
This objectClass could be like
this: domainStatus: The status for this
domain. new: Serves as a flag to indicate that this domain have just been added to the DIT but wasn't configured in all machines in the cluster yet. While in the 'new' status, the server will bounce incoming messages like in the status 'disabled'. When the same hostnames listed in the 'clusterHost' attribute are set in the 'addedTo' attribute, the domainStatus must be changed to 'active' deleted: Serves as a flag to indicate that this domain is to be removed. While in the 'deleted' status, the server will bounce incoming messages like in the status 'disabled'. When the same hostnames listed in the 'clusterHost' attribute are set in the 'removedFrom' attribute, the entry for this domain can be removed from the Directory. clusterHost: the hostname(s) of the machine(s) in the cluster. Value: 1 hostname. Default: the same name in the ~control/me file Note: Repeat this attribute for each host in the cluster. addedTo: hostname of the server that is already configured to receive e-mails for this domain, that is to say, this domain is already setup in its ~control/rcpthosts and ~control/locals files. Value: 1 hostname. Note: repeat this attribute for each configured server. removedFrom: hostname of the server that had removed this domain from its control files and removed all its Maildirs from the filesystem. Value: 1 hostname. Note: repeat this attribute for each hostname So, let�s see an example of how to add the domain �acme.com� to the hosts �brasilia.mynet.com� and �saopaulo.mynet.com� using the virtualDomain entry. 1 � Add to the Directory the entry for the new virtual domain. The ldif would be: dn: ou=acme.com,
ou=QMAIL-LDAP 2 � Now, an auxiliary program running in each machine in the cluster should notice the new domain in the Directory. This auxiliary program will:
In an analogous manner the domains and Maildirs can be deleted with this auxiliary program. I think this can organize qmail-ldap installation. Every time in the list we see someone asking: �How can I set up virtual domains with qmail-ldap?�. Disabling/enabling the deliveries in a domain level(actually, in a cluster level) is a good feature from the administrative point of view. Adding a nice virtual-domains support to qmail-ldap will give it a chance to grow where Inter7�s Vpopmail package is strong. Also, qmail-ldap would go one step further since it provides a means to divide domains amongst different machines. So, what do you think about this? Could you at least understand what I tried to explain? Can you see some drawbacks/mistakes in this configuration? Would you like to add more ideas? Thank you for the attention, ------------------------------------------------- |
- The need of a new objectclass: "virtualDomain" Bruno Negrão
- Re: The need of a new objectclass: "virtualDomain&... Scott Ryan
- Re: The need of a new objectclass: "virtualDom... Online E-mail
- Re: The need of a new objectclass: "virtua... Ace Suares
- Re: The need of a new objectclass: "virtua... Bruno Negrão
- Re: The need of a new objectclass: "virtualDomain&... Bruno Negrão
