3 "$tool"/local
/runit-sv-configure postgres
4 "$tool"/local
/runit-sv-start postgres
5 while ! sudo
-u postgres psql
</dev
/null
7 "$tool"/local
/postgresql-user-create
"$sv"
8 sudo
-u postgres psql template1
-a -f - --set ON_ERROR_STOP
=1 <<-EOF
9 -- NOTE: pour /usr/share/sympa/lib/Upgrade.pm
10 -- appelant DBI->tables
11 GRANT USAGE ON SCHEMA pg_catalog TO $sv;
12 GRANT SELECT ON TABLE pg_catalog.pg_class TO $sv;
13 GRANT SELECT ON TABLE pg_catalog.pg_description TO $sv;
14 GRANT SELECT ON TABLE pg_catalog.pg_namespace TO $sv;
15 GRANT SELECT ON TABLE pg_catalog.pg_tablespace TO $sv;
16 -- NOTE: pour /usr/share/sympa/bin/create_db.Pg
17 -- CREATE SCHEMA $sv AUTHORIZATION $sv;
18 -- XXX: ne fonctionne pas à cause de cette vermine :
19 -- https://sourcesup.renater.fr/tracker/index.php?func=detail&aid=7459&group_id=23&atid=167
20 -- du coup on met les tables de SYMPA dans le schema public :
21 GRANT USAGE,CREATE ON SCHEMA public TO $sv;
24 "$tool"/local
/adduser
"$sv" \
31 sudo adduser sympa postgres-data
33 sudo
install -d -m 770 -o "$sv" -g "$sv" \
37 sudo
install -d -m 755 -o root
-g root \
40 sudo
install -m 644 -o root
-g root \
42 /etc
/sympa
/.gitignore
<<-EOF
46 --define=LOCAL_DOMAINNAME
="$local_domainname" \
47 --define=HOME
="$home" \
48 "$tool"/etc
/sympa
/sympa.conf.
m4 |
49 sudo
install -m 640 -o "$sv" -g "$sv" /dev
/stdin \
51 sudo
install -m 644 -o "$sv" -g "$sv" /dev
/stdin \
52 /etc
/sympa
/facility
<<-EOF
56 for host in $
(find "$tool"/etc
/sympa
/host.d \
57 -mindepth 1 -maxdepth 1 -type d \
60 sudo
install -d -m 770 -o "$sv" -g "$sv" \
63 --define=HOST
="$host" \
64 "$tool"/etc
/sympa
/host.d
/"$host"/robot.conf.
m4 |
65 sudo
install -m 440 -o "$sv" -g "$sv" /dev
/stdin \
66 /etc
/sympa
/"$host"/robot.conf
67 sudo
install -d -m 770 -o "$sv" -g "$sv" \
68 "$home"/list_data
/"$host"
71 sudo debconf-set-selections
<<-EOF || true
72 sympa sympa/app-password-confirm password
73 sympa sympa/password-confirm password
74 # Mot de passe de connexion PostgreSQL pour sympa :
75 sympa sympa/dbconfig-install boolean true
76 sympa sympa/pgsql/app-pass password
77 ##sympa sympa/mysql/admin-pass password
78 sympa sympa/pgsql/admin-pass password
79 # Mot de passe de connexion MySQL pour sympa :
80 ##sympa sympa/mysql/app-pass password
81 # Faut-il configurer la base de données de sympa avec dbconfig-common ?
82 sympa sympa/dbconfig-install boolean true
83 # Nom d'hôte du serveur pour sympa :
84 sympa sympa/remote/newhost string
85 sympa sympa/listmaster string postmaster@$local_domainname
86 sympa wwsympa/wwsympa_url string https://$sv.$local_domainname/wws
87 sympa wwsympa/webserver_restart boolean false
88 sympa sympa/remote/port string
89 sympa sympa/pgsql/manualconf note
90 # Faut-il sauvegarder la base de données pour sympa avant la mise à jour ?
91 sympa sympa/upgrade-backup boolean true
92 sympa sympa/pgsql/changeconf boolean false
93 # Nom d'hôte du serveur « sympa » :
94 sympa sympa/hostname string $sv.$local_domainname
95 sympa sympa/pgsql/authmethod-user select unix socket
96 # Faut-il mettre à jour la base de données pour sympa avec dbconfig-common ?
97 sympa sympa/dbconfig-upgrade boolean true
98 sympa sympa/use_soap boolean false
99 # Nom de la base de données pour sympa :
100 sympa sympa/db/dbname string $sv
101 sympa sympa/internal/skip-preseed boolean true
102 # Type de serveur de bases de données à utiliser avec sympa :
103 sympa sympa/database-type select pgsql
104 # Répertoire pour la base de données pour sympa :
105 sympa sympa/db/basepath string
106 # Nom d'hôte du serveur de bases de données pour sympa :
107 sympa sympa/remote/host select /run/postgresql/
108 sympa wwsympa/fastcgi boolean true
109 sympa sympa/internal/reconfiguring boolean false
110 # Identifiant pour sympa :
111 sympa sympa/db/app-user string $sv
112 # Faut-il purger la base de données pour sympa ?
113 sympa sympa/purge boolean false
114 sympa sympa/remove-error select abort
115 sympa wwsympa/webserver_type select Other
116 ##sympa sympa/mysql/admin-user string root
117 # Faut-il défaire la configuration de la base de donnée de sympa avec dbconfig-common ?
118 sympa sympa/dbconfig-remove boolean
119 # Méthode de connexion pour la base de données MySQL de sympa:
120 ##sympa sympa/mysql/method select unix socket
121 # Faut-il réinstaller la base de données pour sympa ?
122 sympa sympa/dbconfig-reinstall boolean false
123 sympa sympa/pgsql/admin-user string postgres
124 sympa sympa/upgrade-error select abort
125 sympa sympa/language select fr
126 # Méthode de connexion pour la base de données PostgreSQL de sympa :
127 sympa sympa/pgsql/method select unix socket
128 sympa sympa/install-error select abort
129 #sympa sympa/pgsql/no-empty-passwords error
130 sympa sympa/pgsql/authmethod-admin select unix socket
132 sudo
install -d -m 755 -o root
-g root \
134 sudo
install -m 600 -o root
-g root
/dev
/stdin \
135 /etc
/dbconfig-common
/sympa.conf
<<-EOF
136 dbc_authmethod_admin='ident'
137 dbc_authmethod_user='ident'
139 dbc_dbadmin='postgres'
143 dbc_dbserver='/run/postgresql'
152 ! sudo etckeeper unclean ||
153 sudo etckeeper commit
-m "runit-configure $sv"
155 "$tool"/local
/apt-get-install
--no-install-recommends sympa
156 # NOTE: évite d'installer apache2 ..
158 "$tool"/local
/insserv-remove sympa
160 sudo
-u postgres psql template1
-a -f - --set ON_ERROR_STOP
=1 <<-EOF
161 REVOKE ALL ON DATABASE $sv FROM public;
162 GRANT ALL PRIVILEGES ON DATABASE $sv TO $sv;