Setting up sympa with virtual hosts in an environment using exim requires some small modifications:
The described setup works with Debian Wheezy.
Basic Setup
Installed packages: sympa, apache2-mpm-prefork, exim4-daemon-heavy
Configure Sympa for FastCGI in /etc/sympa/wwsympa.conf
use_fast_cgi 1
Configure Exim
Add exim to the sympa group
adduser Debian-exim sympa
Configure pipe transport in /etc/exim4/conf.d/main/02_exim4-config_options
.ifndef SYSTEM_ALIASES_PIPE_TRANSPORT SYSTEM_ALIASES_PIPE_TRANSPORT = address_pipe endif
Create sympa router in /etc/exim4/conf.d/router/100_sympa
## sympa user main_sympa_aliases: debug_print = "R: sympa_aliases for $local_p...@$domain" driver = accept domains = INSERT_PRIMARY_SYMPA_DOMAINNAME_HERE local_parts = sympa : listmaster transport = sympa_direct_transport no_more generic_sympa_aliases: debug_print = "R: sympa_aliases for $local_p...@$domain" driver = accept require_files = /var/lib/sympa/list_data/$domain local_parts = sympa : listmaster transport = generic_sympa_direct_transport no_more # Lists main_sympa_owner_router: driver = accept domains = INSERT_PRIMARY_SYMPA_DOMAINNAME_HERE require_files = /var/lib/sympa/list_data/$local_part local_part_suffix = -owner transport = sympa_owner_transport main_sympa_router: driver = accept domains = INSERT_PRIMARY_SYMPA_DOMAINNAME_HERE require_files = /var/lib/sympa/list_data/$local_part local_part_suffix_optional local_part_suffix = -bounces : -bounces+* : -editor : \ -confirm+* : -join : -leave : \ -request : -admin : -subscribe : -unsubscribe transport = sympa_transport generic_sympa_owner_router: driver = accept require_files = /var/lib/sympa/list_data/$domain/$local_part local_part_suffix = -owner transport = sympa_owner_transport generic_sympa_router: driver = accept require_files = /var/lib/sympa/list_data/$domain/$local_part local_part_suffix_optional local_part_suffix = -bounces : -bounces+* : -editor : \ -confirm+* : -join : -leave : \ -request : -admin : -subscribe : -unsubscribe transport = sympa_transport
Create sympa transports in /etc/exim4/conf.d/transport/30_sympa
sympa_owner_transport: driver = pipe command = /usr/lib/sympa/bin/bouncequeue $local_part@$domain user = sympa sympa_transport: driver = pipe command = /usr/lib/sympa/bin/queue ${local_part}${local_part_suffix}\@$domain user = sympa sympa_direct_transport: driver = pipe command = /usr/lib/sympa/bin/queue sympa user = sympa generic_sympa_direct_transport: driver = pipe command = /usr/lib/sympa/bin/queue sympa@$domain user = sympa
Configure exim4 with dpkg-reconfigure exim4-config and select the splitted config template.
Setting up a virtual host
Configure a virtual host in Sympa
su sympa -c 'mkdir /etc/sympa/DOMAIN' su sympa -c 'touch /etc/sympa/DOMAIN/robot.conf' su sympa -c 'mkdir /var/lib/sympa/list_data/DOMAIN'
http_host DOMAIN/wws wwsympa_url http://DOMAIN/wws
Restart sympa
Configure exim
Configure exim4 with dpkg-reconfigure exim4-config and add DOMAIN to the local domains.