[Tuto] Déploiement par GPO [résolu]

Vos requêtes concernant Mozilla Firefox, le navigateur Gecko alternatif, ne trouvèrent point de réponses lorsque vous cherchâtes ? Toute l'équipe Geckozone est prête à vous aider.

Modérateurs : myahoo, nico@nc, Mori, jpj

JosephK
Salamandre
Messages : 24
Inscription : 14 févr. 2008, 14:10

[Tuto] Déploiement par GPO [résolu]

Message par JosephK »

J'avais cherché ici s'il y avait un méthode à peu près officielle pour faire des installations massives et personnalisées de Firefox mais j'ai rien trouvé de convaincant. Bref, je vous fait partager la méthode que j'ai élaboré à force de fouiller.

J'avais déjà proposé une installation sur un dossier partagé du réseau mais apparemment selon la taille du réseau, ça peut ne pas fonctionner convenablement et comme le dit un de mes collègues, c'est quand même dommage, lorsqu'on promeut le libre, de ralentir le chargement de Firefox au point de le rendre plus lent qu'Internet Explorer.

Bref, voilà les deux tutoriels (sous windows) se ressemblent, mais pour le déploiement par GPO j'ai découvert comment fonctionnait l'installeur, ça facilite un peu la tâche :

Préparation de l'installeur

