Documentation sur le logiciel SYMPA

Ceci est une ancienne révision du document !


Installation de sympa sur une redhat

Compte sympa

# groupadd -g 503 sympa
# useradd -g 503 -u 503 sympa
# chmod 755  /home/sympa

Logs

/etc/rsyslog.conf

Ajout dans /etc/rsyslog.conf

# Save sympa messages
local1.*                                                /var/log/sympa.log

Rotation des logs

Sous /etc/logrotate.d

Décommenter mysql

/var/log/mysqld.log {
        create 640 mysql mysql
        notifempty
        daily
       rotate 3
        missingok
        compress
    postrotate
        # just if mysqld is really running
        if test -x /usr/bin/mysqladmin && \
           /usr/bin/mysqladmin ping &>/dev/null
        then
           /usr/bin/mysqladmin flush-logs
        fi
    endscript
}

Créer sympa

/var/log/sympa.log {
    notifempty
    missingok
    postrotate
        /bin/kill -HUP `cat /home/sympa/sympa.pid 2> /dev/null` 2> /dev/null || true
    endscript
}

Installation packages

Abonnement au canaux redhat (subscribed channels)

https://rhn.redhat.com

  • RHEL Server Supplementary (v. 6 64-bit x86_64)
  • RHEL Server Debuginfo (v.6 for x86_64)
  • RHEL Server Optional Debuginfo (v.6 x86_64)
  • Red Hat Common (for RHEL 6 Server x86_64)
  • RHEL Server Optional (v. 6 64-bit x86_64)

Nouveaux packages installés

  • PHP : php – php-mysql – php-ldap – php-devel – php-devel – php-mysql – php-pear – php-soap –
  • MYSQL : mysql-devel – mysql-server
  • APACHE : httpd-devel – mod_perl-devel
  • Autres : gccgettext-devellibxml2-devel

Modules Perl installés

Applicatifs à installer

MHonarc

http://www.mhonarc.org/

Sous /usr/local/INSTALL/APPLI, télécharger le package rpm, MHonArc-2.6.19-1.noarch.rpm.

Avec un utilitaire md5 vérifier la checksum md5.

#  rpm -Uvh MHonArc-2.6.19-1.noarch.rpm
     Préparation...              ########################################### [100%]
         1:MHonArc                ########################################### [100%]

mysql

Il faut que le package mysql-server soit installé

# mysql_install_db
# /etc/init.d/mysqld start
# perl -MCPAN -e shell
         cpan[2]> install DBD::mysql
# mysql_secure_installation   
# vi /etc/my.cnf
        [mysqld]
         .......
         max_allowed_packet=32M

Installation de sympa

Télécharger la dernière version de sympa

http://www.sympa.org/manual/installing-sympa#installing_sympa

# tar xvfz sympa-6.xx.xx.tar.gz 
# ./configure 
# make 
# make install
# ~sympa/bin/sympa_wizard.pl

Installation de la base de données sympa

http://www.sympa.org/manual/database#creating_a_sympa_database

Si base de donnée ne s'est pas installée.

# ~sympa/bin/sympa.pl test_database_message_buffer

info Configuration file read, default log level 0
notice Sympa 6.1.22 started
Sympa is going to store messages bigger and bigger to test the limit with its database. This may be very long 
maxtest: 210
barmax: 535500
Test storing and removing of a   420 kB message (step 1 out of 50)                                                            
.........[OK. Done in 0.02 sec]   

.................................................

Test storing and removing of a 21000 kB message (step 50 out of 50)                                                           
.........[OK. Done in 0.78 sec]                                                                                               
Total size transfered: 100% [==]D 0h00m27sThe maximum message size (21000 Ko) testing was successful 
# /etc/init.d/mysqld start
# mysql -u root -p </home/sympa/bin/create_db.mysql
# mysql_secure_installation
# mysql -u root -p
   mysql> grant all on sympa.* to sympa@localhost identified by 'PASSWORD';

Fichier de configuration

/etc/sympa.conf

email sympa

Postfix

Fichier de configuration /etc/sympa/sympa.conf

