3 changed files with 39 additions and 113 deletions
-
115sympa/doc/installation.md
-
7sympa/miaou/miaou-install-from-import-sympa
-
30sympa/recipe/sympa_fix_personalization.recipe
@ -1,113 +1,8 @@ |
|||||
sympa on debian 12 |
|
||||
|
sympa on debian 13 |
||||
================== |
================== |
||||
|
|
||||
DOC: |
|
||||
https://www.sympa.community/manual/install/install-sympa-distribution-debian.html |
|
||||
https://wiki.evolix.org/HowtaptoSympa |
|
||||
|
|
||||
USE OF: postfix + postgresql + ... |
|
||||
|
|
||||
## Nginx + fastcgi (recommended!) + NON-INTERACTIVE |
|
||||
|
|
||||
```bash |
|
||||
# postfix |
|
||||
debconf-set-selections <<EOF |
|
||||
postfix postfix/mailname string $(hostname -f) |
|
||||
postfix postfix/main_mailer_type string 'Internet Site' |
|
||||
postfix postfix/mynetworks string '127.0.0.0/8' |
|
||||
EOF |
|
||||
DEBIAN_FRONTEND=noninteractive apt install -y postfix postgresql nginx fcgiwrap perl-doc micro debconf-utils |
|
||||
postconf -e "inet_protocols = ipv4" |
|
||||
systemctl restart postfix |
|
||||
|
|
||||
# sympa |
|
||||
listmasters="pvincent@artcode.re,jnoel@mithril.re" |
|
||||
[[ $(hostname -d) == *.* ]] && listmasters+=",listmaster@$(hostname -d)" || true |
|
||||
debconf-set-selections <<EOF |
|
||||
sympa wwsympa/webserver_type select 'Other' |
|
||||
sympa sympa/database-type string pgsql |
|
||||
sympa sympa/db_host string localhost |
|
||||
sympa sympa/db_name string sympa |
|
||||
sympa sympa/db_user string sympa |
|
||||
sympa sympa/db_pass password sympa |
|
||||
sympa sympa/language select fr |
|
||||
sympa sympa/listmaster string $listmasters |
|
||||
EOF |
|
||||
DEBIAN_FRONTEND=noninteractive apt install -y sympa |
|
||||
systemctl disable sympasoap.{socket,service} |
|
||||
systemctl stop sympasoap.{socket,service} |
|
||||
|
|
||||
# nginx |
|
||||
cat <<EOF > /etc/nginx/sites-available/sympa.conf |
|
||||
server { |
|
||||
listen 80; |
|
||||
server_name _; |
|
||||
rewrite ^/$ /wws permanent; |
|
||||
|
|
||||
location /wws { |
|
||||
include fastcgi_params; |
|
||||
fastcgi_param SERVER_NAME $(hostname -f); |
|
||||
fastcgi_pass unix:/run/sympa/wwsympa.socket; |
|
||||
} |
|
||||
|
|
||||
location /static-sympa { |
|
||||
alias /usr/share/sympa/static_content; |
|
||||
} |
|
||||
|
|
||||
location /css-sympa { |
|
||||
alias /var/lib/sympa/css; |
|
||||
} |
|
||||
|
|
||||
location /pictures-sympa { |
|
||||
alias /var/lib/sympa/pictures; |
|
||||
} |
|
||||
} |
|
||||
EOF |
|
||||
cd /etc/nginx/sites-enabled && rm -f default && ln -sf ../sites-available/sympa.conf && cd |
|
||||
systemctl reload nginx |
|
||||
|
|
||||
# final word |
|
||||
echo Sympa successfully installed! |
|
||||
``` |
|
||||
|
|
||||
## after any sympa change! |
|
||||
|
|
||||
* systemctl restart wwsympa.socket |
|
||||
|
|
||||
|
|
||||
## Apache2 + fcgi (deprecated, see nginx below) |
|
||||
|
|
||||
Rk: replace {{PUBLIC_URL}} and {{LISTMASTER}} according to your needs! |
|
||||
``` |
|
||||
PUBLIC_URL=listes.artcode.re |
|
||||
LISTMASTER=pvincent@artcode.re |
|
||||
``` |
|
||||
|
|
||||
* apt install -y postfix postgresql apache2 libapache2-mod-fcgid spawn-fcgi |
|
||||
* domain: {{PUBLIC_URL}} |
|
||||
* apt install -y sympa |
|
||||
* db: postgresql |
|
||||
* pass: sympa |
|
||||
* web: apache2 |
|
||||
* setuid: no |
|
||||
* editor /etc/sympa/sympa/sympa.conf |
|
||||
* listmaster: {{LISTMASTER}} |
|
||||
* lang: fr |
|
||||
* wwsympa_url: http://{{PUBLIC_URL}}/wws |
|
||||
* a2enmod rewrite proxy_fcgi |
|
||||
* editor /etc/apache2/sites-available/sympa.conf |
|
||||
``` |
|
||||
<VirtualHost *:80> |
|
||||
ServerName {{PUBLIC_URL}} |
|
||||
RewriteEngine On |
|
||||
RewriteRule ^/$ /wws [R] |
|
||||
<Location /wws> |
|
||||
SetHandler "proxy:unix:/run/sympa/wwsympa.socket|fcgi://localhost" |
|
||||
Require all granted |
|
||||
</Location> |
|
||||
</VirtualHost> |
|
||||
``` |
|
||||
* a2dissite 000-default.conf |
|
||||
* a2ensite sympa.conf |
|
||||
* systemctl restart apache2 sympa |
|
||||
|
TODO: build script install_sympa_for_domain |
||||
|
|
||||
|
* hostname: listes.rdq43.fr |
||||
|
* net0: name=eth0,bridge=vmbr0,firewall=1,gw=51.89.25.254,hwaddr=02:00:00:49:ea:6d,ip=51.89.25.216/32,type=veth |
||||
|
* listes2.artcode.re |
||||
@ -0,0 +1,30 @@ |
|||||
|
#!/usr/bin/env miaou-recipe |
||||
|
|
||||
|
# CONSTANTS |
||||
|
|
||||
|
GLOBAL_CONF=/etc/sympa/sympa/sympa.conf |
||||
|
LIST_DATA_DIR=/var/lib/sympa/list_data |
||||
|
FOUND=false |
||||
|
|
||||
|
# FUNCTIONS |
||||
|
|
||||
|
function fix_personalization { |
||||
|
if ! grep -q "^personalization_feature.*\*$" $GLOBAL_CONF; then |
||||
|
/opt/miaou-bash/tools/append_or_replace '^personalization_feature.*$' 'personalization_feature on' $GLOBAL_CONF |
||||
|
/opt/miaou-bash/tools/append_or_replace '^personalization.mail_apply_on.*$' 'personalization.mail_apply_on footer' $GLOBAL_CONF |
||||
|
echo 'personalization now enabled' |
||||
|
FOUND=true |
||||
|
else |
||||
|
echo 'personalization already enabled globally!' |
||||
|
fi |
||||
|
} |
||||
|
|
||||
|
function restart_services { |
||||
|
$FOUND && systemctl restart sympa wwsympa.socket || true |
||||
|
} |
||||
|
|
||||
|
# MAIN |
||||
|
|
||||
|
set -Eue |
||||
|
fix_personalization |
||||
|
restart_services |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue