Phillip Ryker wrote:
> I am trying to setup exim with mailman to run for virtual domains on a
> single
> server. I have followed the information provided in the manual very
> closely but am still having some issues. I am running:
>
> CentOS v4.4 2.6.9-42.0.3.EL
> I have installed Exim from the CentOS rpm: exim-4.43-1.RHEL4.5
>
> Before attempting the Mailman install I confirmed that email was
> working properly on the server. I have since installed Mailman-2.1.9
> from source first to function as a single domain list server. I
> tested that and everything worked fine. Now I have the following:
>
> I have installed mailman-2.1.9 into two seperate installs as follows:
>
> /virtual/listsrv.domain1.com/mailman
> /virtual/listsrv.domain2.com/mailman
>
> I have the follwing in httpd.conf:
>
> <VirtualHost 72.13.xxx.xxx:80>
> ServerAdmin webmaster@???
> DocumentRoot /virtual/listsrv.domain1.com/html
> ServerName listsrv.domain1.com
> ScriptAlias /mailman "/virtual/listsrv.domain1.com/mailman/cgi-bin/"
> Alias /pipermail/ /virtual/listsrv.domain1.com/mailman/archives/public/
> </VirtualHost>
> <VirtualHost 72.13.xxx.xxx:80>
> ServerAdmin webmaster@???
> DocumentRoot /virtual/listsrv.domain2.com/html
> ServerName listsrv.domain2.com
> ScriptAlias /mailman "/virtual/listsrv.domain2.com/mailman/cgi-bin/"
> Alias /pipermail/ /virtual/listsrv.domain2.com/mailman/archives/public/
> </VirtualHost>
>
> I have confirmed that from the web everything works properly. I can
> create new lists and modify them, however, I cannot get the
> configuration for exim to work for the multiple domain names. Here is
> what I have in my exim.conf file:
>
> Under the main config section:
>
> MAILMAN_USER=mailman
> MAILMAN_GROUP=mailman
>
> Under the routers section:
>
> mailman_router:
> driver = accept
> #require_files = MAILMAN_HOME/lists/$local_part/config.pck
> require_files =
> /virtual/${domain}/mailman/lists/$(lc:$local_part)/config.pck
> local_part_suffix_optional
> local_part_suffix = -bounces : -bounces+* : \
> -confirm+* : -join : -leave : \
> -owner : -request : -admin
> transport = mailman_transport
>
> Under the transports:
>
> mailman_transport:
> driver = pipe
> command = /virtual/${domain}/mailman/mail/mailman \
> ${if def:local_part_suffix \
> {${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \
> {post}} \
> $local_part
> current_directory = /virtual/${domain}/mailman
> home_directory = /virtual/${domain}/mailman
> user = MAILMAN_USER
> group = MAILMAN_GROUP
>
> When I try to run exim -bt with a valid list email I get this error:
>
> [root@listsrv exim]# exim -bt news@???
> news@??? cannot be resolved at this time:
> failed to expand "/virtual/${domain}/mailman/lists/${lc" for
> require_files: "${lc" is not a known operator (or a } is missing in a
> variable reference)
Dunno about the rest of it, but how about:
A) remove the 'lc:' and test with a couple of dummy lists where case is not an
issue to vet the rest of the code.
B) Once that is vetted, then try applying the case-sensitivity (or NOT) to the
body of the router itself instead of the conditional:
After 'driver = ....'
add:
caseful_local_part
or
no_caseful_local_part
or set the right side:
caseful_local_part = [ true | false]
HTH,
Bill
BTW - side issue, run what you like best, but Ecartis can handle an arbitrarily
large number of virtual domains with a single install. Not in mainstream docs
(yet), But I have working code if you want it.