#sendmail       /usr/sbin/postfix
sendmail        /usr/sbin/sendmail

Voir configuration postfix et alias

Authentification

Fichier de configuration auth.conf

# cp -p ~sympa/default/auth.conf ~sympa/etc

# vi ~sympa/etc/auth.conf

#
#  authentification par CAS
#
cas
        base_url                https://cas-inp.grenet.fr
# pour eviter d'avoir l'authentification CAS a la connexion ,
# et de permettre l'authentification par adresse mail pour les exterieurs
        non_blocking_redirection off
        auth_service_name       Service_Authentification_Grenoble-INP
        ldap_host               frontalannuaire2.inpg.fr:389
        ldap_timeout            7
        ldap_bind_dn            uid=XXXXXXX,ou=people,ou=inpg,dc=agalan,dc=org
        ldap_bind_password      XXXXXXX
        ldap_suffix                     ou=inpg,dc=agalan,dc=org
        ldap_get_email_by_uid_filter    (uid=[uid])
        ldap_email_attribute            mail
        ldap_scope                      sub
#        ldap_use_ssl                 1
#        ldap_ssl_version             tlsv1
#        ldap_ssl_ciphers             MEDIUM:HIGH

#
#  authentification par LDAP
#
ldap
        host                    frontalannuaire2.inpg.fr:389
        timeout                 20
        bind_dn                 uid=XXXXXXX,ou=people,ou=inpg,dc=agalan,dc=org
        bind_password           XXXXXXX
        suffix                  ou=inpg,dc=agalan,dc=org
        get_dn_by_uid_filter    (uid=[sender])
        get_dn_by_email_filter          (mail=[sender])
        email_attribute                 mail
        scope                   sub
#       use_ssl                 1
#       ssl_version             tlsv1
#       ssl_ciphers             MEDIUM:HIGH

#
#  authentification par adresse mail
#

user_table
        regexp                 .*

Modifier l'interface web

Copier le fichier ~sympa/default/web_tt2/loginbanner.tt2 dans

  • ~sympa/etc/web_tt2/ : pour l'interface en anglais
  • ~sympa/etc/web_tt2/fr_FR/ : pour l'interface en français

Le modifier dans un premier temps pour authentification CAS voir

Customisation de sympa

Modèles de création de liste

Scénarios

Familles créées

  • Les familles sont sous ~sympa/etc/listes.grenoble-inp.fr/families
  • Les scripts permettant de créer les fichiers xml des familles sont sous /usr/local/SCRIPTS/sympa/FAMILLE

Fichiers propriétaires et émetteurs

Tous les fichiers include pour les propriétaires sont sous ~sympa/etc/listes.grenoble-inp.fr/data_sources

Les fichiers listant les propriétaires sont sous ~sympa/etc/listes.grenoble-inp.fr/data_sources/OWNER

Pour chaque virtual host :

# mkdir ~sympa/etc/<VIRTUAL_HOST> /data_sources

Puis recopier les fichiers include pour les propriétaires les concernant, ils s'appuient sur ~sympa/etc/listes.grenoble-inp.fr/data_sources/OWNER pour la mise à jour des propriétaires.

Gestion des droits propriétaires et abonnés

~sympa/etc/edit_list.conf

Pour la connexion des wikis

~sympa/etc/trusted_applications.conf

trusted_application
  name XXXXXX
  md5password XXXXXXXXXXXX
  proxy_for_variables USER_EMAIL,remote_host

Scripts locaux

Attention modifier les scripts locaux perl travaillant avec mysql

remplacer "use Mysql ;" par "use DBD::mysql ;"

Gestion des erreurs

Messages pas partis

Les messages qui restent dans le répertoire /home/sympa/spool/msg

Le script surveillance_msg.sh vérifie toutes les heures qu'il n'ait pas de messages dans ce répertoire.

crontab

## surveillance de /home/sympa/spool/msg
0,29 7,8,9,10,11,12,13,14,15,16,17,18,19,21 * * *  /usr/local/SCRIPTS/sympa/surveillance_msg.sh > /dev/null 2>&1