Installation et utilisation Serveur et console WAPT
Cette documenation est maintenant caduc !
Je travail maintenant pour tranquil.it et j'ai écrit une nouvelle documentation beaucoup plus complète ici :
Sommaire
- 1 Prélude
- 2 Références
- 3 Serveur WAPT
- 4 Prérequis Wapt
- 5 Installation du service
- 6 Debug en cas de soucis
- 7 Installation client wapt
- 8 Utilisation de la console wapt
- 9 Gestion des Pc et des paquets dans la console
- 9.1 Attribution d'un paquet wapt à un pc pour programmer une installation
- 9.2 Aide pour le débogage
- 9.3 Comprendre la gestion des paquet d'un client
- 9.4 Gestion des MAJ des logiciels
- 9.5 Désinstallation de paquet
- 9.6 Fonction "oubli" de paquet
- 9.7 Inventaire du poste et erreurs
- 9.8 Gestion des logiciels dans des groupes
- 10 Installation et choix des logiciels par l'utilisateur
- 11 Gérer la possibilité de l'annulation par l'utilisateur dans waptexit
- 12 Mettre à jour wapt
- 13 Bien comprendre comment fonctionne wapt
- 14 Dépôt wapt public
Prélude
Vous pouvez vous référer à la documentation officiel de tranquil.it
Cette page est une suite de http://blog.lesfourmisduweb.org/wapt-apt-get-pour-windows/
Je considère ce wiki comme une doc linéaire pour une installation rapide!
Cependant mon tuto wiki n'est pas assez précis, une fois votre "installation test" réalisée avec mon wiki, n’hésitez pas à vous tourner vers les docs plus complète de l’éditeur officiel du projet: https://www.wapt.fr/fr/doc/
Références
Wapt est une solution développée par http://tranquil.it. C'est une solution apt-get sous windows.
Je considère ce wiki comme une doc linéaire pour une installation rapide!
Cependant mon tuto wiki n'est pas assez précis, une fois votre "installation test" réalisée avec mon wiki, n’hésitez pas à vous tourner vers les docs plus complètes de l’éditeur officiel du projet: tranquil.it
Doc d'origine:
Docs vidéos: http://doc.tranquil.it/co/portail.html
Documentation d'origine: https://www.wapt.fr/fr/doc/
Pour profiter de mon dépôt wapt: https://wapt.lesfourmisduweb.org/wapt
Serveur WAPT
WAPT est une solution qui automatise les installations, les désinstallations et les mises à jour de l'ensemble des logiciels sur un parc informatique Windows. Le déploiement de logiciels (Firefox, MS Office,...) à partir d'une console de gestion centrale est maintenant possible. WAPT s'inspire fortement du gestionnaire de paquets du système GNU/Linux Debian apt, d'où son nom.
Prérequis Wapt
Distribution : (visiblement au choix) Ce tuto sera sous un: Debian Wheezy 32 bit Enregistrements DNS Préalable :
srvwapt.stemarieduport.local A 172.30.1.10 wapt.stemarieduport.local CNAME srvwapt.stemarieduport.local
_wapt._tcp.stemarieduport.local. 0 IN SRV 0 0 80 wapt.stemarieduport.local. _waptserver._tcp.stemarieduport.local. 0 IN SRV 0 0 443 wapt.stemarieduport.local.
l'enregistrement SRV sera utile si vous souhaitez utiliser "Detect Record DNS" lors de l'installation des Agents WAPT et console
Tester le DNS sur un future client wapt avec les commandes ci dessous:
nslookup srvwapt.stemarieduport.local. nslookup wapt.stemarieduport.local. nslookup wapt nslookup ipdevotreserveur (pour vérifier si la résolution inverse fonctionne) nslookup ipdevotrepcclient (pour vérifier si la résolution inverse fonctionne)
Si l'une de ces résolutions ne fonctionne pas, il est possible que vous rencontriez des soucis.
Dans la suite du tuto, on peut renseigner le repo comme ceci:
http://172.30.1.10/wapt/ http://wapt.stemarieduport.local/wapt/ http://wapt/wapt/
et pour le renseignement du serveur:
https://172.30.1.10 https://wapt.stemarieduport.local https://wapt
L'utilisation des ip n'est cependant pas recommandée (quelques bugs ont été signalée)
En production j'utilise le nom complet (wapt.mondomaine.fr) Il a l'avantage de fonctionner même si le nslookup wapt ne fonctionne pas.
Installation du service
ATTENTION ! Merci de ne pas installer wapt sur une debian graphique !!!
Cela semble poser problème.
echo "deb http://wapt.tranquil.it/debian/ ./ " > /etc/apt/sources.list.d/wapt.list apt-get update apt-get install tis-waptserver tis-waptrepo tis-waptsetup
Configuration du Serveur WAPT
Lancer ensuite :
/usr/bin/python /opt/wapt/waptserver/scripts/postconf.py
Le mot de passe demandé à l'étape 4 sera pour accéder à la console WAPT sous windows.
Vous pouvez maintenant démarrer le service :
/etc/init.d/waptserver start
Debug en cas de soucis
Vérifiez que le serveur WAPT est lancé dans les processus:
Exécuter la commande:
ps -edf
Sur votre serveur WAPT doit restituer plusieurs lignes telles celles montrées en exemple ci-dessous :
/usr/bin/uwsgi-core -d /var/log/waptserver.log --pidfile /var/run/waptserver.pid --ini /opt/wapt/waptserver/waptserver.ini --uid wapt --gid www-data --plugin http,python
Vérifiez que le serveur WAPT est lancé dans les logs
Exécuter la commande :
cat /var/log/waptserver.log
Vérifier si des erreurs existent.
Installation client wapt
Télécharger maintenant WAPTSetup. Il inclus la console et les outils de base pour la gestion d'un serveur WAPT sous linux.
Vous trouverez la page wapt serveur ici: http://wapt
L'installation de la console est la "waptsetup.exe"
Vous trouverez le lien direct ici:
http://wapt/wapt/waptsetup-tis.exe
Lors de l'installation vous pouvez choisir les options que vous souhaitez.
Puis les infos serveur ("DETECT WAPT INFO WITH RECORD DNS" fonctionne uniquement si vous avez fait les enregistrements SRV _wapt et _waptserver) :
A la fin de l’installation, laissez « Enregistrer l'ordinateur sur le serveur wapt »
Lancer wapttray présent dans « C:\wapt\wapttray.exe »
Puis lancer la console avec l'icone présent dans la barre des taches.
Compléter ensuite les informations demandées comme ceci :
Entrer ensuite le mot de passe que vous avez fournis pour l'installation.
Création d'un certificat auto signé
Une fois la console ouverte nous allons générer notre certificat auto-signé. Celui-ci permet de sécuriser l'utilisation de wapt.
Nous allons créer un installateur personnalisé avec la clé publique (crt). Cette installateur n'acceptera que les paquets signés avec le .pem.
Les deux fichiers crt et pem (clé privée) ne doivent sous aucun prétexte être perdus. De la même manière, la création du certificat ne doit se faire qu'une seul fois.
Nous avons donc notre dossier C:\private que nous allons sauvegarder précieusement pour soi.
Vous pouvez constater que le la clé publique crt est également dans :
c:\wapt\ssl
Si vous souhaitez avoir plusieurs dépôts avec plusieurs signatures différentes, il vous faudra stocker les clés publiques acceptées ici Supprimer ici toutes les clés non désirées.
Création de l'installateur personnalisé (waptagent)
Nous allons maintenant créer l'installateur personnalisé (le waptagent) avec le certificat crt intégré.
Renseigner comme ci contre:
MERCI D’ÊTRE PATIENT LORS DE CETTE ETAPE ! CELA PEUT PRENDRE PLUSIEURS MINUTES
La création du waptagent va d'abord créer un paquet waptupgrade et l'uploader sur le serveur.
Le paquet waptupgrade est généré afin de mettre à jour les clients qui ont une version antérieure.
Ceci va aussi créer un installeur waptagent.exe qui sera stocké à l'endroit renseigné ci-dessus.
Il sera aussi envoyé sur le serveur à l'adresse http://wapt/wapt/waptagent.exe
C'est cette installation (la personnalisée) qui est à installer partout (et pas la première). Afin de vérifier que votre certificat est bien intégré, une fois l'installation du waptagent sur une machine effectuée, vérifiez que le certificat est bien présent dans:
C:\wapt\ssl\votrecertificat.crt
Sinon le service wapt vous répondra que le paquet que vous essayez d'installer n'a aucune signature reconnue
Il est possible que le client génère une erreur lorsque qu'il n'a aucun paquet attribué à sa machine (?)
Utilisation de la console wapt
La suite du tuto bascule les préfixes de "smp" en "aiz"
et le serveur de wapt.stemarieduport.local à wapt.stemarie-aizenay.local
J'ai fait le tuto sur plusieurs Etablissements donc les noms changent.
Utilisation en mode simplifié consiste à récupérer des paquets wapt faits par des dev wapt
Configuration de la console pour la duplication de paquets
Configurez donc dans Outils, "Configuration wapt locale".
Rajoutez votre proxy si vous n’accédez pas directement à internet
Le proxy ci-dessous présente un cas dans lequel j'ai besoin de configurer le proxy pour accéder au dépot public (internet), mais pas pour accéder à mon dépôt privé. Adaptez bien sur pour vous.
Duplication de paquet depuis la console
Cliquez ensuite sur dépôt privé, il doit normalement être vide car aucun paquet n'a été ajouté pour le moment. Cliquez ensuite sur "importer depuis un dépôt"
Et double cliquez sur le paquet qui vous intéresse. La console va ensuite vous demander si vous souhaitez dupliquer ce paquet dans votre dépôt.
La duplication consiste à télécharger le paquet, le renommer avec le préfixe que vous avez choisi plus haut, et de le re-signer avec votre propre certificat pour permettre l'installation. (tout cela est transparent pour vous)
Votre paquet apparaît ensuite dans votre dépôt privé.
Gestion des Pc et des paquets dans la console
Attribution d'un paquet wapt à un pc pour programmer une installation
Pour attribuer un paquet wapt à un pc, double cliquer sur celui-ci, puis déplacer le paquet à installer de la colonne "paquets disponibles" à la colonne "Paquet devant être présent sur la machine". (La version du paquet ne compte pas pour le client car le client installe un nom de paquet, explications plus bas)
- Cliquer ensuite sur "Sauver et appliquer sur le poste" si vous souhaitez lancer l'installation immédiatement.
- Ou cliquer sur sauvegarder et attendre que l'ordinateur s’éteigne si vous avez laissé activées les mises à jour à l'extinction du poste.
- Ou cliquer sur sauvegarder et laisser l'utilisateur lancer les mises à jour quand il le souhaite tout seul (à la pose café). Le petit wapttray.exe (si il est bien lancé à l'ouverture de session) affiche un icone d'avertissement quand une mise a jour est disponible, l'utilisateur n'a plus qu'à faire clic-droit sur l'icône et à sélectionner "installer les mises à jour". Cette option est pratique pour les commerciaux par exemple.
A noter que ces options sont toutes activables et ne se gênent pas entre elles.
Vote paquet est ensuite installé
Aide pour le débogage
Edit le 06/02/2015 :
En cas de non fonctionnement suivez ceci :
Je rajoute une aide pour le débogage ici. Wapt a l'avantage de mal fonctionner sur un réseau mal configuré (donc de régler pas mal de soucis)
Je vous invite à relire la partie DNS si vous l'avez zappée. Et donc de faire les vérifications qui s'imposent.
Autres soucis qui peuvent causer divers soucis:
- Le parefeu Windows peut bloquer les connexions de wapt (pour le test, désactivez-le) vous affinerez plus tard.
- Depuis le client, il faut que vous puissiez avoir accès à http://127.0.0.1:8088/status
- Depuis le client, vou pouvez aussi vérifier l'accès serveur à https://wapt/ping (remplacer wapt par le nom de votre serveur et ignorer les erreurs de certificat...)
- Le proxy peut poser des soucis, (un wpad.dat [proxy automatique] mal configuré - qui ne renvoie pas DIRECT pour 127.0.0.1 - peut bloquer l’accès à wapt)
- Mon wpad.dat peut vous aider:
Certaine ligne peuvent paraître inutiles mais ce fichier à l'avantage d'être fonctionnel dans toute circonstance (même pour les podowares ...) )
Alors je précise, bien sûr, adaptez celui-ci à votre réseau ...
function FindProxyForURL(url, host) { // variable strings to return var proxy_yes = "PROXY 172.30.1.4:8080"; var proxy_no = "DIRECT"; // if (isPlainHostName(host)) { return "proxy_no"; } if (shExpMatch(url, "http://127.*:*/*")) { return proxy_no; } if (shExpMatch(url, "https://127.*:*/*")) { return proxy_no; } if (shExpMatch(url, "http://127.*/*")) { return proxy_no; } if (shExpMatch(url, "https://127.*/*")) { return proxy_no; } if (shExpMatch(url, "http://localhost:*/*")) { return proxy_no; } if (shExpMatch(url, "https://localhost:*/*")) { return proxy_no; } if (shExpMatch(url, "http://localhost/*")) { return proxy_no; } if (shExpMatch(url, "https://localhost/*")) { return proxy_no; } if (shExpMatch(url, "http://*.stemarieduport.local/")) { return proxy_no; } if (shExpMatch(url, "http://*.stemarieduport.local:*/*")) { return proxy_no; } if (shExpMatch(url, "https://*.stemarieduport.local:*/*")) { return proxy_no; } if (shExpMatch(url, "http://*.stemarieduport.local/*")) { return proxy_no; } if (shExpMatch(url, "https://*.stemarieduport.local/*")) { return proxy_no; } // vlan serveur ajoutée ici : if (shExpMatch(url, "http://172.30.*:*/*")) { return proxy_no; } if (shExpMatch(url, "https://172.30.*:*/*")) { return proxy_no; } if (shExpMatch(url, "http://172.30.*/*")) { return proxy_no; } if (shExpMatch(url, "https://172.30.*/*")) { return proxy_no; } // Proxy anything else return proxy_yes; }
Si vous utilisez un proxy manuel il faudra grater un peu via les gpo ou réglages manuels, etc, etc
Comprendre la gestion des paquet d'un client
Cette partie est importante et intéressante, j'ai mis un peu de temps a comprendre ceci:
Il faut comprendre que retirer un paquet wapt de la liste des logiciels du pc ne suffit pas pour le désinstaller ni pour empêcher les mises à jour de se faire. Il faut plus voir l'attribution des paqueSt wapt à une machine comme une commande qui dit : Si le paquet "libreoffice" n'est pas attribué, ajoute le à la liste des paquets que je dois maintenir a jour sur cette machine.
Et lorsque l'installation est lancée, le service wapt client de la machine installe le logiciel si le paquet n'a jamais été installé, ou compare la version du paquet wapt déjà installé pour le mettre à jour si besoin.
Ainsi donc lorsque que je supprime un paquet wapt de la liste des "paquets devant être présent sur la machine", si le paquet à déjà été installé, il ne sera pas désinstallé et il continua d'être mis à jour car ce paquet est toujours présent dans sa base de paquets locale sur le client wapt.
Ce type de fonctionnement va nous permettre la fonction "choix des logiciels par l'utilisateur" que nous verrons plus bas.
Gestion des MAJ des logiciels
Lorsque vous mettez à jour un logiciel, vous dupliquez la nouvelle version du dépôt publique dans votre dépôt privé, comme expliqué plus haut. Mais vous n'avez rien a faire de plus. Effectivement, le client wapt va automatiquement installer la dernière version présente dans le dépôt privé. Le fonctionnement se rapproche énormément du apt-get de linux, lorsque vous installez un logiciel sous linux "apt-get install htop" , vous ne précisez pas la version du paquet installé, vous prenez la dernière version disponible et lorsque vous faite un "apt-get upgrade", le client va automatiquement prendre la dernière version dispo.
Désinstallation de paquet
Deux solutions donc pour la désinstallation:
- Dans la console cliquer sur le pc concerné, puis dans la liste des paquets présents sur le poste (a droite) cliquer droit sur le logiciel à désinstaller puis cliquer sur "désinstaller le paquet", le client wapt va d'abord exécuter les instructions de désinstallation puis supprimer le paquet de la liste locale des paquets à maintenir sur le poste. Cette solution n'est possible que si le poste est atteignable depuis le serveur (pas derrière un NAT par exemple)
- La deuxième solution est presque identique: Lorsque vous cliquez droit sur le pc (ou un groupe de pc) vous pouvez sélectionner "Interdire des paquets (force la désinstallation)" qui aura le même résultat que la première solution. Cette solution a l'avantage de fonctionner également si la machine n'est pas directement atteignable. L'option "interdire les paquets "peut être spécifiée pour une sélection de postes, ou dans un groupe de paquets.
Fonction "oubli" de paquet
La fonction oubli de paquet est particulière, elle permet de supprimer un paquet wapt (donc désactiver ses mises à jour) sans désinstaller le logiciel.
Inventaire du poste et erreurs
Dans la console, lorsque l'on clique sur un pc dans la liste des pc, à droite, wapt vous indique, inventaire matériel, inventaire logiciels (installés avec wapt ou non), et les tâches. La partie "tâches" vous permet de visualiser, les tâches du service Wapt en cours, à venir, ou les tâches terminées (erreurs à visualiser si erreurs trouvées).
La grille qui affiche tout le parc est configurable :
- on peut masquer ou faire apparaître les colonnes en fonction de ses besoins avec un clic-droit sur les entêtes de colonne.
- on peut trier sur une des colonnes en cliquant sur l'entête
- on peut changer l'ordre des colonnes et leur largeur
Si vous souhaitez afficher en colonne une information de l'inventaire "matériel", vous pouvez ajouter une colonne en faisant un glisser/déposer de cette information dans la grille.
Une colonne est ajoutée à droite dans la grille.
Gestion des logiciels dans des groupes
Pour la gestion des logiciels, WAPT met a disposition la gestion de groupe de logiciel.
Principe vous pouvez créer des groupe de logiciel, par exemple pour moi c'est "administratif" et "pédagogique"
Il ne vous reste plus qu'a appliquer ce groupe aux pc concerné.
Les groupes ce comporte de la même manière que des paquet wapt logiciel.
Installation et choix des logiciels par l'utilisateur
L'une des fonctions de wapt consiste à laisser le choix à l'utilisateurs d'installer ses propre logiciel, à condition qu'il soit dans le dépôt privé de wapt. Avec le C:\wapt\wapttray.exe (lancé automatiquement au démarrage si laissé activé). faite clic-droit sur l'icône wapt et cliquez sur "Voir le status des logiciels"
Une fois sur la page web, cliquez sur liste des paquets. L'utilisateur peut ensuite cliquer sur "installer" sur le logiciel concerné. Il lui faudra ensuite rentrer un nom d'utilisateur et un mot de passe autorisé pour faire cette action.
Un utilisateur est autorisé à installer ou enlever un paquet si :
- il fait partie des "administrateurs locaux" de la machine (dans un environnement AD, cela inclut les administrateurs du domaine)
- ou il est membre d'un groupe local ou Active Directory nommé "waptselfservice"
Pour bien comprendre , lire "Comprendre la gestion des paquets d'un client" de cette page.
Gérer la possibilité de l'annulation par l'utilisateur dans waptexit
L'ajout de "allow_cancel_upgrade = 0" dans le fichier c:\wapt\wapt-get.ini interdit a l'utilisateur d'annuler l'installation lors du lancement de waptexit (installation a l'extinction du poste)
L'ajout de "allow_cancel_upgrade = 1" dans le fichier c:\wapt\wapt-get.ini laisse la possibilités pour l'utilisateur d'annuler l'installation lors du lancement de waptexit.
Pour un déploiement du paramètre automatique, vous pouvez utiliser le paquet smp-allow_cancel_upgrade sur mon dépôt (http://wapt.lesfourmisduweb.org/wapt/)
L'installation du paquet interdit a l'utilisateur d'annuler l'installation lors du lancement de waptexit (installation a l'extinction du poste)
La désinstallation du paquet laisse la possibilités pour l'utilisateur d'annuler l'installation lors du lancement de waptexit.
Mettre à jour wapt
Relancer un:
apt-get update apt-get upgrade
Cela devrait mettre à jour les paquets tis-waptrepo, tis-waptserver et tis-waptsetup.
Télécharger le waptsetup mis à jour sur votre serveur:
http://wapt/wapt/waptsetup-tis.exe
Lancer l'installation et recréer une installation personnalisée depuis la nouvelle waptconsole (Outils/Créer un agent WAPT)
Bien sûr, ne pas recréer de paire clés, utilisez celle que vous avez déjà (dans c:\private)
Celui ci va donc créer un paquet -waptupgrade. Ajouter ce paquet aux postes qui doivent être mis à jour (ou mieux, à un paquet groupe qui est présent sur tous les postes)
Le nouvel installateur de l'agent wapt se trouve ici: http://wapt/wapt/waptagent.exe pour les nouveaux postes à équiper de Wapt.
Bien comprendre comment fonctionne wapt
Pour continuer, il est nécessaire de bien comprendre comment fonctionne wapt
Je vous invite donc a lire Comprendre le fonctionnement "moteur" de wapt
Dépôt wapt public
Le but est de faire un dépôt extérieur, sans forcement installer un serveur wapt entier.
Installer uniquement wapt
# echo "deb http://wapt.tranquil.it/debian/ ./ " > /etc/apt/sources.list.d/wapt.list # apt-get update # apt-get install tis-waptrepo
Attention! De base, cela va modifier vos réglages apache, installer wapt dans /var/www/ et modifier les droit actuel dans /var/www/
Déposez vos .wapt dans le dossier adapté (de base dans /var/www)
Une fois les .wapt déposé, nous allons lancer créer le fichier "Packages"
Lancer le script :
/usr/bin/python /opt/wapt/wapt-scanpackages.py /var/www/votre/chemin/perso/
Votre dépôt peut maintenant être disponible au public