next up previous contents index
Next: 5. Using Sympa with a RDBMS Up: Sympa Automatic Multi-posting System Previous: 3. Robot configuration parameters   Contents   Index

Subsections


4. World Wide Sympa

4.1 Installation

<A NAME='installwwsympa'>

1.
Install Sympa

2.
download wwsympa-xx.tar.gz

3.
%gunzip wwsympa-xx.tar.gz ; tar -xvf wwsympa-xx.tar

4.
%cd wwsympa-xx
5.
edit the Makefile and customize PERL, INSTALLDIR, CONFIG, SYMPADIR

6.
make install

7.
check config : perl -c wwsympa.fcgi

8.
create your wwsympa.conf based on sample/wwsympa.conf here are the main parameters

9.
set sympa.conf parameter wwsympa_url to the base URL of your World Wide Sympa

4.2 MhOnArc

MHonArc is a nice converter from mime messages to html. Refer to http://www.oac.uci.edu/indiv/ehood/mhonarc.html.

The long mhonarc ressource file is used in a special way with World Wide Sympa because mhonarc is used to produce not html document but only part of them that are included in a complete document starting with <HTML> and terminating with </HTML> ;-) The best way to start is to use the MhOnArc ressource file as provided in World Wide Sympa distribution.

The mhonarc ressources file name is specified in wwsympa.conf "mhonarc_ressources" parameter. You may locate this file either - in  sympa/expl/[listname]/[mhonarc_ressources] in order to create specific archive look for one list or - in  sympa/wwsympa/[mhonarc_ressources].[lang]

where [lang] is the langage specified in [listname] configuration file or by default the site langage default specified in sympa.conf, Please refer to 3, page [*].

4.3 Archiving daemon

archived.pl is intended to convert messages comming from sympa spools and to call mhonarc to create html version located according to the "arc_path" wwsympa parameter. You should probably install thoses archives elsewhere than sympa home_dir. (we think the initial choice of Sympa to store mail archive in the ~sympa/expl/[listname] directory). Note that html archive containt a txt version of any message and are totaly separed from old Sympa archive.

1.
Edit archived.pl first line according to your perl location, sympa bindir etc.

2.
% perl -c archived.pl

3.
create  sympa/spool/outgoing according to the sympa.conf queueoutgoing parameter. (must be owned by sympa)

4.
create a directory according "arc_path" wwsympa parameter. (must be owned by sympa) do not need to be under apache space unless your server run a chroot.

5.
foreach list, if you need web archive create a new webarchive pragraph in list config example :
     web_archive
     access public|private|owner|listmaster|closed

This paramter is not yet defined by scenario scheme but it will If web_archive is define for a list any message distributed by this list is copied in the queueoutgoing spool. You do not need to create crazy subscriber that receive the archive by mail.

6.
launche archived.pl. It MUST run under the same uid/gid then Sympa and apache
7.
check World Wide Sympa logs or launched archived with "-d" parameter in order receive long logs and to prevent the tty detach. Check files created in [arc_path] dir.
8.
If you change mhonarc ressources, in order to rebuild all the archive using the new look define for mhonarc, just create a empty file owned by Sympa in ~sympa/spool/outgoing named ".rebuild.[list_adress]. Note [list_adress] is not [listname]. This choice is to prepare virtual hosting.

     example : su sympa -c "touch ~sympa/spool/outgoing/.rebuild.sympa-fr@cru.fr"

4.4 HTTPD setup

In order to execute wwsympa.fcgi, Apache must run under same uid/gid than archived.pl and sympa.pl.

If you chose to run wwsympa.fcgi a simple CGI, you just need to script alias it.

     Example :
       	ScriptAlias /wws /home/sympa/wwsympa/wwsympa.fcgi

Running FastCGI will provide much faster responses from your server and lower load (to understand why, read http://www.fastcgi.com/fcgi-devkit-2.1/doc/fcgi-perf.htm)

     Example :
	ScriptAlias /wws /home/sympa/wwsympa/wwsympa.fcgi
	AppClass /home/sympa/wwsympa/wwsympa.fcgi
	<Location /wws>
	   SetHandler fastcgi-script
	</Location>

4.5 Database configuration

World Wide Sympa needs a RDBMS (Relational Database Management System) to run. All database access is performed via Sympa API. Sympa currently interfaces with MySQL, PostgreSQL, Oracle and Sybase.

Database is needed to store user passwords and preferences. The database structure is documented in Sympa documentation ; scripts for creating it are also provided with Sympa distribution (in script).

User information (password and prefs) are stored in «User» table. User passwords stored in database are NOT CRYPTED since World Wide Sympa might need to remind users with their passwords. World Wide Sympa security relies on your database


4.6 Customizing World Wide Sympa

4.7 List edition

Not available yet

edit_list_request (not yet terminated)

Summary of main properties

1.
Can be used to create a new list ex : http://sympa.com/wws/create_list_request or to modify existing list ex : http://sympa.com/wws/create_list_request/test

2.
In case of a new list creation, use the scenario named create_list. [no yet developped] if scenari return "do_it" create the list if scenari return "listmaster" create the list in a spool and request listmaster of what to do with it (install or reject) If scenari return "reject" reject the creati

3.
For each parameter, you can chose by robot configuration who can modify list parameters, (the configuration file is  sympa/expl/edit_list.conf), (the file in sample dir is reasonably safe).
     examples :

         \# only listmaster can edit user\_data\_source, priority, ...
         user\_data\_source listmaster  

         priority listmaster
      
         \# only privileged owner can modify  editor parameter, send, ...
         editor privileged\_owner

         send privileged\_owner

         \# all other parameters can be changed by simple owners
         default owner

Privileged owners are owner witch paragraph definition in list config file contain a line : "profile privileged".

The following rules are hardcoded in wwsympa :

The goal is to define two trust level for owners (some can just edit gadget like "custom_subject", some others can edit important parameters, but keep control of crutial parameters like the list of privileged owners or user_data_sources. So owners can change there e-mail (asking to a privileged owner to do it), but they can't give away the list mangement responsability to someone else without refering to listmaster.

4.
New scenari and local scenari are dynamicaly recognize by wwsympa

5.
For each list wwsympa keep creation and modification authors and date (previous configuration file are save and recover will be possible in futur)

4.8 Bounce management

World Wide Sympa allows bounces (non-delivery reports) management. This prevents list owners from receiving each bounce (1 per message sent to a bouncing subscriber) in their own mailbox. Without an automatic processing of bounces, list owners either become mad or just delete them without further attention.

Bounces are received at <listname>-owner address, which should be sent to "bouncequeue" prog through aliases :

<listname>-owner: "|/home/sympa/bin/bouncequeue <listname>"

"bouncequeue", distributed with Sympa, stores bounces in a dedicated spool (see "queuebounce" param in sympa.conf).

Bounces are then processed by a daemon, "bounced.pl" provided with World Wide Sympa. This daemon analyses bounces to find out what email addresses is concerned and what kind of error was generated. If bouncing address matches a subscriber's address, information are stored in Sympa database (in "user_table"). Moreover, latest bounce itself is archived in "bounce_path"/<listname>/<email> ("bounce_path" is defined in wwsympa.conf).

When reviewing a list, bouncing addresses are tagged as "bouncing" ; you may access further information such as : first and last bounces date, number of received bounces for the address, the last bounce itself.

Further development of Sympa/World Wide Sympa should allow automatic deletion of bouncing addresses.


next up previous contents index
Next: 5. Using Sympa with a RDBMS Up: Sympa Automatic Multi-posting System Previous: 3. Robot configuration parameters   Contents   Index
root
2000-03-31