Table des matières

Installer Sympa sur Nginx

Préparation machine cible

Installation dépendances

apt-get update
apt-get -y upgrade
apt-get -y install\
 joe bash-completion wget curl man\
 build-essential unzip mhonarc
apt-get -y install\
 postfix
apt-get -y install\
 apache2\
 apache2-utils
        Alias /static-sympa /home/sympa/static_content
        <Location /static-sympa>
                Require all granted
        </Location>
apt-get -y install\
 clamav\
 clamav-freshclam\
 clamav-daemon
apt-get -y install\
 libarchive-zip-perl\
 libdbd-mysql-perl\
 libfile-copy-recursive-perl\
 libhtml-format-perl\
 libhtml-stripscripts-parser-perl\
 libio-stringy-perl\
 libmime-charset-perl\
 libmime-encwords-perl\
 libmime-tools-perl\
 libnet-dns-perl\
 libnet-netmask-perl\
 libtemplate-perl\
 libterm-progressbar-perl\
 libxml-libxml-perl\
 libauthcas-perl\
 libcrypt-ciphersaber-perl\
 libcrypt-openssl-x509-perl\
 libdbd-odbc-perl\
 libdata-password-perl\
 libfcgi-perl\
 libfile-nfslock-perl\
 libmail-dkim-perl\
 libnet-ldap-perl\
 libsoap-lite-perl\
 libintl-perl\
 libmime-lite-html-perl\
 libunicode-linebreak-perl\
 libcgi-fast-perl
apt-get -y install\
 pkg-config\
 libcrypto++-dev\
 libssl-dev\
 libclass-singleton-perl\
 libdatetime-format-mail-perl\
 libemail-simple-perl\
 libnet-cidr-perl\
 libproc-processtable-perl\
 libcrypt-smime-perl
apt-get clean
useradd sympa
mkdir /home/sympa
chown sympa:sympa /home/sympa

Installation de Sympa

wget http://www.sympa.org/distribution/sympa-6.2.14.tar.gz
tar -xzf sympa-6.2.14.tar.gz
cd sympa-6.2.14
./configure\
 --with-aliases_file=/etc/sympa/aliases
make && make install
/home/sympa/bin/sympa_wizard.pl --check
/home/sympa/bin/sympa_wizard.pl --check
/home/sympa/bin/sympa_wizard.pl --create
cp ./src/etc/script/sympa /etc/init.d/
update-rc.d -f sympa defaults
#sympalockdir="/var/lock/subsys"
sympalockdir="/var/lock"       
service sympa start

Installer le démon FastCGI

apt-get install spawn-fcgi
/etc/init.d/spawn-fcgi-wwsympa
#!/bin/sh
 
### BEGIN INIT INFO
# Provides:          spawn-fcgi-wwsympa
# Required-Start:    $local_fs $remote_fs $network $syslog
# Required-Stop:     $local_fs $remote_fs $network $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: spawns the wwsympa-wrapper fastcgi processes
# Description:       spawns fastcgi using start-stop-daemon
### END INIT INFO
 
USER=sympa
USER_SOCKET=sympa
GROUP=sympa
PATH=/sbin:/bin:/usr/sbin:/usr/bin
SCRIPTNAME=/etc/init.d/spawn-fcgi-wwsympa-wrapper
SSD="/sbin/start-stop-daemon"
RETVAL=0
 
FCGI_DAEMON="/usr/bin/spawn-fcgi"
FCGI_PROGRAM="/home/sympa/bin/wwsympa.fcgi"
FCGI_PORT="4050"
FCGI_SOCKET="/var/run/sympa/spawn-fcgi-wwsympa-wrapper.sock"
FCGI_PIDFILE="/var/run/spawn-fcgi-wwsympa-wrapper.pid"
FCGI_CHILDREN=3
 
set -e
 
export FCGI_WEB_SERVER_ADDRS
 
. /lib/lsb/init-functions
 
case "$1" in
  start)
        log_daemon_msg "Starting spawn-fcgi"
        if ! $FCGI_DAEMON -p $FCGI_PORT -f $FCGI_PROGRAM -u $USER -U $USER_SOCKET -g $GROUP -P $FCGI_PIDFILE -F $FCGI_CHILDREN -C $FCGI_CHILDREN >/dev/null 2>/dev/null; then
            log_end_msg 1
        else
            log_end_msg 0
        fi
        RETVAL=$?
  ;;
  stop)
        log_daemon_msg "Killing all spawn-fcgi processes"
	if kill $(ps awx |grep "/usr/bin/perl /home/sympa/bin/wwsympa.fcgi" |grep -v grep |awk '{print $1}') > /dev/null 2> /dev/null ; then
            log_end_msg 0
        else
            log_end_msg 1
        fi
        RETVAL=$?
  ;;
  restart|force-reload)
        $0 stop
        $0 start
  ;;
  *)
        echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
        exit 1
  ;;
esac
 
exit $RETVAL
chmod +x /etc/init.d/spawn-fcgi-wwsympa
update-rc.d -f spawn-fcgi-wwsympa defaults
service spawn-fcgi-wwsympa start