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