Ci-dessous, les différences entre deux révisions de la page.
systeme:installer_sympa_sur_nginx [21/11/2016] laurent créée |
systeme:installer_sympa_sur_nginx [01/03/2024] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Installer Sympa sur Nginx ====== | ||
- | |||
- | * OS: Ubuntu 14.04 LTS | ||
- | * Sympa: 6.2.14 | ||
- | |||
- | ===== Préparation machine cible ===== | ||
- | |||
- | ==== Installation dépendances ==== | ||
- | |||
- | * Mise à jour | ||
- | <code> | ||
- | apt-get update | ||
- | apt-get -y upgrade | ||
- | </code> | ||
- | |||
- | * Installation outils console + compilation | ||
- | <code> | ||
- | apt-get -y install\ | ||
- | joe bash-completion wget curl man\ | ||
- | build-essential unzip mhonarc | ||
- | </code> | ||
- | * Installation MTA | ||
- | * => <<Configuration Type: Local uniquement>> | ||
- | <code> | ||
- | apt-get -y install\ | ||
- | postfix | ||
- | </code> | ||
- | |||
- | * Installation serveur Web | ||
- | * Il ne sera utilisé que pour livrer les pages statiques de Sympa | ||
- | * Le module FastCGI d'Apache ne sera pas utilisé | ||
- | <code> | ||
- | apt-get -y install\ | ||
- | apache2\ | ||
- | apache2-utils | ||
- | </code> | ||
- | |||
- | * Configurer Apache | ||
- | * => ajouter prise en compte de **static_sympa** dans le virtualhost | ||
- | <code> | ||
- | Alias /static-sympa /home/sympa/static_content | ||
- | <Location /static-sympa> | ||
- | Require all granted | ||
- | </Location> | ||
- | </code> | ||
- | |||
- | |||
- | * Installation anti-virus | ||
- | <code> | ||
- | apt-get -y install\ | ||
- | clamav\ | ||
- | clamav-freshclam\ | ||
- | clamav-daemon | ||
- | </code> | ||
- | * Installation modules Perl | ||
- | * Sympa sera installé avec un serveur MySQL / MariaDB | ||
- | <code> | ||
- | 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 | ||
- | </code> | ||
- | |||
- | * Installation modules Perl nécessaires pour les versions >= 6.2.x de Sympa | ||
- | <code> | ||
- | 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 | ||
- | </code> | ||
- | |||
- | * Nettoyage | ||
- | <code> | ||
- | apt-get clean | ||
- | </code> | ||
- | |||
- | * Création compte Sympa | ||
- | <code> | ||
- | useradd sympa | ||
- | mkdir /home/sympa | ||
- | chown sympa:sympa /home/sympa | ||
- | </code> | ||
- | |||
- | ===== Installation de Sympa ===== | ||
- | |||
- | * Télécharger Sympa | ||
- | <code> | ||
- | wget http://www.sympa.org/distribution/sympa-6.2.14.tar.gz | ||
- | tar -xzf sympa-6.2.14.tar.gz | ||
- | </code> | ||
- | |||
- | * Installer Sympa | ||
- | <code> | ||
- | cd sympa-6.2.14 | ||
- | ./configure\ | ||
- | --with-aliases_file=/etc/sympa/aliases | ||
- | make && make install | ||
- | /home/sympa/bin/sympa_wizard.pl --check | ||
- | </code> | ||
- | |||
- | * Préparation modules Perl | ||
- | <code> | ||
- | /home/sympa/bin/sympa_wizard.pl --check | ||
- | </code> | ||
- | * <<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>> | ||
- | |||
- | * Générer un fichier de configuration | ||
- | <code> | ||
- | /home/sympa/bin/sympa_wizard.pl --create | ||
- | </code> | ||
- | |||
- | * Editer le fichier de configuration **/etc/sympa/sympa.conf** | ||
- | |||
- | * Installer le script de démarrage | ||
- | <code> | ||
- | cp ./src/etc/script/sympa /etc/init.d/ | ||
- | update-rc.d -f sympa defaults | ||
- | </code> | ||
- | |||
- | * Modifier le script de démarrage | ||
- | <code> | ||
- | #sympalockdir="/var/lock/subsys" | ||
- | sympalockdir="/var/lock" | ||
- | </code> | ||
- | |||
- | * Démarrer Sympa | ||
- | <code> | ||
- | service sympa start | ||
- | </code> | ||
- | |||
- | ===== Installer le démon FastCGI ===== | ||
- | |||
- | * Installer le paquet <<spawn-fcgi>> | ||
- | <code> | ||
- | apt-get install spawn-fcgi | ||
- | </code> | ||
- | |||
- | * Créer le script de démarrage du démon FastGCI **/etc/init.d/spawn-fcgi-wwsympa** | ||
- | * Script original: https://github.com/josacar/misc_scripts/blob/master/spawn-fcgi-sympa-www.sh | ||
- | <code bash /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 | ||
- | </code> | ||
- | |||
- | * Activer le script de démarrage du démon FastCGI | ||
- | <code> | ||
- | chmod +x /etc/init.d/spawn-fcgi-wwsympa | ||
- | update-rc.d -f spawn-fcgi-wwsympa defaults | ||
- | service spawn-fcgi-wwsympa start | ||
- | </code> | ||