Téléchargez le fichier d'installation sur le site officiel de Firefox puis lancez l'extraction avec 7-Zip. En temps normal, lorsque vous cliquez sur Firefox Setup 3.x l'extraction se fait et les fichiers sont stocké dans "C:\Documents and Settings\votre_login\Local Settings\Temp", donc vous pouvez aussi les récupérer par là au cours du processus d'installation (attendez simplement avant de cliquer lorsqu'il vous souhaite la bienvenue :) ).

Créez un dossier Firefox dans Netlogon (chez moi je mets tout dans un sous-dossier Pkg pour tout ce qui concerne les déploiements) et copiez tout ce que vous venez d'extraire.

Dans le dossier extrait il y a 3 dossiers (localized, nonlocalized et optional), un fichier log et le fichier setup.exe qui est exécuté en temps normal après cette extraction préliminaire. Ces trois dossiers contiennent les fichiers qui sont par la suite copiés et fusionnés dans "C:\Program Files\Mozilla Firefox" lorsqu'on laisse la procédure suivre son cour. On peut donc agir dessus et lancer l'installation avec tout les paramètres personnalisés qu'on veut. Ce qui va suivre est donc un copier/coller de la procédure de personnalisation de l'installation en mode partagé

Personnalisation du profile par défaut

Sur un poste ayant déjà Firefox d'installé en local, personnalisez au maximum le profile pour offrir aux utilisateurs un profil qui corresponde le mieux à votre établissement : ajoutez les extensions voulues, les marques-pages, ajoutez/supprimez des boutons de la barre d'outil... Une fois que le profil est parfait. Allez chercher son contenu dans "C:\Documents and Settings\votre_login\Application Data\Mozilla\Firefox\Profiles\********.default" et copiez-le dans "\\votre_serveur\Netlogon\Pkg\Firefox\localized\defaults\profile". A cette étape chaque nouvel utilisateur se verra attribué ce profile par défaut. Le problème c'est qu'il ne faut pas qu'il puisse modifier le proxy, importer les paramètres d'Internet Explorer ou autre.

Cette procédure fonctionne partout, même lorsque vous vous en servez pour une installation en local

Seulement, il est aussi possible de copier le dossier "C:\Documents and Settings\votre_login\Application Data\Mozilla" dans le dossier "Application Data" de "Default User" (profile modèle, de préférence à centraliser sur Netlogon) mais sur la version 6 de Magret, le rapatriement du profile est éclaté sur plusieurs dossiers (entre AppData, NTconf/Application Data et AppData/Locset) et il semble que le fichier "profile.ini" ne fasse pas pointer l'emplacement du profile au bon endroit du coup Firefox en recrée un à partir de son profil modèle interne. Vous vous retrouvez donc avec deux profiles dans le dossier utilisateur dont un qui n'est pas utilisé. (Firefox peut accepter plusieurs profiles pour une même session il suffit de lui ajouter "-p emplacement_du_profil" en paramètre).
Avec la version 7 de Magret on n'a plus ce problème (le profile utilisateur est entièrement stocké dans Winconf). Donc là c'est à vous de voir ce que vous préférez, sachant que dans ce cas là le profile contenu dans Default User prendra toujours l'ascendant sur le profile interne.

Verrouillage de certains paramètres

Le verrouillage s'apparente à ce qu'il est possible de faire avec des stratégies de groupe lorsqu'on installe la version Frontmotion de Firefox à ceci près que vous contrôlez tous les paramètres.

Donc, pour ça on va créer un fichier "mozilla.txt" dans le dossier "\\votre_serveur\Netlogon\Pkg\Firefox\nonlocalized\" qui va contenir les règles de configuration. Par exemple :

Code : Tout sélectionner

// 
lockPref("network.proxy.type", 2); 
lockPref("network.proxy.autoconfig_url", "http://10.0.0.10/cgi-bin/slis.pac"); 
lockPref("browser.startup.homepage", "http://fr.wikipedia.org/wiki/Accueil"); 
lockPref("browser.download.dir", "P:\\"); 
lockPref("browser.shell.checkDefaultBrowser", false); 
lockPref("app.update.enabled", false);
Dans cet exemple, les deux premières lignes définissent l'utilisation du proxy via l'adresse de configuration automatique, ensuite la page d'accueil par défaut, le dossier par defaut pour les téléchargements et Firefox ne vérifie pas s'il est le navigateur par défaut ni s'il existe des mises à jour... Il faut impérativement ajouter les // au début du fichier.
Pour désactiver l'ajout d'extensions ou de thèmes (perso, j'aime autant le laisser pour que Firefox ne ressemble pas trop à Internet Explorer ;) ) :

Code : Tout sélectionner

lockPref("xpinstall.enabled", false); 
Pour obtenir la liste des paramètres que vous pouvez bloquer ça se passe dans "about:config" (à taper dans la barre d'adresse) ou dans le fichier prefs.js de votre profile. Toute les modifications de configuration (par rapport à celle par défaut) que vous effectuez apparaissent en gras dans "about:config" ou sont stockées dans le fichier pref.js sous la forme "user_pref("clé", "valeur");" (il suffit donc de remplacer user_pref par lockPref dans le fichier mozilla.txt en fonction des paramètres à désactiver).

Une fois que vous avez défini la liste des paramètres verrouillés, ouvrez le fichier "\\votre_serveur\Netlogon\Pkg\Firefox\nonlocalized\greprefs\all.js" et ajoutez la ligne "pref("general.config.filename", "mozilla.cfg");" à la fin du fichier pour que Firefox applique ces préférences à tous les utilisateurs.
Il faut donc créer le fichier mozilla.cfg à partir du fichier mozilla.txt. Seulement, par défaut le fichier doit être crypté. Vous pouvez le faire en ligne à cette adresse.
Si le cryptage vous importe peu, vous pouvez aussi le désactiver : dans all.js, cherchez la ligne "pref("general.config.obscure_value", 13);" et remplacez 13 par 0 ; il ne reste plus qu'à renommer "mozilla.txt" en "mozilla.cfg"

Assistant d'importation

Pour bloquer l'Assistant d'importation, qui permet à l'utilisateur d'importer les paramètres d'autres navigateur lors du premier lancement de Firefox (et donc ruiner tout le travail effectué sur la personnalisation du profile), ça se passe dans un autre fichier de configuration : "application.ini"

Il faut simplement remplacer le 1 par 0 à la ligne :

Code : Tout sélectionner

[XRE]
EnableProfileMigrator=1
Déploiement final

À ce stade, le fichier setup.exe permet d'installer votre version personnalisée de Firefox en mode graphique. Vous pouvez transporter le dossier Firefox sur une station qui n'a pas vocation à être connectée au réseau vous pourrez l'installer de la même manière, ce n'est absolument pas spécifique à une installation réseau.

Pour une installation silencieuse, créez un script .bat contenant ces lignes :

Code : Tout sélectionner

if not exist "C:\Program Files\Mozilla Firefox" \\votre_serveur\Netlogon\Pkg\Firefox\setup.exe /S
set valeur=reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox" /v CurrentVersion
set version=findstr /I /L /C:"REG_SZ"
for /f "tokens=1,2,3" %%a in ('%valeur%^|%version%') do if %%c neq 3.0.10 \\votre_serveur\Netlogon\Pkg\Firefox\setup.exe /S
La première ligne, vérifie si Firefox a déjà été installé et si ce n'est pas le cas, il s'installe. La deuxième (jusqu'à la fin) permet de vérifier dans la base de registre qu'on a bien la dernière version (ici 3.0.10 ) et si ce n'est pas le cas, il se met à jour.
Pour passer des paramètres supplémentaires, voir la doc chez Mozilla

Ensuite, pour le déploiement à proprement parler, procédez à la procédure habituelle pour le déploiement des .exe.
Si l'installation doit s'effectuer sur l'ensemble d'un réseau Magret, vous pouvez aussi ajouter ces lignes au fichier magsys.bat dans Netlogon c'est quand même plus rapide et peut-être moins angoissant :) .

Bonus : Faire de Firefox le navigateur par défaut

Ajouter à la fin du script cette ligne :

Code : Tout sélectionner

"C:\Program Files\Mozilla Firefox\firefox.exe" -silent -setDefaultBrowser
EDIT sur le verrouillage des paramètres : Au collège, la taille des profiles de session des élèves dépasse les 50Mo ce qui génère des alertes de Magret. Je me suis penché dessus, c'est dû au fichier "urlclassifier3.sqlite". Ce fichier contient la base de donnée des sites malveillants et, comme il est régulièrement mis à jour, la taille de la base de donnée augmente et peut atteindre les 50Mo. En supprimant le fichier urlclassifier3.sqlite de mon profile perso, je passe de 97Mo à 45,7Mo. (supprimer n'est pas un problème : le fichier se réinitialise)

Pour l'empêcher de gonfler, il faut donc cocher dans "Options > Sécurité" les deux cases "Signaler si le site que je visite...".
Pour verrouiller ces deux paramètres dans une utilisation en réseau, il faut ajouter dans le fichier mozilla.cfg ces lignes :

Code : Tout sélectionner

lockPref("browser.safebrowsing.enabled", false); 
lockPref("browser.safebrowsing.malware.enabled", false);
On désactive, de fait, la surveillance des sites visités, mais a priori les élèves n'ont pas l'intention d'utiliser de carte bancaire et le proxy sert déjà à filtrer les url donc bon, si ça peut accélérer le chargement du panda dans la foulée...

On peut aussi automatiser le vidage du cache à la fermeture de Firefox (inutile si on a déjà spécifié un emplacement local pour le cache) pour éviter d'avoir des alertes de Magret (quelques options pour "Effacer mes traces") :

Code : Tout sélectionner

lockPref("privacy.item.cache", true); 
lockPref("privacy.sanitize.promptOnSanitize", false);
lockPref("privacy.sanitize.sanitizeOnShutdowntize", true);
Pour empêcher les phénomènes d'échos (apparente usurpation d'identité) lorsqu'on navigue sur l'ENT de l'académie de Toulouse (fiche officielle) :

Code : Tout sélectionner

lockPref("browser.cache.check_doc_frequency", 1); 
lockPref("browser.cache.disk_cache_ssl", true);
lockPref("browser.cache.disk.parent_directory", "C:\\Cache");
lockPref("browser.cache.disk.capacity", 50000);
Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9.0.10) Gecko/2009042523 Ubuntu/9.04 (jaunty) Firefox/3.0.10
Dernière modification par JosephK le 19 juin 2009, 23:00, modifié 2 fois.
Jim
Tyrannosaurus Rex
Messages : 3228
Inscription : 20 juil. 2005, 14:34

Message par Jim »

Bonjour,

Nous avons eu sur ce forum plusieurs fois des demandes d'aide pour le déploiement en entreprise...

Ce tuto est bien détaillé et parait répondre à ce besoin.

Il a été fait pour un réseau de quelle taille? le déploiement s'est fait en combien de temps?
A tester et à garder en archive pour une future demande.

Merci.
Image
JosephK
Salamandre
Messages : 24
Inscription : 14 févr. 2008, 14:10

Message par JosephK »

L'établissement dans lequel je bosse contient une centaine de machine sur la partie pédagogique et le serveur de fichier est sous windows 2003.

En fait, dans le tutoriel, la taille du réseau importe pas tellement. La méthode utilisée pour le déploiement est tout ce qu'il y a de plus traditionnelle. L'installation est effective après un ou deux redémarrage des ordis donc ça peut aller très vite si les machines sont régulièrement utilisées. (J'ai jamais bossé en entreprise alors j'ai pas vraiment de point de comparaison)

Ce qui compte surtout c'est de pouvoir préparer une seule fois Firefox pour qu'il s'installe partout de manière homogène et surtout personnalisée.

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9.0.10) Gecko/2009042523 Ubuntu/9.04 (jaunty) Firefox/3.0.10
korossa
Arias
Messages : 5
Inscription : 23 juil. 2009, 14:46

