WWSympa is Sympa's web interface.
WWSympa is fully integrated with Sympa. It uses sympa.conf and Sympa's libraries. The default Sympa installation will also install WWSympa.
Every single piece of HTML in WWSympa is generated by the CGI code
using template files (See 13.1, page ).
This facilitates internationalization of pages, as well as per-site
customization.
The code consists of one single PERL CGI script, WWSympa.fcgi.
To enhance performance you can configure WWSympa to use
FastCGI ; the CGI will be persistent in memory.
All data will be accessed through the CGI, including web archives.
This is required to allow the authentication scheme to be applied
systematically.
Authentication is based on passwords stored in the database table user_table ; if the appropriate Crypt::CipherSaber is installed, password are encrypted in the database using reversible encryption based on RC4. Otherwise they are stored in clear text. In both cases reminding of passwords is possible. To keep track of authentication information WWSympa uses HTTP cookies stored on the client side. The HTTP cookie only indicates that a specified e-mail address has been authenticated ; permissions are evaluated when an action is requested.
The same web interface is used by the listmaster, list owners, subscribers and others. Depending on permissions, the same URL may generate a different view.
WWSympa's main loop algorithm is roughly the following :
Because Sympa and WWSympa share a lot of files, wwsympa.fcgi, must run with the same uid/gid as archived.pl, bounced.pl and sympa.pl. There are different ways to organize this :
The User and Group directive have to be set before the FastCgiServer directive is encountered.
#include <unistd.h> #define WWSYMPA "/wwsympa.fcgi" int main(int argn, char **argv, char **envp) { argv[0] = WWSYMPA; execve(WWSYMPA,argv,envp); }
Example : ScriptAlias /sympa /wwsympa.fcgi
Running FastCGI will provide much faster responses from your server and reduce load (to understand why, read http://www.fastcgi.com/fcgi-devkit-2.1/doc/fcgi-perf.htm)
Example : FastCgiServer /wwsympa.fcgi -processes 2 <Location /sympa> SetHandler fastcgi-script </Location> ScriptAlias /sympa /wwsympa.fcgi
If you run Virtual robots, then the FastCgiServer(s) can serve multiple robots. Therefore you need to define it in the common section of your Apache configuration file.
FastCGI is an extention to CGI that provides persistency for CGI programs. It is extemely useful with WWSympa since source code interpretation and all initialisation tasks are performed only once, at server startup ; then file wwsympa.fcgi instances are waiting for clients requests.
WWSympa can also work without FastCGI, depending on the use_fast_cgi parameter
(see 7.3.15, page ).
To run WWSympa with FastCGI, you need to install :
(Default value: /home/httpd/html/arc)
Where to store html archives. This parameter is used
by the archived.pl daemon. It is a good idea to install the archive
outside the web hierarchy to prevent possible back doors in the access control
powered by WWSympa. However, if Apache is configured with a chroot, you may
have to install the archive in the Apache directory tree.
(Default value: thrd)
The default index organization when entering web archives : either threaded or
chronological order.
cookie_domain cru.fr cookie is available for host 'cru.fr' cookie_domain .cru.fr cookie is available for any host within 'cru.fr' domainThe only reason for replacing the default value would be where WWSympa's authentication process is shared with an application running on another host.
WWSympa will log using this facility. Defaults to Sympa's syslog facility. Configure your syslog according to this parameter.
Be careful : in previous 3.xx versions of Sympa, passwords were lowercased before database insertion. Therefore changing to case-sensitive password checking could bring you some password checking problems.
MhOnArc is a neat little converter from mime messages to html. Refer to http://www.oac.uci.edu/indiv/ehood/mhonarc.html.
The long mhonarc resource file is used by WWSympa in a particular way. MhOnArc is called to produce not a complete html document, but only a part of it to be included in a complete document (starting with <HTML> and terminating with </HTML> ;-) ). The best way is to use the MhOnArc resource file provided in the WWSympa distribution and to modify it for your needs.
The mhonarc resource file is named mhonarc-ressources. You may locate this file either in
web_archive access public|private|owner|listmaster|closed quota 10000
If web_archive is defined for a list, every message distributed by this list is copied to /home/sympa/spool/outgoing/. (No need to create nonexistent subscribers to receive copies of messages). In this example disk quota for the archive is limited to 10 Mo.
example : su sympa -c "touch /home/sympa/spool/outgoing/.rebuild.sympa-fr@cru.fr"You can also rebuild web archives from within the admin page of the list.
Furthermore, if you want to get list's archives, you can do it via the List-admin menu-> Archive Management
WWSympa needs an RDBMS (Relational Database Management System) in order to run. All database access is performed via the Sympa API. Sympa currently interfaces with MySQL, PostgreSQL, Oracle and Sybase.
A database is needed to store user passwords and preferences. The database structure is documented in the Sympa documentation ; scripts for creating it are also provided with the Sympa distribution (in script).
User information (password and preferences) are stored in the «User» table. User passwords stored in the database are encrypted using reversible RC4 encryption controlled with the cookie parameter, since WWSympa might need to remind users of their passwords. The security of WWSympa rests on the security of your database.
Once Sympa is running you should log in on the web interface as a privileged user (listmaster) to explore the admin interface, create mailing lists.
Multiple email addresses can be declared as listmaster via the sympa.conf (or robot.conf)
listmaster configuration parameter (see 5, page ). Note
that listmasters on the main robot (declared in sympa.conf) also have listmaster privileges on
the virtual robots but they will not receive the various mail notifications (list creation, warnings,...)
regarding these virtual robots.
The listmasters should log in with their canonical email address as an identifier (not listmaster@my.host). The associated password is not declared in sympa.conf ; it will be allocated by Sympa when first hitting the Send me a password button on the web interface. As for any user, the password can then be modified via the Preferenced menu.
Note that you must start the sympa.pl process with the web interface ; it is in responsible for delivering mail messages including password reminders.
See 8, page .