<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
		<id>https://wiki.kogite.fr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pierrick</id>
		<title>wikiGite - Contributions de l’utilisateur [fr]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.kogite.fr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pierrick"/>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Sp%C3%A9cial:Contributions/Pierrick"/>
		<updated>2026-06-21T07:56:37Z</updated>
		<subtitle>Contributions de l’utilisateur</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Serveur_d%27impression_(cups_%2B_samba)_sur_debian_6.0&amp;diff=5869</id>
		<title>Serveur d'impression (cups + samba) sur debian 6.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Serveur_d%27impression_(cups_%2B_samba)_sur_debian_6.0&amp;diff=5869"/>
				<updated>2014-02-07T16:40:04Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : /* Forcer impression en Recto/Verso */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Prérequis ==&lt;br /&gt;
Un serveur samba fonctionnel. Dans notre cas l'admin du domaine samba est l'utilisateur administrateur.&lt;br /&gt;
&lt;br /&gt;
== CUPS ==&lt;br /&gt;
Installer cups:&lt;br /&gt;
 aptitude install cups.&lt;br /&gt;
&lt;br /&gt;
Éditer le fichier /etc/cups/raw.convs et vérifier que cette ligne est décommenté :&lt;br /&gt;
 application/octet-stream	application/vnd.cups-raw	0	-&lt;br /&gt;
&lt;br /&gt;
Éditer le fichier /etc/cups/raw.types et verifier que cette ligne est décommenté :&lt;br /&gt;
 application/octet-stream&lt;br /&gt;
&lt;br /&gt;
== SAMBA ==&lt;br /&gt;
Ajouter l'utilisateur administrateur au groupe lpadmin :&lt;br /&gt;
 adduser administrateur lpadmin&lt;br /&gt;
&lt;br /&gt;
Ajouter ceci dans /etc/samba/smb.conf :&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
[global]&lt;br /&gt;
 load printers = Yes&lt;br /&gt;
 printing = cups&lt;br /&gt;
 printcap name = cups&lt;br /&gt;
 #même nom d'imprimantes entre cups et samba&lt;br /&gt;
 force printername = yes&lt;br /&gt;
&lt;br /&gt;
[printers]&lt;br /&gt;
  comment = Imprimantes&lt;br /&gt;
  path = /var/spool/samba&lt;br /&gt;
  browseable = yes&lt;br /&gt;
  public = yes&lt;br /&gt;
  guest ok = yes&lt;br /&gt;
  writable = no&lt;br /&gt;
  printable = yes&lt;br /&gt;
  use client driver = no&lt;br /&gt;
&lt;br /&gt;
[print$]&lt;br /&gt;
  comment = drivers pour imprimantes&lt;br /&gt;
  path = /var/lib/samba/drivers&lt;br /&gt;
  browseable = yes&lt;br /&gt;
  guest ok = yes&lt;br /&gt;
  read only = yes&lt;br /&gt;
  write list = administrateur, root&lt;br /&gt;
  inherit permissions = yes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis donner les droits d'accès au répertoire :&lt;br /&gt;
 chmod 1777 /var/spool/samba&lt;br /&gt;
(Le « 1 » de 1777 empêche que les fichiers soient effacés par d'autres utilisateurs que le propriétaire du fichier)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Imprimantes ==&lt;br /&gt;
=== Push automatique des drivers Windows ===&lt;br /&gt;
&lt;br /&gt;
Créer l'arborescence de stockage des drivers windows pour samba dans /var/lib/samba/drivers :&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 COLOR&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 IA64&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 W32ALPHA&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 27 déc$tabLigneTmp\[5\].  10:40 W32MIPS&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 W32PPC&lt;br /&gt;
 drwxrwsrwx 3 root root 4096 27 déc.  17:32 W32X86&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 WIN40&lt;br /&gt;
 drwxrwsrwx 3 root root 4096 27 déc.  17:32 x64&lt;br /&gt;
&lt;br /&gt;
On peut la créer facilement grâce à ce script :&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
BASEDIR=/var/lib/samba/drivers;&lt;br /&gt;
if [ -e $BASEDIR ]&lt;br /&gt;
	then&lt;br /&gt;
		mkdir $BASEDIR&lt;br /&gt;
fi&lt;br /&gt;
for X in COLOR IA64 W32ALPHA W32MIPS W32PPC W32X86 WIN40 x64; do &lt;br /&gt;
  mkdir -p $BASEDIR/$X;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Créer maintenant le répertoire qui accueillera les drivers Windows dans Cups :&lt;br /&gt;
 mkdir -p /usr/share/cups/drivers/x64&lt;br /&gt;
&lt;br /&gt;
* Ajout du driver PostScript Windows 32bit &lt;br /&gt;
Pour le 32bit récupérer ces fichiers sur un système windows 32bit dans %WINDIR%\SYSTEM32\SPOOL\DRIVERS\W32X86\3 et les mettre dans /usr/share/cups/drivers/ : &amp;lt;br/&amp;gt;&lt;br /&gt;
Pour le 64bit récupérer ces fichiers sur un système windows 64bit dans %WINDIR%\SYSTEM32\SPOOL\DRIVERS\X64\3 et les mettre dans /usr/share/cups/drivers/x64 :&lt;br /&gt;
    ps5ui.dll&lt;br /&gt;
    pscript.hlp&lt;br /&gt;
    pscript.ntf&lt;br /&gt;
    pscript5.dll&lt;br /&gt;
'''!!!ATTENTION!!! Ces fichiers sont en MAJUSCULE sur Windows. Il est nécessaire de les mettre en minuscule sinon cupsaddsmb ne les exportera pas.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Ajout du driver postscript Cups V6 pour Windows&lt;br /&gt;
Afin d'avoir plus de fonctionnalités (comptage des pages, labels, la mise en attente...), il est possible d'ajouter en complément le driver PostScript de Cups.&lt;br /&gt;
&lt;br /&gt;
Pour le 32bit récupérer ces fichiers sur http://svn.easysw.com/public/windows/trunk/i386/ et les mettre dans /usr/share/cups/drivers/ : &amp;lt;br/&amp;gt;&lt;br /&gt;
Pour le 64bit récupérer ces fichiers sur http://svn.easysw.com/public/windows/trunk/x64/ et les mettre dans /usr/share/cups/drivers/x64 :&lt;br /&gt;
    cups6.inf&lt;br /&gt;
    cups6.ini&lt;br /&gt;
    cupsps6.dll&lt;br /&gt;
    cupsui6.dll&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
L'installation des imprimantes peut maintenant se faire sur l'interface web de Cups. Lors de la sélection du fichier PDD, il est recommandé de mettre un fichier PPD officiel afin d'avoir toutes les fonctionnalités de l'imprimante (Le comptage des pages par exemple). Ce fichier PPD peut être trouvé dans l'archive contenant les drivers PostScript pour Windows.(Fonctionne sur une Toshiba e-Studio222cs)&lt;br /&gt;
 &lt;br /&gt;
Il faut maintenant exporter les imprimantes et les drivers sous samba : &lt;br /&gt;
 service samba restart&lt;br /&gt;
 service cups restart&lt;br /&gt;
 cupsaddsmb -H localhost -U administrateur -v -a&lt;br /&gt;
&lt;br /&gt;
Pour vérifier la bonne installation des drivers :&lt;br /&gt;
&lt;br /&gt;
 rpcclient localhost&lt;br /&gt;
      &amp;gt; enumprinters&lt;br /&gt;
      &amp;gt; enumdrivers&lt;br /&gt;
&lt;br /&gt;
Les drivers seront automatiquement envoyé sur Windows lors de l'installation d'une imprimante sur Windows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Statistiques d'impressions ==&lt;br /&gt;
&lt;br /&gt;
http://phpprintanalyze.sourceforge.net/ : stat web cups&lt;br /&gt;
Phpprintanalyse est une interface web pour cups permettant d'analyser le fichier page_log et de faire des graphiques.&lt;br /&gt;
&lt;br /&gt;
Le serveur de statistiques se trouvant sur une autre machine , ajouter cette section dans /etc/cups/cupsd.conf afin que la page $IP_CUPS:631/admin/log/page_log soit accessible sans mot de passe : &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Location /admin/log&amp;gt;&lt;br /&gt;
 Order allow,deny&lt;br /&gt;
 Allow from 192.168.0.5&lt;br /&gt;
 &amp;lt;/Location&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 cd /var/www/&lt;br /&gt;
&lt;br /&gt;
=== Installation de phpPrintAnalyser ===&lt;br /&gt;
 wget http://sourceforge.net/projects/phpprintanalyze/files/phpPrintAnalyzer/1.2/phpPrintAnalyzer-1.2.tar.gz&lt;br /&gt;
 tar xvzf phpPrintAnalyzer-1.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
=== Installation de jpGraph ===&lt;br /&gt;
 aptitude install php5-gd&lt;br /&gt;
 wget --content-disposition http://jpgraph.net/download/download.php?p=1&lt;br /&gt;
 tar xvzf jpgraph-3.0.7.tar.gz&lt;br /&gt;
 mv jpgraph-3.0.7 jpgraph &lt;br /&gt;
&lt;br /&gt;
 chown -R www-data:www-data jpgraph phpPrintAnalyzer&lt;br /&gt;
&lt;br /&gt;
=== configuration ===&lt;br /&gt;
 cd /var/www/phpPrintAnalyzer/inc/&lt;br /&gt;
 cp config.inc.php.sample config.inc.php&lt;br /&gt;
 vim config.inc.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Problème de colonnes ====&lt;br /&gt;
Problème de décalage des colonnes entre les logs et le script php&lt;br /&gt;
===== Solution 1 =====&lt;br /&gt;
Ajouter cette ligne à la fin du fichier /etc/cups/cupsd.conf :&lt;br /&gt;
&lt;br /&gt;
 PageLogFormat %p %u %j %T %P %C %{job-billing} %{job-originating-host-name} %{job-name} %{media} %{sides}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Solution 2 =====&lt;br /&gt;
Modification a faire dans index.php :&lt;br /&gt;
* Utilisateurs : &amp;lt;br/&amp;gt;&lt;br /&gt;
remplacer $tabLigneTmp[1] par $tabLigneTmp[2]&lt;br /&gt;
 :%s/$tabLigneTmp\[1\]/$tabLigneTmp\[2\]/g&lt;br /&gt;
&lt;br /&gt;
sauf la première ligne :&lt;br /&gt;
 $tabLigneTmp[1] = strtolower($tabLigneTmp[1]);&lt;br /&gt;
&lt;br /&gt;
* Nombre de pages : &amp;lt;br/&amp;gt;&lt;br /&gt;
Remplacer $tabLigneTmp[6] par $tabLigneTmp[5]&lt;br /&gt;
 :%s/$tabLigneTmp\[6\]/$tabLigneTmp\[5\]/g&lt;br /&gt;
&lt;br /&gt;
== TIPS ==&lt;br /&gt;
===Installer automatiquement une imprimante sous windows ===&lt;br /&gt;
&amp;lt;source lang=winbatch&amp;gt;&lt;br /&gt;
rundll32 printui.dll,PrintUIEntry /in /n \\SERVEUR\NOM_DE_IMP&lt;br /&gt;
rundll32 printui.dll,PrintUIEntry /in /n  \\SERVEUR\NOM_DE_IMP /y&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Interface web de cups en français ===&lt;br /&gt;
source http://www.cups.org/str.php?L3840&lt;br /&gt;
&lt;br /&gt;
 cd /usr/share/cups&lt;br /&gt;
&lt;br /&gt;
Télécharger la traduction en fonction de la version de Cups ( 1.4 sous Debian Squeeze) :&lt;br /&gt;
 wget http://www.cups.org/strfiles/3840/fr.tar.gz : cups 1.4&lt;br /&gt;
 wget http://www.cups.org/strfiles/3840/fr-1.5.0.tar.bz2 : cups 1.5&lt;br /&gt;
&lt;br /&gt;
 tar xvzf fr.tar.gz&lt;br /&gt;
&lt;br /&gt;
Il semblerait qu'il y ai un souci avec la page de recherche d'imprimante traduite en francais (cups 1.4). Pour contourner le problème remettre la page en anglais en faisant ceci :&lt;br /&gt;
 cp /usr/share/cups/templates/choose-device.tmpl /usr/share/cups/templates/fr/&lt;br /&gt;
&lt;br /&gt;
== Forcer impression en Recto/Verso ==&lt;br /&gt;
Editer les fichiers PPD de chaque imprimante se trouvant dans /etc/cups/ppd/&lt;br /&gt;
&lt;br /&gt;
Justes après cette ligne :&lt;br /&gt;
&lt;br /&gt;
 *% _____ Job  File _____&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ajoutez :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
*JobPatchFile 2: &amp;quot;&lt;br /&gt;
%%BeginFile: force_duplex 0.1 0&lt;br /&gt;
%%Copyright: 2009 by Helge Blischke&lt;br /&gt;
%%CreationDate: 2009-08-05&lt;br /&gt;
% Description:&lt;br /&gt;
% ------------&lt;br /&gt;
%       This PostScript snippet is designed to be used as a&lt;br /&gt;
%       JobPatchFile in a printer's PPD and performs the&lt;br /&gt;
%       following:&lt;br /&gt;
%       (1) sets the printer to duplex mode&lt;br /&gt;
%       (2) turns any following duplex statements to a noop.&lt;br /&gt;
&lt;br /&gt;
% If the printer does not use the standard keys for duplex&lt;br /&gt;
% handling as specified in the PLRM, edit the following lines&lt;br /&gt;
% accordingly (refer to the printr's PPD for device specific&lt;br /&gt;
% keys):&lt;br /&gt;
/_Duplex        /Duplex         def&lt;br /&gt;
/_Tumble        /Tumble         def&lt;br /&gt;
%&lt;br /&gt;
% Save the original setpagedevice operator&lt;br /&gt;
/sys_setpagedevice /setpagedevice load def&lt;br /&gt;
% Force duplex printing&lt;br /&gt;
&amp;lt;&amp;lt; //_Duplex true //_Tumble false&amp;gt;&amp;gt; sys_setpagedevice&lt;br /&gt;
% Redefine setpagedevice to ignore specifying duplex on/off&lt;br /&gt;
/setpagedevice&lt;br /&gt;
{&lt;br /&gt;
        dup //_Duplex known{dup //_Duplex undef}if&lt;br /&gt;
        dup //_Tumble known{dup //_Tumble undef}if&lt;br /&gt;
        sys_setpagedevice&lt;br /&gt;
}bind def&lt;br /&gt;
% In case the printer understands level 1 duplexing operators&lt;br /&gt;
% (usually residing in statusdict), redefine them as noops here,&lt;br /&gt;
% following the template:&lt;br /&gt;
/setduplexmode where{pop userdict/setduplexmode {} put}if&lt;br /&gt;
%%EndFile&lt;br /&gt;
&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Ne pas Oublier les quotes&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
http://forum.ubuntu-fr.org/viewtopic.php?id=272919 : installation de cups et de samba sous ubuntu &amp;lt;br/&amp;gt;&lt;br /&gt;
https://wiki.samba.org/index.php/Samba_as_a_print_server : procedure de liaison de cups avec samba &amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.cups.org/documentation.php/doc-1.6/man-cupsaddsmb.html : manuel de cupsaddsmb &amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/CUPS-printing.html : manuel d'integration de cups avec samba (très complet mais complexe) &amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.virtualhelp.me/scripts/57-vb-script/351-adding-a-printer-using-scripts-windows : Ajouter automatiquement les imprimantes dans windows &amp;lt;br/&amp;gt;&lt;br /&gt;
http://blog.cybermonde.org/post/2010/06/01/Configurer-un-serveur-d-impression-pour-plusieurs-vlans : phpPrintAnalyser &amp;lt;br/&amp;gt;&lt;br /&gt;
http://manpages.ubuntu.com/manpages/lucid/fr/man8/cupsaddsmb.8.html : Reprendre ce tuto, si difficultés avec celui-ci &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Serveur_d%27impression_(cups_%2B_samba)_sur_debian_6.0&amp;diff=5868</id>
		<title>Serveur d'impression (cups + samba) sur debian 6.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Serveur_d%27impression_(cups_%2B_samba)_sur_debian_6.0&amp;diff=5868"/>
				<updated>2014-02-07T16:39:44Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Prérequis ==&lt;br /&gt;
Un serveur samba fonctionnel. Dans notre cas l'admin du domaine samba est l'utilisateur administrateur.&lt;br /&gt;
&lt;br /&gt;
== CUPS ==&lt;br /&gt;
Installer cups:&lt;br /&gt;
 aptitude install cups.&lt;br /&gt;
&lt;br /&gt;
Éditer le fichier /etc/cups/raw.convs et vérifier que cette ligne est décommenté :&lt;br /&gt;
 application/octet-stream	application/vnd.cups-raw	0	-&lt;br /&gt;
&lt;br /&gt;
Éditer le fichier /etc/cups/raw.types et verifier que cette ligne est décommenté :&lt;br /&gt;
 application/octet-stream&lt;br /&gt;
&lt;br /&gt;
== SAMBA ==&lt;br /&gt;
Ajouter l'utilisateur administrateur au groupe lpadmin :&lt;br /&gt;
 adduser administrateur lpadmin&lt;br /&gt;
&lt;br /&gt;
Ajouter ceci dans /etc/samba/smb.conf :&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
[global]&lt;br /&gt;
 load printers = Yes&lt;br /&gt;
 printing = cups&lt;br /&gt;
 printcap name = cups&lt;br /&gt;
 #même nom d'imprimantes entre cups et samba&lt;br /&gt;
 force printername = yes&lt;br /&gt;
&lt;br /&gt;
[printers]&lt;br /&gt;
  comment = Imprimantes&lt;br /&gt;
  path = /var/spool/samba&lt;br /&gt;
  browseable = yes&lt;br /&gt;
  public = yes&lt;br /&gt;
  guest ok = yes&lt;br /&gt;
  writable = no&lt;br /&gt;
  printable = yes&lt;br /&gt;
  use client driver = no&lt;br /&gt;
&lt;br /&gt;
[print$]&lt;br /&gt;
  comment = drivers pour imprimantes&lt;br /&gt;
  path = /var/lib/samba/drivers&lt;br /&gt;
  browseable = yes&lt;br /&gt;
  guest ok = yes&lt;br /&gt;
  read only = yes&lt;br /&gt;
  write list = administrateur, root&lt;br /&gt;
  inherit permissions = yes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis donner les droits d'accès au répertoire :&lt;br /&gt;
 chmod 1777 /var/spool/samba&lt;br /&gt;
(Le « 1 » de 1777 empêche que les fichiers soient effacés par d'autres utilisateurs que le propriétaire du fichier)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Imprimantes ==&lt;br /&gt;
=== Push automatique des drivers Windows ===&lt;br /&gt;
&lt;br /&gt;
Créer l'arborescence de stockage des drivers windows pour samba dans /var/lib/samba/drivers :&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 COLOR&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 IA64&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 W32ALPHA&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 27 déc$tabLigneTmp\[5\].  10:40 W32MIPS&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 W32PPC&lt;br /&gt;
 drwxrwsrwx 3 root root 4096 27 déc.  17:32 W32X86&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 WIN40&lt;br /&gt;
 drwxrwsrwx 3 root root 4096 27 déc.  17:32 x64&lt;br /&gt;
&lt;br /&gt;
On peut la créer facilement grâce à ce script :&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
BASEDIR=/var/lib/samba/drivers;&lt;br /&gt;
if [ -e $BASEDIR ]&lt;br /&gt;
	then&lt;br /&gt;
		mkdir $BASEDIR&lt;br /&gt;
fi&lt;br /&gt;
for X in COLOR IA64 W32ALPHA W32MIPS W32PPC W32X86 WIN40 x64; do &lt;br /&gt;
  mkdir -p $BASEDIR/$X;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Créer maintenant le répertoire qui accueillera les drivers Windows dans Cups :&lt;br /&gt;
 mkdir -p /usr/share/cups/drivers/x64&lt;br /&gt;
&lt;br /&gt;
* Ajout du driver PostScript Windows 32bit &lt;br /&gt;
Pour le 32bit récupérer ces fichiers sur un système windows 32bit dans %WINDIR%\SYSTEM32\SPOOL\DRIVERS\W32X86\3 et les mettre dans /usr/share/cups/drivers/ : &amp;lt;br/&amp;gt;&lt;br /&gt;
Pour le 64bit récupérer ces fichiers sur un système windows 64bit dans %WINDIR%\SYSTEM32\SPOOL\DRIVERS\X64\3 et les mettre dans /usr/share/cups/drivers/x64 :&lt;br /&gt;
    ps5ui.dll&lt;br /&gt;
    pscript.hlp&lt;br /&gt;
    pscript.ntf&lt;br /&gt;
    pscript5.dll&lt;br /&gt;
'''!!!ATTENTION!!! Ces fichiers sont en MAJUSCULE sur Windows. Il est nécessaire de les mettre en minuscule sinon cupsaddsmb ne les exportera pas.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Ajout du driver postscript Cups V6 pour Windows&lt;br /&gt;
Afin d'avoir plus de fonctionnalités (comptage des pages, labels, la mise en attente...), il est possible d'ajouter en complément le driver PostScript de Cups.&lt;br /&gt;
&lt;br /&gt;
Pour le 32bit récupérer ces fichiers sur http://svn.easysw.com/public/windows/trunk/i386/ et les mettre dans /usr/share/cups/drivers/ : &amp;lt;br/&amp;gt;&lt;br /&gt;
Pour le 64bit récupérer ces fichiers sur http://svn.easysw.com/public/windows/trunk/x64/ et les mettre dans /usr/share/cups/drivers/x64 :&lt;br /&gt;
    cups6.inf&lt;br /&gt;
    cups6.ini&lt;br /&gt;
    cupsps6.dll&lt;br /&gt;
    cupsui6.dll&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
L'installation des imprimantes peut maintenant se faire sur l'interface web de Cups. Lors de la sélection du fichier PDD, il est recommandé de mettre un fichier PPD officiel afin d'avoir toutes les fonctionnalités de l'imprimante (Le comptage des pages par exemple). Ce fichier PPD peut être trouvé dans l'archive contenant les drivers PostScript pour Windows.(Fonctionne sur une Toshiba e-Studio222cs)&lt;br /&gt;
 &lt;br /&gt;
Il faut maintenant exporter les imprimantes et les drivers sous samba : &lt;br /&gt;
 service samba restart&lt;br /&gt;
 service cups restart&lt;br /&gt;
 cupsaddsmb -H localhost -U administrateur -v -a&lt;br /&gt;
&lt;br /&gt;
Pour vérifier la bonne installation des drivers :&lt;br /&gt;
&lt;br /&gt;
 rpcclient localhost&lt;br /&gt;
      &amp;gt; enumprinters&lt;br /&gt;
      &amp;gt; enumdrivers&lt;br /&gt;
&lt;br /&gt;
Les drivers seront automatiquement envoyé sur Windows lors de l'installation d'une imprimante sur Windows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Statistiques d'impressions ==&lt;br /&gt;
&lt;br /&gt;
http://phpprintanalyze.sourceforge.net/ : stat web cups&lt;br /&gt;
Phpprintanalyse est une interface web pour cups permettant d'analyser le fichier page_log et de faire des graphiques.&lt;br /&gt;
&lt;br /&gt;
Le serveur de statistiques se trouvant sur une autre machine , ajouter cette section dans /etc/cups/cupsd.conf afin que la page $IP_CUPS:631/admin/log/page_log soit accessible sans mot de passe : &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Location /admin/log&amp;gt;&lt;br /&gt;
 Order allow,deny&lt;br /&gt;
 Allow from 192.168.0.5&lt;br /&gt;
 &amp;lt;/Location&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 cd /var/www/&lt;br /&gt;
&lt;br /&gt;
=== Installation de phpPrintAnalyser ===&lt;br /&gt;
 wget http://sourceforge.net/projects/phpprintanalyze/files/phpPrintAnalyzer/1.2/phpPrintAnalyzer-1.2.tar.gz&lt;br /&gt;
 tar xvzf phpPrintAnalyzer-1.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
=== Installation de jpGraph ===&lt;br /&gt;
 aptitude install php5-gd&lt;br /&gt;
 wget --content-disposition http://jpgraph.net/download/download.php?p=1&lt;br /&gt;
 tar xvzf jpgraph-3.0.7.tar.gz&lt;br /&gt;
 mv jpgraph-3.0.7 jpgraph &lt;br /&gt;
&lt;br /&gt;
 chown -R www-data:www-data jpgraph phpPrintAnalyzer&lt;br /&gt;
&lt;br /&gt;
=== configuration ===&lt;br /&gt;
 cd /var/www/phpPrintAnalyzer/inc/&lt;br /&gt;
 cp config.inc.php.sample config.inc.php&lt;br /&gt;
 vim config.inc.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Problème de colonnes ====&lt;br /&gt;
Problème de décalage des colonnes entre les logs et le script php&lt;br /&gt;
===== Solution 1 =====&lt;br /&gt;
Ajouter cette ligne à la fin du fichier /etc/cups/cupsd.conf :&lt;br /&gt;
&lt;br /&gt;
 PageLogFormat %p %u %j %T %P %C %{job-billing} %{job-originating-host-name} %{job-name} %{media} %{sides}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Solution 2 =====&lt;br /&gt;
Modification a faire dans index.php :&lt;br /&gt;
* Utilisateurs : &amp;lt;br/&amp;gt;&lt;br /&gt;
remplacer $tabLigneTmp[1] par $tabLigneTmp[2]&lt;br /&gt;
 :%s/$tabLigneTmp\[1\]/$tabLigneTmp\[2\]/g&lt;br /&gt;
&lt;br /&gt;
sauf la première ligne :&lt;br /&gt;
 $tabLigneTmp[1] = strtolower($tabLigneTmp[1]);&lt;br /&gt;
&lt;br /&gt;
* Nombre de pages : &amp;lt;br/&amp;gt;&lt;br /&gt;
Remplacer $tabLigneTmp[6] par $tabLigneTmp[5]&lt;br /&gt;
 :%s/$tabLigneTmp\[6\]/$tabLigneTmp\[5\]/g&lt;br /&gt;
&lt;br /&gt;
== TIPS ==&lt;br /&gt;
===Installer automatiquement une imprimante sous windows ===&lt;br /&gt;
&amp;lt;source lang=winbatch&amp;gt;&lt;br /&gt;
rundll32 printui.dll,PrintUIEntry /in /n \\SERVEUR\NOM_DE_IMP&lt;br /&gt;
rundll32 printui.dll,PrintUIEntry /in /n  \\SERVEUR\NOM_DE_IMP /y&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Interface web de cups en français ===&lt;br /&gt;
source http://www.cups.org/str.php?L3840&lt;br /&gt;
&lt;br /&gt;
 cd /usr/share/cups&lt;br /&gt;
&lt;br /&gt;
Télécharger la traduction en fonction de la version de Cups ( 1.4 sous Debian Squeeze) :&lt;br /&gt;
 wget http://www.cups.org/strfiles/3840/fr.tar.gz : cups 1.4&lt;br /&gt;
 wget http://www.cups.org/strfiles/3840/fr-1.5.0.tar.bz2 : cups 1.5&lt;br /&gt;
&lt;br /&gt;
 tar xvzf fr.tar.gz&lt;br /&gt;
&lt;br /&gt;
Il semblerait qu'il y ai un souci avec la page de recherche d'imprimante traduite en francais (cups 1.4). Pour contourner le problème remettre la page en anglais en faisant ceci :&lt;br /&gt;
 cp /usr/share/cups/templates/choose-device.tmpl /usr/share/cups/templates/fr/&lt;br /&gt;
&lt;br /&gt;
== Forcer impression en Recto/Verso ==&lt;br /&gt;
Editer les fichiers PPD de chaque imprimante se trouvant dans /etc/cups/ppd/&lt;br /&gt;
&lt;br /&gt;
Justes après cette ligne :&lt;br /&gt;
&lt;br /&gt;
 *% _____ Job  File _____&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ajoutez :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sh&amp;quot;&amp;gt;&lt;br /&gt;
*JobPatchFile 2: &amp;quot;&lt;br /&gt;
%%BeginFile: force_duplex 0.1 0&lt;br /&gt;
%%Copyright: 2009 by Helge Blischke&lt;br /&gt;
%%CreationDate: 2009-08-05&lt;br /&gt;
% Description:&lt;br /&gt;
% ------------&lt;br /&gt;
%       This PostScript snippet is designed to be used as a&lt;br /&gt;
%       JobPatchFile in a printer's PPD and performs the&lt;br /&gt;
%       following:&lt;br /&gt;
%       (1) sets the printer to duplex mode&lt;br /&gt;
%       (2) turns any following duplex statements to a noop.&lt;br /&gt;
&lt;br /&gt;
% If the printer does not use the standard keys for duplex&lt;br /&gt;
% handling as specified in the PLRM, edit the following lines&lt;br /&gt;
% accordingly (refer to the printr's PPD for device specific&lt;br /&gt;
% keys):&lt;br /&gt;
/_Duplex        /Duplex         def&lt;br /&gt;
/_Tumble        /Tumble         def&lt;br /&gt;
%&lt;br /&gt;
% Save the original setpagedevice operator&lt;br /&gt;
/sys_setpagedevice /setpagedevice load def&lt;br /&gt;
% Force duplex printing&lt;br /&gt;
&amp;lt;&amp;lt; //_Duplex true //_Tumble false&amp;gt;&amp;gt; sys_setpagedevice&lt;br /&gt;
% Redefine setpagedevice to ignore specifying duplex on/off&lt;br /&gt;
/setpagedevice&lt;br /&gt;
{&lt;br /&gt;
        dup //_Duplex known{dup //_Duplex undef}if&lt;br /&gt;
        dup //_Tumble known{dup //_Tumble undef}if&lt;br /&gt;
        sys_setpagedevice&lt;br /&gt;
}bind def&lt;br /&gt;
% In case the printer understands level 1 duplexing operators&lt;br /&gt;
% (usually residing in statusdict), redefine them as noops here,&lt;br /&gt;
% following the template:&lt;br /&gt;
/setduplexmode where{pop userdict/setduplexmode {} put}if&lt;br /&gt;
%%EndFile&lt;br /&gt;
&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Ne pas Oublier les quotes&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
http://forum.ubuntu-fr.org/viewtopic.php?id=272919 : installation de cups et de samba sous ubuntu &amp;lt;br/&amp;gt;&lt;br /&gt;
https://wiki.samba.org/index.php/Samba_as_a_print_server : procedure de liaison de cups avec samba &amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.cups.org/documentation.php/doc-1.6/man-cupsaddsmb.html : manuel de cupsaddsmb &amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/CUPS-printing.html : manuel d'integration de cups avec samba (très complet mais complexe) &amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.virtualhelp.me/scripts/57-vb-script/351-adding-a-printer-using-scripts-windows : Ajouter automatiquement les imprimantes dans windows &amp;lt;br/&amp;gt;&lt;br /&gt;
http://blog.cybermonde.org/post/2010/06/01/Configurer-un-serveur-d-impression-pour-plusieurs-vlans : phpPrintAnalyser &amp;lt;br/&amp;gt;&lt;br /&gt;
http://manpages.ubuntu.com/manpages/lucid/fr/man8/cupsaddsmb.8.html : Reprendre ce tuto, si difficultés avec celui-ci &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Serveur_d%27impression_(cups_%2B_samba)_sur_debian_6.0&amp;diff=5867</id>
		<title>Serveur d'impression (cups + samba) sur debian 6.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Serveur_d%27impression_(cups_%2B_samba)_sur_debian_6.0&amp;diff=5867"/>
				<updated>2014-02-07T16:35:46Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : /* Sources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Prérequis ==&lt;br /&gt;
Un serveur samba fonctionnel. Dans notre cas l'admin du domaine samba est l'utilisateur administrateur.&lt;br /&gt;
&lt;br /&gt;
== CUPS ==&lt;br /&gt;
Installer cups:&lt;br /&gt;
 aptitude install cups.&lt;br /&gt;
&lt;br /&gt;
Éditer le fichier /etc/cups/raw.convs et vérifier que cette ligne est décommenté :&lt;br /&gt;
 application/octet-stream	application/vnd.cups-raw	0	-&lt;br /&gt;
&lt;br /&gt;
Éditer le fichier /etc/cups/raw.types et verifier que cette ligne est décommenté :&lt;br /&gt;
 application/octet-stream&lt;br /&gt;
&lt;br /&gt;
== SAMBA ==&lt;br /&gt;
Ajouter l'utilisateur administrateur au groupe lpadmin :&lt;br /&gt;
 adduser administrateur lpadmin&lt;br /&gt;
&lt;br /&gt;
Ajouter ceci dans /etc/samba/smb.conf :&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
[global]&lt;br /&gt;
 load printers = Yes&lt;br /&gt;
 printing = cups&lt;br /&gt;
 printcap name = cups&lt;br /&gt;
 #même nom d'imprimantes entre cups et samba&lt;br /&gt;
 force printername = yes&lt;br /&gt;
&lt;br /&gt;
[printers]&lt;br /&gt;
  comment = Imprimantes&lt;br /&gt;
  path = /var/spool/samba&lt;br /&gt;
  browseable = yes&lt;br /&gt;
  public = yes&lt;br /&gt;
  guest ok = yes&lt;br /&gt;
  writable = no&lt;br /&gt;
  printable = yes&lt;br /&gt;
  use client driver = no&lt;br /&gt;
&lt;br /&gt;
[print$]&lt;br /&gt;
  comment = drivers pour imprimantes&lt;br /&gt;
  path = /var/lib/samba/drivers&lt;br /&gt;
  browseable = yes&lt;br /&gt;
  guest ok = yes&lt;br /&gt;
  read only = yes&lt;br /&gt;
  write list = administrateur, root&lt;br /&gt;
  inherit permissions = yes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis donner les droits d'accès au répertoire :&lt;br /&gt;
 chmod 1777 /var/spool/samba&lt;br /&gt;
(Le « 1 » de 1777 empêche que les fichiers soient effacés par d'autres utilisateurs que le propriétaire du fichier)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Imprimantes ==&lt;br /&gt;
=== Push automatique des drivers Windows ===&lt;br /&gt;
&lt;br /&gt;
Créer l'arborescence de stockage des drivers windows pour samba dans /var/lib/samba/drivers :&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 COLOR&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 IA64&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 W32ALPHA&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 27 déc$tabLigneTmp\[5\].  10:40 W32MIPS&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 W32PPC&lt;br /&gt;
 drwxrwsrwx 3 root root 4096 27 déc.  17:32 W32X86&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 WIN40&lt;br /&gt;
 drwxrwsrwx 3 root root 4096 27 déc.  17:32 x64&lt;br /&gt;
&lt;br /&gt;
On peut la créer facilement grâce à ce script :&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
BASEDIR=/var/lib/samba/drivers;&lt;br /&gt;
if [ -e $BASEDIR ]&lt;br /&gt;
	then&lt;br /&gt;
		mkdir $BASEDIR&lt;br /&gt;
fi&lt;br /&gt;
for X in COLOR IA64 W32ALPHA W32MIPS W32PPC W32X86 WIN40 x64; do &lt;br /&gt;
  mkdir -p $BASEDIR/$X;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Créer maintenant le répertoire qui accueillera les drivers Windows dans Cups :&lt;br /&gt;
 mkdir -p /usr/share/cups/drivers/x64&lt;br /&gt;
&lt;br /&gt;
* Ajout du driver PostScript Windows 32bit &lt;br /&gt;
Pour le 32bit récupérer ces fichiers sur un système windows 32bit dans %WINDIR%\SYSTEM32\SPOOL\DRIVERS\W32X86\3 et les mettre dans /usr/share/cups/drivers/ : &amp;lt;br/&amp;gt;&lt;br /&gt;
Pour le 64bit récupérer ces fichiers sur un système windows 64bit dans %WINDIR%\SYSTEM32\SPOOL\DRIVERS\X64\3 et les mettre dans /usr/share/cups/drivers/x64 :&lt;br /&gt;
    ps5ui.dll&lt;br /&gt;
    pscript.hlp&lt;br /&gt;
    pscript.ntf&lt;br /&gt;
    pscript5.dll&lt;br /&gt;
'''!!!ATTENTION!!! Ces fichiers sont en MAJUSCULE sur Windows. Il est nécessaire de les mettre en minuscule sinon cupsaddsmb ne les exportera pas.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Ajout du driver postscript Cups V6 pour Windows&lt;br /&gt;
Afin d'avoir plus de fonctionnalités (comptage des pages, labels, la mise en attente...), il est possible d'ajouter en complément le driver PostScript de Cups.&lt;br /&gt;
&lt;br /&gt;
Pour le 32bit récupérer ces fichiers sur http://svn.easysw.com/public/windows/trunk/i386/ et les mettre dans /usr/share/cups/drivers/ : &amp;lt;br/&amp;gt;&lt;br /&gt;
Pour le 64bit récupérer ces fichiers sur http://svn.easysw.com/public/windows/trunk/x64/ et les mettre dans /usr/share/cups/drivers/x64 :&lt;br /&gt;
    cups6.inf&lt;br /&gt;
    cups6.ini&lt;br /&gt;
    cupsps6.dll&lt;br /&gt;
    cupsui6.dll&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
L'installation des imprimantes peut maintenant se faire sur l'interface web de Cups. Lors de la sélection du fichier PDD, il est recommandé de mettre un fichier PPD officiel afin d'avoir toutes les fonctionnalités de l'imprimante (Le comptage des pages par exemple). Ce fichier PPD peut être trouvé dans l'archive contenant les drivers PostScript pour Windows.(Fonctionne sur une Toshiba e-Studio222cs)&lt;br /&gt;
 &lt;br /&gt;
Il faut maintenant exporter les imprimantes et les drivers sous samba : &lt;br /&gt;
 service samba restart&lt;br /&gt;
 service cups restart&lt;br /&gt;
 cupsaddsmb -H localhost -U administrateur -v -a&lt;br /&gt;
&lt;br /&gt;
Pour vérifier la bonne installation des drivers :&lt;br /&gt;
&lt;br /&gt;
 rpcclient localhost&lt;br /&gt;
      &amp;gt; enumprinters&lt;br /&gt;
      &amp;gt; enumdrivers&lt;br /&gt;
&lt;br /&gt;
Les drivers seront automatiquement envoyé sur Windows lors de l'installation d'une imprimante sur Windows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Statistiques d'impressions ==&lt;br /&gt;
&lt;br /&gt;
http://phpprintanalyze.sourceforge.net/ : stat web cups&lt;br /&gt;
Phpprintanalyse est une interface web pour cups permettant d'analyser le fichier page_log et de faire des graphiques.&lt;br /&gt;
&lt;br /&gt;
Le serveur de statistiques se trouvant sur une autre machine , ajouter cette section dans /etc/cups/cupsd.conf afin que la page $IP_CUPS:631/admin/log/page_log soit accessible sans mot de passe : &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Location /admin/log&amp;gt;&lt;br /&gt;
 Order allow,deny&lt;br /&gt;
 Allow from 192.168.0.5&lt;br /&gt;
 &amp;lt;/Location&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 cd /var/www/&lt;br /&gt;
&lt;br /&gt;
=== Installation de phpPrintAnalyser ===&lt;br /&gt;
 wget http://sourceforge.net/projects/phpprintanalyze/files/phpPrintAnalyzer/1.2/phpPrintAnalyzer-1.2.tar.gz&lt;br /&gt;
 tar xvzf phpPrintAnalyzer-1.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
=== Installation de jpGraph ===&lt;br /&gt;
 aptitude install php5-gd&lt;br /&gt;
 wget --content-disposition http://jpgraph.net/download/download.php?p=1&lt;br /&gt;
 tar xvzf jpgraph-3.0.7.tar.gz&lt;br /&gt;
 mv jpgraph-3.0.7 jpgraph &lt;br /&gt;
&lt;br /&gt;
 chown -R www-data:www-data jpgraph phpPrintAnalyzer&lt;br /&gt;
&lt;br /&gt;
=== configuration ===&lt;br /&gt;
 cd /var/www/phpPrintAnalyzer/inc/&lt;br /&gt;
 cp config.inc.php.sample config.inc.php&lt;br /&gt;
 vim config.inc.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Problème de colonnes ====&lt;br /&gt;
Problème de décalage des colonnes entre les logs et le script php&lt;br /&gt;
===== Solution 1 =====&lt;br /&gt;
Ajouter cette ligne à la fin du fichier /etc/cups/cupsd.conf :&lt;br /&gt;
&lt;br /&gt;
 PageLogFormat %p %u %j %T %P %C %{job-billing} %{job-originating-host-name} %{job-name} %{media} %{sides}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Solution 2 =====&lt;br /&gt;
Modification a faire dans index.php :&lt;br /&gt;
* Utilisateurs : &amp;lt;br/&amp;gt;&lt;br /&gt;
remplacer $tabLigneTmp[1] par $tabLigneTmp[2]&lt;br /&gt;
 :%s/$tabLigneTmp\[1\]/$tabLigneTmp\[2\]/g&lt;br /&gt;
&lt;br /&gt;
sauf la première ligne :&lt;br /&gt;
 $tabLigneTmp[1] = strtolower($tabLigneTmp[1]);&lt;br /&gt;
&lt;br /&gt;
* Nombre de pages : &amp;lt;br/&amp;gt;&lt;br /&gt;
Remplacer $tabLigneTmp[6] par $tabLigneTmp[5]&lt;br /&gt;
 :%s/$tabLigneTmp\[6\]/$tabLigneTmp\[5\]/g&lt;br /&gt;
&lt;br /&gt;
== TIPS ==&lt;br /&gt;
===Installer automatiquement une imprimante sous windows ===&lt;br /&gt;
&amp;lt;source lang=winbatch&amp;gt;&lt;br /&gt;
rundll32 printui.dll,PrintUIEntry /in /n \\SERVEUR\NOM_DE_IMP&lt;br /&gt;
rundll32 printui.dll,PrintUIEntry /in /n  \\SERVEUR\NOM_DE_IMP /y&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Interface web de cups en français ===&lt;br /&gt;
source http://www.cups.org/str.php?L3840&lt;br /&gt;
&lt;br /&gt;
 cd /usr/share/cups&lt;br /&gt;
&lt;br /&gt;
Télécharger la traduction en fonction de la version de Cups ( 1.4 sous Debian Squeeze) :&lt;br /&gt;
 wget http://www.cups.org/strfiles/3840/fr.tar.gz : cups 1.4&lt;br /&gt;
 wget http://www.cups.org/strfiles/3840/fr-1.5.0.tar.bz2 : cups 1.5&lt;br /&gt;
&lt;br /&gt;
 tar xvzf fr.tar.gz&lt;br /&gt;
&lt;br /&gt;
Il semblerait qu'il y ai un souci avec la page de recherche d'imprimante traduite en francais (cups 1.4). Pour contourner le problème remettre la page en anglais en faisant ceci :&lt;br /&gt;
 cp /usr/share/cups/templates/choose-device.tmpl /usr/share/cups/templates/fr/&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
http://forum.ubuntu-fr.org/viewtopic.php?id=272919 : installation de cups et de samba sous ubuntu &amp;lt;br/&amp;gt;&lt;br /&gt;
https://wiki.samba.org/index.php/Samba_as_a_print_server : procedure de liaison de cups avec samba &amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.cups.org/documentation.php/doc-1.6/man-cupsaddsmb.html : manuel de cupsaddsmb &amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/CUPS-printing.html : manuel d'integration de cups avec samba (très complet mais complexe) &amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.virtualhelp.me/scripts/57-vb-script/351-adding-a-printer-using-scripts-windows : Ajouter automatiquement les imprimantes dans windows &amp;lt;br/&amp;gt;&lt;br /&gt;
http://blog.cybermonde.org/post/2010/06/01/Configurer-un-serveur-d-impression-pour-plusieurs-vlans : phpPrintAnalyser &amp;lt;br/&amp;gt;&lt;br /&gt;
http://manpages.ubuntu.com/manpages/lucid/fr/man8/cupsaddsmb.8.html : Reprendre ce tuto, si difficultés avec celui-ci &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Rsyncd_sur_Windows&amp;diff=5862</id>
		<title>Rsyncd sur Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Rsyncd_sur_Windows&amp;diff=5862"/>
				<updated>2014-01-21T10:41:22Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Charger cwRsync_server_Installer.zip sur http://sourceforge.net/projects/sereds/files/cwRsync/&lt;br /&gt;
&lt;br /&gt;
Installer rsync-server (noter le nom et le mot de passe du propriétaire du service rsync-server).&lt;br /&gt;
&lt;br /&gt;
Paramétrer Program Files\ICW\rsynd.conf&lt;br /&gt;
 use chroot = false&lt;br /&gt;
 max connections = 1&lt;br /&gt;
 auth users = zindoze20&lt;br /&gt;
 pid file = C:\Program Files (x86)\ICW\rsyncd.pid&lt;br /&gt;
 lock file = C:\Program Files (x86)\ICW\rsyncd.lock&lt;br /&gt;
 secrets file = C:\Program Files (x86)\ICW\rsyncd.secrets&lt;br /&gt;
 strict modes = false&lt;br /&gt;
 hosts allow = 12.34.56.7&lt;br /&gt;
 log file = rsyncd.log&lt;br /&gt;
 uid = 0&lt;br /&gt;
 gid = 0&lt;br /&gt;
 &lt;br /&gt;
 # Module definitions&lt;br /&gt;
 # Remember cygwin naming conventions : c:\work becomes /cygwin/c/work&lt;br /&gt;
 #&lt;br /&gt;
 [partage]&lt;br /&gt;
 path = /cygdrive/c/partage&lt;br /&gt;
 read only = false&lt;br /&gt;
 transfer logging = yes&lt;br /&gt;
&lt;br /&gt;
Si le chemin du dossier contient des espaces, utilisez des liens cours. Pour voir un lien cours sous Windows :&lt;br /&gt;
 - lancer cmd&lt;br /&gt;
 - taper : ''dir /X \''&lt;br /&gt;
&lt;br /&gt;
Ex : C:\Program Files a pour lien cour C:\PROGRA~2 . Cela s'écrira donc dans la partie module de rsync-server : /cygdrive/c/PROGRA~2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Créer Program Files\ICW\rsyncd.secrets contenant l'utilisateur et le mot de passe que BAckupPC utilisera pour se connecter (Différent du propriétaire du service)&lt;br /&gt;
 zindoze20:password_zindoze20&lt;br /&gt;
&lt;br /&gt;
Éventuellement penser à ouvrir le port 873 sur le firewall de Windows, et/ou le firewall du réseau&lt;br /&gt;
&lt;br /&gt;
Lancer le service rsync-server.&lt;br /&gt;
&lt;br /&gt;
'''Pensez à donner au dossier les droits en lecture à l'utilisateur propriétaire du service rsync'''&lt;br /&gt;
&lt;br /&gt;
Tester l'accès rsync&lt;br /&gt;
 rsync --list-only zindoze20@serveurWindows.domain.net::partage&lt;br /&gt;
&lt;br /&gt;
Dans Backuppc, paramétrer la machine (par le GUI, ou dans le fichier de configuration)&lt;br /&gt;
 $Conf{XferMethod} = 'rsyncd';&lt;br /&gt;
 $Conf{RsyncdUserName} = 'zindoze20';&lt;br /&gt;
 $Conf{RsyncdPasswd} = 'password_zindoze20';&lt;br /&gt;
 $Conf{RsyncShareName} = 'partage';&lt;br /&gt;
 $Conf{ClientNameAlias} = '192.168.0.20';&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Rsyncd_sur_Windows&amp;diff=5861</id>
		<title>Rsyncd sur Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Rsyncd_sur_Windows&amp;diff=5861"/>
				<updated>2014-01-21T10:32:20Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Charger cwRsync_server_Installer.zip sur http://sourceforge.net/projects/sereds/files/cwRsync/&lt;br /&gt;
&lt;br /&gt;
Installer rsync-server (noter le nom et le mot de passe du propriétaire du service rsync-server).&lt;br /&gt;
&lt;br /&gt;
Paramétrer Program Files\ICW\rsynd.conf&lt;br /&gt;
 use chroot = false&lt;br /&gt;
 max connections = 1&lt;br /&gt;
 auth users = zindoze20&lt;br /&gt;
 pid file = C:\Program Files (x86)\ICW\rsyncd.pid&lt;br /&gt;
 lock file = C:\Program Files (x86)\ICW\rsyncd.lock&lt;br /&gt;
 secrets file = C:\Program Files (x86)\ICW\rsyncd.secrets&lt;br /&gt;
 strict modes = false&lt;br /&gt;
 hosts allow = 12.34.56.7&lt;br /&gt;
 log file = rsyncd.log&lt;br /&gt;
 uid = 0&lt;br /&gt;
 gid = 0&lt;br /&gt;
 &lt;br /&gt;
 # Module definitions&lt;br /&gt;
 # Remember cygwin naming conventions : c:\work becomes /cygwin/c/work&lt;br /&gt;
 #&lt;br /&gt;
 [partage]&lt;br /&gt;
 path = /cygdrive/c/partage&lt;br /&gt;
 read only = false&lt;br /&gt;
 transfer logging = yes&lt;br /&gt;
&lt;br /&gt;
Créer Program Files\ICW\rsyncd.secrets contenant l'utisateur et le mot de passe que BAckupPC utilisera pour se connecter (Différent du propriétaire du service)&lt;br /&gt;
 zindoze20:password_zindoze20&lt;br /&gt;
&lt;br /&gt;
Eventuellement penser à ouvrir le port 873 sur le firewall de Windows, et/ou le firewall du réseau&lt;br /&gt;
&lt;br /&gt;
Lancer le service rsync-server.&lt;br /&gt;
&lt;br /&gt;
'''Pensez à donner au dossier les droits en lecture à l'utilisateur propriétaire du service rsync'''&lt;br /&gt;
&lt;br /&gt;
Tester l'accès rsync&lt;br /&gt;
 rsync --list-only zindoze20@serveurWindows.domain.net::partage&lt;br /&gt;
&lt;br /&gt;
Dans Backuppc, paramétrer la machine (par le GUI, ou dans le fichier de configuration)&lt;br /&gt;
 $Conf{XferMethod} = 'rsyncd';&lt;br /&gt;
 $Conf{RsyncdUserName} = 'zindoze20';&lt;br /&gt;
 $Conf{RsyncdPasswd} = 'password_zindoze20';&lt;br /&gt;
 $Conf{RsyncShareName} = 'partage';&lt;br /&gt;
 $Conf{ClientNameAlias} = '192.168.0.20';&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Rsyncd_sur_Windows&amp;diff=5860</id>
		<title>Rsyncd sur Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Rsyncd_sur_Windows&amp;diff=5860"/>
				<updated>2014-01-21T10:15:14Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Charger cwRsync_server_Installer.zip sur http://sourceforge.net/projects/sereds/files/cwRsync/&lt;br /&gt;
&lt;br /&gt;
Installer rsync-server (noter le nom et le mot de passe du propriétaire du service rsync-server).&lt;br /&gt;
&lt;br /&gt;
Paramétrer Program Files\ICW\rsynd.conf&lt;br /&gt;
 use chroot = false&lt;br /&gt;
 max connections = 1&lt;br /&gt;
 auth users = zindoze20&lt;br /&gt;
 pid file = C:\Program Files (x86)\ICW\rsyncd.pid&lt;br /&gt;
 lock file = C:\Program Files (x86)\ICW\rsyncd.lock&lt;br /&gt;
 secrets file = C:\Program Files (x86)\ICW\rsyncd.secrets&lt;br /&gt;
 strict modes = false&lt;br /&gt;
 hosts allow = 12.34.56.7&lt;br /&gt;
 log file = rsyncd.log&lt;br /&gt;
 uid = 0&lt;br /&gt;
 gid = 0&lt;br /&gt;
 &lt;br /&gt;
 # Module definitions&lt;br /&gt;
 # Remember cygwin naming conventions : c:\work becomes /cygwin/c/work&lt;br /&gt;
 #&lt;br /&gt;
 [partage]&lt;br /&gt;
 path = /cygdrive/c/partage&lt;br /&gt;
 read only = false&lt;br /&gt;
 transfer logging = yes&lt;br /&gt;
&lt;br /&gt;
Créer Program Files\ICW\rsyncd.secrets contenant l'utisateur et le mot de passe que BAckupPC utilisera pour se connecter (Différent du propriétaire du service)&lt;br /&gt;
 zindoze20:password_zindoze20&lt;br /&gt;
&lt;br /&gt;
Eventuellement penser à ouvrir le port 873 sur le firewall de Windows, et/ou le firewall du réseau&lt;br /&gt;
&lt;br /&gt;
Lancer le service rsync-server.&lt;br /&gt;
&lt;br /&gt;
*** Pensez à donner au dossier les droit en lecture à l'utilisateur propriétaire du service&lt;br /&gt;
&lt;br /&gt;
Tester l'accès rsync&lt;br /&gt;
 rsync --list-only zindoze20@serveurWindows.domain.net::partage&lt;br /&gt;
&lt;br /&gt;
Dans Backuppc, paramétrer la machine (par le GUI, ou dans le fichier de configuration)&lt;br /&gt;
 $Conf{XferMethod} = 'rsyncd';&lt;br /&gt;
 $Conf{RsyncdUserName} = 'zindoze20';&lt;br /&gt;
 $Conf{RsyncdPasswd} = 'password_zindoze20';&lt;br /&gt;
 $Conf{RsyncShareName} = 'partage';&lt;br /&gt;
 $Conf{ClientNameAlias} = '192.168.0.20';&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Rsyncd_sur_Windows&amp;diff=5859</id>
		<title>Rsyncd sur Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Rsyncd_sur_Windows&amp;diff=5859"/>
				<updated>2014-01-21T10:06:12Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Charger cwRsync_server_Installer.zip sur http://sourceforge.net/projects/sereds/files/cwRsync/&lt;br /&gt;
&lt;br /&gt;
Installer rsync-server (noter le nom et le mot de passe du propriétaire du service rsync-server).&lt;br /&gt;
&lt;br /&gt;
Paramétrer Program Files\ICW\rsynd.conf&lt;br /&gt;
 use chroot = false&lt;br /&gt;
 max connections = 1&lt;br /&gt;
 auth users = zindoze20&lt;br /&gt;
 pid file = C:\Program Files (x86)\ICW\rsyncd.pid&lt;br /&gt;
 lock file = C:\Program Files (x86)\ICW\rsyncd.lock&lt;br /&gt;
 secrets file = C:\Program Files (x86)\ICW\rsyncd.secrets&lt;br /&gt;
 strict modes = false&lt;br /&gt;
 hosts allow = 12.34.56.7&lt;br /&gt;
 log file = rsyncd.log&lt;br /&gt;
 uid = 0&lt;br /&gt;
 gid = 0&lt;br /&gt;
 &lt;br /&gt;
 # Module definitions&lt;br /&gt;
 # Remember cygwin naming conventions : c:\work becomes /cygwin/c/work&lt;br /&gt;
 #&lt;br /&gt;
 [partage]&lt;br /&gt;
 path = /cygdrive/c/partage&lt;br /&gt;
 read only = false&lt;br /&gt;
 transfer logging = yes&lt;br /&gt;
&lt;br /&gt;
Créer Program Files\ICW\rsyncd.secrets contenant l'utisateur et le mot de passe que BAckupPC utilisera pour se connecter (Différent du propriétaire du service)&lt;br /&gt;
 zindoze20:password_zindoze20&lt;br /&gt;
&lt;br /&gt;
Eventuellement penser à ouvrir le port 873 sur le firewall de Windows, et/ou le firewall du réseau&lt;br /&gt;
&lt;br /&gt;
Lancer le service rsync-server.&lt;br /&gt;
&lt;br /&gt;
Tester l'accès rsync&lt;br /&gt;
 rsync --list-only zindoze20@serveurWindows.domain.net::partage&lt;br /&gt;
&lt;br /&gt;
Dans Backuppc, paramétrer la machine (par le GUI, ou dans le fichier de configuration)&lt;br /&gt;
 $Conf{XferMethod} = 'rsyncd';&lt;br /&gt;
 $Conf{RsyncdUserName} = 'zindoze20';&lt;br /&gt;
 $Conf{RsyncdPasswd} = 'password_zindoze20';&lt;br /&gt;
 $Conf{RsyncShareName} = 'partage';&lt;br /&gt;
 $Conf{ClientNameAlias} = '192.168.0.20';&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Rsyncd_sur_Windows&amp;diff=5858</id>
		<title>Rsyncd sur Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Rsyncd_sur_Windows&amp;diff=5858"/>
				<updated>2014-01-21T09:39:56Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Charger cwRsync_server_Installer.zip sur http://sourceforge.net/projects/sereds/files/cwRsync/&lt;br /&gt;
&lt;br /&gt;
Installer rsync-server (noter le nom et le mot de passe du propriétaire du service rsync-server).&lt;br /&gt;
&lt;br /&gt;
Paramétrer Program Files\ICW\rsynd.conf&lt;br /&gt;
 use chroot = false&lt;br /&gt;
 max connections = 1&lt;br /&gt;
 auth users = zindoze20&lt;br /&gt;
 pid file = C:\Program Files (x86)\ICW\rsyncd.pid&lt;br /&gt;
 lock file = C:\Program Files (x86)\ICW\rsyncd.lock&lt;br /&gt;
 secrets file = C:\Program Files (x86)\ICW\rsyncd.secrets&lt;br /&gt;
 strict modes = false&lt;br /&gt;
 hosts allow = 12.34.56.7&lt;br /&gt;
 log file = rsyncd.log&lt;br /&gt;
 uid = 0&lt;br /&gt;
 gid = 0&lt;br /&gt;
 &lt;br /&gt;
 # Module definitions&lt;br /&gt;
 # Remember cygwin naming conventions : c:\work becomes /cygwin/c/work&lt;br /&gt;
 #&lt;br /&gt;
 [partage]&lt;br /&gt;
 path = /cygdrive/c/partage&lt;br /&gt;
 read only = false&lt;br /&gt;
 transfer logging = yes&lt;br /&gt;
&lt;br /&gt;
Créer Program Files\ICW\rsynd.secrets contenant l'utisateur et le mot de passe que BAckupPC utilisera pour se connecter (Différent du propriétaire du service)&lt;br /&gt;
 zindoze20:password_zindoze20&lt;br /&gt;
&lt;br /&gt;
Eventuellement penser à ouvrir le port 873 sur le firewall de Windows, et/ou le firewall du réseau&lt;br /&gt;
&lt;br /&gt;
Lancer le service rsync-server.&lt;br /&gt;
&lt;br /&gt;
Tester l'accès rsync&lt;br /&gt;
 rsync --list-only zindoze20@serveurWindows.domain.net::partage&lt;br /&gt;
&lt;br /&gt;
Dans Backuppc, paramétrer la machine (par le GUI, ou dans le fichier de configuration)&lt;br /&gt;
 $Conf{XferMethod} = 'rsyncd';&lt;br /&gt;
 $Conf{RsyncdUserName} = 'zindoze20';&lt;br /&gt;
 $Conf{RsyncdPasswd} = 'password_zindoze20';&lt;br /&gt;
 $Conf{RsyncShareName} = 'partage';&lt;br /&gt;
 $Conf{ClientNameAlias} = '192.168.0.20';&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Installer_le_client_no-ip&amp;diff=5807</id>
		<title>Installer le client no-ip</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Installer_le_client_no-ip&amp;diff=5807"/>
				<updated>2013-08-23T14:23:25Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Récuperer les sources :&lt;br /&gt;
 wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz&lt;br /&gt;
 tar xvzf noip-duc-linux.tar.gz&lt;br /&gt;
 cd noip-2.1.9-1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Compiler :&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
Répondre au question posées&lt;br /&gt;
&lt;br /&gt;
Si vous souhaitez utiliser un groupe, lors de la demande de login rentrez :&lt;br /&gt;
GROUPE:E-MAIL&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Copier le script de démarage :&lt;br /&gt;
 cp debian.noip2.sh /etc/init.d/noip.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Editer le fichier pour mettre l'en-tête :&lt;br /&gt;
 vim /etc/init.d/noip.sh&lt;br /&gt;
&lt;br /&gt;
 ### BEGIN INIT INFO&lt;br /&gt;
 # Provides:          noip2&lt;br /&gt;
 # Required-Start:    $remote_fs $syslog&lt;br /&gt;
 # Required-Stop:     $remote_fs $syslog&lt;br /&gt;
 # Default-Start:     2 3 4 5&lt;br /&gt;
 # Default-Stop:      0 1 6&lt;br /&gt;
 # Short-Description: Démarre le daemon no-ip&lt;br /&gt;
 # Description:       envoi l'adresse ip publique au serveur dns no-ip&lt;br /&gt;
 ### END INIT INFO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Donner les droits d'execution :&lt;br /&gt;
 chmod +x /etc/init.d/noip.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Activer au démarage :&lt;br /&gt;
 update-rc.d /etc/init.d/noip.sh defaults&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Rdiff-backup&amp;diff=5754</id>
		<title>Rdiff-backup</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Rdiff-backup&amp;diff=5754"/>
				<updated>2013-08-09T15:00:45Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : /* Installation sur Centos 6 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Linux =&lt;br /&gt;
== Installation ==&lt;br /&gt;
Sur '''Debian 5''' --&amp;gt; v1.2.5 (la différence de version mineure (.5 pour .8) ne provoque qu'un avertissement)&lt;br /&gt;
 apt-get install rdiff-backup&lt;br /&gt;
Si on veut une version plus récente, il faut compiler :&lt;br /&gt;
 apt-get install librsync-dev python-dev&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://savannah.nongnu.org/download/rdiff-backup/rdiff-backup-1.2.8.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 tar -xvzf rdiff-backup-1.2.8.tar.gz&lt;br /&gt;
 cd rdiff-backup-1.2.8&lt;br /&gt;
 python setup.py install&lt;br /&gt;
&lt;br /&gt;
Sur '''CentOS''', si ça n'a pas déjà été fait (pour munin par exemple), installation repos RPMForge (-&amp;gt; [[Dépôts complémentaires]]).&lt;br /&gt;
&lt;br /&gt;
Puis&lt;br /&gt;
 yum --enablerepo=rpmforge install rdiff-backup&lt;br /&gt;
&lt;br /&gt;
------------------&lt;br /&gt;
&lt;br /&gt;
== Echanger les clés DSA entre les serveurs ==&lt;br /&gt;
Afin que la connexion de Rdiff-backup via SSH ne demande pas de mot de passe, la clé ~/.ssh/id_dsa.pub de l'utilisateur qui se connecte à partir du &amp;quot;client&amp;quot; rdiff-backup doit être copiée &amp;quot;en une seule ligne&amp;quot; dans ~/.ssh/authorized_keys de l'utilisateur cible sur le serveur à sauvegarder. (se reporter à une procédure d'échange de clés pour SSH)&lt;br /&gt;
&lt;br /&gt;
------------------&lt;br /&gt;
&lt;br /&gt;
== Test d'accès à un serveur ==&lt;br /&gt;
 rdiff-backup --test-server root@192.168.1.21::/home&lt;br /&gt;
&lt;br /&gt;
------------------&lt;br /&gt;
== Sauvegardes ==&lt;br /&gt;
à partir d'un backup existant (cp ou rsync) : le répertoire destination existe mais n'est pas au format rdiff (manque les infos rdiff-data), il faut le forcer la première fois :&lt;br /&gt;
 rdiff-backup --force -v5 root@192.168.1.2::/etc /backup/etc &amp;gt; rdiff_server1.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
Ensuite on peut enlever le &amp;quot;--force&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
------------------&lt;br /&gt;
== Nettoyage ==&lt;br /&gt;
des incréments supérieurs à une fenêtre de rétention :&lt;br /&gt;
 rdiff-backup -v5 --remove-older-than 4W /backup&lt;br /&gt;
Le &amp;quot;4W&amp;quot; signifie &amp;quot;4 weeks&amp;quot;, soit 4 semaines à conserver. On peut donner un nombre de jours (&amp;quot;D&amp;quot;) ou d'heures (&amp;quot;H&amp;quot;). Tous les incréments supérieurs à ce délai seront supprimés.&lt;br /&gt;
&lt;br /&gt;
== Informations sur les sauvegardes ==&lt;br /&gt;
Liste des incréments :&amp;lt;br/&amp;gt;&lt;br /&gt;
Sur le serveur de sauvegarde :&lt;br /&gt;
 rdiff-backup -l /home/backup/server1/home/&lt;br /&gt;
A partir du serveur sauvegardé (remote-schema n'est utile que si le port ssh n'est pas standard) :&lt;br /&gt;
 rdiff-backup -l --remote-schema='ssh -p 225 -C %s rdiff-backup --server' root@192.168.1.250::/home/backup&lt;br /&gt;
On peut lister aussi les tailles des différents incréments&lt;br /&gt;
 rdiff-backup --list-increment-sizes /home/backup/server1/home/&lt;br /&gt;
------------------&lt;br /&gt;
&lt;br /&gt;
== Restore - Exemples ==&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;NOTE&amp;lt;/span&amp;gt; :''' le restore '''NE FONCTIONNE PAS SUR LES LIENS'''. Il faut indiquer le &amp;quot;vrai&amp;quot; répertoire ou fichier physique à restorer.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;NOTE 2&amp;lt;/span&amp;gt; :''' VERIFIER LES '''DROITS DES REPERTOIRES''' APRES UNE RESTAURATION, ils peuvent avoir changé.&lt;br /&gt;
&lt;br /&gt;
 # fichier /etc/hosts d'il y a 1 heure (--force si le fichier existe et qu'il faut l'écraser)&lt;br /&gt;
 rdiff-backup -v5 -r &amp;quot;1h&amp;quot; --force ./etc/hosts root@192.168.1.2::/etc/hosts&lt;br /&gt;
'''NOTE :''' le nom du fichier doit être indiqué à la source COMME A LA DESTINATION, sinon rdiff remonte TOUT LE REPERTOIRE !&lt;br /&gt;
&lt;br /&gt;
 # répertoire /etc d'il y a 3 jours&lt;br /&gt;
 rdiff-backup -v5 -r &amp;quot;3D&amp;quot; --force ./etc root@192.168.1.2::/etc&lt;br /&gt;
'''NOTE :''' le &amp;quot;-r&amp;quot; est obligatoire, on peut mettre &amp;quot;'''-r now'''&amp;quot;, ou mieux: &amp;quot; '''-r &amp;quot;1B&amp;quot;''' &amp;quot; pour remonter la dernière sauvegarde. D'autres solutions sont &amp;quot;1D&amp;quot; (comme pour le backup) pour remonter la veille, ou 5m3s, ou 2010-12-21. &amp;lt;br/&amp;gt;&lt;br /&gt;
'''NOTE 2 :''' pour remonter un répertoire complet, il faut l'indiquer la source comme à la destination '''SANS &amp;quot;/&amp;quot; APRES''' (voir ci-dessus l'exemple /etc)&lt;br /&gt;
&lt;br /&gt;
Exemple plus complet :&lt;br /&gt;
 # rdiff-backup -l /mnt/backup/server1&lt;br /&gt;
 Found 5 increments:&lt;br /&gt;
    increments.'''2013-04-12'''T01:28:44+02:00.dir   Fri Apr 12 01:28:44 2013&lt;br /&gt;
    increments.2013-04-13T01:29:00+02:00.dir   Sat Apr 13 01:29:00 2013&lt;br /&gt;
    increments.2013-04-15T01:27:16+02:00.dir   Mon Apr 15 01:27:16 2013&lt;br /&gt;
    increments.2013-04-16T01:29:06+02:00.dir   Tue Apr 16 01:29:06 2013&lt;br /&gt;
    increments.2013-04-17T01:31:23+02:00.dir   Wed Apr 17 01:31:23 2013&lt;br /&gt;
 Current mirror: Thu Apr 18 01:29:44 2013&lt;br /&gt;
&lt;br /&gt;
 # rdiff-backup -v5 -r &amp;quot;'''2013-04-12'''&amp;quot; --force /mnt/backup/server1/home/web root@server1.localdomain::/home/web&lt;br /&gt;
&lt;br /&gt;
== NOTE : partages CIFS/SMBFS ==&lt;br /&gt;
Documentation rdiff-backup :&lt;br /&gt;
 rdiff-backup fails to run, printing an exception about &amp;quot;assert not upper_a.lstat()&amp;quot; failing. This can be resolved by unmounting the share, running the following command as root:&lt;br /&gt;
 $ echo 0 &amp;gt; /proc/fs/cifs/LookupCacheEnabled&lt;br /&gt;
 and then remounting the CIFS share.&lt;br /&gt;
Penser à ajouter cette ligne à /etc/rc.local pour qu'elle soit exécutée au démarrage du serveur.&lt;br /&gt;
&lt;br /&gt;
De plus, si Windows est la destination des backups (par un montage samba sur une machine linux par exemple), il faut penser que le système cible '''ne connait pas les ACL unix''' (droits sur les fichiers, propriétaires, etc...). Il faut donc dire à rdiff-backup de ne pas essayer de faire des &amp;quot;chmod&amp;quot; et &amp;quot;chown&amp;quot;. Windows ne sait pas non plus interpréter les liens, qu'ils soient hards ou symboliques.&lt;br /&gt;
&lt;br /&gt;
Lancer rdiff-backup avec les options suivantes (en plus d'éventuelles autres options qui semblent utiles):&lt;br /&gt;
 --no-hard-links --exclude-symbolic-links --no-acls --no-eas&lt;br /&gt;
Dans le fichier de configuration du script rdbackup ci-dessous, le paramètre RDIFF_OPTS serait donc:&lt;br /&gt;
 RDIFF_OPTS=&amp;quot;-v5 --force --create-full-path --exclude-fifos --exclude-sockets --no-hard-links --exclude-symbolic-links --no-acls --no-eas&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== '''&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;DEPANNAGE&amp;lt;/span&amp;gt;''' ==&lt;br /&gt;
Si après un problème de sauvegarde (disque plein, coupure de session ssh, etc...), les backups suivants se terminent en erreur (erreurs checksum ou autres), il faut '''supprimer le répertoire rdiff-backup-data''' et relancer un backup avec --force pour repartir à zéro (on perd l'historique des incréments !).&lt;br /&gt;
&lt;br /&gt;
= Rdiff-backup-web =&lt;br /&gt;
Installer rdiff-backup-web sur un serveur apache/php/mysql ayant accès aux répertoires de backup.&lt;br /&gt;
 apt-get install apache2 php5 php-mysql mysql-server&lt;br /&gt;
 cd /var/www&lt;br /&gt;
 wget http://sourceforge.net/projects/rdiffbackupweb/files/rdiffbackupweb/0.09/rdiff-backup-web.0.09.tar.gz&lt;br /&gt;
 tar -xvzf rdiff-backup-web.0.09.tar.gz&lt;br /&gt;
Déclarer un virtualhost Apache avec comme DocumentRoot le répertoire rdiff-backup-web ainsi créé.&lt;br /&gt;
&lt;br /&gt;
Créer une base mysql (par convention nommée &amp;quot;rdiff&amp;quot;). Créer un utilisateur rdiff ayant tous les droits sur cette base.&lt;br /&gt;
 mysql -p&lt;br /&gt;
 mysql&amp;gt; create database rdiff;&lt;br /&gt;
 mysql&amp;gt; grant all privileges on rdiff.* to rdiff identified by 'mot_de_passe';&lt;br /&gt;
 mysql&amp;gt; exit&lt;br /&gt;
Charger la base&lt;br /&gt;
 mysql -p rdiff &amp;lt; /var/www/rdiff-backup-web/rdiff.sql&lt;br /&gt;
Configurer cette base et l'utilisateur dans /var/www/rdiff-backup-web/config.php, ainsi que l'arborescence de la destination des backups.&lt;br /&gt;
&lt;br /&gt;
Se connecter à l'interface dans un navigateur, connexion avec &amp;quot;admin&amp;quot;/&amp;quot;admin&amp;quot; par défaut. Supprimer l'utilisateur &amp;quot;test&amp;quot; inutil et changer tout de suite le mot de passe admin.&lt;br /&gt;
&lt;br /&gt;
= rdiffweb =&lt;br /&gt;
rdiffWeb est une interface web avec un backend en python pour naviguer et restaurer les backups fait avec rdiff-backup.&lt;br /&gt;
&lt;br /&gt;
http://www.rdiffweb.org/wiki/index.php?title=Installation &amp;lt;br/&amp;gt;&lt;br /&gt;
http://open.nshare.de/wiki/setup/rdiffweb-behind-apache-reverse-proxy&lt;br /&gt;
&lt;br /&gt;
== Installation sur Centos 6 ==&lt;br /&gt;
&lt;br /&gt;
Ajouter le dépôt rpmforge &lt;br /&gt;
&lt;br /&gt;
Installer les dépendances:&lt;br /&gt;
 yum install sqlite-devel&lt;br /&gt;
 yum install --enablerepo=rpmforge python-cherrypy&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Installer le rpm :&lt;br /&gt;
yum install http://www.rdiffweb.org/releases/rdiffWeb-0.6.3-1.noarch.rpm&lt;br /&gt;
 wget http://www.rdiffweb.org/releases/rdiffWeb-0.6.3-1.noarch.rpm&lt;br /&gt;
 rpm --nodeps -ivh rdiffWeb-0.6.3-1.noarch.rpm --&amp;gt;&lt;br /&gt;
* Installer le rpm source :&lt;br /&gt;
 wget http://www.rdiffweb.org/releases/rdiffWeb-0.6.3-1.src.rpm&lt;br /&gt;
 yum install rpmdevtools yum-utils&lt;br /&gt;
 rpmbuild --rebuild rdiffWeb-0.6.3-1.src.rpm&lt;br /&gt;
 yum install /root/rpmbuild/RPMS/noarch/rdiffWeb-0.6.3-1.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
lancer cette commande permet de configurer rdiff-web :&lt;br /&gt;
 rdiff-web-config&lt;br /&gt;
&lt;br /&gt;
Éditer le fichier de configuration :&lt;br /&gt;
 vim /etc/rdiffweb/rdw.conf&lt;br /&gt;
&lt;br /&gt;
Ajouter ceci&lt;br /&gt;
 ServerName=localhost&lt;br /&gt;
 ServerPort=8080&lt;br /&gt;
 '''ServerHost=0.0.0.0'''&lt;br /&gt;
&lt;br /&gt;
Mettre 0.0.0.0 permet d’accéder à l'interface web depuis un autre ordinateur sur le port 8080. Le port peut également être modifié.&lt;br /&gt;
ATTENTION : La configuration automatique de rdw.conf met 'ServerName'. Il faut le remplacer par 'ServerHost'.&lt;br /&gt;
&lt;br /&gt;
Problème de lancement de rdiffweb : &lt;br /&gt;
 cherrypy.engine.on_stop_engine_list.append(lambda: killEvent.set())&lt;br /&gt;
 AttributeError: 'Bus' object has no attribute 'on_stop_engine_list'&lt;br /&gt;
&lt;br /&gt;
Il faut lancer rdiff-web avec l'option -d : rdiffweb -d .&lt;br /&gt;
&lt;br /&gt;
L'option &amp;quot;-d&amp;quot; peut aussi manquer dans le script de démarrage. Éditer /etc/init.d/rdiff-web et modifier la ligne :&lt;br /&gt;
 /usr/bin/rdiff-web --pid-file=&amp;quot;$PIDFILE&amp;quot; \&lt;br /&gt;
par&lt;br /&gt;
 /usr/bin/rdiff-web '''-d''' --pid-file=&amp;quot;$PIDFILE&amp;quot; \&lt;br /&gt;
&lt;br /&gt;
== Installation sur Debian ==&lt;br /&gt;
&lt;br /&gt;
exécuter le script se trouvant sur le dépôt git :&lt;br /&gt;
 https://indefero.systea.fr/p/rdiffweb/source/file/master/rdiffweb-install-debian.sh&lt;br /&gt;
Le script original se trouve sur http://www.timedicer.co.uk/programs/help/rdiffweb-install.sh.php . le script précédant est allégé par rapport à celui-ci.&lt;br /&gt;
&lt;br /&gt;
= Script bash =&lt;br /&gt;
== script rdbackup.sh ==&lt;br /&gt;
Un dépot git contenant les sources est disponible ici : https://indefero.systea.fr/p/rdbackup/source/tree/master/&lt;br /&gt;
&lt;br /&gt;
Pour récupérer directement la derniere version disponible avec wget : &lt;br /&gt;
 wget --content-disposition --no-check-certificate https://indefero.systea.fr/p/rdbackup/source/download/master/&lt;br /&gt;
&lt;br /&gt;
= Windows =&lt;br /&gt;
== Installation ==&lt;br /&gt;
Télécharger :&lt;br /&gt;
* Rdiff (rdiff-backup-1.2.8-win32.zip)&lt;br /&gt;
 http://www.nongnu.org/rdiff-backup/&lt;br /&gt;
* putty, plink et puttygen&lt;br /&gt;
 http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html&lt;br /&gt;
* Blat (blat262.full.sip)&lt;br /&gt;
 http://sourceforge.net/projects/blat/files/&lt;br /&gt;
&lt;br /&gt;
== Préparation de la connexion SSH ==&lt;br /&gt;
''Note : on considère ici que la sauvegarde est lancée d'un poste Windows vers un serveur linux''&lt;br /&gt;
&lt;br /&gt;
Lancer puttygen. Sélectionner &amp;quot;SSH-2 DSA&amp;quot; en bas, cliquer sur &amp;quot;Generate&amp;quot; et bouger la souris dans l'espace blanc au milieu de la fenêtre.&lt;br /&gt;
&lt;br /&gt;
'''Copier''' la clé DSA qui s'affiche en haut de la fenêtre (sans oublier aucun caractère !), la passer telle, '''en une seule ligne''', quelle vers le serveur linux (via un fichier par scp/ftp, ou mail, ou copier/coller dans une console putty) dans le fichier ~/.ssh/authorized_keys du serveur.&lt;br /&gt;
&lt;br /&gt;
Sauvegarder les clés dans le répertoire Documents and Setting (Win XP/2003) ou Users (Win 7/2008) de l'utilisateur qui lancera rdiff-backup.&lt;br /&gt;
* Clé publique :&lt;br /&gt;
 en cliquant sur &amp;quot;save public key&amp;quot;&lt;br /&gt;
 nommer le fichier privatekey.pub&lt;br /&gt;
&lt;br /&gt;
* Clé privée :&lt;br /&gt;
 en cliquant sur &amp;quot;save private key&amp;quot;&lt;br /&gt;
 nommer le fichier privatekey.ppk&lt;br /&gt;
&lt;br /&gt;
== Tests de connexion ==&lt;br /&gt;
Tester la connexion avec plink (ce qui permet d'enregistrer localement la clé du serveur à la première connexion) :&lt;br /&gt;
 c:\backup\plink.exe -i C:\Users\''&amp;lt;utilisateur windows&amp;gt;''\privatekey.ppk ''utilisateur_cible@server.systea.net''&lt;br /&gt;
la connexion doit se faire sans demande de mot de passe.&lt;br /&gt;
&lt;br /&gt;
Tester rdiff-backup :&lt;br /&gt;
 c:\backup\rdiff-backup -v5 --test-server --remote-schema &amp;quot;c:\backup\plink.exe -P 22 -i C:\Users\''&amp;lt;utilisateur windows&amp;gt;''\privatekey.ppk %s rdiff-backup --server&amp;quot; ''utilisateur_cible@server.systea.net''::/tmp&lt;br /&gt;
&lt;br /&gt;
== Test de Blat ==&lt;br /&gt;
Tester un envoi (le nom de fichier qui constituera le corps du mail est '''obligatoire''', sinon blat reste &amp;quot;en attente&amp;quot; et ne rend jamais la main).&lt;br /&gt;
 blat c:\backup\fichier.txt -to ''destinataire@server.systea.net'' -server ''smtp.orange.fr'' -f ''expediteur@serveur.com'' -s &amp;quot;SUJET DU MAIL&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Script de sauvegarde ==&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;NOTE&amp;lt;/span&amp;gt; : le &amp;quot;%s&amp;quot; doit être transformé en &amp;quot;%%s&amp;quot; pour être reconnu par l'interpréteur DOS.'''&lt;br /&gt;
 rem @echo off&lt;br /&gt;
 set ERROR=0&lt;br /&gt;
 set MAILOPTS=-server ''smtp.orange.fr'' -f ''expediteur@serveur.com''&lt;br /&gt;
 &lt;br /&gt;
 copy c:\backup\backup.log c:\backup\backup.log.0&lt;br /&gt;
 &lt;br /&gt;
 c:\backup\rdiff-backup\rdiff-backup.exe -v5 --remote-schema &amp;quot;c:\backup\plink -P 22 -i c:\Users\''&amp;lt;Utilisateur Windows&amp;gt;''\privatekey.ppk %%s rdiff-backup --server&amp;quot; &amp;quot;c:/partage/&amp;quot; ''USER''@''SERVER.systea.net''::/home/backup/partage &amp;gt; c:\backup\backup.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
 IF NOT &amp;quot;%ERRORLEVEL%&amp;quot;==&amp;quot;0&amp;quot; (&lt;br /&gt;
    set ERROR=1)&lt;br /&gt;
 REM le LOG n'est pas relaché tout de suite, on doit simuler une pause de 5 secondes...&lt;br /&gt;
 ping -n 5 127.0.0.1&lt;br /&gt;
 c:\backup\rdiff-backup\rdiff-backup.exe -v5 --remote-schema &amp;quot;c:\backup\plink -P 22 -i c:\Users\''&amp;lt;Utilisateur Windows&amp;gt;''\privatekey.ppk %%s rdiff-backup --server&amp;quot; --remove-older-than 4W ''USER''@''SERVER.systea.net''::/home/backup/partage &amp;gt;&amp;gt; c:\backup\backup.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
 IF NOT &amp;quot;%ERRORLEVEL%&amp;quot;==&amp;quot;0&amp;quot; (&lt;br /&gt;
    set ERROR=1)&lt;br /&gt;
 ping -n 5 127.0.0.1&lt;br /&gt;
 &lt;br /&gt;
 IF &amp;quot;%ERROR%&amp;quot;==&amp;quot;0&amp;quot; (&lt;br /&gt;
    c:\backup\blat\full\blat c:\backup\backup.log -to ''destinataire@systea.net'' %MAILOPTS% -s &amp;quot;Sauvegarde terminee&amp;quot; &amp;gt; c:\backup\blat.log 2&amp;gt;&amp;amp;1 )&lt;br /&gt;
 IF NOT &amp;quot;%ERROR%&amp;quot;==&amp;quot;0&amp;quot; (&lt;br /&gt;
    c:\backup\blat\full\blat c:\backup\backup.log -to ''destinataire@systea.net'' %MAILOPTS% -s &amp;quot;Probleme sauvegarde&amp;quot; &amp;gt; c:\backup\blat.log 2&amp;gt;&amp;amp;1 )&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Installation_serveur_LTSP_sous_Ubuntu_10.04_LTS&amp;diff=5753</id>
		<title>Installation serveur LTSP sous Ubuntu 10.04 LTS</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Installation_serveur_LTSP_sous_Ubuntu_10.04_LTS&amp;diff=5753"/>
				<updated>2013-08-09T14:46:43Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : /* Le client léger charge le noyaux mais refuse de booter */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mise en place d'un serveur ltsp avec des clients lourd. Les applications ne sont pas exécutées sur le serveurs mais sur le client. Le client charge seulement le noyau et le serveur lui envoi les applications en fonction de la demande. Le dhcp ne se trouve pas sur le serveur mais est géré par un IPCop. Les comptes clients sont en local sur le serveur et le home est montée par le réseau sur le client.&lt;br /&gt;
&lt;br /&gt;
== DELL T1600 ==&lt;br /&gt;
carte réseau gigabyte de la carte mère visible par lpci mais invisible par le noyau. Affichage en 800x600.&lt;br /&gt;
&lt;br /&gt;
=== Charger le module e1000e ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget http://sourceforge.net/projects/e1000/files/e1000e\ stable/1.9.5/e1000e-1.9.5.tar.gz&lt;br /&gt;
tar -xvf e1000e-1.9.5.tar.gz&lt;br /&gt;
cd e1000e-1.9.5/src/&lt;br /&gt;
sudo make install&lt;br /&gt;
sudo modprobe e1000e&lt;br /&gt;
sudo dhclient eth0 #si ne marche pas rebooter la machine&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sandy bridge chipset integré ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo add-apt-repository ppa:glasen/intel-driver&lt;br /&gt;
sudo add-apt-repository ppa:kernel-ppa/ppa&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get upgrade&lt;br /&gt;
sudo apt-get install linux-image-generic-lts-backport-natty linux-headers-generic-lts-backport-natty&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== LTPS ==&lt;br /&gt;
=== Configuration des cartes ===&lt;br /&gt;
Désactiver networkmanager pour la gestion du réseau : &lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo service network-manager stop&lt;br /&gt;
sudo update-rc.d -f network-manager remove&lt;br /&gt;
vim /etc/network/interfaces&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
        address 192.168.2.149&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        network 192.168.2.0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Relancer /etc/init.d/networking&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installation de ltsp ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get install ltsp-server-standalone&lt;br /&gt;
sudo apt-get remove dhcp3-server&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Créer le fichier /var/lib/tftpboot/ltsp/i386/lts.conf &amp;lt;br/&amp;gt;&lt;br /&gt;
http://manpages.ubuntu.com/manpages/lucid/man5/lts.conf.5.html&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[default]&lt;br /&gt;
	SERVER = 192.168.2.149&lt;br /&gt;
	LOCALDEV = True&lt;br /&gt;
	SOUND = True&lt;br /&gt;
	SYSLOG_HOST = server&lt;br /&gt;
	XKBLAYOUT = fr&lt;br /&gt;
	LDM_AUTOLOGIN = True&lt;br /&gt;
#	LDM_GUESTLOGIN = True&lt;br /&gt;
	LDM_LANGUAGE =&amp;quot;fr_FR.UTF-8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[00:e0:c5:XX:XX:X1]&lt;br /&gt;
	LDM_USERNAME = X_public_01&lt;br /&gt;
	LDM_PASSWORD = XXXXX&lt;br /&gt;
&lt;br /&gt;
[00:e0:c5:XX:XX:X2]&lt;br /&gt;
	LDM_USERNAME = X_public_02&lt;br /&gt;
	LDM_PASSWORD = XXXXX&lt;br /&gt;
&lt;br /&gt;
[00:e0:c5:XX:XX:X3]&lt;br /&gt;
	LDM_USERNAME = X_public_03&lt;br /&gt;
	LDM_PASSWORD = XXXXX&lt;br /&gt;
&lt;br /&gt;
[00:e0:c5:XX:XX:X4]&lt;br /&gt;
	LDM_USERNAME = X_public_04&lt;br /&gt;
	LDM_PASSWORD = XXXXX&lt;br /&gt;
&lt;br /&gt;
[00:e0:c5:XX:XX:X5]&lt;br /&gt;
	LDM_USERNAME = X_public_05&lt;br /&gt;
	LDM_PASSWORD = XXXXX&lt;br /&gt;
&lt;br /&gt;
[00:e0:c5:XX:XX:X6]&lt;br /&gt;
	LDM_USERNAME = X_public_06&lt;br /&gt;
	LDM_PASSWORD = XXXXX&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faudra ajouter les utilisateurs sur le serveur :&lt;br /&gt;
 adduser X_public_01&lt;br /&gt;
&lt;br /&gt;
===  Création de l'image ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ltsp-build-client --arch i386 --locale fr_FR --fat-client &lt;br /&gt;
sudo chroot /opt/ltsp/i386 &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
avant d'installer quoi que ce soit :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mount -t proc proc /proc&lt;br /&gt;
mount -t sysfs sys /sys&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En quittant :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exit&lt;br /&gt;
sudo umount /opt/ltsp/i386/proc&lt;br /&gt;
sudo umount /opt/ltsp/i386/sys&lt;br /&gt;
sudo ltsp-update-image -a i386&lt;br /&gt;
sudo ltsp-update-kernels #si mise a jour du kernel&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Configuration PXE ===&lt;br /&gt;
'''Ipcop :'''&lt;br /&gt;
DHCP[[Fichier:ipcopltsp.png]]&lt;br /&gt;
&lt;br /&gt;
'''DD-wrt :'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Dans la section service&amp;lt;br/&amp;gt;&lt;br /&gt;
DNSmasq:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;dhcp-boot=ltsp/i386/pxelinux.0,,192.168.2.149&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Configuration de l'image ===&lt;br /&gt;
==== Echange de clé ssh ====&lt;br /&gt;
Dans le chroot :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt-get install openssh-server&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sur le compte qui administrera les clients, créer un coupe clé privée/clé publique demo.priv/demo.pub sans mot de passe et le mettre dans le chroot :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh-keygen -t rsa&lt;br /&gt;
cat ~/.ssh/id_rsa.pub &amp;gt;&amp;gt; $CHROOT/root/.ssh/authorized_keys&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Éteindre les machines à distance ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
Nbr=1&lt;br /&gt;
for i in `seq 111 116` ; do&lt;br /&gt;
echo &amp;quot;Extinction de X_Public_0$Nbr&amp;quot;&lt;br /&gt;
ssh -l -f -o StrictHostKeyChecking=no root@192.168.2.$i &amp;quot;halt;exit&amp;quot;&lt;br /&gt;
Nbr=`expr $Nbr + 1`&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Paquets ====&lt;br /&gt;
Paquets à enlever et à supprimer :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get install ubuntu-restricted-extras nfs-common smbfs vlc chromium-browser 7zip numlockx&lt;br /&gt;
sudo apt-get install language-pack-gnome-fr-base language-pack-fr-base firefox-locale-fr&lt;br /&gt;
sudo apt-get remove tomboy transmission tsclient vino vinagre brasero pitivi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installer libreoffice &amp;lt;br/&amp;gt;&lt;br /&gt;
ajouter le ppa&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;sudo add-apt-repository ppa:libreoffice/ppa&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On met à jour:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;sudo apt-get update&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On installe me « meta-package » LibreOffice:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;sudo apt-get install libreoffice libreoffice-common&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite l’intégration pour gnome:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;sudo apt-get install libreoffice-gnome&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et pour terminer la langue française:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;sudo apt-get install libreoffice-l10n-fr&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Vérouiller la session ====&lt;br /&gt;
Automatiquement :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#suppression des répertoires inutiles&lt;br /&gt;
rmdir ~/Documents&lt;br /&gt;
rm ~/examples.desktop&lt;br /&gt;
rmdir ~/Images&lt;br /&gt;
rmdir ~/Modèles&lt;br /&gt;
rmdir ~/Musique&lt;br /&gt;
rmdir ~/Public&lt;br /&gt;
rmdir ~/Téléchargements&lt;br /&gt;
rmdir ~/Vidéos&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#modification de gconf&lt;br /&gt;
gconftool-2 --set --type string /apps/metacity/general/button_layout &amp;quot;:minimize,maximize,close&amp;quot; #déplacer les boutons des fenêtre vers la droite&lt;br /&gt;
gconftool-2 --set --type bool /apps/panel/global/locked_down true #verrouiller le tableau de bord&lt;br /&gt;
gconftool-2 --set --type string /apps/metacity/global_keybindings/panel_run_dialog &amp;quot;disabled&amp;quot; #desactiver alt + F2&lt;br /&gt;
gconftool-2 --set --type string /apps/metacity/global_keybindings/run_command_terminal &amp;quot;disabled&amp;quot; #desactiver raccourci clavier du terminal&lt;br /&gt;
gconftool-2 --set --type int /apps/metacity/general/num_workspaces 1 #limiter les espaces de travail à 1&lt;br /&gt;
gconftool-2 --set --type bool /apps/gnome-screensaver/lock_enabled false #desactiver le verrouillage de l'ecran&lt;br /&gt;
gconftool-2 --set --type bool /apps/gnome-screensaver/idle_activation_enabled false&lt;br /&gt;
gconftool-2 --set --type bool /desktop/gnome/interface/menus_have_icons true #icones dans les menus&lt;br /&gt;
gconftool-2 --set --type bool /desktop/gnome/interface/buttons_have_icons true&lt;br /&gt;
gconftool-2 --set --type bool /desktop/gnome/lockdown/disable_lock_screen true&lt;br /&gt;
gconftool-2 --set --type string /desktop/gnome/background/picture_filename &amp;quot;/home/$USER/.wallpaper/wallpaper.jpg&amp;quot;&lt;br /&gt;
gconftool-2 --set --type int /apps/gnome-power-manager/timeout/sleep_display_ac 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Manuellement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''application au démarage'''&lt;br /&gt;
ajouter les applications :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;gconftool-2 --set --type string /desktop/gnome/background/picture_filename &amp;quot;/home/X_public_0*/.wallpaper/wallpaper.jpg&amp;quot;&lt;br /&gt;
numlockx #a la première connexion sur le compte X_public_0* lancer terminal et faire : numlockx on&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lancer firefox pour créer profil public &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
systeme menu =&amp;gt; préférences =&amp;gt; menu principal &amp;lt;br/&amp;gt;&lt;br /&gt;
desactiver terminal, préférence, administration, ubuntu softwate center &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Acceder au Bureau des clients léger depuis le compte admin ====&lt;br /&gt;
Executer le script depuis un compte administrateur de la Machine&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
for i in `seq -w 01 10`; do&lt;br /&gt;
sudo chmod 777 /home/X_public_$i/Bureau&lt;br /&gt;
sudo ln -s /home/X_public_$i/Bureau /home/ADMIN/Bureau/Bureau\ clients/X_public_$i&lt;br /&gt;
sudo mkdir /home/X_public_$i/.wallpaper&lt;br /&gt;
sudo rm /home/X_public_$i/Bureau/Bureau&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==== Problèmes ====&lt;br /&gt;
=== Le client léger charge le noyaux mais refuse de booter ===&lt;br /&gt;
Dans les log de pfsense ceci :&lt;br /&gt;
 dhcp: Dropped DHCPv4 packet with zero-length client-id&lt;br /&gt;
&lt;br /&gt;
et en boucle lors du démarrage  du client léger (f2 pour cacher plymouth)&lt;br /&gt;
 udhcpc (v0.9.9-pre) started&lt;br /&gt;
 Sending discover...&lt;br /&gt;
 Sending discover...&lt;br /&gt;
 Sending discover...&lt;br /&gt;
 No lease, failing.&lt;br /&gt;
 sleepnow&lt;br /&gt;
 udhcpc (v0.9.9-pre) started&lt;br /&gt;
 Sending discover...&lt;br /&gt;
 Sending discover...&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il semblerai que ce soit un bug de la version de ltsp de ubuntu 10.04 https://bugs.launchpad.net/ubuntu/+source/ltsp/+bug/505916. Pour le résoudre :&lt;br /&gt;
 &lt;br /&gt;
* Dans /opt/ltsp/i386/usr/share/initramfs-tools/scripts/init-premount/udhcp, changer la ligne suivante:&lt;br /&gt;
        if udhcpc -n -c &amp;quot;$clientid&amp;quot; -s /tmp/dhcp-script.sh -i $i $hostname_param $ip_param &amp;gt;/dev/null 2&amp;gt;&amp;amp;1; then&lt;br /&gt;
par&lt;br /&gt;
        if udhcpc -n -C -s /tmp/dhcp-script.sh -i $i $hostname_param $ip_param &amp;gt;/dev/null 2&amp;gt;&amp;amp;1; then&lt;br /&gt;
&lt;br /&gt;
* puis recharger la séquence de démarrage et reconstruire le noyau :&lt;br /&gt;
        sudo chroot /opt/ltsp/i386 update-initramfs -u &amp;amp;&amp;amp; sudo ltsp-update-kernels&lt;br /&gt;
&lt;br /&gt;
Relancer les clients léger le problème sera résolut&lt;br /&gt;
&lt;br /&gt;
=== Sources ===&lt;br /&gt;
https://help.ubuntu.com/community/UbuntuLTSP &amp;lt;br/&amp;gt;&lt;br /&gt;
http://manpages.ubuntu.com/manpages/lucid/man5/lts.conf.5.html&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Installation_serveur_LTSP_sous_Ubuntu_10.04_LTS&amp;diff=5752</id>
		<title>Installation serveur LTSP sous Ubuntu 10.04 LTS</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Installation_serveur_LTSP_sous_Ubuntu_10.04_LTS&amp;diff=5752"/>
				<updated>2013-08-09T14:44:23Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : /* Le client léger charge le noyaux mais refuse de booter */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mise en place d'un serveur ltsp avec des clients lourd. Les applications ne sont pas exécutées sur le serveurs mais sur le client. Le client charge seulement le noyau et le serveur lui envoi les applications en fonction de la demande. Le dhcp ne se trouve pas sur le serveur mais est géré par un IPCop. Les comptes clients sont en local sur le serveur et le home est montée par le réseau sur le client.&lt;br /&gt;
&lt;br /&gt;
== DELL T1600 ==&lt;br /&gt;
carte réseau gigabyte de la carte mère visible par lpci mais invisible par le noyau. Affichage en 800x600.&lt;br /&gt;
&lt;br /&gt;
=== Charger le module e1000e ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget http://sourceforge.net/projects/e1000/files/e1000e\ stable/1.9.5/e1000e-1.9.5.tar.gz&lt;br /&gt;
tar -xvf e1000e-1.9.5.tar.gz&lt;br /&gt;
cd e1000e-1.9.5/src/&lt;br /&gt;
sudo make install&lt;br /&gt;
sudo modprobe e1000e&lt;br /&gt;
sudo dhclient eth0 #si ne marche pas rebooter la machine&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sandy bridge chipset integré ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo add-apt-repository ppa:glasen/intel-driver&lt;br /&gt;
sudo add-apt-repository ppa:kernel-ppa/ppa&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get upgrade&lt;br /&gt;
sudo apt-get install linux-image-generic-lts-backport-natty linux-headers-generic-lts-backport-natty&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== LTPS ==&lt;br /&gt;
=== Configuration des cartes ===&lt;br /&gt;
Désactiver networkmanager pour la gestion du réseau : &lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo service network-manager stop&lt;br /&gt;
sudo update-rc.d -f network-manager remove&lt;br /&gt;
vim /etc/network/interfaces&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
        address 192.168.2.149&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        network 192.168.2.0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Relancer /etc/init.d/networking&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installation de ltsp ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get install ltsp-server-standalone&lt;br /&gt;
sudo apt-get remove dhcp3-server&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Créer le fichier /var/lib/tftpboot/ltsp/i386/lts.conf &amp;lt;br/&amp;gt;&lt;br /&gt;
http://manpages.ubuntu.com/manpages/lucid/man5/lts.conf.5.html&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[default]&lt;br /&gt;
	SERVER = 192.168.2.149&lt;br /&gt;
	LOCALDEV = True&lt;br /&gt;
	SOUND = True&lt;br /&gt;
	SYSLOG_HOST = server&lt;br /&gt;
	XKBLAYOUT = fr&lt;br /&gt;
	LDM_AUTOLOGIN = True&lt;br /&gt;
#	LDM_GUESTLOGIN = True&lt;br /&gt;
	LDM_LANGUAGE =&amp;quot;fr_FR.UTF-8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[00:e0:c5:XX:XX:X1]&lt;br /&gt;
	LDM_USERNAME = X_public_01&lt;br /&gt;
	LDM_PASSWORD = XXXXX&lt;br /&gt;
&lt;br /&gt;
[00:e0:c5:XX:XX:X2]&lt;br /&gt;
	LDM_USERNAME = X_public_02&lt;br /&gt;
	LDM_PASSWORD = XXXXX&lt;br /&gt;
&lt;br /&gt;
[00:e0:c5:XX:XX:X3]&lt;br /&gt;
	LDM_USERNAME = X_public_03&lt;br /&gt;
	LDM_PASSWORD = XXXXX&lt;br /&gt;
&lt;br /&gt;
[00:e0:c5:XX:XX:X4]&lt;br /&gt;
	LDM_USERNAME = X_public_04&lt;br /&gt;
	LDM_PASSWORD = XXXXX&lt;br /&gt;
&lt;br /&gt;
[00:e0:c5:XX:XX:X5]&lt;br /&gt;
	LDM_USERNAME = X_public_05&lt;br /&gt;
	LDM_PASSWORD = XXXXX&lt;br /&gt;
&lt;br /&gt;
[00:e0:c5:XX:XX:X6]&lt;br /&gt;
	LDM_USERNAME = X_public_06&lt;br /&gt;
	LDM_PASSWORD = XXXXX&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faudra ajouter les utilisateurs sur le serveur :&lt;br /&gt;
 adduser X_public_01&lt;br /&gt;
&lt;br /&gt;
===  Création de l'image ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ltsp-build-client --arch i386 --locale fr_FR --fat-client &lt;br /&gt;
sudo chroot /opt/ltsp/i386 &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
avant d'installer quoi que ce soit :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mount -t proc proc /proc&lt;br /&gt;
mount -t sysfs sys /sys&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En quittant :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exit&lt;br /&gt;
sudo umount /opt/ltsp/i386/proc&lt;br /&gt;
sudo umount /opt/ltsp/i386/sys&lt;br /&gt;
sudo ltsp-update-image -a i386&lt;br /&gt;
sudo ltsp-update-kernels #si mise a jour du kernel&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Configuration PXE ===&lt;br /&gt;
'''Ipcop :'''&lt;br /&gt;
DHCP[[Fichier:ipcopltsp.png]]&lt;br /&gt;
&lt;br /&gt;
'''DD-wrt :'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Dans la section service&amp;lt;br/&amp;gt;&lt;br /&gt;
DNSmasq:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;dhcp-boot=ltsp/i386/pxelinux.0,,192.168.2.149&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Configuration de l'image ===&lt;br /&gt;
==== Echange de clé ssh ====&lt;br /&gt;
Dans le chroot :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt-get install openssh-server&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sur le compte qui administrera les clients, créer un coupe clé privée/clé publique demo.priv/demo.pub sans mot de passe et le mettre dans le chroot :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh-keygen -t rsa&lt;br /&gt;
cat ~/.ssh/id_rsa.pub &amp;gt;&amp;gt; $CHROOT/root/.ssh/authorized_keys&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Éteindre les machines à distance ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
Nbr=1&lt;br /&gt;
for i in `seq 111 116` ; do&lt;br /&gt;
echo &amp;quot;Extinction de X_Public_0$Nbr&amp;quot;&lt;br /&gt;
ssh -l -f -o StrictHostKeyChecking=no root@192.168.2.$i &amp;quot;halt;exit&amp;quot;&lt;br /&gt;
Nbr=`expr $Nbr + 1`&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Paquets ====&lt;br /&gt;
Paquets à enlever et à supprimer :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get install ubuntu-restricted-extras nfs-common smbfs vlc chromium-browser 7zip numlockx&lt;br /&gt;
sudo apt-get install language-pack-gnome-fr-base language-pack-fr-base firefox-locale-fr&lt;br /&gt;
sudo apt-get remove tomboy transmission tsclient vino vinagre brasero pitivi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installer libreoffice &amp;lt;br/&amp;gt;&lt;br /&gt;
ajouter le ppa&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;sudo add-apt-repository ppa:libreoffice/ppa&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On met à jour:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;sudo apt-get update&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On installe me « meta-package » LibreOffice:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;sudo apt-get install libreoffice libreoffice-common&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite l’intégration pour gnome:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;sudo apt-get install libreoffice-gnome&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et pour terminer la langue française:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;sudo apt-get install libreoffice-l10n-fr&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Vérouiller la session ====&lt;br /&gt;
Automatiquement :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#suppression des répertoires inutiles&lt;br /&gt;
rmdir ~/Documents&lt;br /&gt;
rm ~/examples.desktop&lt;br /&gt;
rmdir ~/Images&lt;br /&gt;
rmdir ~/Modèles&lt;br /&gt;
rmdir ~/Musique&lt;br /&gt;
rmdir ~/Public&lt;br /&gt;
rmdir ~/Téléchargements&lt;br /&gt;
rmdir ~/Vidéos&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#modification de gconf&lt;br /&gt;
gconftool-2 --set --type string /apps/metacity/general/button_layout &amp;quot;:minimize,maximize,close&amp;quot; #déplacer les boutons des fenêtre vers la droite&lt;br /&gt;
gconftool-2 --set --type bool /apps/panel/global/locked_down true #verrouiller le tableau de bord&lt;br /&gt;
gconftool-2 --set --type string /apps/metacity/global_keybindings/panel_run_dialog &amp;quot;disabled&amp;quot; #desactiver alt + F2&lt;br /&gt;
gconftool-2 --set --type string /apps/metacity/global_keybindings/run_command_terminal &amp;quot;disabled&amp;quot; #desactiver raccourci clavier du terminal&lt;br /&gt;
gconftool-2 --set --type int /apps/metacity/general/num_workspaces 1 #limiter les espaces de travail à 1&lt;br /&gt;
gconftool-2 --set --type bool /apps/gnome-screensaver/lock_enabled false #desactiver le verrouillage de l'ecran&lt;br /&gt;
gconftool-2 --set --type bool /apps/gnome-screensaver/idle_activation_enabled false&lt;br /&gt;
gconftool-2 --set --type bool /desktop/gnome/interface/menus_have_icons true #icones dans les menus&lt;br /&gt;
gconftool-2 --set --type bool /desktop/gnome/interface/buttons_have_icons true&lt;br /&gt;
gconftool-2 --set --type bool /desktop/gnome/lockdown/disable_lock_screen true&lt;br /&gt;
gconftool-2 --set --type string /desktop/gnome/background/picture_filename &amp;quot;/home/$USER/.wallpaper/wallpaper.jpg&amp;quot;&lt;br /&gt;
gconftool-2 --set --type int /apps/gnome-power-manager/timeout/sleep_display_ac 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Manuellement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''application au démarage'''&lt;br /&gt;
ajouter les applications :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;gconftool-2 --set --type string /desktop/gnome/background/picture_filename &amp;quot;/home/X_public_0*/.wallpaper/wallpaper.jpg&amp;quot;&lt;br /&gt;
numlockx #a la première connexion sur le compte X_public_0* lancer terminal et faire : numlockx on&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lancer firefox pour créer profil public &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
systeme menu =&amp;gt; préférences =&amp;gt; menu principal &amp;lt;br/&amp;gt;&lt;br /&gt;
desactiver terminal, préférence, administration, ubuntu softwate center &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Acceder au Bureau des clients léger depuis le compte admin ====&lt;br /&gt;
Executer le script depuis un compte administrateur de la Machine&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
for i in `seq -w 01 10`; do&lt;br /&gt;
sudo chmod 777 /home/X_public_$i/Bureau&lt;br /&gt;
sudo ln -s /home/X_public_$i/Bureau /home/ADMIN/Bureau/Bureau\ clients/X_public_$i&lt;br /&gt;
sudo mkdir /home/X_public_$i/.wallpaper&lt;br /&gt;
sudo rm /home/X_public_$i/Bureau/Bureau&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==== Problèmes ====&lt;br /&gt;
=== Le client léger charge le noyaux mais refuse de booter ===&lt;br /&gt;
Dans les log de pfsense ceci :&lt;br /&gt;
 dhcp: Dropped DHCPv4 packet with zero-length client-id&lt;br /&gt;
&lt;br /&gt;
et en boucle lors du démarrage  du client léger (f2 pour cacher plymouth)&lt;br /&gt;
 udhcpc (v0.9.9-pre) started&lt;br /&gt;
 Sending discover...&lt;br /&gt;
 Sending discover...&lt;br /&gt;
 Sending discover...&lt;br /&gt;
 No lease, failing.&lt;br /&gt;
 sleepnow&lt;br /&gt;
 udhcpc (v0.9.9-pre) started&lt;br /&gt;
 Sending discover...&lt;br /&gt;
 Sending discover...&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
Il semblerai que ce soit un bug de la version de ltsp de ubuntu 10.04 https://bugs.launchpad.net/ubuntu/+source/ltsp/+bug/505916. Pour le résoudre :&lt;br /&gt;
 &lt;br /&gt;
* Dans /opt/ltsp/i386/usr/share/initramfs-tools/scripts/init-premount/udhcp, changer les lignes suivantes:&lt;br /&gt;
        if udhcpc -n -c &amp;quot;$clientid&amp;quot; -s /tmp/dhcp-script.sh -i $i $hostname_param $ip_param &amp;gt;/dev/null 2&amp;gt;&amp;amp;1; then&lt;br /&gt;
Par&lt;br /&gt;
        if udhcpc -n -C -s /tmp/dhcp-script.sh -i $i $hostname_param $ip_param &amp;gt;/dev/null 2&amp;gt;&amp;amp;1; then&lt;br /&gt;
&lt;br /&gt;
* Puis lancer&lt;br /&gt;
        sudo chroot /opt/ltsp/i386 update-initramfs -u &amp;amp;&amp;amp; sudo ltsp-update-kernels&lt;br /&gt;
Relancer les clients léger le problème sera résolut&lt;br /&gt;
&lt;br /&gt;
=== Sources ===&lt;br /&gt;
https://help.ubuntu.com/community/UbuntuLTSP &amp;lt;br/&amp;gt;&lt;br /&gt;
http://manpages.ubuntu.com/manpages/lucid/man5/lts.conf.5.html&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Installation_serveur_LTSP_sous_Ubuntu_10.04_LTS&amp;diff=5738</id>
		<title>Installation serveur LTSP sous Ubuntu 10.04 LTS</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Installation_serveur_LTSP_sous_Ubuntu_10.04_LTS&amp;diff=5738"/>
				<updated>2013-08-08T12:52:58Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mise en place d'un serveur ltsp avec des clients lourd. Les applications ne sont pas exécutées sur le serveurs mais sur le client. Le client charge seulement le noyau et le serveur lui envoi les applications en fonction de la demande. Le dhcp ne se trouve pas sur le serveur mais est géré par un IPCop. Les comptes clients sont en local sur le serveur et le home est montée par le réseau sur le client.&lt;br /&gt;
&lt;br /&gt;
== DELL T1600 ==&lt;br /&gt;
carte réseau gigabyte de la carte mère visible par lpci mais invisible par le noyau. Affichage en 800x600.&lt;br /&gt;
&lt;br /&gt;
=== Charger le module e1000e ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget http://sourceforge.net/projects/e1000/files/e1000e\ stable/1.9.5/e1000e-1.9.5.tar.gz&lt;br /&gt;
tar -xvf e1000e-1.9.5.tar.gz&lt;br /&gt;
cd e1000e-1.9.5/src/&lt;br /&gt;
sudo make install&lt;br /&gt;
sudo modprobe e1000e&lt;br /&gt;
sudo dhclient eth0 #si ne marche pas rebooter la machine&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sandy bridge chipset integré ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo add-apt-repository ppa:glasen/intel-driver&lt;br /&gt;
sudo add-apt-repository ppa:kernel-ppa/ppa&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get upgrade&lt;br /&gt;
sudo apt-get install linux-image-generic-lts-backport-natty linux-headers-generic-lts-backport-natty&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== LTPS ==&lt;br /&gt;
=== Configuration des cartes ===&lt;br /&gt;
Désactiver networkmanager pour la gestion du réseau : &lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo service network-manager stop&lt;br /&gt;
sudo update-rc.d -f network-manager remove&lt;br /&gt;
vim /etc/network/interfaces&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
        address 192.168.2.149&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        network 192.168.2.0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Relancer /etc/init.d/networking&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installation de ltsp ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get install ltsp-server-standalone&lt;br /&gt;
sudo apt-get remove dhcp3-server&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Créer le fichier /var/lib/tftpboot/ltsp/i386/lts.conf &amp;lt;br/&amp;gt;&lt;br /&gt;
http://manpages.ubuntu.com/manpages/lucid/man5/lts.conf.5.html&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[default]&lt;br /&gt;
	SERVER = 192.168.2.149&lt;br /&gt;
	LOCALDEV = True&lt;br /&gt;
	SOUND = True&lt;br /&gt;
	SYSLOG_HOST = server&lt;br /&gt;
	XKBLAYOUT = fr&lt;br /&gt;
	LDM_AUTOLOGIN = True&lt;br /&gt;
#	LDM_GUESTLOGIN = True&lt;br /&gt;
	LDM_LANGUAGE =&amp;quot;fr_FR.UTF-8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[00:e0:c5:XX:XX:X1]&lt;br /&gt;
	LDM_USERNAME = X_public_01&lt;br /&gt;
	LDM_PASSWORD = XXXXX&lt;br /&gt;
&lt;br /&gt;
[00:e0:c5:XX:XX:X2]&lt;br /&gt;
	LDM_USERNAME = X_public_02&lt;br /&gt;
	LDM_PASSWORD = XXXXX&lt;br /&gt;
&lt;br /&gt;
[00:e0:c5:XX:XX:X3]&lt;br /&gt;
	LDM_USERNAME = X_public_03&lt;br /&gt;
	LDM_PASSWORD = XXXXX&lt;br /&gt;
&lt;br /&gt;
[00:e0:c5:XX:XX:X4]&lt;br /&gt;
	LDM_USERNAME = X_public_04&lt;br /&gt;
	LDM_PASSWORD = XXXXX&lt;br /&gt;
&lt;br /&gt;
[00:e0:c5:XX:XX:X5]&lt;br /&gt;
	LDM_USERNAME = X_public_05&lt;br /&gt;
	LDM_PASSWORD = XXXXX&lt;br /&gt;
&lt;br /&gt;
[00:e0:c5:XX:XX:X6]&lt;br /&gt;
	LDM_USERNAME = X_public_06&lt;br /&gt;
	LDM_PASSWORD = XXXXX&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faudra ajouter les utilisateurs sur le serveur :&lt;br /&gt;
 adduser X_public_01&lt;br /&gt;
&lt;br /&gt;
===  Création de l'image ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ltsp-build-client --arch i386 --locale fr_FR --fat-client &lt;br /&gt;
sudo chroot /opt/ltsp/i386 &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
avant d'installer quoi que ce soit :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mount -t proc proc /proc&lt;br /&gt;
mount -t sysfs sys /sys&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En quittant :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exit&lt;br /&gt;
sudo umount /opt/ltsp/i386/proc&lt;br /&gt;
sudo umount /opt/ltsp/i386/sys&lt;br /&gt;
sudo ltsp-update-image -a i386&lt;br /&gt;
sudo ltsp-update-kernels #si mise a jour du kernel&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Configuration PXE ===&lt;br /&gt;
'''Ipcop :'''&lt;br /&gt;
DHCP[[Fichier:ipcopltsp.png]]&lt;br /&gt;
&lt;br /&gt;
'''DD-wrt :'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Dans la section service&amp;lt;br/&amp;gt;&lt;br /&gt;
DNSmasq:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;dhcp-boot=ltsp/i386/pxelinux.0,,192.168.2.149&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Configuration de l'image ===&lt;br /&gt;
==== Echange de clé ssh ====&lt;br /&gt;
Dans le chroot :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt-get install openssh-server&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sur le compte qui administrera les clients, créer un coupe clé privée/clé publique demo.priv/demo.pub sans mot de passe et le mettre dans le chroot :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh-keygen -t rsa&lt;br /&gt;
cat ~/.ssh/id_rsa.pub &amp;gt;&amp;gt; $CHROOT/root/.ssh/authorized_keys&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Éteindre les machines à distance ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
Nbr=1&lt;br /&gt;
for i in `seq 111 116` ; do&lt;br /&gt;
echo &amp;quot;Extinction de X_Public_0$Nbr&amp;quot;&lt;br /&gt;
ssh -l -f -o StrictHostKeyChecking=no root@192.168.2.$i &amp;quot;halt;exit&amp;quot;&lt;br /&gt;
Nbr=`expr $Nbr + 1`&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Paquets ====&lt;br /&gt;
Paquets à enlever et à supprimer :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get install ubuntu-restricted-extras nfs-common smbfs vlc chromium-browser 7zip numlockx&lt;br /&gt;
sudo apt-get install language-pack-gnome-fr-base language-pack-fr-base firefox-locale-fr&lt;br /&gt;
sudo apt-get remove tomboy transmission tsclient vino vinagre brasero pitivi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installer libreoffice &amp;lt;br/&amp;gt;&lt;br /&gt;
ajouter le ppa&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;sudo add-apt-repository ppa:libreoffice/ppa&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On met à jour:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;sudo apt-get update&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On installe me « meta-package » LibreOffice:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;sudo apt-get install libreoffice libreoffice-common&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite l’intégration pour gnome:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;sudo apt-get install libreoffice-gnome&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et pour terminer la langue française:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;sudo apt-get install libreoffice-l10n-fr&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Vérouiller la session ====&lt;br /&gt;
Automatiquement :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#suppression des répertoires inutiles&lt;br /&gt;
rmdir ~/Documents&lt;br /&gt;
rm ~/examples.desktop&lt;br /&gt;
rmdir ~/Images&lt;br /&gt;
rmdir ~/Modèles&lt;br /&gt;
rmdir ~/Musique&lt;br /&gt;
rmdir ~/Public&lt;br /&gt;
rmdir ~/Téléchargements&lt;br /&gt;
rmdir ~/Vidéos&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#modification de gconf&lt;br /&gt;
gconftool-2 --set --type string /apps/metacity/general/button_layout &amp;quot;:minimize,maximize,close&amp;quot; #déplacer les boutons des fenêtre vers la droite&lt;br /&gt;
gconftool-2 --set --type bool /apps/panel/global/locked_down true #verrouiller le tableau de bord&lt;br /&gt;
gconftool-2 --set --type string /apps/metacity/global_keybindings/panel_run_dialog &amp;quot;disabled&amp;quot; #desactiver alt + F2&lt;br /&gt;
gconftool-2 --set --type string /apps/metacity/global_keybindings/run_command_terminal &amp;quot;disabled&amp;quot; #desactiver raccourci clavier du terminal&lt;br /&gt;
gconftool-2 --set --type int /apps/metacity/general/num_workspaces 1 #limiter les espaces de travail à 1&lt;br /&gt;
gconftool-2 --set --type bool /apps/gnome-screensaver/lock_enabled false #desactiver le verrouillage de l'ecran&lt;br /&gt;
gconftool-2 --set --type bool /apps/gnome-screensaver/idle_activation_enabled false&lt;br /&gt;
gconftool-2 --set --type bool /desktop/gnome/interface/menus_have_icons true #icones dans les menus&lt;br /&gt;
gconftool-2 --set --type bool /desktop/gnome/interface/buttons_have_icons true&lt;br /&gt;
gconftool-2 --set --type bool /desktop/gnome/lockdown/disable_lock_screen true&lt;br /&gt;
gconftool-2 --set --type string /desktop/gnome/background/picture_filename &amp;quot;/home/$USER/.wallpaper/wallpaper.jpg&amp;quot;&lt;br /&gt;
gconftool-2 --set --type int /apps/gnome-power-manager/timeout/sleep_display_ac 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Manuellement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''application au démarage'''&lt;br /&gt;
ajouter les applications :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;gconftool-2 --set --type string /desktop/gnome/background/picture_filename &amp;quot;/home/X_public_0*/.wallpaper/wallpaper.jpg&amp;quot;&lt;br /&gt;
numlockx #a la première connexion sur le compte X_public_0* lancer terminal et faire : numlockx on&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lancer firefox pour créer profil public &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
systeme menu =&amp;gt; préférences =&amp;gt; menu principal &amp;lt;br/&amp;gt;&lt;br /&gt;
desactiver terminal, préférence, administration, ubuntu softwate center &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Acceder au Bureau des clients léger depuis le compte admin ====&lt;br /&gt;
Executer le script depuis un compte administrateur de la Machine&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
for i in `seq -w 01 10`; do&lt;br /&gt;
sudo chmod 777 /home/X_public_$i/Bureau&lt;br /&gt;
sudo ln -s /home/X_public_$i/Bureau /home/ADMIN/Bureau/Bureau\ clients/X_public_$i&lt;br /&gt;
sudo mkdir /home/X_public_$i/.wallpaper&lt;br /&gt;
sudo rm /home/X_public_$i/Bureau/Bureau&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==== Problèmes ====&lt;br /&gt;
=== Le client léger charge le noyaux mais refuse de booter ===&lt;br /&gt;
Dans les log de pfsense ceci :&lt;br /&gt;
dhcp: Dropped DHCPv4 packet with zero-length client-id&lt;br /&gt;
&lt;br /&gt;
Il semblerai que ce soit un bug de la version de ltsp de ubuntu 10.04 https://bugs.launchpad.net/ubuntu/+source/ltsp/+bug/505916. Pour le résoudre :&lt;br /&gt;
 &lt;br /&gt;
 * Dans /opt/ltsp/i386/usr/share/initramfs-tools/scripts/init-premount/udhcp, changer les lignes suivantes:&lt;br /&gt;
        if udhcpc -n -c &amp;quot;$clientid&amp;quot; -s /tmp/dhcp-script.sh -i $i $hostname_param $ip_param &amp;gt;/dev/null 2&amp;gt;&amp;amp;1; then&lt;br /&gt;
Par&lt;br /&gt;
        if udhcpc -n -C -s /tmp/dhcp-script.sh -i $i $hostname_param $ip_param &amp;gt;/dev/null 2&amp;gt;&amp;amp;1; then&lt;br /&gt;
&lt;br /&gt;
* Puis lancer&lt;br /&gt;
        sudo chroot /opt/ltsp/i386 update-initramfs -u &amp;amp;&amp;amp; sudo ltsp-update-kernels&lt;br /&gt;
Relancer les clients léger le probleme sera resolut&lt;br /&gt;
&lt;br /&gt;
=== Sources ===&lt;br /&gt;
https://help.ubuntu.com/community/UbuntuLTSP &amp;lt;br/&amp;gt;&lt;br /&gt;
http://manpages.ubuntu.com/manpages/lucid/man5/lts.conf.5.html&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=OpenERP_v7_-_Installation_sur_BlueOnyx_-_Centos_6.4&amp;diff=5663</id>
		<title>OpenERP v7 - Installation sur BlueOnyx - Centos 6.4</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=OpenERP_v7_-_Installation_sur_BlueOnyx_-_Centos_6.4&amp;diff=5663"/>
				<updated>2013-06-17T09:37:13Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : Page créée avec « Voir où en est la traduction fr : https://translations.launchpad.net/openobject-addons/7.0/+lang/fr/+index?batch=75  Installation insipré du script de Carlos E. Fonseca ... »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voir où en est la traduction fr : https://translations.launchpad.net/openobject-addons/7.0/+lang/fr/+index?batch=75&lt;br /&gt;
&lt;br /&gt;
Installation insipré du script de Carlos E. Fonseca Zorrilla&lt;br /&gt;
http:forum.openerp.com/forum/topic36094.html&lt;br /&gt;
&lt;br /&gt;
== Dépéndances ==&lt;br /&gt;
 yum -y install wget unzip&lt;br /&gt;
 yum install http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
 yum -y install python-psycopg2 python-lxml PyXML python-setuptools libxslt-python pytz \&lt;br /&gt;
            python-matplotlib python-babel python-mako python-dateutil python-psycopg2 \&lt;br /&gt;
            pychart pydot python-reportlab python-devel python-imaging python-vobject \&lt;br /&gt;
            hippo-canvas-python mx python-gdata python-ldap python-openid \&lt;br /&gt;
            python-werkzeug python-vatnumber pygtk2 glade3 pydot python-dateutil \&lt;br /&gt;
            python-matplotlib pygtk2 glade3 pydot python-dateutil python-matplotlib \&lt;br /&gt;
            python python-devel python-psutil python-docutils make\&lt;br /&gt;
            automake gcc gcc-c++ kernel-devel byacc flashplugin-nonfree poppler-utils pywebdav\&lt;br /&gt;
&lt;br /&gt;
== Postgresql ==&lt;br /&gt;
&lt;br /&gt;
Installation de postgresql 9.2 pour de meilleures performances :&lt;br /&gt;
&lt;br /&gt;
 yum install http:yum.pgrpms.org/9.2/redhat/rhel-6-i386/pgdg-centos92-9.2-6.noarch.rpm&lt;br /&gt;
 yum -y install postgresql92-libs postgresql92-server postgresql92&lt;br /&gt;
 &lt;br /&gt;
 service postgresql-9.2 initdb&lt;br /&gt;
 chkconfig postgresql-9.2 on&lt;br /&gt;
 service postgresql-9.2 start&lt;br /&gt;
 &lt;br /&gt;
 su - postgres -c &amp;quot;createuser  --superuser openerp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Gdata ==&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http:gdata-python-client.googlecode.com/files/gdata-2.0.17.zip&lt;br /&gt;
 unzip gdata-2.0.17.zip&lt;br /&gt;
 rm -rf gdata-2.0.17.zip&lt;br /&gt;
 cd gdata*&lt;br /&gt;
 python setup.py install&lt;br /&gt;
 &lt;br /&gt;
== OpenErp ==&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 adduser openerp&lt;br /&gt;
&lt;br /&gt;
 DIR=&amp;quot;/var/run/openerp /var/log/openerp&amp;quot;&lt;br /&gt;
 for NAME in $DIR&lt;br /&gt;
 do&lt;br /&gt;
 if [ ! -d $NAME ]; then&lt;br /&gt;
   mkdir $NAME&lt;br /&gt;
   chown openerp.openerp $NAME&lt;br /&gt;
 fi&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
 rm -rf openerp*&lt;br /&gt;
&lt;br /&gt;
 wget http://nightly.openerp.com/7.0/nightly/src/openerp-7.0-latest.tar.gz&lt;br /&gt;
 tar -zxvf openerp-7.0-latest.tar.gz  --transform 's!^[^/]\+\($\|/\)!openerp\1!'&lt;br /&gt;
 cd openerp&lt;br /&gt;
 python setup.py install&lt;br /&gt;
 rm -rf /usr/local/bin/openerp-server&lt;br /&gt;
 cp openerp-server /usr/local/bin&lt;br /&gt;
 cp install/openerp-server.init /etc/init.d/openerp&lt;br /&gt;
 cp install/openerp-server.conf /etc&lt;br /&gt;
 chown openerp:openerp /etc/openerp-server.conf&lt;br /&gt;
 chmod u+x /etc/init.d/openerp&lt;br /&gt;
 chkconfig openerp on&lt;br /&gt;
&lt;br /&gt;
Editer le fichier /etc/openerp-server.conf et ajouter : &lt;br /&gt;
 admin_passwd = MDP_CREATION_BDD&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mise à jour ==&lt;br /&gt;
Refaire les étapes depuis ''wget http://nightly.openerp.com/[...]''&lt;br /&gt;
Supprimer l'ancienne version se trouvant dans /usr/lib/python2.6/site-packages/ (se référer à la date)&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Accueil&amp;diff=5662</id>
		<title>Accueil</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Accueil&amp;diff=5662"/>
				<updated>2013-06-17T09:28:38Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : /* OpenERP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;0&amp;quot;&lt;br /&gt;
|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;font style=bold size=10 color=#f6aa0a&amp;gt;WikiGite :  le wiki de    &amp;lt;/font&amp;gt;[[Image:Logo_kogite2.png|link=http://www.kogite.fr]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;'''KoGite''' [[http://www.kogite.fr www.kogite.fr]] est un service d'hébergement proposé par '''Systea IG''' [[http://www.systea.net www.systea.net]].&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;Le service, qui constitue l'âme de Systea IG - donc de KoGite - ainsi que notre orientation résolument Open Source, nous amène à étudier, et mettre en oeuvre, toutes sortes de solutions.&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;WikiGite en est le fruit, il est aussi notre modeste façon de remercier tous ceux qui partagent leurs connaissances sur la toile et qui nous ont permis d'avancer.&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
'''[[MediaWiki utilisation]]''' (Notes et infos utiles)&lt;br /&gt;
&lt;br /&gt;
'''Doc complète''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Help:Contents/fr Guide de l'utilisateur MediaWiki]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[[Liens et sujets à traiter]]''' (et à nettoyer régulièrement !)&lt;br /&gt;
&lt;br /&gt;
'''[[Tutos à finir]]'''&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
&amp;lt;div align=right&amp;gt;&amp;lt;i&amp;gt;Un commentaire sur ce wiki ou sur une des procédures ? N'hésitez pas à visiter [http://www.systea.net www.systea.net] et [http://www.kogite.fr www.kogite.fr], leurs pages de contact sont aussi là pour ça !&amp;lt;/i&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
'''Tutoriels'''&lt;br /&gt;
__TOC__&lt;br /&gt;
= Trucs et astuces divers =&lt;br /&gt;
== [[top - trouver les processus &amp;quot;ininterruptibles&amp;quot;]] ==&lt;br /&gt;
== [[Savoir si Java est installé et disponible dans un navigateur]] ==&lt;br /&gt;
&lt;br /&gt;
= Systèmes, distributions linux =&lt;br /&gt;
&lt;br /&gt;
== Ubuntu ==&lt;br /&gt;
=== [[Detection de scanner Epson]] ===&lt;br /&gt;
=== [[Msmtp + Mailx| Mail en ligne de commande : mailx sur msmtp]] ===&lt;br /&gt;
== Debian ==&lt;br /&gt;
=== [[Installation depuis une clé USB (pour les serveurs sans lecteur CD)]] ===&lt;br /&gt;
=== [[Squeeze sur Dell r610 + réseau Broadcom]] ===&lt;br /&gt;
=== [[Route statique sous Debian]] ===&lt;br /&gt;
=== [[Debian : installation GRUB|Installation GRUB]]===&lt;br /&gt;
=== [[Clamav à jour sur lenny]] ===&lt;br /&gt;
=== [[Archives de dépôts Etch]]===&lt;br /&gt;
=== [[Message &amp;quot;perl: warning: Setting locale failed.&amp;quot;]] ===&lt;br /&gt;
=== [[Debian mise à jour Sarge-Etch|Mise à jour Sarge-Etch]]===&lt;br /&gt;
=== [[Debian mise à jour Etch-Lenny|Mise à jour Etch-Lenny]]===&lt;br /&gt;
=== [[Debian mise à jour Lenny-Squeeze|Mise à jour Lenny-Squeeze]]===&lt;br /&gt;
=== [[Downgrader un paquet DEB]] ===&lt;br /&gt;
&lt;br /&gt;
== CentOS - RedHat ==&lt;br /&gt;
=== [[Dépôts complémentaires]] ===&lt;br /&gt;
=== [[CentOS Network Install]] ===&lt;br /&gt;
=== [[Route statique sous CentOS]] ===&lt;br /&gt;
=== [[Creation d'un dépôt de RPMs]] MREPO ===&lt;br /&gt;
=== Recherche de RPMs ===&lt;br /&gt;
&amp;lt;small&amp;gt;''&amp;amp;rarr; URL''&amp;lt;/small&amp;gt; : http://rpm.pbone.net&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;''&amp;amp;rarr; URL''&amp;lt;/small&amp;gt; : http://www.rpmfind.net/&lt;br /&gt;
=== [[Mise à jour CentOS 5.4 vers 5.5]] ===&lt;br /&gt;
=== [[Lister les version et downgrader un paquet]] RPM ===&lt;br /&gt;
&lt;br /&gt;
== BlueQuartz BlueOnyx ==&lt;br /&gt;
=== [[Ligne de commande BlueQuartz/BlueOnyx]] ===&lt;br /&gt;
=== [[Adapter un paquet BlueQuartz]] ===&lt;br /&gt;
=== [[Archive paquets BlueQuartz sur Nuonce]] ===&lt;br /&gt;
=== [[BlueOnyx - Recalcul des quotas]] ===&lt;br /&gt;
=== [[BlueOnyx - cmuExport]] ===&lt;br /&gt;
=== [[BlueOnyx - Open basedir dans les virtualhost ]] ===&lt;br /&gt;
=== [[BlueOnyx - Modifier le theme]] ===&lt;br /&gt;
=== [[Certificat SSL fourni par une CA]] ===&lt;br /&gt;
=== [[Isolation admserv]] ===&lt;br /&gt;
=== [[Mise à jour vers PHP 5.3]] ===&lt;br /&gt;
=== [[BlueOnyx : mise à jour PhpMyAdmin]] ===&lt;br /&gt;
=== [[Déplacement des répertoires PostGreSQL dans /home]] ===&lt;br /&gt;
=== [[Munin et munin-node dans le GUI BlueOnyx]] ===&lt;br /&gt;
=== [[Roundcube sur BO5.5 + PHP5.3]] ===&lt;br /&gt;
=== [[BO : format mailboxes de mbox vers Maildir]] ===&lt;br /&gt;
=== [[Gestion des .htaccess]] ===&lt;br /&gt;
=== [[Proftpd en inetd|Message &amp;quot;address/port already in use&amp;quot; sur ProFTPD]] ===&lt;br /&gt;
=== [[Duplication manuelle d'un serveur BlueOnyx]] ===&lt;br /&gt;
&lt;br /&gt;
== OpenFiler ==&lt;br /&gt;
=== [[OpenFiler : Installation et première configuration]] ===&lt;br /&gt;
&lt;br /&gt;
== Linux en général et outils ==&lt;br /&gt;
=== [[Ext3grep]]: undelete sur ext3 ! ===&lt;br /&gt;
=== [[Tunnel SSH via un serveur intermédiaire]] ===&lt;br /&gt;
=== [[ Réplication de systèmes de fichiers avec DRBD ]] ===&lt;br /&gt;
=== [[RAID logiciel : mdadm| madm : le RAID logiciel]] ===&lt;br /&gt;
=== [[Network bonding sur linux]] ===&lt;br /&gt;
=== [[ODBC sur linux]] (Ubuntu) ===&lt;br /&gt;
=== [[Gestion des IOs, iowaits]] ===&lt;br /&gt;
=== [[Reverse ssh : Accéder à un serveur derrière un NAT/Firewall]] ===&lt;br /&gt;
=== [[installer le client no-ip]] ===&lt;br /&gt;
=== [[Conversion Libreoffice en ligne de commande : unoconv]] ===&lt;br /&gt;
=== LVM ===&lt;br /&gt;
==== [[ Gestion LVM ]] ====&lt;br /&gt;
==== [[Transférer LVM sur RAID dans une VM ]] ====&lt;br /&gt;
==== [[Restauration d'un VG si un disque perd son uuid]] ====&lt;br /&gt;
&lt;br /&gt;
= Serveurs et Services =&lt;br /&gt;
== Apache, PHP ==&lt;br /&gt;
=== [[Nombre de variables maximum passés dans un POST]] ===&lt;br /&gt;
=== [[Règles Rewrite]] ===&lt;br /&gt;
=== [[Apache/PHP : optimisation affichage et caches]] ===&lt;br /&gt;
=== [[Proxmox sécurisation certificats SSL clients|Sécurisation certificats SSL clients (d'après l'exemple Proxmox, à adapter)]] ===&lt;br /&gt;
=== [[Forcer l'affichage des erreurs localement]] dans un script php ===&lt;br /&gt;
=== [[Activation de server-status]] ===&lt;br /&gt;
==== [[Explication server-status Apache]] ====&lt;br /&gt;
=== [[Interdire l'éxecution de PHP]] dans des répertoires en upload ===&lt;br /&gt;
=== [[Redirection pour maintenance, vers un autre serveur ou localement]] ===&lt;br /&gt;
=== [[Apache mod_evasive : limitation du traffic, protection anti-DDOS]] ===&lt;br /&gt;
=== [[Apache2 SSL sur Debian Etch]] ===&lt;br /&gt;
=== [[Certificat SSL fourni par une CA|Apache2 SSL sur CentOS/BO ]] ===&lt;br /&gt;
=== [[WebDAV sur Apache avec LDAP]] ===&lt;br /&gt;
&amp;lt;!-- === [[Kerberos et mod_auth_kerb pour SSO sur Active Directory]]=== --&amp;gt;&lt;br /&gt;
=== [[Configuration alternative avec un utilisateur spécifique]] ===&lt;br /&gt;
=== [[ PHP eAccelerator sur CentOS / BlueOnyx ]] ===&lt;br /&gt;
=== [[CMSMS Installation sur BlueOnyx]] ===&lt;br /&gt;
=== Apache proxy : [[Mod_Proxy]] ===&lt;br /&gt;
=== [[Message : NameVirtualHost *:80 has no VirtualHosts]] ===&lt;br /&gt;
&lt;br /&gt;
== NGinx ==&lt;br /&gt;
=== [[Nginx et PHP-FPM en chroot]] ===&lt;br /&gt;
&lt;br /&gt;
== FTP ==&lt;br /&gt;
=== [[Proftpd en inetd]]: éviter &amp;quot;address/port already in use&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
== Bind, named, DNS ==&lt;br /&gt;
=== [[Activer le logging dans bind]] et exclure des messages du log ===&lt;br /&gt;
== [[Afnic Zone Check - vérification config serveurs DNS]] ==&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
=== [[Samba avec authentification sur Active Directory]] ===&lt;br /&gt;
=== [[GOsa : PDC ]] ===&lt;br /&gt;
=== [[Serveur d'impression (cups + samba) sur debian 6.0 ]] ===&lt;br /&gt;
&lt;br /&gt;
== LDAP ==&lt;br /&gt;
=== [[Serveur OpenLDAP sur CentOS]] ===&lt;br /&gt;
=== [[Lignes de commandes LDAP]] ===&lt;br /&gt;
&lt;br /&gt;
== Mails ==&lt;br /&gt;
=== [[Recherche d'adresse IP dans les blacklists]] ===&lt;br /&gt;
=== [[Installation Postfix sur Etch]] ===&lt;br /&gt;
=== [[Discussion SMTP via telnet]] ===&lt;br /&gt;
=== [[Debugage mail, configuration et DNS]] ===&lt;br /&gt;
=== [[Convertir Maildir en mbox ]] ===&lt;br /&gt;
=== [[Roundcube sur BO5.5 + PHP5.3]] ===&lt;br /&gt;
=== Lien : [[IPFire Source NAT : modifier l'adresse IP de sortie]] ===&lt;br /&gt;
=== Spamassassin ===&lt;br /&gt;
==== [[Spamassassin : installation sur BlueOnyx/Sendmail]] ====&lt;br /&gt;
==== [[Spamassassin : apprentissage et blacklist automatique]] ====&lt;br /&gt;
=== Postfix ===&lt;br /&gt;
==== [[Installation Postfix sur Etch]] ====&lt;br /&gt;
==== [[Relai smtp]] ====&lt;br /&gt;
=== Procmail ===&lt;br /&gt;
==== [[Filtres Procmail]], filtrage des mails à la source ====&lt;br /&gt;
==== Procmail Syntax &amp;amp; Tips &amp;lt;small&amp;gt;''&amp;amp;rarr; URL''&amp;lt;/small&amp;gt; : http://pm-doc.sourceforge.net/pm-tips.html ====&lt;br /&gt;
==== Procmail : tutorial (FR) &amp;lt;small&amp;gt;''&amp;amp;rarr; URL''&amp;lt;/small&amp;gt; : http://www.tuteurs.ens.fr/internet/courrier/procmail.html ====&lt;br /&gt;
=== Fetchmail ===&lt;br /&gt;
==== [[Fetchmail - installation]] ====&lt;br /&gt;
==== [[Msmtp + Mailx| Mail en ligne de commande : mailx sur msmtp]] ====&lt;br /&gt;
&lt;br /&gt;
== SVN ==&lt;br /&gt;
=== [[ Subversion : installation CentOS/BlueOnyx]] ===&lt;br /&gt;
&lt;br /&gt;
== BGP/routage ==&lt;br /&gt;
=== [[Quagga: installation-paramétrage]] ===&lt;br /&gt;
&lt;br /&gt;
== Juggernaut ==&lt;br /&gt;
=== [[Installation de Juggernaut sur Debian 6.0]] ===&lt;br /&gt;
=== [[Installation de Juggernaut sur Centos 5.8]] ===&lt;br /&gt;
&lt;br /&gt;
== NFS ==&lt;br /&gt;
=== [[Partage NFS sous Debian]] ===&lt;br /&gt;
&lt;br /&gt;
== LTSP : Linux Terminal Server Project ==&lt;br /&gt;
=== [[Installation serveur LTSP sous Ubuntu 11.10]] ===&lt;br /&gt;
=== [[Installation serveur LTSP sous Ubuntu 10.04 LTS ]] ===&lt;br /&gt;
&lt;br /&gt;
= Logiciels =&lt;br /&gt;
== Ajaxplorer ==&lt;br /&gt;
=== [[Ajaxplorer - Installation]] ===&lt;br /&gt;
=== [[Ajaxplorer - Création d'un partage NFS sur un serveur distant (Debian)]] ===&lt;br /&gt;
== [[Ajaxterm sur Etch]] ==&lt;br /&gt;
== CMS Made Simple ==&lt;br /&gt;
=== [[CMSMS Installation ]] ===&lt;br /&gt;
== DotClear : [[Installation Dotclear]] ==&lt;br /&gt;
== Dropbox ==&lt;br /&gt;
=== [[Utilisation de Dropbox en ligne de commande]] ===&lt;br /&gt;
&lt;br /&gt;
== Gestionnaires de configurations ==&lt;br /&gt;
=== Ansible ===&lt;br /&gt;
&lt;br /&gt;
=== Fabric ===&lt;br /&gt;
==== [[Fabric : installation sur Debian]] ====&lt;br /&gt;
==== [[Fabric : utilisation]] ====&lt;br /&gt;
==== [[Cuisine : installation]] ====&lt;br /&gt;
=== Puppet ===&lt;br /&gt;
==== [[Puppet : installation]] ====&lt;br /&gt;
==== [[Puppet : utilisation]] ====&lt;br /&gt;
&lt;br /&gt;
== GIT ==&lt;br /&gt;
=== [[Git : utilisation]] ===&lt;br /&gt;
=== [[Git : Gitolite et Gitlab sur Debian 6.0]] ===&lt;br /&gt;
=== [[Git : Gitolite et Gitlab sur Centos 6.2]] ===&lt;br /&gt;
=== [[Installation Indefero | Git sur Indefero ]] ===&lt;br /&gt;
&lt;br /&gt;
== GLPI ==&lt;br /&gt;
=== [[Installation de GLPI sur Debian]] ===&lt;br /&gt;
=== [[Les entités et les utilisateurs]] ===&lt;br /&gt;
=== [[Installer des plugins dans GLPI]] ===&lt;br /&gt;
=== [[Installation de l'agent fusioninventory]] ===&lt;br /&gt;
=== [[Assigner des machines à des entités automatiquement avec les TAG]] ===&lt;br /&gt;
=== [[Gestion des tickets]] ===&lt;br /&gt;
=== [[Le plugin Monitoring]] ===&lt;br /&gt;
=== [[Accès GLPI à partir d'une application externe (PHP)]] ===&lt;br /&gt;
&lt;br /&gt;
== iFolder ==&lt;br /&gt;
=== [[iFolder - Installation sur OpenSuse 11.3]] ===&lt;br /&gt;
== Indefero ==&lt;br /&gt;
=== [[Installation Indefero ]] sur Debian avec Git ===&lt;br /&gt;
== ISPConfig ==&lt;br /&gt;
=== [[ Install ISPConfig sur Debian ]] ===&lt;br /&gt;
=== Install et scripts [[Archivemail]]  sur ISPConfig ===&lt;br /&gt;
=== [[Filtres Procmail]] dans ISPConfig ===&lt;br /&gt;
=== HowTo ISPConfig &amp;lt;small&amp;gt;''&amp;amp;rarr; URL''&amp;lt;/small&amp;gt; : http://www.how2forge.net/ispconfig-2.x-first-steps ===&lt;br /&gt;
== Keepass ==&lt;br /&gt;
=== [[keepass 2]] ===&lt;br /&gt;
== Mailany : [[ Install Mailany sur Debian ]] ==&lt;br /&gt;
== MediaWiki ==&lt;br /&gt;
=== [[Install MediaWiki sur Debian]] ===&lt;br /&gt;
=== [[MediaWiki - changement de serveur]] ===&lt;br /&gt;
== [[MondoRescue]] ==&lt;br /&gt;
== OpenERP ==&lt;br /&gt;
=== [[OpenERP v6 - Installation sur Debian 6]] ===&lt;br /&gt;
=== [[OpenERP v6.1 - Installation sur BlueOnyx - Centos 6.3]] ===&lt;br /&gt;
=== [[OpenERP v7 - Installation sur BlueOnyx - Centos 6.4]] ===&lt;br /&gt;
&lt;br /&gt;
== Owncloud ==&lt;br /&gt;
=== [[Owncloud : installation sur Debian 6]] ===&lt;br /&gt;
=== [[Owncloud : installation sur Centos/Blueonyx 6]] ===&lt;br /&gt;
== PHPList ==&lt;br /&gt;
=== [[PHPList : installation mailing-lists]]===&lt;br /&gt;
=== [[PHPList : envoi en ligne de commande / cron]] ===&lt;br /&gt;
== Piwik ==&lt;br /&gt;
=== [[Piwik Installation ]] ===&lt;br /&gt;
== Sparkleshare ==&lt;br /&gt;
=== [[Mise en place de Sparkleshare sur serveur Debian &amp;amp; client Ubuntu]] ===&lt;br /&gt;
== vTiger CRM ==&lt;br /&gt;
=== [[vTiger : Installation ]] ===&lt;br /&gt;
== Wordpress ==&lt;br /&gt;
=== [[Installation de Wordpress sur BlueOnyx]] ===&lt;br /&gt;
== Zimbra ==&lt;br /&gt;
=== [[Sending eMail on command line]] on Zimbra ===&lt;br /&gt;
=== [[ Install Zimbra 5 sur Etch ]] ===&lt;br /&gt;
== Zoneminder ==&lt;br /&gt;
=== [[Installation de zoneminder 1.25.0 sur Centos 6.3 ]] ===&lt;br /&gt;
&lt;br /&gt;
= Sécurité et monitoring =&lt;br /&gt;
== [[mise à jour automatique des scripts]] ==&lt;br /&gt;
== [[check_service.sh]] script de surveillance des services ==&lt;br /&gt;
== [[Sécurisation sshd]] ==&lt;br /&gt;
== [[Optimisation TCPIP]] ==&lt;br /&gt;
== [[CHKRootkit installation]] ==&lt;br /&gt;
== [[Logcheck installation]] (Debian) ==&lt;br /&gt;
== [[Monit installation]]==&lt;br /&gt;
&lt;br /&gt;
== Munin ==&lt;br /&gt;
=== [[Installation de munin / munin-node]] ===&lt;br /&gt;
=== [[Munin-node activation plugins]] ===&lt;br /&gt;
== OSSEC ==&lt;br /&gt;
=== [[OSSEC installation]] ===&lt;br /&gt;
=== [[Mise à jour automatique de local_rules.xml]] ===&lt;br /&gt;
== [[RKHunter installation]] ==&lt;br /&gt;
== Firewalls ==&lt;br /&gt;
=== [[scripts FIREWALL]] ===&lt;br /&gt;
=== [[script: bannir des adresses IPs]] ===&lt;br /&gt;
=== [[Shorewall]] ===&lt;br /&gt;
=== IPCop ===&lt;br /&gt;
==== [[Install/mise à jour Qos_NG ]] ====&lt;br /&gt;
==== [[Logs OpenVPN disparus après mise à jour]] ====&lt;br /&gt;
=== IPFire ===&lt;br /&gt;
==== [[ Accès externes ]] ====&lt;br /&gt;
==== [[ OpenVPN sur IPFire ]] ====&lt;br /&gt;
==== [[Autoriser le ping sans ICMP]] ====&lt;br /&gt;
==== [[IPFire Source NAT : modifier l'adresse IP de sortie]] ====&lt;br /&gt;
=== PfSense 2.0.1 ===&lt;br /&gt;
==== [[ MultiWan ]] ====&lt;br /&gt;
==== [[ Proxy transparent : squid ]] ====&lt;br /&gt;
&lt;br /&gt;
== Tripwire ==&lt;br /&gt;
=== [[Tripwire installation]] ===&lt;br /&gt;
=== [[variables Tripwire]], paramétrage des règles ===&lt;br /&gt;
&lt;br /&gt;
== Shinken / Thruk ==&lt;br /&gt;
=== [[Installation de Shinken sur une Debian]] ===&lt;br /&gt;
=== [[Installation de Shinken sur une CentOS / Scientific Linux]] ===&lt;br /&gt;
=== [[Installation FastCGI de l'interface Thruk sur une Debian]] ===&lt;br /&gt;
=== [[Paramétrage de Shinken]] ===&lt;br /&gt;
=== Pour archive ===&lt;br /&gt;
==== [[Installation de Nagvis]] ====&lt;br /&gt;
==== [[Installation de PNP4Nagios]] ====&lt;br /&gt;
&lt;br /&gt;
== ZABBIX ==&lt;br /&gt;
=== [[Installation de Zabbix sur centos 6]] ===&lt;br /&gt;
&lt;br /&gt;
= Sauvegardes =&lt;br /&gt;
== [[Rdiff-backup ]] installation et script ==&lt;br /&gt;
== [[Rsync script]] ==&lt;br /&gt;
== [[Dumpmysql.sh]] ==&lt;br /&gt;
== [[BackupPC sur Debian Squeeze]]==&lt;br /&gt;
== [[Rsyncd sur Windows]] pour BackupPC ==&lt;br /&gt;
== [[Amanda installation]] ==&lt;br /&gt;
&lt;br /&gt;
= Matériel, drivers =&lt;br /&gt;
== [[DELL iDRAC]] ==&lt;br /&gt;
== [[ SMART sur SATA|SMART : surveillance disque dur ]] ==&lt;br /&gt;
== [[Installation Dell OpenManage sur Linux]] ==&lt;br /&gt;
&lt;br /&gt;
= Bases de données =&lt;br /&gt;
== ORACLE ==&lt;br /&gt;
=== [[Oracle 10g sur CentOS 64 bits]] ===&lt;br /&gt;
=== [[Script d'audit de bases de données ORACLE]], (résultat en HTML) ===&lt;br /&gt;
=== HA niveau 1 :[[Failover database sur Standard Edition]] ===&lt;br /&gt;
=== HA niveau 2 :[[Standby database manuelle (cold) sur Standard Edition]] / Linux===&lt;br /&gt;
=== HA niveau 2 :[[Standby database manuelle (cold) sur Windows/Std Edition (services et tâches planifiées)]] ===&lt;br /&gt;
=== HA niveau 2 :[[Standby database manuelle par RMAN (hot) sur Standard Edition]] ===&lt;br /&gt;
=== HA niveau 3 :[[Standby DataGuard database sur Enterprise Edition]] ===&lt;br /&gt;
=== HA niveau 4 :[[RAC database sur Enterprise Edition]] ===&lt;br /&gt;
=== [[Supprimer tous les objets d'un utilisateur]] en une seule fois ===&lt;br /&gt;
=== [[NLS LANG et nls_*_parameters]] et SQLPLUS en UTF8 ===&lt;br /&gt;
=== [[Reconstruire la DBconsole sur 10g]] ===&lt;br /&gt;
=== [[Changer les mots de passe DBSNMP et SYSMAN]] ===&lt;br /&gt;
=== [[Trace SQL sur session utilisateur]] ===&lt;br /&gt;
=== [[Suppression de JOB Oracle 10g]] ===&lt;br /&gt;
=== [[Redimensionner les fichiers REDO LOGs]] ===&lt;br /&gt;
== MySQL ==&lt;br /&gt;
=== [[Check et Repair de toutes les bases ]] ===&lt;br /&gt;
=== [[Erreur &amp;quot;Can't connect to local MySQL server through socket&amp;quot;]] ===&lt;br /&gt;
== PostGreSQL ==&lt;br /&gt;
=== CentOS/BlueOnyx [[Mise à jour PostgreSQL 8.1 en 8.4 / 9.0]] ===&lt;br /&gt;
== SQL Server ==&lt;br /&gt;
=== Connexion à [[SQL Server sur Oracle SQL Developer]] ===&lt;br /&gt;
=== [[SQL Server : accès à partir de linux]] ===&lt;br /&gt;
&lt;br /&gt;
= Virtualisation =&lt;br /&gt;
== KVM ==&lt;br /&gt;
=== [[KVM Installation]] ===&lt;br /&gt;
=== [[Convertir une image VirtualBox vers KVM]] ===&lt;br /&gt;
== Xen ==&lt;br /&gt;
=== [[Xen Installation]] ===&lt;br /&gt;
== Archipel ==&lt;br /&gt;
=== [[Archipel installation]] ===&lt;br /&gt;
== Proxmox VE ==&lt;br /&gt;
=== [[Proxmox 1.9 Installation, notes techniques]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Proxmox 1.9 Cluster]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Proxmox Openvz]] ===&lt;br /&gt;
=== [[Proxmox : migration KVM - OpenVZ]] ===&lt;br /&gt;
=== [[Proxmox sécurisation certificats SSL clients]] ===&lt;br /&gt;
=== Proxmox [[KVM backup - snapshot - restore]] ===&lt;br /&gt;
=== [[Proxmox - Retailler un disque raw ou qcow2]] ===&lt;br /&gt;
=== [[Proxmox - Transférer une image qcow2 dans un volume logique]] ===&lt;br /&gt;
=== [[Proxmox - Monter une image qcow2]] ===&lt;br /&gt;
=== [[Proxmox - configuration de VLANs]] pour des réseaux internes ===&lt;br /&gt;
=== [[Proxmox - configuration bonding + bridge]] ===&lt;br /&gt;
=== [[Proxmox - Migration VMWare ESXi - Proxmox]] ===&lt;br /&gt;
=== [[Proxmox - convertir disque IDE vers Virtio ]] ===&lt;br /&gt;
=== [[Proxmox - Installation d'une VM Windows server 2008R2]] ===&lt;br /&gt;
=== [[Munin sur Proxmox]] ===&lt;br /&gt;
=== [[Proxmox 2.x - Installation, cluster (avec GlusterFS)]] ===&lt;br /&gt;
&lt;br /&gt;
== Virtualbox ==&lt;br /&gt;
=== [[Virtualbox Sur Centos 6.2]] ===&lt;br /&gt;
&lt;br /&gt;
== VMWare ==&lt;br /&gt;
=== [[CentOS4/BlueQuartz guest VMWare|CentOS4/BlueQuartz guest sur VMWare Server]] ===&lt;br /&gt;
=== ESXi [[Cloner une VM]] ===&lt;br /&gt;
=== ESXi [[Création VM ESXi avec disque thin]] ===&lt;br /&gt;
=== ESXi [[Conversion VMWare Server vers ESXi par vmkfstools ]] ===&lt;br /&gt;
=== ESXi [[Activation ssh sur ESXi]] ===&lt;br /&gt;
=== ESXi [[Montage disque NFS]] ===&lt;br /&gt;
=== VMWare Server 2.0 [[Installation serveur + VMware Tools sur guests]] ===&lt;br /&gt;
=== VMWare Server 1.x [[WMWare server console / Ubuntu 8.04]] : problème version GCC ===&lt;br /&gt;
=== VMWare Server 1.x [[VMWareTools sur guest linux]] ===&lt;br /&gt;
=== VMWare Server 1.x [[Fusionner disque+snapshot en un seul disque]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Retailler le disque d'une VM]] ===&lt;br /&gt;
=== [[Suspendre VMWare]] pour sauvegarde ===&lt;br /&gt;
&lt;br /&gt;
=== [[Le guest VMWare perd l'heure]] ===&lt;br /&gt;
= [[ARCHIVES]] =&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=RAID_logiciel_:_mdadm&amp;diff=5651</id>
		<title>RAID logiciel : mdadm</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=RAID_logiciel_:_mdadm&amp;diff=5651"/>
				<updated>2013-05-30T08:25:50Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Un article de Le wiki de 2 noisettes - noisette.ch.''&lt;br /&gt;
&lt;br /&gt;
Mdadm est un logiciel de gestion de RAID logiciel. Il est très complet au point que je le conseille même pour un environnement de production.&lt;br /&gt;
&lt;br /&gt;
Cet article explique comment créer un RAID, assembler plusieurs disques ayant déjà fait parti d'un array, ou comment réagir en cas de panne. Pour les commandes données en exemple, nous ferons du RAID1 avec 2 disques partitionnés en 4, respectivement /boot, swap, / et /home.&lt;br /&gt;
&lt;br /&gt;
= Création =&lt;br /&gt;
&lt;br /&gt;
== Configurer les disques ==&lt;br /&gt;
&lt;br /&gt;
Une fois le logiciel mdadm installé sur l'ordinateur, il faut configurer les disques&lt;br /&gt;
 fdisk /dev/sda&lt;br /&gt;
 fdisk /dev/sdb&lt;br /&gt;
&lt;br /&gt;
pour que les partitions qui vont accueillir du RAID soient de type Linux raid autodetect (fd). Puis on va les assembler avec mdadm pour finalement pouvoir les formater et installer le le system dessus.&lt;br /&gt;
&lt;br /&gt;
La configuration des disques sera la suivante :&lt;br /&gt;
 /dev/*1 --&amp;gt; /boot,  100MB&lt;br /&gt;
 /dev/*2 --&amp;gt; swap, 1-2GB&lt;br /&gt;
/ dev/*3 --&amp;gt; /, 20GB&lt;br /&gt;
 /dev/*4 --&amp;gt; /home, le reste (bien que mettre /var serait plus judicieux sur une gentoo.&lt;br /&gt;
&lt;br /&gt;
== Noyau ==&lt;br /&gt;
&lt;br /&gt;
Compilez le noyau avec les options suivantes (et sélectionner un autre mode de RAID si souhaité)&lt;br /&gt;
 Device Drivers  ---&amp;gt; &lt;br /&gt;
    Multi-device support (RAID and LVM)  ---&amp;gt;&lt;br /&gt;
        [*] Multiple devices driver support (RAID and LVM)&lt;br /&gt;
        [*]   RAID support &lt;br /&gt;
        [*]     RAID-1 (mirroring) mode &lt;br /&gt;
&lt;br /&gt;
Si vous démarrez d'un live CD, il faut charger le module (raid1 par exemple) :&lt;br /&gt;
 modprobe raid1&lt;br /&gt;
&lt;br /&gt;
Créer les nodes /dev/mdX&lt;br /&gt;
 mknod /dev/md1 b 9 1&lt;br /&gt;
 mknod /dev/md3 b 9 3&lt;br /&gt;
 mknod /dev/md4 b 9 4&lt;br /&gt;
&lt;br /&gt;
== Création des arrays ==&lt;br /&gt;
&lt;br /&gt;
Pour les assembler avec mdadm, la commande ressemble à la suivante&lt;br /&gt;
 mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1&lt;br /&gt;
 mdadm --create /dev/md3 --level=1 --raid-devices=2 /dev/sda3 /dev/sdb3&lt;br /&gt;
 mdadm --create /dev/md4 --level=1 --raid-devices=2 /dev/sda4 /dev/sdb4&lt;br /&gt;
&lt;br /&gt;
Une fois l'array créé, reste les formatage et le montage à l'endroit voulu.&lt;br /&gt;
 mke2fs /dev/md1&lt;br /&gt;
 mkreiserfs /dev/md3&lt;br /&gt;
 mkreiserfs /dev/md4&lt;br /&gt;
 mkswap /dev/sda2 &amp;amp;&amp;amp; mkswap /dev/sdb2&lt;br /&gt;
 swapon /dev/sda2 &amp;amp;&amp;amp; swapon /dev/sdb2 &lt;br /&gt;
 mount /dev/md3 /mnt&lt;br /&gt;
 mkdir -p /mnt/boot &amp;amp;&amp;amp; mount /dev/md1 /mnt/boot&lt;br /&gt;
 mkdir -p /mnt/home &amp;amp;&amp;amp; mount /dev/md4 /mnt/home&lt;br /&gt;
&lt;br /&gt;
On peut maintenant consulter les informations sur les disques, et insérer ces informations dans /etc/mdadm.conf :&lt;br /&gt;
 mdadm --detail --scan &amp;gt;&amp;gt; /etc/mdadm.conf&lt;br /&gt;
&lt;br /&gt;
=== Créer un raid10 ===&lt;br /&gt;
 mdadm -v --create /dev/md2 --level=raid10 --raid-devices=12 /dev/sd[a-l]2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Créer un raid 50 ===&lt;br /&gt;
Commencer par créer 4 baies de trois disques en RAID5 :&lt;br /&gt;
 mdadm --create /dev/md21 -v --raid-devices=3 --level=5 /dev/sd[a-c]2&lt;br /&gt;
 mdadm --create /dev/md22 -v --raid-devices=3 --level=5 /dev/sd[d-f]2&lt;br /&gt;
 mdadm --create /dev/md23 -v --raid-devices=3 --level=5 /dev/sd[g-i]2&lt;br /&gt;
 mdadm --create /dev/md24 -v --raid-devices=3 --level=5 /dev/sd[j-l]2&lt;br /&gt;
&lt;br /&gt;
Pour créer un raid 0 avec ces 4 RAID5 :&lt;br /&gt;
 mdadm --create /dev/md2 -v --raid-devices=4 --level=0 /dev/md21 /dev/md22 /dev/md23 /dev/md24&lt;br /&gt;
&lt;br /&gt;
Si par la suite on veut étendre le raid :&lt;br /&gt;
Recréer une baie de raid5 : &lt;br /&gt;
 mdadm --create /dev/md25 -v --raid-devices=3 --level=5 /dev/sd[l-n]2&lt;br /&gt;
&lt;br /&gt;
L'ajouter daans le raid0 existant :&lt;br /&gt;
 mdadm --manage /dev/md2 --add /dev/md25&lt;br /&gt;
&lt;br /&gt;
Définir le nombre de Baies pour le raid0 :&lt;br /&gt;
 mdadm --grow /dev/md2 --raid-devices=5&lt;br /&gt;
&lt;br /&gt;
= (Ré)Assemblage =&lt;br /&gt;
&lt;br /&gt;
Une fois le RAID créé et des données dessus, on ne veut plus nécessairement le reformater et le recréer quand on l'a démonté. La solution sera donc de le réassemblé avec mdadm.&lt;br /&gt;
&lt;br /&gt;
La première étape conciste à examiner une partition pour contrôler si elle fait bien partie d'un RAID (pour ceux qui on une mauvaise mémoire à très court terme) :&lt;br /&gt;
 mdadm --examine /dev/sda1&lt;br /&gt;
&lt;br /&gt;
La sortie nous dit si oui ou non la partition fait partie d'un RAID, et si oui quels autres disques en font aussi partie. Une fois en possession de ces informations, il nous reste à assembler l'ARRAY :&lt;br /&gt;
 mdadm --assemble /dev/md1 /dev/sda1 /dev/sdb1&lt;br /&gt;
 mdadm --assemble /dev/md3 /dev/sda3 /dev/sdb3&lt;br /&gt;
 mdadm --assemble /dev/md4 /dev/sda4 /dev/sdb4&lt;br /&gt;
&lt;br /&gt;
Reste le montage à l'endroit voulu.&lt;br /&gt;
&lt;br /&gt;
= Reconstruction =&lt;br /&gt;
&lt;br /&gt;
J'ai fait des tests de tolérence sur le RAID logiciel. J'ai commencé par enlever des disques à chaud (et j'ai pu bien constater qu'IDE était hot-déswap mais pas hot-swap), puis en utilisant l'option --fail pour simuler une panne. Les résultat étaient assez intéressants, mais le problème était de reconstruire le raid après la panne simulée.&lt;br /&gt;
&lt;br /&gt;
Une fois la panne détectée (une véritable panne ou une simulée), on identifie le disque défectueux (avec dmesg ou /proc/mdstat) et on le retire de l'array :&lt;br /&gt;
 mdadm --manage /dev/md1 --remove /dev/sdb1&lt;br /&gt;
&lt;br /&gt;
Si on n'a pas de SATA pour enlever et remettre un disque à chaud, on arrête la machine et on la redémarre avec le nouveau disque. Puis on ajoute le nouveau disque à l'array :&lt;br /&gt;
 mdadm --manage /dev/md1 --add /dev/sdb1&lt;br /&gt;
&lt;br /&gt;
= Suppression =&lt;br /&gt;
== Supprimer le raid existant ==&lt;br /&gt;
Passer le status des disques à fail :&lt;br /&gt;
 mdadm --manage /dev/md2 --fail /dev/sd[a-l]2&lt;br /&gt;
&lt;br /&gt;
Puis les retirer du raid :&lt;br /&gt;
 mdadm --manage /dev/md2 --remove /dev/sd[a-l]2&lt;br /&gt;
&lt;br /&gt;
Arrêter le raid :&lt;br /&gt;
 mdadm --manage --stop /dev/md2&lt;br /&gt;
&lt;br /&gt;
Commenter la ligne correspondant à md2 dans /etc/mdadm.conf&lt;br /&gt;
&lt;br /&gt;
Initialiser les périphériques pour effacer toute trace et redémarrer la machine:&lt;br /&gt;
 mdadm --zero-superblock /dev/sd[a-l]2&lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Monitoring =&lt;br /&gt;
Mdadm offre une option de monitoring des arrays : --monitor. Pouvant être directement lancé sur centos avec le daemon mdmonitor :&lt;br /&gt;
service mdmonitor start&lt;br /&gt;
chkconfig mdmonitor on&lt;br /&gt;
&lt;br /&gt;
== Notifications de base ==&lt;br /&gt;
Ajouter dans /etc/mdadm.conf&lt;br /&gt;
 MAILADDR youremail@domain.com&lt;br /&gt;
 MAILFROM my-server-name&lt;br /&gt;
&lt;br /&gt;
tester :&lt;br /&gt;
mdadm --monitor --scan --test --oneshot&lt;br /&gt;
&lt;br /&gt;
== Notification à l'aide d&amp;quot;un script ==&lt;br /&gt;
Mdmonitor peut appeler un script externe lors d'un événement (bon ou mauvais). Pour cela rajouter dans /etc/mdadm.conf :&lt;br /&gt;
 PROGRAM /opt/systools/handle-mdadm-events.sh&lt;br /&gt;
&lt;br /&gt;
Les arguments passés au script seront les suivants :&lt;br /&gt;
    * $1 : une chaine de caractère qui décrit l'évènement qui s'est produit&lt;br /&gt;
          o 'SparesMissing' : une panne est détectée mais aucun disque de remplacement n'est présent&lt;br /&gt;
          o 'Fail' : un disque est détecté comme déféctueux&lt;br /&gt;
          o 'RebuildStarted' : un nouveau disque est ajouté à l'array et la reconstruction commence&lt;br /&gt;
          o 'Rebuild20' : la reconstruction est à 20%&lt;br /&gt;
          o 'Rebuild40' : la reconstruction est à 40%&lt;br /&gt;
          o 'Rebuild60' : la reconstruction est à 60%&lt;br /&gt;
          o 'Rebuild80' : la reconstruction est à 80%&lt;br /&gt;
          o 'RebuildFinished' : la reconstruction est terminée&lt;br /&gt;
          o 'SpareActive' : un disque de réserve est ajouté à un array &lt;br /&gt;
    * $2 : le nom de la device md : /dev/mdX &lt;br /&gt;
&lt;br /&gt;
$1 et $2 étant le premier et le deuxième argument passé en paramètre.&lt;br /&gt;
&lt;br /&gt;
Voici le script :&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
CONFIG=&amp;quot;/etc/mdadm.conf&amp;quot;&lt;br /&gt;
&lt;br /&gt;
MAILADDR=&amp;quot;pbrun@systea.net&amp;quot; # support@systea.net&amp;quot; #espace entre les mails&lt;br /&gt;
&lt;br /&gt;
parse_event()&lt;br /&gt;
{&lt;br /&gt;
  echo &amp;quot;Hôte            : $HOSTNAME&amp;quot;&lt;br /&gt;
  if [ -z &amp;quot;$1&amp;quot; ]; then&lt;br /&gt;
    echo &amp;quot;Événement        : Test message&amp;quot;&lt;br /&gt;
  else&lt;br /&gt;
    echo &amp;quot;MD Device       : $2&amp;quot;&lt;br /&gt;
    echo &amp;quot;Événement           : $1&amp;quot;&lt;br /&gt;
    if [ -n &amp;quot;$3&amp;quot; ]; then&lt;br /&gt;
      echo &amp;quot;Élément en cause: $3&amp;quot;&lt;br /&gt;
    fi&lt;br /&gt;
  fi&lt;br /&gt;
&lt;br /&gt;
  echo &amp;quot;&amp;quot;&lt;br /&gt;
  echo &amp;quot;/proc/mdstat dump:&amp;quot;&lt;br /&gt;
  FAIL=0&lt;br /&gt;
  DEGRADED=0&lt;br /&gt;
  while read LINE; do&lt;br /&gt;
    echo -n &amp;quot;$LINE&amp;quot;&lt;br /&gt;
    if [ -n &amp;quot;$(echo &amp;quot;$LINE&amp;quot; |grep 'active raid')&amp;quot; ]; then&lt;br /&gt;
      if [ -n &amp;quot;$(echo &amp;quot;$LINE&amp;quot; |grep '\(F\)')&amp;quot; ]; then&lt;br /&gt;
        FAIL=$(($FAIL + 1))&lt;br /&gt;
        echo -n &amp;quot; (ATTENTION: DISQUE(S) DÉFÉCTUEUX!)&amp;quot;&lt;br /&gt;
      fi&lt;br /&gt;
&lt;br /&gt;
      if [ -n &amp;quot;$(echo &amp;quot;$LINE&amp;quot; |grep '\(S\)')&amp;quot; ]; then&lt;br /&gt;
        echo -n &amp;quot; (Hotspare(s) disponibles)&amp;quot;&lt;br /&gt;
      else&lt;br /&gt;
        echo -n &amp;quot; (NOTE: Pas de hotspare?!)&amp;quot;&lt;br /&gt;
     fi&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    if [ -n &amp;quot;$(echo &amp;quot;$LINE&amp;quot; |grep 'blocks')&amp;quot; ]; then&lt;br /&gt;
      if [ -n &amp;quot;$(echo &amp;quot;$LINE&amp;quot; |grep '_')&amp;quot; ]; then&lt;br /&gt;
        DEGRADED=$(($DEGRADED + 1))&lt;br /&gt;
        echo -n &amp;quot; (DEGRADED!!!)&amp;quot;&lt;br /&gt;
      fi&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;&amp;quot;&lt;br /&gt;
  done &amp;lt; /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
  if [ $FAIL -gt 0 ]; then&lt;br /&gt;
    echo &amp;quot;&amp;quot;&lt;br /&gt;
    echo &amp;quot;** ATTENTION: Un ou plusieurs RAID ont un ou plusieurs disques déféctueux! **&amp;quot;&lt;br /&gt;
  fi&lt;br /&gt;
&lt;br /&gt;
  if [ $DEGRADED -gt 0 ]; then&lt;br /&gt;
    echo &amp;quot;&amp;quot;&lt;br /&gt;
    echo &amp;quot;** ATTENTION: Un ou plusieurs RAID fonctionnent en mode dégradé! **&amp;quot;&lt;br /&gt;
  fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# main line:&lt;br /&gt;
&lt;br /&gt;
# Get MAILADDR from mdadm.conf config file, if not set already&lt;br /&gt;
if [ -z &amp;quot;$MAILADDR&amp;quot; ] &amp;amp;&amp;amp; [ -f &amp;quot;$CONFIG&amp;quot; ]; then&lt;br /&gt;
  MAILADDR=`grep MAILADDR &amp;quot;$CONFIG&amp;quot; |cut -d' ' -f2`&lt;br /&gt;
  if [ -z &amp;quot;$MAILADDR&amp;quot; ]; then&lt;br /&gt;
    MAILADDR=&amp;quot;root&amp;quot;&lt;br /&gt;
  fi&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Call the parser and send it to the configured address&lt;br /&gt;
parse_event $* |mail -s&amp;quot;Événement RAID(MD) sur  $HOSTNAME&amp;quot; &amp;quot;$MAILADDR&amp;quot;&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afin de ne pas recevoir deux mails pour chaque alerte il est conseillé de commenter les deux lignes :&lt;br /&gt;
 MAILADDR youremail@domain.com&lt;br /&gt;
 MAILFROM my-server-name - mdadm&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
* Vérifier d'avoir une version &amp;gt; 2.5.0, car elle souffre d'un gros memory leak quand mdadm est lancé en monitoring.&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=RAID_logiciel_:_mdadm&amp;diff=5650</id>
		<title>RAID logiciel : mdadm</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=RAID_logiciel_:_mdadm&amp;diff=5650"/>
				<updated>2013-05-30T08:23:48Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : /* Création des arrays */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Un article de Le wiki de 2 noisettes - noisette.ch.''&lt;br /&gt;
&lt;br /&gt;
Mdadm est un logiciel de gestion de RAID logiciel. Il est très complet au point que je le conseille même pour un environnement de production.&lt;br /&gt;
&lt;br /&gt;
Cet article explique comment créer un RAID, assembler plusieurs disques ayant déjà fait parti d'un array, ou comment réagir en cas de panne. Pour les commandes données en exemple, nous ferons du RAID1 avec 2 disques partitionnés en 4, respectivement /boot, swap, / et /home.&lt;br /&gt;
&lt;br /&gt;
= Création =&lt;br /&gt;
&lt;br /&gt;
== Configurer les disques ==&lt;br /&gt;
&lt;br /&gt;
Une fois le logiciel mdadm installé sur l'ordinateur, il faut configurer les disques&lt;br /&gt;
 fdisk /dev/sda&lt;br /&gt;
 fdisk /dev/sdb&lt;br /&gt;
&lt;br /&gt;
pour que les partitions qui vont accueillir du RAID soient de type Linux raid autodetect (fd). Puis on va les assembler avec mdadm pour finalement pouvoir les formater et installer le le system dessus.&lt;br /&gt;
&lt;br /&gt;
La configuration des disques sera la suivante :&lt;br /&gt;
 /dev/*1 --&amp;gt; /boot,  100MB&lt;br /&gt;
 /dev/*2 --&amp;gt; swap, 1-2GB&lt;br /&gt;
/ dev/*3 --&amp;gt; /, 20GB&lt;br /&gt;
 /dev/*4 --&amp;gt; /home, le reste (bien que mettre /var serait plus judicieux sur une gentoo.&lt;br /&gt;
&lt;br /&gt;
== Noyau ==&lt;br /&gt;
&lt;br /&gt;
Compilez le noyau avec les options suivantes (et sélectionner un autre mode de RAID si souhaité)&lt;br /&gt;
 Device Drivers  ---&amp;gt; &lt;br /&gt;
    Multi-device support (RAID and LVM)  ---&amp;gt;&lt;br /&gt;
        [*] Multiple devices driver support (RAID and LVM)&lt;br /&gt;
        [*]   RAID support &lt;br /&gt;
        [*]     RAID-1 (mirroring) mode &lt;br /&gt;
&lt;br /&gt;
Si vous démarrez d'un live CD, il faut charger le module (raid1 par exemple) :&lt;br /&gt;
 modprobe raid1&lt;br /&gt;
&lt;br /&gt;
Créer les nodes /dev/mdX&lt;br /&gt;
 mknod /dev/md1 b 9 1&lt;br /&gt;
 mknod /dev/md3 b 9 3&lt;br /&gt;
 mknod /dev/md4 b 9 4&lt;br /&gt;
&lt;br /&gt;
== Création des arrays ==&lt;br /&gt;
&lt;br /&gt;
Pour les assembler avec mdadm, la commande ressemble à la suivante&lt;br /&gt;
 mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1&lt;br /&gt;
 mdadm --create /dev/md3 --level=1 --raid-devices=2 /dev/sda3 /dev/sdb3&lt;br /&gt;
 mdadm --create /dev/md4 --level=1 --raid-devices=2 /dev/sda4 /dev/sdb4&lt;br /&gt;
&lt;br /&gt;
Une fois l'array créé, reste les formatage et le montage à l'endroit voulu.&lt;br /&gt;
 mke2fs /dev/md1&lt;br /&gt;
 mkreiserfs /dev/md3&lt;br /&gt;
 mkreiserfs /dev/md4&lt;br /&gt;
 mkswap /dev/sda2 &amp;amp;&amp;amp; mkswap /dev/sdb2&lt;br /&gt;
 swapon /dev/sda2 &amp;amp;&amp;amp; swapon /dev/sdb2 &lt;br /&gt;
 mount /dev/md3 /mnt&lt;br /&gt;
 mkdir -p /mnt/boot &amp;amp;&amp;amp; mount /dev/md1 /mnt/boot&lt;br /&gt;
 mkdir -p /mnt/home &amp;amp;&amp;amp; mount /dev/md4 /mnt/home&lt;br /&gt;
&lt;br /&gt;
On peut maintenant consulter les informations sur les disques, et insérer ces informations dans /etc/mdadm.conf :&lt;br /&gt;
 mdadm --detail --scan &amp;gt;&amp;gt; /etc/mdadm.conf&lt;br /&gt;
&lt;br /&gt;
=== Créer un raid10 ===&lt;br /&gt;
 mdadm -v --create /dev/md2 --level=raid10 --raid-devices=12 /dev/sd[a-l]2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Créer un raid 50 ===&lt;br /&gt;
Commencer par créer 4 baies de trois disques en RAID5 :&lt;br /&gt;
 mdadm --create /dev/md21 -v --raid-devices=3 --level=5 /dev/sd[a-c]2&lt;br /&gt;
 mdadm --create /dev/md22 -v --raid-devices=3 --level=5 /dev/sd[d-f]2&lt;br /&gt;
 mdadm --create /dev/md23 -v --raid-devices=3 --level=5 /dev/sd[g-i]2&lt;br /&gt;
 mdadm --create /dev/md24 -v --raid-devices=3 --level=5 /dev/sd[j-l]2&lt;br /&gt;
&lt;br /&gt;
Pour créer un raid 0 avec ces 4 RAID5 :&lt;br /&gt;
 mdadm --create /dev/md2 -v --raid-devices=4 --level=0 /dev/md21 /dev/md22 /dev/md23 /dev/md24&lt;br /&gt;
&lt;br /&gt;
Si par la suite on veut étendre le raid :&lt;br /&gt;
Recréer une baie de raid5 : &lt;br /&gt;
 mdadm --create /dev/md25 -v --raid-devices=3 --level=5 /dev/sd[l-n]2&lt;br /&gt;
&lt;br /&gt;
L'ajouter daans le raid0 existant :&lt;br /&gt;
 mdadm --manage /dev/md2 --add /dev/md25&lt;br /&gt;
&lt;br /&gt;
Définir le nombre de Baies pour le raid0 :&lt;br /&gt;
 mdadm --grow /dev/md2 --raid-devices=5&lt;br /&gt;
&lt;br /&gt;
= (Ré)Assemblage =&lt;br /&gt;
&lt;br /&gt;
Une fois le RAID créé et des données dessus, on ne veut plus nécessairement le reformater et le recréer quand on l'a démonté. La solution sera donc de le réassemblé avec mdadm.&lt;br /&gt;
&lt;br /&gt;
La première étape conciste à examiner une partition pour contrôler si elle fait bien partie d'un RAID (pour ceux qui on une mauvaise mémoire à très court terme) :&lt;br /&gt;
 mdadm --examine /dev/sda1&lt;br /&gt;
&lt;br /&gt;
La sortie nous dit si oui ou non la partition fait partie d'un RAID, et si oui quels autres disques en font aussi partie. Une fois en possession de ces informations, il nous reste à assembler l'ARRAY :&lt;br /&gt;
 mdadm --assemble /dev/md1 /dev/sda1 /dev/sdb1&lt;br /&gt;
 mdadm --assemble /dev/md3 /dev/sda3 /dev/sdb3&lt;br /&gt;
 mdadm --assemble /dev/md4 /dev/sda4 /dev/sdb4&lt;br /&gt;
&lt;br /&gt;
Reste le montage à l'endroit voulu.&lt;br /&gt;
&lt;br /&gt;
= Reconstruction =&lt;br /&gt;
&lt;br /&gt;
J'ai fait des tests de tolérence sur le RAID logiciel. J'ai commencé par enlever des disques à chaud (et j'ai pu bien constater qu'IDE était hot-déswap mais pas hot-swap), puis en utilisant l'option --fail pour simuler une panne. Les résultat étaient assez intéressants, mais le problème était de reconstruire le raid après la panne simulée.&lt;br /&gt;
&lt;br /&gt;
Une fois la panne détectée (une véritable panne ou une simulée), on identifie le disque défectueux (avec dmesg ou /proc/mdstat) et on le retire de l'array :&lt;br /&gt;
 mdadm --manage /dev/md1 --remove /dev/sdb1&lt;br /&gt;
&lt;br /&gt;
Si on n'a pas de SATA pour enlever et remettre un disque à chaud, on arrête la machine et on la redémarre avec le nouveau disque. Puis on ajoute le nouveau disque à l'array :&lt;br /&gt;
 mdadm --manage /dev/md1 --add /dev/sdb1&lt;br /&gt;
&lt;br /&gt;
= Monitoring =&lt;br /&gt;
Mdadm offre une option de monitoring des arrays : --monitor. Pouvant être directement lancé sur centos avec le daemon mdmonitor :&lt;br /&gt;
service mdmonitor start&lt;br /&gt;
chkconfig mdmonitor on&lt;br /&gt;
&lt;br /&gt;
== Notifications de base ==&lt;br /&gt;
Ajouter dans /etc/mdadm.conf&lt;br /&gt;
 MAILADDR youremail@domain.com&lt;br /&gt;
 MAILFROM my-server-name&lt;br /&gt;
&lt;br /&gt;
tester :&lt;br /&gt;
mdadm --monitor --scan --test --oneshot&lt;br /&gt;
&lt;br /&gt;
== Notification à l'aide d&amp;quot;un script ==&lt;br /&gt;
Mdmonitor peut appeler un script externe lors d'un événement (bon ou mauvais). Pour cela rajouter dans /etc/mdadm.conf :&lt;br /&gt;
 PROGRAM /opt/systools/handle-mdadm-events.sh&lt;br /&gt;
&lt;br /&gt;
Les arguments passés au script seront les suivants :&lt;br /&gt;
    * $1 : une chaine de caractère qui décrit l'évènement qui s'est produit&lt;br /&gt;
          o 'SparesMissing' : une panne est détectée mais aucun disque de remplacement n'est présent&lt;br /&gt;
          o 'Fail' : un disque est détecté comme déféctueux&lt;br /&gt;
          o 'RebuildStarted' : un nouveau disque est ajouté à l'array et la reconstruction commence&lt;br /&gt;
          o 'Rebuild20' : la reconstruction est à 20%&lt;br /&gt;
          o 'Rebuild40' : la reconstruction est à 40%&lt;br /&gt;
          o 'Rebuild60' : la reconstruction est à 60%&lt;br /&gt;
          o 'Rebuild80' : la reconstruction est à 80%&lt;br /&gt;
          o 'RebuildFinished' : la reconstruction est terminée&lt;br /&gt;
          o 'SpareActive' : un disque de réserve est ajouté à un array &lt;br /&gt;
    * $2 : le nom de la device md : /dev/mdX &lt;br /&gt;
&lt;br /&gt;
$1 et $2 étant le premier et le deuxième argument passé en paramètre.&lt;br /&gt;
&lt;br /&gt;
Voici le script :&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
CONFIG=&amp;quot;/etc/mdadm.conf&amp;quot;&lt;br /&gt;
&lt;br /&gt;
MAILADDR=&amp;quot;pbrun@systea.net&amp;quot; # support@systea.net&amp;quot; #espace entre les mails&lt;br /&gt;
&lt;br /&gt;
parse_event()&lt;br /&gt;
{&lt;br /&gt;
  echo &amp;quot;Hôte            : $HOSTNAME&amp;quot;&lt;br /&gt;
  if [ -z &amp;quot;$1&amp;quot; ]; then&lt;br /&gt;
    echo &amp;quot;Événement        : Test message&amp;quot;&lt;br /&gt;
  else&lt;br /&gt;
    echo &amp;quot;MD Device       : $2&amp;quot;&lt;br /&gt;
    echo &amp;quot;Événement           : $1&amp;quot;&lt;br /&gt;
    if [ -n &amp;quot;$3&amp;quot; ]; then&lt;br /&gt;
      echo &amp;quot;Élément en cause: $3&amp;quot;&lt;br /&gt;
    fi&lt;br /&gt;
  fi&lt;br /&gt;
&lt;br /&gt;
  echo &amp;quot;&amp;quot;&lt;br /&gt;
  echo &amp;quot;/proc/mdstat dump:&amp;quot;&lt;br /&gt;
  FAIL=0&lt;br /&gt;
  DEGRADED=0&lt;br /&gt;
  while read LINE; do&lt;br /&gt;
    echo -n &amp;quot;$LINE&amp;quot;&lt;br /&gt;
    if [ -n &amp;quot;$(echo &amp;quot;$LINE&amp;quot; |grep 'active raid')&amp;quot; ]; then&lt;br /&gt;
      if [ -n &amp;quot;$(echo &amp;quot;$LINE&amp;quot; |grep '\(F\)')&amp;quot; ]; then&lt;br /&gt;
        FAIL=$(($FAIL + 1))&lt;br /&gt;
        echo -n &amp;quot; (ATTENTION: DISQUE(S) DÉFÉCTUEUX!)&amp;quot;&lt;br /&gt;
      fi&lt;br /&gt;
&lt;br /&gt;
      if [ -n &amp;quot;$(echo &amp;quot;$LINE&amp;quot; |grep '\(S\)')&amp;quot; ]; then&lt;br /&gt;
        echo -n &amp;quot; (Hotspare(s) disponibles)&amp;quot;&lt;br /&gt;
      else&lt;br /&gt;
        echo -n &amp;quot; (NOTE: Pas de hotspare?!)&amp;quot;&lt;br /&gt;
     fi&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    if [ -n &amp;quot;$(echo &amp;quot;$LINE&amp;quot; |grep 'blocks')&amp;quot; ]; then&lt;br /&gt;
      if [ -n &amp;quot;$(echo &amp;quot;$LINE&amp;quot; |grep '_')&amp;quot; ]; then&lt;br /&gt;
        DEGRADED=$(($DEGRADED + 1))&lt;br /&gt;
        echo -n &amp;quot; (DEGRADED!!!)&amp;quot;&lt;br /&gt;
      fi&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;&amp;quot;&lt;br /&gt;
  done &amp;lt; /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
  if [ $FAIL -gt 0 ]; then&lt;br /&gt;
    echo &amp;quot;&amp;quot;&lt;br /&gt;
    echo &amp;quot;** ATTENTION: Un ou plusieurs RAID ont un ou plusieurs disques déféctueux! **&amp;quot;&lt;br /&gt;
  fi&lt;br /&gt;
&lt;br /&gt;
  if [ $DEGRADED -gt 0 ]; then&lt;br /&gt;
    echo &amp;quot;&amp;quot;&lt;br /&gt;
    echo &amp;quot;** ATTENTION: Un ou plusieurs RAID fonctionnent en mode dégradé! **&amp;quot;&lt;br /&gt;
  fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# main line:&lt;br /&gt;
&lt;br /&gt;
# Get MAILADDR from mdadm.conf config file, if not set already&lt;br /&gt;
if [ -z &amp;quot;$MAILADDR&amp;quot; ] &amp;amp;&amp;amp; [ -f &amp;quot;$CONFIG&amp;quot; ]; then&lt;br /&gt;
  MAILADDR=`grep MAILADDR &amp;quot;$CONFIG&amp;quot; |cut -d' ' -f2`&lt;br /&gt;
  if [ -z &amp;quot;$MAILADDR&amp;quot; ]; then&lt;br /&gt;
    MAILADDR=&amp;quot;root&amp;quot;&lt;br /&gt;
  fi&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Call the parser and send it to the configured address&lt;br /&gt;
parse_event $* |mail -s&amp;quot;Événement RAID(MD) sur  $HOSTNAME&amp;quot; &amp;quot;$MAILADDR&amp;quot;&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afin de ne pas recevoir deux mails pour chaque alerte il est conseillé de commenter les deux lignes :&lt;br /&gt;
 MAILADDR youremail@domain.com&lt;br /&gt;
 MAILFROM my-server-name - mdadm&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
* Vérifier d'avoir une version &amp;gt; 2.5.0, car elle souffre d'un gros memory leak quand mdadm est lancé en monitoring.&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=RAID_logiciel_:_mdadm&amp;diff=5649</id>
		<title>RAID logiciel : mdadm</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=RAID_logiciel_:_mdadm&amp;diff=5649"/>
				<updated>2013-05-30T08:21:38Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : /* Notification à l'aide d&amp;quot;un script */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Un article de Le wiki de 2 noisettes - noisette.ch.''&lt;br /&gt;
&lt;br /&gt;
Mdadm est un logiciel de gestion de RAID logiciel. Il est très complet au point que je le conseille même pour un environnement de production.&lt;br /&gt;
&lt;br /&gt;
Cet article explique comment créer un RAID, assembler plusieurs disques ayant déjà fait parti d'un array, ou comment réagir en cas de panne. Pour les commandes données en exemple, nous ferons du RAID1 avec 2 disques partitionnés en 4, respectivement /boot, swap, / et /home.&lt;br /&gt;
&lt;br /&gt;
= Création =&lt;br /&gt;
&lt;br /&gt;
== Configurer les disques ==&lt;br /&gt;
&lt;br /&gt;
Une fois le logiciel mdadm installé sur l'ordinateur, il faut configurer les disques&lt;br /&gt;
 fdisk /dev/sda&lt;br /&gt;
 fdisk /dev/sdb&lt;br /&gt;
&lt;br /&gt;
pour que les partitions qui vont accueillir du RAID soient de type Linux raid autodetect (fd). Puis on va les assembler avec mdadm pour finalement pouvoir les formater et installer le le system dessus.&lt;br /&gt;
&lt;br /&gt;
La configuration des disques sera la suivante :&lt;br /&gt;
 /dev/*1 --&amp;gt; /boot,  100MB&lt;br /&gt;
 /dev/*2 --&amp;gt; swap, 1-2GB&lt;br /&gt;
/ dev/*3 --&amp;gt; /, 20GB&lt;br /&gt;
 /dev/*4 --&amp;gt; /home, le reste (bien que mettre /var serait plus judicieux sur une gentoo.&lt;br /&gt;
&lt;br /&gt;
== Noyau ==&lt;br /&gt;
&lt;br /&gt;
Compilez le noyau avec les options suivantes (et sélectionner un autre mode de RAID si souhaité)&lt;br /&gt;
 Device Drivers  ---&amp;gt; &lt;br /&gt;
    Multi-device support (RAID and LVM)  ---&amp;gt;&lt;br /&gt;
        [*] Multiple devices driver support (RAID and LVM)&lt;br /&gt;
        [*]   RAID support &lt;br /&gt;
        [*]     RAID-1 (mirroring) mode &lt;br /&gt;
&lt;br /&gt;
Si vous démarrez d'un live CD, il faut charger le module (raid1 par exemple) :&lt;br /&gt;
 modprobe raid1&lt;br /&gt;
&lt;br /&gt;
Créer les nodes /dev/mdX&lt;br /&gt;
 mknod /dev/md1 b 9 1&lt;br /&gt;
 mknod /dev/md3 b 9 3&lt;br /&gt;
 mknod /dev/md4 b 9 4&lt;br /&gt;
&lt;br /&gt;
== Création des arrays ==&lt;br /&gt;
&lt;br /&gt;
Pour les assembler avec mdadm, la commande ressemble à la suivante&lt;br /&gt;
 mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1&lt;br /&gt;
 mdadm --create /dev/md3 --level=1 --raid-devices=2 /dev/sda3 /dev/sdb3&lt;br /&gt;
 mdadm --create /dev/md4 --level=1 --raid-devices=2 /dev/sda4 /dev/sdb4&lt;br /&gt;
&lt;br /&gt;
Une fois l'array créé, reste les formatage et le montage à l'endroit voulu.&lt;br /&gt;
 mke2fs /dev/md1&lt;br /&gt;
 mkreiserfs /dev/md3&lt;br /&gt;
 mkreiserfs /dev/md4&lt;br /&gt;
 mkswap /dev/sda2 &amp;amp;&amp;amp; mkswap /dev/sdb2&lt;br /&gt;
 swapon /dev/sda2 &amp;amp;&amp;amp; swapon /dev/sdb2 &lt;br /&gt;
 mount /dev/md3 /mnt&lt;br /&gt;
 mkdir -p /mnt/boot &amp;amp;&amp;amp; mount /dev/md1 /mnt/boot&lt;br /&gt;
 mkdir -p /mnt/home &amp;amp;&amp;amp; mount /dev/md4 /mnt/home&lt;br /&gt;
&lt;br /&gt;
On peut maintenant consulter les informations sur les disques, et insérer ces informations dans /etc/mdadm.conf :&lt;br /&gt;
 mdadm --detail --scan &amp;gt;&amp;gt; /etc/mdadm.conf&lt;br /&gt;
&lt;br /&gt;
= (Ré)Assemblage =&lt;br /&gt;
&lt;br /&gt;
Une fois le RAID créé et des données dessus, on ne veut plus nécessairement le reformater et le recréer quand on l'a démonté. La solution sera donc de le réassemblé avec mdadm.&lt;br /&gt;
&lt;br /&gt;
La première étape conciste à examiner une partition pour contrôler si elle fait bien partie d'un RAID (pour ceux qui on une mauvaise mémoire à très court terme) :&lt;br /&gt;
 mdadm --examine /dev/sda1&lt;br /&gt;
&lt;br /&gt;
La sortie nous dit si oui ou non la partition fait partie d'un RAID, et si oui quels autres disques en font aussi partie. Une fois en possession de ces informations, il nous reste à assembler l'ARRAY :&lt;br /&gt;
 mdadm --assemble /dev/md1 /dev/sda1 /dev/sdb1&lt;br /&gt;
 mdadm --assemble /dev/md3 /dev/sda3 /dev/sdb3&lt;br /&gt;
 mdadm --assemble /dev/md4 /dev/sda4 /dev/sdb4&lt;br /&gt;
&lt;br /&gt;
Reste le montage à l'endroit voulu.&lt;br /&gt;
&lt;br /&gt;
= Reconstruction =&lt;br /&gt;
&lt;br /&gt;
J'ai fait des tests de tolérence sur le RAID logiciel. J'ai commencé par enlever des disques à chaud (et j'ai pu bien constater qu'IDE était hot-déswap mais pas hot-swap), puis en utilisant l'option --fail pour simuler une panne. Les résultat étaient assez intéressants, mais le problème était de reconstruire le raid après la panne simulée.&lt;br /&gt;
&lt;br /&gt;
Une fois la panne détectée (une véritable panne ou une simulée), on identifie le disque défectueux (avec dmesg ou /proc/mdstat) et on le retire de l'array :&lt;br /&gt;
 mdadm --manage /dev/md1 --remove /dev/sdb1&lt;br /&gt;
&lt;br /&gt;
Si on n'a pas de SATA pour enlever et remettre un disque à chaud, on arrête la machine et on la redémarre avec le nouveau disque. Puis on ajoute le nouveau disque à l'array :&lt;br /&gt;
 mdadm --manage /dev/md1 --add /dev/sdb1&lt;br /&gt;
&lt;br /&gt;
= Monitoring =&lt;br /&gt;
Mdadm offre une option de monitoring des arrays : --monitor. Pouvant être directement lancé sur centos avec le daemon mdmonitor :&lt;br /&gt;
service mdmonitor start&lt;br /&gt;
chkconfig mdmonitor on&lt;br /&gt;
&lt;br /&gt;
== Notifications de base ==&lt;br /&gt;
Ajouter dans /etc/mdadm.conf&lt;br /&gt;
 MAILADDR youremail@domain.com&lt;br /&gt;
 MAILFROM my-server-name&lt;br /&gt;
&lt;br /&gt;
tester :&lt;br /&gt;
mdadm --monitor --scan --test --oneshot&lt;br /&gt;
&lt;br /&gt;
== Notification à l'aide d&amp;quot;un script ==&lt;br /&gt;
Mdmonitor peut appeler un script externe lors d'un événement (bon ou mauvais). Pour cela rajouter dans /etc/mdadm.conf :&lt;br /&gt;
 PROGRAM /opt/systools/handle-mdadm-events.sh&lt;br /&gt;
&lt;br /&gt;
Les arguments passés au script seront les suivants :&lt;br /&gt;
    * $1 : une chaine de caractère qui décrit l'évènement qui s'est produit&lt;br /&gt;
          o 'SparesMissing' : une panne est détectée mais aucun disque de remplacement n'est présent&lt;br /&gt;
          o 'Fail' : un disque est détecté comme déféctueux&lt;br /&gt;
          o 'RebuildStarted' : un nouveau disque est ajouté à l'array et la reconstruction commence&lt;br /&gt;
          o 'Rebuild20' : la reconstruction est à 20%&lt;br /&gt;
          o 'Rebuild40' : la reconstruction est à 40%&lt;br /&gt;
          o 'Rebuild60' : la reconstruction est à 60%&lt;br /&gt;
          o 'Rebuild80' : la reconstruction est à 80%&lt;br /&gt;
          o 'RebuildFinished' : la reconstruction est terminée&lt;br /&gt;
          o 'SpareActive' : un disque de réserve est ajouté à un array &lt;br /&gt;
    * $2 : le nom de la device md : /dev/mdX &lt;br /&gt;
&lt;br /&gt;
$1 et $2 étant le premier et le deuxième argument passé en paramètre.&lt;br /&gt;
&lt;br /&gt;
Voici le script :&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
CONFIG=&amp;quot;/etc/mdadm.conf&amp;quot;&lt;br /&gt;
&lt;br /&gt;
MAILADDR=&amp;quot;pbrun@systea.net&amp;quot; # support@systea.net&amp;quot; #espace entre les mails&lt;br /&gt;
&lt;br /&gt;
parse_event()&lt;br /&gt;
{&lt;br /&gt;
  echo &amp;quot;Hôte            : $HOSTNAME&amp;quot;&lt;br /&gt;
  if [ -z &amp;quot;$1&amp;quot; ]; then&lt;br /&gt;
    echo &amp;quot;Événement        : Test message&amp;quot;&lt;br /&gt;
  else&lt;br /&gt;
    echo &amp;quot;MD Device       : $2&amp;quot;&lt;br /&gt;
    echo &amp;quot;Événement           : $1&amp;quot;&lt;br /&gt;
    if [ -n &amp;quot;$3&amp;quot; ]; then&lt;br /&gt;
      echo &amp;quot;Élément en cause: $3&amp;quot;&lt;br /&gt;
    fi&lt;br /&gt;
  fi&lt;br /&gt;
&lt;br /&gt;
  echo &amp;quot;&amp;quot;&lt;br /&gt;
  echo &amp;quot;/proc/mdstat dump:&amp;quot;&lt;br /&gt;
  FAIL=0&lt;br /&gt;
  DEGRADED=0&lt;br /&gt;
  while read LINE; do&lt;br /&gt;
    echo -n &amp;quot;$LINE&amp;quot;&lt;br /&gt;
    if [ -n &amp;quot;$(echo &amp;quot;$LINE&amp;quot; |grep 'active raid')&amp;quot; ]; then&lt;br /&gt;
      if [ -n &amp;quot;$(echo &amp;quot;$LINE&amp;quot; |grep '\(F\)')&amp;quot; ]; then&lt;br /&gt;
        FAIL=$(($FAIL + 1))&lt;br /&gt;
        echo -n &amp;quot; (ATTENTION: DISQUE(S) DÉFÉCTUEUX!)&amp;quot;&lt;br /&gt;
      fi&lt;br /&gt;
&lt;br /&gt;
      if [ -n &amp;quot;$(echo &amp;quot;$LINE&amp;quot; |grep '\(S\)')&amp;quot; ]; then&lt;br /&gt;
        echo -n &amp;quot; (Hotspare(s) disponibles)&amp;quot;&lt;br /&gt;
      else&lt;br /&gt;
        echo -n &amp;quot; (NOTE: Pas de hotspare?!)&amp;quot;&lt;br /&gt;
     fi&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    if [ -n &amp;quot;$(echo &amp;quot;$LINE&amp;quot; |grep 'blocks')&amp;quot; ]; then&lt;br /&gt;
      if [ -n &amp;quot;$(echo &amp;quot;$LINE&amp;quot; |grep '_')&amp;quot; ]; then&lt;br /&gt;
        DEGRADED=$(($DEGRADED + 1))&lt;br /&gt;
        echo -n &amp;quot; (DEGRADED!!!)&amp;quot;&lt;br /&gt;
      fi&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;&amp;quot;&lt;br /&gt;
  done &amp;lt; /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
  if [ $FAIL -gt 0 ]; then&lt;br /&gt;
    echo &amp;quot;&amp;quot;&lt;br /&gt;
    echo &amp;quot;** ATTENTION: Un ou plusieurs RAID ont un ou plusieurs disques déféctueux! **&amp;quot;&lt;br /&gt;
  fi&lt;br /&gt;
&lt;br /&gt;
  if [ $DEGRADED -gt 0 ]; then&lt;br /&gt;
    echo &amp;quot;&amp;quot;&lt;br /&gt;
    echo &amp;quot;** ATTENTION: Un ou plusieurs RAID fonctionnent en mode dégradé! **&amp;quot;&lt;br /&gt;
  fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# main line:&lt;br /&gt;
&lt;br /&gt;
# Get MAILADDR from mdadm.conf config file, if not set already&lt;br /&gt;
if [ -z &amp;quot;$MAILADDR&amp;quot; ] &amp;amp;&amp;amp; [ -f &amp;quot;$CONFIG&amp;quot; ]; then&lt;br /&gt;
  MAILADDR=`grep MAILADDR &amp;quot;$CONFIG&amp;quot; |cut -d' ' -f2`&lt;br /&gt;
  if [ -z &amp;quot;$MAILADDR&amp;quot; ]; then&lt;br /&gt;
    MAILADDR=&amp;quot;root&amp;quot;&lt;br /&gt;
  fi&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Call the parser and send it to the configured address&lt;br /&gt;
parse_event $* |mail -s&amp;quot;Événement RAID(MD) sur  $HOSTNAME&amp;quot; &amp;quot;$MAILADDR&amp;quot;&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afin de ne pas recevoir deux mails pour chaque alerte il est conseillé de commenter les deux lignes :&lt;br /&gt;
 MAILADDR youremail@domain.com&lt;br /&gt;
 MAILFROM my-server-name - mdadm&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
* Vérifier d'avoir une version &amp;gt; 2.5.0, car elle souffre d'un gros memory leak quand mdadm est lancé en monitoring.&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=RAID_logiciel_:_mdadm&amp;diff=5648</id>
		<title>RAID logiciel : mdadm</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=RAID_logiciel_:_mdadm&amp;diff=5648"/>
				<updated>2013-05-30T08:20:55Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : /* notifications de base */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Un article de Le wiki de 2 noisettes - noisette.ch.''&lt;br /&gt;
&lt;br /&gt;
Mdadm est un logiciel de gestion de RAID logiciel. Il est très complet au point que je le conseille même pour un environnement de production.&lt;br /&gt;
&lt;br /&gt;
Cet article explique comment créer un RAID, assembler plusieurs disques ayant déjà fait parti d'un array, ou comment réagir en cas de panne. Pour les commandes données en exemple, nous ferons du RAID1 avec 2 disques partitionnés en 4, respectivement /boot, swap, / et /home.&lt;br /&gt;
&lt;br /&gt;
= Création =&lt;br /&gt;
&lt;br /&gt;
== Configurer les disques ==&lt;br /&gt;
&lt;br /&gt;
Une fois le logiciel mdadm installé sur l'ordinateur, il faut configurer les disques&lt;br /&gt;
 fdisk /dev/sda&lt;br /&gt;
 fdisk /dev/sdb&lt;br /&gt;
&lt;br /&gt;
pour que les partitions qui vont accueillir du RAID soient de type Linux raid autodetect (fd). Puis on va les assembler avec mdadm pour finalement pouvoir les formater et installer le le system dessus.&lt;br /&gt;
&lt;br /&gt;
La configuration des disques sera la suivante :&lt;br /&gt;
 /dev/*1 --&amp;gt; /boot,  100MB&lt;br /&gt;
 /dev/*2 --&amp;gt; swap, 1-2GB&lt;br /&gt;
/ dev/*3 --&amp;gt; /, 20GB&lt;br /&gt;
 /dev/*4 --&amp;gt; /home, le reste (bien que mettre /var serait plus judicieux sur une gentoo.&lt;br /&gt;
&lt;br /&gt;
== Noyau ==&lt;br /&gt;
&lt;br /&gt;
Compilez le noyau avec les options suivantes (et sélectionner un autre mode de RAID si souhaité)&lt;br /&gt;
 Device Drivers  ---&amp;gt; &lt;br /&gt;
    Multi-device support (RAID and LVM)  ---&amp;gt;&lt;br /&gt;
        [*] Multiple devices driver support (RAID and LVM)&lt;br /&gt;
        [*]   RAID support &lt;br /&gt;
        [*]     RAID-1 (mirroring) mode &lt;br /&gt;
&lt;br /&gt;
Si vous démarrez d'un live CD, il faut charger le module (raid1 par exemple) :&lt;br /&gt;
 modprobe raid1&lt;br /&gt;
&lt;br /&gt;
Créer les nodes /dev/mdX&lt;br /&gt;
 mknod /dev/md1 b 9 1&lt;br /&gt;
 mknod /dev/md3 b 9 3&lt;br /&gt;
 mknod /dev/md4 b 9 4&lt;br /&gt;
&lt;br /&gt;
== Création des arrays ==&lt;br /&gt;
&lt;br /&gt;
Pour les assembler avec mdadm, la commande ressemble à la suivante&lt;br /&gt;
 mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1&lt;br /&gt;
 mdadm --create /dev/md3 --level=1 --raid-devices=2 /dev/sda3 /dev/sdb3&lt;br /&gt;
 mdadm --create /dev/md4 --level=1 --raid-devices=2 /dev/sda4 /dev/sdb4&lt;br /&gt;
&lt;br /&gt;
Une fois l'array créé, reste les formatage et le montage à l'endroit voulu.&lt;br /&gt;
 mke2fs /dev/md1&lt;br /&gt;
 mkreiserfs /dev/md3&lt;br /&gt;
 mkreiserfs /dev/md4&lt;br /&gt;
 mkswap /dev/sda2 &amp;amp;&amp;amp; mkswap /dev/sdb2&lt;br /&gt;
 swapon /dev/sda2 &amp;amp;&amp;amp; swapon /dev/sdb2 &lt;br /&gt;
 mount /dev/md3 /mnt&lt;br /&gt;
 mkdir -p /mnt/boot &amp;amp;&amp;amp; mount /dev/md1 /mnt/boot&lt;br /&gt;
 mkdir -p /mnt/home &amp;amp;&amp;amp; mount /dev/md4 /mnt/home&lt;br /&gt;
&lt;br /&gt;
On peut maintenant consulter les informations sur les disques, et insérer ces informations dans /etc/mdadm.conf :&lt;br /&gt;
 mdadm --detail --scan &amp;gt;&amp;gt; /etc/mdadm.conf&lt;br /&gt;
&lt;br /&gt;
= (Ré)Assemblage =&lt;br /&gt;
&lt;br /&gt;
Une fois le RAID créé et des données dessus, on ne veut plus nécessairement le reformater et le recréer quand on l'a démonté. La solution sera donc de le réassemblé avec mdadm.&lt;br /&gt;
&lt;br /&gt;
La première étape conciste à examiner une partition pour contrôler si elle fait bien partie d'un RAID (pour ceux qui on une mauvaise mémoire à très court terme) :&lt;br /&gt;
 mdadm --examine /dev/sda1&lt;br /&gt;
&lt;br /&gt;
La sortie nous dit si oui ou non la partition fait partie d'un RAID, et si oui quels autres disques en font aussi partie. Une fois en possession de ces informations, il nous reste à assembler l'ARRAY :&lt;br /&gt;
 mdadm --assemble /dev/md1 /dev/sda1 /dev/sdb1&lt;br /&gt;
 mdadm --assemble /dev/md3 /dev/sda3 /dev/sdb3&lt;br /&gt;
 mdadm --assemble /dev/md4 /dev/sda4 /dev/sdb4&lt;br /&gt;
&lt;br /&gt;
Reste le montage à l'endroit voulu.&lt;br /&gt;
&lt;br /&gt;
= Reconstruction =&lt;br /&gt;
&lt;br /&gt;
J'ai fait des tests de tolérence sur le RAID logiciel. J'ai commencé par enlever des disques à chaud (et j'ai pu bien constater qu'IDE était hot-déswap mais pas hot-swap), puis en utilisant l'option --fail pour simuler une panne. Les résultat étaient assez intéressants, mais le problème était de reconstruire le raid après la panne simulée.&lt;br /&gt;
&lt;br /&gt;
Une fois la panne détectée (une véritable panne ou une simulée), on identifie le disque défectueux (avec dmesg ou /proc/mdstat) et on le retire de l'array :&lt;br /&gt;
 mdadm --manage /dev/md1 --remove /dev/sdb1&lt;br /&gt;
&lt;br /&gt;
Si on n'a pas de SATA pour enlever et remettre un disque à chaud, on arrête la machine et on la redémarre avec le nouveau disque. Puis on ajoute le nouveau disque à l'array :&lt;br /&gt;
 mdadm --manage /dev/md1 --add /dev/sdb1&lt;br /&gt;
&lt;br /&gt;
= Monitoring =&lt;br /&gt;
Mdadm offre une option de monitoring des arrays : --monitor. Pouvant être directement lancé sur centos avec le daemon mdmonitor :&lt;br /&gt;
service mdmonitor start&lt;br /&gt;
chkconfig mdmonitor on&lt;br /&gt;
&lt;br /&gt;
== Notifications de base ==&lt;br /&gt;
Ajouter dans /etc/mdadm.conf&lt;br /&gt;
 MAILADDR youremail@domain.com&lt;br /&gt;
 MAILFROM my-server-name&lt;br /&gt;
&lt;br /&gt;
tester :&lt;br /&gt;
mdadm --monitor --scan --test --oneshot&lt;br /&gt;
&lt;br /&gt;
== Notification à l'aide d&amp;quot;un script ==&lt;br /&gt;
Mdmonitor peut appeler un script externe lors d'un événement (bon ou mauvais). Pour cela rajouter dans /etc/mdadm.conf :&lt;br /&gt;
 PROGRAM /opt/systools/handle-mdadm-events.sh&lt;br /&gt;
&lt;br /&gt;
Les arguments passés au script seront les suivants :&lt;br /&gt;
    * $1 : une chaine de caractère qui décrit l'évènement qui s'est produit&lt;br /&gt;
          o 'SparesMissing' : une panne est détectée mais aucun disque de remplacement n'est présent&lt;br /&gt;
          o 'Fail' : un disque est détecté comme déféctueux&lt;br /&gt;
          o 'RebuildStarted' : un nouveau disque est ajouté à l'array et la reconstruction commence&lt;br /&gt;
          o 'Rebuild20' : la reconstruction est à 20%&lt;br /&gt;
          o 'Rebuild40' : la reconstruction est à 40%&lt;br /&gt;
          o 'Rebuild60' : la reconstruction est à 60%&lt;br /&gt;
          o 'Rebuild80' : la reconstruction est à 80%&lt;br /&gt;
          o 'RebuildFinished' : la reconstruction est terminée&lt;br /&gt;
          o 'SpareActive' : un disque de réserve est ajouté à un array &lt;br /&gt;
    * $2 : le nom de la device md : /dev/mdX &lt;br /&gt;
&lt;br /&gt;
$1 et $2 étant le premier et le deuxième argument passé en paramètre.&lt;br /&gt;
&lt;br /&gt;
Voici un script permettant de faire ceci :&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
CONFIG=&amp;quot;/etc/mdadm.conf&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Overrule mailto address from the mdadm.conf file?:&lt;br /&gt;
#MAILADDR=&amp;quot;root&amp;quot;&lt;br /&gt;
&lt;br /&gt;
MAILADDR=&amp;quot;pbrun@systea.net&amp;quot; # support@systea.net&amp;quot; #espace entre les mails&lt;br /&gt;
&lt;br /&gt;
parse_event()&lt;br /&gt;
{&lt;br /&gt;
  echo &amp;quot;Hôte            : $HOSTNAME&amp;quot;&lt;br /&gt;
  if [ -z &amp;quot;$1&amp;quot; ]; then&lt;br /&gt;
    echo &amp;quot;Événement        : Test message&amp;quot;&lt;br /&gt;
  else&lt;br /&gt;
    echo &amp;quot;MD Device       : $2&amp;quot;&lt;br /&gt;
    echo &amp;quot;Événement           : $1&amp;quot;&lt;br /&gt;
    if [ -n &amp;quot;$3&amp;quot; ]; then&lt;br /&gt;
      echo &amp;quot;Élément en cause: $3&amp;quot;&lt;br /&gt;
    fi&lt;br /&gt;
  fi&lt;br /&gt;
&lt;br /&gt;
  echo &amp;quot;&amp;quot;&lt;br /&gt;
  echo &amp;quot;/proc/mdstat dump:&amp;quot;&lt;br /&gt;
  FAIL=0&lt;br /&gt;
  DEGRADED=0&lt;br /&gt;
  while read LINE; do&lt;br /&gt;
    echo -n &amp;quot;$LINE&amp;quot;&lt;br /&gt;
    if [ -n &amp;quot;$(echo &amp;quot;$LINE&amp;quot; |grep 'active raid')&amp;quot; ]; then&lt;br /&gt;
      if [ -n &amp;quot;$(echo &amp;quot;$LINE&amp;quot; |grep '\(F\)')&amp;quot; ]; then&lt;br /&gt;
        FAIL=$(($FAIL + 1))&lt;br /&gt;
        echo -n &amp;quot; (ATTENTION: DISQUE(S) DÉFÉCTUEUX!)&amp;quot;&lt;br /&gt;
      fi&lt;br /&gt;
&lt;br /&gt;
      if [ -n &amp;quot;$(echo &amp;quot;$LINE&amp;quot; |grep '\(S\)')&amp;quot; ]; then&lt;br /&gt;
        echo -n &amp;quot; (Hotspare(s) disponibles)&amp;quot;&lt;br /&gt;
      else&lt;br /&gt;
        echo -n &amp;quot; (NOTE: Pas de hotspare?!)&amp;quot;&lt;br /&gt;
     fi&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    if [ -n &amp;quot;$(echo &amp;quot;$LINE&amp;quot; |grep 'blocks')&amp;quot; ]; then&lt;br /&gt;
      if [ -n &amp;quot;$(echo &amp;quot;$LINE&amp;quot; |grep '_')&amp;quot; ]; then&lt;br /&gt;
        DEGRADED=$(($DEGRADED + 1))&lt;br /&gt;
        echo -n &amp;quot; (DEGRADED!!!)&amp;quot;&lt;br /&gt;
      fi&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;&amp;quot;&lt;br /&gt;
  done &amp;lt; /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
  if [ $FAIL -gt 0 ]; then&lt;br /&gt;
    echo &amp;quot;&amp;quot;&lt;br /&gt;
    echo &amp;quot;** ATTENTION: Un ou plusieurs RAID ont un ou plusieurs disques déféctueux! **&amp;quot;&lt;br /&gt;
  fi&lt;br /&gt;
&lt;br /&gt;
  if [ $DEGRADED -gt 0 ]; then&lt;br /&gt;
    echo &amp;quot;&amp;quot;&lt;br /&gt;
    echo &amp;quot;** ATTENTION: Un ou plusieurs RAID fonctionnent en mode dégradé! **&amp;quot;&lt;br /&gt;
  fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# main line:&lt;br /&gt;
&lt;br /&gt;
# Get MAILADDR from mdadm.conf config file, if not set already&lt;br /&gt;
if [ -z &amp;quot;$MAILADDR&amp;quot; ] &amp;amp;&amp;amp; [ -f &amp;quot;$CONFIG&amp;quot; ]; then&lt;br /&gt;
  MAILADDR=`grep MAILADDR &amp;quot;$CONFIG&amp;quot; |cut -d' ' -f2`&lt;br /&gt;
  if [ -z &amp;quot;$MAILADDR&amp;quot; ]; then&lt;br /&gt;
    MAILADDR=&amp;quot;root&amp;quot;&lt;br /&gt;
  fi&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Call the parser and send it to the configured address&lt;br /&gt;
parse_event $* |mail -s&amp;quot;Événement RAID(MD) sur  $HOSTNAME&amp;quot; &amp;quot;$MAILADDR&amp;quot;&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afin de ne pas recevoir deux mails pour chaque alerte il est conseillé de commenter les deux lignes :&lt;br /&gt;
 MAILADDR youremail@domain.com&lt;br /&gt;
 MAILFROM my-server-name - mdadm&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
* Vérifier d'avoir une version &amp;gt; 2.5.0, car elle souffre d'un gros memory leak quand mdadm est lancé en monitoring.&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=RAID_logiciel_:_mdadm&amp;diff=5647</id>
		<title>RAID logiciel : mdadm</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=RAID_logiciel_:_mdadm&amp;diff=5647"/>
				<updated>2013-05-30T08:19:59Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : /* Monitoring */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Un article de Le wiki de 2 noisettes - noisette.ch.''&lt;br /&gt;
&lt;br /&gt;
Mdadm est un logiciel de gestion de RAID logiciel. Il est très complet au point que je le conseille même pour un environnement de production.&lt;br /&gt;
&lt;br /&gt;
Cet article explique comment créer un RAID, assembler plusieurs disques ayant déjà fait parti d'un array, ou comment réagir en cas de panne. Pour les commandes données en exemple, nous ferons du RAID1 avec 2 disques partitionnés en 4, respectivement /boot, swap, / et /home.&lt;br /&gt;
&lt;br /&gt;
= Création =&lt;br /&gt;
&lt;br /&gt;
== Configurer les disques ==&lt;br /&gt;
&lt;br /&gt;
Une fois le logiciel mdadm installé sur l'ordinateur, il faut configurer les disques&lt;br /&gt;
 fdisk /dev/sda&lt;br /&gt;
 fdisk /dev/sdb&lt;br /&gt;
&lt;br /&gt;
pour que les partitions qui vont accueillir du RAID soient de type Linux raid autodetect (fd). Puis on va les assembler avec mdadm pour finalement pouvoir les formater et installer le le system dessus.&lt;br /&gt;
&lt;br /&gt;
La configuration des disques sera la suivante :&lt;br /&gt;
 /dev/*1 --&amp;gt; /boot,  100MB&lt;br /&gt;
 /dev/*2 --&amp;gt; swap, 1-2GB&lt;br /&gt;
/ dev/*3 --&amp;gt; /, 20GB&lt;br /&gt;
 /dev/*4 --&amp;gt; /home, le reste (bien que mettre /var serait plus judicieux sur une gentoo.&lt;br /&gt;
&lt;br /&gt;
== Noyau ==&lt;br /&gt;
&lt;br /&gt;
Compilez le noyau avec les options suivantes (et sélectionner un autre mode de RAID si souhaité)&lt;br /&gt;
 Device Drivers  ---&amp;gt; &lt;br /&gt;
    Multi-device support (RAID and LVM)  ---&amp;gt;&lt;br /&gt;
        [*] Multiple devices driver support (RAID and LVM)&lt;br /&gt;
        [*]   RAID support &lt;br /&gt;
        [*]     RAID-1 (mirroring) mode &lt;br /&gt;
&lt;br /&gt;
Si vous démarrez d'un live CD, il faut charger le module (raid1 par exemple) :&lt;br /&gt;
 modprobe raid1&lt;br /&gt;
&lt;br /&gt;
Créer les nodes /dev/mdX&lt;br /&gt;
 mknod /dev/md1 b 9 1&lt;br /&gt;
 mknod /dev/md3 b 9 3&lt;br /&gt;
 mknod /dev/md4 b 9 4&lt;br /&gt;
&lt;br /&gt;
== Création des arrays ==&lt;br /&gt;
&lt;br /&gt;
Pour les assembler avec mdadm, la commande ressemble à la suivante&lt;br /&gt;
 mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1&lt;br /&gt;
 mdadm --create /dev/md3 --level=1 --raid-devices=2 /dev/sda3 /dev/sdb3&lt;br /&gt;
 mdadm --create /dev/md4 --level=1 --raid-devices=2 /dev/sda4 /dev/sdb4&lt;br /&gt;
&lt;br /&gt;
Une fois l'array créé, reste les formatage et le montage à l'endroit voulu.&lt;br /&gt;
 mke2fs /dev/md1&lt;br /&gt;
 mkreiserfs /dev/md3&lt;br /&gt;
 mkreiserfs /dev/md4&lt;br /&gt;
 mkswap /dev/sda2 &amp;amp;&amp;amp; mkswap /dev/sdb2&lt;br /&gt;
 swapon /dev/sda2 &amp;amp;&amp;amp; swapon /dev/sdb2 &lt;br /&gt;
 mount /dev/md3 /mnt&lt;br /&gt;
 mkdir -p /mnt/boot &amp;amp;&amp;amp; mount /dev/md1 /mnt/boot&lt;br /&gt;
 mkdir -p /mnt/home &amp;amp;&amp;amp; mount /dev/md4 /mnt/home&lt;br /&gt;
&lt;br /&gt;
On peut maintenant consulter les informations sur les disques, et insérer ces informations dans /etc/mdadm.conf :&lt;br /&gt;
 mdadm --detail --scan &amp;gt;&amp;gt; /etc/mdadm.conf&lt;br /&gt;
&lt;br /&gt;
= (Ré)Assemblage =&lt;br /&gt;
&lt;br /&gt;
Une fois le RAID créé et des données dessus, on ne veut plus nécessairement le reformater et le recréer quand on l'a démonté. La solution sera donc de le réassemblé avec mdadm.&lt;br /&gt;
&lt;br /&gt;
La première étape conciste à examiner une partition pour contrôler si elle fait bien partie d'un RAID (pour ceux qui on une mauvaise mémoire à très court terme) :&lt;br /&gt;
 mdadm --examine /dev/sda1&lt;br /&gt;
&lt;br /&gt;
La sortie nous dit si oui ou non la partition fait partie d'un RAID, et si oui quels autres disques en font aussi partie. Une fois en possession de ces informations, il nous reste à assembler l'ARRAY :&lt;br /&gt;
 mdadm --assemble /dev/md1 /dev/sda1 /dev/sdb1&lt;br /&gt;
 mdadm --assemble /dev/md3 /dev/sda3 /dev/sdb3&lt;br /&gt;
 mdadm --assemble /dev/md4 /dev/sda4 /dev/sdb4&lt;br /&gt;
&lt;br /&gt;
Reste le montage à l'endroit voulu.&lt;br /&gt;
&lt;br /&gt;
= Reconstruction =&lt;br /&gt;
&lt;br /&gt;
J'ai fait des tests de tolérence sur le RAID logiciel. J'ai commencé par enlever des disques à chaud (et j'ai pu bien constater qu'IDE était hot-déswap mais pas hot-swap), puis en utilisant l'option --fail pour simuler une panne. Les résultat étaient assez intéressants, mais le problème était de reconstruire le raid après la panne simulée.&lt;br /&gt;
&lt;br /&gt;
Une fois la panne détectée (une véritable panne ou une simulée), on identifie le disque défectueux (avec dmesg ou /proc/mdstat) et on le retire de l'array :&lt;br /&gt;
 mdadm --manage /dev/md1 --remove /dev/sdb1&lt;br /&gt;
&lt;br /&gt;
Si on n'a pas de SATA pour enlever et remettre un disque à chaud, on arrête la machine et on la redémarre avec le nouveau disque. Puis on ajoute le nouveau disque à l'array :&lt;br /&gt;
 mdadm --manage /dev/md1 --add /dev/sdb1&lt;br /&gt;
&lt;br /&gt;
= Monitoring =&lt;br /&gt;
Mdadm offre une option de monitoring des arrays : --monitor. Pouvant être directement lancé sur centos avec le daemon mdmonitor :&lt;br /&gt;
service mdmonitor start&lt;br /&gt;
chkconfig mdmonitor on&lt;br /&gt;
&lt;br /&gt;
== notifications de base ==&lt;br /&gt;
Ajouter dans /etc/mdadm.conf&lt;br /&gt;
 MAILADDR youremail@domain.com&lt;br /&gt;
 MAILFROM my-server-name&lt;br /&gt;
&lt;br /&gt;
tester :&lt;br /&gt;
mdadm --monitor --scan --test --oneshot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mdmonitor peut appeler un script externe lors d'un événement (bon ou mauvais). Pour cela rajouter dans /etc/mdadm.conf :&lt;br /&gt;
 PROGRAM /opt/systools/handle-mdadm-events.sh&lt;br /&gt;
&lt;br /&gt;
Les arguments passés au script seront les suivants :&lt;br /&gt;
    * $1 : une chaine de caractère qui décrit l'évènement qui s'est produit&lt;br /&gt;
          o 'SparesMissing' : une panne est détectée mais aucun disque de remplacement n'est présent&lt;br /&gt;
          o 'Fail' : un disque est détecté comme déféctueux&lt;br /&gt;
          o 'RebuildStarted' : un nouveau disque est ajouté à l'array et la reconstruction commence&lt;br /&gt;
          o 'Rebuild20' : la reconstruction est à 20%&lt;br /&gt;
          o 'Rebuild40' : la reconstruction est à 40%&lt;br /&gt;
          o 'Rebuild60' : la reconstruction est à 60%&lt;br /&gt;
          o 'Rebuild80' : la reconstruction est à 80%&lt;br /&gt;
          o 'RebuildFinished' : la reconstruction est terminée&lt;br /&gt;
          o 'SpareActive' : un disque de réserve est ajouté à un array &lt;br /&gt;
    * $2 : le nom de la device md : /dev/mdX &lt;br /&gt;
&lt;br /&gt;
$1 et $2 étant le premier et le deuxième argument passé en paramètre.&lt;br /&gt;
&lt;br /&gt;
Voici un script permettant de faire ceci :&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
CONFIG=&amp;quot;/etc/mdadm.conf&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Overrule mailto address from the mdadm.conf file?:&lt;br /&gt;
#MAILADDR=&amp;quot;root&amp;quot;&lt;br /&gt;
&lt;br /&gt;
MAILADDR=&amp;quot;pbrun@systea.net&amp;quot; # support@systea.net&amp;quot; #espace entre les mails&lt;br /&gt;
&lt;br /&gt;
parse_event()&lt;br /&gt;
{&lt;br /&gt;
  echo &amp;quot;Hôte            : $HOSTNAME&amp;quot;&lt;br /&gt;
  if [ -z &amp;quot;$1&amp;quot; ]; then&lt;br /&gt;
    echo &amp;quot;Événement        : Test message&amp;quot;&lt;br /&gt;
  else&lt;br /&gt;
    echo &amp;quot;MD Device       : $2&amp;quot;&lt;br /&gt;
    echo &amp;quot;Événement           : $1&amp;quot;&lt;br /&gt;
    if [ -n &amp;quot;$3&amp;quot; ]; then&lt;br /&gt;
      echo &amp;quot;Élément en cause: $3&amp;quot;&lt;br /&gt;
    fi&lt;br /&gt;
  fi&lt;br /&gt;
&lt;br /&gt;
  echo &amp;quot;&amp;quot;&lt;br /&gt;
  echo &amp;quot;/proc/mdstat dump:&amp;quot;&lt;br /&gt;
  FAIL=0&lt;br /&gt;
  DEGRADED=0&lt;br /&gt;
  while read LINE; do&lt;br /&gt;
    echo -n &amp;quot;$LINE&amp;quot;&lt;br /&gt;
    if [ -n &amp;quot;$(echo &amp;quot;$LINE&amp;quot; |grep 'active raid')&amp;quot; ]; then&lt;br /&gt;
      if [ -n &amp;quot;$(echo &amp;quot;$LINE&amp;quot; |grep '\(F\)')&amp;quot; ]; then&lt;br /&gt;
        FAIL=$(($FAIL + 1))&lt;br /&gt;
        echo -n &amp;quot; (ATTENTION: DISQUE(S) DÉFÉCTUEUX!)&amp;quot;&lt;br /&gt;
      fi&lt;br /&gt;
&lt;br /&gt;
      if [ -n &amp;quot;$(echo &amp;quot;$LINE&amp;quot; |grep '\(S\)')&amp;quot; ]; then&lt;br /&gt;
        echo -n &amp;quot; (Hotspare(s) disponibles)&amp;quot;&lt;br /&gt;
      else&lt;br /&gt;
        echo -n &amp;quot; (NOTE: Pas de hotspare?!)&amp;quot;&lt;br /&gt;
     fi&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    if [ -n &amp;quot;$(echo &amp;quot;$LINE&amp;quot; |grep 'blocks')&amp;quot; ]; then&lt;br /&gt;
      if [ -n &amp;quot;$(echo &amp;quot;$LINE&amp;quot; |grep '_')&amp;quot; ]; then&lt;br /&gt;
        DEGRADED=$(($DEGRADED + 1))&lt;br /&gt;
        echo -n &amp;quot; (DEGRADED!!!)&amp;quot;&lt;br /&gt;
      fi&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;&amp;quot;&lt;br /&gt;
  done &amp;lt; /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
  if [ $FAIL -gt 0 ]; then&lt;br /&gt;
    echo &amp;quot;&amp;quot;&lt;br /&gt;
    echo &amp;quot;** ATTENTION: Un ou plusieurs RAID ont un ou plusieurs disques déféctueux! **&amp;quot;&lt;br /&gt;
  fi&lt;br /&gt;
&lt;br /&gt;
  if [ $DEGRADED -gt 0 ]; then&lt;br /&gt;
    echo &amp;quot;&amp;quot;&lt;br /&gt;
    echo &amp;quot;** ATTENTION: Un ou plusieurs RAID fonctionnent en mode dégradé! **&amp;quot;&lt;br /&gt;
  fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# main line:&lt;br /&gt;
&lt;br /&gt;
# Get MAILADDR from mdadm.conf config file, if not set already&lt;br /&gt;
if [ -z &amp;quot;$MAILADDR&amp;quot; ] &amp;amp;&amp;amp; [ -f &amp;quot;$CONFIG&amp;quot; ]; then&lt;br /&gt;
  MAILADDR=`grep MAILADDR &amp;quot;$CONFIG&amp;quot; |cut -d' ' -f2`&lt;br /&gt;
  if [ -z &amp;quot;$MAILADDR&amp;quot; ]; then&lt;br /&gt;
    MAILADDR=&amp;quot;root&amp;quot;&lt;br /&gt;
  fi&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Call the parser and send it to the configured address&lt;br /&gt;
parse_event $* |mail -s&amp;quot;Événement RAID(MD) sur  $HOSTNAME&amp;quot; &amp;quot;$MAILADDR&amp;quot;&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afin de ne pas recevoir deux mails pour chaque alerte il est conseillé de commenter les deux lignes :&lt;br /&gt;
 MAILADDR youremail@domain.com&lt;br /&gt;
 MAILFROM my-server-name - mdadm&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
* Vérifier d'avoir une version &amp;gt; 2.5.0, car elle souffre d'un gros memory leak quand mdadm est lancé en monitoring.&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Rdiff-backup&amp;diff=5641</id>
		<title>Rdiff-backup</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Rdiff-backup&amp;diff=5641"/>
				<updated>2013-05-15T14:09:02Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : /* script rdbackup.sh */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Linux =&lt;br /&gt;
== Installation ==&lt;br /&gt;
Sur '''Debian 5''' --&amp;gt; v1.2.5 (la différence de version mineure (.5 pour .8) ne provoque qu'un avertissement)&lt;br /&gt;
 apt-get install rdiff-backup&lt;br /&gt;
Si on veut une version plus récente, il faut compiler :&lt;br /&gt;
 apt-get install librsync-dev python-dev&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://savannah.nongnu.org/download/rdiff-backup/rdiff-backup-1.2.8.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 tar -xvzf rdiff-backup-1.2.8.tar.gz&lt;br /&gt;
 cd rdiff-backup-1.2.8&lt;br /&gt;
 python setup.py install&lt;br /&gt;
&lt;br /&gt;
Sur '''CentOS''', si ça n'a pas déjà été fait (pour munin par exemple), installation repos RPMForge (-&amp;gt; [[Dépôts complémentaires]]).&lt;br /&gt;
&lt;br /&gt;
Puis&lt;br /&gt;
 yum --enablerepo=rpmforge install rdiff-backup&lt;br /&gt;
&lt;br /&gt;
------------------&lt;br /&gt;
&lt;br /&gt;
== Echanger les clés DSA entre les serveurs ==&lt;br /&gt;
Afin que la connexion de Rdiff-backup via SSH ne demande pas de mot de passe, la clé ~/.ssh/id_dsa.pub de l'utilisateur qui se connecte à partir du &amp;quot;client&amp;quot; rdiff-backup doit être copiée &amp;quot;en une seule ligne&amp;quot; dans ~/.ssh/authorized_keys de l'utilisateur cible sur le serveur à sauvegarder. (se reporter à une procédure d'échange de clés pour SSH)&lt;br /&gt;
&lt;br /&gt;
------------------&lt;br /&gt;
&lt;br /&gt;
== Test d'accès à un serveur ==&lt;br /&gt;
 rdiff-backup --test-server root@192.168.1.21::/home&lt;br /&gt;
&lt;br /&gt;
------------------&lt;br /&gt;
== Sauvegardes ==&lt;br /&gt;
à partir d'un backup existant (cp ou rsync) : le répertoire destination existe mais n'est pas au format rdiff (manque les infos rdiff-data), il faut le forcer la première fois :&lt;br /&gt;
 rdiff-backup --force -v5 root@192.168.1.2::/etc /backup/etc &amp;gt; rdiff_server1.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
Ensuite on peut enlever le &amp;quot;--force&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
------------------&lt;br /&gt;
== Nettoyage ==&lt;br /&gt;
des incréments supérieurs à une fenêtre de rétention :&lt;br /&gt;
 rdiff-backup -v5 --remove-older-than 4W /backup&lt;br /&gt;
Le &amp;quot;4W&amp;quot; signifie &amp;quot;4 weeks&amp;quot;, soit 4 semaines à conserver. On peut donner un nombre de jours (&amp;quot;D&amp;quot;) ou d'heures (&amp;quot;H&amp;quot;). Tous les incréments supérieurs à ce délai seront supprimés.&lt;br /&gt;
&lt;br /&gt;
== Informations sur les sauvegardes ==&lt;br /&gt;
Liste des incréments :&amp;lt;br/&amp;gt;&lt;br /&gt;
Sur le serveur de sauvegarde :&lt;br /&gt;
 rdiff-backup -l /home/backup/server1/home/&lt;br /&gt;
A partir du serveur sauvegardé (remote-schema n'est utile que si le port ssh n'est pas standard) :&lt;br /&gt;
 rdiff-backup -l --remote-schema='ssh -p 225 -C %s rdiff-backup --server' root@192.168.1.250::/home/backup&lt;br /&gt;
On peut lister aussi les tailles des différents incréments&lt;br /&gt;
 rdiff-backup --list-increment-sizes /home/backup/server1/home/&lt;br /&gt;
------------------&lt;br /&gt;
&lt;br /&gt;
== Restore - Exemples ==&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;NOTE&amp;lt;/span&amp;gt; :''' le restore '''NE FONCTIONNE PAS SUR LES LIENS'''. Il faut indiquer le &amp;quot;vrai&amp;quot; répertoire ou fichier physique à restorer.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;NOTE 2&amp;lt;/span&amp;gt; :''' VERIFIER LES '''DROITS DES REPERTOIRES''' APRES UNE RESTAURATION, ils peuvent avoir changé.&lt;br /&gt;
&lt;br /&gt;
 # fichier /etc/hosts d'il y a 1 heure (--force si le fichier existe et qu'il faut l'écraser)&lt;br /&gt;
 rdiff-backup -v5 -r &amp;quot;1h&amp;quot; --force ./etc/hosts root@192.168.1.2::/etc/hosts&lt;br /&gt;
'''NOTE :''' le nom du fichier doit être indiqué à la source COMME A LA DESTINATION, sinon rdiff remonte TOUT LE REPERTOIRE !&lt;br /&gt;
&lt;br /&gt;
 # répertoire /etc d'il y a 3 jours&lt;br /&gt;
 rdiff-backup -v5 -r &amp;quot;3D&amp;quot; --force ./etc root@192.168.1.2::/etc&lt;br /&gt;
'''NOTE :''' le &amp;quot;-r&amp;quot; est obligatoire, on peut mettre &amp;quot;'''-r now'''&amp;quot;, ou mieux: &amp;quot; '''-r &amp;quot;1B&amp;quot;''' &amp;quot; pour remonter la dernière sauvegarde. D'autres solutions sont &amp;quot;1D&amp;quot; (comme pour le backup) pour remonter la veille, ou 5m3s, ou 2010-12-21. &amp;lt;br/&amp;gt;&lt;br /&gt;
'''NOTE 2 :''' pour remonter un répertoire complet, il faut l'indiquer la source comme à la destination '''SANS &amp;quot;/&amp;quot; APRES''' (voir ci-dessus l'exemple /etc)&lt;br /&gt;
&lt;br /&gt;
Exemple plus complet :&lt;br /&gt;
 # rdiff-backup -l /mnt/backup/server1&lt;br /&gt;
 Found 5 increments:&lt;br /&gt;
    increments.'''2013-04-12'''T01:28:44+02:00.dir   Fri Apr 12 01:28:44 2013&lt;br /&gt;
    increments.2013-04-13T01:29:00+02:00.dir   Sat Apr 13 01:29:00 2013&lt;br /&gt;
    increments.2013-04-15T01:27:16+02:00.dir   Mon Apr 15 01:27:16 2013&lt;br /&gt;
    increments.2013-04-16T01:29:06+02:00.dir   Tue Apr 16 01:29:06 2013&lt;br /&gt;
    increments.2013-04-17T01:31:23+02:00.dir   Wed Apr 17 01:31:23 2013&lt;br /&gt;
 Current mirror: Thu Apr 18 01:29:44 2013&lt;br /&gt;
&lt;br /&gt;
 # rdiff-backup -v5 -r &amp;quot;'''2013-04-12'''&amp;quot; --force /mnt/backup/server1/home/web root@server1.localdomain::/home/web&lt;br /&gt;
&lt;br /&gt;
== NOTE : partages CIFS/SMBFS ==&lt;br /&gt;
Documentation rdiff-backup :&lt;br /&gt;
 rdiff-backup fails to run, printing an exception about &amp;quot;assert not upper_a.lstat()&amp;quot; failing. This can be resolved by unmounting the share, running the following command as root:&lt;br /&gt;
 $ echo 0 &amp;gt; /proc/fs/cifs/LookupCacheEnabled&lt;br /&gt;
 and then remounting the CIFS share.&lt;br /&gt;
Penser à ajouter cette ligne à /etc/rc.local pour qu'elle soit exécutée au démarrage du serveur.&lt;br /&gt;
&lt;br /&gt;
De plus, si Windows est la destination des backups (par un montage samba sur une machine linux par exemple), il faut penser que le système cible '''ne connait pas les ACL unix''' (droits sur les fichiers, propriétaires, etc...). Il faut donc dire à rdiff-backup de ne pas essayer de faire des &amp;quot;chmod&amp;quot; et &amp;quot;chown&amp;quot;. Windows ne sait pas non plus interpréter les liens, qu'ils soient hards ou symboliques.&lt;br /&gt;
&lt;br /&gt;
Lancer rdiff-backup avec les options suivantes (en plus d'éventuelles autres options qui semblent utiles):&lt;br /&gt;
 --no-hard-links --exclude-symbolic-links --no-acls --no-eas&lt;br /&gt;
Dans le fichier de configuration du script rdbackup ci-dessous, le paramètre RDIFF_OPTS serait donc:&lt;br /&gt;
 RDIFF_OPTS=&amp;quot;-v5 --force --create-full-path --exclude-fifos --exclude-sockets --no-hard-links --exclude-symbolic-links --no-acls --no-eas&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== '''&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;DEPANNAGE&amp;lt;/span&amp;gt;''' ==&lt;br /&gt;
Si après un problème de sauvegarde (disque plein, coupure de session ssh, etc...), les backups suivants se terminent en erreur (erreurs checksum ou autres), il faut '''supprimer le répertoire rdiff-backup-data''' et relancer un backup avec --force pour repartir à zéro (on perd l'historique des incréments !).&lt;br /&gt;
&lt;br /&gt;
= Rdiff-backup-web =&lt;br /&gt;
Installer rdiff-backup-web sur un serveur apache/php/mysql ayant accès aux répertoires de backup.&lt;br /&gt;
 apt-get install apache2 php5 php-mysql mysql-server&lt;br /&gt;
 cd /var/www&lt;br /&gt;
 wget http://sourceforge.net/projects/rdiffbackupweb/files/rdiffbackupweb/0.09/rdiff-backup-web.0.09.tar.gz&lt;br /&gt;
 tar -xvzf rdiff-backup-web.0.09.tar.gz&lt;br /&gt;
Déclarer un virtualhost Apache avec comme DocumentRoot le répertoire rdiff-backup-web ainsi créé.&lt;br /&gt;
&lt;br /&gt;
Créer une base mysql (par convention nommée &amp;quot;rdiff&amp;quot;). Créer un utilisateur rdiff ayant tous les droits sur cette base.&lt;br /&gt;
 mysql -p&lt;br /&gt;
 mysql&amp;gt; create database rdiff;&lt;br /&gt;
 mysql&amp;gt; grant all privileges on rdiff.* to rdiff identified by 'mot_de_passe';&lt;br /&gt;
 mysql&amp;gt; exit&lt;br /&gt;
Charger la base&lt;br /&gt;
 mysql -p rdiff &amp;lt; /var/www/rdiff-backup-web/rdiff.sql&lt;br /&gt;
Configurer cette base et l'utilisateur dans /var/www/rdiff-backup-web/config.php, ainsi que l'arborescence de la destination des backups.&lt;br /&gt;
&lt;br /&gt;
Se connecter à l'interface dans un navigateur, connexion avec &amp;quot;admin&amp;quot;/&amp;quot;admin&amp;quot; par défaut. Supprimer l'utilisateur &amp;quot;test&amp;quot; inutil et changer tout de suite le mot de passe admin.&lt;br /&gt;
&lt;br /&gt;
= rdiffweb =&lt;br /&gt;
rdiffWeb est une interface web avec un backend en python pour naviguer et restaurer les backups fait avec rdiff-backup.&lt;br /&gt;
&lt;br /&gt;
http://www.rdiffweb.org/wiki/index.php?title=Installation &amp;lt;br/&amp;gt;&lt;br /&gt;
http://open.nshare.de/wiki/setup/rdiffweb-behind-apache-reverse-proxy&lt;br /&gt;
&lt;br /&gt;
== Installation sur Centos 6 ==&lt;br /&gt;
&lt;br /&gt;
Ajouter le dépôt rpmforge &lt;br /&gt;
&lt;br /&gt;
Installer les dépendances:&lt;br /&gt;
 yum install sqlite-devel&lt;br /&gt;
 yum install --enablerepo=rpmforge python-cherrypy&lt;br /&gt;
&lt;br /&gt;
* Installer le rpm :&lt;br /&gt;
 yum install http://www.rdiffweb.org/releases/rdiffWeb-0.6.3-1.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
* Installer le rpm source :&lt;br /&gt;
 wget http://www.rdiffweb.org/releases/rdiffWeb-0.6.3-1.src.rpm&lt;br /&gt;
 yum install rpmdevtools yum-utils&lt;br /&gt;
 rpmbuild --rebuild rdiffWeb-0.6.3-1.src.rpm&lt;br /&gt;
 yum install rpmbuild/RPMS/noarch/rdiffWeb-0.6.3-1.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
lancer cette commande permet de configurer rdiff-web :&lt;br /&gt;
 rdiff-web-config&lt;br /&gt;
&lt;br /&gt;
Éditer le fichier de configuration :&lt;br /&gt;
 vim /etc/rdiffweb/rdw.conf&lt;br /&gt;
&lt;br /&gt;
Ajouter ceci&lt;br /&gt;
 ServerHost=0.0.0.0&lt;br /&gt;
 ServerPort=8080&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mettre 0.0.0.0 permet d’accéder à l'interface web depuis un autre ordinateur sur le port 8080. Le port peut également être modifié.&lt;br /&gt;
ATTENTION : La configuration automatique de rdw.conf met 'ServerName'. Il faut le remplacer par 'ServerHost'.&lt;br /&gt;
&lt;br /&gt;
Problème de lancement de rdiffweb : &lt;br /&gt;
 cherrypy.engine.on_stop_engine_list.append(lambda: killEvent.set())&lt;br /&gt;
 AttributeError: 'Bus' object has no attribute 'on_stop_engine_list'&lt;br /&gt;
&lt;br /&gt;
lancer rdiffweb -d , modifier le script d'init en conséquence.&lt;br /&gt;
&lt;br /&gt;
== Installation sur Debian ==&lt;br /&gt;
&lt;br /&gt;
exécuter le script se trouvant sur le dépôt git :&lt;br /&gt;
&lt;br /&gt;
 https://indefero.systea.fr/p/rdiffweb/source/tree/master/rdiffweb-install-debian.sh&lt;br /&gt;
&lt;br /&gt;
Le script original se trouve sur http://www.timedicer.co.uk/programs/help/rdiffweb-install.sh.php . le script précédant est allégé par rapport à celui-ci.&lt;br /&gt;
&lt;br /&gt;
= Script bash =&lt;br /&gt;
== script rdbackup.sh ==&lt;br /&gt;
Un dépot git contenant les sources est disponible ici : https://indefero.systea.fr/p/rdbackup/source/tree/master/&lt;br /&gt;
&lt;br /&gt;
Pour récupérer directement la derniere version disponible avec wget : &lt;br /&gt;
 wget --content-disposition --no-check-certificate https://indefero.systea.fr/p/rdbackup/source/download/master/&lt;br /&gt;
&lt;br /&gt;
=== rdbackup.sh v3.0 ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 # Backup Script (RDIFF-BACKUP over SSH and RSYNC)&lt;br /&gt;
 # (C) FSo 06/2010&lt;br /&gt;
 # V 3.0&lt;br /&gt;
 # from sbackup.sh (RSYNC)&lt;br /&gt;
 # Changelog :&lt;br /&gt;
 # 3.0 - Return to a normal usage of &amp;quot;--include&amp;quot; from rdiff-backup instead of&lt;br /&gt;
 #       backuping each dir. individually. This allow tools like rdiff-backup-web&lt;br /&gt;
 #       to handle entire backup of a server.&lt;br /&gt;
 # 2.6 - Some optimizations on directional options&lt;br /&gt;
 # 2.5 - Ehanced directional options (local/remote choice for source and destination)&lt;br /&gt;
 # 2.4 - Stop if necessary Apache service before dumping MySQL&lt;br /&gt;
 # 2.3 - Added backup sens (local to local or local to remote)&lt;br /&gt;
 #     - Added backup destination in .conf file : LOCAL or REMOTE&lt;br /&gt;
 # 2.2 - Reverse backup from client to backup server&lt;br /&gt;
 # 2.1 - Added handle for a pre-backup script (if pre-backup script ended with error &amp;lt;&amp;gt; 0, main script stops)&lt;br /&gt;
 # 2.0 - Moving variables in a .conf file &lt;br /&gt;
 &lt;br /&gt;
 ELAPSED=$(which time)&lt;br /&gt;
 if [ ! -x $ELAPSED ]&lt;br /&gt;
 then&lt;br /&gt;
    unset ELAPSED&lt;br /&gt;
 else&lt;br /&gt;
    ELAPSED=&amp;quot;$ELAPSED -fElapsed:%E&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 if [ $# -gt 0 ]&lt;br /&gt;
 then&lt;br /&gt;
 # let use the given full path config (.conf) file&lt;br /&gt;
    if [ -f $1 ]&lt;br /&gt;
    then&lt;br /&gt;
       . $1&lt;br /&gt;
    else&lt;br /&gt;
       echo &amp;quot;$1 introuvable !&amp;quot;&lt;br /&gt;
       exit 1&lt;br /&gt;
    fi&lt;br /&gt;
 else&lt;br /&gt;
 # Application specific&lt;br /&gt;
    if [ -f $(dirname $0)/rdbackup.conf ]&lt;br /&gt;
    then&lt;br /&gt;
       . $(dirname $0)/rdbackup.conf&lt;br /&gt;
    else&lt;br /&gt;
       echo &amp;quot;$(dirname $0)/rdbackup.conf introuvable !&amp;quot;&lt;br /&gt;
       exit 1&lt;br /&gt;
    fi&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 if [ ! -z &amp;quot;$LIST&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
    if [ ! -f $LIST ]&lt;br /&gt;
    then&lt;br /&gt;
       echo &amp;quot;$LIST introuvable !&amp;quot;&lt;br /&gt;
       exit 1&lt;br /&gt;
    fi&lt;br /&gt;
    while read line&lt;br /&gt;
    do&lt;br /&gt;
       if [ ! -z &amp;quot;$line&amp;quot; ]&lt;br /&gt;
       then&lt;br /&gt;
          if [ -z &amp;quot;$INCLUDE_OPT&amp;quot; ]&lt;br /&gt;
          then&lt;br /&gt;
             INCLUDE_OPT=&amp;quot;--include $line&amp;quot;&lt;br /&gt;
          else&lt;br /&gt;
             INCLUDE_OPT=&amp;quot;$INCLUDE_OPT --include $line&amp;quot;&lt;br /&gt;
          fi&lt;br /&gt;
       fi&lt;br /&gt;
       shift&lt;br /&gt;
    done &amp;lt; $LIST&lt;br /&gt;
    # Add a final exclusion of &amp;quot;/&amp;quot; to avoid full root backup&lt;br /&gt;
    INCLUDE_OPT=&amp;quot;$INCLUDE_OPT --exclude '**'&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 if [ ! -z &amp;quot;$EXCLUDE&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
    if [ ! -f $EXCLUDE ]&lt;br /&gt;
    then&lt;br /&gt;
       echo &amp;quot;$EXCLUDE introuvable !&amp;quot;&lt;br /&gt;
       exit 1&lt;br /&gt;
    fi&lt;br /&gt;
    EXCLUDE_OPT=&amp;quot;&amp;quot;&lt;br /&gt;
    while read line&lt;br /&gt;
    do&lt;br /&gt;
       if [ ! -z &amp;quot;$line&amp;quot; ]&lt;br /&gt;
       then&lt;br /&gt;
          if [ -z &amp;quot;$EXCLUDE_OPT&amp;quot; ]&lt;br /&gt;
          then&lt;br /&gt;
             EXCLUDE_OPT=&amp;quot;--exclude $line&amp;quot;&lt;br /&gt;
          else&lt;br /&gt;
             EXCLUDE_OPT=&amp;quot;$EXCLUDE_OPT --exclude $line&amp;quot;&lt;br /&gt;
         fi&lt;br /&gt;
       fi&lt;br /&gt;
       shift&lt;br /&gt;
    done &amp;lt; $EXCLUDE&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 if [ ! -e $APPLICATION_DIR/$PID_FILE ]&lt;br /&gt;
 then&lt;br /&gt;
    if [ ! -d $BCK_DIR ]&lt;br /&gt;
    then&lt;br /&gt;
       mkdir -p $BCK_DIR&lt;br /&gt;
       if [ $? -ne 0 ]&lt;br /&gt;
       then&lt;br /&gt;
          echo &amp;quot;Creation $BCK_DIR impossible !&amp;quot;&lt;br /&gt;
          exit 1&lt;br /&gt;
       fi&lt;br /&gt;
    fi&lt;br /&gt;
    echo $$ &amp;gt; $APPLICATION_DIR/$PID_FILE&lt;br /&gt;
  # Script pre-backup&lt;br /&gt;
    if [ -f $PRESCRIPT ]&lt;br /&gt;
    then&lt;br /&gt;
       $PRESCRIPT&lt;br /&gt;
       if [ $? -ne 0 ]&lt;br /&gt;
       then&lt;br /&gt;
          rm -f $APPLICATION_DIR/$PID_FILE&lt;br /&gt;
          (echo &amp;quot;$PRESCRIPT ERROR ON $HOSTNAME&amp;quot;) | mail -s &amp;quot;BACKUP ERROR ON $SERVERNAME [on $(hostname)] $(date +%d/%m)&amp;quot; $MAIL_ADMIN&lt;br /&gt;
          exit 1&lt;br /&gt;
       fi&lt;br /&gt;
    fi&lt;br /&gt;
    if [ $STOPAPACHE -eq 1 ]&lt;br /&gt;
    then&lt;br /&gt;
       service httpd stop&lt;br /&gt;
    fi&lt;br /&gt;
    if [ $MYSQLDUMP -eq 1 ]&lt;br /&gt;
    then&lt;br /&gt;
       for DB in $MYDB&lt;br /&gt;
       do&lt;br /&gt;
          mv $APPLICATION_DIR/mysqldump_$DB.sql.gz $APPLICATION_DIR/mysqldump_$DB.sql.gz.0 2&amp;gt;&amp;gt; $APPLICATION_DIR/$LOG_FILE.0&lt;br /&gt;
          mysqldump $DB $MYSQLDUMP_OPTS --password=$MYSQL_PASSWORD &amp;gt; $APPLICATION_DIR/mysqldump_$DB.sql 2&amp;gt;&amp;gt; $APPLICATION_DIR/$LOG_FILE.0&lt;br /&gt;
          gzip $APPLICATION_DIR/mysqldump_$DB.sql 2&amp;gt;&amp;gt; $APPLICATION_DIR/$LOG_FILE.0&lt;br /&gt;
       done&lt;br /&gt;
    fi&lt;br /&gt;
    if [ $STOPAPACHE -eq 1 ]&lt;br /&gt;
    then&lt;br /&gt;
       service httpd start&lt;br /&gt;
    fi&lt;br /&gt;
    /usr/bin/logger &amp;quot;Sauvegarde rdiff $SERVERNAME&amp;quot;&lt;br /&gt;
    if [ -e  $APPLICATION_DIR/$LOG_FILE ]&lt;br /&gt;
    then&lt;br /&gt;
         mv $APPLICATION_DIR/$LOG_FILE $APPLICATION_DIR/$LOG_FILE.0&lt;br /&gt;
    fi&lt;br /&gt;
    if [ -e  $APPLICATION_DIR/$STAT_FILE ]&lt;br /&gt;
    then&lt;br /&gt;
         mv $APPLICATION_DIR/$STAT_FILE $APPLICATION_DIR/$STAT_FILE.0&lt;br /&gt;
    fi&lt;br /&gt;
    echo &amp;quot;Sauvegarde rdiff $SERVERNAME&amp;quot; &amp;gt; $APPLICATION_DIR/$LOG_FILE&lt;br /&gt;
    #Boucle de backup&lt;br /&gt;
    ERROR_FLAG=0&lt;br /&gt;
    ERROR=0&lt;br /&gt;
    ERRORS=&amp;quot;ERREURS: &amp;quot;&lt;br /&gt;
 &lt;br /&gt;
    # rdiff&lt;br /&gt;
    date &amp;gt;&amp;gt; $APPLICATION_DIR/$LOG_FILE&lt;br /&gt;
    echo &amp;gt;&amp;gt; $APPLICATION_DIR/$LOG_FILE&lt;br /&gt;
    echo RDIFF-BACKUP OF $rdir &amp;gt;&amp;gt; $APPLICATION_DIR/$LOG_FILE&lt;br /&gt;
    if [ $SLOCAL -eq 0 ]&lt;br /&gt;
    then&lt;br /&gt;
       RSSCHEMA=--remote-schema&lt;br /&gt;
       RSOPTION=&amp;quot;\&amp;quot;ssh -p $SOURCEPORT %s rdiff-backup --server\&amp;quot;&amp;quot;&lt;br /&gt;
       SDIR=&amp;quot;$SOURCEUSR@$SOURCEIP::/&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
       RSSCHEMA=&amp;quot;&amp;quot;&lt;br /&gt;
       RSOPTION=&amp;quot;&amp;quot;&lt;br /&gt;
       SDIR=&amp;quot;/&amp;quot;&lt;br /&gt;
    fi&lt;br /&gt;
    if [ $DLOCAL -eq 0 ]&lt;br /&gt;
    then&lt;br /&gt;
       RDSCHEMA=--remote-schema&lt;br /&gt;
       RDOPTION=&amp;quot;\&amp;quot;ssh -p $DESTINATIONPORT %s rdiff-backup --server\&amp;quot;&amp;quot;&lt;br /&gt;
       DDIR=&amp;quot;$DESTINATIONUSR@$DESTINATIONIP::${BCK_DIR}&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
       RDSCHEMA=&amp;quot;&amp;quot;&lt;br /&gt;
       RDOPTION=&amp;quot;&amp;quot;&lt;br /&gt;
       DDIR=&amp;quot;${BCK_DIR}&amp;quot;&lt;br /&gt;
    fi&lt;br /&gt;
    echo rdiff-backup $RDIFF_OPTS $EXCLUDE_OPT $INCLUDE_OPT $RSSCHEMA $RSOPTION $SDIR $DDIR &amp;gt;&amp;gt; $APPLICATION_DIR/$LOG_FILE&lt;br /&gt;
 # Note : &amp;quot;eval&amp;quot; is necessary to correctly keep the quotes in $RSOPTION&lt;br /&gt;
    eval $ELAPSED rdiff-backup $RDIFF_OPTS $EXCLUDE_OPT $INCLUDE_OPT $RSSCHEMA $RSOPTION $SDIR $DDIR &amp;gt;&amp;gt; $APPLICATION_DIR/$LOG_FILE 2&amp;gt;&amp;amp;1&lt;br /&gt;
    ERROR=$?&lt;br /&gt;
    if [ $ERROR -ne 0 ]&lt;br /&gt;
    then&lt;br /&gt;
       ERRORS=&amp;quot;$ERRORS $BASE=$ERROR:&amp;quot;&lt;br /&gt;
       ERROR_FLAG=1&lt;br /&gt;
    else&lt;br /&gt;
       if [ &amp;quot;${RETENTION:0:19}&amp;quot; != &amp;quot;--remove-older-than&amp;quot; ]&lt;br /&gt;
       then&lt;br /&gt;
          RETENTION=&amp;quot;--remove-older-than $RETENTION --force&amp;quot;&lt;br /&gt;
       fi&lt;br /&gt;
       echo CLEANING BACKUPS OF $rdir &amp;gt;&amp;gt; $APPLICATION_DIR/$LOG_FILE&lt;br /&gt;
       echo rdiff-backup $RDSCHEMA $RDOPTION $RETENTION $DDIR &amp;gt;&amp;gt; $APPLICATION_DIR/$LOG_FILE&lt;br /&gt;
 # Note : &amp;quot;eval&amp;quot; is necessary to correctly keep the quotes in $RDOPTION&lt;br /&gt;
       eval rdiff-backup $RDSCHEMA $RDOPTION $RETENTION $DDIR &amp;gt;&amp;gt; $APPLICATION_DIR/$LOG_FILE 2&amp;gt;&amp;amp;1&lt;br /&gt;
       ERROR=$?&lt;br /&gt;
       if [ $ERROR -ne 0 ]&lt;br /&gt;
       then&lt;br /&gt;
          ERRORS=&amp;quot;$ERRORS $BASE=$ERROR:&amp;quot;&lt;br /&gt;
          ERROR_FLAG=1&lt;br /&gt;
       fi&lt;br /&gt;
    fi&lt;br /&gt;
 &lt;br /&gt;
    if [ $ERROR_FLAG -eq 1 ]&lt;br /&gt;
    then&lt;br /&gt;
       (echo $ERRORS&lt;br /&gt;
        date&lt;br /&gt;
        echo Voir $APPLICATION_DIR/$LOG_FILE&lt;br /&gt;
        grep -i warning $APPLICATION_DIR/$LOG_FILE&lt;br /&gt;
        grep -i error $APPLICATION_DIR/$LOG_FILE&lt;br /&gt;
       )| mail -s &amp;quot;RDIFF ERROR ON $SERVERNAME [on $(hostname)] $(date +%d/%m)&amp;quot; $MAIL_ADMIN&lt;br /&gt;
    else&lt;br /&gt;
      # Script post-backup&lt;br /&gt;
       if [ -f $POSTSCRIPT ]&lt;br /&gt;
       then&lt;br /&gt;
          $POSTSCRIPT&lt;br /&gt;
          if [ $? -ne 0 ]&lt;br /&gt;
          then&lt;br /&gt;
             ERRORS=&amp;quot;$ERRORS - Script POST-BACKUP error&amp;quot;&lt;br /&gt;
             ERROR_FLAG=1&lt;br /&gt;
          fi&lt;br /&gt;
       fi&lt;br /&gt;
       if [ $MAIL_IF_SUCCESS -eq 1 ]&lt;br /&gt;
       then&lt;br /&gt;
          if [ $ERROR_FLAG -eq 0 ]&lt;br /&gt;
          then&lt;br /&gt;
             ERRORS=&amp;quot;&amp;quot;&lt;br /&gt;
          fi&lt;br /&gt;
          (date&lt;br /&gt;
           echo $ERRORS&lt;br /&gt;
           ls -l $APPLICATION_DIR/$LOG_FILE&lt;br /&gt;
           df -k $APPLICATION_DIR&lt;br /&gt;
          )| mail -s &amp;quot;Backup $SERVERNAME [on $(hostname)] successfull $(date +%d/%m)&amp;quot; $MAIL_ADMIN&lt;br /&gt;
       fi&lt;br /&gt;
    fi&lt;br /&gt;
    date &amp;gt;&amp;gt; $APPLICATION_DIR/$LOG_FILE&lt;br /&gt;
    /usr/bin/logger &amp;quot;FIN rdiff $SERVERNAME&amp;quot;&lt;br /&gt;
    rm -f $APPLICATION_DIR/$PID_FILE&lt;br /&gt;
 else&lt;br /&gt;
     (echo &amp;quot;$HOSTNAME:$APPLICATION_DIR/$PID_FILE existe : abandon de $0&amp;quot;) | mail -s &amp;quot;BACKUP ERROR ON $SERVERNAME [on $(hostname)] $(date +%d/%m)&amp;quot; $MAIL_ADMIN&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
-----------------------&lt;br /&gt;
&lt;br /&gt;
=== Fichier rdbackup.conf v3.0 ===&lt;br /&gt;
'''A positionner dans le même répertoire que le script'''.&lt;br /&gt;
&lt;br /&gt;
En '''&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;rouge&amp;lt;/span&amp;gt;''' : paramètres à modifier a minima. En '''&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;vert&amp;lt;/span&amp;gt;''' : paramètres à vérifier.&lt;br /&gt;
 # Rdbackup configuration file&lt;br /&gt;
 MAIL_ADMIN='''&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;admin@domain.com&amp;lt;/span&amp;gt;'''&lt;br /&gt;
 MAIL_IF_SUCCESS=1&lt;br /&gt;
 # If more mail addresses needed : MAIL_ADMIN=&amp;quot;admin1@domain.com admin2@domain.com&amp;quot;&lt;br /&gt;
 SERVERNAME='''&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;server.domain.com&amp;lt;/span&amp;gt;'''&lt;br /&gt;
 SUFFIX='''&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;_server&amp;lt;/span&amp;gt;'''&lt;br /&gt;
 # Backup source&lt;br /&gt;
 # SLOCAL=0 : backup FROM a remote server (via SSH)&lt;br /&gt;
 # SLOCAL=1 : backup FROM a local directory (or NFS mount or SMB mount)&lt;br /&gt;
 SLOCAL='''&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;'''&lt;br /&gt;
 # Source IP, port, user of backup server (if remote)&lt;br /&gt;
 SOURCEIP=server.domain.com&lt;br /&gt;
 SOURCEPORT=22&lt;br /&gt;
 SOURCEUSR=root&lt;br /&gt;
 # Backup destination&lt;br /&gt;
 # DLOCAL=0 : backup TO a remote server (via SSH)&lt;br /&gt;
 # DLOCAL=1 : backup TO a local directory (or NFS mount or SMB mount)&lt;br /&gt;
 DLOCAL='''&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;''&lt;br /&gt;
 # BACKUP DESTINATION DIRECTORY (local or on remote server)&lt;br /&gt;
 BCK_DIR='''&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;/media/backup/$SERVERNAME&amp;lt;/span&amp;gt;'''&lt;br /&gt;
 # destination IP, port, user of backup server (if remote)&lt;br /&gt;
 DESTINATIONIP='''&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;192.168.0.100&amp;lt;/span&amp;gt;'''&lt;br /&gt;
 DESTINATIONPORT='''&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;22&amp;lt;/span&amp;gt;'''&lt;br /&gt;
 DESTINATIONUSR='''&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;root&amp;lt;/span&amp;gt;'''&lt;br /&gt;
 # Path where are rdbackup.sh, .conf, .list and .exclude&lt;br /&gt;
 SCRIPT_DIR=$(dirname $0)&lt;br /&gt;
 # Specific application path, for log/pid files, mysqldump destination and df&lt;br /&gt;
 APPLICATION_DIR=$SCRIPT_DIR&lt;br /&gt;
 # Or :&lt;br /&gt;
 #APPLICATION_DIR=&amp;lt;/path/to/application&amp;gt;&lt;br /&gt;
 LIST=$SCRIPT_DIR/rdbackup${SUFFIX}.list&lt;br /&gt;
 EXCLUDE=$SCRIPT_DIR/rdbackup${SUFFIX}.exclude&lt;br /&gt;
 # LOG and other files&lt;br /&gt;
 LOG_FILE=rdbackup${SUFFIX}.log&lt;br /&gt;
 STAT_FILE=rdbackup${SUFFIX}.stats&lt;br /&gt;
 PID_FILE=rdbackup${SUFFIX}.pid&lt;br /&gt;
 # Options&lt;br /&gt;
 RDIFF_OPTS=&amp;quot;-v5 --force --create-full-path --exclude-fifos --exclude-sockets&amp;quot;&lt;br /&gt;
 # Cleanup options (default : 1 week)&lt;br /&gt;
 RETENTION=1W&lt;br /&gt;
 # Script to launch BEFORE backup&lt;br /&gt;
 PRESCRIPT=&lt;br /&gt;
 # Script to launch AFTER backup&lt;br /&gt;
 POSTSCRIPT=&lt;br /&gt;
 # DUMP MYSQL&lt;br /&gt;
 # Stop Apache before dumping MySQL ? Yes if STOPAPACHE=1&lt;br /&gt;
 STOPAPACHE=0&lt;br /&gt;
 #  Dump disabled if MYSQLDUMP=0&lt;br /&gt;
 MYSQLDUMP=0 &lt;br /&gt;
 MYSQL_PASSWORD='''&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Mot_de_passe_MySQL&amp;lt;/span&amp;gt;'''&lt;br /&gt;
 # MYDB=&amp;lt;mysql_db_name&amp;gt; # Or :&lt;br /&gt;
 if [ $MYSQLDUMP -eq 1 ]&lt;br /&gt;
 then&lt;br /&gt;
    MYDB=$(mysql --execute &amp;quot;show databases\G&amp;quot; --password=$MYSQL_PASSWORD | grep -v row | sed -e 's/Database: //g' | grep -v mysql | grep -v information_schema | grep -v performance_schema)&lt;br /&gt;
 fi&lt;br /&gt;
 MYSQLDUMP_OPTS=&amp;quot;--routines&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Point à vérifier pour l'ajout d'un serveur ==&lt;br /&gt;
Pour une sauvegarde lancée à partir d'un serveur de backup central, vers les serveur à sauvegarder :&lt;br /&gt;
# configurer les fichiers .conf, .list et .backup sur le serveur de backup&lt;br /&gt;
# Copier la clé /root/.ssh/id_dsa.pub du serveur de backup dans /root/.ssh/authorized_keys du serveur sauvegardé&lt;br /&gt;
# vérifier que le serveur de backup se connecte sans mot de passe au serveur à sauvegarder par ssh root@serveur_a_sauvegarder (profiter de ce test pour enregistrer la clé publique du serveur à sauvegarder)&lt;br /&gt;
# Vérifier que rdiff-backup est bien installé et à la bonne version sur le serveur à sauvegarder !&lt;br /&gt;
------------------------------&lt;br /&gt;
&lt;br /&gt;
= Windows =&lt;br /&gt;
== Installation ==&lt;br /&gt;
Télécharger :&lt;br /&gt;
* Rdiff (rdiff-backup-1.2.8-win32.zip)&lt;br /&gt;
 http://www.nongnu.org/rdiff-backup/&lt;br /&gt;
* putty, plink et puttygen&lt;br /&gt;
 http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html&lt;br /&gt;
* Blat (blat262.full.sip)&lt;br /&gt;
 http://sourceforge.net/projects/blat/files/&lt;br /&gt;
&lt;br /&gt;
== Préparation de la connexion SSH ==&lt;br /&gt;
''Note : on considère ici que la sauvegarde est lancée d'un poste Windows vers un serveur linux''&lt;br /&gt;
&lt;br /&gt;
Lancer puttygen. Sélectionner &amp;quot;SSH-2 DSA&amp;quot; en bas, cliquer sur &amp;quot;Generate&amp;quot; et bouger la souris dans l'espace blanc au milieu de la fenêtre.&lt;br /&gt;
&lt;br /&gt;
'''Copier''' la clé DSA qui s'affiche en haut de la fenêtre (sans oublier aucun caractère !), la passer telle, '''en une seule ligne''', quelle vers le serveur linux (via un fichier par scp/ftp, ou mail, ou copier/coller dans une console putty) dans le fichier ~/.ssh/authorized_keys du serveur.&lt;br /&gt;
&lt;br /&gt;
Sauvegarder les clés dans le répertoire Documents and Setting (Win XP/2003) ou Users (Win 7/2008) de l'utilisateur qui lancera rdiff-backup.&lt;br /&gt;
* Clé publique :&lt;br /&gt;
 en cliquant sur &amp;quot;save public key&amp;quot;&lt;br /&gt;
 nommer le fichier privatekey.pub&lt;br /&gt;
&lt;br /&gt;
* Clé privée :&lt;br /&gt;
 en cliquant sur &amp;quot;save private key&amp;quot;&lt;br /&gt;
 nommer le fichier privatekey.ppk&lt;br /&gt;
&lt;br /&gt;
== Tests de connexion ==&lt;br /&gt;
Tester la connexion avec plink (ce qui permet d'enregistrer localement la clé du serveur à la première connexion) :&lt;br /&gt;
 c:\backup\plink.exe -i C:\Users\''&amp;lt;utilisateur windows&amp;gt;''\privatekey.ppk ''utilisateur_cible@server.systea.net''&lt;br /&gt;
la connexion doit se faire sans demande de mot de passe.&lt;br /&gt;
&lt;br /&gt;
Tester rdiff-backup :&lt;br /&gt;
 c:\backup\rdiff-backup -v5 --test-server --remote-schema &amp;quot;c:\backup\plink.exe -P 22 -i C:\Users\''&amp;lt;utilisateur windows&amp;gt;''\privatekey.ppk %s rdiff-backup --server&amp;quot; ''utilisateur_cible@server.systea.net''::/tmp&lt;br /&gt;
&lt;br /&gt;
== Test de Blat ==&lt;br /&gt;
Tester un envoi (le nom de fichier qui constituera le corps du mail est '''obligatoire''', sinon blat reste &amp;quot;en attente&amp;quot; et ne rend jamais la main).&lt;br /&gt;
 blat c:\backup\fichier.txt -to ''destinataire@server.systea.net'' -server ''smtp.orange.fr'' -f ''expediteur@serveur.com'' -s &amp;quot;SUJET DU MAIL&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Script de sauvegarde ==&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;NOTE&amp;lt;/span&amp;gt; : le &amp;quot;%s&amp;quot; doit être transformé en &amp;quot;%%s&amp;quot; pour être reconnu par l'interpréteur DOS.'''&lt;br /&gt;
 rem @echo off&lt;br /&gt;
 set ERROR=0&lt;br /&gt;
 set MAILOPTS=-server ''smtp.orange.fr'' -f ''expediteur@serveur.com''&lt;br /&gt;
 &lt;br /&gt;
 copy c:\backup\backup.log c:\backup\backup.log.0&lt;br /&gt;
 &lt;br /&gt;
 c:\backup\rdiff-backup\rdiff-backup.exe -v5 --remote-schema &amp;quot;c:\backup\plink -P 22 -i c:\Users\''&amp;lt;Utilisateur Windows&amp;gt;''\privatekey.ppk %%s rdiff-backup --server&amp;quot; &amp;quot;c:/partage/&amp;quot; ''USER''@''SERVER.systea.net''::/home/backup/partage &amp;gt; c:\backup\backup.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
 IF NOT &amp;quot;%ERRORLEVEL%&amp;quot;==&amp;quot;0&amp;quot; (&lt;br /&gt;
    set ERROR=1)&lt;br /&gt;
 REM le LOG n'est pas relaché tout de suite, on doit simuler une pause de 5 secondes...&lt;br /&gt;
 ping -n 5 127.0.0.1&lt;br /&gt;
 c:\backup\rdiff-backup\rdiff-backup.exe -v5 --remote-schema &amp;quot;c:\backup\plink -P 22 -i c:\Users\''&amp;lt;Utilisateur Windows&amp;gt;''\privatekey.ppk %%s rdiff-backup --server&amp;quot; --remove-older-than 4W ''USER''@''SERVER.systea.net''::/home/backup/partage &amp;gt;&amp;gt; c:\backup\backup.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
 IF NOT &amp;quot;%ERRORLEVEL%&amp;quot;==&amp;quot;0&amp;quot; (&lt;br /&gt;
    set ERROR=1)&lt;br /&gt;
 ping -n 5 127.0.0.1&lt;br /&gt;
 &lt;br /&gt;
 IF &amp;quot;%ERROR%&amp;quot;==&amp;quot;0&amp;quot; (&lt;br /&gt;
    c:\backup\blat\full\blat c:\backup\backup.log -to ''destinataire@systea.net'' %MAILOPTS% -s &amp;quot;Sauvegarde terminee&amp;quot; &amp;gt; c:\backup\blat.log 2&amp;gt;&amp;amp;1 )&lt;br /&gt;
 IF NOT &amp;quot;%ERROR%&amp;quot;==&amp;quot;0&amp;quot; (&lt;br /&gt;
    c:\backup\blat\full\blat c:\backup\backup.log -to ''destinataire@systea.net'' %MAILOPTS% -s &amp;quot;Probleme sauvegarde&amp;quot; &amp;gt; c:\backup\blat.log 2&amp;gt;&amp;amp;1 )&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Installation_de_Zabbix_sur_centos_6&amp;diff=5610</id>
		<title>Installation de Zabbix sur centos 6</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Installation_de_Zabbix_sur_centos_6&amp;diff=5610"/>
				<updated>2013-04-04T12:11:03Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : Page créée avec « https://www.zabbix.com/documentation/2.0/manual/installation/install_from_packages »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://www.zabbix.com/documentation/2.0/manual/installation/install_from_packages&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Accueil&amp;diff=5609</id>
		<title>Accueil</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Accueil&amp;diff=5609"/>
				<updated>2013-04-04T12:10:07Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;0&amp;quot;&lt;br /&gt;
|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;font style=bold size=10 color=#f6aa0a&amp;gt;WikiGite :  le wiki de    &amp;lt;/font&amp;gt;[[Image:Logo_kogite2.png|link=http://www.kogite.fr]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;'''KoGite''' [[http://www.kogite.fr www.kogite.fr]] est un service d'hébergement proposé par '''Systea IG''' [[http://www.systea.net www.systea.net]].&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;Le service, qui constitue l'âme de Systea IG - donc de KoGite - ainsi que notre orientation résolument Open Source, nous amène à étudier, et mettre en oeuvre, toutes sortes de solutions.&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;WikiGite en est le fruit, il est aussi notre modeste façon de remercier tous ceux qui partagent leurs connaissances sur la toile et qui nous ont permis d'avancer.&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
'''[[MediaWiki utilisation]]''' (Notes et infos utiles)&lt;br /&gt;
&lt;br /&gt;
'''Doc complète''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Help:Contents/fr Guide de l'utilisateur MediaWiki]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[[Liens et sujets à traiter]]''' (et à nettoyer régulièrement !)&lt;br /&gt;
&lt;br /&gt;
'''[[Tutos à finir]]'''&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
&amp;lt;div align=right&amp;gt;&amp;lt;i&amp;gt;Un commentaire sur ce wiki ou sur une des procédures ? N'hésitez pas à visiter [http://www.systea.net www.systea.net] et [http://www.kogite.fr www.kogite.fr], leurs pages de contact sont aussi là pour ça !&amp;lt;/i&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
'''Tutoriels'''&lt;br /&gt;
__TOC__&lt;br /&gt;
= Trucs et astuces divers =&lt;br /&gt;
== [[top - trouver les processus &amp;quot;ininterruptibles&amp;quot;]] ==&lt;br /&gt;
== [[Savoir si Java est installé et disponible dans un navigateur]] ==&lt;br /&gt;
&lt;br /&gt;
= Systèmes, distributions linux =&lt;br /&gt;
&lt;br /&gt;
== Ubuntu ==&lt;br /&gt;
=== [[Detection de scanner Epson]] ===&lt;br /&gt;
=== [[Msmtp + Mailx| Mail en ligne de commande : mailx sur msmtp]] ===&lt;br /&gt;
== Debian ==&lt;br /&gt;
=== [[Installation depuis une clé USB (pour les serveurs sans lecteur CD)]] ===&lt;br /&gt;
=== [[Squeeze sur Dell r610 + réseau Broadcom]] ===&lt;br /&gt;
=== [[Route statique sous Debian]] ===&lt;br /&gt;
=== [[Debian : installation GRUB|Installation GRUB]]===&lt;br /&gt;
=== [[Clamav à jour sur lenny]] ===&lt;br /&gt;
=== [[Archives de dépôts Etch]]===&lt;br /&gt;
=== [[Message &amp;quot;perl: warning: Setting locale failed.&amp;quot;]] ===&lt;br /&gt;
=== [[Debian mise à jour Sarge-Etch|Mise à jour Sarge-Etch]]===&lt;br /&gt;
=== [[Debian mise à jour Etch-Lenny|Mise à jour Etch-Lenny]]===&lt;br /&gt;
=== [[Debian mise à jour Lenny-Squeeze|Mise à jour Lenny-Squeeze]]===&lt;br /&gt;
=== [[Downgrader un paquet DEB]] ===&lt;br /&gt;
&lt;br /&gt;
== CentOS - RedHat ==&lt;br /&gt;
=== [[Dépôts complémentaires]] ===&lt;br /&gt;
=== [[CentOS Network Install]] ===&lt;br /&gt;
=== [[Route statique sous CentOS]] ===&lt;br /&gt;
=== [[Creation d'un dépôt de RPMs]] MREPO ===&lt;br /&gt;
=== Recherche de RPMs ===&lt;br /&gt;
&amp;lt;small&amp;gt;''&amp;amp;rarr; URL''&amp;lt;/small&amp;gt; : http://rpm.pbone.net&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;''&amp;amp;rarr; URL''&amp;lt;/small&amp;gt; : http://www.rpmfind.net/&lt;br /&gt;
=== [[Mise à jour CentOS 5.4 vers 5.5]] ===&lt;br /&gt;
=== [[Downgrader un paquet]] RPM ===&lt;br /&gt;
&lt;br /&gt;
== BlueQuartz BlueOnyx ==&lt;br /&gt;
=== [[Ligne de commande BlueQuartz/BlueOnyx]] ===&lt;br /&gt;
=== [[Adapter un paquet BlueQuartz]] ===&lt;br /&gt;
=== [[Archive paquets BlueQuartz sur Nuonce]] ===&lt;br /&gt;
=== [[BlueOnyx - Recalcul des quotas]] ===&lt;br /&gt;
=== [[BlueOnyx - cmuExport]] ===&lt;br /&gt;
=== [[BlueOnyx - Open basedir dans les virtualhost ]] ===&lt;br /&gt;
=== [[BlueOnyx - Modifier le theme]] ===&lt;br /&gt;
=== [[Certificat SSL fourni par une CA]] ===&lt;br /&gt;
=== [[Isolation admserv]] ===&lt;br /&gt;
=== [[Mise à jour vers PHP 5.3]] ===&lt;br /&gt;
=== [[BlueOnyx : mise à jour PhpMyAdmin]] ===&lt;br /&gt;
=== [[Déplacement des répertoires PostGreSQL dans /home]] ===&lt;br /&gt;
=== [[Munin et munin-node dans le GUI BlueOnyx]] ===&lt;br /&gt;
=== [[Roundcube sur BO5.5 + PHP5.3]] ===&lt;br /&gt;
=== [[BO : format mailboxes de mbox vers Maildir]] ===&lt;br /&gt;
=== [[Gestion des .htaccess]] ===&lt;br /&gt;
=== [[Proftpd en inetd|Message &amp;quot;address/port already in use&amp;quot; sur ProFTPD]] ===&lt;br /&gt;
=== [[Duplication manuelle d'un serveur BlueOnyx]] ===&lt;br /&gt;
&lt;br /&gt;
== OpenFiler ==&lt;br /&gt;
=== [[OpenFiler : Installation et première configuration]] ===&lt;br /&gt;
&lt;br /&gt;
== Linux en général ==&lt;br /&gt;
=== [[Ext3grep]]: undelete sur ext3 ! ===&lt;br /&gt;
=== [[Tunnel SSH via un serveur intermédiaire]] ===&lt;br /&gt;
=== [[ Gestion LVM ]] ===&lt;br /&gt;
=== [[ Réplication de systèmes de fichiers avec DRBD ]] ===&lt;br /&gt;
=== [[Transférer LVM sur RAID dans une VM ]] ===&lt;br /&gt;
=== [[RAID logiciel : mdadm| madm : le RAID logiciel]] ===&lt;br /&gt;
=== [[Network bonding sur linux]] ===&lt;br /&gt;
=== [[ODBC sur linux]] (Ubuntu) ===&lt;br /&gt;
=== [[Gestion des IOs, iowaits]] ===&lt;br /&gt;
=== [[Reverse ssh : Accéder à un serveur derrière un NAT/Firewall]] ===&lt;br /&gt;
=== [[installer le client no-ip]] ===&lt;br /&gt;
&lt;br /&gt;
= Serveurs et Services =&lt;br /&gt;
== Apache, PHP ==&lt;br /&gt;
=== [[Nombre de variables maximum passés dans un POST]] ===&lt;br /&gt;
=== [[Règles Rewrite]] ===&lt;br /&gt;
=== [[Apache/PHP : optimisation affichage et caches]] ===&lt;br /&gt;
=== [[Proxmox sécurisation certificats SSL clients|Sécurisation certificats SSL clients (d'après l'exemple Proxmox, à adapter)]] ===&lt;br /&gt;
=== [[Forcer l'affichage des erreurs localement]] dans un script php ===&lt;br /&gt;
=== [[Activation de server-status]] ===&lt;br /&gt;
==== [[Explication server-status Apache]] ====&lt;br /&gt;
=== [[Interdire l'éxecution de PHP]] dans des répertoires en upload ===&lt;br /&gt;
=== [[Redirection vers un autre serveur/domaine]] pour maintenance ===&lt;br /&gt;
&lt;br /&gt;
=== [[Apache mod_evasive : limitation du traffic, protection anti-DDOS]] ===&lt;br /&gt;
=== [[Apache2 SSL sur Debian Etch]] ===&lt;br /&gt;
=== [[Certificat SSL fourni par une CA|Apache2 SSL sur CentOS/BO ]] ===&lt;br /&gt;
=== [[WebDAV sur Apache avec LDAP]] ===&lt;br /&gt;
&amp;lt;!-- === [[Kerberos et mod_auth_kerb pour SSO sur Active Directory]]=== --&amp;gt;&lt;br /&gt;
=== [[Configuration alternative avec un utilisateur spécifique]] ===&lt;br /&gt;
=== [[ PHP eAccelerator sur CentOS / BlueOnyx ]] ===&lt;br /&gt;
=== [[CMSMS Installation sur BlueOnyx]] ===&lt;br /&gt;
=== Apache proxy : [[Mod_Proxy]] ===&lt;br /&gt;
=== [[Message : NameVirtualHost *:80 has no VirtualHosts]] ===&lt;br /&gt;
&lt;br /&gt;
== NGinx ==&lt;br /&gt;
=== [[Nginx et PHP-FPM en chroot]] ===&lt;br /&gt;
&lt;br /&gt;
== FTP ==&lt;br /&gt;
=== [[Proftpd en inetd]]: éviter &amp;quot;address/port already in use&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
== Bind, named, DNS ==&lt;br /&gt;
=== [[Activer le logging dans bind]] et exclure des messages du log ===&lt;br /&gt;
== [[Afnic Zone Check - vérification config serveurs DNS]] ==&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
=== [[Samba avec authentification sur Active Directory]] ===&lt;br /&gt;
=== [[GOsa : PDC ]] ===&lt;br /&gt;
=== [[Serveur d'impression (cups + samba) sur debian 6.0 ]] ===&lt;br /&gt;
&lt;br /&gt;
== LDAP ==&lt;br /&gt;
=== [[Serveur OpenLDAP sur CentOS]] ===&lt;br /&gt;
=== [[Lignes de commandes LDAP]] ===&lt;br /&gt;
&lt;br /&gt;
== Mails ==&lt;br /&gt;
=== [[Recherche d'adresse IP dans les blacklists]] ===&lt;br /&gt;
=== [[Installation Postfix sur Etch]] ===&lt;br /&gt;
=== [[Discussion SMTP via telnet]] ===&lt;br /&gt;
=== [[Debugage mail, configuration et DNS]] ===&lt;br /&gt;
=== [[Convertir Maildir en mbox ]] ===&lt;br /&gt;
=== [[Roundcube sur BO5.5 + PHP5.3]] ===&lt;br /&gt;
=== Lien : [[IPFire Source NAT : modifier l'adresse IP de sortie]] ===&lt;br /&gt;
=== Spamassassin ===&lt;br /&gt;
==== [[Spamassassin : installation sur BlueOnyx/Sendmail]] ====&lt;br /&gt;
==== [[Spamassassin : apprentissage et blacklist automatique]] ====&lt;br /&gt;
=== Postfix ===&lt;br /&gt;
==== [[Installation Postfix sur Etch]] ====&lt;br /&gt;
==== [[Relai smtp]] ====&lt;br /&gt;
=== Procmail ===&lt;br /&gt;
==== [[Filtres Procmail]], filtrage des mails à la source ====&lt;br /&gt;
==== Procmail Syntax &amp;amp; Tips &amp;lt;small&amp;gt;''&amp;amp;rarr; URL''&amp;lt;/small&amp;gt; : http://pm-doc.sourceforge.net/pm-tips.html ====&lt;br /&gt;
==== Procmail : tutorial (FR) &amp;lt;small&amp;gt;''&amp;amp;rarr; URL''&amp;lt;/small&amp;gt; : http://www.tuteurs.ens.fr/internet/courrier/procmail.html ====&lt;br /&gt;
=== Fetchmail ===&lt;br /&gt;
==== [[Fetchmail - installation]] ====&lt;br /&gt;
==== [[Msmtp + Mailx| Mail en ligne de commande : mailx sur msmtp]] ====&lt;br /&gt;
&lt;br /&gt;
== SVN ==&lt;br /&gt;
=== [[ Subversion : installation CentOS/BlueOnyx]] ===&lt;br /&gt;
&lt;br /&gt;
== BGP/routage ==&lt;br /&gt;
=== [[Quagga: installation-paramétrage]] ===&lt;br /&gt;
&lt;br /&gt;
== Juggernaut ==&lt;br /&gt;
=== [[Installation de Juggernaut sur Debian 6.0]] ===&lt;br /&gt;
=== [[Installation de Juggernaut sur Centos 5.8]] ===&lt;br /&gt;
&lt;br /&gt;
== NFS ==&lt;br /&gt;
=== [[Partage NFS sous Debian]] ===&lt;br /&gt;
&lt;br /&gt;
== LTSP : Linux Terminal Server Project ==&lt;br /&gt;
=== [[Installation serveur LTSP sous Ubuntu 11.10]] ===&lt;br /&gt;
=== [[Installation serveur LTSP sous Ubuntu 10.04 LTS ]] ===&lt;br /&gt;
&lt;br /&gt;
= Logiciels =&lt;br /&gt;
== Ajaxplorer ==&lt;br /&gt;
=== [[Ajaxplorer - Installation]] ===&lt;br /&gt;
=== [[Ajaxplorer - Création d'un partage NFS sur un serveur distant (Debian)]] ===&lt;br /&gt;
== [[Ajaxterm sur Etch]] ==&lt;br /&gt;
== CMS Made Simple ==&lt;br /&gt;
=== [[CMSMS Installation ]] ===&lt;br /&gt;
== DotClear : [[Installation Dotclear]] ==&lt;br /&gt;
== Dropbox ==&lt;br /&gt;
=== [[Utilisation de Dropbox en ligne de commande]] ===&lt;br /&gt;
&lt;br /&gt;
== Gestionnaires de configurations ==&lt;br /&gt;
=== Ansible ===&lt;br /&gt;
&lt;br /&gt;
=== Fabric ===&lt;br /&gt;
==== [[Fabric : installation sur Debian]] ====&lt;br /&gt;
==== [[Fabric : utilisation]] ====&lt;br /&gt;
==== [[Cuisine : installation]] ====&lt;br /&gt;
=== Puppet ===&lt;br /&gt;
==== [[Puppet : installation]] ====&lt;br /&gt;
==== [[Puppet : utilisation]] ====&lt;br /&gt;
&lt;br /&gt;
== GIT ==&lt;br /&gt;
=== [[Git : utilisation]] ===&lt;br /&gt;
=== [[Git : Gitolite et Gitlab sur Debian 6.0]] ===&lt;br /&gt;
=== [[Git : Gitolite et Gitlab sur Centos 6.2]] ===&lt;br /&gt;
=== [[Installation Indefero | Git sur Indefero ]] ===&lt;br /&gt;
&lt;br /&gt;
== GLPI ==&lt;br /&gt;
=== [[Installation de GLPI sur Debian]] ===&lt;br /&gt;
=== [[Les entités et les utilisateurs]] ===&lt;br /&gt;
=== [[Installer des plugins dans GLPI]] ===&lt;br /&gt;
=== [[Installation de l'agent fusioninventory]] ===&lt;br /&gt;
=== [[Assigner des machines à des entités automatiquement avec les TAG]] ===&lt;br /&gt;
=== [[Gestion des tickets]] ===&lt;br /&gt;
=== [[Le plugin Monitoring]] ===&lt;br /&gt;
=== [[Accès GLPI à partir d'une application externe (PHP)]] ===&lt;br /&gt;
&lt;br /&gt;
== iFolder ==&lt;br /&gt;
=== [[iFolder - Installation sur OpenSuse 11.3]] ===&lt;br /&gt;
== Indefero ==&lt;br /&gt;
=== [[Installation Indefero ]] sur Debian avec Git ===&lt;br /&gt;
== ISPConfig ==&lt;br /&gt;
=== [[ Install ISPConfig sur Debian ]] ===&lt;br /&gt;
=== Install et scripts [[Archivemail]]  sur ISPConfig ===&lt;br /&gt;
=== [[Filtres Procmail]] dans ISPConfig ===&lt;br /&gt;
=== HowTo ISPConfig &amp;lt;small&amp;gt;''&amp;amp;rarr; URL''&amp;lt;/small&amp;gt; : http://www.how2forge.net/ispconfig-2.x-first-steps ===&lt;br /&gt;
== Keepass ==&lt;br /&gt;
=== [[keepass 2]] ===&lt;br /&gt;
== Mailany : [[ Install Mailany sur Debian ]] ==&lt;br /&gt;
== MediaWiki ==&lt;br /&gt;
=== [[Install MediaWiki sur Debian]] ===&lt;br /&gt;
=== [[MediaWiki - changement de serveur]] ===&lt;br /&gt;
== [[MondoRescue]] ==&lt;br /&gt;
== OpenERP ==&lt;br /&gt;
=== [[OpenERP v6 - Installation sur Debian 6]] ===&lt;br /&gt;
=== [[OpenERP v6.1 - Installation sur BO/Centos 6.3 ]] ===&lt;br /&gt;
== Owncloud ==&lt;br /&gt;
=== [[Owncloud : installation sur Debian 6]] ===&lt;br /&gt;
=== [[Owncloud : installation sur Centos/Blueonyx 6]] ===&lt;br /&gt;
== PHPList ==&lt;br /&gt;
=== [[PHPList : installation mailing-lists]]===&lt;br /&gt;
=== [[PHPList : envoi en ligne de commande / cron]] ===&lt;br /&gt;
== Piwik ==&lt;br /&gt;
=== [[Piwik Installation ]] ===&lt;br /&gt;
== Sparkleshare ==&lt;br /&gt;
=== [[Mise en place de Sparkleshare sur serveur Debian &amp;amp; client Ubuntu]] ===&lt;br /&gt;
== vTiger CRM ==&lt;br /&gt;
=== [[vTiger : Installation ]] ===&lt;br /&gt;
== Wordpress ==&lt;br /&gt;
=== [[Installation de Wordpress sur BlueOnyx]] ===&lt;br /&gt;
== Zimbra ==&lt;br /&gt;
=== [[Sending eMail on command line]] on Zimbra ===&lt;br /&gt;
=== [[ Install Zimbra 5 sur Etch ]] ===&lt;br /&gt;
== Zoneminder ==&lt;br /&gt;
=== [[Installation de zoneminder 1.25.0 sur Centos 6.3 ]] ===&lt;br /&gt;
&lt;br /&gt;
= Sécurité et monitoring =&lt;br /&gt;
== [[mise à jour automatique des scripts]] ==&lt;br /&gt;
== [[check_service.sh]] script de surveillance des services ==&lt;br /&gt;
== [[Sécurisation sshd]] ==&lt;br /&gt;
== [[Optimisation TCPIP]] ==&lt;br /&gt;
== [[CHKRootkit installation]] ==&lt;br /&gt;
== [[Logcheck installation]] (Debian) ==&lt;br /&gt;
== [[Monit installation]]==&lt;br /&gt;
&lt;br /&gt;
== Munin ==&lt;br /&gt;
=== [[Installation de munin / munin-node]] ===&lt;br /&gt;
=== [[Munin-node activation plugins]] ===&lt;br /&gt;
== OSSEC ==&lt;br /&gt;
=== [[OSSEC installation]] ===&lt;br /&gt;
=== [[Mise à jour automatique de local_rules.xml]] ===&lt;br /&gt;
== [[RKHunter installation]] ==&lt;br /&gt;
== Firewalls ==&lt;br /&gt;
=== [[scripts FIREWALL]] ===&lt;br /&gt;
=== [[script: bannir des adresses IPs]] ===&lt;br /&gt;
=== [[Shorewall]] ===&lt;br /&gt;
=== IPCop ===&lt;br /&gt;
==== [[Install/mise à jour Qos_NG ]] ====&lt;br /&gt;
==== [[Logs OpenVPN disparus après mise à jour]] ====&lt;br /&gt;
=== IPFire ===&lt;br /&gt;
==== [[ Accès externes ]] ====&lt;br /&gt;
==== [[ OpenVPN sur IPFire ]] ====&lt;br /&gt;
==== [[Autoriser le ping sans ICMP]] ====&lt;br /&gt;
==== [[IPFire Source NAT : modifier l'adresse IP de sortie]] ====&lt;br /&gt;
=== PfSense 2.0.1 ===&lt;br /&gt;
==== [[ MultiWan ]] ====&lt;br /&gt;
==== [[ Proxy transparent : squid ]] ====&lt;br /&gt;
&lt;br /&gt;
== Tripwire ==&lt;br /&gt;
=== [[Tripwire installation]] ===&lt;br /&gt;
=== [[variables Tripwire]], paramétrage des règles ===&lt;br /&gt;
&lt;br /&gt;
== Shinken / Thruk ==&lt;br /&gt;
=== [[Installation de Shinken sur une Debian]] ===&lt;br /&gt;
=== [[Installation de Shinken sur une CentOS / Scientific Linux]] ===&lt;br /&gt;
=== [[Installation FastCGI de l'interface Thruk sur une Debian]] ===&lt;br /&gt;
=== [[Paramétrage de Shinken]] ===&lt;br /&gt;
=== Pour archive ===&lt;br /&gt;
==== [[Installation de Nagvis]] ====&lt;br /&gt;
==== [[Installation de PNP4Nagios]] ====&lt;br /&gt;
&lt;br /&gt;
== ZABBIX ==&lt;br /&gt;
=== [[Installation de Zabbix sur centos 6]] ===&lt;br /&gt;
&lt;br /&gt;
= Sauvegardes =&lt;br /&gt;
== [[Rdiff-backup ]] installation et script ==&lt;br /&gt;
== [[Rsync script]] ==&lt;br /&gt;
== [[Dumpmysql.sh]] ==&lt;br /&gt;
== [[BackupPC sur Debian Squeeze]]==&lt;br /&gt;
== [[Rsyncd sur Windows]] pour BackupPC ==&lt;br /&gt;
== [[Amanda installation]] ==&lt;br /&gt;
&lt;br /&gt;
= Matériel, drivers =&lt;br /&gt;
== [[DELL iDRAC]] ==&lt;br /&gt;
== [[ SMART sur SATA|SMART : surveillance disque dur ]] ==&lt;br /&gt;
== [[Installation Dell OpenManage sur Linux]] ==&lt;br /&gt;
&lt;br /&gt;
= Bases de données =&lt;br /&gt;
== ORACLE ==&lt;br /&gt;
=== [[Oracle 10g sur CentOS 64 bits]] ===&lt;br /&gt;
=== [[Script d'audit de bases de données ORACLE]], (résultat en HTML) ===&lt;br /&gt;
=== HA niveau 1 :[[Failover database sur Standard Edition]] ===&lt;br /&gt;
=== HA niveau 2 :[[Standby database manuelle (cold) sur Standard Edition]] / Linux===&lt;br /&gt;
=== HA niveau 2 :[[Standby database manuelle (cold) sur Windows/Std Edition (services et tâches planifiées)]] ===&lt;br /&gt;
=== HA niveau 2 :[[Standby database manuelle par RMAN (hot) sur Standard Edition]] ===&lt;br /&gt;
=== HA niveau 3 :[[Standby DataGuard database sur Enterprise Edition]] ===&lt;br /&gt;
=== HA niveau 4 :[[RAC database sur Enterprise Edition]] ===&lt;br /&gt;
=== [[Supprimer tous les objets d'un utilisateur]] en une seule fois ===&lt;br /&gt;
=== [[NLS LANG et nls_*_parameters]] et SQLPLUS en UTF8 ===&lt;br /&gt;
=== [[Reconstruire la DBconsole sur 10g]] ===&lt;br /&gt;
=== [[Changer les mots de passe DBSNMP et SYSMAN]] ===&lt;br /&gt;
=== [[Trace SQL sur session utilisateur]] ===&lt;br /&gt;
=== [[Suppression de JOB Oracle 10g]] ===&lt;br /&gt;
== MySQL ==&lt;br /&gt;
=== [[Check et Repair de toutes les bases ]] ===&lt;br /&gt;
=== [[Erreur &amp;quot;Can't connect to local MySQL server through socket&amp;quot;]] ===&lt;br /&gt;
== PostGreSQL ==&lt;br /&gt;
=== CentOS/BlueOnyx [[Mise à jour PostgreSQL 8.1 en 8.4 / 9.0]] ===&lt;br /&gt;
== SQL Server ==&lt;br /&gt;
=== Connexion à [[SQL Server sur Oracle SQL Developer]] ===&lt;br /&gt;
=== [[SQL Server : accès à partir de linux]] ===&lt;br /&gt;
&lt;br /&gt;
= Virtualisation =&lt;br /&gt;
== KVM ==&lt;br /&gt;
=== [[KVM Installation]] ===&lt;br /&gt;
=== [[Convertir une image VirtualBox vers KVM]] ===&lt;br /&gt;
== Xen ==&lt;br /&gt;
=== [[Xen Installation]] ===&lt;br /&gt;
== Archipel ==&lt;br /&gt;
=== [[Archipel installation]] ===&lt;br /&gt;
== Proxmox VE ==&lt;br /&gt;
=== [[Proxmox 1.9 Installation, notes techniques]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Proxmox 1.9 Cluster]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Proxmox Openvz]] ===&lt;br /&gt;
=== [[Proxmox : migration KVM - OpenVZ]] ===&lt;br /&gt;
=== [[Proxmox sécurisation certificats SSL clients]] ===&lt;br /&gt;
=== Proxmox [[KVM backup - snapshot - restore]] ===&lt;br /&gt;
=== [[Proxmox - Retailler un disque raw ou qcow2]] ===&lt;br /&gt;
=== [[Proxmox - Transférer une image qcow2 dans un volume logique]] ===&lt;br /&gt;
=== [[Proxmox - Monter une image qcow2]] ===&lt;br /&gt;
=== [[Proxmox - configuration de VLANs]] pour des réseaux internes ===&lt;br /&gt;
=== [[Proxmox - configuration bonding + bridge]] ===&lt;br /&gt;
=== [[Proxmox - Migration VMWare ESXi - Proxmox]] ===&lt;br /&gt;
=== [[Proxmox - convertir disque IDE vers Virtio ]] ===&lt;br /&gt;
=== [[Proxmox - Installation d'une VM Windows server 2008R2]] ===&lt;br /&gt;
=== [[Munin sur Proxmox]] ===&lt;br /&gt;
=== [[Proxmox 2.x - Installation, cluster (avec GlusterFS)]] ===&lt;br /&gt;
&lt;br /&gt;
== Virtualbox ==&lt;br /&gt;
=== [[Virtualbox Sur Centos 6.2]] ===&lt;br /&gt;
&lt;br /&gt;
== VMWare ==&lt;br /&gt;
=== [[CentOS4/BlueQuartz guest VMWare|CentOS4/BlueQuartz guest sur VMWare Server]] ===&lt;br /&gt;
=== ESXi [[Cloner une VM]] ===&lt;br /&gt;
=== ESXi [[Création VM ESXi avec disque thin]] ===&lt;br /&gt;
=== ESXi [[Conversion VMWare Server vers ESXi par vmkfstools ]] ===&lt;br /&gt;
=== ESXi [[Activation ssh sur ESXi]] ===&lt;br /&gt;
=== ESXi [[Montage disque NFS]] ===&lt;br /&gt;
=== VMWare Server 2.0 [[Installation serveur + VMware Tools sur guests]] ===&lt;br /&gt;
=== VMWare Server 1.x [[WMWare server console / Ubuntu 8.04]] : problème version GCC ===&lt;br /&gt;
=== VMWare Server 1.x [[VMWareTools sur guest linux]] ===&lt;br /&gt;
=== VMWare Server 1.x [[Fusionner disque+snapshot en un seul disque]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Retailler le disque d'une VM]] ===&lt;br /&gt;
=== [[Suspendre VMWare]] pour sauvegarde ===&lt;br /&gt;
&lt;br /&gt;
=== [[Le guest VMWare perd l'heure]] ===&lt;br /&gt;
= [[ARCHIVES]] =&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Serveur_d%27impression_(cups_%2B_samba)_sur_debian_6.0&amp;diff=5582</id>
		<title>Serveur d'impression (cups + samba) sur debian 6.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Serveur_d%27impression_(cups_%2B_samba)_sur_debian_6.0&amp;diff=5582"/>
				<updated>2013-02-19T11:00:16Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Prérequis ==&lt;br /&gt;
Un serveur samba fonctionnel. Dans notre cas l'admin du domaine samba est l'utilisateur administrateur.&lt;br /&gt;
&lt;br /&gt;
== CUPS ==&lt;br /&gt;
Installer cups:&lt;br /&gt;
 aptitude install cups.&lt;br /&gt;
&lt;br /&gt;
Éditer le fichier /etc/cups/raw.convs et vérifier que cette ligne est décommenté :&lt;br /&gt;
 application/octet-stream	application/vnd.cups-raw	0	-&lt;br /&gt;
&lt;br /&gt;
Éditer le fichier /etc/cups/raw.types et verifier que cette ligne est décommenté :&lt;br /&gt;
 application/octet-stream&lt;br /&gt;
&lt;br /&gt;
== SAMBA ==&lt;br /&gt;
Ajouter l'utilisateur administrateur au groupe lpadmin :&lt;br /&gt;
 adduser administrateur lpadmin&lt;br /&gt;
&lt;br /&gt;
Ajouter ceci dans /etc/samba/smb.conf :&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
[global]&lt;br /&gt;
 load printers = Yes&lt;br /&gt;
 printing = cups&lt;br /&gt;
 printcap name = cups&lt;br /&gt;
 #même nom d'imprimantes entre cups et samba&lt;br /&gt;
 force printername = yes&lt;br /&gt;
&lt;br /&gt;
[printers]&lt;br /&gt;
  comment = Imprimantes&lt;br /&gt;
  path = /var/spool/samba&lt;br /&gt;
  browseable = yes&lt;br /&gt;
  public = yes&lt;br /&gt;
  guest ok = yes&lt;br /&gt;
  writable = no&lt;br /&gt;
  printable = yes&lt;br /&gt;
  use client driver = no&lt;br /&gt;
&lt;br /&gt;
[print$]&lt;br /&gt;
  comment = drivers pour imprimantes&lt;br /&gt;
  path = /var/lib/samba/drivers&lt;br /&gt;
  browseable = yes&lt;br /&gt;
  guest ok = yes&lt;br /&gt;
  read only = yes&lt;br /&gt;
  write list = administrateur, root&lt;br /&gt;
  inherit permissions = yes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis donner les droits d'accès au répertoire :&lt;br /&gt;
 chmod 1777 /var/spool/samba&lt;br /&gt;
(Le « 1 » de 1777 empêche que les fichiers soient effacés par d'autres utilisateurs que le propriétaire du fichier)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Imprimantes ==&lt;br /&gt;
=== Push automatique des drivers Windows ===&lt;br /&gt;
&lt;br /&gt;
Créer l'arborescence de stockage des drivers windows pour samba dans /var/lib/samba/drivers :&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 COLOR&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 IA64&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 W32ALPHA&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 27 déc$tabLigneTmp\[5\].  10:40 W32MIPS&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 W32PPC&lt;br /&gt;
 drwxrwsrwx 3 root root 4096 27 déc.  17:32 W32X86&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 WIN40&lt;br /&gt;
 drwxrwsrwx 3 root root 4096 27 déc.  17:32 x64&lt;br /&gt;
&lt;br /&gt;
On peut la créer facilement grâce à ce script :&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
BASEDIR=/var/lib/samba/drivers;&lt;br /&gt;
if [ -e $BASEDIR ]&lt;br /&gt;
	then&lt;br /&gt;
		mkdir $BASEDIR&lt;br /&gt;
fi&lt;br /&gt;
for X in COLOR IA64 W32ALPHA W32MIPS W32PPC W32X86 WIN40 x64; do &lt;br /&gt;
  mkdir -p $BASEDIR/$X;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Créer maintenant le répertoire qui accueillera les drivers Windows dans Cups :&lt;br /&gt;
 mkdir -p /usr/share/cups/drivers/x64&lt;br /&gt;
&lt;br /&gt;
* Ajout du driver PostScript Windows 32bit &lt;br /&gt;
Pour le 32bit récupérer ces fichiers sur un système windows 32bit dans %WINDIR%\SYSTEM32\SPOOL\DRIVERS\W32X86\3 et les mettre dans /usr/share/cups/drivers/ : &amp;lt;br/&amp;gt;&lt;br /&gt;
Pour le 64bit récupérer ces fichiers sur un système windows 64bit dans %WINDIR%\SYSTEM32\SPOOL\DRIVERS\X64\3 et les mettre dans /usr/share/cups/drivers/x64 :&lt;br /&gt;
    ps5ui.dll&lt;br /&gt;
    pscript.hlp&lt;br /&gt;
    pscript.ntf&lt;br /&gt;
    pscript5.dll&lt;br /&gt;
'''!!!ATTENTION!!! Ces fichiers sont en MAJUSCULE sur Windows. Il est nécessaire de les mettre en minuscule sinon cupsaddsmb ne les exportera pas.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Ajout du driver postscript Cups V6 pour Windows&lt;br /&gt;
Afin d'avoir plus de fonctionnalités (comptage des pages, labels, la mise en attente...), il est possible d'ajouter en complément le driver PostScript de Cups.&lt;br /&gt;
&lt;br /&gt;
Pour le 32bit récupérer ces fichiers sur http://svn.easysw.com/public/windows/trunk/i386/ et les mettre dans /usr/share/cups/drivers/ : &amp;lt;br/&amp;gt;&lt;br /&gt;
Pour le 64bit récupérer ces fichiers sur http://svn.easysw.com/public/windows/trunk/x64/ et les mettre dans /usr/share/cups/drivers/x64 :&lt;br /&gt;
    cups6.inf&lt;br /&gt;
    cups6.ini&lt;br /&gt;
    cupsps6.dll&lt;br /&gt;
    cupsui6.dll&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
L'installation des imprimantes peut maintenant se faire sur l'interface web de Cups. Lors de la sélection du fichier PDD, il est recommandé de mettre un fichier PPD officiel afin d'avoir toutes les fonctionnalités de l'imprimante (Le comptage des pages par exemple). Ce fichier PPD peut être trouvé dans l'archive contenant les drivers PostScript pour Windows.(Fonctionne sur une Toshiba e-Studio222cs)&lt;br /&gt;
 &lt;br /&gt;
Il faut maintenant exporter les imprimantes et les drivers sous samba : &lt;br /&gt;
 service samba restart&lt;br /&gt;
 service cups restart&lt;br /&gt;
 cupsaddsmb -H localhost -U administrateur -v -a&lt;br /&gt;
&lt;br /&gt;
Pour vérifier la bonne installation des drivers :&lt;br /&gt;
&lt;br /&gt;
 rpcclient localhost&lt;br /&gt;
      &amp;gt; enumprinters&lt;br /&gt;
      &amp;gt; enumdrivers&lt;br /&gt;
&lt;br /&gt;
Les drivers seront automatiquement envoyé sur Windows lors de l'installation d'une imprimante sur Windows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Statistiques d'impressions ==&lt;br /&gt;
&lt;br /&gt;
http://phpprintanalyze.sourceforge.net/ : stat web cups&lt;br /&gt;
Phpprintanalyse est une interface web pour cups permettant d'analyser le fichier page_log et de faire des graphiques.&lt;br /&gt;
&lt;br /&gt;
Le serveur de statistiques se trouvant sur une autre machine , ajouter cette section dans /etc/cups/cupsd.conf afin que la page $IP_CUPS:631/admin/log/page_log soit accessible sans mot de passe : &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Location /admin/log&amp;gt;&lt;br /&gt;
 Order allow,deny&lt;br /&gt;
 Allow from 192.168.0.5&lt;br /&gt;
 &amp;lt;/Location&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 cd /var/www/&lt;br /&gt;
&lt;br /&gt;
=== Installation de phpPrintAnalyser ===&lt;br /&gt;
 wget http://sourceforge.net/projects/phpprintanalyze/files/phpPrintAnalyzer/1.2/phpPrintAnalyzer-1.2.tar.gz&lt;br /&gt;
 tar xvzf phpPrintAnalyzer-1.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
=== Installation de jpGraph ===&lt;br /&gt;
 aptitude install php5-gd&lt;br /&gt;
 wget --content-disposition http://jpgraph.net/download/download.php?p=1&lt;br /&gt;
 tar xvzf jpgraph-3.0.7.tar.gz&lt;br /&gt;
 mv jpgraph-3.0.7 jpgraph &lt;br /&gt;
&lt;br /&gt;
 chown -R www-data:www-data jpgraph phpPrintAnalyzer&lt;br /&gt;
&lt;br /&gt;
=== configuration ===&lt;br /&gt;
 cd /var/www/phpPrintAnalyzer/inc/&lt;br /&gt;
 cp config.inc.php.sample config.inc.php&lt;br /&gt;
 vim config.inc.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Problème de colonnes ====&lt;br /&gt;
Problème de décalage des colonnes entre les logs et le script php&lt;br /&gt;
===== Solution 1 =====&lt;br /&gt;
Ajouter cette ligne à la fin du fichier /etc/cups/cupsd.conf :&lt;br /&gt;
&lt;br /&gt;
 PageLogFormat %p %u %j %T %P %C %{job-billing} %{job-originating-host-name} %{job-name} %{media} %{sides}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Solution 2 =====&lt;br /&gt;
Modification a faire dans index.php :&lt;br /&gt;
* Utilisateurs : &amp;lt;br/&amp;gt;&lt;br /&gt;
remplacer $tabLigneTmp[1] par $tabLigneTmp[2]&lt;br /&gt;
 :%s/$tabLigneTmp\[1\]/$tabLigneTmp\[2\]/g&lt;br /&gt;
&lt;br /&gt;
sauf la première ligne :&lt;br /&gt;
 $tabLigneTmp[1] = strtolower($tabLigneTmp[1]);&lt;br /&gt;
&lt;br /&gt;
* Nombre de pages : &amp;lt;br/&amp;gt;&lt;br /&gt;
Remplacer $tabLigneTmp[6] par $tabLigneTmp[5]&lt;br /&gt;
 :%s/$tabLigneTmp\[6\]/$tabLigneTmp\[5\]/g&lt;br /&gt;
&lt;br /&gt;
== TIPS ==&lt;br /&gt;
===Installer automatiquement une imprimante sous windows ===&lt;br /&gt;
&amp;lt;source lang=winbatch&amp;gt;&lt;br /&gt;
rundll32 printui.dll,PrintUIEntry /in /n \\SERVEUR\NOM_DE_IMP&lt;br /&gt;
rundll32 printui.dll,PrintUIEntry /in /n  \\SERVEUR\NOM_DE_IMP /y&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Interface web de cups en français ===&lt;br /&gt;
source http://www.cups.org/str.php?L3840&lt;br /&gt;
&lt;br /&gt;
 cd /usr/share/cups&lt;br /&gt;
&lt;br /&gt;
Télécharger la traduction en fonction de la version de Cups ( 1.4 sous Debian Squeeze) :&lt;br /&gt;
 wget http://www.cups.org/strfiles/3840/fr.tar.gz : cups 1.4&lt;br /&gt;
 wget http://www.cups.org/strfiles/3840/fr-1.5.0.tar.bz2 : cups 1.5&lt;br /&gt;
&lt;br /&gt;
 tar xvzf fr.tar.gz&lt;br /&gt;
&lt;br /&gt;
Il semblerait qu'il y ai un souci avec la page de recherche d'imprimante traduite en francais (cups 1.4). Pour contourner le problème remettre la page en anglais en faisant ceci :&lt;br /&gt;
 cp /usr/share/cups/templates/choose-device.tmpl /usr/share/cups/templates/fr/&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
http://forum.ubuntu-fr.org/viewtopic.php?id=272919 : installation de cups et de samba sous ubuntu &amp;lt;br/&amp;gt;&lt;br /&gt;
https://wiki.samba.org/index.php/Samba_as_a_print_server : procedure de liaison de cups avec samba &amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.cups.org/documentation.php/doc-1.6/man-cupsaddsmb.html : manuel de cupsaddsmb &amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/CUPS-printing.html : manuel d'integration de cups avec samba (très complet mais complexe) &amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.virtualhelp.me/scripts/57-vb-script/351-adding-a-printer-using-scripts-windows : Ajouter automatiquement les imprimantes dans windows &amp;lt;br/&amp;gt;&lt;br /&gt;
http://blog.cybermonde.org/post/2010/06/01/Configurer-un-serveur-d-impression-pour-plusieurs-vlans : phpPrintAnalyser &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Serveur_d%27impression_(cups_%2B_samba)_sur_debian_6.0&amp;diff=5581</id>
		<title>Serveur d'impression (cups + samba) sur debian 6.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Serveur_d%27impression_(cups_%2B_samba)_sur_debian_6.0&amp;diff=5581"/>
				<updated>2013-02-19T10:55:33Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : /* configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Prérequis ==&lt;br /&gt;
Un serveur samba fonctionnel. Dans notre cas l'admin du domaine samba est l'utilisateur administrateur.&lt;br /&gt;
&lt;br /&gt;
== CUPS ==&lt;br /&gt;
Installer cups:&lt;br /&gt;
 aptitude install cups.&lt;br /&gt;
&lt;br /&gt;
Éditer le fichier /etc/cups/raw.convs et vérifier que cette ligne est décommenté :&lt;br /&gt;
 application/octet-stream	application/vnd.cups-raw	0	-&lt;br /&gt;
&lt;br /&gt;
Éditer le fichier /etc/cups/raw.types et verifier que cette ligne est décommenté :&lt;br /&gt;
 application/octet-stream&lt;br /&gt;
&lt;br /&gt;
== SAMBA ==&lt;br /&gt;
Ajouter l'utilisateur administrateur au groupe lpadmin :&lt;br /&gt;
 adduser administrateur lpadmin&lt;br /&gt;
&lt;br /&gt;
Ajouter ceci dans /etc/samba/smb.conf :&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
[global]&lt;br /&gt;
 load printers = Yes&lt;br /&gt;
 printing = cups&lt;br /&gt;
 printcap name = cups&lt;br /&gt;
 #même nom d'imprimantes entre cups et samba&lt;br /&gt;
 force printername = yes&lt;br /&gt;
&lt;br /&gt;
[printers]&lt;br /&gt;
  comment = Imprimantes&lt;br /&gt;
  path = /var/spool/samba&lt;br /&gt;
  browseable = yes&lt;br /&gt;
  public = yes&lt;br /&gt;
  guest ok = yes&lt;br /&gt;
  writable = no&lt;br /&gt;
  printable = yes&lt;br /&gt;
  use client driver = no&lt;br /&gt;
&lt;br /&gt;
[print$]&lt;br /&gt;
  comment = drivers pour imprimantes&lt;br /&gt;
  path = /var/lib/samba/drivers&lt;br /&gt;
  browseable = yes&lt;br /&gt;
  guest ok = yes&lt;br /&gt;
  read only = yes&lt;br /&gt;
  write list = administrateur, root&lt;br /&gt;
  inherit permissions = yes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis donner les droits d'accès au répertoire :&lt;br /&gt;
 chmod 1777 /var/spool/samba&lt;br /&gt;
(Le « 1 » de 1777 empêche que les fichiers soient effacés par d'autres utilisateurs que le propriétaire du fichier)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Push automatique des drivers Windows ==&lt;br /&gt;
&lt;br /&gt;
Créer l'arborescence de stockage des drivers windows pour samba dans /var/lib/samba/drivers :&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 COLOR&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 IA64&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 W32ALPHA&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 27 déc.  10:40 W32MIPS&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 W32PPC&lt;br /&gt;
 drwxrwsrwx 3 root root 4096 27 déc.  17:32 W32X86&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 WIN40&lt;br /&gt;
 drwxrwsrwx 3 root root 4096 27 déc.  17:32 x64&lt;br /&gt;
&lt;br /&gt;
On peut la créer facilement grâce à ce script :&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
BASEDIR=/var/lib/samba/drivers;&lt;br /&gt;
if [ -e $BASEDIR ]&lt;br /&gt;
	then&lt;br /&gt;
		mkdir $BASEDIR&lt;br /&gt;
fi&lt;br /&gt;
for X in COLOR IA64 W32ALPHA W32MIPS W32PPC W32X86 WIN40 x64; do &lt;br /&gt;
  mkdir -p $BASEDIR/$X;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Créer maintenant le répertoire qui accueillera les drivers Windows dans Cups :&lt;br /&gt;
 mkdir -p /usr/share/cups/drivers/x64&lt;br /&gt;
&lt;br /&gt;
* Ajout du driver PostScript Windows 32bit &lt;br /&gt;
Pour le 32bit récupérer ces fichiers sur un système windows 32bit dans %WINDIR%\SYSTEM32\SPOOL\DRIVERS\W32X86\3 et les mettre dans /usr/share/cups/drivers/ : &amp;lt;br/&amp;gt;&lt;br /&gt;
Pour le 64bit récupérer ces fichiers sur un système windows 64bit dans %WINDIR%\SYSTEM32\SPOOL\DRIVERS\X64\3 et les mettre dans /usr/share/cups/drivers/x64 :&lt;br /&gt;
    ps5ui.dll&lt;br /&gt;
    pscript.hlp&lt;br /&gt;
    pscript.ntf&lt;br /&gt;
    pscript5.dll&lt;br /&gt;
'''!!!ATTENTION!!! Ces fichiers sont en MAJUSCULE sur Windows. Il est nécessaire de les mettre en minuscule sinon cupsaddsmb ne les exportera pas.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Ajout du driver postscript Cups V6 pour Windows&lt;br /&gt;
Afin d'avoir plus de fonctionnalités (comptage des pages, labels, la mise en attente...), il est possible d'ajouter en complément le driver PostScript de Cups.&lt;br /&gt;
&lt;br /&gt;
Pour le 32bit récupérer ces fichiers sur http://svn.easysw.com/public/windows/trunk/i386/ et les mettre dans /usr/share/cups/drivers/ : &amp;lt;br/&amp;gt;&lt;br /&gt;
Pour le 64bit récupérer ces fichiers sur http://svn.easysw.com/public/windows/trunk/x64/ et les mettre dans /usr/share/cups/drivers/x64 :&lt;br /&gt;
    cups6.inf&lt;br /&gt;
    cups6.ini&lt;br /&gt;
    cupsps6.dll&lt;br /&gt;
    cupsui6.dll&lt;br /&gt;
&lt;br /&gt;
L'installation des imprimantes peut maintenant se faire sur l'interface web de Cups. Lors de la sélection du fichier PDD, il est recommandé de mettre un fichier PPD officiel afin d'avoir toutes les fonctionnalités de l'imprimante (Le comptage des pages par exemple). Ce fichier PPD peut être trouvé dans l'archive contenant les drivers PostScript pour Windows.(Fonctionne sur une Toshiba e-Studio222cs)&lt;br /&gt;
 &lt;br /&gt;
Il faut maintenant exporter les imprimantes et les drivers sous samba : &lt;br /&gt;
 service samba restart&lt;br /&gt;
 service cups restart&lt;br /&gt;
 cupsaddsmb -H localhost -U administrateur -v -a&lt;br /&gt;
&lt;br /&gt;
Pour vérifier la bonne installation des drivers :&lt;br /&gt;
&lt;br /&gt;
 rpcclient localhost&lt;br /&gt;
      &amp;gt; enumprinters&lt;br /&gt;
      &amp;gt; enumdrivers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Statistiques d'impressions ==&lt;br /&gt;
&lt;br /&gt;
http://phpprintanalyze.sourceforge.net/ : stat web cups&lt;br /&gt;
Phpprintanalyse est une interface web pour cups permettant d'analyser le fichier page_log et de faire des graphiques.&lt;br /&gt;
&lt;br /&gt;
Le serveur de statistiques se trouvant sur une autre machine , ajouter cette section dans /etc/cups/cupsd.conf afin que la page $IP_CUPS:631/admin/log/page_log soit accessible sans mot de passe : &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Location /admin/log&amp;gt;&lt;br /&gt;
 Order allow,deny&lt;br /&gt;
 Allow from 192.168.0.5&lt;br /&gt;
 &amp;lt;/Location&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 cd /var/www/&lt;br /&gt;
&lt;br /&gt;
=== Installation de phpPrintAnalyser ===&lt;br /&gt;
 wget http://sourceforge.net/projects/phpprintanalyze/files/phpPrintAnalyzer/1.2/phpPrintAnalyzer-1.2.tar.gz&lt;br /&gt;
 tar xvzf phpPrintAnalyzer-1.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
=== Installation de jpGraph ===&lt;br /&gt;
 aptitude install php5-gd&lt;br /&gt;
 wget --content-disposition http://jpgraph.net/download/download.php?p=1&lt;br /&gt;
 tar xvzf jpgraph-3.0.7.tar.gz&lt;br /&gt;
 mv jpgraph-3.0.7 jpgraph &lt;br /&gt;
&lt;br /&gt;
 chown -R www-data:www-data jpgraph phpPrintAnalyzer&lt;br /&gt;
&lt;br /&gt;
=== configuration ===&lt;br /&gt;
 cd /var/www/phpPrintAnalyzer/inc/&lt;br /&gt;
 cp config.inc.php.sample config.inc.php&lt;br /&gt;
 vim config.inc.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Problème de colonnes ====&lt;br /&gt;
Problème de décalage des colonnes entre les logs et le script php&lt;br /&gt;
===== Solution 1 =====&lt;br /&gt;
Ajouter cette ligne à la fin du fichier /etc/cups/cupsd.conf :&lt;br /&gt;
&lt;br /&gt;
 PageLogFormat %p %u %j %T %P %C %{job-billing} %{job-originating-host-name} %{job-name} %{media} %{sides}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Solution 2 =====&lt;br /&gt;
Modification a faire dans index.php :&lt;br /&gt;
* Utilisateurs : &amp;lt;br/&amp;gt;&lt;br /&gt;
remplacer $tabLigneTmp[1] par $tabLigneTmp[2]&lt;br /&gt;
 :%s/$tabLigneTmp\[1\]/$tabLigneTmp\[2\]/g&lt;br /&gt;
&lt;br /&gt;
sauf la première ligne :&lt;br /&gt;
 $tabLigneTmp[1] = strtolower($tabLigneTmp[1]);&lt;br /&gt;
&lt;br /&gt;
* Nombre de pages : &amp;lt;br/&amp;gt;&lt;br /&gt;
Remplacer $tabLigneTmp[6] par $tabLigneTmp[5]&lt;br /&gt;
 :%s/$tabLigneTmp\[6\]/$tabLigneTmp\[5\]/g&lt;br /&gt;
&lt;br /&gt;
== TIPS ==&lt;br /&gt;
===Installer automatiquement une imprimante sous windows ===&lt;br /&gt;
&amp;lt;source lang=winbatch&amp;gt;&lt;br /&gt;
rundll32 printui.dll,PrintUIEntry /in /n \\SERVEUR\NOM_DE_IMP&lt;br /&gt;
rundll32 printui.dll,PrintUIEntry /in /n  \\SERVEUR\NOM_DE_IMP /y&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Interface web de cups en français ===&lt;br /&gt;
source http://www.cups.org/str.php?L3840&lt;br /&gt;
&lt;br /&gt;
 cd /usr/share/cups&lt;br /&gt;
&lt;br /&gt;
Télécharger la traduction en fonction de la version de Cups ( 1.4 sous Debian Squeeze) :&lt;br /&gt;
 wget http://www.cups.org/strfiles/3840/fr.tar.gz : cups 1.4&lt;br /&gt;
 wget http://www.cups.org/strfiles/3840/fr-1.5.0.tar.bz2 : cups 1.5&lt;br /&gt;
&lt;br /&gt;
 tar xvzf fr.tar.gz&lt;br /&gt;
&lt;br /&gt;
Il semblerait qu'il y ai un souci avec la page de recherche d'imprimante traduite en francais (cups 1.4). Pour contourner le problème remettre la page en anglais en faisant ceci :&lt;br /&gt;
 cp /usr/share/cups/templates/choose-device.tmpl /usr/share/cups/templates/fr/&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
http://forum.ubuntu-fr.org/viewtopic.php?id=272919 : installation de cups et de samba sous ubuntu &amp;lt;br/&amp;gt;&lt;br /&gt;
https://wiki.samba.org/index.php/Samba_as_a_print_server : procedure de liaison de cups avec samba &amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.cups.org/documentation.php/doc-1.6/man-cupsaddsmb.html : manuel de cupsaddsmb &amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/CUPS-printing.html : manuel d'integration de cups avec samba (très complet mais complexe) &amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.virtualhelp.me/scripts/57-vb-script/351-adding-a-printer-using-scripts-windows : Ajouter automatiquement les imprimantes dans windows &amp;lt;br/&amp;gt;&lt;br /&gt;
http://blog.cybermonde.org/post/2010/06/01/Configurer-un-serveur-d-impression-pour-plusieurs-vlans : phpPrintAnalyser &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Serveur_d%27impression_(cups_%2B_samba)_sur_debian_6.0&amp;diff=5574</id>
		<title>Serveur d'impression (cups + samba) sur debian 6.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Serveur_d%27impression_(cups_%2B_samba)_sur_debian_6.0&amp;diff=5574"/>
				<updated>2013-02-13T18:38:57Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Prérequis ==&lt;br /&gt;
Un serveur samba fonctionnel. Dans notre cas l'admin du domaine samba est l'utilisateur administrateur.&lt;br /&gt;
&lt;br /&gt;
== CUPS ==&lt;br /&gt;
Installer cups:&lt;br /&gt;
 aptitude install cups.&lt;br /&gt;
&lt;br /&gt;
Éditer le fichier /etc/cups/raw.convs et vérifier que cette ligne est décommenté :&lt;br /&gt;
 application/octet-stream	application/vnd.cups-raw	0	-&lt;br /&gt;
&lt;br /&gt;
Éditer le fichier /etc/cups/raw.types et verifier que cette ligne est décommenté :&lt;br /&gt;
 application/octet-stream&lt;br /&gt;
&lt;br /&gt;
== SAMBA ==&lt;br /&gt;
Ajouter l'utilisateur administrateur au groupe lpadmin :&lt;br /&gt;
 adduser administrateur lpadmin&lt;br /&gt;
&lt;br /&gt;
Ajouter ceci dans /etc/samba/smb.conf :&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
[global]&lt;br /&gt;
 load printers = Yes&lt;br /&gt;
 printing = cups&lt;br /&gt;
 printcap name = cups&lt;br /&gt;
 #même nom d'imprimantes entre cups et samba&lt;br /&gt;
 force printername = yes&lt;br /&gt;
&lt;br /&gt;
[printers]&lt;br /&gt;
  comment = Imprimantes&lt;br /&gt;
  path = /var/spool/samba&lt;br /&gt;
  browseable = yes&lt;br /&gt;
  public = yes&lt;br /&gt;
  guest ok = yes&lt;br /&gt;
  writable = no&lt;br /&gt;
  printable = yes&lt;br /&gt;
  use client driver = no&lt;br /&gt;
&lt;br /&gt;
[print$]&lt;br /&gt;
  comment = drivers pour imprimantes&lt;br /&gt;
  path = /var/lib/samba/drivers&lt;br /&gt;
  browseable = yes&lt;br /&gt;
  guest ok = yes&lt;br /&gt;
  read only = yes&lt;br /&gt;
  write list = administrateur, root&lt;br /&gt;
  inherit permissions = yes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis donner les droits d'accès au répertoire :&lt;br /&gt;
 chmod 1777 /var/spool/samba&lt;br /&gt;
(Le « 1 » de 1777 empêche que les fichiers soient effacés par d'autres utilisateurs que le propriétaire du fichier)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Push automatique des drivers Windows ==&lt;br /&gt;
&lt;br /&gt;
Créer l'arborescence de stockage des drivers windows pour samba dans /var/lib/samba/drivers :&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 COLOR&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 IA64&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 W32ALPHA&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 27 déc.  10:40 W32MIPS&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 W32PPC&lt;br /&gt;
 drwxrwsrwx 3 root root 4096 27 déc.  17:32 W32X86&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 WIN40&lt;br /&gt;
 drwxrwsrwx 3 root root 4096 27 déc.  17:32 x64&lt;br /&gt;
&lt;br /&gt;
On peut la créer facilement grâce à ce script :&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
BASEDIR=/var/lib/samba/drivers;&lt;br /&gt;
if [ -e $BASEDIR ]&lt;br /&gt;
	then&lt;br /&gt;
		mkdir $BASEDIR&lt;br /&gt;
fi&lt;br /&gt;
for X in COLOR IA64 W32ALPHA W32MIPS W32PPC W32X86 WIN40 x64; do &lt;br /&gt;
  mkdir -p $BASEDIR/$X;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Créer maintenant le répertoire qui accueillera les drivers Windows dans Cups :&lt;br /&gt;
 mkdir -p /usr/share/cups/drivers/x64&lt;br /&gt;
&lt;br /&gt;
* Ajout du driver PostScript Windows 32bit &lt;br /&gt;
Pour le 32bit récupérer ces fichiers sur un système windows 32bit dans %WINDIR%\SYSTEM32\SPOOL\DRIVERS\W32X86\3 et les mettre dans /usr/share/cups/drivers/ : &amp;lt;br/&amp;gt;&lt;br /&gt;
Pour le 64bit récupérer ces fichiers sur un système windows 64bit dans %WINDIR%\SYSTEM32\SPOOL\DRIVERS\X64\3 et les mettre dans /usr/share/cups/drivers/x64 :&lt;br /&gt;
    ps5ui.dll&lt;br /&gt;
    pscript.hlp&lt;br /&gt;
    pscript.ntf&lt;br /&gt;
    pscript5.dll&lt;br /&gt;
'''!!!ATTENTION!!! Ces fichiers sont en MAJUSCULE sur Windows. Il est nécessaire de les mettre en minuscule sinon cupsaddsmb ne les exportera pas.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Ajout du driver postscript Cups V6 pour Windows&lt;br /&gt;
Afin d'avoir plus de fonctionnalités (comptage des pages, labels, la mise en attente...), il est possible d'ajouter en complément le driver PostScript de Cups.&lt;br /&gt;
&lt;br /&gt;
Pour le 32bit récupérer ces fichiers sur http://svn.easysw.com/public/windows/trunk/i386/ et les mettre dans /usr/share/cups/drivers/ : &amp;lt;br/&amp;gt;&lt;br /&gt;
Pour le 64bit récupérer ces fichiers sur http://svn.easysw.com/public/windows/trunk/x64/ et les mettre dans /usr/share/cups/drivers/x64 :&lt;br /&gt;
    cups6.inf&lt;br /&gt;
    cups6.ini&lt;br /&gt;
    cupsps6.dll&lt;br /&gt;
    cupsui6.dll&lt;br /&gt;
&lt;br /&gt;
L'installation des imprimantes peut maintenant se faire sur l'interface web de Cups. Lors de la sélection du fichier PDD, il est recommandé de mettre un fichier PPD officiel afin d'avoir toutes les fonctionnalités de l'imprimante (Le comptage des pages par exemple). Ce fichier PPD peut être trouvé dans l'archive contenant les drivers PostScript pour Windows.(Fonctionne sur une Toshiba e-Studio222cs)&lt;br /&gt;
 &lt;br /&gt;
Il faut maintenant exporter les imprimantes et les drivers sous samba : &lt;br /&gt;
 service samba restart&lt;br /&gt;
 service cups restart&lt;br /&gt;
 cupsaddsmb -H localhost -U administrateur -v -a&lt;br /&gt;
&lt;br /&gt;
Pour vérifier la bonne installation des drivers :&lt;br /&gt;
&lt;br /&gt;
 rpcclient localhost&lt;br /&gt;
      &amp;gt; enumprinters&lt;br /&gt;
      &amp;gt; enumdrivers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Statistiques d'impressions ==&lt;br /&gt;
&lt;br /&gt;
http://phpprintanalyze.sourceforge.net/ : stat web cups&lt;br /&gt;
Phpprintanalyse est une interface web pour cups permettant d'analyser le fichier page_log et de faire des graphiques.&lt;br /&gt;
&lt;br /&gt;
Le serveur de statistiques se trouvant sur une autre machine , ajouter cette section dans /etc/cups/cupsd.conf afin que la page $IP_CUPS:631/admin/log/page_log soit accessible sans mot de passe : &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Location /admin/log&amp;gt;&lt;br /&gt;
 Order allow,deny&lt;br /&gt;
 Allow from 192.168.0.5&lt;br /&gt;
 &amp;lt;/Location&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 cd /var/www/&lt;br /&gt;
&lt;br /&gt;
=== Installation de phpPrintAnalyser ===&lt;br /&gt;
 wget http://sourceforge.net/projects/phpprintanalyze/files/phpPrintAnalyzer/1.2/phpPrintAnalyzer-1.2.tar.gz&lt;br /&gt;
 tar xvzf phpPrintAnalyzer-1.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
=== Installation de jpGraph ===&lt;br /&gt;
 aptitude install php5-gd&lt;br /&gt;
 wget --content-disposition http://jpgraph.net/download/download.php?p=1&lt;br /&gt;
 tar xvzf jpgraph-3.0.7.tar.gz&lt;br /&gt;
 mv jpgraph-3.0.7 jpgraph &lt;br /&gt;
&lt;br /&gt;
 chown -R www-data:www-data jpgraph phpPrintAnalyzer&lt;br /&gt;
&lt;br /&gt;
=== configuration ===&lt;br /&gt;
 cd /var/www/phpPrintAnalyzer/inc/&lt;br /&gt;
 cp config.inc.php.sample config.inc.php&lt;br /&gt;
 vim config.inc.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Modification a faire dans index.php a cause d'un problème de décalage des colonnes entre les logs et le script php&lt;br /&gt;
* Utilisateurs :&lt;br /&gt;
remplacer $tabLigneTmp[1] par $tabLigneTmp[2]&lt;br /&gt;
 :%s/$tabLigneTmp\[1\]/$tabLigneTmp\[2\]/g&lt;br /&gt;
 &lt;br /&gt;
sauf la première ligne :&lt;br /&gt;
 $tabLigneTmp[1] = strtolower($tabLigneTmp[1]);&lt;br /&gt;
&lt;br /&gt;
* Nombre de pages :&lt;br /&gt;
 :%s/$tabLigneTmp\[6\]/$tabLigneTmp\[5\]/g&lt;br /&gt;
&lt;br /&gt;
== TIPS ==&lt;br /&gt;
===Installer automatiquement une imprimante sous windows ===&lt;br /&gt;
&amp;lt;source lang=winbatch&amp;gt;&lt;br /&gt;
rundll32 printui.dll,PrintUIEntry /in /n \\SERVEUR\NOM_DE_IMP&lt;br /&gt;
rundll32 printui.dll,PrintUIEntry /in /n  \\SERVEUR\NOM_DE_IMP /y&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Interface web de cups en français ===&lt;br /&gt;
source http://www.cups.org/str.php?L3840&lt;br /&gt;
&lt;br /&gt;
 cd /usr/share/cups&lt;br /&gt;
&lt;br /&gt;
Télécharger la traduction en fonction de la version de Cups ( 1.4 sous Debian Squeeze) :&lt;br /&gt;
 wget http://www.cups.org/strfiles/3840/fr.tar.gz : cups 1.4&lt;br /&gt;
 wget http://www.cups.org/strfiles/3840/fr-1.5.0.tar.bz2 : cups 1.5&lt;br /&gt;
&lt;br /&gt;
 tar xvzf fr.tar.gz&lt;br /&gt;
&lt;br /&gt;
Il semblerait qu'il y ai un souci avec la page de recherche d'imprimante traduite en francais (cups 1.4). Pour contourner le problème remettre la page en anglais en faisant ceci :&lt;br /&gt;
 cp /usr/share/cups/templates/choose-device.tmpl /usr/share/cups/templates/fr/&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
http://forum.ubuntu-fr.org/viewtopic.php?id=272919 : installation de cups et de samba sous ubuntu &amp;lt;br/&amp;gt;&lt;br /&gt;
https://wiki.samba.org/index.php/Samba_as_a_print_server : procedure de liaison de cups avec samba &amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.cups.org/documentation.php/doc-1.6/man-cupsaddsmb.html : manuel de cupsaddsmb &amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/CUPS-printing.html : manuel d'integration de cups avec samba (très complet mais complexe) &amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.virtualhelp.me/scripts/57-vb-script/351-adding-a-printer-using-scripts-windows : Ajouter automatiquement les imprimantes dans windows &amp;lt;br/&amp;gt;&lt;br /&gt;
http://blog.cybermonde.org/post/2010/06/01/Configurer-un-serveur-d-impression-pour-plusieurs-vlans : phpPrintAnalyser &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Serveur_d%27impression_(cups_%2B_samba)_sur_debian_6.0&amp;diff=5573</id>
		<title>Serveur d'impression (cups + samba) sur debian 6.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Serveur_d%27impression_(cups_%2B_samba)_sur_debian_6.0&amp;diff=5573"/>
				<updated>2013-02-13T18:38:46Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Prérequis ==&lt;br /&gt;
- un serveur samba fonctionnel. Dans notre cas l'admin du domaine samba est l'utilisateur administrateur.&lt;br /&gt;
&lt;br /&gt;
== CUPS ==&lt;br /&gt;
Installer cups:&lt;br /&gt;
 aptitude install cups.&lt;br /&gt;
&lt;br /&gt;
Éditer le fichier /etc/cups/raw.convs et vérifier que cette ligne est décommenté :&lt;br /&gt;
 application/octet-stream	application/vnd.cups-raw	0	-&lt;br /&gt;
&lt;br /&gt;
Éditer le fichier /etc/cups/raw.types et verifier que cette ligne est décommenté :&lt;br /&gt;
 application/octet-stream&lt;br /&gt;
&lt;br /&gt;
== SAMBA ==&lt;br /&gt;
Ajouter l'utilisateur administrateur au groupe lpadmin :&lt;br /&gt;
 adduser administrateur lpadmin&lt;br /&gt;
&lt;br /&gt;
Ajouter ceci dans /etc/samba/smb.conf :&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
[global]&lt;br /&gt;
 load printers = Yes&lt;br /&gt;
 printing = cups&lt;br /&gt;
 printcap name = cups&lt;br /&gt;
 #même nom d'imprimantes entre cups et samba&lt;br /&gt;
 force printername = yes&lt;br /&gt;
&lt;br /&gt;
[printers]&lt;br /&gt;
  comment = Imprimantes&lt;br /&gt;
  path = /var/spool/samba&lt;br /&gt;
  browseable = yes&lt;br /&gt;
  public = yes&lt;br /&gt;
  guest ok = yes&lt;br /&gt;
  writable = no&lt;br /&gt;
  printable = yes&lt;br /&gt;
  use client driver = no&lt;br /&gt;
&lt;br /&gt;
[print$]&lt;br /&gt;
  comment = drivers pour imprimantes&lt;br /&gt;
  path = /var/lib/samba/drivers&lt;br /&gt;
  browseable = yes&lt;br /&gt;
  guest ok = yes&lt;br /&gt;
  read only = yes&lt;br /&gt;
  write list = administrateur, root&lt;br /&gt;
  inherit permissions = yes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis donner les droits d'accès au répertoire :&lt;br /&gt;
 chmod 1777 /var/spool/samba&lt;br /&gt;
(Le « 1 » de 1777 empêche que les fichiers soient effacés par d'autres utilisateurs que le propriétaire du fichier)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Push automatique des drivers Windows ==&lt;br /&gt;
&lt;br /&gt;
Créer l'arborescence de stockage des drivers windows pour samba dans /var/lib/samba/drivers :&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 COLOR&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 IA64&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 W32ALPHA&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 27 déc.  10:40 W32MIPS&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 W32PPC&lt;br /&gt;
 drwxrwsrwx 3 root root 4096 27 déc.  17:32 W32X86&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 WIN40&lt;br /&gt;
 drwxrwsrwx 3 root root 4096 27 déc.  17:32 x64&lt;br /&gt;
&lt;br /&gt;
On peut la créer facilement grâce à ce script :&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
BASEDIR=/var/lib/samba/drivers;&lt;br /&gt;
if [ -e $BASEDIR ]&lt;br /&gt;
	then&lt;br /&gt;
		mkdir $BASEDIR&lt;br /&gt;
fi&lt;br /&gt;
for X in COLOR IA64 W32ALPHA W32MIPS W32PPC W32X86 WIN40 x64; do &lt;br /&gt;
  mkdir -p $BASEDIR/$X;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Créer maintenant le répertoire qui accueillera les drivers Windows dans Cups :&lt;br /&gt;
 mkdir -p /usr/share/cups/drivers/x64&lt;br /&gt;
&lt;br /&gt;
* Ajout du driver PostScript Windows 32bit &lt;br /&gt;
Pour le 32bit récupérer ces fichiers sur un système windows 32bit dans %WINDIR%\SYSTEM32\SPOOL\DRIVERS\W32X86\3 et les mettre dans /usr/share/cups/drivers/ : &amp;lt;br/&amp;gt;&lt;br /&gt;
Pour le 64bit récupérer ces fichiers sur un système windows 64bit dans %WINDIR%\SYSTEM32\SPOOL\DRIVERS\X64\3 et les mettre dans /usr/share/cups/drivers/x64 :&lt;br /&gt;
    ps5ui.dll&lt;br /&gt;
    pscript.hlp&lt;br /&gt;
    pscript.ntf&lt;br /&gt;
    pscript5.dll&lt;br /&gt;
'''!!!ATTENTION!!! Ces fichiers sont en MAJUSCULE sur Windows. Il est nécessaire de les mettre en minuscule sinon cupsaddsmb ne les exportera pas.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Ajout du driver postscript Cups V6 pour Windows&lt;br /&gt;
Afin d'avoir plus de fonctionnalités (comptage des pages, labels, la mise en attente...), il est possible d'ajouter en complément le driver PostScript de Cups.&lt;br /&gt;
&lt;br /&gt;
Pour le 32bit récupérer ces fichiers sur http://svn.easysw.com/public/windows/trunk/i386/ et les mettre dans /usr/share/cups/drivers/ : &amp;lt;br/&amp;gt;&lt;br /&gt;
Pour le 64bit récupérer ces fichiers sur http://svn.easysw.com/public/windows/trunk/x64/ et les mettre dans /usr/share/cups/drivers/x64 :&lt;br /&gt;
    cups6.inf&lt;br /&gt;
    cups6.ini&lt;br /&gt;
    cupsps6.dll&lt;br /&gt;
    cupsui6.dll&lt;br /&gt;
&lt;br /&gt;
L'installation des imprimantes peut maintenant se faire sur l'interface web de Cups. Lors de la sélection du fichier PDD, il est recommandé de mettre un fichier PPD officiel afin d'avoir toutes les fonctionnalités de l'imprimante (Le comptage des pages par exemple). Ce fichier PPD peut être trouvé dans l'archive contenant les drivers PostScript pour Windows.(Fonctionne sur une Toshiba e-Studio222cs)&lt;br /&gt;
 &lt;br /&gt;
Il faut maintenant exporter les imprimantes et les drivers sous samba : &lt;br /&gt;
 service samba restart&lt;br /&gt;
 service cups restart&lt;br /&gt;
 cupsaddsmb -H localhost -U administrateur -v -a&lt;br /&gt;
&lt;br /&gt;
Pour vérifier la bonne installation des drivers :&lt;br /&gt;
&lt;br /&gt;
 rpcclient localhost&lt;br /&gt;
      &amp;gt; enumprinters&lt;br /&gt;
      &amp;gt; enumdrivers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Statistiques d'impressions ==&lt;br /&gt;
&lt;br /&gt;
http://phpprintanalyze.sourceforge.net/ : stat web cups&lt;br /&gt;
Phpprintanalyse est une interface web pour cups permettant d'analyser le fichier page_log et de faire des graphiques.&lt;br /&gt;
&lt;br /&gt;
Le serveur de statistiques se trouvant sur une autre machine , ajouter cette section dans /etc/cups/cupsd.conf afin que la page $IP_CUPS:631/admin/log/page_log soit accessible sans mot de passe : &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Location /admin/log&amp;gt;&lt;br /&gt;
 Order allow,deny&lt;br /&gt;
 Allow from 192.168.0.5&lt;br /&gt;
 &amp;lt;/Location&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 cd /var/www/&lt;br /&gt;
&lt;br /&gt;
=== Installation de phpPrintAnalyser ===&lt;br /&gt;
 wget http://sourceforge.net/projects/phpprintanalyze/files/phpPrintAnalyzer/1.2/phpPrintAnalyzer-1.2.tar.gz&lt;br /&gt;
 tar xvzf phpPrintAnalyzer-1.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
=== Installation de jpGraph ===&lt;br /&gt;
 aptitude install php5-gd&lt;br /&gt;
 wget --content-disposition http://jpgraph.net/download/download.php?p=1&lt;br /&gt;
 tar xvzf jpgraph-3.0.7.tar.gz&lt;br /&gt;
 mv jpgraph-3.0.7 jpgraph &lt;br /&gt;
&lt;br /&gt;
 chown -R www-data:www-data jpgraph phpPrintAnalyzer&lt;br /&gt;
&lt;br /&gt;
=== configuration ===&lt;br /&gt;
 cd /var/www/phpPrintAnalyzer/inc/&lt;br /&gt;
 cp config.inc.php.sample config.inc.php&lt;br /&gt;
 vim config.inc.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Modification a faire dans index.php a cause d'un problème de décalage des colonnes entre les logs et le script php&lt;br /&gt;
* Utilisateurs :&lt;br /&gt;
remplacer $tabLigneTmp[1] par $tabLigneTmp[2]&lt;br /&gt;
 :%s/$tabLigneTmp\[1\]/$tabLigneTmp\[2\]/g&lt;br /&gt;
 &lt;br /&gt;
sauf la première ligne :&lt;br /&gt;
 $tabLigneTmp[1] = strtolower($tabLigneTmp[1]);&lt;br /&gt;
&lt;br /&gt;
* Nombre de pages :&lt;br /&gt;
 :%s/$tabLigneTmp\[6\]/$tabLigneTmp\[5\]/g&lt;br /&gt;
&lt;br /&gt;
== TIPS ==&lt;br /&gt;
===Installer automatiquement une imprimante sous windows ===&lt;br /&gt;
&amp;lt;source lang=winbatch&amp;gt;&lt;br /&gt;
rundll32 printui.dll,PrintUIEntry /in /n \\SERVEUR\NOM_DE_IMP&lt;br /&gt;
rundll32 printui.dll,PrintUIEntry /in /n  \\SERVEUR\NOM_DE_IMP /y&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Interface web de cups en français ===&lt;br /&gt;
source http://www.cups.org/str.php?L3840&lt;br /&gt;
&lt;br /&gt;
 cd /usr/share/cups&lt;br /&gt;
&lt;br /&gt;
Télécharger la traduction en fonction de la version de Cups ( 1.4 sous Debian Squeeze) :&lt;br /&gt;
 wget http://www.cups.org/strfiles/3840/fr.tar.gz : cups 1.4&lt;br /&gt;
 wget http://www.cups.org/strfiles/3840/fr-1.5.0.tar.bz2 : cups 1.5&lt;br /&gt;
&lt;br /&gt;
 tar xvzf fr.tar.gz&lt;br /&gt;
&lt;br /&gt;
Il semblerait qu'il y ai un souci avec la page de recherche d'imprimante traduite en francais (cups 1.4). Pour contourner le problème remettre la page en anglais en faisant ceci :&lt;br /&gt;
 cp /usr/share/cups/templates/choose-device.tmpl /usr/share/cups/templates/fr/&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
http://forum.ubuntu-fr.org/viewtopic.php?id=272919 : installation de cups et de samba sous ubuntu &amp;lt;br/&amp;gt;&lt;br /&gt;
https://wiki.samba.org/index.php/Samba_as_a_print_server : procedure de liaison de cups avec samba &amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.cups.org/documentation.php/doc-1.6/man-cupsaddsmb.html : manuel de cupsaddsmb &amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/CUPS-printing.html : manuel d'integration de cups avec samba (très complet mais complexe) &amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.virtualhelp.me/scripts/57-vb-script/351-adding-a-printer-using-scripts-windows : Ajouter automatiquement les imprimantes dans windows &amp;lt;br/&amp;gt;&lt;br /&gt;
http://blog.cybermonde.org/post/2010/06/01/Configurer-un-serveur-d-impression-pour-plusieurs-vlans : phpPrintAnalyser &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Serveur_d%27impression_(cups_%2B_samba)_sur_debian_6.0&amp;diff=5572</id>
		<title>Serveur d'impression (cups + samba) sur debian 6.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Serveur_d%27impression_(cups_%2B_samba)_sur_debian_6.0&amp;diff=5572"/>
				<updated>2013-02-13T17:33:11Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; == Prérequis ==&lt;br /&gt;
- un serveur samba fonctionnel. Dans notre cas l'admin du domaine samba est l'utilisateur administrateur.&lt;br /&gt;
&lt;br /&gt;
== CUPS ==&lt;br /&gt;
Installer cups:&lt;br /&gt;
 aptitude install cups.&lt;br /&gt;
&lt;br /&gt;
Éditer le fichier /etc/cups/raw.convs et vérifier que cette ligne est décommenté :&lt;br /&gt;
 application/octet-stream	application/vnd.cups-raw	0	-&lt;br /&gt;
&lt;br /&gt;
Éditer le fichier /etc/cups/raw.types et verifier que cette ligne est décommenté :&lt;br /&gt;
 application/octet-stream&lt;br /&gt;
&lt;br /&gt;
== SAMBA ==&lt;br /&gt;
Ajouter l'utilisateur administrateur au groupe lpadmin :&lt;br /&gt;
 adduser administrateur lpadmin&lt;br /&gt;
&lt;br /&gt;
Ajouter ceci dans /etc/samba/smb.conf :&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
[global]&lt;br /&gt;
 load printers = Yes&lt;br /&gt;
 printing = cups&lt;br /&gt;
 printcap name = cups&lt;br /&gt;
 #même nom d'imprimantes entre cups et samba&lt;br /&gt;
 force printername = yes&lt;br /&gt;
&lt;br /&gt;
[printers]&lt;br /&gt;
  comment = Imprimantes&lt;br /&gt;
  path = /var/spool/samba&lt;br /&gt;
  browseable = yes&lt;br /&gt;
  public = yes&lt;br /&gt;
  guest ok = yes&lt;br /&gt;
  writable = no&lt;br /&gt;
  printable = yes&lt;br /&gt;
  use client driver = no&lt;br /&gt;
&lt;br /&gt;
[print$]&lt;br /&gt;
  comment = drivers pour imprimantes&lt;br /&gt;
  path = /var/lib/samba/drivers&lt;br /&gt;
  browseable = yes&lt;br /&gt;
  guest ok = yes&lt;br /&gt;
  read only = yes&lt;br /&gt;
  write list = administrateur, root&lt;br /&gt;
  inherit permissions = yes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis donner les droits d'accès au répertoire :&lt;br /&gt;
 chmod 1777 /var/spool/samba&lt;br /&gt;
(Le « 1 » de 1777 empêche que les fichiers soient effacés par d'autres utilisateurs que le propriétaire du fichier)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Push automatique des drivers Windows ==&lt;br /&gt;
&lt;br /&gt;
Créer l'arborescence de stockage des drivers windows pour samba dans /var/lib/samba/drivers :&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 COLOR&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 IA64&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 W32ALPHA&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 27 déc.  10:40 W32MIPS&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 W32PPC&lt;br /&gt;
 drwxrwsrwx 3 root root 4096 27 déc.  17:32 W32X86&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 WIN40&lt;br /&gt;
 drwxrwsrwx 3 root root 4096 27 déc.  17:32 x64&lt;br /&gt;
&lt;br /&gt;
On peut la créer facilement grâce à ce script :&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
BASEDIR=/var/lib/samba/drivers;&lt;br /&gt;
if [ -e $BASEDIR ]&lt;br /&gt;
	then&lt;br /&gt;
		mkdir $BASEDIR&lt;br /&gt;
fi&lt;br /&gt;
for X in COLOR IA64 W32ALPHA W32MIPS W32PPC W32X86 WIN40 x64; do &lt;br /&gt;
  mkdir -p $BASEDIR/$X;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Créer maintenant le répertoire qui accueillera les drivers Windows dans Cups :&lt;br /&gt;
 mkdir -p /usr/share/cups/drivers/x64&lt;br /&gt;
&lt;br /&gt;
* Ajout du driver PostScript Windows 32bit &lt;br /&gt;
Pour le 32bit récupérer ces fichiers sur un système windows 32bit dans %WINDIR%\SYSTEM32\SPOOL\DRIVERS\W32X86\3 et les mettre dans /usr/share/cups/drivers/ : &amp;lt;br/&amp;gt;&lt;br /&gt;
Pour le 64bit récupérer ces fichiers sur un système windows 64bit dans %WINDIR%\SYSTEM32\SPOOL\DRIVERS\X64\3 et les mettre dans /usr/share/cups/drivers/x64 :&lt;br /&gt;
    ps5ui.dll&lt;br /&gt;
    pscript.hlp&lt;br /&gt;
    pscript.ntf&lt;br /&gt;
    pscript5.dll&lt;br /&gt;
'''!!!ATTENTION!!! Ces fichiers sont en MAJUSCULE sur Windows. Il est nécessaire de les mettre en minuscule sinon cupsaddsmb ne les exportera pas.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Ajout du driver postscript Cups V6 pour Windows&lt;br /&gt;
Afin d'avoir plus de fonctionnalités (comptage des pages, labels, la mise en attente...), il est possible d'ajouter en complément le driver PostScript de Cups.&lt;br /&gt;
&lt;br /&gt;
Pour le 32bit récupérer ces fichiers sur http://svn.easysw.com/public/windows/trunk/i386/ et les mettre dans /usr/share/cups/drivers/ : &amp;lt;br/&amp;gt;&lt;br /&gt;
Pour le 64bit récupérer ces fichiers sur http://svn.easysw.com/public/windows/trunk/x64/ et les mettre dans /usr/share/cups/drivers/x64 :&lt;br /&gt;
    cups6.inf&lt;br /&gt;
    cups6.ini&lt;br /&gt;
    cupsps6.dll&lt;br /&gt;
    cupsui6.dll&lt;br /&gt;
&lt;br /&gt;
L'installation des imprimantes peut maintenant se faire sur l'interface web de Cups. Lors de la sélection du fichier PDD, il est recommandé de mettre un fichier PPD officiel afin d'avoir toutes les fonctionnalités de l'imprimante (Le comptage des pages par exemple). Ce fichier PPD peut être trouvé dans l'archive contenant les drivers PostScript pour Windows.(Fonctionne sur une Toshiba e-Studio222cs)&lt;br /&gt;
 &lt;br /&gt;
Il faut maintenant exporter les imprimantes et les drivers sous samba : &lt;br /&gt;
 service samba restart&lt;br /&gt;
 service cups restart&lt;br /&gt;
 cupsaddsmb -H localhost -U administrateur -v -a&lt;br /&gt;
&lt;br /&gt;
Pour vérifier la bonne installation des drivers :&lt;br /&gt;
&lt;br /&gt;
 rpcclient localhost&lt;br /&gt;
      &amp;gt; enumprinters&lt;br /&gt;
      &amp;gt; enumdrivers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Statistiques d'impressions ==&lt;br /&gt;
&lt;br /&gt;
http://phpprintanalyze.sourceforge.net/ : stat web cups&lt;br /&gt;
Phpprintanalyse est une interface web pour cups permettant d'analyser le fichier page_log et de faire des graphiques.&lt;br /&gt;
&lt;br /&gt;
Le serveur de statistiques se trouvant sur une autre machine , ajouter cette section dans /etc/cups/cupsd.conf afin que la page $IP_CUPS:631/admin/log/page_log soit accessible sans mot de passe : &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Location /admin/log&amp;gt;&lt;br /&gt;
 Order allow,deny&lt;br /&gt;
 Allow from 192.168.0.5&lt;br /&gt;
 &amp;lt;/Location&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 cd /var/www/&lt;br /&gt;
&lt;br /&gt;
=== Installation de phpPrintAnalyser ===&lt;br /&gt;
 wget http://sourceforge.net/projects/phpprintanalyze/files/phpPrintAnalyzer/1.2/phpPrintAnalyzer-1.2.tar.gz&lt;br /&gt;
 tar xvzf phpPrintAnalyzer-1.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
=== Installation de jpGraph ===&lt;br /&gt;
 aptitude install php5-gd&lt;br /&gt;
 wget --content-disposition http://jpgraph.net/download/download.php?p=1&lt;br /&gt;
 tar xvzf jpgraph-3.0.7.tar.gz&lt;br /&gt;
 mv jpgraph-3.0.7 jpgraph &lt;br /&gt;
&lt;br /&gt;
 chown -R www-data:www-data jpgraph phpPrintAnalyzer&lt;br /&gt;
&lt;br /&gt;
=== configuration ===&lt;br /&gt;
 cd /var/www/phpPrintAnalyzer/inc/&lt;br /&gt;
 cp config.inc.php.sample config.inc.php&lt;br /&gt;
 vim config.inc.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Modification a faire dans index.php a cause d'un problème de décalage des colonnes entre les logs et le script php&lt;br /&gt;
* Utilisateurs :&lt;br /&gt;
remplacer $tabLigneTmp[1] par $tabLigneTmp[2]&lt;br /&gt;
 :%s/$tabLigneTmp\[1\]/$tabLigneTmp\[2\]/g&lt;br /&gt;
 &lt;br /&gt;
sauf la première ligne :&lt;br /&gt;
 $tabLigneTmp[1] = strtolower($tabLigneTmp[1]);&lt;br /&gt;
&lt;br /&gt;
* Nombre de pages :&lt;br /&gt;
 :%s/$tabLigneTmp\[6\]/$tabLigneTmp\[5\]/g&lt;br /&gt;
&lt;br /&gt;
== TIPS ==&lt;br /&gt;
===Installer automatiquement une imprimante sous windows ===&lt;br /&gt;
&amp;lt;source lang=winbatch&amp;gt;&lt;br /&gt;
rundll32 printui.dll,PrintUIEntry /in /n \\SERVEUR\NOM_DE_IMP&lt;br /&gt;
rundll32 printui.dll,PrintUIEntry /in /n  \\SERVEUR\NOM_DE_IMP /y&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Interface web de cups en français ===&lt;br /&gt;
source http://www.cups.org/str.php?L3840&lt;br /&gt;
&lt;br /&gt;
 cd /usr/share/cups&lt;br /&gt;
&lt;br /&gt;
Télécharger la traduction en fonction de la version de Cups ( 1.4 sous Debian Squeeze) :&lt;br /&gt;
 wget http://www.cups.org/strfiles/3840/fr.tar.gz : cups 1.4&lt;br /&gt;
 wget http://www.cups.org/strfiles/3840/fr-1.5.0.tar.bz2 : cups 1.5&lt;br /&gt;
&lt;br /&gt;
 tar xvzf fr.tar.gz&lt;br /&gt;
&lt;br /&gt;
Il semblerait qu'il y ai un souci avec la page de recherche d'imprimante traduite en francais (cups 1.4). Pour contourner le problème remettre la page en anglais en faisant ceci :&lt;br /&gt;
 cp /usr/share/cups/templates/choose-device.tmpl /usr/share/cups/templates/fr/&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
http://forum.ubuntu-fr.org/viewtopic.php?id=272919 : installation de cups et de samba sous ubuntu &amp;lt;br/&amp;gt;&lt;br /&gt;
https://wiki.samba.org/index.php/Samba_as_a_print_server : procedure de liaison de cups avec samba &amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.cups.org/documentation.php/doc-1.6/man-cupsaddsmb.html : manuel de cupsaddsmb &amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/CUPS-printing.html : manuel d'integration de cups avec samba (très complet mais complexe) &amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.virtualhelp.me/scripts/57-vb-script/351-adding-a-printer-using-scripts-windows : Ajouter automatiquement les imprimantes dans windows &amp;lt;br/&amp;gt;&lt;br /&gt;
http://blog.cybermonde.org/post/2010/06/01/Configurer-un-serveur-d-impression-pour-plusieurs-vlans : phpPrintAnalyser &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Serveur_d%27impression_(cups_%2B_samba)_sur_debian_6.0&amp;diff=5568</id>
		<title>Serveur d'impression (cups + samba) sur debian 6.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Serveur_d%27impression_(cups_%2B_samba)_sur_debian_6.0&amp;diff=5568"/>
				<updated>2013-02-13T16:53:37Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : Cups Samba comptages des pages PPD statistiques Interface Français&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Prérequis ==&lt;br /&gt;
- un serveur samba fonctionnel. Dans notre cas l'admin du domaine samba est l'utilisateur administrateur.&lt;br /&gt;
&lt;br /&gt;
== CUPS ==&lt;br /&gt;
Installer cups:&lt;br /&gt;
 aptitude install cups.&lt;br /&gt;
&lt;br /&gt;
Éditer le fichier /etc/cups/raw.convs et vérifier que cette ligne est décommenté :&lt;br /&gt;
 application/octet-stream	application/vnd.cups-raw	0	-&lt;br /&gt;
&lt;br /&gt;
Éditer le fichier /etc/cups/raw.types et verifier que cette ligne est décommenté :&lt;br /&gt;
 application/octet-stream&lt;br /&gt;
&lt;br /&gt;
== SAMBA ==&lt;br /&gt;
Ajouter l'utilisateur administrateur au groupe lpadmin :&lt;br /&gt;
 adduser administrateur lpadmin&lt;br /&gt;
&lt;br /&gt;
Ajouter ceci dans /etc/samba/smb.conf :&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
[global]&lt;br /&gt;
 load printers = Yes&lt;br /&gt;
 printing = cups&lt;br /&gt;
 printcap name = cups&lt;br /&gt;
 #même nom d'imprimantes entre cups et samba&lt;br /&gt;
 force printername = yes&lt;br /&gt;
&lt;br /&gt;
[printers]&lt;br /&gt;
  comment = Imprimantes&lt;br /&gt;
  path = /var/spool/samba&lt;br /&gt;
  browseable = yes&lt;br /&gt;
  public = yes&lt;br /&gt;
  guest ok = yes&lt;br /&gt;
  writable = no&lt;br /&gt;
  printable = yes&lt;br /&gt;
  use client driver = no&lt;br /&gt;
&lt;br /&gt;
[print$]&lt;br /&gt;
  comment = drivers pour imprimantes&lt;br /&gt;
  path = /var/lib/samba/drivers&lt;br /&gt;
  browseable = yes&lt;br /&gt;
  guest ok = yes&lt;br /&gt;
  read only = yes&lt;br /&gt;
  write list = administrateur, root&lt;br /&gt;
  inherit permissions = yes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis donner les droits d'accès au répertoire :&lt;br /&gt;
 chmod 1777 /var/spool/samba&lt;br /&gt;
(Le « 1 » de 1777 empêche que les fichiers soient effacés par d'autres utilisateurs que le propriétaire du fichier)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Push automatique des drivers Windows ==&lt;br /&gt;
&lt;br /&gt;
Créer l'arborescence de stockage des drivers windows pour samba dans /var/lib/samba/drivers :&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 COLOR&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 IA64&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 W32ALPHA&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 27 déc.  10:40 W32MIPS&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 W32PPC&lt;br /&gt;
 drwxrwsrwx 3 root root 4096 27 déc.  17:32 W32X86&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 WIN40&lt;br /&gt;
 drwxrwsrwx 3 root root 4096 27 déc.  17:32 x64&lt;br /&gt;
&lt;br /&gt;
On peut la créer facilement grâce à ce script :&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
BASEDIR=/var/lib/samba/drivers;&lt;br /&gt;
if [ -e $BASEDIR ]&lt;br /&gt;
	then&lt;br /&gt;
		mkdir $BASEDIR&lt;br /&gt;
fi&lt;br /&gt;
for X in COLOR IA64 W32ALPHA W32MIPS W32PPC W32X86 WIN40 x64; do &lt;br /&gt;
  mkdir -p $BASEDIR/$X;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Créer maintenant le répertoire qui accueillera les drivers Windows dans Cups :&lt;br /&gt;
 mkdir -p /usr/share/cups/drivers/x64&lt;br /&gt;
&lt;br /&gt;
* Ajout du driver PostScript Windows 32bit &lt;br /&gt;
Pour le 32bit récupérer ces fichiers sur un système windows 32bit dans %WINDIR%\SYSTEM32\SPOOL\DRIVERS\W32X86\3 et les mettre dans /usr/share/cups/drivers/ : &amp;lt;br/&amp;gt;&lt;br /&gt;
Pour le 64bit récupérer ces fichiers sur un système windows 64bit dans %WINDIR%\SYSTEM32\SPOOL\DRIVERS\X64\3 et les mettre dans /usr/share/cups/drivers/x64 :&lt;br /&gt;
    ps5ui.dll&lt;br /&gt;
    pscript.hlp&lt;br /&gt;
    pscript.ntf&lt;br /&gt;
    pscript5.dll&lt;br /&gt;
'''!!!ATTENTION!!! Ces fichiers sont en MAJUSCULE sur Windows. Il est nécessaire de les mettre en minuscule sinon cupsaddsmb ne les exportera pas.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Ajout du driver postscript Cups V6 pour Windows&lt;br /&gt;
Afin d'avoir plus de fonctionnalités (comptage des pages, labels, la mise en attente...), il est possible d'ajouter en complément le driver PostScript de Cups.&lt;br /&gt;
&lt;br /&gt;
Pour le 32bit récupérer ces fichiers sur http://svn.easysw.com/public/windows/trunk/i386/ et les mettre dans /usr/share/cups/drivers/ : &amp;lt;br/&amp;gt;&lt;br /&gt;
Pour le 64bit récupérer ces fichiers sur http://svn.easysw.com/public/windows/trunk/x64/ et les mettre dans /usr/share/cups/drivers/x64 :&lt;br /&gt;
    cups6.inf&lt;br /&gt;
    cups6.ini&lt;br /&gt;
    cupsps6.dll&lt;br /&gt;
    cupsui6.dll&lt;br /&gt;
&lt;br /&gt;
L'installation des imprimantes peut maintenant se faire sur l'interface web de Cups. Lors de la sélection du fichier PDD, il est recommandé de mettre un fichier PPD officiel afin d'avoir toutes les fonctionnalités de l'imprimante (Le comptage des pages par exemple). Ce fichier PPD peut être trouvé dans l'archive contenant les drivers PostScript pour Windows.(Fonctionne sur une Toshiba e-Studio222cs)&lt;br /&gt;
 &lt;br /&gt;
Il faut maintenant exporter les imprimantes et les drivers sous samba : &lt;br /&gt;
 service samba restart&lt;br /&gt;
 service cups restart&lt;br /&gt;
 cupsaddsmb -H localhost -U administrateur -v -a&lt;br /&gt;
&lt;br /&gt;
== Statistiques d'impressions ==&lt;br /&gt;
&lt;br /&gt;
http://phpprintanalyze.sourceforge.net/ : stat web cups&lt;br /&gt;
Phpprintanalyse est une interface web pour cups permettant d'analyser le fichier page_log et de faire des graphiques.&lt;br /&gt;
&lt;br /&gt;
Le serveur de statistiques se trouvant sur une autre machine , ajouter cette section dans /etc/cups/cupsd.conf afin que la page $IP_CUPS:631/admin/log/page_log soit accessible sans mot de passe : &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Location /admin/log&amp;gt;&lt;br /&gt;
 Order allow,deny&lt;br /&gt;
 Allow from 192.168.0.5&lt;br /&gt;
 &amp;lt;/Location&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 cd /var/www/&lt;br /&gt;
&lt;br /&gt;
=== Installation de phpPrintAnalyser ===&lt;br /&gt;
 wget http://sourceforge.net/projects/phpprintanalyze/files/phpPrintAnalyzer/1.2/phpPrintAnalyzer-1.2.tar.gz&lt;br /&gt;
 tar xvzf phpPrintAnalyzer-1.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
=== Installation de jpGraph ===&lt;br /&gt;
 aptitude install php5-gd&lt;br /&gt;
 wget --content-disposition http://jpgraph.net/download/download.php?p=1&lt;br /&gt;
 tar xvzf jpgraph-3.0.7.tar.gz&lt;br /&gt;
 mv jpgraph-3.0.7 jpgraph &lt;br /&gt;
&lt;br /&gt;
 chown -R www-data:www-data jpgraph phpPrintAnalyzer&lt;br /&gt;
&lt;br /&gt;
=== configuration ===&lt;br /&gt;
 cd /var/www/phpPrintAnalyzer/inc/&lt;br /&gt;
 cp config.inc.php.sample config.inc.php&lt;br /&gt;
 vim config.inc.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Modification a faire dans index.php a cause d'un problème de décalage des colonnes entre les logs et le script php&lt;br /&gt;
* Utilisateurs :&lt;br /&gt;
remplacer $tabLigneTmp[1] par $tabLigneTmp[2]&lt;br /&gt;
 :%s/$tabLigneTmp\[1\]/$tabLigneTmp\[2\]/g&lt;br /&gt;
 &lt;br /&gt;
sauf la première ligne :&lt;br /&gt;
 $tabLigneTmp[1] = strtolower($tabLigneTmp[1]);&lt;br /&gt;
&lt;br /&gt;
* Nombre de pages :&lt;br /&gt;
 :%s/$tabLigneTmp\[6\]/$tabLigneTmp\[5\]/g&lt;br /&gt;
&lt;br /&gt;
== TIPS ==&lt;br /&gt;
===Installer automatiquement une imprimante sous windows ===&lt;br /&gt;
&amp;lt;source lang=winbatch&amp;gt;&lt;br /&gt;
rundll32 printui.dll,PrintUIEntry /in /n \\SERVEUR\NOM_DE_IMP&lt;br /&gt;
rundll32 printui.dll,PrintUIEntry /in /n  \\SERVEUR\NOM_DE_IMP /y&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Interface web de cups en français ===&lt;br /&gt;
source http://www.cups.org/str.php?L3840&lt;br /&gt;
&lt;br /&gt;
 cd /usr/share/cups&lt;br /&gt;
&lt;br /&gt;
Télécharger la traduction en fonction de la version de Cups ( 1.4 sous Debian Squeeze) :&lt;br /&gt;
 wget http://www.cups.org/strfiles/3840/fr.tar.gz : cups 1.4&lt;br /&gt;
 wget http://www.cups.org/strfiles/3840/fr-1.5.0.tar.bz2 : cups 1.5&lt;br /&gt;
&lt;br /&gt;
 tar xvzf fr.tar.gz&lt;br /&gt;
&lt;br /&gt;
Il semblerait qu'il y ai un souci avec la page de recherche d'imprimante traduite en francais (cups 1.4). Pour contourner le problème remettre la page en anglais en faisant ceci :&lt;br /&gt;
 cp /usr/share/cups/templates/choose-device.tmpl /usr/share/cups/templates/fr/&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
http://forum.ubuntu-fr.org/viewtopic.php?id=272919 : installation de cups et de samba sous ubuntu &amp;lt;br/&amp;gt;&lt;br /&gt;
https://wiki.samba.org/index.php/Samba_as_a_print_server : procedure de liaison de cups avec samba &amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.cups.org/documentation.php/doc-1.6/man-cupsaddsmb.html : manuel de cupsaddsmb &amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/CUPS-printing.html : manuel d'integration de cups avec samba (très complet mais complexe) &amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.virtualhelp.me/scripts/57-vb-script/351-adding-a-printer-using-scripts-windows : Ajouter automatiquement les imprimantes dans windows &amp;lt;br/&amp;gt;&lt;br /&gt;
http://blog.cybermonde.org/post/2010/06/01/Configurer-un-serveur-d-impression-pour-plusieurs-vlans : phpPrintAnalyser &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Serveur_d%27impression_(cups_%2B_samba)_sur_debian_6.0&amp;diff=5567</id>
		<title>Serveur d'impression (cups + samba) sur debian 6.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Serveur_d%27impression_(cups_%2B_samba)_sur_debian_6.0&amp;diff=5567"/>
				<updated>2013-02-13T16:36:05Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : /* TIPS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Prérequis ==&lt;br /&gt;
- un serveur samba fonctionnel. Dans notre cas l'admin du domaine samba est l'utilisateur administrateur.&lt;br /&gt;
&lt;br /&gt;
== CUPS ==&lt;br /&gt;
Installer cups:&lt;br /&gt;
 aptitude install cups.&lt;br /&gt;
&lt;br /&gt;
Éditer le fichier /etc/cups/raw.convs et vérifier que cette ligne est décommenté :&lt;br /&gt;
 application/octet-stream	application/vnd.cups-raw	0	-&lt;br /&gt;
&lt;br /&gt;
Éditer le fichier /etc/cups/raw.types et verifier que cette ligne est décommenté :&lt;br /&gt;
 application/octet-stream&lt;br /&gt;
&lt;br /&gt;
== SAMBA ==&lt;br /&gt;
Ajouter l'utilisateur administrateur au groupe lpadmin :&lt;br /&gt;
 adduser administrateur lpadmin&lt;br /&gt;
&lt;br /&gt;
Ajouter ceci dans /etc/samba/smb.conf :&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
[global]&lt;br /&gt;
 load printers = Yes&lt;br /&gt;
 printing = cups&lt;br /&gt;
 printcap name = cups&lt;br /&gt;
 #même nom d'imprimantes entre cups et samba&lt;br /&gt;
 force printername = yes&lt;br /&gt;
&lt;br /&gt;
[printers]&lt;br /&gt;
  comment = Imprimantes&lt;br /&gt;
  path = /var/spool/samba&lt;br /&gt;
  browseable = yes&lt;br /&gt;
  public = yes&lt;br /&gt;
  guest ok = yes&lt;br /&gt;
  writable = no&lt;br /&gt;
  printable = yes&lt;br /&gt;
  use client driver = no&lt;br /&gt;
&lt;br /&gt;
[print$]&lt;br /&gt;
  comment = drivers pour imprimantes&lt;br /&gt;
  path = /var/lib/samba/drivers&lt;br /&gt;
  browseable = yes&lt;br /&gt;
  guest ok = yes&lt;br /&gt;
  read only = yes&lt;br /&gt;
  write list = administrateur, root&lt;br /&gt;
  inherit permissions = yes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis donner les droits d'accès au répertoire :&lt;br /&gt;
 chmod 1777 /var/spool/samba&lt;br /&gt;
(Le « 1 » de 1777 empêche que les fichiers soient effacés par d'autres utilisateurs que le propriétaire du fichier)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Push automatique des drivers windows lors de l'installation ==&lt;br /&gt;
&lt;br /&gt;
Créer l'arborescence de stockage des drivers windows pour samba dans /var/lib/samba/drivers :&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 COLOR&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 IA64&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 W32ALPHA&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 27 déc.  10:40 W32MIPS&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 W32PPC&lt;br /&gt;
 drwxrwsrwx 3 root root 4096 27 déc.  17:32 W32X86&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 WIN40&lt;br /&gt;
 drwxrwsrwx 3 root root 4096 27 déc.  17:32 x64&lt;br /&gt;
&lt;br /&gt;
On peut la créer facilement grâce à ce script :&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
BASEDIR=/var/lib/samba/drivers;&lt;br /&gt;
if [ -e $BASEDIR ]&lt;br /&gt;
	then&lt;br /&gt;
		mkdir $BASEDIR&lt;br /&gt;
fi&lt;br /&gt;
for X in COLOR IA64 W32ALPHA W32MIPS W32PPC W32X86 WIN40 x64; do &lt;br /&gt;
  mkdir -p $BASEDIR/$X;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Créer maintenant le répertoire qui accueillera les drivers Windows dans Cups :&lt;br /&gt;
 mkdir -p /usr/share/cups/drivers/x64&lt;br /&gt;
&lt;br /&gt;
* Ajout du driver PostScript Windows 32bit &lt;br /&gt;
Pour le 32bit récupérer ces fichiers sur un système windows 32bit dans %WINDIR%\SYSTEM32\SPOOL\DRIVERS\W32X86\3 et les mettre dans /usr/share/cups/drivers/ : &amp;lt;br/&amp;gt;&lt;br /&gt;
Pour le 64bit récupérer ces fichiers sur un système windows 64bit dans %WINDIR%\SYSTEM32\SPOOL\DRIVERS\X64\3 et les mettre dans /usr/share/cups/drivers/x64 :&lt;br /&gt;
    ps5ui.dll&lt;br /&gt;
    pscript.hlp&lt;br /&gt;
    pscript.ntf&lt;br /&gt;
    pscript5.dll&lt;br /&gt;
!!!ATTENTION!!! Ces fichiers sont en MAJUSCULE sur Windows. Il est nécessaire de les mettre en minuscule sinon cupsaddsmb ne les exportera pas.&lt;br /&gt;
&lt;br /&gt;
* Ajout du driver postscript Cups V6 pour Windows&lt;br /&gt;
Afin d'avoir plus de fonctionnalités (comptage des pages, labels, la mise en attente...), il est possible d'ajouter en complément le driver PostScript de Cups.&lt;br /&gt;
&lt;br /&gt;
Pour le 32bit récupérer ces fichiers sur http://svn.easysw.com/public/windows/trunk/i386/ et les mettre dans /usr/share/cups/drivers/ : &amp;lt;br/&amp;gt;&lt;br /&gt;
Pour le 64bit récupérer ces fichiers sur http://svn.easysw.com/public/windows/trunk/x64/ et les mettre dans /usr/share/cups/drivers/x64 :&lt;br /&gt;
    cups6.inf&lt;br /&gt;
    cups6.ini&lt;br /&gt;
    cupsps6.dll&lt;br /&gt;
    cupsui6.dll&lt;br /&gt;
&lt;br /&gt;
L'installation des imprimantes peut maintenant se faire sur l'interface web de Cups. Lors de la sélection du fichier PDD, il est recommandé de mettre un fichier PPD officiel afin d'avoir toutes les fonctionnalités de l'imprimante (Le comptage des pages par exemple). Ce fichier PPD peut être trouvé dans l'archive contenant les drivers PostScript pour Windows.(Fonctionne sur une Toshiba e-Studio222cs)&lt;br /&gt;
 &lt;br /&gt;
Il faut maintenant exporter les imprimantes et les drivers sous samba : &lt;br /&gt;
 service samba restart&lt;br /&gt;
 service cups restart&lt;br /&gt;
 cupsaddsmb -H localhost -U administrateur -v -a&lt;br /&gt;
&lt;br /&gt;
== TIPS ==&lt;br /&gt;
===Installer automatiquement une imprimante sous windows ===&lt;br /&gt;
&amp;lt;source lang=winbatch&amp;gt;&lt;br /&gt;
rundll32 printui.dll,PrintUIEntry /in /n \\SERVEUR\NOM_DE_IMP&lt;br /&gt;
rundll32 printui.dll,PrintUIEntry /in /n  \\SERVEUR\NOM_DE_IMP /y&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Interface web de cups en français ===&lt;br /&gt;
source http://www.cups.org/str.php?L3840&lt;br /&gt;
&lt;br /&gt;
 cd /usr/share/cups&lt;br /&gt;
&lt;br /&gt;
Télécharger la traduction en fonction de la version de Cups ( 1.4 sous Debian Squeeze) :&lt;br /&gt;
 wget http://www.cups.org/strfiles/3840/fr.tar.gz : cups 1.4&lt;br /&gt;
 wget http://www.cups.org/strfiles/3840/fr-1.5.0.tar.bz2 : cups 1.5&lt;br /&gt;
&lt;br /&gt;
 tar xvzf fr.tar.gz&lt;br /&gt;
&lt;br /&gt;
Il semblerait qu'il y ai un souci avec la page de recherche d'imprimante traduite en francais (cups 1.4). Pour contourner le problème remettre la page en anglais en faisant ceci :&lt;br /&gt;
 cp /usr/share/cups/templates/choose-device.tmpl /usr/share/cups/templates/fr/&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
http://forum.ubuntu-fr.org/viewtopic.php?id=272919 : installation de cups et de samba sous ubuntu &amp;lt;br/&amp;gt;&lt;br /&gt;
https://wiki.samba.org/index.php/Samba_as_a_print_server : procedure de liaison de cups avec samba &amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.cups.org/documentation.php/doc-1.6/man-cupsaddsmb.html : manuel de cupsaddsmb &amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/CUPS-printing.html : manuel d'integration de cups avec samba (très complet mais complexe) &amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.virtualhelp.me/scripts/57-vb-script/351-adding-a-printer-using-scripts-windows : Ajouter automatiquement les imprimantes dans windows &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Serveur_d%27impression_(cups_%2B_samba)_sur_debian_6.0&amp;diff=5566</id>
		<title>Serveur d'impression (cups + samba) sur debian 6.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Serveur_d%27impression_(cups_%2B_samba)_sur_debian_6.0&amp;diff=5566"/>
				<updated>2013-02-13T16:33:12Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : /* Push automatique des drivers windows lors de l'installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Prérequis ==&lt;br /&gt;
- un serveur samba fonctionnel. Dans notre cas l'admin du domaine samba est l'utilisateur administrateur.&lt;br /&gt;
&lt;br /&gt;
== CUPS ==&lt;br /&gt;
Installer cups:&lt;br /&gt;
 aptitude install cups.&lt;br /&gt;
&lt;br /&gt;
Éditer le fichier /etc/cups/raw.convs et vérifier que cette ligne est décommenté :&lt;br /&gt;
 application/octet-stream	application/vnd.cups-raw	0	-&lt;br /&gt;
&lt;br /&gt;
Éditer le fichier /etc/cups/raw.types et verifier que cette ligne est décommenté :&lt;br /&gt;
 application/octet-stream&lt;br /&gt;
&lt;br /&gt;
== SAMBA ==&lt;br /&gt;
Ajouter l'utilisateur administrateur au groupe lpadmin :&lt;br /&gt;
 adduser administrateur lpadmin&lt;br /&gt;
&lt;br /&gt;
Ajouter ceci dans /etc/samba/smb.conf :&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
[global]&lt;br /&gt;
 load printers = Yes&lt;br /&gt;
 printing = cups&lt;br /&gt;
 printcap name = cups&lt;br /&gt;
 #même nom d'imprimantes entre cups et samba&lt;br /&gt;
 force printername = yes&lt;br /&gt;
&lt;br /&gt;
[printers]&lt;br /&gt;
  comment = Imprimantes&lt;br /&gt;
  path = /var/spool/samba&lt;br /&gt;
  browseable = yes&lt;br /&gt;
  public = yes&lt;br /&gt;
  guest ok = yes&lt;br /&gt;
  writable = no&lt;br /&gt;
  printable = yes&lt;br /&gt;
  use client driver = no&lt;br /&gt;
&lt;br /&gt;
[print$]&lt;br /&gt;
  comment = drivers pour imprimantes&lt;br /&gt;
  path = /var/lib/samba/drivers&lt;br /&gt;
  browseable = yes&lt;br /&gt;
  guest ok = yes&lt;br /&gt;
  read only = yes&lt;br /&gt;
  write list = administrateur, root&lt;br /&gt;
  inherit permissions = yes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis donner les droits d'accès au répertoire :&lt;br /&gt;
 chmod 1777 /var/spool/samba&lt;br /&gt;
(Le « 1 » de 1777 empêche que les fichiers soient effacés par d'autres utilisateurs que le propriétaire du fichier)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Push automatique des drivers windows lors de l'installation ==&lt;br /&gt;
&lt;br /&gt;
Créer l'arborescence de stockage des drivers windows pour samba dans /var/lib/samba/drivers :&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 COLOR&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 IA64&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 W32ALPHA&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 27 déc.  10:40 W32MIPS&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 W32PPC&lt;br /&gt;
 drwxrwsrwx 3 root root 4096 27 déc.  17:32 W32X86&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 WIN40&lt;br /&gt;
 drwxrwsrwx 3 root root 4096 27 déc.  17:32 x64&lt;br /&gt;
&lt;br /&gt;
On peut la créer facilement grâce à ce script :&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
BASEDIR=/var/lib/samba/drivers;&lt;br /&gt;
if [ -e $BASEDIR ]&lt;br /&gt;
	then&lt;br /&gt;
		mkdir $BASEDIR&lt;br /&gt;
fi&lt;br /&gt;
for X in COLOR IA64 W32ALPHA W32MIPS W32PPC W32X86 WIN40 x64; do &lt;br /&gt;
  mkdir -p $BASEDIR/$X;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Créer maintenant le répertoire qui accueillera les drivers Windows dans Cups :&lt;br /&gt;
 mkdir -p /usr/share/cups/drivers/x64&lt;br /&gt;
&lt;br /&gt;
* Ajout du driver PostScript Windows 32bit &lt;br /&gt;
Pour le 32bit récupérer ces fichiers sur un système windows 32bit dans %WINDIR%\SYSTEM32\SPOOL\DRIVERS\W32X86\3 et les mettre dans /usr/share/cups/drivers/ : &amp;lt;br/&amp;gt;&lt;br /&gt;
Pour le 64bit récupérer ces fichiers sur un système windows 64bit dans %WINDIR%\SYSTEM32\SPOOL\DRIVERS\X64\3 et les mettre dans /usr/share/cups/drivers/x64 :&lt;br /&gt;
    ps5ui.dll&lt;br /&gt;
    pscript.hlp&lt;br /&gt;
    pscript.ntf&lt;br /&gt;
    pscript5.dll&lt;br /&gt;
!!!ATTENTION!!! Ces fichiers sont en MAJUSCULE sur Windows. Il est nécessaire de les mettre en minuscule sinon cupsaddsmb ne les exportera pas.&lt;br /&gt;
&lt;br /&gt;
* Ajout du driver postscript Cups V6 pour Windows&lt;br /&gt;
Afin d'avoir plus de fonctionnalités (comptage des pages, labels, la mise en attente...), il est possible d'ajouter en complément le driver PostScript de Cups.&lt;br /&gt;
&lt;br /&gt;
Pour le 32bit récupérer ces fichiers sur http://svn.easysw.com/public/windows/trunk/i386/ et les mettre dans /usr/share/cups/drivers/ : &amp;lt;br/&amp;gt;&lt;br /&gt;
Pour le 64bit récupérer ces fichiers sur http://svn.easysw.com/public/windows/trunk/x64/ et les mettre dans /usr/share/cups/drivers/x64 :&lt;br /&gt;
    cups6.inf&lt;br /&gt;
    cups6.ini&lt;br /&gt;
    cupsps6.dll&lt;br /&gt;
    cupsui6.dll&lt;br /&gt;
&lt;br /&gt;
L'installation des imprimantes peut maintenant se faire sur l'interface web de Cups. Lors de la sélection du fichier PDD, il est recommandé de mettre un fichier PPD officiel afin d'avoir toutes les fonctionnalités de l'imprimante (Le comptage des pages par exemple). Ce fichier PPD peut être trouvé dans l'archive contenant les drivers PostScript pour Windows.(Fonctionne sur une Toshiba e-Studio222cs)&lt;br /&gt;
 &lt;br /&gt;
Il faut maintenant exporter les imprimantes et les drivers sous samba : &lt;br /&gt;
 service samba restart&lt;br /&gt;
 service cups restart&lt;br /&gt;
 cupsaddsmb -H localhost -U administrateur -v -a&lt;br /&gt;
&lt;br /&gt;
== TIPS ==&lt;br /&gt;
Installer automatiquement une imprimante sous windows :&lt;br /&gt;
&amp;lt;source lang=winbatch&amp;gt;&lt;br /&gt;
rundll32 printui.dll,PrintUIEntry /in /n \\SERVEUR\NOM_DE_IMP&lt;br /&gt;
rundll32 printui.dll,PrintUIEntry /in /n  \\SERVEUR\NOM_DE_IMP /y&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
http://forum.ubuntu-fr.org/viewtopic.php?id=272919 : installation de cups et de samba sous ubuntu &amp;lt;br/&amp;gt;&lt;br /&gt;
https://wiki.samba.org/index.php/Samba_as_a_print_server : procedure de liaison de cups avec samba &amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.cups.org/documentation.php/doc-1.6/man-cupsaddsmb.html : manuel de cupsaddsmb &amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/CUPS-printing.html : manuel d'integration de cups avec samba (très complet mais complexe) &amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.virtualhelp.me/scripts/57-vb-script/351-adding-a-printer-using-scripts-windows : Ajouter automatiquement les imprimantes dans windows &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Serveur_d%27impression_(cups_%2B_samba)_sur_debian_6.0&amp;diff=5565</id>
		<title>Serveur d'impression (cups + samba) sur debian 6.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Serveur_d%27impression_(cups_%2B_samba)_sur_debian_6.0&amp;diff=5565"/>
				<updated>2013-02-13T16:24:51Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Prérequis ==&lt;br /&gt;
- un serveur samba fonctionnel. Dans notre cas l'admin du domaine samba est l'utilisateur administrateur.&lt;br /&gt;
&lt;br /&gt;
== CUPS ==&lt;br /&gt;
Installer cups:&lt;br /&gt;
 aptitude install cups.&lt;br /&gt;
&lt;br /&gt;
Éditer le fichier /etc/cups/raw.convs et vérifier que cette ligne est décommenté :&lt;br /&gt;
 application/octet-stream	application/vnd.cups-raw	0	-&lt;br /&gt;
&lt;br /&gt;
Éditer le fichier /etc/cups/raw.types et verifier que cette ligne est décommenté :&lt;br /&gt;
 application/octet-stream&lt;br /&gt;
&lt;br /&gt;
== SAMBA ==&lt;br /&gt;
Ajouter l'utilisateur administrateur au groupe lpadmin :&lt;br /&gt;
 adduser administrateur lpadmin&lt;br /&gt;
&lt;br /&gt;
Ajouter ceci dans /etc/samba/smb.conf :&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
[global]&lt;br /&gt;
 load printers = Yes&lt;br /&gt;
 printing = cups&lt;br /&gt;
 printcap name = cups&lt;br /&gt;
 #même nom d'imprimantes entre cups et samba&lt;br /&gt;
 force printername = yes&lt;br /&gt;
&lt;br /&gt;
[printers]&lt;br /&gt;
  comment = Imprimantes&lt;br /&gt;
  path = /var/spool/samba&lt;br /&gt;
  browseable = yes&lt;br /&gt;
  public = yes&lt;br /&gt;
  guest ok = yes&lt;br /&gt;
  writable = no&lt;br /&gt;
  printable = yes&lt;br /&gt;
  use client driver = no&lt;br /&gt;
&lt;br /&gt;
[print$]&lt;br /&gt;
  comment = drivers pour imprimantes&lt;br /&gt;
  path = /var/lib/samba/drivers&lt;br /&gt;
  browseable = yes&lt;br /&gt;
  guest ok = yes&lt;br /&gt;
  read only = yes&lt;br /&gt;
  write list = administrateur, root&lt;br /&gt;
  inherit permissions = yes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis donner les droits d'accès au répertoire :&lt;br /&gt;
 chmod 1777 /var/spool/samba&lt;br /&gt;
(Le « 1 » de 1777 empêche que les fichiers soient effacés par d'autres utilisateurs que le propriétaire du fichier)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Push automatique des drivers windows lors de l'installation ==&lt;br /&gt;
&lt;br /&gt;
Créer l'arborescence de stockage des drivers windows pour samba dans /var/lib/samba/drivers :&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 COLOR&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 IA64&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 W32ALPHA&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 27 déc.  10:40 W32MIPS&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 W32PPC&lt;br /&gt;
 drwxrwsrwx 3 root root 4096 27 déc.  17:32 W32X86&lt;br /&gt;
 drwxrwsrwx 2 root root 4096 26 déc.  17:13 WIN40&lt;br /&gt;
 drwxrwsrwx 3 root root 4096 27 déc.  17:32 x64&lt;br /&gt;
&lt;br /&gt;
On peut la créer facilement grâce à ce script :&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
BASEDIR=/var/lib/samba/drivers;&lt;br /&gt;
if [ -e $BASEDIR ]&lt;br /&gt;
	then&lt;br /&gt;
		mkdir $BASEDIR&lt;br /&gt;
fi&lt;br /&gt;
for X in COLOR IA64 W32ALPHA W32MIPS W32PPC W32X86 WIN40 x64; do &lt;br /&gt;
  mkdir -p $BASEDIR/$X;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Créer le répertoire qui accueillera les drivers Windows dans Cups :&lt;br /&gt;
 mkdir -p /usr/share/cups/drivers/x64&lt;br /&gt;
&lt;br /&gt;
* Ajout du driver PostScript Windows 32bit &lt;br /&gt;
Pour le 32bit récupérer ces fichiers sur un système windows 32bit dans %WINDIR%\SYSTEM32\SPOOL\DRIVERS\W32X86\3 et les mettre dans /usr/share/cups/drivers/ : &amp;lt;br/&amp;gt;&lt;br /&gt;
Pour le 64bit récupérer ces fichiers sur un système windows 64bit dans %WINDIR%\SYSTEM32\SPOOL\DRIVERS\X64\3 et les mettre dans /usr/share/cups/drivers/x64 :&lt;br /&gt;
    ps5ui.dll&lt;br /&gt;
    pscript.hlp&lt;br /&gt;
    pscript.ntf&lt;br /&gt;
    pscript5.dll&lt;br /&gt;
!!!ATTENTION!!! Ces fichiers sont en MAJUSCULE sur Windows. Il est nécessaire de les mettre en minuscule sinon cupsaddsmb ne les exportera pas.&lt;br /&gt;
&lt;br /&gt;
* Ajout du driver postscript Cups V6 pour Windows&lt;br /&gt;
Afin d'avoir plus de fonctionnalités (comptage des pages, labels, la mise en attente...), il est possible d'ajouter en complément le driver PostScript de Cups.&lt;br /&gt;
&lt;br /&gt;
Pour le 32bit récupérer ces fichiers sur http://svn.easysw.com/public/windows/trunk/i386/ et les mettre dans /usr/share/cups/drivers/ : &amp;lt;br/&amp;gt;&lt;br /&gt;
Pour le 64bit récupérer ces fichiers sur http://svn.easysw.com/public/windows/trunk/x64/ et les mettre dans /usr/share/cups/drivers/x64 :&lt;br /&gt;
    cups6.inf&lt;br /&gt;
    cups6.ini&lt;br /&gt;
    cupsps6.dll&lt;br /&gt;
    cupsui6.dll&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant exporter les imprimantes et les drivers sous samba : &lt;br /&gt;
 service samba restart&lt;br /&gt;
 service cups restart&lt;br /&gt;
 cupsaddsmb -H localhost -U administrateur -v -a&lt;br /&gt;
&lt;br /&gt;
== TIPS ==&lt;br /&gt;
Installer automatiquement une imprimante sous windows :&lt;br /&gt;
&amp;lt;source lang=winbatch&amp;gt;&lt;br /&gt;
rundll32 printui.dll,PrintUIEntry /in /n \\SERVEUR\NOM_DE_IMP&lt;br /&gt;
rundll32 printui.dll,PrintUIEntry /in /n  \\SERVEUR\NOM_DE_IMP /y&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
http://forum.ubuntu-fr.org/viewtopic.php?id=272919 : installation de cups et de samba sous ubuntu &amp;lt;br/&amp;gt;&lt;br /&gt;
https://wiki.samba.org/index.php/Samba_as_a_print_server : procedure de liaison de cups avec samba &amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.cups.org/documentation.php/doc-1.6/man-cupsaddsmb.html : manuel de cupsaddsmb &amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/CUPS-printing.html : manuel d'integration de cups avec samba (très complet mais complexe) &amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.virtualhelp.me/scripts/57-vb-script/351-adding-a-printer-using-scripts-windows : Ajouter automatiquement les imprimantes dans windows &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=PHPList_:_envoi_en_ligne_de_commande_-_cron&amp;diff=5547</id>
		<title>PHPList : envoi en ligne de commande - cron</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=PHPList_:_envoi_en_ligne_de_commande_-_cron&amp;diff=5547"/>
				<updated>2013-02-12T09:49:28Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : Pierrick a déplacé la page PHPList : envoi en ligne de commande / cron vers PHPList : envoi en ligne de commande - cron&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Configuration =&lt;br /&gt;
dans lists/config/config.php, ajouter l'utilisateur www-data pour qu'il soit autorisé à lancer index.php de la ligne de commande&lt;br /&gt;
 $commandline_users = array(&amp;quot;admin&amp;quot;,&amp;quot;www-data&amp;quot;);&lt;br /&gt;
Autoriser l'envoi en ligne de commande&lt;br /&gt;
 define (&amp;quot;MANUALLY_PROCESS_QUEUE&amp;quot;,1);&lt;br /&gt;
et modifier les paramètres de MESSAGE_QUEUE (10000 mails/heure, sans pause entre chaque mail)&lt;br /&gt;
 define(&amp;quot;MAILQUEUE_BATCH_SIZE&amp;quot;,10000);&lt;br /&gt;
 define(&amp;quot;MAILQUEUE_BATCH_PERIOD&amp;quot;,3580);&lt;br /&gt;
 define('MAILQUEUE_THROTTLE',0);&lt;br /&gt;
Ou si le serveur n'est pas limité en ressources et en nombre d'envoi :&lt;br /&gt;
 define(&amp;quot;MAILQUEUE_BATCH_SIZE&amp;quot;,0);&lt;br /&gt;
 define(&amp;quot;MAILQUEUE_BATCH_PERIOD&amp;quot;,3580);&lt;br /&gt;
 define('MAILQUEUE_THROTTLE',0.5);&lt;br /&gt;
On a ajouté ici une pause d'une 1/2 seconde, donc 2 mails sont envoyés par seconde (donc un peu plus de 7000 en une heure). &amp;lt;br/&amp;gt;&lt;br /&gt;
Noter le &amp;quot;3580&amp;quot;, soit 1 heure moins 20 secondes, pour éviter que les jobs planifiées toutes les heures ne se chevauchent. Normalement Phplist sait gérer cette situation et detecter un même process déjà lancé, mais autant limiter les risques.&lt;br /&gt;
&lt;br /&gt;
Enfin, pour avoir le maximum d'informations dans le log, passer VERBOSE à 1&lt;br /&gt;
 define('VERBOSE',1);&lt;br /&gt;
&lt;br /&gt;
 define('MAILQUEUE_THROTTLE',0.5);&lt;br /&gt;
ajoute une pause d'une 1/2 seconde, donc 2 mails sont envoyés par seconde, donc un maximum de 7200 à l'heure, donc en prenant un peu de marge :&lt;br /&gt;
 define(&amp;quot;MAILQUEUE_BATCH_SIZE&amp;quot;,7000);&lt;br /&gt;
&lt;br /&gt;
= Script cron_phplist =&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 # in commandline mode, access is restricted to users who are listed in the config file&lt;br /&gt;
 # check README.commandline for more info&lt;br /&gt;
 &lt;br /&gt;
 # identify the config file for your installation&lt;br /&gt;
 CONFIG=/var/www/phplist/lists/config/config.php&lt;br /&gt;
 USER=www-data&lt;br /&gt;
 export CONFIG USER&lt;br /&gt;
 &lt;br /&gt;
 # alternatively you can use -c &amp;lt;path to config file&amp;gt; on the commandline&lt;br /&gt;
 # run the PHPlist index file with all parameters passed to this script&lt;br /&gt;
 date&lt;br /&gt;
 /usr/bin/php /var/www/phplist/lists/admin/index.php $*&lt;br /&gt;
&lt;br /&gt;
Planifier ce script dans la crontab de www-data&lt;br /&gt;
 0 * * * * /var/www/phplist/lists/cron_phplist -pprocessbounces &amp;gt;&amp;gt; /var/www/phplist/lists/cron_phplist.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
 15 * * * * /var/www/phplist/lists/cron_phplist -pprocessqueue &amp;gt;&amp;gt; /var/www/phplist/lists/cron_phplist.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
On vérifie les bounces (retours en erreur) quelques minutes avant de relancer la vague suivante (s'il n'y a pas d'envoi en cours, ou avant la première vague d'envoi, la connexion ne ramène simplement aucun mail à traiter).&lt;br /&gt;
&lt;br /&gt;
Note : créer /var/www/phplist/lists/cron_phplist.log et donner les droits d'écriture à www-data, pour être sûr d'avoir les logs des envois.&lt;br /&gt;
&lt;br /&gt;
= Utilisation =&lt;br /&gt;
# créer le message&lt;br /&gt;
# sélectionner d'éventuels critères&lt;br /&gt;
# selectionner une liste&lt;br /&gt;
# dans divers donner un email pour notification de début/fin d'envoi&lt;br /&gt;
&lt;br /&gt;
ensuite aller dans message =&amp;gt; brouillon et &amp;quot;remettre dans la file d'attente&amp;quot; le message.&lt;br /&gt;
&lt;br /&gt;
La tâche cron enverra ce qui est dans la file d'attente.&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=PHPList_:_envoi_en_ligne_de_commande_/_cron&amp;diff=5548</id>
		<title>PHPList : envoi en ligne de commande / cron</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=PHPList_:_envoi_en_ligne_de_commande_/_cron&amp;diff=5548"/>
				<updated>2013-02-12T09:49:28Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : Pierrick a déplacé la page PHPList : envoi en ligne de commande / cron vers PHPList : envoi en ligne de commande - cron&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECTION [[PHPList : envoi en ligne de commande - cron]]&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Installation_de_Shinken_sur_une_CentOS_-_Scientific_Linux&amp;diff=5546</id>
		<title>Installation de Shinken sur une CentOS - Scientific Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Installation_de_Shinken_sur_une_CentOS_-_Scientific_Linux&amp;diff=5546"/>
				<updated>2013-02-12T09:48:15Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : Pierrick a déplacé la page Installation de Shinken sur une CentOS - Scientific Linux vers Installation de Shinken sur CentOS&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECTION [[Installation de Shinken sur CentOS]]&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Installation_de_Shinken_sur_CentOS&amp;diff=5545</id>
		<title>Installation de Shinken sur CentOS</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Installation_de_Shinken_sur_CentOS&amp;diff=5545"/>
				<updated>2013-02-12T09:48:14Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : Pierrick a déplacé la page Installation de Shinken sur une CentOS - Scientific Linux vers Installation de Shinken sur CentOS&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Pré-requis =&lt;br /&gt;
 useradd --user-group shinken&lt;br /&gt;
 usermod --lock shinken&lt;br /&gt;
&lt;br /&gt;
 yum install redhat-lsb httpd wget&lt;br /&gt;
&lt;br /&gt;
 mkdir /root/install&lt;br /&gt;
 cd /root/install&lt;br /&gt;
 wget http://pypi.python.org/packages/source/P/Pyro/Pyro-3.16.tar.gz&lt;br /&gt;
 tar -xvzf Pyro-3.16.tar.gz&lt;br /&gt;
 cd Pyro-3.16&lt;br /&gt;
 yum install python-setuptools python-devel&lt;br /&gt;
 python setup.py install&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
== A partir des sources GIT ==&lt;br /&gt;
 git clone https://github.com/naparuba/shinken&lt;br /&gt;
 yum install git&lt;br /&gt;
 cd shinken&lt;br /&gt;
 ./install -i &amp;amp;&amp;amp; ./install -p nagios-plugins &amp;amp;&amp;amp; ./install -a pnp4nagios&lt;br /&gt;
&lt;br /&gt;
== A partir des archives officielles ==&lt;br /&gt;
 wget http://shinken-monitoring.org/pub/shinken-1.2.tar.gz&lt;br /&gt;
 tar -xzvf shinken-1.2.tar.gz&lt;br /&gt;
 cd shinken-1.2&lt;br /&gt;
 ./install -i &amp;amp;&amp;amp; ./install -p nagios-plugins &amp;amp;&amp;amp; ./install -a pnp4nagios&lt;br /&gt;
&lt;br /&gt;
Lier le répertoire de configuration de shinken dans /etc, c'est plus pratique !&lt;br /&gt;
 ln -s /usr/local/shinken/etc /etc/shinken&lt;br /&gt;
 cd /etc/shinken/&lt;br /&gt;
D'autre part sur CentOS l'exécutable mail n'est pas placé où shinken l'attend. Résolution :&lt;br /&gt;
 ln -s /bin/mail /usr/bin/mail&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
Ajouter un utilisateur admin avec son mot de passe pour l'interface WebUI :&lt;br /&gt;
 htpasswd /etc/shinken/htpasswd.users admin&lt;br /&gt;
Penser à ajouter le port du WebUI aux iptables si celles-ci sont actives. Dans /etc/sysconfig/iptables ajouter :&lt;br /&gt;
 -A INPUT -m state --state NEW -m tcp -p tcp --dport 7767 -j ACCEPT&lt;br /&gt;
et recharger les tables&lt;br /&gt;
 iptables-restore &amp;lt; /etc/sysconfig/iptables&lt;br /&gt;
&lt;br /&gt;
Vérification des fichiers de configuration de Shinken :&lt;br /&gt;
 /usr/local/shinken/bin/shinken-arbiter -v -c /etc/shinken/nagios.cfg -c /etc/shinken/shinken-specific.cfg&lt;br /&gt;
&lt;br /&gt;
= Plugins =&lt;br /&gt;
== nagios-plugins ==&lt;br /&gt;
Les &amp;quot;nagios-plugins&amp;quot; installés avec Shinken se révèlent vites insuffisants. Pour étendre les possibilités, nous allons installer le &amp;quot;vrai&amp;quot; paquet nagios-plugins, et copier ceux-ci dans le répertoire utilisé pour les plugins de Shinken.&lt;br /&gt;
&lt;br /&gt;
Note : le dépôt EPEL doit avoir été installé par Shinken, pas la peine de le réinstaller.&lt;br /&gt;
&amp;lt;!-- rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm --&amp;gt;&lt;br /&gt;
 yum install nagios-plugins-all&lt;br /&gt;
&lt;br /&gt;
Répertoire d'installation sur un système 32 bits :&lt;br /&gt;
 /usr/lib/nagios/plugins&lt;br /&gt;
Sur un système 64 bits :&lt;br /&gt;
 /usr/lib64/nagios/plugins&lt;br /&gt;
&lt;br /&gt;
 cp -u /usr/lib*/nagios/plugins/* /usr/local/shinken/libexec/&lt;br /&gt;
 chown shinken.shinken /usr/local/shinken/libexec/*&lt;br /&gt;
 chmod 755 shinken.shinken /usr/local/shinken/libexec/*&lt;br /&gt;
&lt;br /&gt;
== NRPE ==&lt;br /&gt;
 yum install nagios-plugins-nrpe&lt;br /&gt;
 cp /usr/lib*/nagios/plugins/check_nrpe /usr/local/shinken/libexec/&lt;br /&gt;
 chown shinken.shinken /usr/local/shinken/libexec/*&lt;br /&gt;
 chmod 755 /usr/local/shinken/libexec/*&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=CentOS4/BlueQuartz_guest_VMWare&amp;diff=5544</id>
		<title>CentOS4/BlueQuartz guest VMWare</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=CentOS4/BlueQuartz_guest_VMWare&amp;diff=5544"/>
				<updated>2013-02-12T09:47:29Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : Pierrick a déplacé la page CentOS4/BlueQuartz guest VMWare vers CentOS4 - BlueQuartz guest VMWare&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECTION [[CentOS4 - BlueQuartz guest VMWare]]&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=CentOS4_-_BlueQuartz_guest_VMWare&amp;diff=5543</id>
		<title>CentOS4 - BlueQuartz guest VMWare</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=CentOS4_-_BlueQuartz_guest_VMWare&amp;diff=5543"/>
				<updated>2013-02-12T09:47:28Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : Pierrick a déplacé la page CentOS4/BlueQuartz guest VMWare vers CentOS4 - BlueQuartz guest VMWare&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''ATTENTION : à mettre à jour pour ESXi et à archiver'''&lt;br /&gt;
----&lt;br /&gt;
ESXi :&lt;br /&gt;
* A partir de Template_CentOS4BQ, cloner le disque sur l'ESXi&lt;br /&gt;
* Créer VM sur disque cloné. Lancer la VM.&lt;br /&gt;
* l'adresse IP du template est 192.168.1.202&lt;br /&gt;
* Lancer network_settings.sh pour mettre la bonne IP&lt;br /&gt;
&lt;br /&gt;
* paramétrer le firewall avec alias sur IP définitive et tous les ports BQ&lt;br /&gt;
* lancer BQ pour initialiser la config (changer password admin/root)&lt;br /&gt;
* Lancer ssh pour vérifier la connexion SHA&lt;br /&gt;
* yum update&lt;br /&gt;
----&lt;br /&gt;
Télécharger la dernière ISO :&amp;lt;br&amp;gt;&lt;br /&gt;
http://downloads.solarspeed.net/Nu-CentOS-BQ-4.8.iso&lt;br /&gt;
&lt;br /&gt;
Lancer la console vmware, créer une VM&lt;br /&gt;
&lt;br /&gt;
Fichier/New/Virtual Machine&amp;lt;br&amp;gt;&lt;br /&gt;
Typical&amp;lt;br&amp;gt;&lt;br /&gt;
Linux&amp;lt;br&amp;gt;&lt;br /&gt;
Ne pas choisir &amp;quot;Red Hat&amp;quot;, le disque n'est pas reconnu à l'install! ça passe avec &amp;quot;Other Linux 2.6x kernel&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Nommer la VM (avec _vm à la fin)&amp;lt;br&amp;gt;&lt;br /&gt;
Bridged networking&amp;lt;br&amp;gt;&lt;br /&gt;
Donner une taille de disque d'au moins 30Gb sinon BlueQuartz ne s'installe pas (de toute façon en &amp;quot;autoextent&amp;quot; ça se gère tout seul)&amp;lt;br&amp;gt;&lt;br /&gt;
DECOCHER &amp;quot;Allocate all disk space now&amp;quot; et &amp;quot;Split into 2GB files&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Edit Virtual Machine Settings&amp;lt;br&amp;gt;&lt;br /&gt;
mettre le CDROM sur &amp;quot;Use ISO image&amp;quot; : /var/vm/Nu-CentOS-BQ-4.8.iso&amp;lt;br&amp;gt;&lt;br /&gt;
paramétrer la taille mémoire voulue&lt;br /&gt;
&lt;br /&gt;
(tous ces changements ne sont pris en compte que quand on clique sur Valider)&lt;br /&gt;
&lt;br /&gt;
Lancer la VM&amp;lt;br&amp;gt;&lt;br /&gt;
Entrée sur &amp;quot;boot:&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
A la fin de l'install valider &amp;quot;Reboot&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Juste avant le reboot, à l'écran VMWARE arrêter la VM (bouton Power off) pour remettre le lecteur CDROM sur &amp;quot;Use a physical Drive / Host / Auto Detect&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Relancer la VM&amp;lt;br&amp;gt;&lt;br /&gt;
Entrer par root/admin (attention clavier US &amp;quot;admin&amp;quot;=&amp;quot;qd,in&amp;quot;)&amp;lt;br&amp;gt;&lt;br /&gt;
Paramétrer le réseau&amp;lt;br&amp;gt;&lt;br /&gt;
Mettre la console en clavier français : éditer /etc/sysconfig/keyboard et changer :&lt;br /&gt;
 KEYTABLE=&amp;quot;fr-latin1&amp;quot;&lt;br /&gt;
Puis reboot.&amp;lt;br&amp;gt;&lt;br /&gt;
'''NOTE''' : si on ne veut pas rebooter tout de suite, charger le clavier français par&lt;br /&gt;
 loadkeys /lib/kbd/keymaps/i386/azerty/fr-latin1.map.gz&lt;br /&gt;
&lt;br /&gt;
Quand la VM est relancée, entrer en root et installer le noyau modifié pour l'heure.&lt;br /&gt;
&lt;br /&gt;
Voir [[Le guest VMWare perd l'heure]]&lt;br /&gt;
&lt;br /&gt;
Puis [[VMWareTools sur guest linux|installer les VMware-tools]].&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Installation_de_Shinken_sur_une_CentOS_/_Scientific_Linux&amp;diff=5542</id>
		<title>Installation de Shinken sur une CentOS / Scientific Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Installation_de_Shinken_sur_une_CentOS_/_Scientific_Linux&amp;diff=5542"/>
				<updated>2013-02-12T09:47:13Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : Pierrick a déplacé la page Installation de Shinken sur une CentOS / Scientific Linux vers Installation de Shinken sur une CentOS - Scientific Linux&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECTION [[Installation de Shinken sur une CentOS - Scientific Linux]]&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Installation_de_Shinken_sur_CentOS&amp;diff=5541</id>
		<title>Installation de Shinken sur CentOS</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Installation_de_Shinken_sur_CentOS&amp;diff=5541"/>
				<updated>2013-02-12T09:47:12Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : Pierrick a déplacé la page Installation de Shinken sur une CentOS / Scientific Linux vers Installation de Shinken sur une CentOS - Scientific Linux&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Pré-requis =&lt;br /&gt;
 useradd --user-group shinken&lt;br /&gt;
 usermod --lock shinken&lt;br /&gt;
&lt;br /&gt;
 yum install redhat-lsb httpd wget&lt;br /&gt;
&lt;br /&gt;
 mkdir /root/install&lt;br /&gt;
 cd /root/install&lt;br /&gt;
 wget http://pypi.python.org/packages/source/P/Pyro/Pyro-3.16.tar.gz&lt;br /&gt;
 tar -xvzf Pyro-3.16.tar.gz&lt;br /&gt;
 cd Pyro-3.16&lt;br /&gt;
 yum install python-setuptools python-devel&lt;br /&gt;
 python setup.py install&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
== A partir des sources GIT ==&lt;br /&gt;
 git clone https://github.com/naparuba/shinken&lt;br /&gt;
 yum install git&lt;br /&gt;
 cd shinken&lt;br /&gt;
 ./install -i &amp;amp;&amp;amp; ./install -p nagios-plugins &amp;amp;&amp;amp; ./install -a pnp4nagios&lt;br /&gt;
&lt;br /&gt;
== A partir des archives officielles ==&lt;br /&gt;
 wget http://shinken-monitoring.org/pub/shinken-1.2.tar.gz&lt;br /&gt;
 tar -xzvf shinken-1.2.tar.gz&lt;br /&gt;
 cd shinken-1.2&lt;br /&gt;
 ./install -i &amp;amp;&amp;amp; ./install -p nagios-plugins &amp;amp;&amp;amp; ./install -a pnp4nagios&lt;br /&gt;
&lt;br /&gt;
Lier le répertoire de configuration de shinken dans /etc, c'est plus pratique !&lt;br /&gt;
 ln -s /usr/local/shinken/etc /etc/shinken&lt;br /&gt;
 cd /etc/shinken/&lt;br /&gt;
D'autre part sur CentOS l'exécutable mail n'est pas placé où shinken l'attend. Résolution :&lt;br /&gt;
 ln -s /bin/mail /usr/bin/mail&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
Ajouter un utilisateur admin avec son mot de passe pour l'interface WebUI :&lt;br /&gt;
 htpasswd /etc/shinken/htpasswd.users admin&lt;br /&gt;
Penser à ajouter le port du WebUI aux iptables si celles-ci sont actives. Dans /etc/sysconfig/iptables ajouter :&lt;br /&gt;
 -A INPUT -m state --state NEW -m tcp -p tcp --dport 7767 -j ACCEPT&lt;br /&gt;
et recharger les tables&lt;br /&gt;
 iptables-restore &amp;lt; /etc/sysconfig/iptables&lt;br /&gt;
&lt;br /&gt;
Vérification des fichiers de configuration de Shinken :&lt;br /&gt;
 /usr/local/shinken/bin/shinken-arbiter -v -c /etc/shinken/nagios.cfg -c /etc/shinken/shinken-specific.cfg&lt;br /&gt;
&lt;br /&gt;
= Plugins =&lt;br /&gt;
== nagios-plugins ==&lt;br /&gt;
Les &amp;quot;nagios-plugins&amp;quot; installés avec Shinken se révèlent vites insuffisants. Pour étendre les possibilités, nous allons installer le &amp;quot;vrai&amp;quot; paquet nagios-plugins, et copier ceux-ci dans le répertoire utilisé pour les plugins de Shinken.&lt;br /&gt;
&lt;br /&gt;
Note : le dépôt EPEL doit avoir été installé par Shinken, pas la peine de le réinstaller.&lt;br /&gt;
&amp;lt;!-- rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm --&amp;gt;&lt;br /&gt;
 yum install nagios-plugins-all&lt;br /&gt;
&lt;br /&gt;
Répertoire d'installation sur un système 32 bits :&lt;br /&gt;
 /usr/lib/nagios/plugins&lt;br /&gt;
Sur un système 64 bits :&lt;br /&gt;
 /usr/lib64/nagios/plugins&lt;br /&gt;
&lt;br /&gt;
 cp -u /usr/lib*/nagios/plugins/* /usr/local/shinken/libexec/&lt;br /&gt;
 chown shinken.shinken /usr/local/shinken/libexec/*&lt;br /&gt;
 chmod 755 shinken.shinken /usr/local/shinken/libexec/*&lt;br /&gt;
&lt;br /&gt;
== NRPE ==&lt;br /&gt;
 yum install nagios-plugins-nrpe&lt;br /&gt;
 cp /usr/lib*/nagios/plugins/check_nrpe /usr/local/shinken/libexec/&lt;br /&gt;
 chown shinken.shinken /usr/local/shinken/libexec/*&lt;br /&gt;
 chmod 755 /usr/local/shinken/libexec/*&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Standby_database_manuelle_(cold)_sur_Windows_-_Std_Edition_(services_et_t%C3%83%C2%A2ches_planifi%C3%83%C2%A9es)&amp;diff=5539</id>
		<title>Standby database manuelle (cold) sur Windows - Std Edition (services et tÃ¢ches planifiÃ©es)</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Standby_database_manuelle_(cold)_sur_Windows_-_Std_Edition_(services_et_t%C3%83%C2%A2ches_planifi%C3%83%C2%A9es)&amp;diff=5539"/>
				<updated>2013-02-12T09:47:04Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : Pierrick a déplacé la page Standby database manuelle (cold) sur Windows/Std Edition (services et tâches planifiées) vers Standby database manuelle (cold) sur Windows - Std Edition (services et tâches planifiées)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sur Windows, l'automatisation du démarrage de la base standby et de l'application des archives est un peu plus compliquée que sous linux.&lt;br /&gt;
&lt;br /&gt;
Ci-dessous, le serveur primaire sera SERVER1 et le secondaire SERVER2.&lt;br /&gt;
&lt;br /&gt;
La base s'appellera ORCL.&lt;br /&gt;
= Création des bases =&lt;br /&gt;
== sur SERVER1 ==&lt;br /&gt;
Créer la base primaire avec les archivelogs activés, faire une sauvegarde à froid et générer un standby control file ([[Standby database manuelle (cold) sur Standard Edition]]), la transférer sur SERVER2.&lt;br /&gt;
&lt;br /&gt;
== sur SERVER2 ==&lt;br /&gt;
Créer la base à l'identique. Arrêter ensuite la base et écraser les fichiers avec la sauvegarde venant de SERVER1. Les control files seront remplacés par le standby control file.&lt;br /&gt;
=== Modifier la clé de registre AUTOSTART ===&lt;br /&gt;
La standby ne doit pas démarrer en &amp;quot;OPEN&amp;quot; mais en &amp;quot;RECOVER&amp;quot;. Il faut modifier son mode de démarrage automatique.&lt;br /&gt;
&lt;br /&gt;
Lancer REGEDIT, trouver le registre :&lt;br /&gt;
 HKLM/SOFTWARE/ORACLE/Key_Ora10gDB_home1&lt;br /&gt;
La clé a la forme ORA_{DB_NAME}_AUTOSTART (ici ORA_ORCL_AUTOSTART). Double-cliquer sur cette clé et la mettre à « FALSE ». Ne pas fermer REGEDIT, on en aura besoin plus tard.&lt;br /&gt;
&lt;br /&gt;
=== Créer le service de lancement de la standby ===&lt;br /&gt;
Il faut maintenant créer un service spécifique qui lancera automatiquement la base Standby. Commencer par télécharger 2 utilitaires, INSTSRV et SRVANY. Ils se trouvent dans le kit de ressources techniques, ou bien ici :&lt;br /&gt;
 http://www.inscripta.net/ressources/articl...tion/srvany.zip&lt;br /&gt;
&lt;br /&gt;
Créer un service &amp;quot;OracleStandbyORCL&amp;quot; avec INSTSRV, service qui utilisera la commande SRVANY  :&lt;br /&gt;
 &amp;quot;C:\&amp;lt;répertoire utilitaires&amp;gt;\instsrv&amp;quot; OracleStandbyORCL &amp;quot;C:\&amp;lt;répertoire utilitaires&amp;gt;\srvany&amp;quot;&lt;br /&gt;
Vérifier dans le gestionnaire de service qu'il est bien créé.&lt;br /&gt;
&lt;br /&gt;
Copier le code ci-dessous dans un fichier &amp;quot;ORCL.REG&amp;quot;, '''EN REMPLACANT &amp;quot;ORACLE_SID&amp;quot; par le nom de la base  (&amp;quot;ORCL&amp;quot; ici), l'utilisateur qui lancera le service, ainsi que le chemin du script qui lancera la base''' dans la clé Parameters :&lt;br /&gt;
 Windows Registry Editor Version 5.00&lt;br /&gt;
 &lt;br /&gt;
 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleStandby'''ORACLE_SID''']&lt;br /&gt;
 &amp;quot;Type&amp;quot;=dword:00000010&lt;br /&gt;
 &amp;quot;Start&amp;quot;=dword:00000002&lt;br /&gt;
 &amp;quot;ErrorControl&amp;quot;=dword:00000001&lt;br /&gt;
 &amp;quot;ImagePath&amp;quot;=hex(2):45,00,3a,00,5c,00,6f,00,72,00,61,00,63,00,6c,00,65,00,5c,00,\&lt;br /&gt;
   70,00,72,00,6f,00,64,00,75,00,63,00,74,00,5c,00,31,00,30,00,2e,00,32,00,2e,\&lt;br /&gt;
   00,30,00,5c,00,64,00,62,00,5f,00,31,00,5c,00,42,00,49,00,4e,00,5c,00,73,00,\&lt;br /&gt;
   72,00,76,00,61,00,6e,00,79,00,2e,00,65,00,78,00,65,00,00,00&lt;br /&gt;
 &amp;quot;DisplayName&amp;quot;=&amp;quot;OracleStandby'''ORACLE_SID'''&amp;quot;&lt;br /&gt;
 &amp;quot;ObjectName&amp;quot;=&amp;quot;'''Administrateur'''&amp;quot;&lt;br /&gt;
 &amp;quot;DependOnService&amp;quot;=hex(7):4f,00,72,00,61,00,63,00,6c,00,65,00,53,00,65,00,72,00,\&lt;br /&gt;
   76,00,69,00,63,00,65,00,4f,00,52,00,41,00,43,00,4c,00,45,00,5f,00,53,00,49,\&lt;br /&gt;
   00,44,00,00,00,00,00&lt;br /&gt;
 &lt;br /&gt;
 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleStandby'''ORACLE_SID'''\Parameters]&lt;br /&gt;
 &amp;quot;AppDirectory&amp;quot;=&amp;quot;\&amp;quot;C:\\'''&amp;lt;répertoire utilitaires&amp;gt;'''\&amp;quot;&amp;quot;&lt;br /&gt;
 &amp;quot;Application&amp;quot;=&amp;quot;\&amp;quot;C:\\'''&amp;lt;répertoire utilitaires&amp;gt;'''\\start_standby.cmd\&amp;quot;&amp;quot;&lt;br /&gt;
 &amp;quot;AppParameters&amp;quot;=&amp;quot;ORACLE_SID&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleStandbyORACLE_SID\Security]&lt;br /&gt;
 &amp;quot;Security&amp;quot;=hex:01,00,14,80,b8,00,00,00,c4,00,00,00,14,00,00,00,30,00,00,00,02,\&lt;br /&gt;
   00,1c,00,01,00,00,00,02,80,14,00,ff,01,0f,00,01,01,00,00,00,00,00,01,00,00,\&lt;br /&gt;
   00,00,02,00,88,00,06,00,00,00,00,00,14,00,fd,01,02,00,01,01,00,00,00,00,00,\&lt;br /&gt;
   05,12,00,00,00,00,00,18,00,ff,01,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,\&lt;br /&gt;
   20,02,00,00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,04,00,00,00,00,\&lt;br /&gt;
   00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,06,00,00,00,00,00,14,00,00,01,\&lt;br /&gt;
   00,00,01,01,00,00,00,00,00,05,0b,00,00,00,00,00,18,00,fd,01,02,00,01,02,00,\&lt;br /&gt;
   00,00,00,00,05,20,00,00,00,23,02,00,00,01,01,00,00,00,00,00,05,12,00,00,00,\&lt;br /&gt;
   01,01,00,00,00,00,00,05,12,00,00,00&lt;br /&gt;
 &lt;br /&gt;
 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleStandbyORACLE_SID\Enum]&lt;br /&gt;
 &amp;quot;0&amp;quot;=&amp;quot;Root\\LEGACY_ORACLESTANDBYORACLE_SID\\0000&amp;quot;&lt;br /&gt;
 &amp;quot;Count&amp;quot;=dword:00000001&lt;br /&gt;
 &amp;quot;NextInstance&amp;quot;=dword:00000001&lt;br /&gt;
&lt;br /&gt;
Double-cliquer sur le fichier, accepter la modification des registres.&lt;br /&gt;
&lt;br /&gt;
Retourner dans REGEDIT, trouver la clé HKLM\SYSTEM\CurrentControlSet\Services\OracleStandbyORCL nouvellement créée. Modifier à droite la valeur &amp;quot;DependOnService&amp;quot; en double-cliquant dessus, par &amp;quot;OracleServiceORCL&amp;quot; (la clé est en Héxa dans le fichier texte ci-dessus et ne peut être modifiée qu'à posteriori).&amp;lt;br/&amp;gt;&lt;br /&gt;
'''''Note''' : on voit dans la clé &amp;quot;OracleStandbyORCL&amp;quot; que c'est SRVANY qui est lancé, avec les paramètres de la sous-clé &amp;quot;Parameters&amp;quot; (nom du script de démarrage de la base et SID de la base à passer à ce script)''&lt;br /&gt;
&lt;br /&gt;
Supprimer la clé &amp;quot;Enum&amp;quot; à gauche, elle sera recréée par PnP avec une valeur correcte &amp;quot;LEGACYxxx&amp;quot; la première fois qu'on entrera dans les propriétés du service.&lt;br /&gt;
&lt;br /&gt;
Quitter REGEDIT, et dans le gestionnaire de services afficher les propriétés de OracleStandbyORCL pour créer la clé Enum, en profiter pour vérifier les paramètres.&lt;br /&gt;
&lt;br /&gt;
Stopper le service OracleServiceORCL s'il ne l'est pas déjà. Lancer le service OracleStandbyORCL, vérifier qu'il se lance sans erreur et qu'il relance bien le service OracleServiceORCL.&lt;br /&gt;
&lt;br /&gt;
Lancer sqlplus en SYSDBA, et vérifier que la base est bien en mode STANDBY :&lt;br /&gt;
 C:\&amp;gt; set ORACLE_SID=ORCL&lt;br /&gt;
 C:\&amp;gt; sqlplus / as sysdba&lt;br /&gt;
 SQL&amp;gt; select instance_name, status from v$instance;&lt;br /&gt;
 INSTANCE_NAME    STATUS&lt;br /&gt;
 ---------------- ---------------&lt;br /&gt;
 ORCL             MOUNTED&lt;br /&gt;
 &lt;br /&gt;
 SQL&amp;gt; select database_role from v$database;&lt;br /&gt;
 DATABASE_ROLE&lt;br /&gt;
 ----------------&lt;br /&gt;
 PHYSICAL STANDBY&lt;br /&gt;
Modifier tout de suite le paramètre d'initialisation standby_file_management (sa valeur par défaut ne permet pas la re-création de tablespaces et de fichiers de données sur la standby lorsqu'ils sont créés sur la base primaire) :&lt;br /&gt;
 alter system set standby_file_management=AUTO;&lt;br /&gt;
&lt;br /&gt;
= Synchronisation des bases =&lt;br /&gt;
== sur SERVER1 ==&lt;br /&gt;
=== Planifier une tâche de synchronisation des archivelogs entre les 2 serveurs ===&lt;br /&gt;
Le script &amp;quot;'''synchro_standby.cmd'''&amp;quot; utilise BLAT pour envoyer des mails d'alertes (Blat est téléchargeable sur http://www.blat.net) et lance d'autres scripts .cmd et .sql détaillés plus bas. Planifier ce script à intervalles réguliers, par exemple tous les 1/4 d'heures : ce sera la valeur maximale de décalage entre la base primaire et la base standby.&lt;br /&gt;
 @echo off &lt;br /&gt;
 :: Primary to Standby server synchronization &lt;br /&gt;
 :: (copy Oracle archivelogs to the Standby server) &lt;br /&gt;
 setlocal enableExtensions enableDelayedExpansion &lt;br /&gt;
 &lt;br /&gt;
 :: ====================== &lt;br /&gt;
 :: replication parameters &lt;br /&gt;
 :: ====================== &lt;br /&gt;
 SET ORACLE_SID=%1 &lt;br /&gt;
 SET _SOURCE_DIR='''/cygdrive/c/oradata/%ORACLE_SID%/archives/'''&lt;br /&gt;
 SET _DESTINATION_SERVER='''SERVER2'''&lt;br /&gt;
 SET _DESTINATION_DIR=archivestandby%ORACLE_SID% &lt;br /&gt;
 SET _SCRIPTS_DIR=C:\'''&amp;lt;répertoire utilitaires&amp;gt;'''\synchro_standby &lt;br /&gt;
 SET _LOG_DIR=%_SCRIPTS_DIR%\log &lt;br /&gt;
 SET _SQLPLUS='''C:\oracle\product\10.2.0\db_1\BIN\'''sqlplus.exe -L&lt;br /&gt;
 &lt;br /&gt;
 :: ============================= &lt;br /&gt;
 :: mail notifications parameters &lt;br /&gt;
 :: ============================= &lt;br /&gt;
 SET _MAIL_RESSOURCES_DIR=C:\'''&amp;lt;répertoire utilitaires&amp;gt;'''\mail_ressources &lt;br /&gt;
 SET _MAIL_SERVER_INI=%_MAIL_RESSOURCES_DIR%\mail_server.ini &lt;br /&gt;
 SET _MAIL_ADMINS_INI=%_MAIL_RESSOURCES_DIR%\mail_admins.ini &lt;br /&gt;
 SET _MAIL_FROM_INI=%_MAIL_RESSOURCES_DIR%\mail_from.ini &lt;br /&gt;
 SET _BLAT=%_MAIL_RESSOURCES_DIR%\blat.exe &lt;br /&gt;
 &lt;br /&gt;
 :: construct prefix for log file with date and time &lt;br /&gt;
 set _DATE_STR= &lt;br /&gt;
 set _TIME_STR= &lt;br /&gt;
 for /f &amp;quot;tokens=1-3 delims=/.- &amp;quot; %%a in (&amp;quot;%DATE:* =%&amp;quot;) do set _DATE_STR=%%a-%%b-%%c &lt;br /&gt;
 for /f &amp;quot;tokens=1-3 delims=:,&amp;quot; %%a in (&amp;quot;%TIME:* =%&amp;quot;) do set _TIME_STR=%%a.%%b.%%c &lt;br /&gt;
 SET _LOGFILE=%_DATE_STR%_%_TIME_STR%_%ORACLE_SID%_%~n0.log &lt;br /&gt;
 &lt;br /&gt;
 :: timestamp for the log file &lt;br /&gt;
 date /t &amp;gt; %_LOG_DIR%\%_LOGFILE% 2&amp;gt;&amp;amp;1 &lt;br /&gt;
 time /t &amp;gt;&amp;gt; %_LOG_DIR%\%_LOGFILE% 2&amp;gt;&amp;amp;1 &lt;br /&gt;
 &lt;br /&gt;
 :: test if parameters are initialized &lt;br /&gt;
 IF &amp;quot;%ORACLE_SID%&amp;quot; == &amp;quot;&amp;quot; ( &lt;br /&gt;
   call :send_error_notification_to_admins &amp;quot;ERROR : %ORACLE_SID% Synchronization Problem&amp;quot; &amp;quot;script %~n0 : Parameter ORACLE_SID not initialized&amp;quot; &amp;gt;&amp;gt; %_LOG_DIR%\%_LOGFILE% 2&amp;gt;&amp;amp;1 &lt;br /&gt;
   goto END &lt;br /&gt;
 ) &lt;br /&gt;
 &lt;br /&gt;
 :: Switch archive log file to copy last information to the Standby server &lt;br /&gt;
 %_SQLPLUS% /nolog @%_SCRIPTS_DIR%\switchlog.sql &amp;gt;&amp;gt; %_LOG_DIR%\%_LOGFILE% 2&amp;gt;&amp;amp;1 &lt;br /&gt;
 &lt;br /&gt;
 IF NOT &amp;quot;%ERRORLEVEL%&amp;quot;==&amp;quot;0&amp;quot; ( &lt;br /&gt;
   call :send_error_notification_to_admins &amp;quot;ERROR : %ORACLE_SID% Switch archive log Problem&amp;quot; &amp;quot;script %~n0 : Problem during switching archive log&amp;quot; &amp;quot;%_LOG_DIR%\%_LOGFILE%&amp;quot; &amp;gt;&amp;gt; %_LOG_DIR%\%_LOGFILE% 2&amp;gt;&amp;amp;1 &lt;br /&gt;
   goto END &lt;br /&gt;
 ) &lt;br /&gt;
 &lt;br /&gt;
 :: Synchronize archives to the Standby server &lt;br /&gt;
 CALL %_SCRIPTS_DIR%\cwrsync.cmd %_SOURCE_DIR% %_DESTINATION_SERVER% %_DESTINATION_DIR% &amp;gt;&amp;gt; %_LOG_DIR%\%_LOGFILE% 2&amp;gt;&amp;amp;1 &lt;br /&gt;
 &lt;br /&gt;
 IF NOT &amp;quot;%ERRORLEVEL%&amp;quot;==&amp;quot;0&amp;quot; ( &lt;br /&gt;
   call :send_error_notification_to_admins &amp;quot;ERROR : %ORACLE_SID% Synchronization Problem&amp;quot; &amp;quot;script %~n0 : Synchronization problem between Primary and Standby Server&amp;quot; &amp;quot;%_LOG_DIR%\%_LOGFILE%&amp;quot; &amp;gt;&amp;gt; %_LOG_DIR%\%_LOGFILE% 2&amp;gt;&amp;amp;1 &lt;br /&gt;
 ) &lt;br /&gt;
 &lt;br /&gt;
 :END &lt;br /&gt;
 endlocal &lt;br /&gt;
 goto :eof &lt;br /&gt;
 &lt;br /&gt;
 :: =============================== &lt;br /&gt;
 :send_error_notification_to_admins &lt;br /&gt;
 :: =============================== &lt;br /&gt;
 :: Send an error notification to administrators &lt;br /&gt;
 :: Parameters: &lt;br /&gt;
 ::   %1=subject &lt;br /&gt;
 ::   %2=body &lt;br /&gt;
 ::   %3=logfile (not required) &lt;br /&gt;
 ::   %4=logfile (not required) &lt;br /&gt;
 &lt;br /&gt;
 SET _MAIL_SERVER= &lt;br /&gt;
 FOR /F &amp;quot;eol=#&amp;quot; %%c in ('type %_MAIL_SERVER_INI%') do ( &lt;br /&gt;
   SET _MAIL_SERVER=%%c &lt;br /&gt;
 )&lt;br /&gt;
 &lt;br /&gt;
 SET _MAIL_FROM= &lt;br /&gt;
 FOR /F &amp;quot;eol=#&amp;quot; %%c in ('type %_MAIL_FROM_INI%') do ( &lt;br /&gt;
   SET _MAIL_FROM=%%c &lt;br /&gt;
 ) &lt;br /&gt;
 &lt;br /&gt;
 SET _MAIL_TO_ADMINS= &lt;br /&gt;
 FOR /F &amp;quot;eol=#&amp;quot; %%c in ('type %_MAIL_ADMINS_INI%') do ( &lt;br /&gt;
   IF &amp;quot;!_MAIL_TO_ADMINS!&amp;quot; == &amp;quot;&amp;quot; ( &lt;br /&gt;
     SET _MAIL_TO_ADMINS=%%c &lt;br /&gt;
   ) else ( &lt;br /&gt;
     SET _MAIL_TO_ADMINS=!_MAIL_TO_ADMINS!,%%c &lt;br /&gt;
   ) &lt;br /&gt;
 ) &lt;br /&gt;
 &lt;br /&gt;
 SET _BLAT_PARAMETERS=-body %2 -server %_MAIL_SERVER% -f %_MAIL_FROM% -t %_MAIL_TO_ADMINS% -subject %1 &lt;br /&gt;
 IF NOT &amp;quot;%3&amp;quot; == &amp;quot;&amp;quot; ( &lt;br /&gt;
     SET _BLAT_PARAMETERS=%_BLAT_PARAMETERS% -attach %3 &lt;br /&gt;
 ) &lt;br /&gt;
 IF NOT &amp;quot;%4&amp;quot; == &amp;quot;&amp;quot; ( &lt;br /&gt;
     SET _BLAT_PARAMETERS=%_BLAT_PARAMETERS% -attach %4 &lt;br /&gt;
 ) &lt;br /&gt;
 call %_BLAT% %_BLAT_PARAMETERS% &lt;br /&gt;
 goto :eof&lt;br /&gt;
Il lance un premier script SQL &amp;quot;'''switchlog.sql'''' qui force un switch d'archivelog :&lt;br /&gt;
 connect / as sysdba &lt;br /&gt;
 alter system switch logfile; &lt;br /&gt;
 exit&lt;br /&gt;
puis il lance un script DOS qui utilise CWRSYNC (http://sourceforge.net/projects/sereds/files/cwRsync/, portage CygWin de l'utilitaire RSYNC connu sous linux). RSYNC permet de synchroniser les répertoires d'archivelogs des deux serveurs en incrémental, sans devoir renvoyer tous les fichiers à chaque fois.&lt;br /&gt;
&lt;br /&gt;
Il s'installe&lt;br /&gt;
# En tant que serveur sur SERVER2. Il crée un service qui lui permet de fonctionner en tâche de fond, et d'attendre les requêtes de SERVER1&lt;br /&gt;
# En tant que client sur SERVER1, qui enverra ses archivelogs vers SERVER2 par ce biais&lt;br /&gt;
&lt;br /&gt;
Sur SERVER1, le script cwrsync.cmd est fourni lors de l'installation de CWRSYNC (dans le répertoire de celui-ci) à titre d'exemple. Il suffit de reprendre ce script, de vérifier les valeurs des variables au début, et d'ajouter à la fin du fichier :&lt;br /&gt;
 SET _REP_SOURCE=%1 &lt;br /&gt;
 SET _SERV_DEST=%2 &lt;br /&gt;
 SET _REP_DEST=%3 &lt;br /&gt;
 rsync -arvz --delete %_REP_SOURCE% %_SERV_DEST%::%_REP_DEST%&lt;br /&gt;
Les 3 paramètres lui seront passés par synchro_standby.cmd.&lt;br /&gt;
&lt;br /&gt;
Paramétrer aussi les fichiers de configuration de Blat, dans C:\'''&amp;lt;répertoire utilitaires&amp;gt;'''\mail_ressources. Les .INI sont des fichiers texte, avec une valeur par ligne (respectivement nom du serveur SMTP, nom des destinataires des mails et nom de l'expéditeur).&lt;br /&gt;
== sur SERVER2 ==&lt;br /&gt;
Installer également CWRSYNC, '''en mode serveur'''. Editer le fichier rsyncd.conf dans le répertoire d'installation pour créer un point de partage :&lt;br /&gt;
 use chroot = false&lt;br /&gt;
 strict modes = false&lt;br /&gt;
 hosts allow = *&lt;br /&gt;
 log file = rsyncd.log&lt;br /&gt;
 pid file = rsyncd.pid&lt;br /&gt;
 &lt;br /&gt;
 [ArchiveStandbyORCL]&lt;br /&gt;
 path = '''C:\oradata\ORCL\archives_temp'''&lt;br /&gt;
 read_only = false&lt;br /&gt;
Relancer le service &amp;quot;RsyncServer&amp;quot; pour prendre en compte les modifications.&lt;br /&gt;
'''NOTE''' : créer le répertoire C:\oradata\ORCL\archives_temp, qui recevra les archives de SERVER1. Ce répertoire reçoit temporairement les archivelogs, avant de les copier dans le &amp;quot;vrais&amp;quot; répertoire d'archive de la base et de les appliquer. On a ainsi, en cas d'erreur, une sauvegarde des archives.&lt;br /&gt;
Ce répertoire étant synchronisé avec celui des archives de SERVER1, il suffit de faire un backup RMAN sur SERVER1 avec sauvegarde + suppression des archivelogs. Le vidage du répertoire sur SERVER1 videra automatiquement celui de SERVER2 à la synchronisation suivante.&lt;br /&gt;
&lt;br /&gt;
Le script &amp;quot;apply_archive.cmd&amp;quot; applique les archivelogs dans la base standby. Il utilise lui aussi BLAT ainsi qu'un script SQL  :&lt;br /&gt;
 @echo off &lt;br /&gt;
 :: Apply archives from Primary server in the Standby database &lt;br /&gt;
 setlocal enableExtensions enableDelayedExpansion &lt;br /&gt;
 &lt;br /&gt;
 :: ====================== &lt;br /&gt;
 :: replication parameters &lt;br /&gt;
 :: ====================== &lt;br /&gt;
 SET ORACLE_SID=%1 &lt;br /&gt;
 SET _LASTARCHIVE=%2 &lt;br /&gt;
 SET _SCRIPTS_DIR=C:\'''&amp;lt;répertoire utilitaires&amp;gt;'''\apply_archive &lt;br /&gt;
 SET _LOG_DIR=%_SCRIPTS_DIR%\log &lt;br /&gt;
 SET _ARCHIVE_FROM_PRIMARY_DIR=C:\oradata\%ORACLE_SID%\archives_temp &lt;br /&gt;
 SET _ARCHIVE_TO_APPLY_DIR=C:\oradata\%ORACLE_SID%\archives &lt;br /&gt;
 SET _SQLPLUS='''C:\oracle\product\10.2.0\db_1\BIN\sqlplus.exe -L'''&lt;br /&gt;
 &lt;br /&gt;
 :: ============================= &lt;br /&gt;
 :: mail notifications parameters &lt;br /&gt;
 :: ============================= &lt;br /&gt;
 SET _MAIL_RESSOURCES_DIR=C:\'''&amp;lt;répertoire utilitaires&amp;gt;'''\mail_ressources &lt;br /&gt;
 SET _MAIL_SERVER_INI=%_MAIL_RESSOURCES_DIR%\mail_server.ini &lt;br /&gt;
 SET _MAIL_ADMINS_INI=%_MAIL_RESSOURCES_DIR%\mail_admins.ini &lt;br /&gt;
 SET _MAIL_FROM_INI=%_MAIL_RESSOURCES_DIR%\mail_from.ini &lt;br /&gt;
 SET _BLAT=%_MAIL_RESSOURCES_DIR%\blat.exe &lt;br /&gt;
 &lt;br /&gt;
 :: construct prefix for log file with date and time &lt;br /&gt;
 set _DATE_STR= &lt;br /&gt;
 set _TIME_STR= &lt;br /&gt;
 for /f &amp;quot;tokens=1-3 delims=/.- &amp;quot; %%a in (&amp;quot;%DATE:* =%&amp;quot;) do set _DATE_STR=%%a-%%b-%%c &lt;br /&gt;
 for /f &amp;quot;tokens=1-3 delims=:,&amp;quot; %%a in (&amp;quot;%TIME:* =%&amp;quot;) do set _TIME_STR=%%a.%%b.%%c &lt;br /&gt;
 SET _LOGFILE=%_DATE_STR%_%_TIME_STR%_%ORACLE_SID%_%~n0.log &lt;br /&gt;
 &lt;br /&gt;
 :: timestamp for the log file &lt;br /&gt;
 date /t &amp;gt; %_LOG_DIR%\%_LOGFILE% 2&amp;gt;&amp;amp;1 &lt;br /&gt;
 time /t &amp;gt;&amp;gt; %_LOG_DIR%\%_LOGFILE% 2&amp;gt;&amp;amp;1 &lt;br /&gt;
 &lt;br /&gt;
 :: apply archive from Primary server to Standby &lt;br /&gt;
 %_SQLPLUS% /nolog @%_SCRIPTS_DIR%\apply_archive.sql &amp;gt;&amp;gt; %_LOG_DIR%\%_LOGFILE% 2&amp;gt;&amp;amp;1 &lt;br /&gt;
 &lt;br /&gt;
 IF NOT &amp;quot;!ERRORLEVEL!&amp;quot;==&amp;quot;0&amp;quot; ( &lt;br /&gt;
   call :send_error_notification_to_admins &amp;quot;ERROR : %ORACLE_SID% Synchronization Problem&amp;quot; &amp;quot;script %~n0 : Error in launching applying archives: SQL Plus  Problem&amp;quot; &amp;quot;%_LOG_DIR%\%_LOGFILE%&amp;quot; &amp;gt;&amp;gt; %_LOG_DIR%\%_LOGFILE% 2&amp;gt;&amp;amp;1 &lt;br /&gt;
   goto END &lt;br /&gt;
 ) &lt;br /&gt;
 &lt;br /&gt;
 :: extract waited archive file name from Log (ORA-00308) &lt;br /&gt;
 SET _NEXTARCHIVE= &lt;br /&gt;
 for /F &amp;quot;tokens=5 delims='\&amp;quot; %%a IN ('findstr /r /i /c:&amp;quot;ORA-00308&amp;quot; %_LOG_DIR%\%_LOGFILE%') do set _NEXTARCHIVE=%%a &lt;br /&gt;
 echo Next Archive : %_NEXTARCHIVE% &amp;gt;&amp;gt; %_LOG_DIR%\%_LOGFILE% 2&amp;gt;&amp;amp;1 &lt;br /&gt;
 &lt;br /&gt;
 :: if file header is corrupted, ORA-00308 is not logged in the log file and no file name is provided &lt;br /&gt;
 :: if the script cannot connect to the database and no file name is provided &lt;br /&gt;
 IF &amp;quot;%_NEXTARCHIVE%&amp;quot; == &amp;quot;&amp;quot; ( &lt;br /&gt;
   call :send_error_notification_to_admins &amp;quot;ERROR : %ORACLE_SID% Synchronization Problem&amp;quot; &amp;quot;script %~n0 : Error in applying %_LASTARCHIVE% : File Header  Problem OR Database Access Problem&amp;quot; &amp;quot;%_LOG_DIR%\%_LOGFILE%&amp;quot; &amp;gt;&amp;gt; %_LOG_DIR%\%_LOGFILE% 2&amp;gt;&amp;amp;1 &lt;br /&gt;
   goto END &lt;br /&gt;
 ) &lt;br /&gt;
 &lt;br /&gt;
 :: if file is corrupted, the apply fails and the file name waited by standby database is always the same &lt;br /&gt;
 IF &amp;quot;%_NEXTARCHIVE%&amp;quot; == &amp;quot;%_LASTARCHIVE%&amp;quot; ( &lt;br /&gt;
   call :send_error_notification_to_admins &amp;quot;ERROR : %ORACLE_SID% Synchronization Problem&amp;quot; &amp;quot;script %~n0 : Error in applying %_NEXTARCHIVE% : File Corrupted&amp;quot; &amp;quot;%_LOG_DIR%\%_LOGFILE%&amp;quot; &amp;gt;&amp;gt; %_LOG_DIR%\%_LOGFILE% 2&amp;gt;&amp;amp;1 &lt;br /&gt;
   goto END &lt;br /&gt;
 ) &lt;br /&gt;
 &lt;br /&gt;
 :: copy the new archive logs and apply them into the Standy Database &lt;br /&gt;
 IF EXIST %_ARCHIVE_FROM_PRIMARY_DIR%\%_NEXTARCHIVE% ( &lt;br /&gt;
   :: get archive file sended by primary server &lt;br /&gt;
   copy /Y %_ARCHIVE_FROM_PRIMARY_DIR%\%_NEXTARCHIVE% %_ARCHIVE_TO_APPLY_DIR% &amp;gt;&amp;gt; %_LOG_DIR%\%_LOGFILE% 2&amp;gt;&amp;amp;1 &lt;br /&gt;
 &lt;br /&gt;
   :: call script recursively to apply archive log &lt;br /&gt;
   echo === RECURSIVE CALL, AT LEAST ONE ARCHIVELOG === &amp;gt;&amp;gt; %_LOG_DIR%\%_LOGFILE% 2&amp;gt;&amp;amp;1 &lt;br /&gt;
   %_SCRIPTS_DIR%\apply_primary_archive.cmd %ORACLE_SID% %_NEXTARCHIVE% &lt;br /&gt;
 &lt;br /&gt;
   :: delete the applyed archivelog &lt;br /&gt;
   del /F /Q %_ARCHIVE_TO_APPLY_DIR%\%_NEXTARCHIVE% &amp;gt;&amp;gt; %_LOG_DIR%\%_LOGFILE% 2&amp;gt;&amp;amp;1 &lt;br /&gt;
 ) &lt;br /&gt;
 &lt;br /&gt;
 :END &lt;br /&gt;
 endlocal &lt;br /&gt;
 goto :eof &lt;br /&gt;
 &lt;br /&gt;
 :: =============================== &lt;br /&gt;
 :send_error_noticication_to_admins &lt;br /&gt;
 :: =============================== &lt;br /&gt;
 :: Send an error notification to administrators &lt;br /&gt;
 :: Parameters: &lt;br /&gt;
 ::   %1=subject &lt;br /&gt;
 ::   %2=body &lt;br /&gt;
 ::   %3=logfile (not required) &lt;br /&gt;
 ::   %4=logfile (not required) &lt;br /&gt;
 &lt;br /&gt;
 SET _MAIL_SERVER= &lt;br /&gt;
 FOR /F &amp;quot;eol=#&amp;quot; %%c in ('type %_MAIL_SERVER_INI%') do ( &lt;br /&gt;
   SET _MAIL_SERVER=%%c &lt;br /&gt;
 ) &lt;br /&gt;
 &lt;br /&gt;
 SET _MAIL_FROM= &lt;br /&gt;
 FOR /F &amp;quot;eol=#&amp;quot; %%c in ('type %_MAIL_FROM_INI%') do ( &lt;br /&gt;
   SET _MAIL_FROM=%%c &lt;br /&gt;
 ) &lt;br /&gt;
 &lt;br /&gt;
 SET _MAIL_TO_ADMINS= &lt;br /&gt;
 FOR /F &amp;quot;eol=#&amp;quot; %%c in ('type %_MAIL_ADMINS_INI%') do ( &lt;br /&gt;
   IF &amp;quot;!_MAIL_TO_ADMINS!&amp;quot; == &amp;quot;&amp;quot; ( &lt;br /&gt;
     SET _MAIL_TO_ADMINS=%%c &lt;br /&gt;
   ) else ( &lt;br /&gt;
     SET _MAIL_TO_ADMINS=!_MAIL_TO_ADMINS!,%%c &lt;br /&gt;
   ) &lt;br /&gt;
 ) &lt;br /&gt;
 &lt;br /&gt;
 SET _BLAT_PARAMETERS=-body %2 -server %_MAIL_SERVER% -f %_MAIL_FROM% -t %_MAIL_TO_ADMINS% -subject %1 &lt;br /&gt;
 IF NOT &amp;quot;%3&amp;quot; == &amp;quot;&amp;quot; ( &lt;br /&gt;
     SET _BLAT_PARAMETERS=%_BLAT_PARAMETERS% -attach %3 &lt;br /&gt;
 ) &lt;br /&gt;
 IF NOT &amp;quot;%4&amp;quot; == &amp;quot;&amp;quot; ( &lt;br /&gt;
     SET _BLAT_PARAMETERS=%_BLAT_PARAMETERS% -attach %4 &lt;br /&gt;
 ) &lt;br /&gt;
 call %_BLAT% %_BLAT_PARAMETERS% &lt;br /&gt;
 goto :eof &lt;br /&gt;
Il lance le script SQL &amp;quot;apply_archive.sql&amp;quot; :&lt;br /&gt;
 connect / as sysdba &lt;br /&gt;
 alter database recover automatic standby database; &lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
Paramétrer aussi les fichiers de configuration de Blat, dans C:\'''&amp;lt;répertoire utilitaires&amp;gt;'''\mail_ressources. Les .INI sont des fichiers texte, avec une valeur par ligne (respectivement nom du serveur SMTP, nom des destinataires des mails et nom de l'expéditeur).&lt;br /&gt;
&lt;br /&gt;
= TESTS =&lt;br /&gt;
Sur SERVER1, lancer la tâche planifiée &amp;quot;synchro_standby&amp;quot;, qui doit générer une archive et copier celle-ci sur SERVER2 sous archives_temp&lt;br /&gt;
Sur SERVER2, lancer la tâche planifiée &amp;quot;apply_archive&amp;quot;, qui doit intégrer l'archive. Vérifier les log du script, qui doivent ressembler à ceci :&lt;br /&gt;
 12/08/2008 &lt;br /&gt;
 16:56 &lt;br /&gt;
 &lt;br /&gt;
 SQL*Plus: Release 10.2.0.4.0 - Production on Tue Aug 12 16:56:04 2008 &lt;br /&gt;
 &lt;br /&gt;
 Copyright (c) 1982, 2007, Oracle.  All Rights Reserved. &lt;br /&gt;
 &lt;br /&gt;
 Connected. &lt;br /&gt;
 alter database recover automatic standby database &lt;br /&gt;
 * &lt;br /&gt;
 ERROR at line 1: &lt;br /&gt;
 ORA-00279: change 50345552 generated at 08/12/2008 16:51:03 needed for thread 1 &lt;br /&gt;
 ORA-00289: suggestion : F:\E2TSW\ARCHIVES\ARC00162_0662457568.001 &lt;br /&gt;
 ORA-00280: change 50345552 for thread 1 is in sequence #162 &lt;br /&gt;
 ORA-00278: log file '''&amp;lt;nowiki&amp;gt;'F:\E2TSW\ARCHIVES\ARC00162_0662457568.001'&amp;lt;/nowiki&amp;gt;''' no longer &lt;br /&gt;
 needed for this recovery &lt;br /&gt;
 ORA-00308: cannot open archived log 'F:\E2TSW\ARCHIVES\ARC00162_0662457568.001' &lt;br /&gt;
 ORA-27041: unable to open file &lt;br /&gt;
 OSD-04002: unable to open file &lt;br /&gt;
 O/S-Error: (OS 2) The system cannot find the file specified. &lt;br /&gt;
 &lt;br /&gt;
 Disconnected from Oracle Database 10g Release 10.2.0.4.0 - Production &lt;br /&gt;
 Next Archive : '''ARC00162_0662457568.001'''&lt;br /&gt;
&lt;br /&gt;
Les messages d'erreur sont &amp;quot;normaux&amp;quot;. Le numéro d'archive indiqué sur l'ORA-00278 et à la fin du log soit être supérieur de 1 par rapport aux archiveslogs existants dans archive_temp : c'est la prochaine archive attendue de SERVER1.&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Standby_database_manuelle_(cold)_sur_Windows/Std_Edition_(services_et_t%C3%83%C2%A2ches_planifi%C3%83%C2%A9es)&amp;diff=5540</id>
		<title>Standby database manuelle (cold) sur Windows/Std Edition (services et tÃ¢ches planifiÃ©es)</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Standby_database_manuelle_(cold)_sur_Windows/Std_Edition_(services_et_t%C3%83%C2%A2ches_planifi%C3%83%C2%A9es)&amp;diff=5540"/>
				<updated>2013-02-12T09:47:04Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : Pierrick a déplacé la page Standby database manuelle (cold) sur Windows/Std Edition (services et tâches planifiées) vers Standby database manuelle (cold) sur Windows - Std Edition (services et tâches planifiées)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECTION [[Standby database manuelle (cold) sur Windows - Std Edition (services et tâches planifiées)]]&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Mise_%C3%83%C2%A0_jour_PostgreSQL_8.1_en_8.4_-_9.0&amp;diff=5537</id>
		<title>Mise Ã  jour PostgreSQL 8.1 en 8.4 - 9.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Mise_%C3%83%C2%A0_jour_PostgreSQL_8.1_en_8.4_-_9.0&amp;diff=5537"/>
				<updated>2013-02-12T09:46:51Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : Pierrick a déplacé la page Mise à jour PostgreSQL 8.1 en 8.4 / 9.0 vers Mise à jour PostgreSQL 8.1 en 8.4 - 9.0&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sauvegarde des bases existantes =&lt;br /&gt;
Sauvegarder les bases, si nécessaire (sinon, supprimer purement et simplement le répertoire /var/lib/pgsql/data, il sera recréé à l'init)&lt;br /&gt;
&lt;br /&gt;
Les &amp;quot;globales&amp;quot; d'abord :&lt;br /&gt;
 mkdir /pgbak&lt;br /&gt;
 chown postgres:postgres /pgbak/&lt;br /&gt;
 su - postgres&lt;br /&gt;
 pg_dumpall --globals-only &amp;gt; /pgbak/globals.sql &lt;br /&gt;
 pg_dump --create --oids --format=c --verbose --file=/pgbak/dbX dbX&lt;br /&gt;
 exit&lt;br /&gt;
Et sauvegarder les bases à froid (éteintes) :&lt;br /&gt;
 /etc/init.d/postgresql stop&lt;br /&gt;
 mv /var/lib/pgsql/data /pgbak&lt;br /&gt;
&lt;br /&gt;
== PostgreSQL 8.4 ==&lt;br /&gt;
Mettre à jour :&lt;br /&gt;
 yum remove postgresql&lt;br /&gt;
 yum install postgresql84 postgresql84-server&lt;br /&gt;
&lt;br /&gt;
Réinitialiser les bases système :&lt;br /&gt;
 /etc/init.d/postgresql initdb&lt;br /&gt;
&lt;br /&gt;
Restorer les fichiers de configuration à partir de /pgback/*.conf, faire les modification nécessaires (dans le pg_hba.conf notamment, des oprions ont changé : sameuser n'existe plus, remplacer password par md5).&lt;br /&gt;
&lt;br /&gt;
Eventuellement :&lt;br /&gt;
 chkconfig --level 35 postgresql on&lt;br /&gt;
&lt;br /&gt;
Lancer postgresql&lt;br /&gt;
 /etc/init.d/postgresql start&lt;br /&gt;
&lt;br /&gt;
Restorer les rôles, et les bases de données :&lt;br /&gt;
 su - postgres&lt;br /&gt;
 psql -f /pgbak/globals.sql&lt;br /&gt;
 pg_restore --create -d postgres /pgbak/dbX&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
== PostgresSQL 9 ==&lt;br /&gt;
Si PostgreSQL8 était déjà installé il faut l'avoir désinstallé avant (avec sauvegardes des bases) :&lt;br /&gt;
 yum remove postgresql&lt;br /&gt;
ou&lt;br /&gt;
 yum remove postgresql84&lt;br /&gt;
&lt;br /&gt;
Installer le repository PostgreSQL conrrespondant à la version voulue (http://www.pgrpms.org/howtoyum.php) :&lt;br /&gt;
 wget http://www.pgrpms.org/reporpms/9.0/pgdg-centos-9.0-2.noarch.rpm&lt;br /&gt;
Désactiver le repo par défaut (enable=0 dans /etc/yum.repos.d/pgdg-90-centos.repo), puis :&lt;br /&gt;
 yum --enablerepo=pgdg90 install postgresql90 postgresql90-server&lt;br /&gt;
&lt;br /&gt;
Initialiser la base de données&lt;br /&gt;
 /etc/init.d/postgresql-9.0 initdb&lt;br /&gt;
Les bases sont désormais dans /var/lib/pgsql/'''9.0'''/data&lt;br /&gt;
 /etc/init.d/postgresql-9.0 start&lt;br /&gt;
Et restorer les bases :&lt;br /&gt;
 su - postgres&lt;br /&gt;
 psql -f /pgbak/globals.sql&lt;br /&gt;
 pg_restore --create -d postgres /pgbak/dbX&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Mise_%C3%83%C2%A0_jour_PostgreSQL_8.1_en_8.4_/_9.0&amp;diff=5538</id>
		<title>Mise Ã  jour PostgreSQL 8.1 en 8.4 / 9.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Mise_%C3%83%C2%A0_jour_PostgreSQL_8.1_en_8.4_/_9.0&amp;diff=5538"/>
				<updated>2013-02-12T09:46:51Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : Pierrick a déplacé la page Mise à jour PostgreSQL 8.1 en 8.4 / 9.0 vers Mise à jour PostgreSQL 8.1 en 8.4 - 9.0&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECTION [[Mise à jour PostgreSQL 8.1 en 8.4 - 9.0]]&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Install_-_mise_%C3%83%C2%A0_jour_Qos_NG&amp;diff=5535</id>
		<title>Install - mise Ã  jour Qos NG</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Install_-_mise_%C3%83%C2%A0_jour_Qos_NG&amp;diff=5535"/>
				<updated>2013-02-12T09:46:03Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : Pierrick a déplacé la page Install/mise à jour Qos NG vers Install - mise à jour Qos NG&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Si disponible pour la version actuelle d'IPCop,&amp;lt;br&amp;gt;&lt;br /&gt;
télécharger la dernière version du kernel compilé avec Layer7 ici : http://de.embcop.org/?page_id=40&lt;br /&gt;
&lt;br /&gt;
''Télécharger le bon noyau en fonction du processeur ! (smp ou pas)''&lt;br /&gt;
&lt;br /&gt;
Télécharger la version de Qos_NG correspondante ici : http://mh-lantech.css-hamburg.de/ipcop/news.php&lt;br /&gt;
&lt;br /&gt;
Copier par scp vers IPCop.&lt;br /&gt;
&lt;br /&gt;
Sauvegarder /lib et /boot par&lt;br /&gt;
 tar -cvzf 1.4.xx_origine.tgz /boot /lib&lt;br /&gt;
après un df -k, mais le tar ne dépasse pas 40Mo ça doit aller.&lt;br /&gt;
&lt;br /&gt;
Remplacer le kernel et les librairies&lt;br /&gt;
 tar xjvf ipcop-1.4.21-kernel-2.4.36-Layer7.tar.bz2 -C /&lt;br /&gt;
&lt;br /&gt;
Décompresser et installer Qos_NG&lt;br /&gt;
 tar -xvzf qos_ng_ipcop_1.4.21.tar.gz&lt;br /&gt;
 cd qos_ng&lt;br /&gt;
 ./install&lt;br /&gt;
&lt;br /&gt;
Si une ancienne version est installée, il la détecte et demande si on veut sauvegarder les paramètres : Y !&lt;br /&gt;
&lt;br /&gt;
Sur la 1.4.21, on peut activer une vérification automatique des update.&lt;br /&gt;
&lt;br /&gt;
On valide ensuite la mise à jour des &amp;quot;layer7 patterns&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite redémarrer, de toute façon la page QoS le dit si on essaie de l'afficher.&lt;br /&gt;
----&lt;br /&gt;
Pour le paramétrage, un tuto ici : http://www.ondaflow.com/?p=49&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Install/mise_%C3%83%C2%A0_jour_Qos_NG&amp;diff=5536</id>
		<title>Install/mise Ã  jour Qos NG</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Install/mise_%C3%83%C2%A0_jour_Qos_NG&amp;diff=5536"/>
				<updated>2013-02-12T09:46:03Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : Pierrick a déplacé la page Install/mise à jour Qos NG vers Install - mise à jour Qos NG&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECTION [[Install - mise à jour Qos NG]]&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Installation_de_munin_-_munin-node&amp;diff=5533</id>
		<title>Installation de munin - munin-node</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Installation_de_munin_-_munin-node&amp;diff=5533"/>
				<updated>2013-02-12T09:45:50Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : Pierrick a déplacé la page Installation de munin / munin-node vers Installation de munin - munin-node&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Debian ==&lt;br /&gt;
=== Installation client only ===&lt;br /&gt;
 apt-get install munin-node&lt;br /&gt;
Editer /etc/munin/munin-node.conf, ajouter à la fin :&lt;br /&gt;
 allow ^192\.168\.1\.253&lt;br /&gt;
(''Ou 192.168.1.253 est l'adresse du serveur Munin - Adapter selon la configuration'')&lt;br /&gt;
&lt;br /&gt;
== CentOS ==&lt;br /&gt;
=== Installation client ===&lt;br /&gt;
&lt;br /&gt;
Si ça n'a pas déjà été fait, installation repos RPMForge ( -&amp;gt; [[Dépôts complémentaires]]).&lt;br /&gt;
&lt;br /&gt;
 yum --enablerepo=rpmforge install munin-node&lt;br /&gt;
paramétrer le fichier conf sous /etc/munin, démarrer munin-node et l'ajouter au chkconfig&lt;br /&gt;
&lt;br /&gt;
Pour munin-node (client), si le serveur munin est distant, il faut l'autoriser dans /etc/munin/munin-node.conf en ajoutant sont adresse IP. Exemple :&lt;br /&gt;
 allow ^192\.168\.1\.253$&lt;br /&gt;
&lt;br /&gt;
On oublie pas :&lt;br /&gt;
 chkconfig --level 2345 munin-node on&lt;br /&gt;
 chkconfig --list munin-node&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;NOTE importante&amp;lt;/span&amp;gt;''' : supprimer le plugin '''hddtemp_smartctl''' (/etc/munin/plugins) car il provoque une erreur sur le lecteur CD :&lt;br /&gt;
 Apr  9 10:00:06 server2 kernel: hdc: drive_cmd: status=0x51 { DriveReady SeekComplete Error }&lt;br /&gt;
 Apr  9 10:00:06 server2 kernel: hdc: drive_cmd: error=0x04 { AbortedCommand }&lt;br /&gt;
 Apr  9 10:00:06 server2 kernel: ide: failed opcode was: 0xec&lt;br /&gt;
Problème noté sur BlueOnyx en machine virtuelle ESXi.&lt;br /&gt;
&lt;br /&gt;
Ne laisser qu'un plugin ntp, renommé en &amp;quot;ntp_canon_inria_fr&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Et pour finir...&lt;br /&gt;
 /etc/init.d/munin-node restart&lt;br /&gt;
&lt;br /&gt;
=== Installation server ===&lt;br /&gt;
 yum --enablerepo=rpmforge install munin &lt;br /&gt;
&lt;br /&gt;
Paramétrer le serveur munin pour récupérer les données du client. Dans /etc/munin/munin.conf :&lt;br /&gt;
 [server.domain.tld]&lt;br /&gt;
    address 192.168.1.250&lt;br /&gt;
    use_node_name yes&lt;br /&gt;
&lt;br /&gt;
= Activation et paramétrage des PLUGINS =&lt;br /&gt;
Créer simplement un lien sur les plugins, de /usr/share/munin/plugins/ dans /etc/munin/plugins.&lt;br /&gt;
&lt;br /&gt;
Certains liens doivent être créés avec un nom spécial (ex : *_'''eth0''' pour faire référence à une interface en particulier)&lt;br /&gt;
&lt;br /&gt;
== Plugins MySQL ==&lt;br /&gt;
Vérifier que les plugins mysql_* sont présents (les ajouter avec &amp;quot;ln -s /usr/share/munin/plugins/mysqlxxxxxx si nécessaires). Pour mysql munin a besoin de droits. Donc déclarer un utilsateur avec le minimum de droits sur les tables systèmes :&lt;br /&gt;
 # mysql -u root -p&lt;br /&gt;
  mysql&amp;gt; grant select on mysql.* to munin@localhost identified by 'munin';&lt;br /&gt;
  mysql&amp;gt; exit&lt;br /&gt;
Puis modifier le bloc [mysql*] dans /etc/munin/plugin-conf.d/munin-node&lt;br /&gt;
 [mysql*]&lt;br /&gt;
 user root&lt;br /&gt;
 env.mysqlopts -umunin -pmunin&lt;br /&gt;
&lt;br /&gt;
== Plugins APACHE_* ==&lt;br /&gt;
Les plugins apache ont besoin de server-status. Pour l'activer voir [[Activation de server-status]].&lt;br /&gt;
&lt;br /&gt;
Note : server-status est activé par défaut sur Debian 6 Squeeze.&lt;br /&gt;
&lt;br /&gt;
Créer ensuite un lien des scripts /usr/share/munin/plugins/apache_* vers /etc/munin/plugins&lt;br /&gt;
 cd /etc/munin/plugins&lt;br /&gt;
 ln -s /usr/share/munin/plugins/apache_accesses&lt;br /&gt;
 ln -s /usr/share/munin/plugins/apache_volume&lt;br /&gt;
 ln -s /usr/share/munin/plugins/apache_processes&lt;br /&gt;
&lt;br /&gt;
== Plugins ip_* ==&lt;br /&gt;
if_* n'est pas sûr pour des cartes à 100Mb ou 1Gb. Il vaut mieux ajouter le plugin ip_&lt;br /&gt;
&lt;br /&gt;
Le plugin ip_ de munin-node réclame 2 règles iptables pour compter les paquets au niveau IP,  en début de INPUT :&lt;br /&gt;
 /sbin/iptables -I INPUT -d &amp;lt;'''adresse IP à surveiller'''&amp;gt;&lt;br /&gt;
 /sbin/iptables -I OUTPUT -s &amp;lt;'''adresse IP à surveiller'''&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le plus simple est de les placer dans /etc/rc.local pour qu'elles soient chargées au démarrage.&lt;br /&gt;
&lt;br /&gt;
Activation du module :&lt;br /&gt;
 ln -s /usr/share/munin/plugins/ip_ /etc/munin/plugins/ip_&amp;lt;'''adresse IP à surveiller'''&amp;gt;&lt;br /&gt;
Et ajouter dans /etc/munin/plugin-conf.d/munin-node&lt;br /&gt;
 [ip*]&lt;br /&gt;
 user root&lt;br /&gt;
&lt;br /&gt;
Redémarrer le service munin-node :&lt;br /&gt;
 /etc/init.d/munin-node restart&lt;br /&gt;
&lt;br /&gt;
''Note pour ISPConfig'' : ajout d'un script init.d/ispconfig_zcustom (z pour qu'il se lance après ispconfig_server) :&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 # FSO 01/2008&lt;br /&gt;
 ###################################&lt;br /&gt;
 #&lt;br /&gt;
 # ISPConfig custom tasks&lt;br /&gt;
 #&lt;br /&gt;
 ###################################&lt;br /&gt;
 IPTABLES=/sbin/iptables&lt;br /&gt;
 IP=192.168.1.1&lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
    start)&lt;br /&gt;
        echo &amp;quot;ISPConfig custom script...&amp;quot;&lt;br /&gt;
        # OSSEC HIDS ip_ plugin comment : &amp;quot;...you need these iptables rules as the first rules (they don't do anything, just make packet counts)&amp;quot;&lt;br /&gt;
        $IPTABLES -I INPUT -d $IP&lt;br /&gt;
        $IPTABLES -I OUTPUT -s $IP&lt;br /&gt;
    ;;&lt;br /&gt;
    stop)&lt;br /&gt;
        $IPTABLES -D INPUT -d $IP&lt;br /&gt;
        $IPTABLES -D OUTPUT -s $IP&lt;br /&gt;
    ;;&lt;br /&gt;
    restart)&lt;br /&gt;
        $0 stop  &amp;amp;&amp;amp; sleep 1&lt;br /&gt;
        $0 start&lt;br /&gt;
    ;;&lt;br /&gt;
    *)&lt;br /&gt;
    echo &amp;quot;Usage: $0 {start|stop|restart}&amp;quot;&lt;br /&gt;
    exit 1&lt;br /&gt;
 esac&lt;br /&gt;
 exit 0&lt;br /&gt;
Puis ajout aux runlevels par défaut : update-rc.d ispconfig_zcustom defaults 99 98&lt;br /&gt;
&lt;br /&gt;
== Plugins PostgreSQL ==&lt;br /&gt;
Les plugins postgresql (/usr/share/munin/plugins/postgres_*) demandent une librairie Perl pour fonctionner sur Debian :&lt;br /&gt;
 apt-get install libdbd-pg-perl&lt;br /&gt;
&lt;br /&gt;
= TIPS =&lt;br /&gt;
== Tests ==&lt;br /&gt;
 munin-run mysql_bytes&lt;br /&gt;
On peut essayer aussi&lt;br /&gt;
 telnet &amp;lt;'''host_surveillé'''&amp;gt; 4949&lt;br /&gt;
 fetch df&lt;br /&gt;
 config df&lt;br /&gt;
&lt;br /&gt;
qui donne ce que voit le serveur munin (ici pour le service df) en interrogeant munin-node du &amp;quot;host surveillé&amp;quot;. Essayer aussi les commandes &amp;quot;list&amp;quot;, et &amp;quot;nodes&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour quitter telnet taper &amp;quot;quit&amp;quot; ou attendre quelque secondes, la session se ferme seule s'il n'y a pas d'activité.&lt;br /&gt;
&lt;br /&gt;
Sur le serveur Munin qui centralise les nodes, on peut vérifier les échanges par :&lt;br /&gt;
 # su -s /bin/bash munin&lt;br /&gt;
 $ /usr/share/munin/munin-update --debug --nofork --stdout --host &amp;lt;'''host_surveillé'''&amp;gt; --service df&lt;br /&gt;
&lt;br /&gt;
== Si modification device eth ==&lt;br /&gt;
Ex : après install des VMWareTools, eth1 passe en eth0&lt;br /&gt;
Penser à renommer /etc/munin/plugins/if_* (par mv, pas par cp, pour ne toucher qu'aux liens)&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Installation_de_munin_/_munin-node&amp;diff=5534</id>
		<title>Installation de munin / munin-node</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Installation_de_munin_/_munin-node&amp;diff=5534"/>
				<updated>2013-02-12T09:45:50Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : Pierrick a déplacé la page Installation de munin / munin-node vers Installation de munin - munin-node&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECTION [[Installation de munin - munin-node]]&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Owncloud_:_installation_sur_Centos_-_Blueonyx_6&amp;diff=5531</id>
		<title>Owncloud : installation sur Centos - Blueonyx 6</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Owncloud_:_installation_sur_Centos_-_Blueonyx_6&amp;diff=5531"/>
				<updated>2013-02-12T09:45:39Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : Pierrick a déplacé la page Owncloud : installation sur Centos / Blueonyx 6 vers Owncloud : installation sur Centos - Blueonyx 6&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Pré-requis ==&lt;br /&gt;
Dépéndances :&lt;br /&gt;
 yum install httpd php php-xml php-mbstring php-gd  php-mysql mysql-server&lt;br /&gt;
&lt;br /&gt;
Dépendances optionnelles :&lt;br /&gt;
 yum install php-sqlite curl libcurl libcurl-devel php-pdo&lt;br /&gt;
&lt;br /&gt;
On lance apache et mysql au démarrage : &lt;br /&gt;
 chkconfig httpd on&lt;br /&gt;
 chkconfig mysqld on&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Télécharger les sources de owncloud: http://owncloud.org/releases/&lt;br /&gt;
 cd /var/www&lt;br /&gt;
 wget http://owncloud.org/releases/owncloud-4.5.6.tar.bz2&lt;br /&gt;
 tar xjvf owncloud-4.5.6.tar.bz2&lt;br /&gt;
 chown -R apache:apache owncloud&lt;br /&gt;
&lt;br /&gt;
== Mysql ==&lt;br /&gt;
Créer la base de données :&lt;br /&gt;
 mysql -u root&lt;br /&gt;
&lt;br /&gt;
 CREATE DATABASE  `owncloud_db` ;&lt;br /&gt;
 CREATE USER 'owncloud'@'localhost' IDENTIFIED BY  '********';&lt;br /&gt;
 GRANT ALL PRIVILEGES ON  `owncloud_db` . * TO  'owncloud'@'localhost';&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== apache ==&lt;br /&gt;
Générer les certificats :&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 openssl genrsa -des3 -out server.pkey 2048&lt;br /&gt;
 openssl rsa -in server.pkey -out server.key&lt;br /&gt;
&lt;br /&gt;
 openssl req -new -key server.key -out server.csr&lt;br /&gt;
 openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt&lt;br /&gt;
&lt;br /&gt;
 chown apache:root server.crt server.key&lt;br /&gt;
 chmod 640 server.crt server.key&lt;br /&gt;
&lt;br /&gt;
 mkdir /etc/ssl/owncloud&lt;br /&gt;
 chown apache:root /etc/ssl/owncloud&lt;br /&gt;
 chmod 710 /etc/ssl/owncloud&lt;br /&gt;
 mv server.crt server.key /etc/ssl/owncloud/&lt;br /&gt;
&lt;br /&gt;
Créer le fichier de configuration d'apache :&lt;br /&gt;
 vim /etc/httpd/conf.d/owncloud.conf&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
ServerName owncloud.systea.net&lt;br /&gt;
&lt;br /&gt;
DocumentRoot /var/www/owncloud&lt;br /&gt;
    &amp;lt;Directory /var/www/owncloud&amp;gt;&lt;br /&gt;
	Options FollowSymLinks&lt;br /&gt;
        AllowOverride All&lt;br /&gt;
        Order allow,deny&lt;br /&gt;
        Allow from all&lt;br /&gt;
         &amp;lt;LimitExcept GET POST OPTIONS&amp;gt;&lt;br /&gt;
                 Allow from all&lt;br /&gt;
        &amp;lt;/LimitExcept&amp;gt;&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SSLEngine on&lt;br /&gt;
SSLCertificateFile /etc/ssl/owncloud/server.crt&lt;br /&gt;
SSLCertificateKeyFile /etc/ssl/owncloud/server.key&lt;br /&gt;
SSLCACertificateFile    /etc/ssl/owncloud/server.crt&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Éditer /etc/php.ini&lt;br /&gt;
 post_max_size = 1000M&lt;br /&gt;
 upload_max_filesize = 1000M&lt;br /&gt;
&lt;br /&gt;
== Problèmes ==&lt;br /&gt;
Si le Client Owncloud affiche l'erreur : ''csync n'a pu créer le fichier de verrouillage'' cela veut dire que le client Owncloud à mal été arrêté.&lt;br /&gt;
&lt;br /&gt;
Arrêter le client puis supprimer le fichier de lock :&lt;br /&gt;
 rm ~/.local/share/data/ownCloud/lock&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Owncloud_:_installation_sur_Centos_/_Blueonyx_6&amp;diff=5532</id>
		<title>Owncloud : installation sur Centos / Blueonyx 6</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Owncloud_:_installation_sur_Centos_/_Blueonyx_6&amp;diff=5532"/>
				<updated>2013-02-12T09:45:39Z</updated>
		
		<summary type="html">&lt;p&gt;Pierrick : Pierrick a déplacé la page Owncloud : installation sur Centos / Blueonyx 6 vers Owncloud : installation sur Centos - Blueonyx 6&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECTION [[Owncloud : installation sur Centos - Blueonyx 6]]&lt;/div&gt;</summary>
		<author><name>Pierrick</name></author>	</entry>

	</feed>