Re: [Tuto] Déploiement par GPO

Message par korossa »

Bonjour,

Je rencontre une erreur lors du lancement de Firefox.
" erreur de lecture du fichier de configuration, contacter votre administrateur système"
Apparemment il n'arrive pas à lire le contenu de mozilla.cfg
J'ai d'abords cru que c'était du à une erreur de syntaxe mais ça n'est pas le cas. J'ai ensuite allégé au maxi les paramètres à locker dans ce fichier en laissant uniquement "network. proxy. autoconfig_url" et "network.proxy.type" (valeur à 2)
---> Résultat: pas de message d'erreur lors de l'ouverture de firefox, mais la config n''est pas prise en compte.

Quelqu'un pourrait t-il m'aider ?
Par avance, merci.
JosephK
Salamandre
Messages : 24
Inscription : 14 févr. 2008, 14:10

Re: [Tuto] Déploiement par GPO

Message par JosephK »

korossa a écrit :J'ai ensuite allégé au maxi les paramètres à locker dans ce fichier en laissant uniquement "network. proxy. autoconfig_url"
Les espaces après les points c'est dans le copier/coller ? si c'est tel quel dans le fichier mozilla.cfg alors c'est peut-être de là que vient le problème.

Tu pourrais faire une copie de ton mozilla.cfg de départ pour qu'on puisse corriger le problème sinon ?
korossa
Arias
Messages : 5
Inscription : 23 juil. 2009, 14:46

