Ajout : roundcube.
[lhc/ateliers.git] / etc / sv / sympa / local.sh
1 home=/home/sympa
2
3 "$tool"/local/runit-sv-configure postgres
4 "$tool"/local/runit-sv-start postgres
5 while ! sudo -u postgres psql </dev/null
6 do sleep 1; done
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;
22 EOF
23
24 "$tool"/local/adduser "$sv" \
25 --disabled-login \
26 --disabled-password \
27 --group \
28 --home "$home" \
29 --shell /bin/false \
30 --system
31 sudo adduser sympa postgres-data
32
33 sudo install -d -m 770 -o "$sv" -g "$sv" \
34 "$home" \
35 "$home"/list_data \
36 "$home"/spool
37 sudo install -d -m 755 -o root -g root \
38 /etc/sympa \
39 /etc/sympa/x509.d
40 sudo install -m 644 -o root -g root \
41 /dev/stdin \
42 /etc/sympa/.gitignore <<-EOF
43 key_passwd
44 EOF
45 m4 \
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 \
50 /etc/sympa/sympa.conf
51 sudo install -m 644 -o "$sv" -g "$sv" /dev/stdin \
52 /etc/sympa/facility <<-EOF
53 mail
54 EOF
55
56 for host in $(find "$tool"/etc/sympa/host.d \
57 -mindepth 1 -maxdepth 1 -type d \
58 -printf '%f\n')
59 do
60 sudo install -d -m 770 -o "$sv" -g "$sv" \
61 /etc/sympa/"$host"
62 m4 \
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"
69 done
70
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
131 EOF
132 sudo install -d -m 755 -o root -g root \
133 /etc/dbconfig-common
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'
138 dbc_basepath=''
139 dbc_dbadmin='postgres'
140 dbc_dbname='$sv'
141 dbc_dbpass=''
142 dbc_dbport=''
143 dbc_dbserver='/run/postgresql'
144 dbc_dbtype='pgsql'
145 dbc_dbuser='$sv'
146 dbc_install='true'
147 dbc_remove=''
148 dbc_ssl=''
149 dbc_upgrade='true'
150 EOF
151
152 ! sudo etckeeper unclean ||
153 sudo etckeeper commit -m "runit-configure $sv"
154
155 "$tool"/local/apt-get-install --no-install-recommends sympa
156 # NOTE: évite d'installer apache2 ..
157
158 "$tool"/local/insserv-remove sympa
159
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;
163 EOF