Sympa is designed to manage multiple distinct mailing list servers on a single host with a single Sympa installation. Sympa virtual robots are like Apache virtual hosting. Sympa virtual robot definition includes a specific email address for the robot itself and its lists and also a virtual http server. Each robot provides access to a set of lists, each list is related to only one robot.
Most configuration parameters can be redefined for each robot except general Sympa installation parameters (binary and spool location, smtp engine, antivirus plugging,...).
The Virtual robot name as defined in Sympa documentation and configuration file refers to the Internet domaine of the Virtual robot.
Note that the main limitation of virtual robots in Sympa is that you cannot create 2 lists with the same name (local part) among your virtual robots.
You don't need to install several Sympa servers. A single sympa.pl daemon and one or more fastcgi servers can serve all virtual robot. Just configure the server environment in order to accept the new domain definition.
Examples (with sendmail):
sympa@your.virtual.domain: "| /usr/local/sympa-os/bin/queue sympa@your.virtual.domain" listmaster@your.virtual.domain: "| /usr/local/sympa-os/bin/queue listmaster@your.virtual.domain"
Examples:
FastCgiServer /usr/local/sympa-os/bin/wwsympa.fcgi -processes 3 -idle-timeout 120 ..... <VirtualHost 195.215.92.16> ServerAdmin webmaster@your.virtual.domain DocumentRoot /var/www/your.virtual.domain ServerName your.virtual.domain <Location /sympa> SetHandler fastcgi-script </Location> ScriptAlias /sympa /usr/local/sympa-os/bin/wwsympa.fcgi </VirtualHost>
# su sympa -c 'mkdir /usr/local/sympa-os/expl/your.virtual.domain' # chmod 750 /usr/local/sympa-os/expl/your.virtual.domain
Examples: \\ http_host myhost.mydom http_host myhost.mydom/sympa
These settings overwrite the equivalent global parameter defined in /usr/local/sympa-os/etc/sympa.conf for my.domain.orgrobot ; the main listmaster still has privileges on Virtual Robots though. The http_host parameter is compared by wwsympa with the SERVER_NAME environment variable to recognize which robot is in used.
In order to customize the web look and feel, you may edit the CSS definition. CSS are defined in a template named css.tt2. Any robot can use static css file for making Sympa web interface faster. Then you can edit this static definition and change web style. Please refer to css_path css_url. You can also quickly introduce a logo in left top corner of all pages configuring logo_html_definition parameter in robot.conf file.
In addition, if needed, you can customize each virtual robot using its set of templates and authorization scenarios.
/usr/local/sympa-os/etc/my.domain.org/web_tt2/, /usr/local/sympa-os/etc/my.domain.org/mail_tt2/, /usr/local/sympa-os/etc/my.domain.org/scenari/ directories are searched when loading templates or scenari before searching into /usr/local/sympa-os/etc and /usr/local/sympa-os/bin/etc. This allows to define different privileges and a different GUI for a Virtual Robot.
If you are managing more than 2 virtual robots, then you might cinsider moving all the mailing lists in the default robot to a dedicated virtual robot located in the /usr/local/sympa-os/expl/my.domain.org/ directory. The main benefit of this organisation is the ability to define default configuration elements (templates or authorization scenarios) for this robot without inheriting them within other virtual robots.
To create such a virtual robot, you need to create /usr/local/sympa-os/expl/my.domain.org/ and /usr/local/sympa-os/etc/my.domain.org/ directories ; customize host, http_host and wwsympa_url parameters in the /usr/local/sympa-os/etc/my.domain.org/robot.conf with the same values as the default robot (as defined in sympa.conf and wwsympa.conf files).