Re: [Tuto] Déploiement par GPO

Message par korossa »

Bonjour JosephK,

J'ai enfin trouvé ce qui n'allait pas !
En effet j'éditais mon fichier cfg à partir d'un wordpad . J'ai essayé avec un notepad, le résultat fut le même.
J'ai ensuite essayé avec notepad ++ et là tout a fonctionné.
J'ai donc crée mon fichier de conf à partir de notepad ++ et les paramètres de verrouillage ont été pris en compte.

Un grand merci pour tout Tuto qui est très bien fait.

Bonne journée à tous.
Christian 01
Arias
Messages : 3
Inscription : 27 avr. 2009, 12:22

Re: [Tuto] Déploiement par GPO [résolu]

Message par Christian 01 »

Bonjour,

Peut on utiliser ce que vous décrivez dans votre tuto pour modifier le port SMTP dans pref.js de Thunderbird.
Je souhaite modifier le port SMPT d'une centaine de clients thunderbird sur un réseau en W2003.
Cordialement
JosephK
Salamandre
Messages : 24
Inscription : 14 févr. 2008, 14:10

Re: [Tuto] Déploiement par GPO [résolu]

Message par JosephK »

Firefox et Thunderbird étant structurés de la même manière, c'est à tester mais je pense que oui ça devrait marcher.
En faisant une petite recherche je suis tombé sur ce site [en]. Là c'est un fichier "thunderbird.cfg" mais, à vrai dire, le nom importe peu puisqu'il faut le spécifier dans "all.js"
Christian 01
Arias
Messages : 3
Inscription : 27 avr. 2009, 12:22

Re: [Tuto] Déploiement par GPO [résolu]

Message par Christian 01 »

Merci, je test sur quelques postes.
deploiement en gardant le profils de chaque utilisateur

Re: [Tuto] Déploiement par GPO [résolu]

Message par deploiement en gardant le profils de chaque utilisateur »

