1
|
#!/bin/bash
|
2
|
|
3
|
# nom du poste
|
4
|
win_name="pcprof-01.etb1.lan"
|
5
|
salt_timeout="-t360"
|
6
|
veyon_version="4.0.91"
|
7
|
|
8
|
echo "###########################################"
|
9
|
echo " Installation de veyon "
|
10
|
echo "###########################################"
|
11
|
echo ""
|
12
|
|
13
|
echo "** Ouverture des ports **"
|
14
|
cat <<EOF > /usr/share/eole/creole/dicos/99_salt.xml
|
15
|
<?xml version="1.0" encoding="utf-8"?>
|
16
|
<creole>
|
17
|
<!-- Fichiers et services gérés par Creole -->
|
18
|
<files>
|
19
|
</files>
|
20
|
<!-- Conteneurs et configurations spécifiques liées aux conteneurs EOLE -->
|
21
|
<containers>
|
22
|
<container name='fichier'>
|
23
|
<service>salt-master</service>
|
24
|
<service_access service='salt-master'>
|
25
|
<port>4505</port>
|
26
|
<port>4506</port>
|
27
|
</service_access>
|
28
|
</container>
|
29
|
</containers>
|
30
|
|
31
|
<!-- Déclaration des variables de configurations -->
|
32
|
<variables>
|
33
|
<!-- Familles de variables, correspondent aux onglets dans GenConfig -->
|
34
|
</variables>
|
35
|
|
36
|
<!-- Déclaration des contraintes sur le traitement des fichiers -->
|
37
|
<constraints>
|
38
|
</constraints>
|
39
|
<!-- Balise d'aide pour affichier des info-bulles dans GenConfig lorsqu'on survolle les variables -->
|
40
|
<help>
|
41
|
</help>
|
42
|
</creole>
|
43
|
EOF
|
44
|
echo ""
|
45
|
|
46
|
echo "** Exécution du reconfigure **"
|
47
|
#reconfigure > /dev/null
|
48
|
echo ""
|
49
|
|
50
|
#echo "** unmask sur le service salt-master **"
|
51
|
#systemctl unmask salt-master.service
|
52
|
#echo ""
|
53
|
#
|
54
|
#echo "** Redémarrage du service salt-master **"
|
55
|
#service salt-master start
|
56
|
#echo ""
|
57
|
|
58
|
echo "** Assurez-vous d'avoir installer salt-minion sur le client Windows **"
|
59
|
echo ""
|
60
|
read -p "Appuyer sur [Enter] pour continuer"
|
61
|
echo ""
|
62
|
|
63
|
echo "** Relancer le minion côté client pour forcer l'enregistrement à l'aide de la commande 'salt-minion restart' **"
|
64
|
echo ""
|
65
|
read -p "Appuyer sur [Enter] pour continuer"
|
66
|
echo ""
|
67
|
|
68
|
echo "** Liste des minions potentiels **"
|
69
|
salt-key -L
|
70
|
echo ""
|
71
|
|
72
|
echo "** Acceptation de la clé du minion **"
|
73
|
salt-key -a $win_name
|
74
|
sleep 5
|
75
|
echo ""
|
76
|
|
77
|
echo "** Liste des clés de minions **"
|
78
|
salt-key -L
|
79
|
echo ""
|
80
|
|
81
|
echo "** Test de ping **"
|
82
|
salt $salt_timeout $win_name test.ping
|
83
|
echo ""
|
84
|
|
85
|
echo "** Configuration du dépôt Git pour winrepo dans le fichier /etc/salt/master **"
|
86
|
cat <<EOF >> /etc/salt/master
|
87
|
winrepo_dir_ng: '/srv/salt/win/repo-ng'
|
88
|
winrepo_remotes_ng:
|
89
|
- 'https://github.com/saltstack/salt-winrepo-ng.git'
|
90
|
EOF
|
91
|
echo ""
|
92
|
|
93
|
echo "** Installation des paquets debian manquants pour cloner winrepo **"
|
94
|
apt install python-pygit2 git
|
95
|
echo ""
|
96
|
|
97
|
echo "** Variable d'environnement pour le proxy **"
|
98
|
export http_proxy=http://10.1.3.1:3128/
|
99
|
export https_proxy=http://10.1.3.1:3128/
|
100
|
echo ""
|
101
|
|
102
|
echo "** Contournement du problème de proxy pour le clone git **"
|
103
|
# en remplacement de la commande salt -l debug -t120 -G 'os:windows' pkg.refresh_db
|
104
|
rm -rf /srv/salt/win/repo-ng/salt-winrepo-ng
|
105
|
#git clone https://github.com/saltstack/salt-winrepo-ng.git /srv/salt/win/repo-ng/salt-winrepo-ng
|
106
|
git clone http://dev-eole.ac-dijon.fr/git/salt-winrepo.git /srv/salt/win/repo-ng/salt-winrepo-ng
|
107
|
echo ""
|
108
|
|
109
|
echo "** Copie des différentes versions de Veyon dans /srv/salt/win/veyon/ **"
|
110
|
mkdir -p /srv/salt/win/veyon/
|
111
|
cp veyon-* /srv/salt/win/veyon/
|
112
|
echo ""
|
113
|
|
114
|
#echo "** Surcharge du fichier SLS fourni par winrepo **"
|
115
|
#cat <<EOF > /srv/salt/win/repo-ng/salt-winrepo-ng/veyon.sls
|
116
|
## both 32-bit (x86) AND a 64-bit (AMD64) installer available
|
117
|
#{% if grains['cpuarch'] == 'AMD64' %}
|
118
|
#{% set arch = 'win64' %}
|
119
|
#{% else %}
|
120
|
#{% set arch = 'win32' %}
|
121
|
#{% endif %}
|
122
|
#
|
123
|
#{% set versions = ['4.0.92', '4.0.91', '4.0.7', '4.0.6'] %}
|
124
|
#
|
125
|
#veyon:
|
126
|
#{% for version in versions %}
|
127
|
# '{{ version }}':
|
128
|
# full_name: 'Veyon {{ version }}'
|
129
|
# source: 'https://github.com/veyon/veyon/releases/download/v{{ version }}/veyon-{{ version }}.0-{{ arch }}-setup.exe'
|
130
|
# installer: salt://win/veyon/veyon-{{ version }}.0-{{ arch }}-setup.exe
|
131
|
# install_flags: '/S /Master'
|
132
|
# uninstaller: '%ProgramFiles%\Veyon\uninstall.exe'
|
133
|
# uninstall_flags: '/S'
|
134
|
# msiexec: False
|
135
|
# locale: en_US
|
136
|
# reboot: False
|
137
|
#{% endfor %}
|
138
|
#EOF
|
139
|
#echo ""
|
140
|
|
141
|
echo "** Versions supportées **"
|
142
|
salt $salt_timeout $win_name pkg.list_available veyon
|
143
|
echo ""
|
144
|
|
145
|
echo "** Installation de Veyon $veyon_version **"
|
146
|
salt -l debug $salt_timeout $win_name pkg.install 'veyon' version=$veyon_version
|
147
|
echo ""
|
148
|
|
149
|
# sur quel module sommes-nous ?
|
150
|
EOLERELEASE="/etc/eole/release"
|
151
|
. $EOLERELEASE
|
152
|
|
153
|
# scribe-ad
|
154
|
if [ $EOLE_MODULE == "scribe" ] ; then
|
155
|
ldap_port=$(CreoleGet ldap_port)
|
156
|
ldap_ip=$(CreoleGet ad_public_address)
|
157
|
directory_admin=$(CreoleGet ad_user)
|
158
|
ad_domain=$(CreoleGet ad_domain)
|
159
|
ad_dc_0="$(echo $ad_domain | cut -d'.' -f2)"
|
160
|
ad_dc_1="$(echo $ad_domain | cut -d'.' -f1)"
|
161
|
elif [ $EOLE_MODULE == "seth" ] ; then
|
162
|
directory_admin="administrator"
|
163
|
echo "Vous êtes sur un seth, configuration non implémentée"
|
164
|
exit 0
|
165
|
fi
|
166
|
|
167
|
echo "** Construction du script de configuration de Veyon **"
|
168
|
cat <<EOF > config_veyon.bat
|
169
|
echo "Configuration de veyon"
|
170
|
pause
|
171
|
"C:\Program Files\Veyon\veyon-ctl" service stop
|
172
|
"C:\Program Files\Veyon\veyon-ctl" config clear
|
173
|
"C:\Program Files\Veyon\veyon-ctl" config set Authentication/Method 0
|
174
|
"C:\Program Files\Veyon\veyon-ctl" config set NetworkObjectDirectory/Plugin {6f0a491e-c1c6-4338-8244-f823b0bf8670}
|
175
|
"C:\Program Files\Veyon\veyon-ctl" config set AccessControl/UserGroupsBackend {6f0a491e-c1c6-4338-8244-f823b0bf8670}
|
176
|
"C:\Program Files\Veyon\veyon-ctl" config set LDAP/BaseDN DC=$ad_dc_1,DC=$ad_dc_0
|
177
|
"C:\Program Files\Veyon\veyon-ctl" config set LDAP/BindDN CN=$directory_admin,CN=Users,DC=$ad_dc_1,DC=$ad_dc_0
|
178
|
"C:\Program Files\Veyon\veyon-ctl" config set LDAP/BindPassword motdepassechiffre
|
179
|
"C:\Program Files\Veyon\veyon-ctl" config set LDAP/ComputerHostNameAttribute cn
|
180
|
"C:\Program Files\Veyon\veyon-ctl" config set LDAP/ComputerRoomAttribute Location
|
181
|
"C:\Program Files\Veyon\veyon-ctl" config set LDAP/ComputerRoomMembersByAttribute true
|
182
|
"C:\Program Files\Veyon\veyon-ctl" config set LDAP/ComputerTree CN=Computers
|
183
|
"C:\Program Files\Veyon\veyon-ctl" config set LDAP/ComputersFilter (objectclass=computer)
|
184
|
"C:\Program Files\Veyon\veyon-ctl" config set LDAP/ConnectionSecurity 1
|
185
|
"C:\Program Files\Veyon\veyon-ctl" config set LDAP/GroupTree CN=Users
|
186
|
"C:\Program Files\Veyon\veyon-ctl" config set LDAP/ServerHost $ldap_ip
|
187
|
"C:\Program Files\Veyon\veyon-ctl" config set LDAP/ServerPort $ldap_port
|
188
|
"C:\Program Files\Veyon\veyon-ctl" config set LDAP/TLSVerifyMode 1
|
189
|
"C:\Program Files\Veyon\veyon-ctl" config set LDAP/UseBindCredentials true,
|
190
|
"C:\Program Files\Veyon\veyon-ctl" config set LDAP/UserGroupsFilter (objectclass=group)
|
191
|
"C:\Program Files\Veyon\veyon-ctl" config set LDAP/UserTree CN=Users
|
192
|
"C:\Program Files\Veyon\veyon-ctl" config set LDAP/UsersFilter (objectclass=user)
|
193
|
"C:\Program Files\Veyon\veyon-ctl" config set AccessControl/AccessRestrictedToUserGroups true
|
194
|
"C:\Program Files\Veyon\veyon-ctl" config set AccessControl/AuthorizedUserGroups CN=professeurs,CN=Users
|
195
|
"C:\Program Files\Veyon\veyon-ctl" config set LDAP/UserLoginAttribute cn
|
196
|
"C:\Program Files\Veyon\veyon-ctl" config set LDAP/GroupMemberAttribute member
|
197
|
"C:\Program Files\Veyon\veyon-ctl" service start
|
198
|
pause
|
199
|
EOF
|
200
|
echo ""
|
201
|
|
202
|
echo "** Exécuter config_veyon.bat sur le client Windows **"
|
203
|
#FIXME déposer le fichier sur le client et exécuter par salt
|
204
|
echo ""
|