Ajout : etc/sv/sympa/ .
[lhc/ateliers.git] / etc / sv / sympa / configure.sh
1 home=/home/sympa
2
3 rule runit_sv_configure postgres
4 rule runit_sv_start postgres
5 while ! sudo -u postgres psql </dev/null
6 do sleep 1; done
7 ~postgres/bin/createuser "$sv"
8 sudo -u postgres psql template1 -a -f - <<-EOF
9 \set ON_ERROR_STOP on
10 -- NOTE: pour /usr/share/sympa/lib/Upgrade.pm
11 -- appelant DBI->tables
12 GRANT USAGE ON SCHEMA pg_catalog TO $sv;
13 GRANT SELECT ON TABLE pg_catalog.pg_class TO $sv;
14 GRANT SELECT ON TABLE pg_catalog.pg_description TO $sv;
15 GRANT SELECT ON TABLE pg_catalog.pg_namespace TO $sv;
16 GRANT SELECT ON TABLE pg_catalog.pg_tablespace TO $sv;
17 -- NOTE: pour /usr/share/sympa/bin/create_db.Pg
18 -- CREATE SCHEMA $sv AUTHORIZATION $sv;
19 -- XXX: ne fonctionne pas à cause de cette vermine :
20 -- https://sourcesup.renater.fr/tracker/index.php?func=detail&aid=7459&group_id=23&atid=167
21 -- du coup on met les tables de SYMPA dans le schema public :
22 GRANT USAGE,CREATE ON SCHEMA public TO $sv;
23 EOF
24
25 rule adduser "$sv" \
26 --disabled-login \
27 --disabled-password \
28 --group \
29 --home "$home" \
30 --shell /bin/false \
31 --system
32 sudo adduser sympa postgres-data
33
34 sudo install -d -m 770 -o "$sv" -g "$sv" \
35 "$home" \
36 "$home"/list_data \
37 "$home"/spool
38 sudo install -d -m 755 -o root -g root \
39 /etc/sympa \
40 /etc/sympa/x509.d
41 sudo install -m 644 -o root -g root \
42 /dev/stdin \
43 /etc/sympa/.gitignore <<-EOF
44 cookie
45 key_passwd
46 EOF
47 m4 \
48 --define=VM_DOMAINNAME="$vm_domainname" \
49 --define=HOME="$home" \
50 "$tool"/etc/sympa/sympa.conf.m4 |
51 sudo install -m 640 -o "$sv" -g "$sv" /dev/stdin \
52 /etc/sympa/sympa.conf
53
54 sudo debconf-set-selections <<-EOF || true
55 sympa sympa/app-password-confirm password
56 sympa sympa/password-confirm password
57 # Mot de passe de connexion PostgreSQL pour sympa :
58 sympa sympa/dbconfig-install boolean true
59 sympa sympa/pgsql/app-pass password
60 ##sympa sympa/mysql/admin-pass password
61 sympa sympa/pgsql/admin-pass password
62 # Mot de passe de connexion MySQL pour sympa :
63 ##sympa sympa/mysql/app-pass password
64 # Faut-il configurer la base de données de sympa avec dbconfig-common ?
65 sympa sympa/dbconfig-install boolean true
66 # Nom d'hôte du serveur pour sympa :
67 sympa sympa/remote/newhost string
68 sympa sympa/listmaster string listmaster@$vm_domainname
69 sympa wwsympa/wwsympa_url string https://$sv.$vm_domainname/wws
70 sympa wwsympa/webserver_restart boolean false
71 sympa sympa/remote/port string
72 sympa sympa/pgsql/manualconf note
73 # Faut-il sauvegarder la base de données pour sympa avant la mise à jour ?
74 sympa sympa/upgrade-backup boolean true
75 sympa sympa/pgsql/changeconf boolean false
76 # Nom d'hôte du serveur « sympa » :
77 sympa sympa/hostname string $sv.$vm_domainname
78 sympa sympa/pgsql/authmethod-user select unix socket
79 # Faut-il mettre à jour la base de données pour sympa avec dbconfig-common ?
80 sympa sympa/dbconfig-upgrade boolean true
81 sympa sympa/use_soap boolean false
82 # Nom de la base de données pour sympa :
83 sympa sympa/db/dbname string $sv
84 sympa sympa/internal/skip-preseed boolean true
85 # Type de serveur de bases de données à utiliser avec sympa :
86 sympa sympa/database-type select pgsql
87 # Répertoire pour la base de données pour sympa :
88 sympa sympa/db/basepath string
89 # Nom d'hôte du serveur de bases de données pour sympa :
90 sympa sympa/remote/host select /run/postgresql/
91 sympa wwsympa/fastcgi boolean true
92 sympa sympa/internal/reconfiguring boolean false
93 # Identifiant pour sympa :
94 sympa sympa/db/app-user string $sv
95 # Faut-il purger la base de données pour sympa ?
96 sympa sympa/purge boolean false
97 sympa sympa/remove-error select abort
98 sympa wwsympa/webserver_type select Other
99 ##sympa sympa/mysql/admin-user string root
100 # Faut-il défaire la configuration de la base de donnée de sympa avec dbconfig-common ?
101 sympa sympa/dbconfig-remove boolean
102 # Méthode de connexion pour la base de données MySQL de sympa:
103 ##sympa sympa/mysql/method select unix socket
104 # Faut-il réinstaller la base de données pour sympa ?
105 sympa sympa/dbconfig-reinstall boolean false
106 sympa sympa/pgsql/admin-user string postgres
107 sympa sympa/upgrade-error select abort
108 sympa sympa/language select fr
109 # Méthode de connexion pour la base de données PostgreSQL de sympa :
110 sympa sympa/pgsql/method select unix socket
111 sympa sympa/install-error select abort
112 #sympa sympa/pgsql/no-empty-passwords error
113 sympa sympa/pgsql/authmethod-admin select unix socket
114 EOF
115 sudo install -d -m 755 -o root -g root \
116 /etc/dbconfig-common
117 sudo install -m 600 -o root -g root /dev/stdin \
118 /etc/dbconfig-common/sympa.conf <<-EOF
119 dbc_authmethod_admin='ident'
120 dbc_authmethod_user='ident'
121 dbc_basepath=''
122 dbc_dbadmin='postgres'
123 dbc_dbname='sympa'
124 dbc_dbpass=''
125 dbc_dbport=''
126 dbc_dbserver='/run/postgresql'
127 dbc_dbtype='pgsql'
128 dbc_dbuser='$sv'
129 dbc_install='true'
130 dbc_remove=''
131 dbc_ssl=''
132 dbc_upgrade='true'
133 EOF
134
135 ! sudo etckeeper unclean ||
136 sudo etckeeper commit -m "rule_runit_configure $sv"
137
138 rule apt_get_install --no-install-recommends sympa
139 # NOTE: évite d'installer apache2 ..
140
141 rule insserv_remove sympa