Bonjour,
Je déploie firefox 3.5.5 mais il y a un nouveau profil de créer.Comment faire pour que chaque utilisateur garde son profil lors du déploiement sans manipulation de l'utilisateur.

merci
JosephK
Salamandre
Messages : 24
Inscription : 14 févr. 2008, 14:10

Re: [Tuto] Déploiement par GPO [résolu]

Message par JosephK »

Normalement il ne doit pas y avoir de nouveau profil de créé sauf si vous utilisez déjà un profile de session windows centralisé qui contiendrait le profile mozilla ou s'il y en a un dans "default user". dans un cas comme dans l'autre, il semble qu'il y ait conflit entre les deux manières de créer le profile.
Si ça peut aider, lorsqu'il y a plusieurs dossiers de profile, on peut savoir quel est celui qui est utilisé en regardant le fichier profiles.ini de l'utilisateur.
rfn
Varan
Messages : 1545
Inscription : 14 août 2005, 17:21

Re: [Tuto] Déploiement par GPO [résolu]

Message par rfn »

Outre le déploiement par GPO, si le tuto pouvait expliquer comment faire les mises à jour sur un serveur interne (tous les réseaux ne sont pas interconnectés avec Internet), ce serait la cerise sur le gâteau.


[Edit] Petite remarque:
Pour l'appel des profils, j'ai signalé dans d'autres topics que sous Windows 7, il semble ne pas falloir mettre d'espace entre le "-p" et le nom du profil...
Image
Ben oui mais non ...
JosephK
Salamandre
Messages : 24
Inscription : 14 févr. 2008, 14:10

Re: [Tuto] Déploiement par GPO [résolu]

Message par JosephK »

rfn a écrit :Outre le déploiement par GPO, si le tuto pouvait expliquer comment faire les mises à jour sur un serveur interne (tous les réseaux ne sont pas interconnectés avec Internet), ce serait la cerise sur le gâteau.
Déployer ou mettre à jour par GPO ça revient au même non ? De plus, pas sûr qu'une mise à jour automatique ne foute pas en l'air le profile modèle et autres paramètres personnalisés... Par défaut je préfère désactiver cette fonction et faire les mise à jour manuellement pour être sûr qu'elle n'entraîne pas de comportement non désiré.

Cela dit, pour répondr eà la question, après un petit coup d'œil dans about:config, il y a une ligne app.update.url avec l'adresse utilisée pour les mises à jour :

Code : Tout sélectionner

https://aus2.mozilla.org/update/3/%PRODUCT%/%VERSION%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/update.xml
Donc il suffirait de remplacer le début par une adresse locale et placer les .exe de mise à jour suivant la même arborescence (tout les truc avec les % :) ) et on verrouillerait la ligne dans le fichier mozilla.cfg
Pour les infos contenues dans l'url il suffit de mettre 1 firefox à jour pour récupérer l'ensemble des variables (tout les truc avec des %). A priori elles doivent servir pour regénérer les informations dans le fichier update.xml pour des mises à jour ultérieures.
Bon ça reste à tester...
Index

Re: [Tuto] Déploiement par GPO [résolu]

Message par Index »

JosephK a écrit :Assistant d'importation

Pour bloquer l'Assistant d'importation, qui permet à l'utilisateur d'importer les paramètres d'autres navigateur lors du premier lancement de Firefox (et donc ruiner tout le travail effectué sur la personnalisation du profile), ça se passe dans un autre fichier de configuration : "application.ini"

Il faut simplement remplacer le 1 par 0 à la ligne :

Code : Tout sélectionner

[XRE]
EnableProfileMigrator=1
Comment faire pour implanter ce changement de valeur dans un script d'ouverture de session en .bat ?
JosephK
Salamandre
Messages : 24
Inscription : 14 févr. 2008, 14:10

Re: [Tuto] Déploiement par GPO [résolu]

Message par JosephK »

C'est un paramètre qui s'applique à la machine pas à l'utilisateur : le fichier est dans C:\Program Files\Mozilla Firefox\ pas dans le profile de l'utilisateur donc un script .bat à l'ouverture de session serait inefficace selon la manière dont sont gérés les droits des utilisateurs.
Si c'est juste pour corriger ça une simple copie du fichier suffit.
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Google [Bot] et 7 invités