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
«Quel SGBD sera utilisé pour gérer la base de données de Sympa :» ⇒ «1: MySQL/MariaDB»
«Installer le module MHonArc::UTF8 ? [y]» ⇒ «y»
«Installer le module Crypt::SMIME ? [n]» ⇒ «y»
/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