<?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=Frank</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=Frank"/>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Sp%C3%A9cial:Contributions/Frank"/>
		<updated>2026-06-25T20:54:51Z</updated>
		<subtitle>Contributions de l’utilisateur</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Seafile_:_installation_sur_CentOS&amp;diff=6648</id>
		<title>Seafile : installation sur CentOS</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Seafile_:_installation_sur_CentOS&amp;diff=6648"/>
				<updated>2021-01-06T13:07:28Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Lancement automatique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installation ==&lt;br /&gt;
Update 08/2018 : procédure revue pour CentOS7 et Seafile 6.3.2 (particularité : Seahub n'utilise plus fastcgi).&lt;br /&gt;
&lt;br /&gt;
Installer les pré-requis :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
yum install python-setuptools python-simplejson python-imaging MySQL-python httpd mod_ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vérifier la dernière version serveur sur https://www.seafile.com/en/download/&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd install/&lt;br /&gt;
 wget https://download.seadrive.org/seafile-server_[ dernière version de Seafile ]_x86-64.tar.gz # ou ....i386.tar.gz sur système 32 bits&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Créer un répertoire seafile dans /home:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd /home&lt;br /&gt;
 mkdir seafile&lt;br /&gt;
 cd seafile&lt;br /&gt;
 tar -xvzf /root/install/seafile-server_[ version seafile ]_*.tar.gz&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
L'archive crée un sous-répertoire avec la version en cours. Lors d'une mise à jour, la précédente version ne sera donc pas écrasée.&lt;br /&gt;
&lt;br /&gt;
Lancer l'installation (qui créera les bases de données) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd seafile-server-[ version seafile ]&lt;br /&gt;
 ./setup-seafile-mysql.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Nommer le server (nom affiché sur les clients, sans espaces)&lt;br /&gt;
* donner l'IP du serveur&lt;br /&gt;
* laisser le port ccnet, le chemin des données et les ports seafile par défaut&lt;br /&gt;
* donner un mail pour l'administrateur (mail existant si possible, qui servira à se connecter à l'interface) et un mot de passe&lt;br /&gt;
* Choisir &amp;quot;1&amp;quot; pour créer les bases&lt;br /&gt;
* donner les paramètres MySQL&lt;br /&gt;
* demander la création d'un utilisateur seafile&lt;br /&gt;
* laisser les noms de bases par défaut&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
On peut alors tester Seafile directement :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 sudo su - seafile # au cas où on s'est connecté &amp;quot;root&amp;quot; auparavant&lt;br /&gt;
 ./seafile.sh start&lt;br /&gt;
 ./seahub.sh start&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
NOTE : IL EST IMPORTANT de lancer &amp;quot;seahub.sh start&amp;quot; AU MOINS UNE FOIS en ligne de commande, car cette première fois demande la mail (donc le login) et le mot de passe de l'utilisateur admin de Seafile !&lt;br /&gt;
&lt;br /&gt;
Se connecter à l'interface par &amp;lt;nowiki&amp;gt;http://IP_DU_SERVEUR:8000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
Editer le fichier /home/seafile/conf/seafile.conf&lt;br /&gt;
 [fileserver]&lt;br /&gt;
 port = 8082&lt;br /&gt;
 &lt;br /&gt;
 [database]&lt;br /&gt;
 type = mysql&lt;br /&gt;
 host = 127.0.0.1&lt;br /&gt;
 port = 3306&lt;br /&gt;
 user = seafile&lt;br /&gt;
 password = PwdMySQLseafile&lt;br /&gt;
 db_name = seafile-db&lt;br /&gt;
 connection_charset = utf8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Editer le fichier /home/seafile/conf/seahub_settings.py :&lt;br /&gt;
 # -*- coding: utf-8 -*-&lt;br /&gt;
 SECRET_KEY = &amp;quot;d56a6cbc-751c-dc66-9fdb-45f4492f5abda7d3&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 DATABASES = {&lt;br /&gt;
     'default': {&lt;br /&gt;
         'ENGINE': 'django.db.backends.mysql',&lt;br /&gt;
         'NAME': 'seahub-db',&lt;br /&gt;
         'USER': 'seafile',&lt;br /&gt;
         'PASSWORD': 'PwdSeafile',&lt;br /&gt;
         'HOST': '127.0.0.1',&lt;br /&gt;
         'PORT': '3306',&lt;br /&gt;
         'OPTIONS': {&lt;br /&gt;
             'init_command': 'SET '''default_storage_engine'''=INNODB',&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 FILE_SERVER_ROOT = 'https://seafile.domain.fr/seafhttp'&lt;br /&gt;
 &lt;br /&gt;
 EMAIL_USE_TLS = False&lt;br /&gt;
 EMAIL_HOST = 'localhost'        # smpt server&lt;br /&gt;
 EMAIL_HOST_USER = ''    # username and domain&lt;br /&gt;
 EMAIL_HOST_PASSWORD = ''    # password&lt;br /&gt;
 EMAIL_PORT = '25'&lt;br /&gt;
 DEFAULT_FROM_EMAIL = 'postmaster@domain.fr' # parce que EMAIL_HOST_USER est vide ci-dessus, sinon on peut reprendre cette variable.&lt;br /&gt;
 SERVER_EMAIL = 'postmaster@domain.fr'&lt;br /&gt;
&lt;br /&gt;
Attention au &amp;quot;default_storage_engine&amp;quot; (plutôt que &amp;quot;storage_engine&amp;quot;) à partir de la version 5 de Seafile !&lt;br /&gt;
&lt;br /&gt;
== Lancement automatique ==&lt;br /&gt;
https://github.com/haiwen/seafile/wiki/Start-seafile-server-at-system-bootup&lt;br /&gt;
&lt;br /&gt;
D'abord, arrêter Seafile !&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd seafile-server-latest&lt;br /&gt;
 ./seafile.sh stop&lt;br /&gt;
 ./seahub.sh stop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Créer un utilisateur seafile, dont le homedir sera le répertoire seafile :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 adduser -c &amp;quot;Seafile user&amp;quot; -d /home/seafile seafile&lt;br /&gt;
 chown -R seafile:seafile /home/seafile&lt;br /&gt;
 chmod 750 /home/seafile&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT''' : vérifier l'appartenance de l'arborescence /home/seafile pour qu'il n'y ait pas de problèmes de droits !&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 chown -R seafile:seafile /home/seafile&lt;br /&gt;
 chmod 750 /home/seafile&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Créer /etc/systemd/system/seafile.service&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Seafile&lt;br /&gt;
# add mysql.service or postgresql.service depending on your database to the line below&lt;br /&gt;
After=network.target mysql.service&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
ExecStart=/home/seafile/seafile-server-latest/seafile.sh start&lt;br /&gt;
ExecStop=/home/seafile/seafile-server-latest/seafile.sh stop&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
User=seafile&lt;br /&gt;
Group=seafile&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
et /etc/systemd/system/seahub.service&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Seafile hub&lt;br /&gt;
After=network.target seafile.service&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
# change start to start-fastcgi if you want to run fastcgi&lt;br /&gt;
ExecStart=/home/seafile//seafile-server-latest/seahub.sh start&lt;br /&gt;
ExecStop=/home/seafile/seafile-server-latest/seahub.sh stop&lt;br /&gt;
User=seafile&lt;br /&gt;
Group=seafile&lt;br /&gt;
Type=oneshot&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Activer et lancer les 2 services&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl enable seafile&lt;br /&gt;
systemctl enable seahub&lt;br /&gt;
systemctl start seafile&lt;br /&gt;
systemctl start seahub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ARCHIVES&lt;br /&gt;
== Plusieurs versions de Python ==&lt;br /&gt;
Si, après l'installation de Seafile avec Python 2.6, une version 2.7 est installée sur le serveur, par défaut c'est cette dernière qui sera utilisée (les scripts de lancement de Seafile et Seahub recherchent les binaires Python et s'arrêtent sur la 2.7).&lt;br /&gt;
&lt;br /&gt;
Mais les modules nécessaires à Seafile ont été installés sur la version 2.6, la 2.7 ne les voit pas, Seafile ne démarre pas (dans les logs, erreurs du type :&lt;br /&gt;
&amp;quot;ImportError: No module named simplejson&amp;quot; ou ImportError: No module named MySQL-python&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Si (comme c'est le cas sur CentOS6 où la version 2.7 n'est pas dans les dépôts, et doit être installée manuellement) les modules nécessaires ne sont pas facilement installables sur la 2.7, il faut forcer la 2.6.&lt;br /&gt;
&lt;br /&gt;
Pour ça, on initialise la variable PYTHON qui, si elle n'est pas vide, empêche les scripts Seafile de chercher plus loin.&lt;br /&gt;
&lt;br /&gt;
Créer /home/seafile/.bash_profile avec :&lt;br /&gt;
 PYTHON=/usr/bin/python2.6 # le chemin de l'exécutable qu'on souhaite&lt;br /&gt;
 export PYTHON&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 chown seafile.seafile /home/seafile/.bash_profile&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Les scripts ne devraient plus chercher Python et démarrer sans problème.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Connexion seahub par Apache ==&lt;br /&gt;
Depuis la version 6.3.2, Seafile n'utilise plus fastcgi. On utilise Apache en proxy simple. On ne détaillera ici que la configuration SSL.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ARCHIVES&lt;br /&gt;
Pour la liaison entre Apache et Seafile, on utilisera Fastcgi. Sur CentOS, à installer des dépôts RPMForge (voir [[Dépôts complémentaires]]) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  yum install --enablerepo=rpmforge mod_fastcgi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Editer /etc/httpd/conf.d/fastcgi.conf, modifier :&lt;br /&gt;
  FastCgiWrapper Off&lt;br /&gt;
et ajouter à la fin :&lt;br /&gt;
  &amp;lt;IfModule mod_fastcgi.c&amp;gt;&lt;br /&gt;
      FastCGIExternalServer /var/www/seahub.fcgi -host 127.0.0.1:8000 &lt;br /&gt;
  &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
'''NOTE : le fichier /var/www/seahub.fcgi n'a pas besoin d'exister, ce n'est qu'un &amp;quot;wrapper&amp;quot; (voir ci-dessous)'''&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Créer un fichier /etc/httpd/conf.d/seafile.conf :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
    ServerName seafile.domain.fr&lt;br /&gt;
    DocumentRoot /var/www&lt;br /&gt;
    Alias /media /home/seafile/seafile-server-latest/seahub/media/           &lt;br /&gt;
    RewriteEngine On&lt;br /&gt;
    &lt;br /&gt;
    # seafile httpserver&lt;br /&gt;
    #&lt;br /&gt;
    ProxyPass /seafhttp http://127.0.0.1:8082&lt;br /&gt;
    ProxyPassReverse /seafhttp http://127.0.0.1:8082&lt;br /&gt;
    RewriteRule ^/seafhttp - [QSA,L]&lt;br /&gt;
  &lt;br /&gt;
    #&lt;br /&gt;
    # seahub&lt;br /&gt;
    #&lt;br /&gt;
    RewriteRule ^/(media.*)$ /$1 [QSA,L,PT]&lt;br /&gt;
    RewriteCond %{REQUEST_FILENAME} !-f&lt;br /&gt;
    RewriteRule ^(.*)$ /seahub.fcgi$1 [QSA,L,E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]&lt;br /&gt;
    &lt;br /&gt;
    # add ssl protocol&lt;br /&gt;
    SSLEngine On&lt;br /&gt;
    SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire&lt;br /&gt;
    SSLCertificateFile    /etc/ssl/seafile.crt&lt;br /&gt;
    SSLCertificateKeyFile /etc/ssl/seafile.key&lt;br /&gt;
&amp;lt;/virtualhost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ARCHIVE&lt;br /&gt;
'''NOTE : le DocumentRoot doit correspondre au chemin du &amp;quot;wrapper&amp;quot; seahub.fcgi paramétré plus haut !'''&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Dans /home/seafile, éditer ccnet/ccnet.conf, modifier SERVICE_URL par l'URL externe de Seafile (ce paramètre sera utilisé pour construire notamment les liens qui pourraient être envoyés par mail) :&lt;br /&gt;
  SERVICE_URL = https://seafile.domain.fr&lt;br /&gt;
Editer seahub_settings.py, ajouter :&lt;br /&gt;
  HTTP_SERVER_ROOT = 'https://seafile.domain.fr/seafhttp'&lt;br /&gt;
&amp;quot;HTTP_SERVER_ROOT&amp;quot; peut être aussi &amp;quot;FILE_SERVER_ROOT&amp;quot;, indifféremment.&lt;br /&gt;
&lt;br /&gt;
Générer des certificats (ou utiliser Let'sEncrypt !) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  openssl genrsa -out privkey.pem 2048&lt;br /&gt;
  openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Copier et renommer les fichiers générés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  mv cacert.pem /etc/ssl/seafile.crt&lt;br /&gt;
  mv privkey.pem /etc/ssl/seafile.key&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Si nécessaire, faire une redirection du site HTTP vers HTTPS. A la racine du site HTTP (port 80, qui doit être différente de la racine du site HTTPS), créer un fichier .htaccess :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RewriteEngine On&lt;br /&gt;
RewriteCond %{HTTPS} off&lt;br /&gt;
RewriteRule ^(.*)$ https://seafile.domain.fr/$1 [L,R=301]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/httpd/conf/httpd.conf : s'assurer que la directive &amp;quot;AllowOverride&amp;quot; du site par défaut (sous &amp;lt;Directory /var/www/html&amp;gt;) est à &amp;quot;All&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Supprimer /etc/httpd/conf.d/welcome.conf pour ne pas tomber sur la page de test en cas d'erreur.&lt;br /&gt;
&lt;br /&gt;
Reste à relancer apache&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  systemctl restart httpd&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''NOTE : Vérifier qu'Apache écoute sur le port 443 ! Décommenter &amp;quot;Listen 443&amp;quot; dans /etc/httpd/conf.d/ssl.conf.'''&lt;br /&gt;
&lt;br /&gt;
== Connexion seahub par NGINX ==&lt;br /&gt;
&amp;lt;!-- ARCHIVES&lt;br /&gt;
La configuration nginx (https via fastcgi) est enregistrée dans un fichier, chargé ensuite en &amp;quot;include&amp;quot; dans la configuration de nginx :&lt;br /&gt;
 server {&lt;br /&gt;
     listen 192.168.0.50:443;&lt;br /&gt;
     ssl on;&lt;br /&gt;
     ssl_certificate      /home/seafile/conf/ssl.seafile.domain.fr.pem;&lt;br /&gt;
     ssl_certificate_key  /home/seafile/conf/ssl.seafile.domain.fr.key;&lt;br /&gt;
     server_name  seafile.domain.fr;&lt;br /&gt;
     proxy_set_header X-Forwarded-For $remote_addr;&lt;br /&gt;
 &lt;br /&gt;
     add_header Strict-Transport-Security &amp;quot;max-age=31536000; includeSubdomains&amp;quot;;&lt;br /&gt;
     server_tokens off;&lt;br /&gt;
 &lt;br /&gt;
     location / {&lt;br /&gt;
         fastcgi_pass    127.0.0.1:8000;&lt;br /&gt;
         fastcgi_param   SCRIPT_FILENAME     $document_root$fastcgi_script_name;&lt;br /&gt;
         fastcgi_param   PATH_INFO           $fastcgi_script_name;&lt;br /&gt;
 &lt;br /&gt;
         fastcgi_param   SERVER_PROTOCOL        $server_protocol;&lt;br /&gt;
         fastcgi_param   QUERY_STRING        $query_string;&lt;br /&gt;
         fastcgi_param   REQUEST_METHOD      $request_method;&lt;br /&gt;
         fastcgi_param   CONTENT_TYPE        $content_type;&lt;br /&gt;
         fastcgi_param   CONTENT_LENGTH      $content_length;&lt;br /&gt;
         fastcgi_param   SERVER_ADDR         $server_addr;&lt;br /&gt;
         fastcgi_param   SERVER_PORT         $server_port;&lt;br /&gt;
         fastcgi_param   SERVER_NAME         $server_name;&lt;br /&gt;
         fastcgi_param   HTTPS               on;&lt;br /&gt;
         fastcgi_param   HTTP_SCHEME         https;&lt;br /&gt;
 &lt;br /&gt;
         access_log      /var/log/nginx/seahub.access.log;&lt;br /&gt;
         error_log       /var/log/nginx/seahub.error.log;&lt;br /&gt;
         fastcgi_read_timeout 36000;&lt;br /&gt;
     }&lt;br /&gt;
     location /seafhttp {&lt;br /&gt;
         rewrite ^/seafhttp(.*)$ $1 break;&lt;br /&gt;
         proxy_pass http://127.0.0.1:8082;&lt;br /&gt;
         client_max_body_size 0;&lt;br /&gt;
         proxy_connect_timeout  36000s;&lt;br /&gt;
         proxy_read_timeout  36000s;&lt;br /&gt;
         proxy_send_timeout  36000s;&lt;br /&gt;
         send_timeout  36000s;&lt;br /&gt;
     }&lt;br /&gt;
     location /media {&lt;br /&gt;
         root /home/seafile/seafile-server-latest/seahub;&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Créer /etc/nginx/conf.d/seafile.conf :&lt;br /&gt;
    server {&lt;br /&gt;
        listen 443;&lt;br /&gt;
        ssl on;&lt;br /&gt;
        ssl_certificate /etc/ssl/cacert.pem;        # path to your cacert.pem&lt;br /&gt;
        ssl_certificate_key /etc/ssl/privkey.pem;    # path to your privkey.pem&lt;br /&gt;
        server_name seafile.example.com;&lt;br /&gt;
        ssl_session_timeout 5m;&lt;br /&gt;
        ssl_session_cache shared:SSL:5m;&lt;br /&gt;
 &lt;br /&gt;
        # Diffie-Hellman parameter for DHE ciphersuites, recommended 2048 bits&lt;br /&gt;
        ssl_dhparam /etc/nginx/dhparam.pem;&lt;br /&gt;
 &lt;br /&gt;
        # secure settings (A+ at SSL Labs ssltest at time of writing)&lt;br /&gt;
        # see https://wiki.mozilla.org/Security/Server_Side_TLS#Nginx&lt;br /&gt;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;&lt;br /&gt;
        ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-CAMELLIA256-SHA:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-SEED-SHA:DHE-RSA-CAMELLIA128-SHA:HIGH:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS';&lt;br /&gt;
        ssl_prefer_server_ciphers on;&lt;br /&gt;
 &lt;br /&gt;
        proxy_set_header X-Forwarded-For $remote_addr;&lt;br /&gt;
 &lt;br /&gt;
        add_header Strict-Transport-Security &amp;quot;max-age=31536000; includeSubDomains&amp;quot;;&lt;br /&gt;
        server_tokens off;&lt;br /&gt;
 &lt;br /&gt;
        location / {&lt;br /&gt;
            proxy_pass         http://127.0.0.1:8000;&lt;br /&gt;
            proxy_set_header   Host $host;&lt;br /&gt;
            proxy_set_header   X-Real-IP $remote_addr;&lt;br /&gt;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;&lt;br /&gt;
            proxy_set_header   X-Forwarded-Host $server_name;&lt;br /&gt;
            proxy_set_header   X-Forwarded-Proto https;&lt;br /&gt;
 &lt;br /&gt;
            access_log      /var/log/nginx/seahub.access.log;&lt;br /&gt;
            error_log       /var/log/nginx/seahub.error.log;&lt;br /&gt;
 &lt;br /&gt;
            proxy_read_timeout  1200s;&lt;br /&gt;
 &lt;br /&gt;
            client_max_body_size 0;&lt;br /&gt;
        }&lt;br /&gt;
 &lt;br /&gt;
        location /seafhttp {&lt;br /&gt;
            rewrite ^/seafhttp(.*)$ $1 break;&lt;br /&gt;
            proxy_pass http://127.0.0.1:8082;&lt;br /&gt;
            client_max_body_size 0;&lt;br /&gt;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;&lt;br /&gt;
            proxy_connect_timeout  36000s;&lt;br /&gt;
            proxy_read_timeout  36000s;&lt;br /&gt;
            proxy_send_timeout  36000s;&lt;br /&gt;
            send_timeout  36000s;&lt;br /&gt;
        }&lt;br /&gt;
        location /media {&lt;br /&gt;
            root /home/user/haiwen/seafile-server-latest/seahub;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Et créer le fichier DHPARAM :&lt;br /&gt;
    openssl dhparam 2048 &amp;gt; /etc/nginx/dhparam.pem&lt;br /&gt;
&lt;br /&gt;
== WebDAV ==&lt;br /&gt;
Pour activer WebDAV (gestion des fichiers via le web) sur Seafile :&lt;br /&gt;
* Editer seafile/conf/seafdav.conf&lt;br /&gt;
  [WEBDAV]&lt;br /&gt;
  enabled = true&lt;br /&gt;
  port = 8080&lt;br /&gt;
  fastcgi = true&lt;br /&gt;
  share_name = /seafdav&lt;br /&gt;
&lt;br /&gt;
* Ajouter dans /etc/httpd/conf.d/seafile.conf les lignes suivantes :&lt;br /&gt;
&lt;br /&gt;
  #&lt;br /&gt;
  # seafile webdav&lt;br /&gt;
  #&lt;br /&gt;
  RewriteCond %{HTTP:Authorization} (.+)&lt;br /&gt;
  RewriteRule ^(/seafdav.*)$ /seafdav.fcgi$1 [QSA,L,e=HTTP_AUTHORIZATION:%1]&lt;br /&gt;
  RewriteRule ^(/seafdav.*)$ /seafdav.fcgi$1 [QSA,L]&lt;br /&gt;
&lt;br /&gt;
* Ajouter dans /etc/httpd/conf.d/fastcgi.conf la ligne :&lt;br /&gt;
&lt;br /&gt;
  FastCGIExternalServer /var/www/seafdav.fcgi -host 127.0.0.1:8080&lt;br /&gt;
&lt;br /&gt;
Reste à relancer apache et Seafile&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  systemctl restart httpd&lt;br /&gt;
  systemctl restart seafile&lt;br /&gt;
  systemctl restart seahub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
La connexion du client DAV se fera sur le dossier &amp;quot;/seafdav&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Memcached ==&lt;br /&gt;
On peut utiliser seafile avec memcached pour accélérer la navigation :&lt;br /&gt;
&lt;br /&gt;
Installation dur CentOS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  yum install memcached python-memcached&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ajouter dans seafile/conf/seahub_setting.py :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CACHES = {&lt;br /&gt;
    'default': {&lt;br /&gt;
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',&lt;br /&gt;
	'LOCATION': '127.0.0.1:11211',&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mise à jour ==&lt;br /&gt;
Arrêter seafile et seahub :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  systemctl stop seafile&lt;br /&gt;
  systemctl stop seahub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
On donne tout de suite les droits à l'utilisateur seafile (important ! si on fait ensuite la mise à jour en tant qu'utilisateur &amp;quot;seafile&amp;quot;) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  chown -R seafile:apache /home/seafile &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Passer sous l'utilisateur seafile (préférable, pour éviter les problèmes de version de Python, voir&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  su - seafile&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Télécharger et installer la mise à jour :&lt;br /&gt;
/* archive&lt;br /&gt;
  wget https://bitbucket.org/haiwen/seafile/downloads/seafile-server_6.2.3_x86-64.tar.gz */&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  cd /home/seafile&lt;br /&gt;
  wget https://download.seadrive.org/seafile-server_6.3.4_x86-64.tar.gz&lt;br /&gt;
  tar xvzf  seafile-server_6.2.3_i386.tar.gz&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Mise à jour de version principale (6.0 -&amp;gt; 6.3) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd seafile-server-6.3.4/upgrade&lt;br /&gt;
 ./upgrade_6.0_6.1.sh&lt;br /&gt;
 ./upgrade_6.1_6.2.sh&lt;br /&gt;
 ./upgrade_6.2_6.3.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Redevenir &amp;quot;root&amp;quot; et lancer les services seafile et seahub&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  systemctl start seafile&lt;br /&gt;
  systemctl start seahub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Personnalisation ==&lt;br /&gt;
=== Logo ===&lt;br /&gt;
Mettre l'image ici, avec ce nom exact (sauvegarder éventuellement le seafile_logo.png existant) :&lt;br /&gt;
 /home/seafile/seafile-server-latest/seahub/media/img/seafile_logo.png&lt;br /&gt;
Redémarrer seahub&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ARCHIVES&lt;br /&gt;
=== Traduction ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /home/seafile/seafile-server-2.1.5/seahub/locale/fr/LC_MESSAGES&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Suppression de l'ancienne traduction :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  rm django.po&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Télécharger la traduction :&lt;br /&gt;
* depuis le site officiel de traduction :&amp;lt;br/&amp;gt;&lt;br /&gt;
https://www.transifex.com/organization/haiwen/dashboard/seahub&lt;br /&gt;
&lt;br /&gt;
* ou depuis le depot git de seahub :&amp;lt;br/&amp;gt;&lt;br /&gt;
https://github.com/haiwen/seahub/tree/master/locale/fr/LC_MESSAGES&lt;br /&gt;
&lt;br /&gt;
Compiler le fichier de traduction :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  msgfmt -o django.mo -v django.po&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Redémarrer seahub&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sauvegarde / restauration ==&lt;br /&gt;
=== Sauvegarde ===&lt;br /&gt;
Il est préférable d'arrêter les service Seafile avant sauvegarde, afin que celle-ci soit cohérente.&lt;br /&gt;
* Sauvegarder le dossier /home/seafile/ (dans son entier, c'est plus simple)&lt;br /&gt;
* Sauvegarder les 3 bases de données (par mysqldump sous MySQL/MariaDB) : ccnet-db, seafile-db, seahub-db&lt;br /&gt;
&lt;br /&gt;
=== Restauration ===&lt;br /&gt;
Réinstaller si nécessaire Seafile, puis supprimer (ou renommer en .bak) le dossier /home/seafile.&lt;br /&gt;
&lt;br /&gt;
Après sauvegarde (ou dump) des 3 bases de données (au cas où), les supprimer, et les recréer vides.&lt;br /&gt;
&lt;br /&gt;
Restaurer les 3 bases.&lt;br /&gt;
&lt;br /&gt;
Restaurer le dossier /home/seafile.&lt;br /&gt;
&lt;br /&gt;
Lancer les services Seafile, et faire un check du répertoire (voir ci-dessous)&lt;br /&gt;
== Réparation ==&lt;br /&gt;
En cas de message d'erreur sur des bibilothèques (&amp;quot;endommagée&amp;quot;), lancer un check :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd /home/seafile/seafile-server-latest/&lt;br /&gt;
 ./seaf-fsck.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si des bibliothèques apparaissent corrompues et si le script indique &amp;quot;Find available commit xxxxx (created at xxxx-xx-xx xx:xx:xx) for repo xxxxxxx.&amp;quot;, copier l'identifiant du dépôt (indiqué sur la ligne &amp;quot;Running fsck for repo xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&amp;quot;) et lancer une réparation :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd /home/seafile/seafile-server-latest/&lt;br /&gt;
 ./seaf-fsck.sh --repair xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TIPS ==&lt;br /&gt;
* Les logs sont visibles dans &amp;lt;racine_du_virtualhost&amp;gt;/seafile/seafile-server-&amp;lt;version&amp;gt;/runtime/&lt;br /&gt;
* changer le mail administrateur : &amp;lt;racine_du_virtualhost&amp;gt;/seafile/seafile-server-&amp;lt;version&amp;gt;/reset_admin.sh&lt;br /&gt;
* administer seafile en ligne de commande : https://github.com/HenriWahl/seafadm&lt;br /&gt;
* backup en utilisant l'api (fichier api.py intéressant) : https://github.com/oal/barch&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Remplacer_MySQL_par_MariaDB_sur_CentOS6/7&amp;diff=6647</id>
		<title>Remplacer MySQL par MariaDB sur CentOS6/7</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Remplacer_MySQL_par_MariaDB_sur_CentOS6/7&amp;diff=6647"/>
				<updated>2020-02-11T15:35:30Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installation MariaDB version 10 ==&lt;br /&gt;
&lt;br /&gt;
Créer un fichier pour les dépôts MariaDB&lt;br /&gt;
&lt;br /&gt;
/etc/yum.repos.d/MariaDB.repo (vérifier la dernière version disponible sur http://yum.mariadb.org/) :&lt;br /&gt;
 [mariadb]&lt;br /&gt;
 name = MariaDB&lt;br /&gt;
 baseurl = http://yum.mariadb.org/10.3.5/centos74-amd64/&lt;br /&gt;
 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB&lt;br /&gt;
 gpgcheck=1&lt;br /&gt;
'''Pour CentOS 7, remplacer centos6-amd64 par centos7-amd64 ci-dessus'''&lt;br /&gt;
&lt;br /&gt;
Si MySQL est installé, enlever les libs et le server qui peuvent causer des conflits (ça ne touche pas aux bases de données, évidemment).&lt;br /&gt;
&lt;br /&gt;
CentOS7 :&lt;br /&gt;
 systemctl stop mysql&lt;br /&gt;
 ou&lt;br /&gt;
 systemctl stop mariadb&lt;br /&gt;
 rpm -e --nodeps mariadb mariadb-libs mariadb-server # MariaDB5.5 installé par défaut sur CentOS7 - ne pas utiliser &amp;quot;yum remove&amp;quot; pour éviter la désinstallation de dépendances comme Postfix ou Exim&lt;br /&gt;
&lt;br /&gt;
Installer MariaDB 10:&lt;br /&gt;
 yum install MariaDB-server MariaDB-shared&lt;br /&gt;
 systemctl start mysql # Attention, MariaDB crée un fichier d'init sans &amp;quot;d&amp;quot; au bout&lt;br /&gt;
&lt;br /&gt;
Paramétrer la sécurité:&lt;br /&gt;
 mysql_secure_installation&lt;br /&gt;
&lt;br /&gt;
Mettre à jour les bases existantes :&lt;br /&gt;
 mysql_upgrade -p&lt;br /&gt;
&lt;br /&gt;
== Mise à jour MariaDB 10.0 -&amp;gt; 10.1 ==&lt;br /&gt;
Il suffit de modifier le dépôt, et désinstaller la 10.0 (requis par le paquet 10.1 qui sinon indique une erreur)&lt;br /&gt;
 systemctl stop mysql&lt;br /&gt;
 yum remove MariaDB-server&lt;br /&gt;
Modifier le dépôt :&lt;br /&gt;
 [mariadb]&lt;br /&gt;
 name = MariaDB&lt;br /&gt;
 baseurl = http://yum.mariadb.org/10.0/centos6-amd64&lt;br /&gt;
 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB&lt;br /&gt;
 gpgcheck=1&lt;br /&gt;
Et réinstaller&lt;br /&gt;
 yum install MariaDB-server MariaDB-shared&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Seafile_:_Seaf-cli_(Command_line_client)&amp;diff=6646</id>
		<title>Seafile : Seaf-cli (Command line client)</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Seafile_:_Seaf-cli_(Command_line_client)&amp;diff=6646"/>
				<updated>2019-07-24T14:11:59Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Commandes seaf-cli */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installation ==&lt;br /&gt;
&lt;br /&gt;
Télécharger le client terminal ici&lt;br /&gt;
  https://seafile.de/en/download/&lt;br /&gt;
&lt;br /&gt;
Extraire l'archive (dans /home/seaf-cli par éxemple)&lt;br /&gt;
&lt;br /&gt;
== Initialiser le client ==&lt;br /&gt;
Créer un dossier pour les fichier de conf : &lt;br /&gt;
  mkdir ~/.seafile-client&lt;br /&gt;
Initialiser le client avec le dossier précédament créé : &lt;br /&gt;
  ./seaf-cli init -d ~/.seafile-client&lt;br /&gt;
Démarrer le client : &lt;br /&gt;
  ./seaf-cli start&lt;br /&gt;
&lt;br /&gt;
== Installer la commande seaf-cli == &lt;br /&gt;
Se rendre dans le dossier d'installation :&lt;br /&gt;
  cd &amp;lt;dossier seaf-cli&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Créer un lien vers le script '''seaf-cli''' dans '''/usr/bin'''&lt;br /&gt;
  ln -s $(readlink -f seaf-cli) /usr/bin&lt;br /&gt;
&lt;br /&gt;
== Commandes seaf-cli ==&lt;br /&gt;
&lt;br /&gt;
Télécharger une librairie depuis le serveur : &lt;br /&gt;
  seaf-cli download -l &amp;quot;id de la librairie&amp;quot; -s  &amp;quot;url + port du serveur&amp;quot; -d &amp;quot;le dossier local où va être téléchargé la lib&amp;quot; -u &amp;quot;username sur le serveur&amp;quot; [-p &amp;quot;password&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
l'ID se trouve sur l'interface web su serveur, soit connecté en &amp;quot;username sur le serveur&amp;quot;, aller dans la librairie, l'ID est dans l'URL. Soit en administrateur, dans administration/Bibliothèques, l'ID est indiqué en face de chaque bibliothèques.&lt;br /&gt;
&lt;br /&gt;
Obtenir des infos sur les syncros : &lt;br /&gt;
 seaf-cli status&lt;br /&gt;
&lt;br /&gt;
Désyncroniser une libraire : &lt;br /&gt;
  seaf-cli desync -d &amp;quot;dossier local&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Ignorer la vérification SSL (pour les certificats auto-signés) :&lt;br /&gt;
  seaf-cli config -k disable_verify_certificate -v true&lt;br /&gt;
&lt;br /&gt;
Plus de de commandes : &lt;br /&gt;
  https://support.seafile.de/en/commands-seafile-terminal-client/&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Seafile_:_Seaf-cli_(Command_line_client)&amp;diff=6645</id>
		<title>Seafile : Seaf-cli (Command line client)</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Seafile_:_Seaf-cli_(Command_line_client)&amp;diff=6645"/>
				<updated>2019-07-24T13:53:03Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Commandes seaf-cli */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installation ==&lt;br /&gt;
&lt;br /&gt;
Télécharger le client terminal ici&lt;br /&gt;
  https://seafile.de/en/download/&lt;br /&gt;
&lt;br /&gt;
Extraire l'archive (dans /home/seaf-cli par éxemple)&lt;br /&gt;
&lt;br /&gt;
== Initialiser le client ==&lt;br /&gt;
Créer un dossier pour les fichier de conf : &lt;br /&gt;
  mkdir ~/.seafile-client&lt;br /&gt;
Initialiser le client avec le dossier précédament créé : &lt;br /&gt;
  ./seaf-cli init -d ~/.seafile-client&lt;br /&gt;
Démarrer le client : &lt;br /&gt;
  ./seaf-cli start&lt;br /&gt;
&lt;br /&gt;
== Installer la commande seaf-cli == &lt;br /&gt;
Se rendre dans le dossier d'installation :&lt;br /&gt;
  cd &amp;lt;dossier seaf-cli&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Créer un lien vers le script '''seaf-cli''' dans '''/usr/bin'''&lt;br /&gt;
  ln -s $(readlink -f seaf-cli) /usr/bin&lt;br /&gt;
&lt;br /&gt;
== Commandes seaf-cli ==&lt;br /&gt;
&lt;br /&gt;
Télécharger une librairie depuis le serveur : &lt;br /&gt;
  seaf-cli download -l &amp;quot;id de la librairie&amp;quot; -s  &amp;quot;url + port du serveur&amp;quot; -d &amp;quot;le dossier local où va être téléchargé la lib&amp;quot; -u &amp;quot;username sur le serveur&amp;quot; [-p &amp;quot;password&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
l'ID se trouve sur l'interface web su serveur, soit connecté en &amp;quot;username sur le serveur&amp;quot;, aller dans la librairie, l'ID est dans l'URL. Soirn en administrateur, dans administration/Bibliothèques, l'ID est indiqué en face de chaque bibliothèques.&lt;br /&gt;
&lt;br /&gt;
Obtenir des infos sur les syncros : &lt;br /&gt;
 seaf-cli status&lt;br /&gt;
&lt;br /&gt;
Désyncroniser une libraire : &lt;br /&gt;
  seaf-cli desync -d &amp;quot;dossier local&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Ignorer la vérification SSL (pour les certificats auto-signés) :&lt;br /&gt;
  seaf-cli config -k disable_verify_certificate -v true&lt;br /&gt;
&lt;br /&gt;
Plus de de commandes : &lt;br /&gt;
  https://support.seafile.de/en/commands-seafile-terminal-client/&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Rdiff-backup&amp;diff=6644</id>
		<title>Rdiff-backup</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Rdiff-backup&amp;diff=6644"/>
				<updated>2019-04-10T15:08:30Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Restore par &amp;quot;-r&amp;quot; */&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;
Eventuellement, si on veut sauvegarder plusieurs répertoires de la même machine, on sauvegarde avec des inclusions :&lt;br /&gt;
 rdiff-backup --force -v5 --include /etc --include /home --exclude &amp;quot;**&amp;quot; root@192.168.1.2::/ /backup/ &amp;gt; rdiff_server1.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
On aura alors à l'arrivée /backup/etc et /backup/home, et un seul répertoire de metadonnées rdiff-backup-datas pour les 2. Le --exclude &amp;quot;**&amp;quot; est là pour éviter que rdiff n'essaie de sauvegarder toute l'arborescence (le &amp;quot;/&amp;quot; qu'on lui donne après les ::) et ne s'occupe que des &amp;quot;--include&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&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;
=== Restore par fichier diff ===&lt;br /&gt;
[EDIT 03/2019] Autre façon de restaurer, plus simple si on rencontre des problèmes de caractères spéciaux dans les noms qui empêchent la restauration par &amp;quot;-r&amp;quot;&lt;br /&gt;
Repérer le fichier différentiel du fichier à restaurer pour la date voulue. Ex :&lt;br /&gt;
 ls /repertoire_de_backup/rdiff-backup-data/increments/chemin_complet/fichier.tld.'''2019-03-22'''T02\:55\:35+01\:00'''.diff.gz'''&lt;br /&gt;
Restaurer simplement par (exemple vers /tmp local) :&lt;br /&gt;
 rdiff-backup /repertoire_de_backup/rdiff-backup-data/increments/chemin_complet/fichier.tld.'''2019-03-22'''T02\:55\:35+01\:00'''.diff.gz''' /tmp/fichier.tld&lt;br /&gt;
=== Restore par &amp;quot;-r&amp;quot; ===&lt;br /&gt;
 # fichier /etc/hosts d'il y a 1 heure (--force si le fichier ou répertoire 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 (/etc dans l'exemple) !&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;
&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;'''NOTE :''' pour remonter un répertoire complet, il faut l'indiquer la source comme à la destination '''SANS &amp;quot;/&amp;quot; APRES''', sinon il restaure les fichiers dans le répertoire supérieur sans recréer ou écraser le répertoire (/etc dans l'exemple)&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''NOTE :''' le &amp;quot;-r&amp;quot; signifie &amp;quot;restore at&amp;quot;, 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;
&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;
&amp;lt;!--&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;
--&amp;gt;&lt;br /&gt;
== Installation sur Centos ==&lt;br /&gt;
Nouvelle version 0.7 http://www.patrikdufresne.com/en/rdiffweb/&lt;br /&gt;
&lt;br /&gt;
=== Installer Python 2.7 si nécessaire ===&lt;br /&gt;
Sur CentOS (6 ou 7), on a que Python 2.6.6. On installe la 7 en alternative.&lt;br /&gt;
 yum --enablerepo=epel install wget gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libffi-devel libxslt libxslt-devel libxml2 libxml2-devel openldap-devel libjpeg-turbo-devel openjpeg-devel libtiff-devel git libpng libXext libz.so.1 xorg-x11-fonts-Type1 curl cabextract&lt;br /&gt;
 wget http://python.org/ftp/python/2.7.8/Python-2.7.8.tgz&lt;br /&gt;
 tar -xzf Python-2.7.8.tgz&lt;br /&gt;
 cd Python-2.7.8&lt;br /&gt;
 ./configure --prefix=/usr/local --enable-shared LDFLAGS=&amp;quot;-Wl,-rpath /usr/local/lib&amp;quot;&lt;br /&gt;
 make&lt;br /&gt;
 make altinstall&lt;br /&gt;
'''ATTENTION AU &amp;quot;ALTINSTALL&amp;quot; !'''&lt;br /&gt;
&lt;br /&gt;
Le temps de l'installation, on passe sur python 2.7&lt;br /&gt;
 alias python=python2.7&lt;br /&gt;
 python -V&lt;br /&gt;
 wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O - | /usr/local/bin/python2.7&lt;br /&gt;
 pip install babel&lt;br /&gt;
&lt;br /&gt;
=== Installation de rdiffweb ===&lt;br /&gt;
 wget --no-check-certificate -O rdiffweb.tar.gz https://github.com/ikus060/rdiffweb/archive/master.tar.gz&lt;br /&gt;
 tar zxf rdiffweb.tar.gz&lt;br /&gt;
 cd rdiffweb-master/&lt;br /&gt;
 python setup.py build&lt;br /&gt;
 python setup.py install&lt;br /&gt;
On peut revenir à python 2.6 sur la machine pour éviter les problèmes&lt;br /&gt;
 unalias python&lt;br /&gt;
&lt;br /&gt;
Le script d'init n'est pas adapté à CentOS. Le remplacer par celui-ci, repris de la v0.6:&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 # rdiffWeb, A web interface to rdiff-backup repositories&lt;br /&gt;
 # Copyright (C) 2012 rdiffWeb contributors&lt;br /&gt;
 #&lt;br /&gt;
 # This program is free software: you can redistribute it and/or modify&lt;br /&gt;
 # it under the terms of the GNU General Public License as published by&lt;br /&gt;
 # the Free Software Foundation, either version 3 of the License, or&lt;br /&gt;
 # (at your option) any later version.&lt;br /&gt;
 #&lt;br /&gt;
 # This program is distributed in the hope that it will be useful,&lt;br /&gt;
 # but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
 # GNU General Public License for more details.&lt;br /&gt;
 #&lt;br /&gt;
 # You should have received a copy of the GNU General Public License&lt;br /&gt;
 # along with this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.&lt;br /&gt;
 &lt;br /&gt;
 # Basic support for the Linux Standard Base Specification 3.1.0&lt;br /&gt;
 ### BEGIN INIT INFO&lt;br /&gt;
 # Provides: rdiff_web&lt;br /&gt;
 # Required-Start: $network $local_fs&lt;br /&gt;
 # Required-Stop: $network&lt;br /&gt;
 # Default-Start: 2 3 5&lt;br /&gt;
 # Default-Stop: 0 6&lt;br /&gt;
 # Description: Manages the rdiffWeb daemon&lt;br /&gt;
 ### END INIT INFO&lt;br /&gt;
 &lt;br /&gt;
 DAEMON=/usr/local/bin/rdiffweb&lt;br /&gt;
 PIDFILE=&amp;quot;/var/run/rdiffweb&amp;quot;&lt;br /&gt;
 LOGFILE=&amp;quot;/var/log/rdiffweb.log&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 SUCCESS_MSG=&amp;quot;^[[71G done&amp;quot;&lt;br /&gt;
 ERROR_MSG=&amp;quot;^[[71Gfailed&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 if [ -f /etc/init.d/functions ]; then&lt;br /&gt;
  . /etc/init.d/functions&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # This script won't be able to run without root privileges.&lt;br /&gt;
 if [ `id -u` -ne 0 ]; then&lt;br /&gt;
    echo &amp;quot;Error: this script must be run as root.&amp;quot;&lt;br /&gt;
    exit 1&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # See how we were called.&lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
    start)&lt;br /&gt;
       if [ ! -f /etc/rdiffweb/rdw.conf ]; then&lt;br /&gt;
          echo -n &amp;quot;rdiffWeb is not configured!  Please run 'rdiff-web-config'.&amp;quot;&lt;br /&gt;
          echo $ERROR_MSG&lt;br /&gt;
          exit 1&lt;br /&gt;
       fi&lt;br /&gt;
       echo -n &amp;quot;Starting rdiffWeb...&amp;quot;&lt;br /&gt;
       $DAEMON --pid-file=&amp;quot;$PIDFILE&amp;quot; \&lt;br /&gt;
       --log-file=&amp;quot;$LOGFILE&amp;quot; \&lt;br /&gt;
       --background &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
       echo $SUCCESS_MSG&lt;br /&gt;
       exit 0&lt;br /&gt;
    ;;&lt;br /&gt;
 &lt;br /&gt;
    stop)&lt;br /&gt;
       if [ -e &amp;quot;$PIDFILE&amp;quot; ]; then&lt;br /&gt;
          echo -n &amp;quot;Stopping rdiffWeb...&amp;quot;&lt;br /&gt;
          kill `cat &amp;quot;$PIDFILE&amp;quot; 2&amp;gt;/dev/null` &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
          rm $PIDFILE &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
          echo $SUCCESS_MSG&lt;br /&gt;
          exit 0&lt;br /&gt;
       else&lt;br /&gt;
          echo -n &amp;quot;rdiffWeb is not running&amp;quot;&lt;br /&gt;
          echo $ERROR_MSG&lt;br /&gt;
          exit 1&lt;br /&gt;
       fi&lt;br /&gt;
    ;;&lt;br /&gt;
 &lt;br /&gt;
    status)&lt;br /&gt;
       echo -n &amp;quot;rdiffWeb &amp;quot;&lt;br /&gt;
       if [ -e &amp;quot;$PIDFILE&amp;quot; ]; then&lt;br /&gt;
          echo &amp;quot;is running.&amp;quot;&lt;br /&gt;
          exit 0&lt;br /&gt;
       else&lt;br /&gt;
          echo &amp;quot;is not running.&amp;quot;&lt;br /&gt;
          exit 1&lt;br /&gt;
       fi&lt;br /&gt;
    ;;&lt;br /&gt;
 &lt;br /&gt;
    restart)&lt;br /&gt;
       &amp;quot;$0&amp;quot; stop &amp;amp;&amp;amp; &amp;quot;$0&amp;quot; start&lt;br /&gt;
    ;;&lt;br /&gt;
 &lt;br /&gt;
    *)&lt;br /&gt;
       echo &amp;quot;Usage: `basename &amp;quot;$0&amp;quot;` {start|stop|status|restart}&amp;quot;&lt;br /&gt;
       exit 1&lt;br /&gt;
 esac&lt;br /&gt;
 &lt;br /&gt;
 exit 0&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu'à :&lt;br /&gt;
 service rdiffweb start&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pour archive: ancienne version avant reprise par http://www.patrikdufresne.com&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;
 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&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;
&lt;br /&gt;
== Installation sur CentOS 7 ==&lt;br /&gt;
&lt;br /&gt;
Installer le dépôt&lt;br /&gt;
  rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
Installer yum-utils et désactiver le dépôt par défaut&lt;br /&gt;
  yum install yum-utils&lt;br /&gt;
  yum-config-manager --disable epel&lt;br /&gt;
&lt;br /&gt;
Installer les paquets avec l'option --enablerepo=epel&lt;br /&gt;
  yum --enablerepo=epel -y install rdiff-backup --&amp;gt;&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;
Ici, on sauvegarde un serveur (ou poste) Windows à partir d'un serveur linux qui lance rdiff-backup. A adapter si on veut le contraire.&lt;br /&gt;
== Cygwin ==&lt;br /&gt;
On installe d'abord Cygwin sur Windows (la version .exe de rdiff semble plutôt bugguée), dans lequel on installera un serveur OpenSSH et rdiff-backup.&lt;br /&gt;
&lt;br /&gt;
Naviguer sur http://www.cygwin.com/ pour charger le setup*.exe correspondant à la version de Windows.&lt;br /&gt;
&lt;br /&gt;
Lancer le setup, et pendant l'installation ajouter les paquets :&lt;br /&gt;
 Devel/&lt;br /&gt;
 autoconf&lt;br /&gt;
 automake&lt;br /&gt;
 binutils&lt;br /&gt;
 gcc-g++&lt;br /&gt;
 make&lt;br /&gt;
 patchutils&lt;br /&gt;
 Interpreters/&lt;br /&gt;
 python&lt;br /&gt;
 Net/&lt;br /&gt;
 openssh&lt;br /&gt;
 Web/&lt;br /&gt;
 wget&lt;br /&gt;
Lancer une console cygwin&lt;br /&gt;
&lt;br /&gt;
== Librsync dans Cygwin ==&lt;br /&gt;
Dans la console, installer librsync&lt;br /&gt;
 wget http://sourceforge.net/projects/librsync/files/latest/download?source=files -O librsync-0.9.7.tar.gz&lt;br /&gt;
 tar xzf librsync-0.9.7.tar.gz&lt;br /&gt;
 cd librsync-0.9.7&lt;br /&gt;
 ./configure --prefix=/usr --bindir=/bin --libdir=/lib&lt;br /&gt;
En cas de message &amp;quot;unable to guess system type&amp;quot;, repérer la version d'automake et récupérer un config.guess à jour :&lt;br /&gt;
 automake --version&lt;br /&gt;
    .... 1.14.1 ....&lt;br /&gt;
 cp  /usr/share/automake-1.14/config.guess .&lt;br /&gt;
relancer ./configure. Puis :&lt;br /&gt;
 make all&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
== Rdiff-backup dans Cygwin ==&lt;br /&gt;
Télécharger le source et installer rdiff-backup&lt;br /&gt;
 wget http://savannah.nongnu.org/download/rdiff-backup/rdiff-backup-1.2.8.tar.gz&lt;br /&gt;
 tar -xzf 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;
== Configurer openSSH ==&lt;br /&gt;
 ssh-host-config&lt;br /&gt;
Répondre &amp;quot;yes&amp;quot; à tout jusqu'à &amp;quot;value of CYGWIN for the daemon&amp;quot; auquel on répond &amp;quot;ntsec&amp;quot;, puis &amp;quot;no&amp;quot; pour garder le nom de compte service par défaut, et &amp;quot;yes&amp;quot; pour le créer, tout le reste est par défaut.&lt;br /&gt;
&lt;br /&gt;
Démarrer le service CYGWIN sshd, par la MMC ou par :&lt;br /&gt;
 &amp;quot;net start sshd&amp;quot;&lt;br /&gt;
Créer un répertoire &amp;quot;.ssh&amp;quot;. Sur le serveur linux de sauvegarde, générer si nécessaire les clé SSH, et copier la clé public dans &amp;quot;.ssh/authorized_keys&amp;quot; dans la console Cygwin.&lt;br /&gt;
&lt;br /&gt;
Ouvrir l'accès au port 22 (SSH), sur les firewalls, routeurs, box, etc... entre le Windows et internet, et dans le firewall Windows lui-même. A partir du serveur linux, tester une connexion ssh vers le Windows, qui ne doit pas demander de mot de passe.&lt;br /&gt;
&lt;br /&gt;
== Exemple de backup, à partir du serveur linux, qui lit les données distante du poste Windows ==&lt;br /&gt;
 rdiff-backup -v5 --force --create-full-path --print-statistics --no-hard-links --include &amp;quot;/cygdrive/c/Données utilisateurs&amp;quot; --include &amp;quot;/cygdrive/d/Logiciels&amp;quot; --include &amp;quot;/cygdrive/d/Work&amp;quot; --exclude /cygdrive/** --remote-schema &amp;quot;ssh -p 22 %s rdiff-backup --server&amp;quot; Administrateur@serveurWindows.no-ip.org::/cygdrive/ /backup/serveurWindows&lt;br /&gt;
On aura à l'arrivée /backup/serveurWindows/c/Données utilisateurs, /backup/serveurWindows/d/Logiciels et/backup/serveurWindows/d/Work.&lt;br /&gt;
&lt;br /&gt;
L'exclusion &amp;quot;/cygdrive/**&amp;quot; a la même fonction que &amp;quot;**&amp;quot; entre serveurs linux.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pour archive : installation à partir de l'EXE&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;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Rdiff-backup&amp;diff=6643</id>
		<title>Rdiff-backup</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Rdiff-backup&amp;diff=6643"/>
				<updated>2019-04-10T15:08:18Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Restore - Exemples */&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;
Eventuellement, si on veut sauvegarder plusieurs répertoires de la même machine, on sauvegarde avec des inclusions :&lt;br /&gt;
 rdiff-backup --force -v5 --include /etc --include /home --exclude &amp;quot;**&amp;quot; root@192.168.1.2::/ /backup/ &amp;gt; rdiff_server1.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
On aura alors à l'arrivée /backup/etc et /backup/home, et un seul répertoire de metadonnées rdiff-backup-datas pour les 2. Le --exclude &amp;quot;**&amp;quot; est là pour éviter que rdiff n'essaie de sauvegarder toute l'arborescence (le &amp;quot;/&amp;quot; qu'on lui donne après les ::) et ne s'occupe que des &amp;quot;--include&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&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;
=== Restore par fichier diff ===&lt;br /&gt;
[EDIT 03/2019] Autre façon de restaurer, plus simple si on rencontre des problèmes de caractères spéciaux dans les noms qui empêchent la restauration par &amp;quot;-r&amp;quot;&lt;br /&gt;
Repérer le fichier différentiel du fichier à restaurer pour la date voulue. Ex :&lt;br /&gt;
 ls /repertoire_de_backup/rdiff-backup-data/increments/chemin_complet/fichier.tld.'''2019-03-22'''T02\:55\:35+01\:00'''.diff.gz'''&lt;br /&gt;
Restaurer simplement par (exemple vers /tmp local) :&lt;br /&gt;
 rdiff-backup /repertoire_de_backup/rdiff-backup-data/increments/chemin_complet/fichier.tld.'''2019-03-22'''T02\:55\:35+01\:00'''.diff.gz''' /tmp/fichier.tld&lt;br /&gt;
=== Restore par &amp;quot;-r&amp;quot; ===&lt;br /&gt;
 # fichier /etc/hosts d'il y a 1 heure (--force si le fichier ou répertoire 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 (/etc dans l'exemple) !&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;
&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;'''NOTE :''' pour remonter un répertoire complet, il faut l'indiquer la source comme à la destination '''SANS &amp;quot;/&amp;quot; APRES''', sinon il restaure les fichiers dans le répertoire supérieur sans recréer ou écraser le répertoire (/etc dans l'exemple)&amp;lt;/span&amp;gt;&lt;br /&gt;
'''NOTE :''' le &amp;quot;-r&amp;quot; signifie &amp;quot;restore at&amp;quot;, 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;
&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;
&amp;lt;!--&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;
--&amp;gt;&lt;br /&gt;
== Installation sur Centos ==&lt;br /&gt;
Nouvelle version 0.7 http://www.patrikdufresne.com/en/rdiffweb/&lt;br /&gt;
&lt;br /&gt;
=== Installer Python 2.7 si nécessaire ===&lt;br /&gt;
Sur CentOS (6 ou 7), on a que Python 2.6.6. On installe la 7 en alternative.&lt;br /&gt;
 yum --enablerepo=epel install wget gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libffi-devel libxslt libxslt-devel libxml2 libxml2-devel openldap-devel libjpeg-turbo-devel openjpeg-devel libtiff-devel git libpng libXext libz.so.1 xorg-x11-fonts-Type1 curl cabextract&lt;br /&gt;
 wget http://python.org/ftp/python/2.7.8/Python-2.7.8.tgz&lt;br /&gt;
 tar -xzf Python-2.7.8.tgz&lt;br /&gt;
 cd Python-2.7.8&lt;br /&gt;
 ./configure --prefix=/usr/local --enable-shared LDFLAGS=&amp;quot;-Wl,-rpath /usr/local/lib&amp;quot;&lt;br /&gt;
 make&lt;br /&gt;
 make altinstall&lt;br /&gt;
'''ATTENTION AU &amp;quot;ALTINSTALL&amp;quot; !'''&lt;br /&gt;
&lt;br /&gt;
Le temps de l'installation, on passe sur python 2.7&lt;br /&gt;
 alias python=python2.7&lt;br /&gt;
 python -V&lt;br /&gt;
 wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O - | /usr/local/bin/python2.7&lt;br /&gt;
 pip install babel&lt;br /&gt;
&lt;br /&gt;
=== Installation de rdiffweb ===&lt;br /&gt;
 wget --no-check-certificate -O rdiffweb.tar.gz https://github.com/ikus060/rdiffweb/archive/master.tar.gz&lt;br /&gt;
 tar zxf rdiffweb.tar.gz&lt;br /&gt;
 cd rdiffweb-master/&lt;br /&gt;
 python setup.py build&lt;br /&gt;
 python setup.py install&lt;br /&gt;
On peut revenir à python 2.6 sur la machine pour éviter les problèmes&lt;br /&gt;
 unalias python&lt;br /&gt;
&lt;br /&gt;
Le script d'init n'est pas adapté à CentOS. Le remplacer par celui-ci, repris de la v0.6:&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 # rdiffWeb, A web interface to rdiff-backup repositories&lt;br /&gt;
 # Copyright (C) 2012 rdiffWeb contributors&lt;br /&gt;
 #&lt;br /&gt;
 # This program is free software: you can redistribute it and/or modify&lt;br /&gt;
 # it under the terms of the GNU General Public License as published by&lt;br /&gt;
 # the Free Software Foundation, either version 3 of the License, or&lt;br /&gt;
 # (at your option) any later version.&lt;br /&gt;
 #&lt;br /&gt;
 # This program is distributed in the hope that it will be useful,&lt;br /&gt;
 # but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
 # GNU General Public License for more details.&lt;br /&gt;
 #&lt;br /&gt;
 # You should have received a copy of the GNU General Public License&lt;br /&gt;
 # along with this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.&lt;br /&gt;
 &lt;br /&gt;
 # Basic support for the Linux Standard Base Specification 3.1.0&lt;br /&gt;
 ### BEGIN INIT INFO&lt;br /&gt;
 # Provides: rdiff_web&lt;br /&gt;
 # Required-Start: $network $local_fs&lt;br /&gt;
 # Required-Stop: $network&lt;br /&gt;
 # Default-Start: 2 3 5&lt;br /&gt;
 # Default-Stop: 0 6&lt;br /&gt;
 # Description: Manages the rdiffWeb daemon&lt;br /&gt;
 ### END INIT INFO&lt;br /&gt;
 &lt;br /&gt;
 DAEMON=/usr/local/bin/rdiffweb&lt;br /&gt;
 PIDFILE=&amp;quot;/var/run/rdiffweb&amp;quot;&lt;br /&gt;
 LOGFILE=&amp;quot;/var/log/rdiffweb.log&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 SUCCESS_MSG=&amp;quot;^[[71G done&amp;quot;&lt;br /&gt;
 ERROR_MSG=&amp;quot;^[[71Gfailed&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 if [ -f /etc/init.d/functions ]; then&lt;br /&gt;
  . /etc/init.d/functions&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # This script won't be able to run without root privileges.&lt;br /&gt;
 if [ `id -u` -ne 0 ]; then&lt;br /&gt;
    echo &amp;quot;Error: this script must be run as root.&amp;quot;&lt;br /&gt;
    exit 1&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # See how we were called.&lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
    start)&lt;br /&gt;
       if [ ! -f /etc/rdiffweb/rdw.conf ]; then&lt;br /&gt;
          echo -n &amp;quot;rdiffWeb is not configured!  Please run 'rdiff-web-config'.&amp;quot;&lt;br /&gt;
          echo $ERROR_MSG&lt;br /&gt;
          exit 1&lt;br /&gt;
       fi&lt;br /&gt;
       echo -n &amp;quot;Starting rdiffWeb...&amp;quot;&lt;br /&gt;
       $DAEMON --pid-file=&amp;quot;$PIDFILE&amp;quot; \&lt;br /&gt;
       --log-file=&amp;quot;$LOGFILE&amp;quot; \&lt;br /&gt;
       --background &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
       echo $SUCCESS_MSG&lt;br /&gt;
       exit 0&lt;br /&gt;
    ;;&lt;br /&gt;
 &lt;br /&gt;
    stop)&lt;br /&gt;
       if [ -e &amp;quot;$PIDFILE&amp;quot; ]; then&lt;br /&gt;
          echo -n &amp;quot;Stopping rdiffWeb...&amp;quot;&lt;br /&gt;
          kill `cat &amp;quot;$PIDFILE&amp;quot; 2&amp;gt;/dev/null` &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
          rm $PIDFILE &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
          echo $SUCCESS_MSG&lt;br /&gt;
          exit 0&lt;br /&gt;
       else&lt;br /&gt;
          echo -n &amp;quot;rdiffWeb is not running&amp;quot;&lt;br /&gt;
          echo $ERROR_MSG&lt;br /&gt;
          exit 1&lt;br /&gt;
       fi&lt;br /&gt;
    ;;&lt;br /&gt;
 &lt;br /&gt;
    status)&lt;br /&gt;
       echo -n &amp;quot;rdiffWeb &amp;quot;&lt;br /&gt;
       if [ -e &amp;quot;$PIDFILE&amp;quot; ]; then&lt;br /&gt;
          echo &amp;quot;is running.&amp;quot;&lt;br /&gt;
          exit 0&lt;br /&gt;
       else&lt;br /&gt;
          echo &amp;quot;is not running.&amp;quot;&lt;br /&gt;
          exit 1&lt;br /&gt;
       fi&lt;br /&gt;
    ;;&lt;br /&gt;
 &lt;br /&gt;
    restart)&lt;br /&gt;
       &amp;quot;$0&amp;quot; stop &amp;amp;&amp;amp; &amp;quot;$0&amp;quot; start&lt;br /&gt;
    ;;&lt;br /&gt;
 &lt;br /&gt;
    *)&lt;br /&gt;
       echo &amp;quot;Usage: `basename &amp;quot;$0&amp;quot;` {start|stop|status|restart}&amp;quot;&lt;br /&gt;
       exit 1&lt;br /&gt;
 esac&lt;br /&gt;
 &lt;br /&gt;
 exit 0&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu'à :&lt;br /&gt;
 service rdiffweb start&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pour archive: ancienne version avant reprise par http://www.patrikdufresne.com&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;
 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&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;
&lt;br /&gt;
== Installation sur CentOS 7 ==&lt;br /&gt;
&lt;br /&gt;
Installer le dépôt&lt;br /&gt;
  rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
Installer yum-utils et désactiver le dépôt par défaut&lt;br /&gt;
  yum install yum-utils&lt;br /&gt;
  yum-config-manager --disable epel&lt;br /&gt;
&lt;br /&gt;
Installer les paquets avec l'option --enablerepo=epel&lt;br /&gt;
  yum --enablerepo=epel -y install rdiff-backup --&amp;gt;&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;
Ici, on sauvegarde un serveur (ou poste) Windows à partir d'un serveur linux qui lance rdiff-backup. A adapter si on veut le contraire.&lt;br /&gt;
== Cygwin ==&lt;br /&gt;
On installe d'abord Cygwin sur Windows (la version .exe de rdiff semble plutôt bugguée), dans lequel on installera un serveur OpenSSH et rdiff-backup.&lt;br /&gt;
&lt;br /&gt;
Naviguer sur http://www.cygwin.com/ pour charger le setup*.exe correspondant à la version de Windows.&lt;br /&gt;
&lt;br /&gt;
Lancer le setup, et pendant l'installation ajouter les paquets :&lt;br /&gt;
 Devel/&lt;br /&gt;
 autoconf&lt;br /&gt;
 automake&lt;br /&gt;
 binutils&lt;br /&gt;
 gcc-g++&lt;br /&gt;
 make&lt;br /&gt;
 patchutils&lt;br /&gt;
 Interpreters/&lt;br /&gt;
 python&lt;br /&gt;
 Net/&lt;br /&gt;
 openssh&lt;br /&gt;
 Web/&lt;br /&gt;
 wget&lt;br /&gt;
Lancer une console cygwin&lt;br /&gt;
&lt;br /&gt;
== Librsync dans Cygwin ==&lt;br /&gt;
Dans la console, installer librsync&lt;br /&gt;
 wget http://sourceforge.net/projects/librsync/files/latest/download?source=files -O librsync-0.9.7.tar.gz&lt;br /&gt;
 tar xzf librsync-0.9.7.tar.gz&lt;br /&gt;
 cd librsync-0.9.7&lt;br /&gt;
 ./configure --prefix=/usr --bindir=/bin --libdir=/lib&lt;br /&gt;
En cas de message &amp;quot;unable to guess system type&amp;quot;, repérer la version d'automake et récupérer un config.guess à jour :&lt;br /&gt;
 automake --version&lt;br /&gt;
    .... 1.14.1 ....&lt;br /&gt;
 cp  /usr/share/automake-1.14/config.guess .&lt;br /&gt;
relancer ./configure. Puis :&lt;br /&gt;
 make all&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
== Rdiff-backup dans Cygwin ==&lt;br /&gt;
Télécharger le source et installer rdiff-backup&lt;br /&gt;
 wget http://savannah.nongnu.org/download/rdiff-backup/rdiff-backup-1.2.8.tar.gz&lt;br /&gt;
 tar -xzf 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;
== Configurer openSSH ==&lt;br /&gt;
 ssh-host-config&lt;br /&gt;
Répondre &amp;quot;yes&amp;quot; à tout jusqu'à &amp;quot;value of CYGWIN for the daemon&amp;quot; auquel on répond &amp;quot;ntsec&amp;quot;, puis &amp;quot;no&amp;quot; pour garder le nom de compte service par défaut, et &amp;quot;yes&amp;quot; pour le créer, tout le reste est par défaut.&lt;br /&gt;
&lt;br /&gt;
Démarrer le service CYGWIN sshd, par la MMC ou par :&lt;br /&gt;
 &amp;quot;net start sshd&amp;quot;&lt;br /&gt;
Créer un répertoire &amp;quot;.ssh&amp;quot;. Sur le serveur linux de sauvegarde, générer si nécessaire les clé SSH, et copier la clé public dans &amp;quot;.ssh/authorized_keys&amp;quot; dans la console Cygwin.&lt;br /&gt;
&lt;br /&gt;
Ouvrir l'accès au port 22 (SSH), sur les firewalls, routeurs, box, etc... entre le Windows et internet, et dans le firewall Windows lui-même. A partir du serveur linux, tester une connexion ssh vers le Windows, qui ne doit pas demander de mot de passe.&lt;br /&gt;
&lt;br /&gt;
== Exemple de backup, à partir du serveur linux, qui lit les données distante du poste Windows ==&lt;br /&gt;
 rdiff-backup -v5 --force --create-full-path --print-statistics --no-hard-links --include &amp;quot;/cygdrive/c/Données utilisateurs&amp;quot; --include &amp;quot;/cygdrive/d/Logiciels&amp;quot; --include &amp;quot;/cygdrive/d/Work&amp;quot; --exclude /cygdrive/** --remote-schema &amp;quot;ssh -p 22 %s rdiff-backup --server&amp;quot; Administrateur@serveurWindows.no-ip.org::/cygdrive/ /backup/serveurWindows&lt;br /&gt;
On aura à l'arrivée /backup/serveurWindows/c/Données utilisateurs, /backup/serveurWindows/d/Logiciels et/backup/serveurWindows/d/Work.&lt;br /&gt;
&lt;br /&gt;
L'exclusion &amp;quot;/cygdrive/**&amp;quot; a la même fonction que &amp;quot;**&amp;quot; entre serveurs linux.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pour archive : installation à partir de l'EXE&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;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Rdiff-backup&amp;diff=6642</id>
		<title>Rdiff-backup</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Rdiff-backup&amp;diff=6642"/>
				<updated>2019-04-10T15:07:40Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Restore par &amp;quot;-r&amp;quot; */&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;
Eventuellement, si on veut sauvegarder plusieurs répertoires de la même machine, on sauvegarde avec des inclusions :&lt;br /&gt;
 rdiff-backup --force -v5 --include /etc --include /home --exclude &amp;quot;**&amp;quot; root@192.168.1.2::/ /backup/ &amp;gt; rdiff_server1.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
On aura alors à l'arrivée /backup/etc et /backup/home, et un seul répertoire de metadonnées rdiff-backup-datas pour les 2. Le --exclude &amp;quot;**&amp;quot; est là pour éviter que rdiff n'essaie de sauvegarder toute l'arborescence (le &amp;quot;/&amp;quot; qu'on lui donne après les ::) et ne s'occupe que des &amp;quot;--include&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&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;
=== Restore par fichier diff ===&lt;br /&gt;
[EDIT 03/2019] Autre façon de restaurer, plus simple si on rencontre des problèmes de caractères spéciaux dans les noms qui empêchent la restauration par &amp;quot;-r&amp;quot;&lt;br /&gt;
Repérer le fichier différentiel du fichier à restaurer pour la date voulue. Ex :&lt;br /&gt;
 ls /repertoire_de_backup/rdiff-backup-data/increments/chemin_complet/fichier.tld.'''2019-03-22'''T02\:55\:35+01\:00'''.diff.gz'''&lt;br /&gt;
Restaurer simplement par (exemple vers /tmp local) :&lt;br /&gt;
 rdiff-backup /repertoire_de_backup/rdiff-backup-data/increments/chemin_complet/fichier.tld.'''2019-03-22'''T02\:55\:35+01\:00'''.diff.gz''' /tmp/fichier.tld&lt;br /&gt;
=== Restore par &amp;quot;-r&amp;quot; ===&lt;br /&gt;
 # fichier /etc/hosts d'il y a 1 heure (--force si le fichier ou répertoire 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 (/etc dans l'exemple) !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;'''NOTE :''' pour remonter un répertoire complet, il faut l'indiquer la source comme à la destination '''SANS &amp;quot;/&amp;quot; APRES''', sinon il restaure les fichiers dans le répertoire supérieur sans recréer ou écraser le répertoire (/etc dans l'exemple)&amp;lt;/span&amp;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; signifie &amp;quot;restore at&amp;quot;, 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;
&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;
&amp;lt;!--&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;
--&amp;gt;&lt;br /&gt;
== Installation sur Centos ==&lt;br /&gt;
Nouvelle version 0.7 http://www.patrikdufresne.com/en/rdiffweb/&lt;br /&gt;
&lt;br /&gt;
=== Installer Python 2.7 si nécessaire ===&lt;br /&gt;
Sur CentOS (6 ou 7), on a que Python 2.6.6. On installe la 7 en alternative.&lt;br /&gt;
 yum --enablerepo=epel install wget gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libffi-devel libxslt libxslt-devel libxml2 libxml2-devel openldap-devel libjpeg-turbo-devel openjpeg-devel libtiff-devel git libpng libXext libz.so.1 xorg-x11-fonts-Type1 curl cabextract&lt;br /&gt;
 wget http://python.org/ftp/python/2.7.8/Python-2.7.8.tgz&lt;br /&gt;
 tar -xzf Python-2.7.8.tgz&lt;br /&gt;
 cd Python-2.7.8&lt;br /&gt;
 ./configure --prefix=/usr/local --enable-shared LDFLAGS=&amp;quot;-Wl,-rpath /usr/local/lib&amp;quot;&lt;br /&gt;
 make&lt;br /&gt;
 make altinstall&lt;br /&gt;
'''ATTENTION AU &amp;quot;ALTINSTALL&amp;quot; !'''&lt;br /&gt;
&lt;br /&gt;
Le temps de l'installation, on passe sur python 2.7&lt;br /&gt;
 alias python=python2.7&lt;br /&gt;
 python -V&lt;br /&gt;
 wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O - | /usr/local/bin/python2.7&lt;br /&gt;
 pip install babel&lt;br /&gt;
&lt;br /&gt;
=== Installation de rdiffweb ===&lt;br /&gt;
 wget --no-check-certificate -O rdiffweb.tar.gz https://github.com/ikus060/rdiffweb/archive/master.tar.gz&lt;br /&gt;
 tar zxf rdiffweb.tar.gz&lt;br /&gt;
 cd rdiffweb-master/&lt;br /&gt;
 python setup.py build&lt;br /&gt;
 python setup.py install&lt;br /&gt;
On peut revenir à python 2.6 sur la machine pour éviter les problèmes&lt;br /&gt;
 unalias python&lt;br /&gt;
&lt;br /&gt;
Le script d'init n'est pas adapté à CentOS. Le remplacer par celui-ci, repris de la v0.6:&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 # rdiffWeb, A web interface to rdiff-backup repositories&lt;br /&gt;
 # Copyright (C) 2012 rdiffWeb contributors&lt;br /&gt;
 #&lt;br /&gt;
 # This program is free software: you can redistribute it and/or modify&lt;br /&gt;
 # it under the terms of the GNU General Public License as published by&lt;br /&gt;
 # the Free Software Foundation, either version 3 of the License, or&lt;br /&gt;
 # (at your option) any later version.&lt;br /&gt;
 #&lt;br /&gt;
 # This program is distributed in the hope that it will be useful,&lt;br /&gt;
 # but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
 # GNU General Public License for more details.&lt;br /&gt;
 #&lt;br /&gt;
 # You should have received a copy of the GNU General Public License&lt;br /&gt;
 # along with this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.&lt;br /&gt;
 &lt;br /&gt;
 # Basic support for the Linux Standard Base Specification 3.1.0&lt;br /&gt;
 ### BEGIN INIT INFO&lt;br /&gt;
 # Provides: rdiff_web&lt;br /&gt;
 # Required-Start: $network $local_fs&lt;br /&gt;
 # Required-Stop: $network&lt;br /&gt;
 # Default-Start: 2 3 5&lt;br /&gt;
 # Default-Stop: 0 6&lt;br /&gt;
 # Description: Manages the rdiffWeb daemon&lt;br /&gt;
 ### END INIT INFO&lt;br /&gt;
 &lt;br /&gt;
 DAEMON=/usr/local/bin/rdiffweb&lt;br /&gt;
 PIDFILE=&amp;quot;/var/run/rdiffweb&amp;quot;&lt;br /&gt;
 LOGFILE=&amp;quot;/var/log/rdiffweb.log&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 SUCCESS_MSG=&amp;quot;^[[71G done&amp;quot;&lt;br /&gt;
 ERROR_MSG=&amp;quot;^[[71Gfailed&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 if [ -f /etc/init.d/functions ]; then&lt;br /&gt;
  . /etc/init.d/functions&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # This script won't be able to run without root privileges.&lt;br /&gt;
 if [ `id -u` -ne 0 ]; then&lt;br /&gt;
    echo &amp;quot;Error: this script must be run as root.&amp;quot;&lt;br /&gt;
    exit 1&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # See how we were called.&lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
    start)&lt;br /&gt;
       if [ ! -f /etc/rdiffweb/rdw.conf ]; then&lt;br /&gt;
          echo -n &amp;quot;rdiffWeb is not configured!  Please run 'rdiff-web-config'.&amp;quot;&lt;br /&gt;
          echo $ERROR_MSG&lt;br /&gt;
          exit 1&lt;br /&gt;
       fi&lt;br /&gt;
       echo -n &amp;quot;Starting rdiffWeb...&amp;quot;&lt;br /&gt;
       $DAEMON --pid-file=&amp;quot;$PIDFILE&amp;quot; \&lt;br /&gt;
       --log-file=&amp;quot;$LOGFILE&amp;quot; \&lt;br /&gt;
       --background &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
       echo $SUCCESS_MSG&lt;br /&gt;
       exit 0&lt;br /&gt;
    ;;&lt;br /&gt;
 &lt;br /&gt;
    stop)&lt;br /&gt;
       if [ -e &amp;quot;$PIDFILE&amp;quot; ]; then&lt;br /&gt;
          echo -n &amp;quot;Stopping rdiffWeb...&amp;quot;&lt;br /&gt;
          kill `cat &amp;quot;$PIDFILE&amp;quot; 2&amp;gt;/dev/null` &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
          rm $PIDFILE &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
          echo $SUCCESS_MSG&lt;br /&gt;
          exit 0&lt;br /&gt;
       else&lt;br /&gt;
          echo -n &amp;quot;rdiffWeb is not running&amp;quot;&lt;br /&gt;
          echo $ERROR_MSG&lt;br /&gt;
          exit 1&lt;br /&gt;
       fi&lt;br /&gt;
    ;;&lt;br /&gt;
 &lt;br /&gt;
    status)&lt;br /&gt;
       echo -n &amp;quot;rdiffWeb &amp;quot;&lt;br /&gt;
       if [ -e &amp;quot;$PIDFILE&amp;quot; ]; then&lt;br /&gt;
          echo &amp;quot;is running.&amp;quot;&lt;br /&gt;
          exit 0&lt;br /&gt;
       else&lt;br /&gt;
          echo &amp;quot;is not running.&amp;quot;&lt;br /&gt;
          exit 1&lt;br /&gt;
       fi&lt;br /&gt;
    ;;&lt;br /&gt;
 &lt;br /&gt;
    restart)&lt;br /&gt;
       &amp;quot;$0&amp;quot; stop &amp;amp;&amp;amp; &amp;quot;$0&amp;quot; start&lt;br /&gt;
    ;;&lt;br /&gt;
 &lt;br /&gt;
    *)&lt;br /&gt;
       echo &amp;quot;Usage: `basename &amp;quot;$0&amp;quot;` {start|stop|status|restart}&amp;quot;&lt;br /&gt;
       exit 1&lt;br /&gt;
 esac&lt;br /&gt;
 &lt;br /&gt;
 exit 0&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu'à :&lt;br /&gt;
 service rdiffweb start&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pour archive: ancienne version avant reprise par http://www.patrikdufresne.com&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;
 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&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;
&lt;br /&gt;
== Installation sur CentOS 7 ==&lt;br /&gt;
&lt;br /&gt;
Installer le dépôt&lt;br /&gt;
  rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
Installer yum-utils et désactiver le dépôt par défaut&lt;br /&gt;
  yum install yum-utils&lt;br /&gt;
  yum-config-manager --disable epel&lt;br /&gt;
&lt;br /&gt;
Installer les paquets avec l'option --enablerepo=epel&lt;br /&gt;
  yum --enablerepo=epel -y install rdiff-backup --&amp;gt;&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;
Ici, on sauvegarde un serveur (ou poste) Windows à partir d'un serveur linux qui lance rdiff-backup. A adapter si on veut le contraire.&lt;br /&gt;
== Cygwin ==&lt;br /&gt;
On installe d'abord Cygwin sur Windows (la version .exe de rdiff semble plutôt bugguée), dans lequel on installera un serveur OpenSSH et rdiff-backup.&lt;br /&gt;
&lt;br /&gt;
Naviguer sur http://www.cygwin.com/ pour charger le setup*.exe correspondant à la version de Windows.&lt;br /&gt;
&lt;br /&gt;
Lancer le setup, et pendant l'installation ajouter les paquets :&lt;br /&gt;
 Devel/&lt;br /&gt;
 autoconf&lt;br /&gt;
 automake&lt;br /&gt;
 binutils&lt;br /&gt;
 gcc-g++&lt;br /&gt;
 make&lt;br /&gt;
 patchutils&lt;br /&gt;
 Interpreters/&lt;br /&gt;
 python&lt;br /&gt;
 Net/&lt;br /&gt;
 openssh&lt;br /&gt;
 Web/&lt;br /&gt;
 wget&lt;br /&gt;
Lancer une console cygwin&lt;br /&gt;
&lt;br /&gt;
== Librsync dans Cygwin ==&lt;br /&gt;
Dans la console, installer librsync&lt;br /&gt;
 wget http://sourceforge.net/projects/librsync/files/latest/download?source=files -O librsync-0.9.7.tar.gz&lt;br /&gt;
 tar xzf librsync-0.9.7.tar.gz&lt;br /&gt;
 cd librsync-0.9.7&lt;br /&gt;
 ./configure --prefix=/usr --bindir=/bin --libdir=/lib&lt;br /&gt;
En cas de message &amp;quot;unable to guess system type&amp;quot;, repérer la version d'automake et récupérer un config.guess à jour :&lt;br /&gt;
 automake --version&lt;br /&gt;
    .... 1.14.1 ....&lt;br /&gt;
 cp  /usr/share/automake-1.14/config.guess .&lt;br /&gt;
relancer ./configure. Puis :&lt;br /&gt;
 make all&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
== Rdiff-backup dans Cygwin ==&lt;br /&gt;
Télécharger le source et installer rdiff-backup&lt;br /&gt;
 wget http://savannah.nongnu.org/download/rdiff-backup/rdiff-backup-1.2.8.tar.gz&lt;br /&gt;
 tar -xzf 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;
== Configurer openSSH ==&lt;br /&gt;
 ssh-host-config&lt;br /&gt;
Répondre &amp;quot;yes&amp;quot; à tout jusqu'à &amp;quot;value of CYGWIN for the daemon&amp;quot; auquel on répond &amp;quot;ntsec&amp;quot;, puis &amp;quot;no&amp;quot; pour garder le nom de compte service par défaut, et &amp;quot;yes&amp;quot; pour le créer, tout le reste est par défaut.&lt;br /&gt;
&lt;br /&gt;
Démarrer le service CYGWIN sshd, par la MMC ou par :&lt;br /&gt;
 &amp;quot;net start sshd&amp;quot;&lt;br /&gt;
Créer un répertoire &amp;quot;.ssh&amp;quot;. Sur le serveur linux de sauvegarde, générer si nécessaire les clé SSH, et copier la clé public dans &amp;quot;.ssh/authorized_keys&amp;quot; dans la console Cygwin.&lt;br /&gt;
&lt;br /&gt;
Ouvrir l'accès au port 22 (SSH), sur les firewalls, routeurs, box, etc... entre le Windows et internet, et dans le firewall Windows lui-même. A partir du serveur linux, tester une connexion ssh vers le Windows, qui ne doit pas demander de mot de passe.&lt;br /&gt;
&lt;br /&gt;
== Exemple de backup, à partir du serveur linux, qui lit les données distante du poste Windows ==&lt;br /&gt;
 rdiff-backup -v5 --force --create-full-path --print-statistics --no-hard-links --include &amp;quot;/cygdrive/c/Données utilisateurs&amp;quot; --include &amp;quot;/cygdrive/d/Logiciels&amp;quot; --include &amp;quot;/cygdrive/d/Work&amp;quot; --exclude /cygdrive/** --remote-schema &amp;quot;ssh -p 22 %s rdiff-backup --server&amp;quot; Administrateur@serveurWindows.no-ip.org::/cygdrive/ /backup/serveurWindows&lt;br /&gt;
On aura à l'arrivée /backup/serveurWindows/c/Données utilisateurs, /backup/serveurWindows/d/Logiciels et/backup/serveurWindows/d/Work.&lt;br /&gt;
&lt;br /&gt;
L'exclusion &amp;quot;/cygdrive/**&amp;quot; a la même fonction que &amp;quot;**&amp;quot; entre serveurs linux.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pour archive : installation à partir de l'EXE&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;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Rdiff-backup&amp;diff=6641</id>
		<title>Rdiff-backup</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Rdiff-backup&amp;diff=6641"/>
				<updated>2019-04-10T15:05:58Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Restore - Exemples */&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;
Eventuellement, si on veut sauvegarder plusieurs répertoires de la même machine, on sauvegarde avec des inclusions :&lt;br /&gt;
 rdiff-backup --force -v5 --include /etc --include /home --exclude &amp;quot;**&amp;quot; root@192.168.1.2::/ /backup/ &amp;gt; rdiff_server1.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
On aura alors à l'arrivée /backup/etc et /backup/home, et un seul répertoire de metadonnées rdiff-backup-datas pour les 2. Le --exclude &amp;quot;**&amp;quot; est là pour éviter que rdiff n'essaie de sauvegarder toute l'arborescence (le &amp;quot;/&amp;quot; qu'on lui donne après les ::) et ne s'occupe que des &amp;quot;--include&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&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;
=== Restore par fichier diff ===&lt;br /&gt;
[EDIT 03/2019] Autre façon de restaurer, plus simple si on rencontre des problèmes de caractères spéciaux dans les noms qui empêchent la restauration par &amp;quot;-r&amp;quot;&lt;br /&gt;
Repérer le fichier différentiel du fichier à restaurer pour la date voulue. Ex :&lt;br /&gt;
 ls /repertoire_de_backup/rdiff-backup-data/increments/chemin_complet/fichier.tld.'''2019-03-22'''T02\:55\:35+01\:00'''.diff.gz'''&lt;br /&gt;
Restaurer simplement par (exemple vers /tmp local) :&lt;br /&gt;
 rdiff-backup /repertoire_de_backup/rdiff-backup-data/increments/chemin_complet/fichier.tld.'''2019-03-22'''T02\:55\:35+01\:00'''.diff.gz''' /tmp/fichier.tld&lt;br /&gt;
=== Restore par &amp;quot;-r&amp;quot; ===&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: red&amp;quot;&amp;gt;'''NOTE :''' pour remonter un répertoire complet, il faut l'indiquer la source comme à la destination '''SANS &amp;quot;/&amp;quot; APRES''', sinon il restaure les fichiers dans le répertoire supérieur sans recréer ou écraser le répertoire (/etc dans l'exemple)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 # fichier /etc/hosts d'il y a 1 heure (--force si le fichier ou répertoire 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 (/etc dans l'exemple) !&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; signifie &amp;quot;restore at&amp;quot;, 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;
&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;
&amp;lt;!--&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;
--&amp;gt;&lt;br /&gt;
== Installation sur Centos ==&lt;br /&gt;
Nouvelle version 0.7 http://www.patrikdufresne.com/en/rdiffweb/&lt;br /&gt;
&lt;br /&gt;
=== Installer Python 2.7 si nécessaire ===&lt;br /&gt;
Sur CentOS (6 ou 7), on a que Python 2.6.6. On installe la 7 en alternative.&lt;br /&gt;
 yum --enablerepo=epel install wget gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libffi-devel libxslt libxslt-devel libxml2 libxml2-devel openldap-devel libjpeg-turbo-devel openjpeg-devel libtiff-devel git libpng libXext libz.so.1 xorg-x11-fonts-Type1 curl cabextract&lt;br /&gt;
 wget http://python.org/ftp/python/2.7.8/Python-2.7.8.tgz&lt;br /&gt;
 tar -xzf Python-2.7.8.tgz&lt;br /&gt;
 cd Python-2.7.8&lt;br /&gt;
 ./configure --prefix=/usr/local --enable-shared LDFLAGS=&amp;quot;-Wl,-rpath /usr/local/lib&amp;quot;&lt;br /&gt;
 make&lt;br /&gt;
 make altinstall&lt;br /&gt;
'''ATTENTION AU &amp;quot;ALTINSTALL&amp;quot; !'''&lt;br /&gt;
&lt;br /&gt;
Le temps de l'installation, on passe sur python 2.7&lt;br /&gt;
 alias python=python2.7&lt;br /&gt;
 python -V&lt;br /&gt;
 wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O - | /usr/local/bin/python2.7&lt;br /&gt;
 pip install babel&lt;br /&gt;
&lt;br /&gt;
=== Installation de rdiffweb ===&lt;br /&gt;
 wget --no-check-certificate -O rdiffweb.tar.gz https://github.com/ikus060/rdiffweb/archive/master.tar.gz&lt;br /&gt;
 tar zxf rdiffweb.tar.gz&lt;br /&gt;
 cd rdiffweb-master/&lt;br /&gt;
 python setup.py build&lt;br /&gt;
 python setup.py install&lt;br /&gt;
On peut revenir à python 2.6 sur la machine pour éviter les problèmes&lt;br /&gt;
 unalias python&lt;br /&gt;
&lt;br /&gt;
Le script d'init n'est pas adapté à CentOS. Le remplacer par celui-ci, repris de la v0.6:&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 # rdiffWeb, A web interface to rdiff-backup repositories&lt;br /&gt;
 # Copyright (C) 2012 rdiffWeb contributors&lt;br /&gt;
 #&lt;br /&gt;
 # This program is free software: you can redistribute it and/or modify&lt;br /&gt;
 # it under the terms of the GNU General Public License as published by&lt;br /&gt;
 # the Free Software Foundation, either version 3 of the License, or&lt;br /&gt;
 # (at your option) any later version.&lt;br /&gt;
 #&lt;br /&gt;
 # This program is distributed in the hope that it will be useful,&lt;br /&gt;
 # but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
 # GNU General Public License for more details.&lt;br /&gt;
 #&lt;br /&gt;
 # You should have received a copy of the GNU General Public License&lt;br /&gt;
 # along with this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.&lt;br /&gt;
 &lt;br /&gt;
 # Basic support for the Linux Standard Base Specification 3.1.0&lt;br /&gt;
 ### BEGIN INIT INFO&lt;br /&gt;
 # Provides: rdiff_web&lt;br /&gt;
 # Required-Start: $network $local_fs&lt;br /&gt;
 # Required-Stop: $network&lt;br /&gt;
 # Default-Start: 2 3 5&lt;br /&gt;
 # Default-Stop: 0 6&lt;br /&gt;
 # Description: Manages the rdiffWeb daemon&lt;br /&gt;
 ### END INIT INFO&lt;br /&gt;
 &lt;br /&gt;
 DAEMON=/usr/local/bin/rdiffweb&lt;br /&gt;
 PIDFILE=&amp;quot;/var/run/rdiffweb&amp;quot;&lt;br /&gt;
 LOGFILE=&amp;quot;/var/log/rdiffweb.log&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 SUCCESS_MSG=&amp;quot;^[[71G done&amp;quot;&lt;br /&gt;
 ERROR_MSG=&amp;quot;^[[71Gfailed&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 if [ -f /etc/init.d/functions ]; then&lt;br /&gt;
  . /etc/init.d/functions&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # This script won't be able to run without root privileges.&lt;br /&gt;
 if [ `id -u` -ne 0 ]; then&lt;br /&gt;
    echo &amp;quot;Error: this script must be run as root.&amp;quot;&lt;br /&gt;
    exit 1&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # See how we were called.&lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
    start)&lt;br /&gt;
       if [ ! -f /etc/rdiffweb/rdw.conf ]; then&lt;br /&gt;
          echo -n &amp;quot;rdiffWeb is not configured!  Please run 'rdiff-web-config'.&amp;quot;&lt;br /&gt;
          echo $ERROR_MSG&lt;br /&gt;
          exit 1&lt;br /&gt;
       fi&lt;br /&gt;
       echo -n &amp;quot;Starting rdiffWeb...&amp;quot;&lt;br /&gt;
       $DAEMON --pid-file=&amp;quot;$PIDFILE&amp;quot; \&lt;br /&gt;
       --log-file=&amp;quot;$LOGFILE&amp;quot; \&lt;br /&gt;
       --background &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
       echo $SUCCESS_MSG&lt;br /&gt;
       exit 0&lt;br /&gt;
    ;;&lt;br /&gt;
 &lt;br /&gt;
    stop)&lt;br /&gt;
       if [ -e &amp;quot;$PIDFILE&amp;quot; ]; then&lt;br /&gt;
          echo -n &amp;quot;Stopping rdiffWeb...&amp;quot;&lt;br /&gt;
          kill `cat &amp;quot;$PIDFILE&amp;quot; 2&amp;gt;/dev/null` &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
          rm $PIDFILE &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
          echo $SUCCESS_MSG&lt;br /&gt;
          exit 0&lt;br /&gt;
       else&lt;br /&gt;
          echo -n &amp;quot;rdiffWeb is not running&amp;quot;&lt;br /&gt;
          echo $ERROR_MSG&lt;br /&gt;
          exit 1&lt;br /&gt;
       fi&lt;br /&gt;
    ;;&lt;br /&gt;
 &lt;br /&gt;
    status)&lt;br /&gt;
       echo -n &amp;quot;rdiffWeb &amp;quot;&lt;br /&gt;
       if [ -e &amp;quot;$PIDFILE&amp;quot; ]; then&lt;br /&gt;
          echo &amp;quot;is running.&amp;quot;&lt;br /&gt;
          exit 0&lt;br /&gt;
       else&lt;br /&gt;
          echo &amp;quot;is not running.&amp;quot;&lt;br /&gt;
          exit 1&lt;br /&gt;
       fi&lt;br /&gt;
    ;;&lt;br /&gt;
 &lt;br /&gt;
    restart)&lt;br /&gt;
       &amp;quot;$0&amp;quot; stop &amp;amp;&amp;amp; &amp;quot;$0&amp;quot; start&lt;br /&gt;
    ;;&lt;br /&gt;
 &lt;br /&gt;
    *)&lt;br /&gt;
       echo &amp;quot;Usage: `basename &amp;quot;$0&amp;quot;` {start|stop|status|restart}&amp;quot;&lt;br /&gt;
       exit 1&lt;br /&gt;
 esac&lt;br /&gt;
 &lt;br /&gt;
 exit 0&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu'à :&lt;br /&gt;
 service rdiffweb start&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pour archive: ancienne version avant reprise par http://www.patrikdufresne.com&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;
 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&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;
&lt;br /&gt;
== Installation sur CentOS 7 ==&lt;br /&gt;
&lt;br /&gt;
Installer le dépôt&lt;br /&gt;
  rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
Installer yum-utils et désactiver le dépôt par défaut&lt;br /&gt;
  yum install yum-utils&lt;br /&gt;
  yum-config-manager --disable epel&lt;br /&gt;
&lt;br /&gt;
Installer les paquets avec l'option --enablerepo=epel&lt;br /&gt;
  yum --enablerepo=epel -y install rdiff-backup --&amp;gt;&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;
Ici, on sauvegarde un serveur (ou poste) Windows à partir d'un serveur linux qui lance rdiff-backup. A adapter si on veut le contraire.&lt;br /&gt;
== Cygwin ==&lt;br /&gt;
On installe d'abord Cygwin sur Windows (la version .exe de rdiff semble plutôt bugguée), dans lequel on installera un serveur OpenSSH et rdiff-backup.&lt;br /&gt;
&lt;br /&gt;
Naviguer sur http://www.cygwin.com/ pour charger le setup*.exe correspondant à la version de Windows.&lt;br /&gt;
&lt;br /&gt;
Lancer le setup, et pendant l'installation ajouter les paquets :&lt;br /&gt;
 Devel/&lt;br /&gt;
 autoconf&lt;br /&gt;
 automake&lt;br /&gt;
 binutils&lt;br /&gt;
 gcc-g++&lt;br /&gt;
 make&lt;br /&gt;
 patchutils&lt;br /&gt;
 Interpreters/&lt;br /&gt;
 python&lt;br /&gt;
 Net/&lt;br /&gt;
 openssh&lt;br /&gt;
 Web/&lt;br /&gt;
 wget&lt;br /&gt;
Lancer une console cygwin&lt;br /&gt;
&lt;br /&gt;
== Librsync dans Cygwin ==&lt;br /&gt;
Dans la console, installer librsync&lt;br /&gt;
 wget http://sourceforge.net/projects/librsync/files/latest/download?source=files -O librsync-0.9.7.tar.gz&lt;br /&gt;
 tar xzf librsync-0.9.7.tar.gz&lt;br /&gt;
 cd librsync-0.9.7&lt;br /&gt;
 ./configure --prefix=/usr --bindir=/bin --libdir=/lib&lt;br /&gt;
En cas de message &amp;quot;unable to guess system type&amp;quot;, repérer la version d'automake et récupérer un config.guess à jour :&lt;br /&gt;
 automake --version&lt;br /&gt;
    .... 1.14.1 ....&lt;br /&gt;
 cp  /usr/share/automake-1.14/config.guess .&lt;br /&gt;
relancer ./configure. Puis :&lt;br /&gt;
 make all&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
== Rdiff-backup dans Cygwin ==&lt;br /&gt;
Télécharger le source et installer rdiff-backup&lt;br /&gt;
 wget http://savannah.nongnu.org/download/rdiff-backup/rdiff-backup-1.2.8.tar.gz&lt;br /&gt;
 tar -xzf 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;
== Configurer openSSH ==&lt;br /&gt;
 ssh-host-config&lt;br /&gt;
Répondre &amp;quot;yes&amp;quot; à tout jusqu'à &amp;quot;value of CYGWIN for the daemon&amp;quot; auquel on répond &amp;quot;ntsec&amp;quot;, puis &amp;quot;no&amp;quot; pour garder le nom de compte service par défaut, et &amp;quot;yes&amp;quot; pour le créer, tout le reste est par défaut.&lt;br /&gt;
&lt;br /&gt;
Démarrer le service CYGWIN sshd, par la MMC ou par :&lt;br /&gt;
 &amp;quot;net start sshd&amp;quot;&lt;br /&gt;
Créer un répertoire &amp;quot;.ssh&amp;quot;. Sur le serveur linux de sauvegarde, générer si nécessaire les clé SSH, et copier la clé public dans &amp;quot;.ssh/authorized_keys&amp;quot; dans la console Cygwin.&lt;br /&gt;
&lt;br /&gt;
Ouvrir l'accès au port 22 (SSH), sur les firewalls, routeurs, box, etc... entre le Windows et internet, et dans le firewall Windows lui-même. A partir du serveur linux, tester une connexion ssh vers le Windows, qui ne doit pas demander de mot de passe.&lt;br /&gt;
&lt;br /&gt;
== Exemple de backup, à partir du serveur linux, qui lit les données distante du poste Windows ==&lt;br /&gt;
 rdiff-backup -v5 --force --create-full-path --print-statistics --no-hard-links --include &amp;quot;/cygdrive/c/Données utilisateurs&amp;quot; --include &amp;quot;/cygdrive/d/Logiciels&amp;quot; --include &amp;quot;/cygdrive/d/Work&amp;quot; --exclude /cygdrive/** --remote-schema &amp;quot;ssh -p 22 %s rdiff-backup --server&amp;quot; Administrateur@serveurWindows.no-ip.org::/cygdrive/ /backup/serveurWindows&lt;br /&gt;
On aura à l'arrivée /backup/serveurWindows/c/Données utilisateurs, /backup/serveurWindows/d/Logiciels et/backup/serveurWindows/d/Work.&lt;br /&gt;
&lt;br /&gt;
L'exclusion &amp;quot;/cygdrive/**&amp;quot; a la même fonction que &amp;quot;**&amp;quot; entre serveurs linux.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pour archive : installation à partir de l'EXE&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;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Rdiff-backup&amp;diff=6640</id>
		<title>Rdiff-backup</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Rdiff-backup&amp;diff=6640"/>
				<updated>2019-03-28T14:06:25Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Rdiff-backup dans Cygwin = */&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;
Eventuellement, si on veut sauvegarder plusieurs répertoires de la même machine, on sauvegarde avec des inclusions :&lt;br /&gt;
 rdiff-backup --force -v5 --include /etc --include /home --exclude &amp;quot;**&amp;quot; root@192.168.1.2::/ /backup/ &amp;gt; rdiff_server1.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
On aura alors à l'arrivée /backup/etc et /backup/home, et un seul répertoire de metadonnées rdiff-backup-datas pour les 2. Le --exclude &amp;quot;**&amp;quot; est là pour éviter que rdiff n'essaie de sauvegarder toute l'arborescence (le &amp;quot;/&amp;quot; qu'on lui donne après les ::) et ne s'occupe que des &amp;quot;--include&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&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;
=== Restore par fichier diff ===&lt;br /&gt;
[EDIT 03/2019] Autre façon de restaurer, plus simple si on rencontre des problèmes de caractères spéciaux dans les noms qui empêchent la restauration par &amp;quot;-r&amp;quot;&lt;br /&gt;
Repérer le fichier différentiel du fichier à restaurer pour la date voulue. Ex :&lt;br /&gt;
 ls /repertoire_de_backup/rdiff-backup-data/increments/chemin_complet/fichier.tld.'''2019-03-22'''T02\:55\:35+01\:00'''.diff.gz'''&lt;br /&gt;
Restaurer simplement par (exemple vers /tmp local) :&lt;br /&gt;
 rdiff-backup /repertoire_de_backup/rdiff-backup-data/increments/chemin_complet/fichier.tld.'''2019-03-22'''T02\:55\:35+01\:00'''.diff.gz''' /tmp/fichier.tld&lt;br /&gt;
=== Restore par &amp;quot;-r&amp;quot; ===&lt;br /&gt;
 # fichier /etc/hosts d'il y a 1 heure (--force si le fichier ou répertoire 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 (/etc dans l'exemple) !&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; signifie &amp;quot;restore at&amp;quot;, 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''', sinon il restaure les fichiers dans le répertoire supérieur sans recréer ou écraser le répertoire (/etc dans l'exemple)&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;
&amp;lt;!--&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;
--&amp;gt;&lt;br /&gt;
== Installation sur Centos ==&lt;br /&gt;
Nouvelle version 0.7 http://www.patrikdufresne.com/en/rdiffweb/&lt;br /&gt;
&lt;br /&gt;
=== Installer Python 2.7 si nécessaire ===&lt;br /&gt;
Sur CentOS (6 ou 7), on a que Python 2.6.6. On installe la 7 en alternative.&lt;br /&gt;
 yum --enablerepo=epel install wget gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libffi-devel libxslt libxslt-devel libxml2 libxml2-devel openldap-devel libjpeg-turbo-devel openjpeg-devel libtiff-devel git libpng libXext libz.so.1 xorg-x11-fonts-Type1 curl cabextract&lt;br /&gt;
 wget http://python.org/ftp/python/2.7.8/Python-2.7.8.tgz&lt;br /&gt;
 tar -xzf Python-2.7.8.tgz&lt;br /&gt;
 cd Python-2.7.8&lt;br /&gt;
 ./configure --prefix=/usr/local --enable-shared LDFLAGS=&amp;quot;-Wl,-rpath /usr/local/lib&amp;quot;&lt;br /&gt;
 make&lt;br /&gt;
 make altinstall&lt;br /&gt;
'''ATTENTION AU &amp;quot;ALTINSTALL&amp;quot; !'''&lt;br /&gt;
&lt;br /&gt;
Le temps de l'installation, on passe sur python 2.7&lt;br /&gt;
 alias python=python2.7&lt;br /&gt;
 python -V&lt;br /&gt;
 wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O - | /usr/local/bin/python2.7&lt;br /&gt;
 pip install babel&lt;br /&gt;
&lt;br /&gt;
=== Installation de rdiffweb ===&lt;br /&gt;
 wget --no-check-certificate -O rdiffweb.tar.gz https://github.com/ikus060/rdiffweb/archive/master.tar.gz&lt;br /&gt;
 tar zxf rdiffweb.tar.gz&lt;br /&gt;
 cd rdiffweb-master/&lt;br /&gt;
 python setup.py build&lt;br /&gt;
 python setup.py install&lt;br /&gt;
On peut revenir à python 2.6 sur la machine pour éviter les problèmes&lt;br /&gt;
 unalias python&lt;br /&gt;
&lt;br /&gt;
Le script d'init n'est pas adapté à CentOS. Le remplacer par celui-ci, repris de la v0.6:&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 # rdiffWeb, A web interface to rdiff-backup repositories&lt;br /&gt;
 # Copyright (C) 2012 rdiffWeb contributors&lt;br /&gt;
 #&lt;br /&gt;
 # This program is free software: you can redistribute it and/or modify&lt;br /&gt;
 # it under the terms of the GNU General Public License as published by&lt;br /&gt;
 # the Free Software Foundation, either version 3 of the License, or&lt;br /&gt;
 # (at your option) any later version.&lt;br /&gt;
 #&lt;br /&gt;
 # This program is distributed in the hope that it will be useful,&lt;br /&gt;
 # but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
 # GNU General Public License for more details.&lt;br /&gt;
 #&lt;br /&gt;
 # You should have received a copy of the GNU General Public License&lt;br /&gt;
 # along with this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.&lt;br /&gt;
 &lt;br /&gt;
 # Basic support for the Linux Standard Base Specification 3.1.0&lt;br /&gt;
 ### BEGIN INIT INFO&lt;br /&gt;
 # Provides: rdiff_web&lt;br /&gt;
 # Required-Start: $network $local_fs&lt;br /&gt;
 # Required-Stop: $network&lt;br /&gt;
 # Default-Start: 2 3 5&lt;br /&gt;
 # Default-Stop: 0 6&lt;br /&gt;
 # Description: Manages the rdiffWeb daemon&lt;br /&gt;
 ### END INIT INFO&lt;br /&gt;
 &lt;br /&gt;
 DAEMON=/usr/local/bin/rdiffweb&lt;br /&gt;
 PIDFILE=&amp;quot;/var/run/rdiffweb&amp;quot;&lt;br /&gt;
 LOGFILE=&amp;quot;/var/log/rdiffweb.log&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 SUCCESS_MSG=&amp;quot;^[[71G done&amp;quot;&lt;br /&gt;
 ERROR_MSG=&amp;quot;^[[71Gfailed&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 if [ -f /etc/init.d/functions ]; then&lt;br /&gt;
  . /etc/init.d/functions&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # This script won't be able to run without root privileges.&lt;br /&gt;
 if [ `id -u` -ne 0 ]; then&lt;br /&gt;
    echo &amp;quot;Error: this script must be run as root.&amp;quot;&lt;br /&gt;
    exit 1&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # See how we were called.&lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
    start)&lt;br /&gt;
       if [ ! -f /etc/rdiffweb/rdw.conf ]; then&lt;br /&gt;
          echo -n &amp;quot;rdiffWeb is not configured!  Please run 'rdiff-web-config'.&amp;quot;&lt;br /&gt;
          echo $ERROR_MSG&lt;br /&gt;
          exit 1&lt;br /&gt;
       fi&lt;br /&gt;
       echo -n &amp;quot;Starting rdiffWeb...&amp;quot;&lt;br /&gt;
       $DAEMON --pid-file=&amp;quot;$PIDFILE&amp;quot; \&lt;br /&gt;
       --log-file=&amp;quot;$LOGFILE&amp;quot; \&lt;br /&gt;
       --background &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
       echo $SUCCESS_MSG&lt;br /&gt;
       exit 0&lt;br /&gt;
    ;;&lt;br /&gt;
 &lt;br /&gt;
    stop)&lt;br /&gt;
       if [ -e &amp;quot;$PIDFILE&amp;quot; ]; then&lt;br /&gt;
          echo -n &amp;quot;Stopping rdiffWeb...&amp;quot;&lt;br /&gt;
          kill `cat &amp;quot;$PIDFILE&amp;quot; 2&amp;gt;/dev/null` &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
          rm $PIDFILE &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
          echo $SUCCESS_MSG&lt;br /&gt;
          exit 0&lt;br /&gt;
       else&lt;br /&gt;
          echo -n &amp;quot;rdiffWeb is not running&amp;quot;&lt;br /&gt;
          echo $ERROR_MSG&lt;br /&gt;
          exit 1&lt;br /&gt;
       fi&lt;br /&gt;
    ;;&lt;br /&gt;
 &lt;br /&gt;
    status)&lt;br /&gt;
       echo -n &amp;quot;rdiffWeb &amp;quot;&lt;br /&gt;
       if [ -e &amp;quot;$PIDFILE&amp;quot; ]; then&lt;br /&gt;
          echo &amp;quot;is running.&amp;quot;&lt;br /&gt;
          exit 0&lt;br /&gt;
       else&lt;br /&gt;
          echo &amp;quot;is not running.&amp;quot;&lt;br /&gt;
          exit 1&lt;br /&gt;
       fi&lt;br /&gt;
    ;;&lt;br /&gt;
 &lt;br /&gt;
    restart)&lt;br /&gt;
       &amp;quot;$0&amp;quot; stop &amp;amp;&amp;amp; &amp;quot;$0&amp;quot; start&lt;br /&gt;
    ;;&lt;br /&gt;
 &lt;br /&gt;
    *)&lt;br /&gt;
       echo &amp;quot;Usage: `basename &amp;quot;$0&amp;quot;` {start|stop|status|restart}&amp;quot;&lt;br /&gt;
       exit 1&lt;br /&gt;
 esac&lt;br /&gt;
 &lt;br /&gt;
 exit 0&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu'à :&lt;br /&gt;
 service rdiffweb start&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pour archive: ancienne version avant reprise par http://www.patrikdufresne.com&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;
 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&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;
&lt;br /&gt;
== Installation sur CentOS 7 ==&lt;br /&gt;
&lt;br /&gt;
Installer le dépôt&lt;br /&gt;
  rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
Installer yum-utils et désactiver le dépôt par défaut&lt;br /&gt;
  yum install yum-utils&lt;br /&gt;
  yum-config-manager --disable epel&lt;br /&gt;
&lt;br /&gt;
Installer les paquets avec l'option --enablerepo=epel&lt;br /&gt;
  yum --enablerepo=epel -y install rdiff-backup --&amp;gt;&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;
Ici, on sauvegarde un serveur (ou poste) Windows à partir d'un serveur linux qui lance rdiff-backup. A adapter si on veut le contraire.&lt;br /&gt;
== Cygwin ==&lt;br /&gt;
On installe d'abord Cygwin sur Windows (la version .exe de rdiff semble plutôt bugguée), dans lequel on installera un serveur OpenSSH et rdiff-backup.&lt;br /&gt;
&lt;br /&gt;
Naviguer sur http://www.cygwin.com/ pour charger le setup*.exe correspondant à la version de Windows.&lt;br /&gt;
&lt;br /&gt;
Lancer le setup, et pendant l'installation ajouter les paquets :&lt;br /&gt;
 Devel/&lt;br /&gt;
 autoconf&lt;br /&gt;
 automake&lt;br /&gt;
 binutils&lt;br /&gt;
 gcc-g++&lt;br /&gt;
 make&lt;br /&gt;
 patchutils&lt;br /&gt;
 Interpreters/&lt;br /&gt;
 python&lt;br /&gt;
 Net/&lt;br /&gt;
 openssh&lt;br /&gt;
 Web/&lt;br /&gt;
 wget&lt;br /&gt;
Lancer une console cygwin&lt;br /&gt;
&lt;br /&gt;
== Librsync dans Cygwin ==&lt;br /&gt;
Dans la console, installer librsync&lt;br /&gt;
 wget http://sourceforge.net/projects/librsync/files/latest/download?source=files -O librsync-0.9.7.tar.gz&lt;br /&gt;
 tar xzf librsync-0.9.7.tar.gz&lt;br /&gt;
 cd librsync-0.9.7&lt;br /&gt;
 ./configure --prefix=/usr --bindir=/bin --libdir=/lib&lt;br /&gt;
En cas de message &amp;quot;unable to guess system type&amp;quot;, repérer la version d'automake et récupérer un config.guess à jour :&lt;br /&gt;
 automake --version&lt;br /&gt;
    .... 1.14.1 ....&lt;br /&gt;
 cp  /usr/share/automake-1.14/config.guess .&lt;br /&gt;
relancer ./configure. Puis :&lt;br /&gt;
 make all&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
== Rdiff-backup dans Cygwin ==&lt;br /&gt;
Télécharger le source et installer rdiff-backup&lt;br /&gt;
 wget http://savannah.nongnu.org/download/rdiff-backup/rdiff-backup-1.2.8.tar.gz&lt;br /&gt;
 tar -xzf 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;
== Configurer openSSH ==&lt;br /&gt;
 ssh-host-config&lt;br /&gt;
Répondre &amp;quot;yes&amp;quot; à tout jusqu'à &amp;quot;value of CYGWIN for the daemon&amp;quot; auquel on répond &amp;quot;ntsec&amp;quot;, puis &amp;quot;no&amp;quot; pour garder le nom de compte service par défaut, et &amp;quot;yes&amp;quot; pour le créer, tout le reste est par défaut.&lt;br /&gt;
&lt;br /&gt;
Démarrer le service CYGWIN sshd, par la MMC ou par :&lt;br /&gt;
 &amp;quot;net start sshd&amp;quot;&lt;br /&gt;
Créer un répertoire &amp;quot;.ssh&amp;quot;. Sur le serveur linux de sauvegarde, générer si nécessaire les clé SSH, et copier la clé public dans &amp;quot;.ssh/authorized_keys&amp;quot; dans la console Cygwin.&lt;br /&gt;
&lt;br /&gt;
Ouvrir l'accès au port 22 (SSH), sur les firewalls, routeurs, box, etc... entre le Windows et internet, et dans le firewall Windows lui-même. A partir du serveur linux, tester une connexion ssh vers le Windows, qui ne doit pas demander de mot de passe.&lt;br /&gt;
&lt;br /&gt;
== Exemple de backup, à partir du serveur linux, qui lit les données distante du poste Windows ==&lt;br /&gt;
 rdiff-backup -v5 --force --create-full-path --print-statistics --no-hard-links --include &amp;quot;/cygdrive/c/Données utilisateurs&amp;quot; --include &amp;quot;/cygdrive/d/Logiciels&amp;quot; --include &amp;quot;/cygdrive/d/Work&amp;quot; --exclude /cygdrive/** --remote-schema &amp;quot;ssh -p 22 %s rdiff-backup --server&amp;quot; Administrateur@serveurWindows.no-ip.org::/cygdrive/ /backup/serveurWindows&lt;br /&gt;
On aura à l'arrivée /backup/serveurWindows/c/Données utilisateurs, /backup/serveurWindows/d/Logiciels et/backup/serveurWindows/d/Work.&lt;br /&gt;
&lt;br /&gt;
L'exclusion &amp;quot;/cygdrive/**&amp;quot; a la même fonction que &amp;quot;**&amp;quot; entre serveurs linux.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pour archive : installation à partir de l'EXE&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;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Rdiff-backup&amp;diff=6639</id>
		<title>Rdiff-backup</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Rdiff-backup&amp;diff=6639"/>
				<updated>2019-03-28T14:05:55Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Restore - Exemples */&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;
Eventuellement, si on veut sauvegarder plusieurs répertoires de la même machine, on sauvegarde avec des inclusions :&lt;br /&gt;
 rdiff-backup --force -v5 --include /etc --include /home --exclude &amp;quot;**&amp;quot; root@192.168.1.2::/ /backup/ &amp;gt; rdiff_server1.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
On aura alors à l'arrivée /backup/etc et /backup/home, et un seul répertoire de metadonnées rdiff-backup-datas pour les 2. Le --exclude &amp;quot;**&amp;quot; est là pour éviter que rdiff n'essaie de sauvegarder toute l'arborescence (le &amp;quot;/&amp;quot; qu'on lui donne après les ::) et ne s'occupe que des &amp;quot;--include&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&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;
=== Restore par fichier diff ===&lt;br /&gt;
[EDIT 03/2019] Autre façon de restaurer, plus simple si on rencontre des problèmes de caractères spéciaux dans les noms qui empêchent la restauration par &amp;quot;-r&amp;quot;&lt;br /&gt;
Repérer le fichier différentiel du fichier à restaurer pour la date voulue. Ex :&lt;br /&gt;
 ls /repertoire_de_backup/rdiff-backup-data/increments/chemin_complet/fichier.tld.'''2019-03-22'''T02\:55\:35+01\:00'''.diff.gz'''&lt;br /&gt;
Restaurer simplement par (exemple vers /tmp local) :&lt;br /&gt;
 rdiff-backup /repertoire_de_backup/rdiff-backup-data/increments/chemin_complet/fichier.tld.'''2019-03-22'''T02\:55\:35+01\:00'''.diff.gz''' /tmp/fichier.tld&lt;br /&gt;
=== Restore par &amp;quot;-r&amp;quot; ===&lt;br /&gt;
 # fichier /etc/hosts d'il y a 1 heure (--force si le fichier ou répertoire 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 (/etc dans l'exemple) !&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; signifie &amp;quot;restore at&amp;quot;, 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''', sinon il restaure les fichiers dans le répertoire supérieur sans recréer ou écraser le répertoire (/etc dans l'exemple)&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;
&amp;lt;!--&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;
--&amp;gt;&lt;br /&gt;
== Installation sur Centos ==&lt;br /&gt;
Nouvelle version 0.7 http://www.patrikdufresne.com/en/rdiffweb/&lt;br /&gt;
&lt;br /&gt;
=== Installer Python 2.7 si nécessaire ===&lt;br /&gt;
Sur CentOS (6 ou 7), on a que Python 2.6.6. On installe la 7 en alternative.&lt;br /&gt;
 yum --enablerepo=epel install wget gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libffi-devel libxslt libxslt-devel libxml2 libxml2-devel openldap-devel libjpeg-turbo-devel openjpeg-devel libtiff-devel git libpng libXext libz.so.1 xorg-x11-fonts-Type1 curl cabextract&lt;br /&gt;
 wget http://python.org/ftp/python/2.7.8/Python-2.7.8.tgz&lt;br /&gt;
 tar -xzf Python-2.7.8.tgz&lt;br /&gt;
 cd Python-2.7.8&lt;br /&gt;
 ./configure --prefix=/usr/local --enable-shared LDFLAGS=&amp;quot;-Wl,-rpath /usr/local/lib&amp;quot;&lt;br /&gt;
 make&lt;br /&gt;
 make altinstall&lt;br /&gt;
'''ATTENTION AU &amp;quot;ALTINSTALL&amp;quot; !'''&lt;br /&gt;
&lt;br /&gt;
Le temps de l'installation, on passe sur python 2.7&lt;br /&gt;
 alias python=python2.7&lt;br /&gt;
 python -V&lt;br /&gt;
 wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O - | /usr/local/bin/python2.7&lt;br /&gt;
 pip install babel&lt;br /&gt;
&lt;br /&gt;
=== Installation de rdiffweb ===&lt;br /&gt;
 wget --no-check-certificate -O rdiffweb.tar.gz https://github.com/ikus060/rdiffweb/archive/master.tar.gz&lt;br /&gt;
 tar zxf rdiffweb.tar.gz&lt;br /&gt;
 cd rdiffweb-master/&lt;br /&gt;
 python setup.py build&lt;br /&gt;
 python setup.py install&lt;br /&gt;
On peut revenir à python 2.6 sur la machine pour éviter les problèmes&lt;br /&gt;
 unalias python&lt;br /&gt;
&lt;br /&gt;
Le script d'init n'est pas adapté à CentOS. Le remplacer par celui-ci, repris de la v0.6:&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 # rdiffWeb, A web interface to rdiff-backup repositories&lt;br /&gt;
 # Copyright (C) 2012 rdiffWeb contributors&lt;br /&gt;
 #&lt;br /&gt;
 # This program is free software: you can redistribute it and/or modify&lt;br /&gt;
 # it under the terms of the GNU General Public License as published by&lt;br /&gt;
 # the Free Software Foundation, either version 3 of the License, or&lt;br /&gt;
 # (at your option) any later version.&lt;br /&gt;
 #&lt;br /&gt;
 # This program is distributed in the hope that it will be useful,&lt;br /&gt;
 # but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
 # GNU General Public License for more details.&lt;br /&gt;
 #&lt;br /&gt;
 # You should have received a copy of the GNU General Public License&lt;br /&gt;
 # along with this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.&lt;br /&gt;
 &lt;br /&gt;
 # Basic support for the Linux Standard Base Specification 3.1.0&lt;br /&gt;
 ### BEGIN INIT INFO&lt;br /&gt;
 # Provides: rdiff_web&lt;br /&gt;
 # Required-Start: $network $local_fs&lt;br /&gt;
 # Required-Stop: $network&lt;br /&gt;
 # Default-Start: 2 3 5&lt;br /&gt;
 # Default-Stop: 0 6&lt;br /&gt;
 # Description: Manages the rdiffWeb daemon&lt;br /&gt;
 ### END INIT INFO&lt;br /&gt;
 &lt;br /&gt;
 DAEMON=/usr/local/bin/rdiffweb&lt;br /&gt;
 PIDFILE=&amp;quot;/var/run/rdiffweb&amp;quot;&lt;br /&gt;
 LOGFILE=&amp;quot;/var/log/rdiffweb.log&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 SUCCESS_MSG=&amp;quot;^[[71G done&amp;quot;&lt;br /&gt;
 ERROR_MSG=&amp;quot;^[[71Gfailed&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 if [ -f /etc/init.d/functions ]; then&lt;br /&gt;
  . /etc/init.d/functions&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # This script won't be able to run without root privileges.&lt;br /&gt;
 if [ `id -u` -ne 0 ]; then&lt;br /&gt;
    echo &amp;quot;Error: this script must be run as root.&amp;quot;&lt;br /&gt;
    exit 1&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # See how we were called.&lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
    start)&lt;br /&gt;
       if [ ! -f /etc/rdiffweb/rdw.conf ]; then&lt;br /&gt;
          echo -n &amp;quot;rdiffWeb is not configured!  Please run 'rdiff-web-config'.&amp;quot;&lt;br /&gt;
          echo $ERROR_MSG&lt;br /&gt;
          exit 1&lt;br /&gt;
       fi&lt;br /&gt;
       echo -n &amp;quot;Starting rdiffWeb...&amp;quot;&lt;br /&gt;
       $DAEMON --pid-file=&amp;quot;$PIDFILE&amp;quot; \&lt;br /&gt;
       --log-file=&amp;quot;$LOGFILE&amp;quot; \&lt;br /&gt;
       --background &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
       echo $SUCCESS_MSG&lt;br /&gt;
       exit 0&lt;br /&gt;
    ;;&lt;br /&gt;
 &lt;br /&gt;
    stop)&lt;br /&gt;
       if [ -e &amp;quot;$PIDFILE&amp;quot; ]; then&lt;br /&gt;
          echo -n &amp;quot;Stopping rdiffWeb...&amp;quot;&lt;br /&gt;
          kill `cat &amp;quot;$PIDFILE&amp;quot; 2&amp;gt;/dev/null` &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
          rm $PIDFILE &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
          echo $SUCCESS_MSG&lt;br /&gt;
          exit 0&lt;br /&gt;
       else&lt;br /&gt;
          echo -n &amp;quot;rdiffWeb is not running&amp;quot;&lt;br /&gt;
          echo $ERROR_MSG&lt;br /&gt;
          exit 1&lt;br /&gt;
       fi&lt;br /&gt;
    ;;&lt;br /&gt;
 &lt;br /&gt;
    status)&lt;br /&gt;
       echo -n &amp;quot;rdiffWeb &amp;quot;&lt;br /&gt;
       if [ -e &amp;quot;$PIDFILE&amp;quot; ]; then&lt;br /&gt;
          echo &amp;quot;is running.&amp;quot;&lt;br /&gt;
          exit 0&lt;br /&gt;
       else&lt;br /&gt;
          echo &amp;quot;is not running.&amp;quot;&lt;br /&gt;
          exit 1&lt;br /&gt;
       fi&lt;br /&gt;
    ;;&lt;br /&gt;
 &lt;br /&gt;
    restart)&lt;br /&gt;
       &amp;quot;$0&amp;quot; stop &amp;amp;&amp;amp; &amp;quot;$0&amp;quot; start&lt;br /&gt;
    ;;&lt;br /&gt;
 &lt;br /&gt;
    *)&lt;br /&gt;
       echo &amp;quot;Usage: `basename &amp;quot;$0&amp;quot;` {start|stop|status|restart}&amp;quot;&lt;br /&gt;
       exit 1&lt;br /&gt;
 esac&lt;br /&gt;
 &lt;br /&gt;
 exit 0&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu'à :&lt;br /&gt;
 service rdiffweb start&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pour archive: ancienne version avant reprise par http://www.patrikdufresne.com&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;
 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&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;
&lt;br /&gt;
== Installation sur CentOS 7 ==&lt;br /&gt;
&lt;br /&gt;
Installer le dépôt&lt;br /&gt;
  rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
Installer yum-utils et désactiver le dépôt par défaut&lt;br /&gt;
  yum install yum-utils&lt;br /&gt;
  yum-config-manager --disable epel&lt;br /&gt;
&lt;br /&gt;
Installer les paquets avec l'option --enablerepo=epel&lt;br /&gt;
  yum --enablerepo=epel -y install rdiff-backup --&amp;gt;&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;
Ici, on sauvegarde un serveur (ou poste) Windows à partir d'un serveur linux qui lance rdiff-backup. A adapter si on veut le contraire.&lt;br /&gt;
== Cygwin ==&lt;br /&gt;
On installe d'abord Cygwin sur Windows (la version .exe de rdiff semble plutôt bugguée), dans lequel on installera un serveur OpenSSH et rdiff-backup.&lt;br /&gt;
&lt;br /&gt;
Naviguer sur http://www.cygwin.com/ pour charger le setup*.exe correspondant à la version de Windows.&lt;br /&gt;
&lt;br /&gt;
Lancer le setup, et pendant l'installation ajouter les paquets :&lt;br /&gt;
 Devel/&lt;br /&gt;
 autoconf&lt;br /&gt;
 automake&lt;br /&gt;
 binutils&lt;br /&gt;
 gcc-g++&lt;br /&gt;
 make&lt;br /&gt;
 patchutils&lt;br /&gt;
 Interpreters/&lt;br /&gt;
 python&lt;br /&gt;
 Net/&lt;br /&gt;
 openssh&lt;br /&gt;
 Web/&lt;br /&gt;
 wget&lt;br /&gt;
Lancer une console cygwin&lt;br /&gt;
&lt;br /&gt;
== Librsync dans Cygwin ==&lt;br /&gt;
Dans la console, installer librsync&lt;br /&gt;
 wget http://sourceforge.net/projects/librsync/files/latest/download?source=files -O librsync-0.9.7.tar.gz&lt;br /&gt;
 tar xzf librsync-0.9.7.tar.gz&lt;br /&gt;
 cd librsync-0.9.7&lt;br /&gt;
 ./configure --prefix=/usr --bindir=/bin --libdir=/lib&lt;br /&gt;
En cas de message &amp;quot;unable to guess system type&amp;quot;, repérer la version d'automake et récupérer un config.guess à jour :&lt;br /&gt;
 automake --version&lt;br /&gt;
    .... 1.14.1 ....&lt;br /&gt;
 cp  /usr/share/automake-1.14/config.guess .&lt;br /&gt;
relancer ./configure. Puis :&lt;br /&gt;
 make all&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
== Rdiff-backup dans Cygwin ===&lt;br /&gt;
Télécharger le source et installer rdiff-backup&lt;br /&gt;
 wget http://savannah.nongnu.org/download/rdiff-backup/rdiff-backup-1.2.8.tar.gz&lt;br /&gt;
 tar -xzf 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;
== Configurer openSSH ==&lt;br /&gt;
 ssh-host-config&lt;br /&gt;
Répondre &amp;quot;yes&amp;quot; à tout jusqu'à &amp;quot;value of CYGWIN for the daemon&amp;quot; auquel on répond &amp;quot;ntsec&amp;quot;, puis &amp;quot;no&amp;quot; pour garder le nom de compte service par défaut, et &amp;quot;yes&amp;quot; pour le créer, tout le reste est par défaut.&lt;br /&gt;
&lt;br /&gt;
Démarrer le service CYGWIN sshd, par la MMC ou par :&lt;br /&gt;
 &amp;quot;net start sshd&amp;quot;&lt;br /&gt;
Créer un répertoire &amp;quot;.ssh&amp;quot;. Sur le serveur linux de sauvegarde, générer si nécessaire les clé SSH, et copier la clé public dans &amp;quot;.ssh/authorized_keys&amp;quot; dans la console Cygwin.&lt;br /&gt;
&lt;br /&gt;
Ouvrir l'accès au port 22 (SSH), sur les firewalls, routeurs, box, etc... entre le Windows et internet, et dans le firewall Windows lui-même. A partir du serveur linux, tester une connexion ssh vers le Windows, qui ne doit pas demander de mot de passe.&lt;br /&gt;
&lt;br /&gt;
== Exemple de backup, à partir du serveur linux, qui lit les données distante du poste Windows ==&lt;br /&gt;
 rdiff-backup -v5 --force --create-full-path --print-statistics --no-hard-links --include &amp;quot;/cygdrive/c/Données utilisateurs&amp;quot; --include &amp;quot;/cygdrive/d/Logiciels&amp;quot; --include &amp;quot;/cygdrive/d/Work&amp;quot; --exclude /cygdrive/** --remote-schema &amp;quot;ssh -p 22 %s rdiff-backup --server&amp;quot; Administrateur@serveurWindows.no-ip.org::/cygdrive/ /backup/serveurWindows&lt;br /&gt;
On aura à l'arrivée /backup/serveurWindows/c/Données utilisateurs, /backup/serveurWindows/d/Logiciels et/backup/serveurWindows/d/Work.&lt;br /&gt;
&lt;br /&gt;
L'exclusion &amp;quot;/cygdrive/**&amp;quot; a la même fonction que &amp;quot;**&amp;quot; entre serveurs linux.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pour archive : installation à partir de l'EXE&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;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Rdiff-backup&amp;diff=6638</id>
		<title>Rdiff-backup</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Rdiff-backup&amp;diff=6638"/>
				<updated>2019-03-28T14:01:03Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Restore - Exemples */&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;
Eventuellement, si on veut sauvegarder plusieurs répertoires de la même machine, on sauvegarde avec des inclusions :&lt;br /&gt;
 rdiff-backup --force -v5 --include /etc --include /home --exclude &amp;quot;**&amp;quot; root@192.168.1.2::/ /backup/ &amp;gt; rdiff_server1.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
On aura alors à l'arrivée /backup/etc et /backup/home, et un seul répertoire de metadonnées rdiff-backup-datas pour les 2. Le --exclude &amp;quot;**&amp;quot; est là pour éviter que rdiff n'essaie de sauvegarder toute l'arborescence (le &amp;quot;/&amp;quot; qu'on lui donne après les ::) et ne s'occupe que des &amp;quot;--include&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&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;
[EDIT 03/2019] Autre façon de restaurer, plus simple si on rencontre des problèmes de caractères spéciaux dans les noms qui empêchent la restauration par &amp;quot;-r&amp;quot;&lt;br /&gt;
Repérer le fichier différentiel du fichier à restaurer pour la date voulue. Ex :&lt;br /&gt;
 ls /repertoire_de_backup/rdiff-backup-data/increments/chemin_complet/fichier.tld.'''2019-03-22'''T02\:55\:35+01\:00'''.diff.gz'''&lt;br /&gt;
Restaurer simplement par (exemple vers /tmp local) :&lt;br /&gt;
 rdiff-backup /repertoire_de_backup/rdiff-backup-data/increments/chemin_complet/fichier.tld.'''2019-03-22'''T02\:55\:35+01\:00'''.diff.gz''' /tmp/fichier.tld&lt;br /&gt;
&lt;br /&gt;
 # fichier /etc/hosts d'il y a 1 heure (--force si le fichier ou répertoire 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 (/etc dans l'exemple) !&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; signifie &amp;quot;restore at&amp;quot;, 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''', sinon il restaure les fichiers dans le répertoire supérieur sans recréer ou écraser le répertoire (/etc dans l'exemple)&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;
&amp;lt;!--&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;
--&amp;gt;&lt;br /&gt;
== Installation sur Centos ==&lt;br /&gt;
Nouvelle version 0.7 http://www.patrikdufresne.com/en/rdiffweb/&lt;br /&gt;
&lt;br /&gt;
=== Installer Python 2.7 si nécessaire ===&lt;br /&gt;
Sur CentOS (6 ou 7), on a que Python 2.6.6. On installe la 7 en alternative.&lt;br /&gt;
 yum --enablerepo=epel install wget gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libffi-devel libxslt libxslt-devel libxml2 libxml2-devel openldap-devel libjpeg-turbo-devel openjpeg-devel libtiff-devel git libpng libXext libz.so.1 xorg-x11-fonts-Type1 curl cabextract&lt;br /&gt;
 wget http://python.org/ftp/python/2.7.8/Python-2.7.8.tgz&lt;br /&gt;
 tar -xzf Python-2.7.8.tgz&lt;br /&gt;
 cd Python-2.7.8&lt;br /&gt;
 ./configure --prefix=/usr/local --enable-shared LDFLAGS=&amp;quot;-Wl,-rpath /usr/local/lib&amp;quot;&lt;br /&gt;
 make&lt;br /&gt;
 make altinstall&lt;br /&gt;
'''ATTENTION AU &amp;quot;ALTINSTALL&amp;quot; !'''&lt;br /&gt;
&lt;br /&gt;
Le temps de l'installation, on passe sur python 2.7&lt;br /&gt;
 alias python=python2.7&lt;br /&gt;
 python -V&lt;br /&gt;
 wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O - | /usr/local/bin/python2.7&lt;br /&gt;
 pip install babel&lt;br /&gt;
&lt;br /&gt;
=== Installation de rdiffweb ===&lt;br /&gt;
 wget --no-check-certificate -O rdiffweb.tar.gz https://github.com/ikus060/rdiffweb/archive/master.tar.gz&lt;br /&gt;
 tar zxf rdiffweb.tar.gz&lt;br /&gt;
 cd rdiffweb-master/&lt;br /&gt;
 python setup.py build&lt;br /&gt;
 python setup.py install&lt;br /&gt;
On peut revenir à python 2.6 sur la machine pour éviter les problèmes&lt;br /&gt;
 unalias python&lt;br /&gt;
&lt;br /&gt;
Le script d'init n'est pas adapté à CentOS. Le remplacer par celui-ci, repris de la v0.6:&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 # rdiffWeb, A web interface to rdiff-backup repositories&lt;br /&gt;
 # Copyright (C) 2012 rdiffWeb contributors&lt;br /&gt;
 #&lt;br /&gt;
 # This program is free software: you can redistribute it and/or modify&lt;br /&gt;
 # it under the terms of the GNU General Public License as published by&lt;br /&gt;
 # the Free Software Foundation, either version 3 of the License, or&lt;br /&gt;
 # (at your option) any later version.&lt;br /&gt;
 #&lt;br /&gt;
 # This program is distributed in the hope that it will be useful,&lt;br /&gt;
 # but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
 # GNU General Public License for more details.&lt;br /&gt;
 #&lt;br /&gt;
 # You should have received a copy of the GNU General Public License&lt;br /&gt;
 # along with this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.&lt;br /&gt;
 &lt;br /&gt;
 # Basic support for the Linux Standard Base Specification 3.1.0&lt;br /&gt;
 ### BEGIN INIT INFO&lt;br /&gt;
 # Provides: rdiff_web&lt;br /&gt;
 # Required-Start: $network $local_fs&lt;br /&gt;
 # Required-Stop: $network&lt;br /&gt;
 # Default-Start: 2 3 5&lt;br /&gt;
 # Default-Stop: 0 6&lt;br /&gt;
 # Description: Manages the rdiffWeb daemon&lt;br /&gt;
 ### END INIT INFO&lt;br /&gt;
 &lt;br /&gt;
 DAEMON=/usr/local/bin/rdiffweb&lt;br /&gt;
 PIDFILE=&amp;quot;/var/run/rdiffweb&amp;quot;&lt;br /&gt;
 LOGFILE=&amp;quot;/var/log/rdiffweb.log&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 SUCCESS_MSG=&amp;quot;^[[71G done&amp;quot;&lt;br /&gt;
 ERROR_MSG=&amp;quot;^[[71Gfailed&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 if [ -f /etc/init.d/functions ]; then&lt;br /&gt;
  . /etc/init.d/functions&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # This script won't be able to run without root privileges.&lt;br /&gt;
 if [ `id -u` -ne 0 ]; then&lt;br /&gt;
    echo &amp;quot;Error: this script must be run as root.&amp;quot;&lt;br /&gt;
    exit 1&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # See how we were called.&lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
    start)&lt;br /&gt;
       if [ ! -f /etc/rdiffweb/rdw.conf ]; then&lt;br /&gt;
          echo -n &amp;quot;rdiffWeb is not configured!  Please run 'rdiff-web-config'.&amp;quot;&lt;br /&gt;
          echo $ERROR_MSG&lt;br /&gt;
          exit 1&lt;br /&gt;
       fi&lt;br /&gt;
       echo -n &amp;quot;Starting rdiffWeb...&amp;quot;&lt;br /&gt;
       $DAEMON --pid-file=&amp;quot;$PIDFILE&amp;quot; \&lt;br /&gt;
       --log-file=&amp;quot;$LOGFILE&amp;quot; \&lt;br /&gt;
       --background &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
       echo $SUCCESS_MSG&lt;br /&gt;
       exit 0&lt;br /&gt;
    ;;&lt;br /&gt;
 &lt;br /&gt;
    stop)&lt;br /&gt;
       if [ -e &amp;quot;$PIDFILE&amp;quot; ]; then&lt;br /&gt;
          echo -n &amp;quot;Stopping rdiffWeb...&amp;quot;&lt;br /&gt;
          kill `cat &amp;quot;$PIDFILE&amp;quot; 2&amp;gt;/dev/null` &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
          rm $PIDFILE &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
          echo $SUCCESS_MSG&lt;br /&gt;
          exit 0&lt;br /&gt;
       else&lt;br /&gt;
          echo -n &amp;quot;rdiffWeb is not running&amp;quot;&lt;br /&gt;
          echo $ERROR_MSG&lt;br /&gt;
          exit 1&lt;br /&gt;
       fi&lt;br /&gt;
    ;;&lt;br /&gt;
 &lt;br /&gt;
    status)&lt;br /&gt;
       echo -n &amp;quot;rdiffWeb &amp;quot;&lt;br /&gt;
       if [ -e &amp;quot;$PIDFILE&amp;quot; ]; then&lt;br /&gt;
          echo &amp;quot;is running.&amp;quot;&lt;br /&gt;
          exit 0&lt;br /&gt;
       else&lt;br /&gt;
          echo &amp;quot;is not running.&amp;quot;&lt;br /&gt;
          exit 1&lt;br /&gt;
       fi&lt;br /&gt;
    ;;&lt;br /&gt;
 &lt;br /&gt;
    restart)&lt;br /&gt;
       &amp;quot;$0&amp;quot; stop &amp;amp;&amp;amp; &amp;quot;$0&amp;quot; start&lt;br /&gt;
    ;;&lt;br /&gt;
 &lt;br /&gt;
    *)&lt;br /&gt;
       echo &amp;quot;Usage: `basename &amp;quot;$0&amp;quot;` {start|stop|status|restart}&amp;quot;&lt;br /&gt;
       exit 1&lt;br /&gt;
 esac&lt;br /&gt;
 &lt;br /&gt;
 exit 0&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu'à :&lt;br /&gt;
 service rdiffweb start&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pour archive: ancienne version avant reprise par http://www.patrikdufresne.com&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;
 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&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;
&lt;br /&gt;
== Installation sur CentOS 7 ==&lt;br /&gt;
&lt;br /&gt;
Installer le dépôt&lt;br /&gt;
  rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
Installer yum-utils et désactiver le dépôt par défaut&lt;br /&gt;
  yum install yum-utils&lt;br /&gt;
  yum-config-manager --disable epel&lt;br /&gt;
&lt;br /&gt;
Installer les paquets avec l'option --enablerepo=epel&lt;br /&gt;
  yum --enablerepo=epel -y install rdiff-backup --&amp;gt;&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;
Ici, on sauvegarde un serveur (ou poste) Windows à partir d'un serveur linux qui lance rdiff-backup. A adapter si on veut le contraire.&lt;br /&gt;
== Cygwin ==&lt;br /&gt;
On installe d'abord Cygwin sur Windows (la version .exe de rdiff semble plutôt bugguée), dans lequel on installera un serveur OpenSSH et rdiff-backup.&lt;br /&gt;
&lt;br /&gt;
Naviguer sur http://www.cygwin.com/ pour charger le setup*.exe correspondant à la version de Windows.&lt;br /&gt;
&lt;br /&gt;
Lancer le setup, et pendant l'installation ajouter les paquets :&lt;br /&gt;
 Devel/&lt;br /&gt;
 autoconf&lt;br /&gt;
 automake&lt;br /&gt;
 binutils&lt;br /&gt;
 gcc-g++&lt;br /&gt;
 make&lt;br /&gt;
 patchutils&lt;br /&gt;
 Interpreters/&lt;br /&gt;
 python&lt;br /&gt;
 Net/&lt;br /&gt;
 openssh&lt;br /&gt;
 Web/&lt;br /&gt;
 wget&lt;br /&gt;
Lancer une console cygwin&lt;br /&gt;
&lt;br /&gt;
== Librsync dans Cygwin ==&lt;br /&gt;
Dans la console, installer librsync&lt;br /&gt;
 wget http://sourceforge.net/projects/librsync/files/latest/download?source=files -O librsync-0.9.7.tar.gz&lt;br /&gt;
 tar xzf librsync-0.9.7.tar.gz&lt;br /&gt;
 cd librsync-0.9.7&lt;br /&gt;
 ./configure --prefix=/usr --bindir=/bin --libdir=/lib&lt;br /&gt;
En cas de message &amp;quot;unable to guess system type&amp;quot;, repérer la version d'automake et récupérer un config.guess à jour :&lt;br /&gt;
 automake --version&lt;br /&gt;
    .... 1.14.1 ....&lt;br /&gt;
 cp  /usr/share/automake-1.14/config.guess .&lt;br /&gt;
relancer ./configure. Puis :&lt;br /&gt;
 make all&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
== Rdiff-backup dans Cygwin ===&lt;br /&gt;
Télécharger le source et installer rdiff-backup&lt;br /&gt;
 wget http://savannah.nongnu.org/download/rdiff-backup/rdiff-backup-1.2.8.tar.gz&lt;br /&gt;
 tar -xzf 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;
== Configurer openSSH ==&lt;br /&gt;
 ssh-host-config&lt;br /&gt;
Répondre &amp;quot;yes&amp;quot; à tout jusqu'à &amp;quot;value of CYGWIN for the daemon&amp;quot; auquel on répond &amp;quot;ntsec&amp;quot;, puis &amp;quot;no&amp;quot; pour garder le nom de compte service par défaut, et &amp;quot;yes&amp;quot; pour le créer, tout le reste est par défaut.&lt;br /&gt;
&lt;br /&gt;
Démarrer le service CYGWIN sshd, par la MMC ou par :&lt;br /&gt;
 &amp;quot;net start sshd&amp;quot;&lt;br /&gt;
Créer un répertoire &amp;quot;.ssh&amp;quot;. Sur le serveur linux de sauvegarde, générer si nécessaire les clé SSH, et copier la clé public dans &amp;quot;.ssh/authorized_keys&amp;quot; dans la console Cygwin.&lt;br /&gt;
&lt;br /&gt;
Ouvrir l'accès au port 22 (SSH), sur les firewalls, routeurs, box, etc... entre le Windows et internet, et dans le firewall Windows lui-même. A partir du serveur linux, tester une connexion ssh vers le Windows, qui ne doit pas demander de mot de passe.&lt;br /&gt;
&lt;br /&gt;
== Exemple de backup, à partir du serveur linux, qui lit les données distante du poste Windows ==&lt;br /&gt;
 rdiff-backup -v5 --force --create-full-path --print-statistics --no-hard-links --include &amp;quot;/cygdrive/c/Données utilisateurs&amp;quot; --include &amp;quot;/cygdrive/d/Logiciels&amp;quot; --include &amp;quot;/cygdrive/d/Work&amp;quot; --exclude /cygdrive/** --remote-schema &amp;quot;ssh -p 22 %s rdiff-backup --server&amp;quot; Administrateur@serveurWindows.no-ip.org::/cygdrive/ /backup/serveurWindows&lt;br /&gt;
On aura à l'arrivée /backup/serveurWindows/c/Données utilisateurs, /backup/serveurWindows/d/Logiciels et/backup/serveurWindows/d/Work.&lt;br /&gt;
&lt;br /&gt;
L'exclusion &amp;quot;/cygdrive/**&amp;quot; a la même fonction que &amp;quot;**&amp;quot; entre serveurs linux.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pour archive : installation à partir de l'EXE&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;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Seafile_:_installation_sur_CentOS&amp;diff=6637</id>
		<title>Seafile : installation sur CentOS</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Seafile_:_installation_sur_CentOS&amp;diff=6637"/>
				<updated>2018-10-06T14:04:32Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Mise à jour */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installation ==&lt;br /&gt;
Update 08/2018 : procédure revue pour CentOS7 et Seafile 6.3.2 (particularité : Seahub n'utilise plus fastcgi).&lt;br /&gt;
&lt;br /&gt;
Installer les pré-requis :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
yum install python-setuptools python-simplejson python-imaging MySQL-python httpd mod_ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vérifier la dernière version serveur sur https://www.seafile.com/en/download/&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd install/&lt;br /&gt;
 wget https://download.seadrive.org/seafile-server_[ dernière version de Seafile ]_x86-64.tar.gz # ou ....i386.tar.gz sur système 32 bits&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Créer un répertoire seafile dans /home:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd /home&lt;br /&gt;
 mkdir seafile&lt;br /&gt;
 cd seafile&lt;br /&gt;
 tar -xvzf /root/install/seafile-server_[ version seafile ]_*.tar.gz&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
L'archive crée un sous-répertoire avec la version en cours. Lors d'une mise à jour, la précédente version ne sera donc pas écrasée.&lt;br /&gt;
&lt;br /&gt;
Lancer l'installation (qui créera les bases de données) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd seafile-server-[ version seafile ]&lt;br /&gt;
 ./setup-seafile-mysql.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Nommer le server (nom affiché sur les clients, sans espaces)&lt;br /&gt;
* donner l'IP du serveur&lt;br /&gt;
* laisser le port ccnet, le chemin des données et les ports seafile par défaut&lt;br /&gt;
* donner un mail pour l'administrateur (mail existant si possible, qui servira à se connecter à l'interface) et un mot de passe&lt;br /&gt;
* Choisir &amp;quot;1&amp;quot; pour créer les bases&lt;br /&gt;
* donner les paramètres MySQL&lt;br /&gt;
* demander la création d'un utilisateur seafile&lt;br /&gt;
* laisser les noms de bases par défaut&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
On peut alors tester Seafile directement :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 sudo su - seafile # au cas où on s'est connecté &amp;quot;root&amp;quot; auparavant&lt;br /&gt;
 ./seafile.sh start&lt;br /&gt;
 ./seahub.sh start&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
NOTE : IL EST IMPORTANT de lancer &amp;quot;seahub.sh start&amp;quot; AU MOINS UNE FOIS en ligne de commande, car cette première fois demande la mail (donc le login) et le mot de passe de l'utilisateur admin de Seafile !&lt;br /&gt;
&lt;br /&gt;
Se connecter à l'interface par &amp;lt;nowiki&amp;gt;http://IP_DU_SERVEUR:8000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
Editer le fichier /home/seafile/conf/seafile.conf&lt;br /&gt;
 [fileserver]&lt;br /&gt;
 port = 8082&lt;br /&gt;
 &lt;br /&gt;
 [database]&lt;br /&gt;
 type = mysql&lt;br /&gt;
 host = 127.0.0.1&lt;br /&gt;
 port = 3306&lt;br /&gt;
 user = seafile&lt;br /&gt;
 password = PwdMySQLseafile&lt;br /&gt;
 db_name = seafile-db&lt;br /&gt;
 connection_charset = utf8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Editer le fichier /home/seafile/conf/seahub_settings.py :&lt;br /&gt;
 # -*- coding: utf-8 -*-&lt;br /&gt;
 SECRET_KEY = &amp;quot;d56a6cbc-751c-dc66-9fdb-45f4492f5abda7d3&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 DATABASES = {&lt;br /&gt;
     'default': {&lt;br /&gt;
         'ENGINE': 'django.db.backends.mysql',&lt;br /&gt;
         'NAME': 'seahub-db',&lt;br /&gt;
         'USER': 'seafile',&lt;br /&gt;
         'PASSWORD': 'PwdSeafile',&lt;br /&gt;
         'HOST': '127.0.0.1',&lt;br /&gt;
         'PORT': '3306',&lt;br /&gt;
         'OPTIONS': {&lt;br /&gt;
             'init_command': 'SET '''default_storage_engine'''=INNODB',&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 FILE_SERVER_ROOT = 'https://seafile.domain.fr/seafhttp'&lt;br /&gt;
 &lt;br /&gt;
 EMAIL_USE_TLS = False&lt;br /&gt;
 EMAIL_HOST = 'localhost'        # smpt server&lt;br /&gt;
 EMAIL_HOST_USER = ''    # username and domain&lt;br /&gt;
 EMAIL_HOST_PASSWORD = ''    # password&lt;br /&gt;
 EMAIL_PORT = '25'&lt;br /&gt;
 DEFAULT_FROM_EMAIL = 'postmaster@domain.fr' # parce que EMAIL_HOST_USER est vide ci-dessus, sinon on peut reprendre cette variable.&lt;br /&gt;
 SERVER_EMAIL = 'postmaster@domain.fr'&lt;br /&gt;
&lt;br /&gt;
Attention au &amp;quot;default_storage_engine&amp;quot; (plutôt que &amp;quot;storage_engine&amp;quot;) à partir de la version 5 de Seafile !&lt;br /&gt;
&lt;br /&gt;
== Lancement automatique ==&lt;br /&gt;
https://github.com/haiwen/seafile/wiki/Start-seafile-server-at-system-bootup&lt;br /&gt;
&lt;br /&gt;
D'abord, arrêter Seafile !&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd seafile-server-latest&lt;br /&gt;
 ./seafile.sh stop&lt;br /&gt;
 ./seahub.sh stop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Créer un utilisateur seafile, dont le homedir sera le répertoire seafile :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 adduser -c &amp;quot;Seafile user&amp;quot; -d /home/seafile seafile&lt;br /&gt;
 chown -R seafile:seafile /home/seafile&lt;br /&gt;
 chmod 750 /home/seafile&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT''' : vérifier l'appartenance de l'arborescence /home/seafile pour qu'il n'y ait pas de problèmes de droits !&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 chown -R seafile:seafile /home/seafile&lt;br /&gt;
 chmod 750 /home/seafile&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Créer /etc/systemd/system/seafile.service&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Seafile&lt;br /&gt;
# add mysql.service or postgresql.service depending on your database to the line below&lt;br /&gt;
After=network.target mysql.service&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
ExecStart=/home/seafile/seafile-server-latest/seafile.sh start&lt;br /&gt;
ExecStop=/home/seafile/seafile-server-latest/seafile.sh stop&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
User=seafile&lt;br /&gt;
Group=seafile&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
et /etc/systemd/system/seahub.service&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Seafile hub&lt;br /&gt;
After=network.target seafile.service&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
# change start to start-fastcgi if you want to run fastcgi&lt;br /&gt;
ExecStart=/home/seafile//seafile-server-latest/seahub.sh start-fastcgi&lt;br /&gt;
ExecStop=/home/seafile/seafile-server-latest/seahub.sh stop&lt;br /&gt;
User=seafile&lt;br /&gt;
Group=seafile&lt;br /&gt;
Type=oneshot&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Activer et lancer les 2 services&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl enable seafile&lt;br /&gt;
systemctl enable seahub&lt;br /&gt;
systemctl start seafile&lt;br /&gt;
systemctl start seahub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ARCHIVES&lt;br /&gt;
== Plusieurs versions de Python ==&lt;br /&gt;
Si, après l'installation de Seafile avec Python 2.6, une version 2.7 est installée sur le serveur, par défaut c'est cette dernière qui sera utilisée (les scripts de lancement de Seafile et Seahub recherchent les binaires Python et s'arrêtent sur la 2.7).&lt;br /&gt;
&lt;br /&gt;
Mais les modules nécessaires à Seafile ont été installés sur la version 2.6, la 2.7 ne les voit pas, Seafile ne démarre pas (dans les logs, erreurs du type :&lt;br /&gt;
&amp;quot;ImportError: No module named simplejson&amp;quot; ou ImportError: No module named MySQL-python&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Si (comme c'est le cas sur CentOS6 où la version 2.7 n'est pas dans les dépôts, et doit être installée manuellement) les modules nécessaires ne sont pas facilement installables sur la 2.7, il faut forcer la 2.6.&lt;br /&gt;
&lt;br /&gt;
Pour ça, on initialise la variable PYTHON qui, si elle n'est pas vide, empêche les scripts Seafile de chercher plus loin.&lt;br /&gt;
&lt;br /&gt;
Créer /home/seafile/.bash_profile avec :&lt;br /&gt;
 PYTHON=/usr/bin/python2.6 # le chemin de l'exécutable qu'on souhaite&lt;br /&gt;
 export PYTHON&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 chown seafile.seafile /home/seafile/.bash_profile&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Les scripts ne devraient plus chercher Python et démarrer sans problème.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Connexion seahub par Apache ==&lt;br /&gt;
Depuis la version 6.3.2, Seafile n'utilise plus fastcgi. On utilise Apache en proxy simple. On ne détaillera ici que la configuration SSL.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ARCHIVES&lt;br /&gt;
Pour la liaison entre Apache et Seafile, on utilisera Fastcgi. Sur CentOS, à installer des dépôts RPMForge (voir [[Dépôts complémentaires]]) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  yum install --enablerepo=rpmforge mod_fastcgi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Editer /etc/httpd/conf.d/fastcgi.conf, modifier :&lt;br /&gt;
  FastCgiWrapper Off&lt;br /&gt;
et ajouter à la fin :&lt;br /&gt;
  &amp;lt;IfModule mod_fastcgi.c&amp;gt;&lt;br /&gt;
      FastCGIExternalServer /var/www/seahub.fcgi -host 127.0.0.1:8000 &lt;br /&gt;
  &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
'''NOTE : le fichier /var/www/seahub.fcgi n'a pas besoin d'exister, ce n'est qu'un &amp;quot;wrapper&amp;quot; (voir ci-dessous)'''&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Créer un fichier /etc/httpd/conf.d/seafile.conf :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
    ServerName seafile.domain.fr&lt;br /&gt;
    DocumentRoot /var/www&lt;br /&gt;
    Alias /media /home/seafile/seafile-server-latest/seahub/media/           &lt;br /&gt;
    RewriteEngine On&lt;br /&gt;
    &lt;br /&gt;
    # seafile httpserver&lt;br /&gt;
    #&lt;br /&gt;
    ProxyPass /seafhttp http://127.0.0.1:8082&lt;br /&gt;
    ProxyPassReverse /seafhttp http://127.0.0.1:8082&lt;br /&gt;
    RewriteRule ^/seafhttp - [QSA,L]&lt;br /&gt;
  &lt;br /&gt;
    #&lt;br /&gt;
    # seahub&lt;br /&gt;
    #&lt;br /&gt;
    RewriteRule ^/(media.*)$ /$1 [QSA,L,PT]&lt;br /&gt;
    RewriteCond %{REQUEST_FILENAME} !-f&lt;br /&gt;
    RewriteRule ^(.*)$ /seahub.fcgi$1 [QSA,L,E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]&lt;br /&gt;
    &lt;br /&gt;
    # add ssl protocol&lt;br /&gt;
    SSLEngine On&lt;br /&gt;
    SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire&lt;br /&gt;
    SSLCertificateFile    /etc/ssl/seafile.crt&lt;br /&gt;
    SSLCertificateKeyFile /etc/ssl/seafile.key&lt;br /&gt;
&amp;lt;/virtualhost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ARCHIVE&lt;br /&gt;
'''NOTE : le DocumentRoot doit correspondre au chemin du &amp;quot;wrapper&amp;quot; seahub.fcgi paramétré plus haut !'''&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Dans /home/seafile, éditer ccnet/ccnet.conf, modifier SERVICE_URL par l'URL externe de Seafile (ce paramètre sera utilisé pour construire notamment les liens qui pourraient être envoyés par mail) :&lt;br /&gt;
  SERVICE_URL = https://seafile.domain.fr&lt;br /&gt;
Editer seahub_settings.py, ajouter :&lt;br /&gt;
  HTTP_SERVER_ROOT = 'https://seafile.domain.fr/seafhttp'&lt;br /&gt;
&amp;quot;HTTP_SERVER_ROOT&amp;quot; peut être aussi &amp;quot;FILE_SERVER_ROOT&amp;quot;, indifféremment.&lt;br /&gt;
&lt;br /&gt;
Générer des certificats (ou utiliser Let'sEncrypt !) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  openssl genrsa -out privkey.pem 2048&lt;br /&gt;
  openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Copier et renommer les fichiers générés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  mv cacert.pem /etc/ssl/seafile.crt&lt;br /&gt;
  mv privkey.pem /etc/ssl/seafile.key&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Si nécessaire, faire une redirection du site HTTP vers HTTPS. A la racine du site HTTP (port 80, qui doit être différente de la racine du site HTTPS), créer un fichier .htaccess :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RewriteEngine On&lt;br /&gt;
RewriteCond %{HTTPS} off&lt;br /&gt;
RewriteRule ^(.*)$ https://seafile.domain.fr/$1 [L,R=301]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/httpd/conf/httpd.conf : s'assurer que la directive &amp;quot;AllowOverride&amp;quot; du site par défaut (sous &amp;lt;Directory /var/www/html&amp;gt;) est à &amp;quot;All&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Supprimer /etc/httpd/conf.d/welcome.conf pour ne pas tomber sur la page de test en cas d'erreur.&lt;br /&gt;
&lt;br /&gt;
Reste à relancer apache&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  systemctl restart httpd&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''NOTE : Vérifier qu'Apache écoute sur le port 443 ! Décommenter &amp;quot;Listen 443&amp;quot; dans /etc/httpd/conf.d/ssl.conf.'''&lt;br /&gt;
&lt;br /&gt;
== Connexion seahub par NGINX ==&lt;br /&gt;
&amp;lt;!-- ARCHIVES&lt;br /&gt;
La configuration nginx (https via fastcgi) est enregistrée dans un fichier, chargé ensuite en &amp;quot;include&amp;quot; dans la configuration de nginx :&lt;br /&gt;
 server {&lt;br /&gt;
     listen 192.168.0.50:443;&lt;br /&gt;
     ssl on;&lt;br /&gt;
     ssl_certificate      /home/seafile/conf/ssl.seafile.domain.fr.pem;&lt;br /&gt;
     ssl_certificate_key  /home/seafile/conf/ssl.seafile.domain.fr.key;&lt;br /&gt;
     server_name  seafile.domain.fr;&lt;br /&gt;
     proxy_set_header X-Forwarded-For $remote_addr;&lt;br /&gt;
 &lt;br /&gt;
     add_header Strict-Transport-Security &amp;quot;max-age=31536000; includeSubdomains&amp;quot;;&lt;br /&gt;
     server_tokens off;&lt;br /&gt;
 &lt;br /&gt;
     location / {&lt;br /&gt;
         fastcgi_pass    127.0.0.1:8000;&lt;br /&gt;
         fastcgi_param   SCRIPT_FILENAME     $document_root$fastcgi_script_name;&lt;br /&gt;
         fastcgi_param   PATH_INFO           $fastcgi_script_name;&lt;br /&gt;
 &lt;br /&gt;
         fastcgi_param   SERVER_PROTOCOL        $server_protocol;&lt;br /&gt;
         fastcgi_param   QUERY_STRING        $query_string;&lt;br /&gt;
         fastcgi_param   REQUEST_METHOD      $request_method;&lt;br /&gt;
         fastcgi_param   CONTENT_TYPE        $content_type;&lt;br /&gt;
         fastcgi_param   CONTENT_LENGTH      $content_length;&lt;br /&gt;
         fastcgi_param   SERVER_ADDR         $server_addr;&lt;br /&gt;
         fastcgi_param   SERVER_PORT         $server_port;&lt;br /&gt;
         fastcgi_param   SERVER_NAME         $server_name;&lt;br /&gt;
         fastcgi_param   HTTPS               on;&lt;br /&gt;
         fastcgi_param   HTTP_SCHEME         https;&lt;br /&gt;
 &lt;br /&gt;
         access_log      /var/log/nginx/seahub.access.log;&lt;br /&gt;
         error_log       /var/log/nginx/seahub.error.log;&lt;br /&gt;
         fastcgi_read_timeout 36000;&lt;br /&gt;
     }&lt;br /&gt;
     location /seafhttp {&lt;br /&gt;
         rewrite ^/seafhttp(.*)$ $1 break;&lt;br /&gt;
         proxy_pass http://127.0.0.1:8082;&lt;br /&gt;
         client_max_body_size 0;&lt;br /&gt;
         proxy_connect_timeout  36000s;&lt;br /&gt;
         proxy_read_timeout  36000s;&lt;br /&gt;
         proxy_send_timeout  36000s;&lt;br /&gt;
         send_timeout  36000s;&lt;br /&gt;
     }&lt;br /&gt;
     location /media {&lt;br /&gt;
         root /home/seafile/seafile-server-latest/seahub;&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Créer /etc/nginx/conf.d/seafile.conf :&lt;br /&gt;
    server {&lt;br /&gt;
        listen 443;&lt;br /&gt;
        ssl on;&lt;br /&gt;
        ssl_certificate /etc/ssl/cacert.pem;        # path to your cacert.pem&lt;br /&gt;
        ssl_certificate_key /etc/ssl/privkey.pem;    # path to your privkey.pem&lt;br /&gt;
        server_name seafile.example.com;&lt;br /&gt;
        ssl_session_timeout 5m;&lt;br /&gt;
        ssl_session_cache shared:SSL:5m;&lt;br /&gt;
 &lt;br /&gt;
        # Diffie-Hellman parameter for DHE ciphersuites, recommended 2048 bits&lt;br /&gt;
        ssl_dhparam /etc/nginx/dhparam.pem;&lt;br /&gt;
 &lt;br /&gt;
        # secure settings (A+ at SSL Labs ssltest at time of writing)&lt;br /&gt;
        # see https://wiki.mozilla.org/Security/Server_Side_TLS#Nginx&lt;br /&gt;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;&lt;br /&gt;
        ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-CAMELLIA256-SHA:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-SEED-SHA:DHE-RSA-CAMELLIA128-SHA:HIGH:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS';&lt;br /&gt;
        ssl_prefer_server_ciphers on;&lt;br /&gt;
 &lt;br /&gt;
        proxy_set_header X-Forwarded-For $remote_addr;&lt;br /&gt;
 &lt;br /&gt;
        add_header Strict-Transport-Security &amp;quot;max-age=31536000; includeSubDomains&amp;quot;;&lt;br /&gt;
        server_tokens off;&lt;br /&gt;
 &lt;br /&gt;
        location / {&lt;br /&gt;
            proxy_pass         http://127.0.0.1:8000;&lt;br /&gt;
            proxy_set_header   Host $host;&lt;br /&gt;
            proxy_set_header   X-Real-IP $remote_addr;&lt;br /&gt;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;&lt;br /&gt;
            proxy_set_header   X-Forwarded-Host $server_name;&lt;br /&gt;
            proxy_set_header   X-Forwarded-Proto https;&lt;br /&gt;
 &lt;br /&gt;
            access_log      /var/log/nginx/seahub.access.log;&lt;br /&gt;
            error_log       /var/log/nginx/seahub.error.log;&lt;br /&gt;
 &lt;br /&gt;
            proxy_read_timeout  1200s;&lt;br /&gt;
 &lt;br /&gt;
            client_max_body_size 0;&lt;br /&gt;
        }&lt;br /&gt;
 &lt;br /&gt;
        location /seafhttp {&lt;br /&gt;
            rewrite ^/seafhttp(.*)$ $1 break;&lt;br /&gt;
            proxy_pass http://127.0.0.1:8082;&lt;br /&gt;
            client_max_body_size 0;&lt;br /&gt;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;&lt;br /&gt;
            proxy_connect_timeout  36000s;&lt;br /&gt;
            proxy_read_timeout  36000s;&lt;br /&gt;
            proxy_send_timeout  36000s;&lt;br /&gt;
            send_timeout  36000s;&lt;br /&gt;
        }&lt;br /&gt;
        location /media {&lt;br /&gt;
            root /home/user/haiwen/seafile-server-latest/seahub;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Et créer le fichier DHPARAM :&lt;br /&gt;
    openssl dhparam 2048 &amp;gt; /etc/nginx/dhparam.pem&lt;br /&gt;
&lt;br /&gt;
== WebDAV ==&lt;br /&gt;
Pour activer WebDAV (gestion des fichiers via le web) sur Seafile :&lt;br /&gt;
* Editer seafile/conf/seafdav.conf&lt;br /&gt;
  [WEBDAV]&lt;br /&gt;
  enabled = true&lt;br /&gt;
  port = 8080&lt;br /&gt;
  fastcgi = true&lt;br /&gt;
  share_name = /seafdav&lt;br /&gt;
&lt;br /&gt;
* Ajouter dans /etc/httpd/conf.d/seafile.conf les lignes suivantes :&lt;br /&gt;
&lt;br /&gt;
  #&lt;br /&gt;
  # seafile webdav&lt;br /&gt;
  #&lt;br /&gt;
  RewriteCond %{HTTP:Authorization} (.+)&lt;br /&gt;
  RewriteRule ^(/seafdav.*)$ /seafdav.fcgi$1 [QSA,L,e=HTTP_AUTHORIZATION:%1]&lt;br /&gt;
  RewriteRule ^(/seafdav.*)$ /seafdav.fcgi$1 [QSA,L]&lt;br /&gt;
&lt;br /&gt;
* Ajouter dans /etc/httpd/conf.d/fastcgi.conf la ligne :&lt;br /&gt;
&lt;br /&gt;
  FastCGIExternalServer /var/www/seafdav.fcgi -host 127.0.0.1:8080&lt;br /&gt;
&lt;br /&gt;
Reste à relancer apache et Seafile&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  systemctl restart httpd&lt;br /&gt;
  systemctl restart seafile&lt;br /&gt;
  systemctl restart seahub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
La connexion du client DAV se fera sur le dossier &amp;quot;/seafdav&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Memcached ==&lt;br /&gt;
On peut utiliser seafile avec memcached pour accélérer la navigation :&lt;br /&gt;
&lt;br /&gt;
Installation dur CentOS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  yum install memcached python-memcached&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ajouter dans seafile/conf/seahub_setting.py :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CACHES = {&lt;br /&gt;
    'default': {&lt;br /&gt;
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',&lt;br /&gt;
	'LOCATION': '127.0.0.1:11211',&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mise à jour ==&lt;br /&gt;
Arrêter seafile et seahub :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  systemctl stop seafile&lt;br /&gt;
  systemctl stop seahub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
On donne tout de suite les droits à l'utilisateur seafile (important ! si on fait ensuite la mise à jour en tant qu'utilisateur &amp;quot;seafile&amp;quot;) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  chown -R seafile:apache /home/seafile &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Passer sous l'utilisateur seafile (préférable, pour éviter les problèmes de version de Python, voir&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  su - seafile&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Télécharger et installer la mise à jour :&lt;br /&gt;
/* archive&lt;br /&gt;
  wget https://bitbucket.org/haiwen/seafile/downloads/seafile-server_6.2.3_x86-64.tar.gz */&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  cd /home/seafile&lt;br /&gt;
  wget https://download.seadrive.org/seafile-server_6.3.4_x86-64.tar.gz&lt;br /&gt;
  tar xvzf  seafile-server_6.2.3_i386.tar.gz&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Mise à jour de version principale (6.0 -&amp;gt; 6.3) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd seafile-server-6.3.4/upgrade&lt;br /&gt;
 ./upgrade_6.0_6.1.sh&lt;br /&gt;
 ./upgrade_6.1_6.2.sh&lt;br /&gt;
 ./upgrade_6.2_6.3.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Redevenir &amp;quot;root&amp;quot; et lancer les services seafile et seahub&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  systemctl start seafile&lt;br /&gt;
  systemctl start seahub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Personnalisation ==&lt;br /&gt;
=== Logo ===&lt;br /&gt;
Mettre l'image ici, avec ce nom exact (sauvegarder éventuellement le seafile_logo.png existant) :&lt;br /&gt;
 /home/seafile/seafile-server-latest/seahub/media/img/seafile_logo.png&lt;br /&gt;
Redémarrer seahub&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ARCHIVES&lt;br /&gt;
=== Traduction ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /home/seafile/seafile-server-2.1.5/seahub/locale/fr/LC_MESSAGES&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Suppression de l'ancienne traduction :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  rm django.po&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Télécharger la traduction :&lt;br /&gt;
* depuis le site officiel de traduction :&amp;lt;br/&amp;gt;&lt;br /&gt;
https://www.transifex.com/organization/haiwen/dashboard/seahub&lt;br /&gt;
&lt;br /&gt;
* ou depuis le depot git de seahub :&amp;lt;br/&amp;gt;&lt;br /&gt;
https://github.com/haiwen/seahub/tree/master/locale/fr/LC_MESSAGES&lt;br /&gt;
&lt;br /&gt;
Compiler le fichier de traduction :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  msgfmt -o django.mo -v django.po&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Redémarrer seahub&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sauvegarde / restauration ==&lt;br /&gt;
=== Sauvegarde ===&lt;br /&gt;
Il est préférable d'arrêter les service Seafile avant sauvegarde, afin que celle-ci soit cohérente.&lt;br /&gt;
* Sauvegarder le dossier /home/seafile/ (dans son entier, c'est plus simple)&lt;br /&gt;
* Sauvegarder les 3 bases de données (par mysqldump sous MySQL/MariaDB) : ccnet-db, seafile-db, seahub-db&lt;br /&gt;
&lt;br /&gt;
=== Restauration ===&lt;br /&gt;
Réinstaller si nécessaire Seafile, puis supprimer (ou renommer en .bak) le dossier /home/seafile.&lt;br /&gt;
&lt;br /&gt;
Après sauvegarde (ou dump) des 3 bases de données (au cas où), les supprimer, et les recréer vides.&lt;br /&gt;
&lt;br /&gt;
Restaurer les 3 bases.&lt;br /&gt;
&lt;br /&gt;
Restaurer le dossier /home/seafile.&lt;br /&gt;
&lt;br /&gt;
Lancer les services Seafile, et faire un check du répertoire (voir ci-dessous)&lt;br /&gt;
== Réparation ==&lt;br /&gt;
En cas de message d'erreur sur des bibilothèques (&amp;quot;endommagée&amp;quot;), lancer un check :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd /home/seafile/seafile-server-latest/&lt;br /&gt;
 ./seaf-fsck.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si des bibliothèques apparaissent corrompues et si le script indique &amp;quot;Find available commit xxxxx (created at xxxx-xx-xx xx:xx:xx) for repo xxxxxxx.&amp;quot;, copier l'identifiant du dépôt (indiqué sur la ligne &amp;quot;Running fsck for repo xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&amp;quot;) et lancer une réparation :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd /home/seafile/seafile-server-latest/&lt;br /&gt;
 ./seaf-fsck.sh --repair xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TIPS ==&lt;br /&gt;
* Les logs sont visibles dans &amp;lt;racine_du_virtualhost&amp;gt;/seafile/seafile-server-&amp;lt;version&amp;gt;/runtime/&lt;br /&gt;
* changer le mail administrateur : &amp;lt;racine_du_virtualhost&amp;gt;/seafile/seafile-server-&amp;lt;version&amp;gt;/reset_admin.sh&lt;br /&gt;
* administer seafile en ligne de commande : https://github.com/HenriWahl/seafadm&lt;br /&gt;
* backup en utilisant l'api (fichier api.py intéressant) : https://github.com/oal/barch&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Script_d%27audit_de_bases_de_donn%C3%83%C2%A9es_MySQL&amp;diff=6636</id>
		<title>Script d'audit de bases de donnÃ©es MySQL</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Script_d%27audit_de_bases_de_donn%C3%83%C2%A9es_MySQL&amp;diff=6636"/>
				<updated>2018-09-20T08:57:50Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : Contenu remplacé par « De la même façon que  l'audit de bases Oracle, ce script produit un rapport au format HTML.  Il y a encore beaucoup... »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;De la même façon que [[Script_d'audit_de_bases_de_données_ORACLE | l'audit de bases Oracle]], ce script produit un rapport au format HTML.&lt;br /&gt;
&lt;br /&gt;
Il y a encore beaucoup à faire !...&lt;br /&gt;
&lt;br /&gt;
Code partagé &amp;quot;as is&amp;quot;, sans garantie, à utiliser à vos risques et périls (mais bon, [http://www.ina.fr/video/PUB3216395097 ce ne sont que quelques select, Seigneur]). &lt;br /&gt;
&lt;br /&gt;
09/2018 : transféré sur Github&lt;br /&gt;
https://github.com/fsoyer/auditMysqlHTML&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Script_d%27audit_de_bases_de_donn%C3%83%C2%A9es_ORACLE&amp;diff=6635</id>
		<title>Script d'audit de bases de donnÃ©es ORACLE</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Script_d%27audit_de_bases_de_donn%C3%83%C2%A9es_ORACLE&amp;diff=6635"/>
				<updated>2018-09-20T08:56:44Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Un script d'audit de bases de données Oracle qui produit un rapport HTML.&lt;br /&gt;
&lt;br /&gt;
Peaufiné amoureusement depuis des années, certainement encore perfectible, à utiliser sans modération.&lt;br /&gt;
&lt;br /&gt;
Code partagé &amp;quot;as is&amp;quot;, sans garantie, à utiliser à vos risques et périls (mais bon, [http://www.ina.fr/video/PUB3216395097 ce ne sont que quelques select, Seigneur], et quelques inserts dans une table d'historique d'audit dédiée).&lt;br /&gt;
&lt;br /&gt;
Voir aussi le [[Script_d'audit_de_bases_de_données_MySQL | script d'audit MySQL]]&lt;br /&gt;
&lt;br /&gt;
09/2018 : transféré sur Github&lt;br /&gt;
https://github.com/fsoyer/auditOracleHTML&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Script_d%27audit_de_bases_de_donn%C3%83%C2%A9es_ORACLE&amp;diff=6634</id>
		<title>Script d'audit de bases de donnÃ©es ORACLE</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Script_d%27audit_de_bases_de_donn%C3%83%C2%A9es_ORACLE&amp;diff=6634"/>
				<updated>2018-09-20T08:55:45Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Un script d'audit de bases de données Oracle qui produit un rapport HTML.&lt;br /&gt;
&lt;br /&gt;
Peaufiné amoureusement depuis des années, certainement encore perfectible, à utiliser sans modération.&lt;br /&gt;
&lt;br /&gt;
Code partagé &amp;quot;as is&amp;quot;, sans garantie, à utiliser à vos risques et périls (mais bon, [http://www.ina.fr/video/PUB3216395097 ce ne sont que quelques select, Seigneur], et quelques inserts dans une table d'historique d'audit dédiée).&lt;br /&gt;
&lt;br /&gt;
Voir aussi le [[Script_d'audit_de_bases_de_données_MySQL | script d'audit MySQL]]&lt;br /&gt;
&lt;br /&gt;
09/2018 : transféré sur Github&lt;br /&gt;
https://github.com/fsoyer/auditOracleHTML&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ARCHIVE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
-- AUDIT BASES ORACLE&lt;br /&gt;
-- v3.1.1&lt;br /&gt;
-- Compatible Oracle 9i, 10g, 11g&lt;br /&gt;
-- FSoyer 2005-2015&lt;br /&gt;
-- Changelog :&lt;br /&gt;
-- 2005 v.1.0 Creation du script, regroupement d'operations manuelles repetitives.&lt;br /&gt;
--            Generation de rapports format TXT&lt;br /&gt;
-- 12/2006 v1.1 Creation table HISTAUDIT et requetes associees pour comparaisons entre 2 audits&lt;br /&gt;
-- 11/2008 v1.2 Separation en 2 fichiers 1=audit de perfs 2=environnement schemas&lt;br /&gt;
-- 02/2009 v2.0 Modifications des requetes audits de perfs pour generer des fichiers HTML&lt;br /&gt;
-- 02/2010 Affichage icones &amp;quot;info&amp;quot; et &amp;quot;tips&amp;quot; &lt;br /&gt;
-- 06/2010 Ajout scan de l'alert.log&lt;br /&gt;
-- 08/2010 Passage section schemas en HTML&lt;br /&gt;
-- 10/2010 Mise en paramètre des listes de USERS sysusers et exusers&lt;br /&gt;
-- 11/2010 Ajout résultat NLS_PARAMETERS&lt;br /&gt;
-- ... Petites modifs diverses non documentées pendant un certain temps ...&lt;br /&gt;
-- 03/2013 v2.1 Ajout file efficiency&lt;br /&gt;
-- 06/2013 file efficiency ne donne pas d'info pertinente. Remplace par detection des FULL SCANs&lt;br /&gt;
-- 08/2013 Ajout vue V$SGAINFO plutôt que simplement V$SGA pour les bases &amp;gt;=10g&lt;br /&gt;
-- 09/2013 Ajout moyenne temps entre 2 switchs redo logs. Le min et max ne donnent pas d'info pertinente.&lt;br /&gt;
-- 06/2014 suppression stats UNDO (gestion automatique depuis 10g)&lt;br /&gt;
-- 09/2014 v2.2 Regroupement tableaux volumetrie tablespaces et diff de tailles depuis dernier audit&lt;br /&gt;
-- 12/2014 Prendre date du jour si premier audit (pas de date d'audit précédent) pour afficher les tableaux à zéro&lt;br /&gt;
-- 12/2014 tablespace UNDO placé en fin de tableau volumétrie et suppression calcul diff taille depuis dernier audit&lt;br /&gt;
-- 02/2015 ajout affichage dba_errors+dba_sources&lt;br /&gt;
-- 04/2015 corr. bug histaudit type_obj='AUT' dupliqué si script lancé plusieurs fois.&lt;br /&gt;
--         corr. bug &amp;quot;erreurs sur objet&amp;quot; limit champ dba_errors.&amp;quot;text&amp;quot; à 240 car. pour concatenations.&lt;br /&gt;
-- 07/2015 v3.0.1 affichage tablespace de la table HISTAUDIT (SYSTEM ou TOOLS)&lt;br /&gt;
--	       corr. bug div/0 si executions=0 dans v$sqlarea&lt;br /&gt;
-- 08/2015 v3.0.2 affichage des valeurs de divers paramètres d'initialisation.&lt;br /&gt;
--	   corr. bug total segments (TABLE% et INDEX%). Incohérence entre les sommes conservées dans Histaudit et les tailles réelles.&lt;br /&gt;
-- 09/2015 v3.0.3 ajout version et parametres d'init dans histaudit. Test si version ou paramètre a changé depuis dernier audit&lt;br /&gt;
--         v3.0.4 corr bug affichage version; ajout liste des patchs appliqués&lt;br /&gt;
-- 11/2015 v3.1 Nettoyage du code, suppression de lignes obsolètes, suppressions de concatenations par &amp;quot;||&amp;quot;,&lt;br /&gt;
--         correction bug &amp;quot;ORA-01489&amp;quot; dans l'affichage des objets en erreur.&lt;br /&gt;
-- 11/2015 v3.1.1 Correction qques bugs d'affichage suite à suppression des &amp;quot;||&amp;quot;&lt;br /&gt;
--         remplacement des &amp;quot;N/A&amp;quot; par bgcolor=LIGHTGREY + image blank (base64) width=20&lt;br /&gt;
--&lt;br /&gt;
-- ******  UTILISATION  ******&lt;br /&gt;
-- ****** IMPORTANT : le script doit etre lance par sqlplus, en tant que SYSTEM ******&lt;br /&gt;
-- ****** IMPORTANT : un tablespace &amp;quot;TOOLS&amp;quot; doit exister dans la base pour la table d'audit ******&lt;br /&gt;
-- TNS : sqlplus system/manager@ORCL /repertoire/audit_complet_html &amp;gt; audit.html&lt;br /&gt;
-- Easyconnect : sqlplus system/manager@//server_oracle:1521/ORCL /repertoire/audit_complet_html &amp;gt; audit.html&lt;br /&gt;
--&lt;br /&gt;
-- Exemple, sous linux, en utilisant des variables et Easyconnect :&lt;br /&gt;
-- SQLP=/usr/lib/oracle/xe/app/oracle/product/10.2.0/client/scripts/sqlplus.sh&lt;br /&gt;
-- AUDIT_SCRIPT=/scripts/Audit_Oracle/audit_complet_html&lt;br /&gt;
-- CONNEXION='//server_oracle:1521/ORCL'&lt;br /&gt;
-- RAPPORT=audit.html&lt;br /&gt;
-- $SQLP system/manager@$CONNEXION @$AUDIT_SCRIPT &amp;gt; $RAPPORT&lt;br /&gt;
--&lt;br /&gt;
-- Pour info, script sqlplus.sh adapté pour linux (UTF8 et coupures de lignes)&lt;br /&gt;
-- nécessite l'outil rlwrap&lt;br /&gt;
--     #!/bin/bash&lt;br /&gt;
--     export LD_LIBRARY_PATH=/&amp;lt;rép. Oracle Client&amp;gt;/OraHome_1&lt;br /&gt;
--     export ORACLE_HOME=/&amp;lt;rép. Oracle Client&amp;gt;/OraHome_1&lt;br /&gt;
--     export EDITOR=vi&lt;br /&gt;
--     NLS_LANG=FRENCH_FRANCE.UTF8 rlwrap -m $ORACLE_HOME/bin/sqlplus $1 $2 $3 $4 $5&lt;br /&gt;
--&lt;br /&gt;
-- ******  NOTES / TIPS  ******&lt;br /&gt;
-- * NOTE 1 : ATTENTION AUX FORMATS DE COLONNES ALPHANUMERIQUES :&lt;br /&gt;
--   LE XX de &amp;quot;format aXX&amp;quot; DOIT TENIR COMPTE DES BALISES HTML&lt;br /&gt;
--   de TYPE &amp;quot;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center&amp;gt;&amp;quot; QUI SONT&lt;br /&gt;
--   COMPTEES DANS LE TOTAL DE LA CHAINE DE CARACTERE&lt;br /&gt;
-- * NOTE 2 : AUTANT QUE POSSIBLE, NE PAS S'OCCUPER DES FORMATS COL&lt;br /&gt;
--   LAISSER PAR DEFAUT LES ALPHA ET UTILISER UN TO_CHAR(valeur,'format numérique') POUR LES NOMBRES&lt;br /&gt;
-- * NOTE 3 : Le script cree (ou re-cree) 2 fonctions et une table d'historique dans TOOLS&lt;br /&gt;
--&lt;br /&gt;
-- * TIP : pour inclure une image directement dans le code html :&lt;br /&gt;
-- &amp;lt;IMG SRC=&amp;quot;data:image/gif;base64,R0lGODdhMAAwAPAAAAAAAP///ywAAAAAMAAw AAAC8IyPqcvt3wCcDkiLc7C0qwyGHhSWpjQu5yqmCYsapyuvUUlvONmOZtfzgFz ByTB10QgxOR0TqBQejhRNzOfkVJ+5YiUqrXF5Y5lKh/DeuNcP5yLWGsEbtLiOSp a/TPg7JpJHxyendzWTBfX0cxOnKPjgBzi4diinWGdkF8kjdfnycQZXZeYGejmJl ZeGl9i2icVqaNVailT6F5iJ90m6mvuTS4OK05M0vDk0Q4XUtwvKOzrcd3iq9uis F81M1OIcR7lEewwcLp7tuNNkM3uNna3F2JQFo97Vriy/Xl4/f1cf5VWzXyym7PH hhx4dbgYKAAA7&amp;quot; ALT=&amp;quot;Larry&amp;quot;&amp;gt;&lt;br /&gt;
-- http://www.motobit.com/util/base64-decoder-encoder.asp&lt;br /&gt;
-- * TIP : trouver si la version est inférieure ou supérieure/égale à 10 :&lt;br /&gt;
-- select decode(sign(to_number(substr(VERSION,1,instr(VERSION,'.')-1))-10), -1, 'INF', 'SUP-EQ') from product_component_version where PRODUCT like 'Oracle%';&lt;br /&gt;
--&lt;br /&gt;
-- ******  BUGS CONNUS  ******&lt;br /&gt;
-- Volumétrie de tablespaces : si les fichiers mixent autoextend et no autoextend, affichage en doublon.&lt;br /&gt;
--      A valider : peut-être idem si les fichiers mixent standard et bigfile, à retester.&lt;br /&gt;
--      A valider : le calcul de l'alerte avec Couleurlimite n'est peut-être pas bon non plus dans ces cas.&lt;br /&gt;
-- Incompatibilité de certaines requêtes avec des versions &amp;lt; 10. Le script va quand même au bout.&lt;br /&gt;
-- &lt;br /&gt;
-- ******   TODO LIST   ******&lt;br /&gt;
-- AMELIORATIONS GLOBALES (AU SCRIPT)&lt;br /&gt;
-------------------------------------&lt;br /&gt;
-- TODO : UTILISER DES VARIABLES EN DEBUT DE SCRIPT POUR LES SEUILS D'ALERTES ?&lt;br /&gt;
-- TODO : Supprimer l'affichage dans la console pendant l'exécution du script, n'afficher que des infos de type &amp;quot;audit de la base XXX&amp;quot; avec dbms_output.&lt;br /&gt;
-- TODO : Faire une table des matières (ancres HTML). Frames ou menu javascript ?&lt;br /&gt;
-- TODO : Remplacer les fonctions stockées de colorisation PL/SQL par du javascript ?&lt;br /&gt;
--        Javascript inséré systématiquement en haut du fichier HTML produit, réutilisable dans les requêtes ?&lt;br /&gt;
--&lt;br /&gt;
-- AMELIORATIONS LOCALES (AUX SECTIONS)&lt;br /&gt;
---------------------------------------&lt;br /&gt;
-- Histaudit :&lt;br /&gt;
-- TODO : nettoyer historique &amp;gt; 1 an&lt;br /&gt;
-- Host :&lt;br /&gt;
-- BUG : la table v$osstat n'a pas toujours la stat &amp;quot;NUM_CPU_CORES&amp;quot;. ligne vide renvoyée. A voir !&lt;br /&gt;
-- Versions :&lt;br /&gt;
-- TODO : Ajouter la liste des patches (select * from sys.registry$history;)&lt;br /&gt;
-- Liste des tablespaces et fichiers :&lt;br /&gt;
-- Mettre en ORANGE les nouveaux tbs et fichiers, par rapport à la liste de HISTAUDIT précédente&lt;br /&gt;
-- Volumetrie :&lt;br /&gt;
-- TODO : Afficher un graphe evolution volumétrie (attention aux creations de fichiers entre deux audits)&lt;br /&gt;
--        comment faire en pur HTML, sans PHP ou autre ?&lt;br /&gt;
-- TODO : coloriser les requêtes gourmandes qui prennent plus de XXX microsec ou XXX buffers&lt;br /&gt;
-- TODO : Etudier V$TEMPSEG_USAGE preformances tablespace temporaire&lt;br /&gt;
-- Memoire :&lt;br /&gt;
-- TODO : garder le nombre de sessions dans HISTAUDIT pour graphique d'evolution et moyenne ?&lt;br /&gt;
-- TODO : affiner les stats d'opérations ASMM (variation des tailles de pools) avec v$sga_resize_ops et v$sga_dynamic_components :&lt;br /&gt;
--        select component, current_size from v$sga_dynamic_components;&lt;br /&gt;
--        select component,oper_type,oper_mode,initial_size/1024/1024 &amp;quot;Initial&amp;quot;,TARGET_SIZE/1024/1024 &amp;quot;Target&amp;quot;,FINAL_SIZE/1024/1024 &amp;quot;Final&amp;quot;,status from v$sga_resize_ops order by component;&lt;br /&gt;
--        select component,current_size/1024/1024 &amp;quot;CURRENT_SIZE&amp;quot;,min_size/1024/1024 &amp;quot;MIN_SIZE&amp;quot;,user_specified_size/1024/1024 &amp;quot;USER_SPECIFIED_SIZE&amp;quot;,last_oper_type &amp;quot;TYPE&amp;quot; from v$sga_dynamic_components order by component;&lt;br /&gt;
-- Requetes les plus gourmandes&lt;br /&gt;
-- TODO : Passer en orange les requêtes &amp;gt; 1s&lt;br /&gt;
-- Logs&lt;br /&gt;
-- Si le nombre de msg à afficher de l'alert.log est trop grand depuis le dernier audit, erreur :&lt;br /&gt;
--  declare * ERREUR Ã  la ligne 1 : ORA-01653: impossible d'Ã©tendre la table SYSTEM.ALERT_LOG de 128 dans le tablespace TOOLS ORA-06512: Ã  ligne 77&lt;br /&gt;
--    TODO : intercepter l'erreur pour n'afficher que les X dernières lignes ?&lt;br /&gt;
-- TODO : affichage : grouper les messages si identiques sur plusieurs lignes consécutives et afficher la somme pour limiter le nombre de ligne ?&lt;br /&gt;
-- Schemas :&lt;br /&gt;
-- TODO : Section SCHEMAS = Liste des grants par user et par role non systeme&lt;br /&gt;
-- TODO : Afficher N/A si 1er audit ou aucuns objets utilisateurs&lt;br /&gt;
-- TODO : Ajouter une colonne user, et grouper par user pour detecter d'eventuels users system oublies dans le NOT IN, plus une ligne total global à la fin du tableau&lt;br /&gt;
-- TODO : &amp;quot;mises à jour automatiques des stats&amp;quot; : en 11i afficher état &amp;quot;auto optimizer stats collection&amp;quot; mais table n'existe pas en 10g (voir commentaire dans la section)&lt;br /&gt;
-- Segments :&lt;br /&gt;
-- TODO : Analyze de la fragmentation des indexes ?&lt;br /&gt;
-- Logs :&lt;br /&gt;
-- TODO : fusionner les lignes identiques successives (ex.: &amp;quot;Checkpoint not complete&amp;quot;) en ajoutant juste le nombre d'occurences successives par jour&lt;br /&gt;
-- TODO : Mettre en orange des messages critiques ? (autres que checkpoint, arrêt normal de base, backups,...)&lt;br /&gt;
--&lt;br /&gt;
-- ******   A ETUDIER   ******&lt;br /&gt;
-- requêtes intéressante sur TEMP et SORT segments https://forums.oracle.com/thread/2527064&lt;br /&gt;
--&lt;br /&gt;
-- *********************************************** SCRIPT **************************************************&lt;br /&gt;
-- *************************************** Initialisation SQLPlus&lt;br /&gt;
set pages 999&lt;br /&gt;
set lines 200&lt;br /&gt;
set echo off&lt;br /&gt;
set termout on&lt;br /&gt;
set trims on&lt;br /&gt;
set showmode off&lt;br /&gt;
set verify off&lt;br /&gt;
set feed off&lt;br /&gt;
set serveroutput on size 1000000&lt;br /&gt;
set head off&lt;br /&gt;
&lt;br /&gt;
-- On force quelques formats&lt;br /&gt;
ALTER SESSION SET NLS_NUMERIC_CHARACTERS = &amp;quot;, &amp;quot;;&lt;br /&gt;
ALTER SESSION SET NLS_DATE_FORMAT = 'DD/MM/YYYY';&lt;br /&gt;
ALTER SESSION SET NLS_DATE_LANGUAGE = 'FRENCH';&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Creation de fonctions&lt;br /&gt;
-- Fonction CouleurLimite renvoie :&lt;br /&gt;
-- ROUGE (si valeur en dehors de limite +/- plage en fonction de &amp;quot;superieur&amp;quot; (voir &amp;quot;VERT&amp;quot;, calcul inverse)),&lt;br /&gt;
-- ORANGE (si valeur a l'interieur de la plage (limite +/- plage),&lt;br /&gt;
-- VERT (si valeur superieure à (limite + plage) ET &amp;quot;superieur&amp;quot; &amp;lt;= 0, valeur inferieure si &amp;quot;superieur&amp;quot; &amp;gt; 0)&lt;br /&gt;
-- soit :&lt;br /&gt;
--      | limite - plage      | valeur limite |      limite + plage |&lt;br /&gt;
-- si &amp;quot;superieur&amp;quot; &amp;lt;= 0 :&lt;br /&gt;
-- &amp;lt; ALERT (ROUGE) |                WARNING               | OK (VERT) &amp;gt;&lt;br /&gt;
-- si &amp;quot;superieur&amp;quot; &amp;gt; 0 :&lt;br /&gt;
-- &amp;lt; OK (VERT)     |                WARNING               | ALERT (ROUGE) &amp;gt;&lt;br /&gt;
&lt;br /&gt;
CREATE OR REPLACE FUNCTION CouleurLimite (valeurAtester number, limite number, plage number, superieur int)&lt;br /&gt;
RETURN varchar2&lt;br /&gt;
IS&lt;br /&gt;
signe number;&lt;br /&gt;
BEGIN&lt;br /&gt;
if superieur &amp;lt;= 0 then -- on teste si la valeur tombe EN-DESSOUS de limite+/-plage (DOIT etre superieure)&lt;br /&gt;
   if valeurAtester &amp;lt; limite then --  deja inferieure a limite, mais est-on encore dans limite-plage ?&lt;br /&gt;
      select SIGN(valeurAtester-(limite-(plage))) into signe from dual;&lt;br /&gt;
      if signe &amp;lt; 0 then -- la valeur a tester est inferieure a limite-plage : ALERT&lt;br /&gt;
	 return '#FF0000'; --ROUGE&lt;br /&gt;
      else -- la valeur a tester est entre limite-plage et limite : WARN&lt;br /&gt;
	 return '#FF9900'; --ORANGE&lt;br /&gt;
      end if;&lt;br /&gt;
   else --  superieure a limite, mais est-on deja dans la limite+plage ?&lt;br /&gt;
      select SIGN(valeurAtester-(limite+(plage))) into signe from dual;&lt;br /&gt;
      if signe &amp;gt; 0 then -- la valeur a tester est superieure a limite+plage : OK&lt;br /&gt;
	 return '#33FF33';--VERT&lt;br /&gt;
      else -- la valeur a tester est deja tombee dans limite+plage : WARN&lt;br /&gt;
	 return '#FF9900';--ORANGE&lt;br /&gt;
      end if;&lt;br /&gt;
   end if;&lt;br /&gt;
else -- on teste si la valeur DEPASSE limite+/-plage (DOIT etre inferieure)&lt;br /&gt;
   if valeurAtester &amp;gt;= limite then -- on est deja au-dessus de la limite, est-on encore dans limite+plage ?&lt;br /&gt;
      select SIGN(valeurAtester-(limite+(plage))) into signe from dual;&lt;br /&gt;
      if signe &amp;gt; 0 then -- on a depasse limite+plage : ALERT&lt;br /&gt;
	 return '#FF0000'; --ROUGE&lt;br /&gt;
      else -- on est encore dans la plage : WARN&lt;br /&gt;
	 return '#FF9900'; --ORANGE&lt;br /&gt;
      end if;&lt;br /&gt;
   else -- on est encore en-dessous de limite, mais est-on deja dans la plage ?&lt;br /&gt;
      select SIGN(valeurAtester-(limite-(plage))) into signe from dual;&lt;br /&gt;
      if signe &amp;lt; 0 then -- on est encore en-dessous : OK&lt;br /&gt;
	 return '#33FF33';--VERT&lt;br /&gt;
      else -- on est deja dans la plage : WARN&lt;br /&gt;
	 return '#FF9900';--ORANGE&lt;br /&gt;
      end if;&lt;br /&gt;
   end if;&lt;br /&gt;
end if;&lt;br /&gt;
END;&lt;br /&gt;
/&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Variables et constantes&lt;br /&gt;
define logfile = ORACLE&lt;br /&gt;
define envfile = env&lt;br /&gt;
-- ATTENTION : AUCUN ESPACE DANS LES LISTES, SINON LA VARIABLE EST TRONQUEE !&lt;br /&gt;
define sysusers = ('SYS','SYSTEM','CTXSYS','DBSNMP','OUTLN','ORDSYS','ORDPLUGINS','MDSYS','DMSYS','WMSYS','WKSYS','OLAPSYS','SYSMAN','XDB','EXFSYS','TSMSYS','MGMT_VIEW','ORACLE_OCM','DIP','SI_INFORMTN_SCHEMA','ANONYMOUS')&lt;br /&gt;
define exusers = ('SCOTT','HR','OE','PM','QS','QS_ADM','QS_CBADM','QS_CS','QS_ES','QS_OS','QS_WS','SH')&lt;br /&gt;
-- Icones (base64)&lt;br /&gt;
variable tips varchar2(4000);&lt;br /&gt;
begin&lt;br /&gt;
   select 'iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsQAAALEAGtI711AAAACXZwQWcAAAATAAAAEwDxf4yuAAACDElEQVQ4y62ULXDbQBBGnzsFK2YxHzyoMJk50NBhCWugYcpCA0PDEmjosphF0DBmEqvgwSs7MS1TgSz5v9OZdmd2NKNZvfv20+4Nmqbhf8XXcy9L5xpfFpTlGlfmaPiFxCNsMiZJppgkJbF2cPzd4FjZZrNpPpZPRHySJoIxYIzgveIc5KWCXHNz/8xkMhlchGWrH81qMWd+L6SpgOxVKug281xZZcrtw4LZ7FsP7Ntcr7MmW855fhoyHIFE0WEPEVDXiMJ4LJgY3t7mxLFtOoVfOo9Wi+88zOUENDCuT4kiEBABM4LZVHhfPFI61/QwV6yxxmOtnIB8qPvsgCIgkXCdQFwXuGJDDyvyjOvxoUcdaD86IEJfm15BkX/sYL4ssFa4FCY+8k+3T4F4CN7tKQsakMusy6Gtf1qFHSyWGA26OxFovD1RZOKIxtsDdaogw3gHM0nKT7edo7o+C+xAWtfbOiUoeA/GTnawdDyjKLbKjoAHXdV1P7woEJTSQTq+2cFsOsV5Q+mUqgKtQEN9AtUKqqqFhKoFhSjFpnvKEmsHtw+vLJeKd4oGbYEVhHwEQPgctb5uQZWHrIC7+Uu/9Gd3czZtB7L7/Z3ZYa+1bAO3j4e7efbWeF88EtcF6VW7NhJBFVqzu9bu5i9/vjW6KJ1rXLGhyD/w5YaggVhiTDIhHd9g08nf3Wf/Er8BAI4wKLDf6EwAAAAfelRYdENyZWF0aW9uIFRpbWUAAHjaMzDTNzLUNzABAAb7AYwMyT+gAAAALnpUWHRTb2Z0d2FyZQAAeNrzTUwuys9NTclMVHDLLEotzy/KLlbwjVAwMjAwAQCWLgl6ZrFa0gAAAABJRU5ErkJggg==' into :tips from dual;&lt;br /&gt;
end;&lt;br /&gt;
/&lt;br /&gt;
&lt;br /&gt;
variable info varchar2(4000);&lt;br /&gt;
begin&lt;br /&gt;
   select 'R0lGODlhFAAUAOfAAD+JSDyVQEqTTFqTZkedQ0eeQ1CjRVKlRmScdWaccGibdVepRmSlUVqqSV2pUlytSG6jfXWjf2OxTGayS2SzSW+ueXGxVmqzWXGyb2y3TW22Vm64TnC6TXC7T3y2YX+2bXq2fna+UHu5c323gom2b3e/Unm+W3q+X328cHnBUYS8Y3rBUZ+uooe5fIO8gn3EUoHAb4W+f4DDYYPBbn/FU6OyqITBcX/GUYDGU4LEYZK+coHHVILIU4jCgI7DZYfEcZK/i6q2pYvDgae3qZXCdIPLUqi3rIrHaofJYo/EfYvHco7FgZDDkIrKXojMVYjNVYnNVZHIgpTGkZXGkYzPVqe/r7O9qZjIko/RV6DJd7O/rJrKk5vPYJzKlZTSYJPUV5PVVpPVV5/KpLLDsqPJppPWVp/MmpXWWLPEsrnDraHMpKLNo6LNpKTOpaXPpbfItp3ZYqrOs6fRornKtqnQsZ3dWq/Qr5/eWqrYeaLdZarbZLDSr6/Ss6/SubDSuMHMxcXLxbHTtaPhWsbMxbLVrLLUtsLOxbLVtrPVtqved7nXoLXWvrnVvbnXu7ranM3Rx8nUt8rSysvSyb3cn8/TyMvWuK/mbL3dna7rW8bfy9zX3sjgzd3Z4cnhzcnhzt3a4d7a4bvzYOLe47/3X+Tg5dbqw+fi5dDvq+Tk5Ojj5+Xl5cb8Y+bm5unl6Nnr3url6tvr4Orp6+7p7O7q7ezr7ezs7O7t7u7u7ubx6Ojy6vDw8PHx8fH38/f29/f5+Pr7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH+EUNyZWF0ZWQgd2l0aCBHSU1QACH5BAEKAP8ALAAAAAAUABQAAAj+AP8JHEiwoMGDCBMKlPWnShVDsxQK1FUDQR9XsBZBMLIroSkFcTZ54pUrUyc/EVodrDWATiA+uIABY4So0KEEtwyyqCBGzZpGwHyRcdOGzYghvQimAgCCiRQzcvbY6bLlyhQXAl4RBBQAQ4wehH7JBBJliRARBSIRHEPAAQoYM5LIbKHkh40LB94QRGOggYYTMo7I/IAkh4kJD+YQHLRAwoYSNJrI9PBkx4oOFCQRFMUgQwgcULzIVBGGCo8UFkgVDMLhhZMvcGT6uHOGyg0ttgqqIlEES55TMktZqlOGCKuDmnSASaTI0aVJeARlAZUQlRUumEKtGqUnDSqJtDgNPYJUidKnWBLTq1cYEAA7' into :info from dual;&lt;br /&gt;
end;&lt;br /&gt;
/&lt;br /&gt;
&lt;br /&gt;
column bname new_value dbname noprint&lt;br /&gt;
column hname new_value hstname noprint&lt;br /&gt;
select name as bname from v$database;&lt;br /&gt;
select host_name as hname from v$instance;&lt;br /&gt;
&lt;br /&gt;
column bloc new_value dbloc noprint&lt;br /&gt;
select value as bloc from v$parameter&lt;br /&gt;
	where name = 'db_block_size';&lt;br /&gt;
&lt;br /&gt;
column bdate new_value dateaudit noprint&lt;br /&gt;
select to_char(to_date(sysdate),'ddmmyy') as bdate from dual;&lt;br /&gt;
&lt;br /&gt;
spool &amp;amp;logfile._&amp;amp;dbname._&amp;amp;hstname._&amp;amp;dateaudit..html&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Entete&lt;br /&gt;
prompt &amp;lt;!DOCTYPE public &amp;quot;-//w3c//dtd html 4.01 strict//en&amp;quot; &amp;quot;http://www.w3.org/TR/html4/strict.dtd&amp;quot;&amp;gt;&lt;br /&gt;
prompt &amp;lt;html&amp;gt;&lt;br /&gt;
prompt &amp;lt;head&amp;gt;&lt;br /&gt;
prompt &amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;text/html; charset=iso-8859-1&amp;quot;&amp;gt;&lt;br /&gt;
prompt &amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Audit Oracle HTML&amp;quot;&amp;gt;&lt;br /&gt;
prompt &amp;lt;title&amp;gt;Audit &amp;amp;dbname (&amp;amp;hstname)&amp;lt;/title&amp;gt;&lt;br /&gt;
prompt &amp;lt;/head&amp;gt;&lt;br /&gt;
prompt &amp;lt;BODY BGCOLOR=&amp;quot;#003366&amp;quot;&amp;gt;&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center&amp;gt; &lt;br /&gt;
prompt &amp;lt;font color=WHITE size=+2&amp;gt;&amp;lt;b&amp;gt;Audit &amp;amp;dbname (&amp;amp;hstname)&lt;br /&gt;
select ' du ',to_char(to_date(sysdate),'DD-MON-YYYY',N'NLS_DATE_LANGUAGE = AMERICAN'),'&amp;lt;/b&amp;gt;' as DATE_AUDIT from dual;&lt;br /&gt;
prompt &amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
prompt &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Section informations&lt;br /&gt;
prompt &amp;lt;hr&amp;gt;&lt;br /&gt;
prompt &amp;lt;div align=center&amp;gt;&amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;SECTION INFORMATIONS&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
prompt &amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Historique audit&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=2&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Historique d'audits&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
-- Creation table HISTAUDIT si necessaire&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td width=20%&amp;gt;&amp;lt;b&amp;gt;Table historique&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
--prompt &amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt; &lt;br /&gt;
WHENEVER sqlerror EXIT sql.sqlcode&lt;br /&gt;
DECLARE&lt;br /&gt;
   tabhist number;&lt;br /&gt;
   tabtools number;&lt;br /&gt;
   colmodif number;&lt;br /&gt;
   colval number;&lt;br /&gt;
&lt;br /&gt;
BEGIN&lt;br /&gt;
   select count(table_name) into tabhist from dba_tables&lt;br /&gt;
   where table_name='HISTAUDIT' and owner='SYSTEM';&lt;br /&gt;
   select count(column_name) into colmodif from dba_tab_columns&lt;br /&gt;
   where table_name='HISTAUDIT' AND owner='SYSTEM' AND column_name='MODIFIED';&lt;br /&gt;
   select count(column_name) into colval from dba_tab_columns&lt;br /&gt;
   where table_name='HISTAUDIT' AND owner='SYSTEM' AND column_name='VALEUR';&lt;br /&gt;
   select count(tablespace_name) into tabtools from dba_tablespaces&lt;br /&gt;
   where tablespace_name='TOOLS';&lt;br /&gt;
   IF tabhist = 0 THEN&lt;br /&gt;
      IF tabtools = 0 THEN&lt;br /&gt;
         dbms_output.put_line('&amp;lt;td bgcolor=&amp;quot;#FF0000&amp;quot;&amp;gt;Creation table HISTAUDIT tablespace SYSTEM...&amp;lt;br&amp;gt;');&lt;br /&gt;
--         dbms_output.put_line('Tablespace &amp;lt;b&amp;gt;TOOLS&amp;lt;/b&amp;gt; inexistant !&amp;lt;br&amp;gt; Impossible de creer la table HISTAUDIT. Sortie du script.&amp;lt;br&amp;gt;');&lt;br /&gt;
--         dbms_output.put_line('&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;');&lt;br /&gt;
--         raise_application_error(-20001,'Tablespace inexistant');&lt;br /&gt;
         EXECUTE IMMEDIATE 'create table SYSTEM.histaudit&lt;br /&gt;
                           (date_aud  date,&lt;br /&gt;
                            type_obj varchar2(5),&lt;br /&gt;
                            obj_name varchar2(30),&lt;br /&gt;
                            total number,&lt;br /&gt;
                            utilis number,&lt;br /&gt;
                            VALEUR varchar2(255))';&lt;br /&gt;
      ELSE&lt;br /&gt;
         dbms_output.put_line('&amp;lt;td bgcolor=&amp;quot;#33FF33&amp;quot;&amp;gt;Creation table HISTAUDIT tablespace TOOLS...&amp;lt;br&amp;gt;');&lt;br /&gt;
         EXECUTE IMMEDIATE 'create table SYSTEM.histaudit&lt;br /&gt;
                           (date_aud  date,&lt;br /&gt;
                            type_obj varchar2(5),&lt;br /&gt;
                            obj_name varchar2(30),&lt;br /&gt;
                            total number,&lt;br /&gt;
                            utilis number,&lt;br /&gt;
                            VALEUR varchar2(255))&lt;br /&gt;
                          TABLESPACE TOOLS';&lt;br /&gt;
      END IF;&lt;br /&gt;
   ELSE&lt;br /&gt;
      IF colval=0 THEN&lt;br /&gt;
         IF colmodif&amp;gt;0 THEN&lt;br /&gt;
            EXECUTE IMMEDIATE 'alter table system.histaudit drop column MODIFIED';&lt;br /&gt;
         END IF;&lt;br /&gt;
         EXECUTE IMMEDIATE 'alter table system.histaudit add VALEUR varchar2(255)';&lt;br /&gt;
         dbms_output.put_line('&amp;lt;td bgcolor=&amp;quot;#FF0000&amp;quot;&amp;gt;Modification table HISTAUDIT (col VALEUR)');&lt;br /&gt;
      ELSE&lt;br /&gt;
         dbms_output.put_line('&amp;lt;td bgcolor=&amp;quot;#33FF33&amp;quot;&amp;gt;Table HISTAUDIT existante ');&lt;br /&gt;
      END IF;&lt;br /&gt;
      IF tabtools = 0 THEN&lt;br /&gt;
         dbms_output.put_line('(tablespace SYSTEM)&amp;lt;br&amp;gt;');&lt;br /&gt;
      ELSE&lt;br /&gt;
         dbms_output.put_line('(tablespace TOOLS)&amp;lt;br&amp;gt;');&lt;br /&gt;
      END IF;&lt;br /&gt;
   END IF;&lt;br /&gt;
END;&lt;br /&gt;
/&lt;br /&gt;
WHENEVER sqlerror CONTINUE;&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td width=20%&amp;gt;&amp;lt;b&amp;gt;Pr&amp;amp;eacute;c&amp;amp;eacute;dent audit&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
prompt &amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;&lt;br /&gt;
-- select decode(max(to_date(date_aud)),'','N/A',max(to_date(date_aud))) from system.histaudit&lt;br /&gt;
--       where to_date(date_aud) &amp;lt; trunc(sysdate);&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
variable last_audit varchar2(20);&lt;br /&gt;
begin&lt;br /&gt;
      select decode(max(to_date(date_aud)),'','N/A',to_char(max(to_date(date_aud)),'DD-MON-YYYY',N'NLS_DATE_LANGUAGE = AMERICAN')) into :last_audit from system.histaudit&lt;br /&gt;
      where to_date(date_aud) &amp;lt; trunc(sysdate);&lt;br /&gt;
end;&lt;br /&gt;
/&lt;br /&gt;
print last_audit&lt;br /&gt;
prompt &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Hote&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=5&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;H&amp;amp;ocirc;te&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Host&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;OS&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;CPUs&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Cores/CPU&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;RAM&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; width=20%&amp;gt;&amp;amp;hstname&amp;lt;/td&amp;gt;&lt;br /&gt;
select '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; width=20%&amp;gt;',PLATFORM_NAME,'&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; width=20%&amp;gt;',cpu.VALUE,'&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; width=20%&amp;gt;',core.VALUE,'&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; width=20% align=right&amp;gt;', to_char(round(ram.VALUE/(1024*1024),2),'99G999G990D00'), ' Mo'&lt;br /&gt;
from v$database, v$osstat cpu, v$osstat core, v$osstat ram&lt;br /&gt;
where cpu.STAT_NAME = 'NUM_CPUS'&lt;br /&gt;
and core.STAT_NAME = 'NUM_CPU_CORES'&lt;br /&gt;
and ram.STAT_NAME = 'PHYSICAL_MEMORY_BYTES';&lt;br /&gt;
&lt;br /&gt;
DECLARE cnt_host number := 0;&lt;br /&gt;
BEGIN&lt;br /&gt;
   select count(cpu.STAT_NAME) into cnt_host from v$database, v$osstat cpu, v$osstat core, v$osstat ram&lt;br /&gt;
where cpu.STAT_NAME = 'NUM_CPUS'&lt;br /&gt;
and core.STAT_NAME = 'NUM_CPU_CORES'&lt;br /&gt;
and ram.STAT_NAME = 'PHYSICAL_MEMORY_BYTES';&lt;br /&gt;
   if cnt_host=0 then&lt;br /&gt;
      dbms_output.put_line('&amp;lt;td bgcolor=&amp;quot;LIGHTGREY&amp;quot; colspan=4&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;');&lt;br /&gt;
   end if;&lt;br /&gt;
end;&lt;br /&gt;
/&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&lt;br /&gt;
prompt &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Versions&lt;br /&gt;
delete from system.histaudit where trunc(to_date(date_aud))=trunc(sysdate) and type_obj='VERS';&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=5&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Versions&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
set define off&lt;br /&gt;
&lt;br /&gt;
-- Add &amp;lt;td&amp;gt; if no rows are returned (first audit)&lt;br /&gt;
select decode(count(valeur), 0, '&amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; colspan=5&amp;gt;')&lt;br /&gt;
 from histaudit&lt;br /&gt;
 where obj_name like 'Oracle Database%';&lt;br /&gt;
-- else change bg color if version has changed&lt;br /&gt;
select decode(banner, valeur, '&amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; colspan=5&amp;gt;','&amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#FF0000&amp;quot; colspan=5&amp;gt;&amp;lt;b&amp;gt;Version modifi&amp;amp;eacute;e depuis le dernier audit&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;') from v$version,histaudit where banner like 'Oracle Database%'&lt;br /&gt;
 and obj_name like 'Oracle Database%'&lt;br /&gt;
 and to_date(date_aud) = (select max(to_date(date_aud)) from histaudit where type_obj = 'VERS');&lt;br /&gt;
&lt;br /&gt;
select banner,'&amp;lt;br&amp;gt;' from v$version;&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
prompt &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** MISE A JOUR TABLE HISTORIQUE (VERSION)&lt;br /&gt;
insert into system.histaudit (&lt;br /&gt;
select sysdate, 'VERS', 'Oracle Database', 0, 0, banner&lt;br /&gt;
from v$version&lt;br /&gt;
  where banner like 'Oracle Database%');&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Patchs installes&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=5&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Patchs install&amp;amp;eacute;s&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Date&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Action&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Version&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;ID&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Description&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
select '&amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',to_char(ACTION_TIME,'DD/MM/YYYY'), '&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;', ACTION, '&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;', VERSION, '&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;', ID, '&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;', COMMENTS,'&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'&lt;br /&gt;
   from sys.registry$history&lt;br /&gt;
   order by 1;&lt;br /&gt;
&lt;br /&gt;
DECLARE cnt_patch number := 0;&lt;br /&gt;
BEGIN&lt;br /&gt;
   select count(ACTION_TIME) into cnt_patch from sys.registry$history;&lt;br /&gt;
   if cnt_patch=0 then&lt;br /&gt;
      dbms_output.put_line('&amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTGREY&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTGREY&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTGREY&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTGREY&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTGREY&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;');&lt;br /&gt;
   end if;&lt;br /&gt;
end;&lt;br /&gt;
/&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Options installees&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=5&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Options install&amp;amp;eacute;es&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
SELECT DISTINCT '&amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; colspan=5&amp;gt;',PARAMETER,'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;' FROM V$OPTION where VALUE = 'TRUE' order by 1;&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&lt;br /&gt;
prompt &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** NLS_PARAMETERS&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=2&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Param&amp;amp;egrave;tres NLS Instance&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td width=50%&amp;gt;&amp;lt;b&amp;gt;Param&amp;amp;egrave;tre&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=50%&amp;gt;&amp;lt;b&amp;gt;Valeur&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',parameter,'&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',value,'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;' from v$nls_parameters;&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=2&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Param&amp;amp;egrave;tres NLS database&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td width=50%&amp;gt;&amp;lt;b&amp;gt;Param&amp;amp;egrave;tre&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=50%&amp;gt;&amp;lt;b&amp;gt;Valeur&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',parameter,'&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',value,'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;' from nls_database_parameters;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** AUTRES PARAMETRES D'INIT&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=2&amp;gt;&amp;lt;table border=0 width=100%&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td width=10%&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;img src=&amp;quot;data:image/gif;base64,&lt;br /&gt;
print info&lt;br /&gt;
prompt &amp;quot; width=&amp;quot;20&amp;quot; height=&amp;quot;20&amp;quot; alt=&amp;quot;Tips...&amp;quot; title=&amp;quot;Les principaux param&amp;amp;egrave;tres d'initialisation sont indiqu&amp;amp;eacute;s dans les diff&amp;amp;eacute;rentes sections correspondant &amp;amp;agrave; leur champ d'action&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
prompt &amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Autres param&amp;amp;egrave;tres d'initialisation (instance)&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td width=50%&amp;gt;&amp;lt;b&amp;gt;Param&amp;amp;egrave;tre&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=50%&amp;gt;&amp;lt;b&amp;gt;Valeur&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',name,'&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',value,'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;' from v$parameter where name in ('open_cursors','processes','compatible','remote_login_passwordfile','session','utl_file_dir','undo_retention') order by 1;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Modifies lors du dernier audit ?&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Param&amp;amp;egrave;tres modifi&amp;amp;eacute;s lors du dernier audit&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
DECLARE cnt_init number := 0;&lt;br /&gt;
BEGIN&lt;br /&gt;
  select count(H1.obj_name) into cnt_init from system.histaudit H1, system.histaudit H2&lt;br /&gt;
  where H1.obj_name = H2.obj_name&lt;br /&gt;
  and H1.type_obj = 'INIT'&lt;br /&gt;
  and H2.type_obj = 'INIT'&lt;br /&gt;
  and H1.valeur &amp;lt;&amp;gt; H2.valeur&lt;br /&gt;
  and trunc(to_date(H1.date_aud)) = trunc(sysdate)&lt;br /&gt;
  and to_date(H2.date_aud) = (select max(to_date(date_aud)) from system.histaudit&lt;br /&gt;
                           where to_date(date_aud) &amp;lt; trunc(sysdate));&lt;br /&gt;
   if cnt_init=0 then&lt;br /&gt;
      dbms_output.put_line('&amp;lt;td bgcolor=&amp;quot;#33FF33&amp;quot;&amp;gt;AUCUN');&lt;br /&gt;
   else&lt;br /&gt;
      dbms_output.put_line('&amp;lt;td bgcolor=&amp;quot;ORANGE&amp;quot;&amp;gt;');&lt;br /&gt;
   end if;&lt;br /&gt;
end;&lt;br /&gt;
/&lt;br /&gt;
&lt;br /&gt;
select H1.obj_name, ' (', H2.valeur, ' -&amp;gt; ', H1.valeur, ')&amp;lt;br&amp;gt;'&lt;br /&gt;
from system.histaudit H1, system.histaudit H2&lt;br /&gt;
  where H1.obj_name = H2.obj_name&lt;br /&gt;
  and H1.type_obj = 'INIT'&lt;br /&gt;
  and H2.type_obj = 'INIT'&lt;br /&gt;
  and H1.valeur &amp;lt;&amp;gt; H2.valeur&lt;br /&gt;
  and trunc(to_date(H1.date_aud)) = trunc(sysdate)&lt;br /&gt;
  and to_date(H2.date_aud) = (select max(to_date(date_aud)) from system.histaudit&lt;br /&gt;
                           where to_date(date_aud) &amp;lt; trunc(sysdate));&lt;br /&gt;
prompt &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
prompt &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** NOMS&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=2&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Noms database et instance&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;WHITE&amp;quot; width=20%&amp;gt;DB_NAME&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',name,'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;' from v$database;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;WHITE&amp;quot; width=20%&amp;gt;DB_UNIQUE_NAME&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',value,'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;' from v$parameter where name='db_unique_name';&lt;br /&gt;
select '&amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;WHITE&amp;quot; width=20%&amp;gt;INSTANCE_NAME&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',instance_name,'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;' from v$instance;&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&lt;br /&gt;
prompt &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Informations Generales&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
--NE PLUS INTERPRETER LE &amp;quot;&amp;amp;&amp;quot; par sqlplus POUR L'INSTANT, le HTML en a besoin&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=2&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Informations g&amp;amp;eacute;n&amp;amp;eacute;rales&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td width=20%&amp;gt;&amp;lt;b&amp;gt;Base cr&amp;amp;eacute;&amp;amp;eacute;e le&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
--INTERPRETER A NOUVEAU LE &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
prompt &amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;&lt;br /&gt;
select CREATED from v$database;&lt;br /&gt;
prompt &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Up depuis le&amp;lt;/b&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
prompt &amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;&lt;br /&gt;
select STARTUP_TIME from v$instance;&lt;br /&gt;
prompt &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Taille de blocs&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
prompt &amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;&lt;br /&gt;
prompt  &amp;amp;dbloc octets&lt;br /&gt;
prompt &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
-- Archive log mode&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td width=20%&amp;gt;&amp;lt;b&amp;gt;Archive log mode&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
select decode(log_mode,'ARCHIVELOG','&amp;lt;td bgcolor=&amp;quot;#33FF33&amp;quot;&amp;gt;','&amp;lt;td bgcolor=&amp;quot;#FF9900&amp;quot;&amp;gt;'),log_mode,'&amp;lt;br&amp;gt;' from v$database;&lt;br /&gt;
prompt &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td width=20%&amp;gt;&amp;lt;b&amp;gt;Archive log destination&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
select distinct decode(d.log_mode,'ARCHIVELOG','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;'||p.name||' = '||p.value||'&amp;lt;br/&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTGREY&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;') from v$database d,v$parameter p where (p.name like 'log_archive_dest_%' or p.name = 'log_archive_dest') and p.name not like '%state%' and p.value is not NULL;&lt;br /&gt;
&lt;br /&gt;
DECLARE cnt_dest number := 0;&lt;br /&gt;
BEGIN&lt;br /&gt;
   select count(name) into cnt_dest from v$parameter&lt;br /&gt;
   where (name like 'log_archive_dest_%' or name = 'log_archive_dest') and name not like '%state%' and value is not NULL;&lt;br /&gt;
   if cnt_dest=0 then&lt;br /&gt;
      dbms_output.put_line('&amp;lt;td bgcolor=&amp;quot;LIGHTGREY&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;');&lt;br /&gt;
   end if;&lt;br /&gt;
end;&lt;br /&gt;
/&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td width=20%&amp;gt;&amp;lt;b&amp;gt;Archive log format&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
select decode(d.log_mode,'ARCHIVELOG','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTGREY&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;'),p.value from v$database d,v$parameter p where p.name like 'log_archive_format';&lt;br /&gt;
prompt &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
prompt &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DECLARE cnt_dest number := 0;&lt;br /&gt;
BEGIN&lt;br /&gt;
   select count(name) into cnt_dest from v$parameter&lt;br /&gt;
   where name like 'log_archive_format';&lt;br /&gt;
   if cnt_dest=0 then&lt;br /&gt;
      dbms_output.put_line('&amp;lt;td bgcolor=&amp;quot;LIGHTGREY&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;');&lt;br /&gt;
   end if;&lt;br /&gt;
end;&lt;br /&gt;
/&lt;br /&gt;
&lt;br /&gt;
-- *************************************** SPFILE ou init.ora ?&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=2&amp;gt;&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;table border=0 width=100%&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td width=10%&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;img src=&amp;quot;data:image/gif;base64,&lt;br /&gt;
print info&lt;br /&gt;
prompt &amp;quot; width=&amp;quot;20&amp;quot; height=&amp;quot;20&amp;quot; alt=&amp;quot;Tips...&amp;quot; title=&amp;quot;Si l'instance est lanc&amp;amp;eacute;e avec un fichier SPFILE le chemin de celui-ci est affich&amp;amp;eacute;. Dans le cas contraire on affiche seulement 'PFILE' car le chemin du fichier texte init.ora n'est pas disponible dans les tables syst&amp;amp;egrave;me.&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;td align=center&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Initialisation : pfile (init.ora) ou spfile ?&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
SELECT decode(value,'','&amp;lt;td bgcolor=&amp;quot;ORANGE&amp;quot; width=15%&amp;gt;PFILE&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;#33FF33&amp;quot; width=15%&amp;gt;SPFILE&amp;lt;/td&amp;gt;'), decode(value,'','&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;','&amp;lt;td&amp;gt;'||value||'&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;') FROM v$parameter WHERE name like 'spfile' ;&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&lt;br /&gt;
prompt &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** MISE A JOUR TABLE HISTORIQUE (PARAMETRES INIT)&lt;br /&gt;
delete from system.histaudit where trunc(to_date(date_aud))=trunc(sysdate) and type_obj='INIT';&lt;br /&gt;
insert into system.histaudit (&lt;br /&gt;
select sysdate, 'INIT', substr(name,1,30), 0, 0, value&lt;br /&gt;
from v$parameter&lt;br /&gt;
  where ISDEFAULT='FALSE');&lt;br /&gt;
&lt;br /&gt;
-- *************************************** SECTION STOCKAGE&lt;br /&gt;
prompt &amp;lt;hr&amp;gt;&lt;br /&gt;
prompt &amp;lt;div align=center&amp;gt;&amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;SECTION STOCKAGE&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
prompt &amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** MISE A JOUR TABLE HISTORIQUE (TABLESPACES ET SEGMENTS)&lt;br /&gt;
delete from system.histaudit where trunc(to_date(date_aud))=trunc(sysdate) and type_obj='TBS';&lt;br /&gt;
insert into system.histaudit (&lt;br /&gt;
select sysdate, 'TBS', t.tablespace_name, t.total, &lt;br /&gt;
         decode(u.utilise,'',0,u.utilise), 0&lt;br /&gt;
from (select df.tablespace_name,&lt;br /&gt;
             round(sum(df.bytes)/(1024*1024),2) total&lt;br /&gt;
      from dba_data_files df, dba_tablespaces dt&lt;br /&gt;
      where df.tablespace_name = dt.tablespace_name&lt;br /&gt;
      and dt.contents not in ('UNDO')&lt;br /&gt;
      group by df.tablespace_name) t,&lt;br /&gt;
     (select tablespace_name,&lt;br /&gt;
             round(sum(blocks)*&amp;amp;dbloc/(1024*1024),2) utilise&lt;br /&gt;
      from dba_segments&lt;br /&gt;
      group by tablespace_name) u&lt;br /&gt;
where t.tablespace_name=u.tablespace_name(+)&lt;br /&gt;
UNION&lt;br /&gt;
select sysdate, 'TBS', tablespace_name, total, &lt;br /&gt;
         0, 0&lt;br /&gt;
from (select df.tablespace_name,&lt;br /&gt;
             round(sum(df.bytes)/(1024*1024),2) total&lt;br /&gt;
      from dba_temp_files df, dba_tablespaces dt&lt;br /&gt;
      where df.tablespace_name = dt.tablespace_name&lt;br /&gt;
      and dt.contents in ('UNDO')&lt;br /&gt;
      group by df.tablespace_name)&lt;br /&gt;
UNION&lt;br /&gt;
select sysdate, 'TBS', tablespace_name, total, &lt;br /&gt;
         0, 0&lt;br /&gt;
from (select tablespace_name,&lt;br /&gt;
             round(sum(bytes)/(1024*1024),2) total&lt;br /&gt;
      from dba_temp_files&lt;br /&gt;
      group by tablespace_name));&lt;br /&gt;
&lt;br /&gt;
delete from system.histaudit where trunc(to_date(date_aud))=trunc(sysdate) and type_obj='TAB';&lt;br /&gt;
insert into system.histaudit (&lt;br /&gt;
select sysdate, 'TAB', 'Total segments tables', total, &lt;br /&gt;
         0, 0&lt;br /&gt;
from (select decode(round(sum(bytes)/(1024*1024),2),NULL,0,round(sum(bytes)/(1024*1024),2)) total&lt;br /&gt;
      from dba_segments&lt;br /&gt;
      where segment_type like 'TABLE%'&lt;br /&gt;
      and owner not in &amp;amp;sysusers and owner not in &amp;amp;exusers));&lt;br /&gt;
delete from system.histaudit where trunc(to_date(date_aud))=trunc(sysdate) and type_obj='IND';&lt;br /&gt;
insert into system.histaudit (&lt;br /&gt;
select sysdate, 'IND', 'Total segments indexes', total, &lt;br /&gt;
         0, 0&lt;br /&gt;
from (select decode(round(sum(bytes)/(1024*1024),2),NULL,0,round(sum(bytes)/(1024*1024),2)) total&lt;br /&gt;
      from dba_segments&lt;br /&gt;
      where segment_type like 'INDEX%'&lt;br /&gt;
      and owner not in &amp;amp;sysusers and owner not in &amp;amp;exusers));&lt;br /&gt;
delete from system.histaudit where trunc(to_date(date_aud))=trunc(sysdate) and type_obj='AUT';&lt;br /&gt;
insert into system.histaudit (&lt;br /&gt;
select sysdate, 'AUT', 'Total segments autres', total, &lt;br /&gt;
         0, 0&lt;br /&gt;
from (select decode(round(sum(bytes)/(1024*1024),2),NULL,0,round(sum(bytes)/(1024*1024),2)) total&lt;br /&gt;
      from dba_segments&lt;br /&gt;
      where segment_type not like 'TABLE%'&lt;br /&gt;
      and segment_type not like 'INDEX%'&lt;br /&gt;
      and owner not in &amp;amp;sysusers and owner not in &amp;amp;exusers));&lt;br /&gt;
&lt;br /&gt;
-- *************************************** TABLESPACES&lt;br /&gt;
prompt &amp;lt;hr&amp;gt;&lt;br /&gt;
prompt &amp;lt;div align=center&amp;gt;&amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot; size=2&amp;gt;TABLESPACES&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
prompt &amp;lt;hr&amp;gt;&lt;br /&gt;
-- *************************************** Liste tablespaces&lt;br /&gt;
-- prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
-- prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=3&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Liste des tablespaces&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
-- prompt &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Tablespace&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Contenu&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Statut&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
-- prompt &lt;br /&gt;
-- select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',tablespace_name,'&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',contents,'&amp;lt;/td&amp;gt;', decode(status,'ONLINE','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',status,'&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;#FF0000&amp;quot;&amp;gt;',status,'&amp;lt;/td&amp;gt;'),'&amp;lt;/tr&amp;gt;' from dba_tablespaces&lt;br /&gt;
-- order by tablespace_name;&lt;br /&gt;
-- prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Liste datafiles&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=6&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Liste des datafiles par tablespace&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
--prompt &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Tablespace&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Fichier&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Taille (Mo)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Utilisé&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Autoext.&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Next&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;MaxSize&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Tablespace&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Fichier&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Taille (Mo)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Autoext.&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Next&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;MaxSize&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;'||df.TABLESPACE_NAME||'&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;'||df.FILE_NAME||'&amp;lt;/td&amp;gt;',&lt;br /&gt;
'&amp;lt;td bgcolor=&amp;quot;'||decode (CONTENTS,'UNDO','#33FF33',decode(autoextensible,'NO','#33FF33',CouleurLimite(sum(df.blocks)*&amp;amp;dbloc,(sum(df.maxbytes)-(sum(df.maxbytes)*0.20)),(sum(df.maxbytes)-(sum(df.maxbytes)*0.20))*0.10,1)))||'&amp;quot; align=right&amp;gt;'||decode(round(sum(df.bytes)/(1024*1024),2),NULL,to_char('0','S99G999G990D00'),to_char(round(sum(df.bytes)/(1024*1024),2),'99G999G990D00'))||'&amp;lt;/td&amp;gt;', decode(autoextensible,'NO','&amp;lt;td bgcolor=&amp;quot;#FF9900&amp;quot; align=right&amp;gt;OFF&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;#33FF33&amp;quot; align=right&amp;gt;ON&amp;lt;/td&amp;gt;'), '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;'||to_char(round(sum(increment_by)*&amp;amp;dbloc/(1024*1024),2),'99G999G990')||'&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;'||to_char(decode(BIGFILE,'YES',round(sum(df.maxbytes)/(1024*1024*1024),2),round(sum(df.maxbytes)/(1024*1024),2)),'99G999G990')||'&amp;lt;/td&amp;gt;', '&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from DBA_DATA_FILES df, DBA_TABLESPACES dt&lt;br /&gt;
where df.tablespace_name=dt.tablespace_name(+)&lt;br /&gt;
group by df.tablespace_name, df.file_name, autoextensible, contents, bigfile&lt;br /&gt;
UNION&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;'||df.TABLESPACE_NAME||'&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;'||FILE_NAME||'&amp;lt;/td&amp;gt;',&lt;br /&gt;
'&amp;lt;td bgcolor=&amp;quot;#33FF33&amp;quot; align=right&amp;gt;'||decode(round(sum(df.blocks)*&amp;amp;dbloc/(1024*1024),2),NULL,to_char('0','S99G999G990D00'),to_char(round(sum(df.blocks)*&amp;amp;dbloc/(1024*1024),2),'99G999G990D00'))||'&amp;lt;/td&amp;gt;', decode(autoextensible,'NO','&amp;lt;td bgcolor=&amp;quot;#FF9900&amp;quot; align=right&amp;gt;OFF&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;#33FF33&amp;quot; align=right&amp;gt;ON&amp;lt;/td&amp;gt;'), '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;'||to_char(round(sum(increment_by)*&amp;amp;dbloc/(1024*1024),2),'99G999G990')||'&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;'||to_char(decode(BIGFILE,'YES',round(sum(df.maxbytes)/(1024*1024*1024),2),round(sum(df.maxbytes)/(1024*1024),2)),'99G999G990')||'&amp;lt;/td&amp;gt;', '&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from DBA_TEMP_FILES df, DBA_TABLESPACES dt&lt;br /&gt;
where df.tablespace_name=dt.tablespace_name(+)&lt;br /&gt;
group by df.tablespace_name,df.file_name, autoextensible, bigfile&lt;br /&gt;
order by 2,3;&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Volumétrie tablespaces&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=10&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Volum&amp;amp;eacute;trie actuelle + diff&amp;amp;eacute;rence de tailles depuis le dernier audit (&lt;br /&gt;
print last_audit&lt;br /&gt;
prompt )&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Tablespace&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Bigfile ou&amp;lt;br/&amp;gt;Temporaire&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Contenu&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Statut&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=10%&amp;gt;&amp;lt;b&amp;gt;Taille max. totale (Mo)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=10%&amp;gt;&amp;lt;b&amp;gt;Total actuel (Mo)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=10%&amp;gt;&amp;lt;b&amp;gt;Utilis&amp;amp;eacute; (Mo)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=10%&amp;gt;&amp;lt;b&amp;gt;Libre actuel (Mo)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=10%&amp;gt;&amp;lt;b&amp;gt;Total sur disque depuis dernier audit (Mo)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=10%&amp;gt;&amp;lt;b&amp;gt;Utilis&amp;amp;eacute; depuis dernier audit (Mo)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
-- TABLESPACES DATAS&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',t.tablespace_name,'&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;',decode(BIGFILE,'YES','#FF9900','LIGHTBLUE'),'&amp;quot; align=center&amp;gt;',maxt.bigfile,'&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',maxt.contents,'&amp;lt;/td&amp;gt;', decode(maxt.status,'ONLINE','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;','&amp;lt;td bgcolor=&amp;quot;#FF0000&amp;quot;&amp;gt;'),maxt.status,'&amp;lt;/td&amp;gt;',&lt;br /&gt;
       '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',decode(t.autoextensible,'NO',decode(t.total,'',to_char(round(l.libre,0),'99G999G990D00'),to_char(t.total,'99G999G990D00')),decode(maxt.maxtotal,'',to_char(round(l.libre,0),'99G999G990D00'),to_char(maxt.maxtotal,'99G999G990D00'))),'&amp;lt;/td&amp;gt;' TOTAL,&lt;br /&gt;
       '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',decode(t.total,'',to_char(round(l.libre,0),'99G999G990D00'),to_char(t.total,'99G999G990D00')),'&amp;lt;/td&amp;gt;' TOTAL_CURRENT,&lt;br /&gt;
       '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',decode(u.utilise,'','0,00',to_char(u.utilise,'99G999G990D00')),'&amp;lt;/td&amp;gt;' UTILISE,&lt;br /&gt;
       '&amp;lt;td bgcolor=&amp;quot;',decode(t.autoextensible,'NO',decode(u.utilise,'', '#33FF33',CouleurLimite(u.utilise,t.total-(t.total*0.20),t.total*0.10,1)),decode(u.utilise,'', '#33FF33', CouleurLimite(u.utilise,maxt.maxtotal-(maxt.maxtotal*0.20),maxt.maxtotal*0.10,1))),'&amp;quot; align=right&amp;gt;',decode(l.libre,NULL,to_char(t.total-(decode(u.utilise,'',0,u.utilise)),'99G999G990D00'),to_char(l.libre,'99G999G990D00')),'&amp;lt;/td&amp;gt;' LIBRE,&lt;br /&gt;
decode(SIGN(a.total-h.total),&lt;br /&gt;
      -1,'&amp;lt;td bgcolor=&amp;quot;#33FF33&amp;quot; align=right&amp;gt;'||to_char(a.total-h.total,'S99G999G990D00')||'&amp;lt;/td&amp;gt;',&lt;br /&gt;
       0,'&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right &amp;gt;'||to_char(a.total-h.total,'99G999G990D00')||'&amp;lt;/td&amp;gt;',&lt;br /&gt;
       1,'&amp;lt;td bgcolor=&amp;quot;ORANGE&amp;quot; align=right&amp;gt;'||to_char(a.total-h.total,'S99G999G990D00')||'&amp;lt;/td&amp;gt;',&lt;br /&gt;
       NULL,'&amp;lt;td bgcolor=&amp;quot;BLUE&amp;quot; align=right &amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;Premier audit&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;'),&lt;br /&gt;
decode(SIGN(a.utilis-h.utilis),&lt;br /&gt;
      -1,'&amp;lt;td bgcolor=&amp;quot;#33FF33&amp;quot; align=right &amp;gt;'||to_char(a.utilis-h.utilis,'S99G999G990D00')||'&amp;lt;/td&amp;gt;',&lt;br /&gt;
       0,'&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;'||to_char(a.utilis-h.utilis,'99G999G990D00')||'&amp;lt;/td&amp;gt;',&lt;br /&gt;
       1,'&amp;lt;td bgcolor=&amp;quot;ORANGE&amp;quot; align=right&amp;gt;'||to_char(a.utilis-h.utilis,'S99G999G990D00')||'&amp;lt;/td&amp;gt;',&lt;br /&gt;
       NULL,'&amp;lt;td bgcolor=&amp;quot;BLUE&amp;quot; align=right&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;Premier audit&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;'),'&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from (select tablespace_name, autoextensible,&lt;br /&gt;
             round(sum(bytes)/(1024*1024),2) total&lt;br /&gt;
      from dba_data_files&lt;br /&gt;
      group by tablespace_name, autoextensible) t,&lt;br /&gt;
     (select df.tablespace_name, df.autoextensible, dt.contents, dt.status,&lt;br /&gt;
             bigfile,&lt;br /&gt;
             decode(BIGFILE,'YES',round(sum(df.maxbytes)/(1024*1024*1024),2),round(sum(df.maxbytes)/(1024*1024),2)) maxtotal&lt;br /&gt;
      from dba_data_files df, dba_tablespaces dt&lt;br /&gt;
      where df.tablespace_name=dt.tablespace_name(+)&lt;br /&gt;
      group by df.tablespace_name, df.autoextensible, dt.contents, dt.status, BIGFILE) maxt,&lt;br /&gt;
     (select tablespace_name,&lt;br /&gt;
             round(sum(blocks)*&amp;amp;dbloc/(1024*1024),2) utilise&lt;br /&gt;
      from dba_segments&lt;br /&gt;
      group by tablespace_name) u,&lt;br /&gt;
     (select tablespace_name,&lt;br /&gt;
             round(sum(blocks)*&amp;amp;dbloc/(1024*1024),2) libre&lt;br /&gt;
      from dba_free_space&lt;br /&gt;
      group by tablespace_name) l,&lt;br /&gt;
      (select * from system.histaudit&lt;br /&gt;
	         where trunc(to_date(date_aud))=trunc(sysdate)&lt;br /&gt;
             and type_obj='TBS') a,&lt;br /&gt;
      (select * from system.histaudit&lt;br /&gt;
	         where to_date(date_aud) like&lt;br /&gt;
	         (select decode(max(to_date(date_aud)),NULL,trunc(sysdate),max(to_date(date_aud))) from system.histaudit&lt;br /&gt;
                    where to_date(date_aud) &amp;lt; trunc(sysdate)&lt;br /&gt;
		            and type_obj='TBS')&lt;br /&gt;
	         and type_obj='TBS') h&lt;br /&gt;
where t.tablespace_name=u.tablespace_name(+)&lt;br /&gt;
and u.tablespace_name=l.tablespace_name(+)&lt;br /&gt;
and t.tablespace_name=maxt.tablespace_name(+)&lt;br /&gt;
and a.obj_name=h.obj_name&lt;br /&gt;
and a.obj_name=t.tablespace_name&lt;br /&gt;
and maxt.contents not in ('UNDO')&lt;br /&gt;
order by t.tablespace_name;&lt;br /&gt;
&lt;br /&gt;
-- TABLESPACE UNDO&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',t.tablespace_name,'&amp;lt;/td&amp;gt;' Tablespace, '&amp;lt;td bgcolor=&amp;quot;',decode(BIGFILE,'YES','#FF9900','LIGHTBLUE'),'&amp;quot; align=center&amp;gt;',maxt.bigfile,'&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',maxt.contents,'&amp;lt;/td&amp;gt;', decode(maxt.status,'ONLINE','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',maxt.status,'&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;#FF0000&amp;quot;&amp;gt;',maxt.status,'&amp;lt;/td&amp;gt;'),&lt;br /&gt;
       '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',decode(t.autoextensible,'NO',decode(t.total,'',to_char(round(l.libre,0),'99G999G990D00'),to_char(t.total,'99G999G990D00')),decode(maxt.maxtotal,'',to_char(round(l.libre,0),'99G999G990D00'),to_char(maxt.maxtotal,'99G999G990D00'))),'&amp;lt;/td&amp;gt;' TOTAL,&lt;br /&gt;
       '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',decode(t.total,'',to_char(round(l.libre,0),'99G999G990D00'),to_char(t.total,'99G999G990D00')),'&amp;lt;/td&amp;gt;' TOTAL_CURRENT,&lt;br /&gt;
       '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',decode(u.utilise,'','0,00',to_char(u.utilise,'99G999G990D00')),'&amp;lt;/td&amp;gt;' UTILISE,&lt;br /&gt;
       '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',decode(l.libre,NULL,to_char(t.total-(decode(u.utilise,'',0,u.utilise)),'99G999G990D00'),to_char(l.libre,'99G999G990D00')),'&amp;lt;/td&amp;gt;' LIBRE,'&amp;lt;td bgcolor=&amp;quot;LIGHTGREY&amp;quot; align=center&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTGREY&amp;quot; align=center&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from (select tablespace_name, autoextensible,&lt;br /&gt;
             round(sum(bytes)/(1024*1024),2) total&lt;br /&gt;
      from dba_data_files&lt;br /&gt;
      group by tablespace_name, autoextensible) t,&lt;br /&gt;
     (select df.tablespace_name, df.autoextensible, dt.contents, dt.status,&lt;br /&gt;
             bigfile,&lt;br /&gt;
             decode(BIGFILE,'YES',round(sum(df.maxbytes)/(1024*1024*1024),2),round(sum(df.maxbytes)/(1024*1024),2)) maxtotal&lt;br /&gt;
      from dba_data_files df, dba_tablespaces dt&lt;br /&gt;
      where df.tablespace_name=dt.tablespace_name(+)&lt;br /&gt;
      group by df.tablespace_name, df.autoextensible, dt.contents, dt.status, BIGFILE) maxt,&lt;br /&gt;
     (select tablespace_name,&lt;br /&gt;
             round(sum(blocks)*&amp;amp;dbloc/(1024*1024),2) utilise&lt;br /&gt;
      from dba_segments&lt;br /&gt;
      group by tablespace_name) u,&lt;br /&gt;
     (select tablespace_name,&lt;br /&gt;
             round(sum(blocks)*&amp;amp;dbloc/(1024*1024),2) libre&lt;br /&gt;
      from dba_free_space&lt;br /&gt;
      group by tablespace_name) l&lt;br /&gt;
where t.tablespace_name=u.tablespace_name(+)&lt;br /&gt;
and u.tablespace_name=l.tablespace_name(+)&lt;br /&gt;
and t.tablespace_name=maxt.tablespace_name(+)&lt;br /&gt;
and maxt.contents in ('UNDO');&lt;br /&gt;
&lt;br /&gt;
-- TABLESPACE TEMP&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',t.tablespace_name,'&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTGREY&amp;quot; align=center&amp;gt;TEMP&amp;lt;/td&amp;gt;' as bigfile, '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',contents,'&amp;lt;/td&amp;gt;', decode(status,'ONLINE','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',status,'&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;#FF0000&amp;quot;&amp;gt;',status,'&amp;lt;/td&amp;gt;'),&lt;br /&gt;
         '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',to_char(total,'99G999G990D00'),'&amp;lt;/td&amp;gt;' as total, &lt;br /&gt;
         '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',to_char(total,'99G999G990D00'),'&amp;lt;/td&amp;gt;' as fake, &lt;br /&gt;
         '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;0,00&amp;lt;/td&amp;gt;' as utilise,&lt;br /&gt;
         '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',to_char(total,'99G999G990D00'),'&amp;lt;/td&amp;gt;' as libre,'&amp;lt;td bgcolor=&amp;quot;LIGHTGREY&amp;quot; align=center&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTGREY&amp;quot; align=center&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from (select df.tablespace_name, dt.contents, dt.status,&lt;br /&gt;
             round(sum(bytes)/(1024*1024),2) total&lt;br /&gt;
      from dba_temp_files df, dba_tablespaces dt&lt;br /&gt;
      where df.tablespace_name = dt.tablespace_name&lt;br /&gt;
      group by df.tablespace_name, dt.contents, dt.status) t;&lt;br /&gt;
&lt;br /&gt;
select  '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;WHITE&amp;quot; colspan=4&amp;gt;TOTAL&amp;lt;/td&amp;gt;',&lt;br /&gt;
        '&amp;lt;td bgcolor=&amp;quot;BLUE&amp;quot; align=right&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;',to_char(decode(dmty.total,'',0,dmty.total)+decode(dmtn.total,'',0,dmtn.total)+tt.total,'99G999G990D00'),'&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;' as maxtotal, &lt;br /&gt;
        '&amp;lt;td bgcolor=&amp;quot;BLUE&amp;quot; align=right&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;',to_char(dt.total+tt.total,'99G999G990D00'),'&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;' as total, &lt;br /&gt;
        '&amp;lt;td bgcolor=&amp;quot;BLUE&amp;quot; align=right&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;',to_char(du.utilise+tu.utilise,'99G999G990D00'),'&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;' as utilise,&lt;br /&gt;
        '&amp;lt;td bgcolor=&amp;quot;BLUE&amp;quot; align=right&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;',to_char(dl.libre+tl.libre,'99G999G990D00'),'&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;' as libre&lt;br /&gt;
from (select round(sum(df.maxbytes)/(1024*1024*1024),2) total&lt;br /&gt;
      from dba_data_files df, dba_tablespaces dt&lt;br /&gt;
      where df.tablespace_name=dt.tablespace_name(+)&lt;br /&gt;
      and BIGFILE='YES'&lt;br /&gt;
      and dt.contents not in ('UNDO')) dmty,&lt;br /&gt;
     (select round(sum(df.maxbytes)/(1024*1024),2) total&lt;br /&gt;
      from dba_data_files df, dba_tablespaces dt&lt;br /&gt;
      where df.tablespace_name=dt.tablespace_name(+)&lt;br /&gt;
      and BIGFILE='NO'&lt;br /&gt;
      and dt.contents not in ('UNDO')) dmtn,&lt;br /&gt;
     (select round(sum(bytes)/(1024*1024),2) total from dba_data_files) dt,&lt;br /&gt;
     (select round(sum(bytes)/(1024*1024),2) total from dba_temp_files) tt,&lt;br /&gt;
     (select round(sum(blocks)*&amp;amp;dbloc/(1024*1024),2) utilise from dba_segments) du,&lt;br /&gt;
     (select 0 utilise from dual) tu, -- considere que temp est toujours 100% libre&lt;br /&gt;
     (select round(sum(blocks)*&amp;amp;dbloc/(1024*1024),2) libre from dba_free_space) dl,&lt;br /&gt;
     (select round(sum(bytes)/(1024*1024),2) libre from dba_temp_files) tl;&lt;br /&gt;
     &lt;br /&gt;
select '&amp;lt;td bgcolor=&amp;quot;BLUE&amp;quot; align=right&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;',to_char(round(sum(a.total-h.total)),'S99G999G990D00'),'&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;' as total, &lt;br /&gt;
        '&amp;lt;td bgcolor=&amp;quot;BLUE&amp;quot; align=right colspan=4&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;',to_char(round(sum(a.utilis-h.utilis)),'S99G999G990D00'),'&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;' as utilise,'&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from (select * from system.histaudit&lt;br /&gt;
	where trunc(to_date(date_aud))=trunc(sysdate)&lt;br /&gt;
        and type_obj='TBS') a,&lt;br /&gt;
(select * from system.histaudit&lt;br /&gt;
	where to_date(date_aud) like&lt;br /&gt;
	(select decode(max(to_date(date_aud)),NULL,trunc(sysdate),max(to_date(date_aud))) from system.histaudit&lt;br /&gt;
                where to_date(date_aud) &amp;lt; trunc(sysdate)&lt;br /&gt;
                and type_obj='TBS')&lt;br /&gt;
	and type_obj='TBS') h&lt;br /&gt;
where a.obj_name=h.obj_name;&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** SEGMENTS&lt;br /&gt;
prompt &amp;lt;hr&amp;gt;&lt;br /&gt;
prompt &amp;lt;div align=center&amp;gt;&amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot; size=2&amp;gt;SEGMENTS (Objets utilisateurs)&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
prompt &amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Volumétrie tables et indexes&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=3&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Volum&amp;amp;eacute;trie segments utilisateurs&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Type de segments&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Total (Mo)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Diff&amp;amp;eacute;rence de taille depuis le dernier audit (&lt;br /&gt;
print last_audit&lt;br /&gt;
prompt )&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
select  '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;TABLES&amp;lt;/td&amp;gt;',&lt;br /&gt;
        '&amp;lt;td bgcolor=&amp;quot;BLUE&amp;quot; align=right&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;',decode(a.total, NULL, '0,00', to_char(round(a.total,2),'99G999G990D00')),'&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;',&lt;br /&gt;
        '&amp;lt;td bgcolor=&amp;quot;BLUE&amp;quot; align=right&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;',decode(a.total, NULL, to_char(round(-l.total,2),'S99G999G990D000'), to_char(round(a.total-l.total,2),'S99G999G990D00')),'&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from (select round(sum(bytes)/(1024*1024),2) as total from dba_segments&lt;br /&gt;
	where segment_type like 'TABLE%'&lt;br /&gt;
        and owner not in &amp;amp;sysusers and owner not in &amp;amp;exusers) a,&lt;br /&gt;
(select * from system.histaudit&lt;br /&gt;
	where to_date(date_aud) like&lt;br /&gt;
	(select decode(max(to_date(date_aud)),NULL,trunc(sysdate),max(to_date(date_aud))) from system.histaudit&lt;br /&gt;
                where to_date(date_aud) &amp;lt; trunc(sysdate)&lt;br /&gt;
                and type_obj='TAB')&lt;br /&gt;
	and type_obj='TAB') l;&lt;br /&gt;
select  '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;INDEXES&amp;lt;/td&amp;gt;',&lt;br /&gt;
        '&amp;lt;td bgcolor=&amp;quot;BLUE&amp;quot; align=right&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;',decode(a.total, NULL, '0,00', to_char(round(a.total,2),'99G999G990D00')),'&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;', &lt;br /&gt;
        '&amp;lt;td bgcolor=&amp;quot;BLUE&amp;quot; align=right&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;',decode(a.total, NULL, to_char(round(-l.total,2),'S99G999G990D00'), to_char(round(a.total-l.total,2),'S99G999G990D00')),'&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from (select round(sum(bytes)/(1024*1024),2) as total from dba_segments&lt;br /&gt;
	where segment_type like 'INDEX%'&lt;br /&gt;
        and owner not in &amp;amp;sysusers and owner not in &amp;amp;exusers) a,&lt;br /&gt;
(select * from system.histaudit&lt;br /&gt;
	where to_date(date_aud) like&lt;br /&gt;
	(select decode(max(to_date(date_aud)),NULL,trunc(sysdate),max(to_date(date_aud))) from system.histaudit&lt;br /&gt;
                where to_date(date_aud) &amp;lt; trunc(sysdate)&lt;br /&gt;
                and type_obj='IND')&lt;br /&gt;
	and type_obj='IND') l;&lt;br /&gt;
select DISTINCT '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;AUTRES (LOB SEGMENTS, LOB INDEXES, CLUSTERS,...)&amp;lt;/td&amp;gt;',&lt;br /&gt;
        '&amp;lt;td bgcolor=&amp;quot;BLUE&amp;quot; align=right&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;',decode(a.total, NULL, '0,00', to_char(round(a.total,2),'99G999G990D00')),'&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;', &lt;br /&gt;
        '&amp;lt;td bgcolor=&amp;quot;BLUE&amp;quot; align=right&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;',decode(a.total, NULL, to_char(round(-l.total,2),'S99G999G990D00'), to_char(round(a.total-l.total,2),'S99G999G990D00')),'&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from (select round(sum(bytes)/(1024*1024),2) as total from dba_segments&lt;br /&gt;
	where segment_type not like 'TABLE%' and segment_type not like 'INDEX%'&lt;br /&gt;
        and owner not in &amp;amp;sysusers and owner not in &amp;amp;exusers) a,&lt;br /&gt;
(select * from system.histaudit&lt;br /&gt;
	where to_date(date_aud) like&lt;br /&gt;
	(select decode(max(to_date(date_aud)),NULL,trunc(sysdate),max(to_date(date_aud))) from system.histaudit&lt;br /&gt;
                where trunc(to_date(date_aud)) &amp;lt; trunc(sysdate)&lt;br /&gt;
                and type_obj='AUT')&lt;br /&gt;
	and type_obj='AUT') l;&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Mise à jour automatique des statistiques&lt;br /&gt;
-- 10g : 'GATHER_STATS_JOB' dans DBA_SCHEDULER_JOBS&lt;br /&gt;
-- 11g : 'MGMT_STATS_CONFIG_JOB' dans DBA_SCHEDULER_JOBS dit seulement que OCM est actif. Mais il faut aussi regarder dans DBA_AUTOTASK_WINDOW_CLIENTS (fenetres de lancement des taches auto) et DBA_AUTOTASK_CLIENT (jobs lancés).&lt;br /&gt;
-- Ces 2 tables n'existent pas en 10. Comment afficher &amp;quot;auto optimizer stats collection&amp;quot;  de DBA_AUTOTASK_CLIENT si version 11, plutot que simplement &amp;quot;MGMT_STATS_CONFIG_JOB&amp;quot; qui ne dit pas si les stats sont aussi &amp;quot;enabled&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=2&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Mise &amp;amp;agrave; jour automatique des statistiques&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;JOB&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Automatiques (O/N)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
select  '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=left&amp;gt;',JOB_NAME,'&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;BLUE&amp;quot; align=right&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;',STATE,'&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;'&lt;br /&gt;
FROM DBA_SCHEDULER_JOBS &lt;br /&gt;
WHERE JOB_NAME in ('GATHER_STATS_JOB','MGMT_STATS_CONFIG_JOB');&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** REDO LOG FILES&lt;br /&gt;
prompt &amp;lt;hr&amp;gt;&lt;br /&gt;
prompt &amp;lt;div align=center&amp;gt;&amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot; size=2&amp;gt;REDO LOG FILES&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
prompt &amp;lt;hr&amp;gt;&lt;br /&gt;
-- *************************************** Redo logs files&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=4&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Liste des fichiers redo logs&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td width=8%&amp;gt;&amp;lt;b&amp;gt;Groupe&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=25%&amp;gt;&amp;lt;b&amp;gt;Fichier&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=5%&amp;gt;&amp;lt;b&amp;gt;Statut&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Taille (Mo)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;', l.group#, '&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;', member, '&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;',decode(f.status, 'STALE', 'ORANGE&amp;quot;&amp;gt;', 'INVALID', '#FF0000&amp;quot;&amp;gt;', '#33FF33&amp;quot;&amp;gt;OK'),f.status,'&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',to_char(round(bytes/(1024*1024),2),'99G999G990D00'),'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;' from v$log l,v$logfile f where l.group# = f.group# order by l.group#;&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Statistiques switchs REDO LOG&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; colspan=3&amp;gt;&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;table border=0 width=100%&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td width=10%&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;img src=&amp;quot;data:image/gif;base64,&lt;br /&gt;
print info&lt;br /&gt;
prompt &amp;quot; width=&amp;quot;20&amp;quot; height=&amp;quot;20&amp;quot; alt=&amp;quot;Tips...&amp;quot; title=&amp;quot;ATTENTION : l''historique des logs peut &amp;amp;ecirc;tre supprim&amp;amp;eacute; au fur et &amp;amp;agrave; mesure : ces statistiques risquent de ne pas &amp;amp;ecirc;tre viables.&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
prompt &amp;lt;td align=center&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Statistiques switchs REDO LOGS&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Statistique&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Date&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Valeur&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; valign=top&amp;gt;Nombre de switchs par jour (depuis 30 jours)&amp;lt;/td&amp;gt;&lt;br /&gt;
prompt &amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;&lt;br /&gt;
select trunc(first_time),'&amp;lt;br/&amp;gt;' from v$loghist&lt;br /&gt;
where first_time &amp;gt; (sysdate-30)&lt;br /&gt;
group by trunc(first_time)&lt;br /&gt;
order by trunc(first_time);&lt;br /&gt;
prompt &amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;&lt;br /&gt;
select count(first_time),'&amp;lt;br/&amp;gt;' from v$loghist&lt;br /&gt;
where first_time &amp;gt; (sysdate-30)&lt;br /&gt;
group by trunc(first_time)&lt;br /&gt;
order by trunc(first_time);&lt;br /&gt;
prompt &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Stats switchs&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;Moyenne par jour :&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;BLUE&amp;quot; align=right colspan=2&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;',round(avg(nbc),0),'&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from (select count(*) as nbc from v$loghist a, v$loghist b&lt;br /&gt;
      where a.first_change#=b.switch_change#&lt;br /&gt;
      and to_char(a.first_time,'dd/mm/yyyy')=to_char(b.first_time,'dd/mm/yyyy')&lt;br /&gt;
      group by to_char(a.first_time,'dd/mm/yyyy'));&lt;br /&gt;
&lt;br /&gt;
-- *************************************** resume par mois (depuis 1 an)&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;Nombre de switchs par mois&amp;lt;/td&amp;gt;&lt;br /&gt;
prompt &amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;&lt;br /&gt;
select to_char(to_date(first_time),'mm/yyyy'),'&amp;lt;br/&amp;gt;' from v$loghist&lt;br /&gt;
where first_time &amp;gt; (sysdate-365)&lt;br /&gt;
group by to_char(to_date(first_time),'mm/yyyy')&lt;br /&gt;
order by to_char(to_date(first_time),'mm/yyyy');&lt;br /&gt;
prompt &amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;&lt;br /&gt;
select count(*),'&amp;lt;br/&amp;gt;' from v$loghist&lt;br /&gt;
where first_time &amp;gt; (sysdate-365)&lt;br /&gt;
group by to_char(to_date(first_time),'mm/yyyy')&lt;br /&gt;
order by to_char(to_date(first_time),'mm/yyyy');&lt;br /&gt;
prompt &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** temps minimum entre 2 switchs&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;Temps MIN. entre 2 switchs :&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;BLUE&amp;quot; align=right colspan=2&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;',to_char(min(a.first_time-b.first_time)*24*3600,'99999G990'),' secondes&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from v$loghist a, v$loghist b&lt;br /&gt;
where a.first_change#=b.switch_change#;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** temps maximum entre 2 switchs&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;Temps MAX. entre 2 switchs :&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;BLUE&amp;quot; align=right colspan=2&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;',to_char(max(a.first_time-b.first_time)*24*3600,'99999G990'),' secondes&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from v$loghist a, v$loghist b&lt;br /&gt;
where a.first_change#=b.switch_change#;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** temps moyen entre 2 switchs&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;Temps MOY. entre 2 switchs :&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;BLUE&amp;quot; align=right colspan=2&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;',to_char((sum(a.first_time-b.first_time)*24*3600)/count(a.first_time),'99999G990'),' secondes&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from v$loghist a, v$loghist b&lt;br /&gt;
where a.first_change#=b.switch_change#;&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** UNDO&lt;br /&gt;
-- prompt &amp;lt;hr&amp;gt;&lt;br /&gt;
-- prompt &amp;lt;div align=center&amp;gt;&amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot; size=2&amp;gt;UNDO / ROLLBACK SEGMENTS&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
-- prompt &amp;lt;hr&amp;gt;&lt;br /&gt;
-- *************************************** Rollback segments -- inutile depuis 10g gestion auto&lt;br /&gt;
--prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
--prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=3&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Rollback segments&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
--prompt &amp;lt;tr&amp;gt;&amp;lt;td width=8%&amp;gt;&amp;lt;b&amp;gt;Segment&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=25%&amp;gt;&amp;lt;b&amp;gt;Tablespace&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Statut&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
--select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',segment_name,'&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',tablespace_name,'&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',status,'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;' from dba_rollback_segs;&lt;br /&gt;
&lt;br /&gt;
--prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Stats rollback segs&lt;br /&gt;
--prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
--prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=4&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Statistiques rollback segments&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
--prompt &amp;lt;tr&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Segment USN&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Nom&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Nombre SHRINKS&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;taille moyenne SHRINKS&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
--select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',v$rollstat.usn,'&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',name,'&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',shrinks,'&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',aveshrink,'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;' from v$rollstat,v$rollname&lt;br /&gt;
--where v$rollstat.usn=v$rollname.usn;&lt;br /&gt;
&lt;br /&gt;
--prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** CONFLITS D'ACCES&lt;br /&gt;
prompt &amp;lt;hr&amp;gt;&lt;br /&gt;
prompt &amp;lt;div align=center&amp;gt;&amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot; size=2&amp;gt;STATISTIQUES D'ACCES DISQUE&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
prompt &amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** contentions de basculement&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
set define off&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; colspan=4&amp;gt;&lt;br /&gt;
prompt &amp;lt;table border=0 width=100%&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td width=10%&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;img src=&amp;quot;data:image/gif;base64,&lt;br /&gt;
print info&lt;br /&gt;
prompt &amp;quot; width=&amp;quot;20&amp;quot; height=&amp;quot;20&amp;quot; alt=&amp;quot;Tips...&amp;quot; title=&amp;quot;'Checkpoint not complete' : ce message apparait si le check point pr&amp;amp;eacute;c&amp;amp;eacute;dent n'est pas fini lors d'un CPKT ou d'un switch (qui occasionne lui-m&amp;amp;ecirc;me un ckpt). Augmenter la taille des fichiers redo logs, ou leur nombre si &amp;amp;ccedil;a ne suffit pas.&amp;quot;&amp;gt;&lt;br /&gt;
prompt &amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;img src=&amp;quot;data:image/gif;base64,&lt;br /&gt;
print tips&lt;br /&gt;
prompt &amp;quot; width=&amp;quot;20&amp;quot; height=&amp;quot;20&amp;quot; alt=&amp;quot;Info...&amp;quot; title=&amp;quot;voir messages 'Checkpoint not complete' dans le fichier alert&amp;lt;SID&amp;gt;.log&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
prompt &amp;lt;td align=center&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Contentions de basculement redo logs&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=10%&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Nom&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Ev&amp;amp;egrave;nement&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Wait (en secondes)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Etat&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',sid,'&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',event,'&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',seconds_in_wait,'&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',state,'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from v$session_wait&lt;br /&gt;
where event like 'log%';&lt;br /&gt;
&lt;br /&gt;
DECLARE cnt_event number := 0;&lt;br /&gt;
BEGIN&lt;br /&gt;
   select count(sid) into cnt_event from v$session_wait&lt;br /&gt;
   where event like 'log%';&lt;br /&gt;
   if cnt_event=0 then&lt;br /&gt;
      dbms_output.put_line('&amp;lt;tr&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;');&lt;br /&gt;
   end if;&lt;br /&gt;
end;&lt;br /&gt;
/&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Conflits d'acces disque&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; colspan=2&amp;gt;&lt;br /&gt;
prompt &amp;lt;table border=0 width=100%&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td width=10%&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;img src=&amp;quot;data:image/gif;base64,&lt;br /&gt;
print info&lt;br /&gt;
prompt &amp;quot; width=&amp;quot;20&amp;quot; height=&amp;quot;20&amp;quot; alt=&amp;quot;Tips...&amp;quot; title=&amp;quot;ATTENTION : ces valeurs sont cumul&amp;amp;eacute;es depuis le dernier d&amp;amp;eacute;marrage.&amp;quot;&amp;gt;&lt;br /&gt;
prompt &amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;img src=&amp;quot;data:image/gif;base64,&lt;br /&gt;
print tips&lt;br /&gt;
prompt &amp;quot; width=&amp;quot;20&amp;quot; height=&amp;quot;20&amp;quot; alt=&amp;quot;Tips...&amp;quot; title=&amp;quot;Si data block &amp;gt; 0 (trop de blocs modifi&amp;amp;eacute;s dans le buffer cache) augmenter le nombre de processus DBWR. Si segment header ou free list &amp;gt; 0 (multiplier les freelists en re-cr&amp;amp;eacute;ant la table avec nouveau param&amp;amp;egrave;tre). Si un des param&amp;amp;egrave;tres UNDO est sup&amp;amp;eacute;rieur &amp;amp;agrave; 1% ou 2% besoin de plus de rollback segments.&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
prompt &amp;lt;td align=center&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Conflits d'acc&amp;amp;egrave;s disque&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=10%&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Classe&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Nombre&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',class,'&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;',CouleurLimite(count,10000000,9990000,1),'&amp;quot; align=right&amp;gt;',count,'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;' from v$waitstat;&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Efficacite d'acces aux fichiers&lt;br /&gt;
-- EDIT 06/2013 : pas sur que ces informations servent vraiment... Il vaut mieux regarder les full scans&lt;br /&gt;
--prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
--set define off&lt;br /&gt;
--prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=4&amp;gt;&lt;br /&gt;
--prompt &amp;lt;table border=0 width=100%&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td width=10%&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;img src=&amp;quot;data:image/gif;base64,&lt;br /&gt;
--print tips&lt;br /&gt;
--prompt &amp;quot; width=&amp;quot;20&amp;quot; height=&amp;quot;20&amp;quot; alt=&amp;quot;Tips...&amp;quot; title=&amp;quot;L'efficacit&amp;amp;eacute; d'acc&amp;amp;egrave;s indique le rapport entre les lectures/&amp;amp;eacute;critures et la r&amp;amp;eacute;partition des donn&amp;amp;eacute;es sur disque. Un ratio trop bas indique des acc&amp;amp;eacute;s concurrents trop fr&amp;amp;eacute;quents, soit des index et tables m&amp;amp;eacute;lang&amp;amp;eacute;es, ou des tables non tri&amp;amp;eacute;es acc&amp;amp;eacute;d&amp;amp;eacute;es fr&amp;amp;eacute;quemment.&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--prompt &amp;lt;td align=center&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Efficacit&amp;amp;eacute; des acc&amp;amp;egrave;s aux fichiers&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
--prompt &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Tablespace&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Fichier&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Reads / Writes&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Efficacit&amp;amp;eacute; (%)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
--set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
--select&lt;br /&gt;
--'&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',f.tablespace_name,'&amp;lt;/td&amp;gt;',&lt;br /&gt;
--'&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',f.file_name,'&amp;lt;/td&amp;gt;',&lt;br /&gt;
--'&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',(v.phyrds+v.phywrts),'&amp;lt;/td&amp;gt;',&lt;br /&gt;
--'&amp;lt;td bgcolor=&amp;quot;',CouleurLimite(ROUND(100*(v.phyrds+v.phywrts)/(v.phyblkrd+v.phyblkwrt),0),60,20,0),'&amp;quot; align=right&amp;gt;',TO_CHAR(DECODE(v.phyblkrd,0,null,ROUND(100*(v.phyrds+v.phywrts)/(v.phyblkrd+v.phyblkwrt),0))),'%&amp;lt;/td&amp;gt;',&lt;br /&gt;
--'&amp;lt;/tr&amp;gt;'&lt;br /&gt;
--from DBA_data_files f, v$filestat v&lt;br /&gt;
--where f.file_id=v.file#&lt;br /&gt;
--ORDER BY 1,file#;&lt;br /&gt;
&lt;br /&gt;
--prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** FULL SCANS&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=5&amp;gt;&lt;br /&gt;
prompt &amp;lt;table border=0 width=100%&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td width=10%&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;img src=&amp;quot;data:image/gif;base64,&lt;br /&gt;
print tips&lt;br /&gt;
prompt &amp;quot; width=&amp;quot;20&amp;quot; height=&amp;quot;20&amp;quot; alt=&amp;quot;Tips...&amp;quot; title=&amp;quot;La d&amp;amp;eacute;tection des FULL SCANS est faite par le rapport entre les requêtes de lectures et les lectures des donn&amp;amp;eacute;es sur disque (les blocs). Un ratio &amp;gt; 50% signifie qu'un petit nombre de requêtes lisent un grand nombre de blocs, ce qui indique que les fichiers sont lus en entier trop fr&amp;amp;eacute;quemment.&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;td align=center&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;D&amp;amp;eacute;tection des FULL SCAN sur disque&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Tablespace&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Fichier&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Read requests&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Blocks read&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;ratio (%)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
select&lt;br /&gt;
'&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',f.tablespace_name,'&amp;lt;/td&amp;gt;',&lt;br /&gt;
'&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',f.file_name,'&amp;lt;/td&amp;gt;',&lt;br /&gt;
'&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',v.phyrds,'&amp;lt;/td&amp;gt;',&lt;br /&gt;
'&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',v.phyblkrd,'&amp;lt;/td&amp;gt;',&lt;br /&gt;
'&amp;lt;td bgcolor=&amp;quot;',CouleurLimite(ROUND(100*(v.phyrds/v.phyblkrd),0),20,5,0),'&amp;quot; align=right&amp;gt;',TO_CHAR(DECODE(v.phyblkrd,0,null,ROUND(100*(v.phyrds/v.phyblkrd),0))),'%&amp;lt;/td&amp;gt;',&lt;br /&gt;
'&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from DBA_data_files f, v$filestat v&lt;br /&gt;
where f.file_id=v.file#&lt;br /&gt;
ORDER BY f.tablespace_name,v.file#;&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--TIPS : Pour trouver les tables souvent lues s&amp;amp;eacute;quentiellement (connexion SYS obligatoire !) :&lt;br /&gt;
--set head on&lt;br /&gt;
--set pages 0&lt;br /&gt;
--col object_name format a40&lt;br /&gt;
--col object_type format a15&lt;br /&gt;
--col owner format a15 &lt;br /&gt;
--SELECT o.object_name, o.object_type, o.owner&lt;br /&gt;
--FROM dba_objects o,x$bh x&lt;br /&gt;
--WHERE x.obj=o.object_id&lt;br /&gt;
--AND o.object_type='TABLE'&lt;br /&gt;
--AND sys.standard.bitand(x.flag,524288)&amp;gt;0&lt;br /&gt;
--AND o.owner&amp;lt;&amp;gt;'SYS'&lt;br /&gt;
--GROUP BY o.object_name,o.object_type,o.owner;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Evenements systemes&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=4&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Ev&amp;amp;eacute;nements syst&amp;amp;egrave;me&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Evenement&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Total waits&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Timeout&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Average time&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',event,'&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',total_waits,'&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;',decode(total_timeouts,0,'LIGHTBLUE','ORANGE'),'&amp;quot; align=right&amp;gt;',total_timeouts,'&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',to_char(average_wait,'999999990D00'),'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;' from v$system_event&lt;br /&gt;
where event like 'log%' or event like 'db file%';&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** SECTION INSTANCE&lt;br /&gt;
prompt &amp;lt;hr&amp;gt;&lt;br /&gt;
prompt &amp;lt;div align=center&amp;gt;&amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;SECTION INSTANCE&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
prompt &amp;lt;hr&amp;gt;&lt;br /&gt;
-- *************************************** POOLS MEMOIRE&lt;br /&gt;
prompt &amp;lt;hr&amp;gt;&lt;br /&gt;
prompt &amp;lt;div align=center&amp;gt;&amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot; size=2&amp;gt;SGA&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
prompt &amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Taille SGA&lt;br /&gt;
 &lt;br /&gt;
-- TODO : ajouter TIPS KGH NO ACCESS sur la page html&lt;br /&gt;
--      db_cache deborde car pas assez de place. Ajuster DB_KEEP_CACHE_SIZE (taille mini à garder) et DB_RECYCLE_CACHE_SIZE (taille &lt;br /&gt;
--select pool,sum(bytes) from  v$sgastat where pool is not null group by pool union select 'total SGA',sum(bytes) from  v$sgastat where pool is not null union select 'KGH NO ACCESS', sum(bytes) from  v$sgastat where name = 'KGH: NO ACCESS' union select 'total global',sum(bytes) from  v$sgastat;&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=2&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Taille totale SGA&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;SGA&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;valeur (Mo)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
set define off&lt;br /&gt;
&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;Total SGA instance&amp;lt;/td&amp;gt;',&lt;br /&gt;
'&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;'||to_char(round(sum(s.bytes)/(1024*1024),2),'99G999G990D00')||'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;' &lt;br /&gt;
from v$sgastat s where name != 'KGH: NO ACCESS'&lt;br /&gt;
UNION ALL&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;KGH NO ACCESS (Echange db_cache/SGA si mode ASMM)&amp;lt;/td&amp;gt;',&lt;br /&gt;
'&amp;lt;td bgcolor=&amp;quot;'||decode(to_char(round(sum(s.bytes)/(1024*1024),2),'99G999G990D00'),NULL,'#33FF33',CouleurLimite(round(sum(s.bytes)/(1024*1024),2),0,0,1))||'&amp;quot; align=right&amp;gt;'||decode(to_char(round(sum(s.bytes)/(1024*1024),2),'99G999G990D00'),NULL,to_char('0','99G999G990D00'),to_char(round(sum(s.bytes)/(1024*1024),2),'99G999G990D00'))||'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;' &lt;br /&gt;
from v$sgastat s where name = 'KGH: NO ACCESS'&lt;br /&gt;
UNION ALL&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;sga_max_size SPFILE&amp;lt;/td&amp;gt;',&lt;br /&gt;
decode(to_char(round(p.value/(1024*1024),2)),&lt;br /&gt;
'','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;Non initialis&amp;amp;eacute;&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;'||to_char(round(p.value/(1024*1024),2),'99G999G990D00')||'&amp;lt;/td&amp;gt;'),'&amp;lt;/tr&amp;gt;' &lt;br /&gt;
from v$spparameter p&lt;br /&gt;
where p.name = 'sga_max_size'&lt;br /&gt;
UNION ALL&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;sga_max_size INSTANCE&amp;lt;/td&amp;gt;',&lt;br /&gt;
'&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;'||to_char(round(p.value/(1024*1024),2),'99G999G990D00')||'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;' &lt;br /&gt;
from v$parameter p&lt;br /&gt;
where p.name = 'sga_max_size'&lt;br /&gt;
UNION ALL&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;sga_target SPFILE&amp;lt;/td&amp;gt;',&lt;br /&gt;
decode(to_char(round(p.value/(1024*1024),2)),&lt;br /&gt;
'','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;Non initialis&amp;amp;eacute;&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;'||to_char(round(p.value/(1024*1024),2),'99G999G990D00')||'&amp;lt;/td&amp;gt;'),'&amp;lt;/tr&amp;gt;' &lt;br /&gt;
from v$spparameter p&lt;br /&gt;
where p.name = 'sga_target'&lt;br /&gt;
UNION ALL&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;sga_target INSTANCE&amp;lt;/td&amp;gt;',&lt;br /&gt;
'&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;'||to_char(round(p.value/(1024*1024),2),'99G999G990D00')||'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;' &lt;br /&gt;
from v$parameter p&lt;br /&gt;
where p.name = 'sga_target'&lt;br /&gt;
UNION ALL&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;memory_max_target SPFILE&amp;lt;/td&amp;gt;',&lt;br /&gt;
decode(to_char(round(p.value/(1024*1024),2)),&lt;br /&gt;
'','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;Non initialis&amp;amp;eacute;&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;'||to_char(round(p.value/(1024*1024),2),'99G999G990D00')||'&amp;lt;/td&amp;gt;'),'&amp;lt;/tr&amp;gt;' &lt;br /&gt;
from v$spparameter p&lt;br /&gt;
where p.name = 'memory_max_target'&lt;br /&gt;
UNION ALL&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;memory_max_target INSTANCE&amp;lt;/td&amp;gt;',&lt;br /&gt;
'&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;'||to_char(round(p.value/(1024*1024),2),'99G999G990D00')||'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;' &lt;br /&gt;
from v$parameter p&lt;br /&gt;
where p.name = 'memory_max_target'&lt;br /&gt;
UNION ALL&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;memory_target SPFILE&amp;lt;/td&amp;gt;',&lt;br /&gt;
decode(to_char(round(p.value/(1024*1024),2)),&lt;br /&gt;
'','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;Non initialis&amp;amp;eacute;&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;'||to_char(round(p.value/(1024*1024),2),'99G999G990D00')||'&amp;lt;/td&amp;gt;'),'&amp;lt;/tr&amp;gt;' &lt;br /&gt;
from v$spparameter p&lt;br /&gt;
where p.name = 'memory_target'&lt;br /&gt;
UNION ALL&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;memory_target INSTANCE&amp;lt;/td&amp;gt;',&lt;br /&gt;
'&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;'||to_char(round(p.value/(1024*1024),2),'99G999G990D00')||'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;' &lt;br /&gt;
from v$parameter p&lt;br /&gt;
where p.name = 'memory_target'&lt;br /&gt;
UNION ALL&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;TOTAL&amp;lt;/td&amp;gt;',&lt;br /&gt;
'&amp;lt;td bgcolor=&amp;quot;BLUE&amp;quot; align=right&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;'||to_char(round(sum(s.bytes)/(1024*1024),2),'99G999G990D00')||'&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;' &lt;br /&gt;
from v$sgastat s;&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** MISE A JOUR TABLE HISTORIQUE&lt;br /&gt;
delete from system.histaudit where trunc(to_date(date_aud))=trunc(sysdate) and type_obj='SGA';&lt;br /&gt;
insert into system.histaudit (&lt;br /&gt;
select sysdate,'SGA','sga_size (spfile/max_used)',total,valeur,0 from &lt;br /&gt;
(select round(value/(1024*1024),2) total from v$parameter where name = 'sga_max_size') p,&lt;br /&gt;
(select round(sum(bytes)/(1024*1024),2) valeur from v$sgastat) s&lt;br /&gt;
);&lt;br /&gt;
insert into system.histaudit (&lt;br /&gt;
select sysdate, 'SGA', 'shared_pool (spfile/used)', t.Shared_pool_size, u.utilise, 0&lt;br /&gt;
from (select name, round(value/(1024*1024),2) Shared_pool_size&lt;br /&gt;
      from v$parameter where name='shared_pool_size') t,&lt;br /&gt;
     (select round(sum(bytes)/(1024*1024),2) Utilise&lt;br /&gt;
      from v$sgastat where pool='shared pool' and name &amp;lt;&amp;gt; 'free memory') u);&lt;br /&gt;
insert into system.histaudit (&lt;br /&gt;
select sysdate,'SGA','buffer_cache',round(value/(1024*1024),2), 0, 0 from v$sga&lt;br /&gt;
where name = 'Database Buffers');&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Diff memoire utilisee&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=3&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Diff&amp;amp;eacute;rence de tailles depuis le dernier audit (&lt;br /&gt;
print last_audit&lt;br /&gt;
prompt )&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Espaces m&amp;amp;eacute;moire&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;SPFILE (Mo)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Utilis&amp;amp;eacute; (Mo)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',a.obj_name,'&amp;lt;/td&amp;gt;',&lt;br /&gt;
decode(SIGN(a.total-h.total),&lt;br /&gt;
      -1,'&amp;lt;td bgcolor=&amp;quot;#33FF33&amp;quot; align=right&amp;gt;'||to_char(a.total-h.total,'S99G999G990D00')||'&amp;lt;/td&amp;gt;',&lt;br /&gt;
       0,'&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;'||to_char(a.total-h.total,'99G999G990D00')||'&amp;lt;/td&amp;gt;',&lt;br /&gt;
       1,'&amp;lt;td bgcolor=&amp;quot;ORANGE&amp;quot; align=right&amp;gt;'||to_char(a.total-h.total,'S99G999G990D00')||'&amp;lt;/td&amp;gt;') TOTAL,&lt;br /&gt;
decode(SIGN(a.utilis-h.utilis),&lt;br /&gt;
      -1,'&amp;lt;td bgcolor=&amp;quot;#33FF33&amp;quot; align=right&amp;gt;'||to_char(a.utilis-h.utilis,'S99G999G990D00')||'&amp;lt;/td&amp;gt;',&lt;br /&gt;
       0,'&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;'||to_char(a.utilis-h.utilis,'99G999G990D00')||'&amp;lt;/td&amp;gt;',&lt;br /&gt;
       1,'&amp;lt;td bgcolor=&amp;quot;ORANGE&amp;quot; align=right&amp;gt;'||to_char(a.utilis-h.utilis,'S99G999G990D00')||'&amp;lt;/td&amp;gt;') UTILISE,'&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from&lt;br /&gt;
(select * from system.histaudit&lt;br /&gt;
	where trunc(to_date(date_aud))=trunc(sysdate)&lt;br /&gt;
and type_obj='SGA') a,&lt;br /&gt;
(select * from system.histaudit&lt;br /&gt;
	where to_date(date_aud) like&lt;br /&gt;
	(select max(to_date(date_aud)) from system.histaudit&lt;br /&gt;
                where to_date(date_aud) &amp;lt; trunc(sysdate)&lt;br /&gt;
                and type_obj='SGA')&lt;br /&gt;
	and type_obj='SGA') h&lt;br /&gt;
where a.obj_name=h.obj_name;&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Pools memoire&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=2&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;SGA Infos&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Nom&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Valeur (Mo)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=2&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;vue V$SGAINFO (&amp;gt;=10g)&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',name,'&amp;lt;/td&amp;gt;' NOM,'&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',to_char(round(bytes/(1024*1024),2),'99G999G990D00'),'&amp;lt;/td&amp;gt;' total,'&amp;lt;/tr&amp;gt;' from v$sgainfo;&lt;br /&gt;
-- Pour compatibilite avec 9i :&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=2&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;vue V$SGA (toutes versions)&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',name,'&amp;lt;/td&amp;gt;' NOM,'&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',to_char(round(value/(1024*1024),2),'99G999G990D00'),'&amp;lt;/td&amp;gt;' valeur,'&amp;lt;/tr&amp;gt;' from v$sga;&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** SHARED POOL&lt;br /&gt;
prompt &amp;lt;hr&amp;gt;&lt;br /&gt;
prompt &amp;lt;div align=center&amp;gt;&amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot; size=2&amp;gt;SHARED POOL&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
prompt &amp;lt;hr&amp;gt;&lt;br /&gt;
-- *************************************** Shared pool&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=4&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Shared pool area&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Pool&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Total (Mo)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Utilis&amp;amp;eacute; (Mo)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Libre (Mo)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',t.name,'&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',to_char(t.total,'99G999G990D00'),'&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',to_char(u.utilise,'99G999G990D00'),'&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',to_char(l.libre,'99G999G990D00'),'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from (select name, round(value/(1024*1024),2) Total&lt;br /&gt;
      from v$parameter where name='shared_pool_size') t,&lt;br /&gt;
     (select round(sum(bytes)/(1024*1024),2) Utilise&lt;br /&gt;
      from v$sgastat where pool='shared pool' and name &amp;lt;&amp;gt; 'free memory') u,&lt;br /&gt;
     (select round(sum(bytes)/(1024*1024),2) libre&lt;br /&gt;
      from v$sgastat where pool='shared pool' and name = 'free memory') l;&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Dictionary cache&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
set define off&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; colspan=5&amp;gt;&lt;br /&gt;
prompt &amp;lt;table border=0 width=100%&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td width=10%&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;img src=&amp;quot;data:image/gif;base64,&lt;br /&gt;
print info&lt;br /&gt;
prompt &amp;quot; width=&amp;quot;20&amp;quot; height=&amp;quot;20&amp;quot; alt=&amp;quot;Info...&amp;quot; title=&amp;quot;GETS column represents the total number of times a process or Oracle asked for the item named in the column PARAMETER. GETMISSES column represents the number of times a request for dictionary information couldn't find that information in the dictionary cache and instead had to go to the SYSTEM tablespace to retrieve the information. SCANS column is the number of scan requests. SCANMISSES column is the times a scan failed to find the data in the cache.&amp;quot;&amp;gt;&lt;br /&gt;
prompt &amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;img src=&amp;quot;data:image/gif;base64,&lt;br /&gt;
print tips&lt;br /&gt;
prompt &amp;quot; width=&amp;quot;20&amp;quot; height=&amp;quot;20&amp;quot; alt=&amp;quot;Tips...&amp;quot; title=&amp;quot;Augmenter SHARED_POOL_SIZE si les ratios (Library ET Dictionary cache) sont inf&amp;amp;eacute;rieur &amp;amp;agrave; 85%.&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
prompt &amp;lt;td align=center&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Dictionary cache&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=10%&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Gets&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Get Misses&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Scan&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Scan Misses&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;b&amp;gt;Ratio&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',sum(gets),'&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',sum(getmisses),'&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',sum(scans),'&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',sum(scanmisses),'&amp;lt;/td&amp;gt;',&lt;br /&gt;
'&amp;lt;td bgcolor=&amp;quot;',CouleurLimite(round((sum(gets)-sum(getmisses))/sum(gets),2)*100,85,5,0),'&amp;quot; align=right&amp;gt;',round((sum(gets)-sum(getmisses))/sum(gets),2)*100,' % &amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from v$rowcache;&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Library cache&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
set define off&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; colspan=4&amp;gt;&lt;br /&gt;
prompt &amp;lt;table border=0 width=100%&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td width=10%&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;img src=&amp;quot;data:image/gif;base64,&lt;br /&gt;
print info&lt;br /&gt;
prompt &amp;quot; width=&amp;quot;20&amp;quot; height=&amp;quot;20&amp;quot; alt=&amp;quot;Info...&amp;quot; title=&amp;quot;Library Cache Misses indicate that the Shared Pool is not big enough to hold the shared SQL area for all concurrently open cursors. If you have no Library Cache misses (PINS = 0), you may get a small increase in performance by setting CURSOR_SPACE_FOR_TIME = TRUE which prevents ORACLE from deallocating a shared SQL area while an application cursor associated with it is open. For Multi-threaded server, add 1K to SHARED_POOL_SIZE per user.&amp;quot;&amp;gt;&lt;br /&gt;
prompt &amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;img src=&amp;quot;data:image/gif;base64,&lt;br /&gt;
print tips&lt;br /&gt;
prompt &amp;quot; width=&amp;quot;20&amp;quot; height=&amp;quot;20&amp;quot; alt=&amp;quot;Info...&amp;quot; title=&amp;quot;Augmenter SHARED_POOL_SIZE si les ratios (Library ET Dictionary cache) est inf&amp;amp;eacute;rieur &amp;amp;agrave; 85%&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
prompt &amp;lt;td align=center&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Library cache&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=10%&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Executions&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Rechargements&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td colspan=2&amp;gt;&amp;lt;b&amp;gt;Ratio&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',sum(pins),'&amp;lt;/td&amp;gt;' exec,&lt;br /&gt;
'&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',sum(reloads),'&amp;lt;/td&amp;gt;' recharg,&lt;br /&gt;
'&amp;lt;td bgcolor=&amp;quot;',CouleurLimite(round((sum(pins)-sum(reloads))/sum(pins),2)*100,85,5,0),'&amp;quot; align=right colspan=2&amp;gt;',round((sum(pins)-sum(reloads))/sum(pins),2)*100,' %&amp;lt;/td&amp;gt;' ratio,'&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from v$librarycache;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Stat library cache&lt;br /&gt;
set define off&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; colspan=4&amp;gt;&lt;br /&gt;
prompt &amp;lt;table border=0 width=100%&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td width=10%&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;img src=&amp;quot;data:image/gif;base64,&lt;br /&gt;
print info&lt;br /&gt;
prompt &amp;quot; width=&amp;quot;20&amp;quot; height=&amp;quot;20&amp;quot; alt=&amp;quot;Info...&amp;quot; title=&amp;quot;GETS columns is the number of times a lock was requested for objects of this namespace. GETHITS column is the number of times an object's handle was found in memory. PINS column is the times a PIN was requested for objects of this namespace. PINHITS column is the number of times all of the metadata pieces of the library object were found in memory.&amp;quot;&amp;gt;&lt;br /&gt;
prompt &amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;img src=&amp;quot;data:image/gif;base64,&lt;br /&gt;
print tips&lt;br /&gt;
prompt &amp;quot; width=&amp;quot;20&amp;quot; height=&amp;quot;20&amp;quot; alt=&amp;quot;Tips...&amp;quot; title=&amp;quot;Rapprocher ces statistiques des ratios dictionary et library cache.&amp;lt;br&amp;gt;Augmenter SHARED_POOL_SIZE si les ratios sont inf&amp;amp;eacute;rieur &amp;amp;agrave; 90%. BODY et INDEX ne sont pas significatifs et peuvent &amp;amp;ecirc;tre ignor&amp;amp;eacute;s.&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
prompt &amp;lt;td align=center&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Statistiques library cache par types de requ&amp;amp;ecirc;tes&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=10%&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td colspan=2&amp;gt;&amp;lt;b&amp;gt;Namespace&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;GetHits&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;PinHits&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; colspan=2&amp;gt;',namespace,'&amp;lt;/td&amp;gt;',&lt;br /&gt;
'&amp;lt;td bgcolor=&amp;quot;',CouleurLimite(round(gethitratio,2)*100,70,10,0),'&amp;quot; align=right&amp;gt;',round(gethitratio,2)*100,' %&amp;lt;/td&amp;gt;',&lt;br /&gt;
'&amp;lt;td bgcolor=&amp;quot;',CouleurLimite(round(pinhitratio,2)*100,70,10,0),'&amp;quot; align=right&amp;gt;',round(pinhitratio,2)*100,' %&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from v$librarycache;&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Requetes les plus gourmandes&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=8&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Requ&amp;amp;ecirc;tes les plus gourmandes en ressources (moyennes par ex&amp;amp;eacute;cution)&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Adresse&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Ex&amp;amp;eacute;cutions&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Moy. tris&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Moyenne lectures disque&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Moyenne cpu(&amp;amp;micro;sec)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Moyenne buffers&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Requ&amp;amp;ecirc;te sql&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
SELECT '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',sqla.address,'&amp;lt;/td&amp;gt;',&lt;br /&gt;
'&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',sqla.executions,'&amp;lt;/td&amp;gt;',&lt;br /&gt;
'&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',round(sqla.sorts/sqla.executions,0),'&amp;lt;/td&amp;gt;',&lt;br /&gt;
'&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',round(sqla.disk_reads/sqla.executions,0),'&amp;lt;/td&amp;gt;',&lt;br /&gt;
'&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;',round(sqla.cpu_time/sqla.executions,0),'&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;',&lt;br /&gt;
'&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',round(sqla.buffer_gets/sqla.executions,0),'&amp;lt;/td&amp;gt;',&lt;br /&gt;
'&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',replace(replace(sqla.sql_text, '&amp;lt;', '&amp;amp;lt;'), '&amp;gt;', '&amp;amp;gt;') ,'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;'&lt;br /&gt;
FROM   (select * from v$sqlarea where executions &amp;gt; 1) sqla&lt;br /&gt;
WHERE  sqla.cpu_time &amp;gt; 1000&lt;br /&gt;
AND    sqla.executions &amp;gt; 0&lt;br /&gt;
and    sqla.COMMAND_TYPE in (2,3,6,7)&lt;br /&gt;
AND    sqla.BUFFER_GETS/sqla.executions &amp;gt; 100&lt;br /&gt;
AND ROWNUM &amp;lt; 11&lt;br /&gt;
ORDER BY round(sqla.cpu_time/sqla.executions,0) DESC;&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
DECLARE cnt_rq number := 0;&lt;br /&gt;
BEGIN&lt;br /&gt;
   select count(sqla.address) into cnt_rq from (select * from v$sqlarea where executions &amp;gt; 1) sqla&lt;br /&gt;
   WHERE  sqla.cpu_time &amp;gt; 1000&lt;br /&gt;
   AND    sqla.executions &amp;gt; 1&lt;br /&gt;
   AND    sqla.COMMAND_TYPE in (2,3,6,7)&lt;br /&gt;
   AND    sqla.BUFFER_GETS/sqla.executions &amp;gt; 100&lt;br /&gt;
   AND rownum = 1;&lt;br /&gt;
   if cnt_rq=0 then&lt;br /&gt;
      dbms_output.put_line('&amp;lt;tr&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;');&lt;br /&gt;
      dbms_output.put_line('&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;');&lt;br /&gt;
   end if;&lt;br /&gt;
end;&lt;br /&gt;
/&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** AUTRES POOLS&lt;br /&gt;
prompt &amp;lt;hr&amp;gt;&lt;br /&gt;
prompt &amp;lt;div align=center&amp;gt;&amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot; size=2&amp;gt;AUTRES POOLS&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
prompt &amp;lt;hr&amp;gt;&lt;br /&gt;
-- *************************************** Large pool&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=4&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Large pool&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Nom&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Total (Mo)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Utilise (Mo)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Libre (Mo)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',t.name,'&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',to_char(decode(t.total,NULL,0,t.total),'99G999G990D00'),'&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',to_char(decode(u.utilise,NULL,0,t.total),'99G999G990D00'),'&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',to_char(decode(l.libre,NULL,0,t.total),'99G999G990D00'),'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from (select name, round(value/(1024*1024),2) total&lt;br /&gt;
      from v$parameter where name='large_pool_size') t,&lt;br /&gt;
     (select round(sum(bytes)/(1024*1024),2) utilise&lt;br /&gt;
      from v$sgastat where pool = 'large pool' and name &amp;lt;&amp;gt; 'free memory') u,&lt;br /&gt;
     (select round(sum(bytes)/(1024*1024),2) libre&lt;br /&gt;
      from v$sgastat where pool = 'large pool' and name = 'free memory') l;&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Java pool&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=4&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Java pool&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Nom&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Total (Mo)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Utilis&amp;amp;eacute; (Mo)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Libre (Mo)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',substr(t.name,1,30),'&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',to_char(decode(t.total,NULL,0,t.total),'99G999G990D00'),'&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',to_char(decode(u.utilise,NULL,0,t.total),'99G999G990D00'),'&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',to_char(decode(l.libre,NULL,0,t.total),'99G999G990D00'),'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from (select name, round(value/(1024*1024),2) total&lt;br /&gt;
      from v$parameter where name='java_pool_size') t,&lt;br /&gt;
     (select round(sum(bytes)/(1024*1024),2) utilise&lt;br /&gt;
      from v$sgastat where pool = 'java pool' and name &amp;lt;&amp;gt; 'free memory') u,&lt;br /&gt;
     (select round(sum(bytes)/(1024*1024),2) libre&lt;br /&gt;
      from v$sgastat where pool = 'java pool' and name = 'free memory') l;&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** BUFFER CACHE&lt;br /&gt;
prompt &amp;lt;hr&amp;gt;&lt;br /&gt;
prompt &amp;lt;div align=center&amp;gt;&amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot; size=2&amp;gt;BUFFER CACHE&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
prompt &amp;lt;hr&amp;gt;&lt;br /&gt;
-- *************************************** Buffer cache : Blocs lus E/S&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
set define off&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; colspan=2&amp;gt;&lt;br /&gt;
prompt &amp;lt;table border=0 width=100%&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td width=10%&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;img src=&amp;quot;data:image/gif;base64,&lt;br /&gt;
print tips&lt;br /&gt;
prompt &amp;quot; width=&amp;quot;20&amp;quot; height=&amp;quot;20&amp;quot; alt=&amp;quot;Tips...&amp;quot; title=&amp;quot;Si ce ratio est tr&amp;amp;egrave;s sup&amp;amp;eacute;rieur &amp;amp;agrave; 10, laisser tel quel (pas ajustable). Sinon ajuster _small_table_threshold (defaut 4) pour &amp;amp;ecirc;tre inf&amp;amp;eacute;rieur &amp;amp;agrave; 10.&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
prompt &amp;lt;td align=center&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Buffer cache : Blocs lus E/S&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=10%&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Nom&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Valeur&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;'||name||'&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;'||value||'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from v$sysstat&lt;br /&gt;
where name like 'table scan%'&lt;br /&gt;
UNION ALL&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt; Ratio (scans blocks / (scans short tables + scans long tables))&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;'||CouleurLimite(round(t1.value/(t2.value+t3.value),2),15,1,1)||'&amp;quot; align=right&amp;gt;'||to_char(round(t1.value/(t2.value+t3.value),2),'99G990D00')||'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;' from v$sysstat t1, v$sysstat t2, v$sysstat t3&lt;br /&gt;
where t1.name like 'table scan blocks gotten%'&lt;br /&gt;
and t2.name like 'table scans (short tables)%'&lt;br /&gt;
and t3.name like 'table scans (long tables)%';&lt;br /&gt;
-- *************************************** Buffer cache : hit ratio&lt;br /&gt;
set define off&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; colspan=2&amp;gt;&lt;br /&gt;
prompt &amp;lt;table border=0 width=100%&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td width=10%&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;img src=&amp;quot;data:image/gif;base64,&lt;br /&gt;
print tips&lt;br /&gt;
prompt &amp;quot; width=&amp;quot;20&amp;quot; height=&amp;quot;20&amp;quot; alt=&amp;quot;Tips...&amp;quot; title=&amp;quot;Augmenter DB_BLOCK_BUFFERS (ou DB_BLOCK_SIZE) pour que le ratio soit entre 70% et 80%. Au-dessus de 98% on peut gagner de la m&amp;amp;eacute;moire en r&amp;amp;eacute;duisant les buffers.&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
prompt &amp;lt;td align=center&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Buffer cache : hit ratio&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=10%&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Nom&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Valeur&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;'||name||'&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;'||value||'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;' from v$sysstat&lt;br /&gt;
where name in ('db block gets','consistent gets','physical reads')&lt;br /&gt;
UNION ALL&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;Ratio ((db blocks gets+consistent gets)-physical gets)/(db blocks gets+consistent gets)&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;'||CouleurLimite(round(((t1.value+t2.value)-t3.value)/(t1.value+t2.value),2)*100,70,10,0)||'&amp;quot; align=right&amp;gt;'||round(((t1.value+t2.value)-t3.value)/(t1.value+t2.value),2)*100||' %&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from v$sysstat t1, v$sysstat t2, v$sysstat t3&lt;br /&gt;
where t1.name='db block gets' and t2.name='consistent gets' and t3.name='physical reads';&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Redo buffers ****************************&lt;br /&gt;
prompt &amp;lt;hr&amp;gt;&lt;br /&gt;
prompt &amp;lt;div align=center&amp;gt;&amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot; size=2&amp;gt;REDO BUFFERS&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
prompt &amp;lt;hr&amp;gt;&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=3&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Redo buffers&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td width=15% colspan=2&amp;gt;&amp;lt;b&amp;gt;Pool&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Taille (Mo)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; colspan=2&amp;gt;',name,'&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',to_char(round(value/(1024*1024),2),'99G999G990D00'),'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;' from v$parameter&lt;br /&gt;
where name='log_buffer';&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Stats redo logs (contentions)&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
set define off&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; colspan=2&amp;gt;&lt;br /&gt;
prompt &amp;lt;table border=0 width=100%&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td width=10%&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;img src=&amp;quot;data:image/gif;base64,&lt;br /&gt;
print tips&lt;br /&gt;
prompt &amp;quot; width=&amp;quot;20&amp;quot; height=&amp;quot;20&amp;quot; alt=&amp;quot;Tips...&amp;quot; title=&amp;quot;Augmenter LOG_BUFFER pour que REDO LOG SPACE REQUESTS soit proche de 0. Si le ratio wastage/size est inf&amp;amp;eacute;rieur &amp;amp;agrave; 80%, il y a trop de perte de place dans les fichiers redo, ce qui indique une activit&amp;amp;eacute; trop forte du LGWR. V&amp;amp;eacute;rifier les checkpoints et/ou les switchs.&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
prompt &amp;lt;td align=center&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Statistiques redo logs (contentions)&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=10%&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Nom&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Valeur&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;'||name||'&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;'||decode(name,'redo log space requests',CouleurLimite(value,100000,1000,1),'redo log space wait time',CouleurLimite(value,100000,1000,1),'LIGHTBLUE')||'&amp;quot; align=right&amp;gt;'||value||'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;' from v$sysstat&lt;br /&gt;
where name like 'redo%'&lt;br /&gt;
UNION ALL&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;Ratio wastage/size&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;'||CouleurLimite(round(1-(t1.value/t2.value),2)*100,70,5,0)||'&amp;quot; align=right&amp;gt;'||round(1-(t1.value/t2.value),2)*100||' %&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from v$sysstat t1, v$sysstat t2&lt;br /&gt;
where t1.name like 'redo wastage'&lt;br /&gt;
and t2.name like 'redo size';&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Stats latchs (contentions)&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
set define off&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; colspan=3&amp;gt;&lt;br /&gt;
prompt &amp;lt;table border=0 width=100%&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td width=10%&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;img src=&amp;quot;data:image/gif;base64,&lt;br /&gt;
print tips&lt;br /&gt;
prompt &amp;quot; width=&amp;quot;20&amp;quot; height=&amp;quot;20&amp;quot; alt=&amp;quot;Tips...&amp;quot; title=&amp;quot;si un des ratio excede 5%, les performances sont affect&amp;amp;eacute;es, diminuer LOG_SMALL_ENTRY_SIZE.&amp;quot; width=15%&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
prompt &amp;lt;td align=center&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Statistiques latchs (contentions)&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=10%&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Nom&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Ratio misses/gets&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=25%&amp;gt;&amp;lt;b&amp;gt;Ratio immediate misses/immediate gets&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',name,'&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',to_char(round(sum(misses)/(sum(gets)+0.00000000001)*100),'990D00'),' %&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',to_char(round(sum(immediate_misses)/(sum(immediate_misses+immediate_gets)+0.00000000001)*100),'990D00'),' %&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from   v$latch&lt;br /&gt;
where  name in ('redo allocation',  'redo copy')&lt;br /&gt;
group by name;&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** zone de tri&lt;br /&gt;
prompt &amp;lt;hr&amp;gt;&lt;br /&gt;
prompt &amp;lt;div align=center&amp;gt;&amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot; size=2&amp;gt;SORT AREA&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
prompt &amp;lt;hr&amp;gt;&lt;br /&gt;
-- *************************************** Taille zone de tri&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=2&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Taille zone de tri&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Pool&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Taille (Mo)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',name,'&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',to_char(round(value/(1024*1024),2),'99G999G990D00'),'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;' from v$parameter&lt;br /&gt;
where name='sort_area_size';&lt;br /&gt;
-- *************************************** Statistiques zone de tri&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=2&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Statistiques zone de tri&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Nom&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Valeur&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;'||name||'&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;'||value||'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;' from v$sysstat&lt;br /&gt;
where name like 'sort%'&lt;br /&gt;
UNION ALL&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;Ratio (1 - (sorts disk / sorts memory))&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;'||CouleurLimite(round(1-(t1.value/t2.value),2)*100,85,5,0)||'&amp;quot; align=right&amp;gt;'||round(1-(t1.value/t2.value),2)*100||' %&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;' from v$sysstat t1, v$sysstat t2&lt;br /&gt;
where t1.name like 'sorts (disk)%'&lt;br /&gt;
and t2.name like 'sorts (memory)%';&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** PGA&lt;br /&gt;
prompt &amp;lt;hr&amp;gt;&lt;br /&gt;
prompt &amp;lt;div align=center&amp;gt;&amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot; size=2&amp;gt;PGA&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
prompt &amp;lt;hr&amp;gt;&lt;br /&gt;
-- *************************************** Statistiques PGA&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=3&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Cumuls PGA&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Actuel (Mo)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Max allou&amp;amp;eacute; (Mo)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;PGA_AGGREGATE_TARGET (Mo)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',to_char(round(sum(PGA_ALLOC_MEM)/1024/1024,2),'99G999G990D00'),'&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',to_char(round(sum(PGA_MAX_MEM)/1024/1024,2),'99G999G990D00'),'&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',to_char(round(to_number(value)/1024/1024,2),'99G999G990D00'),'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from v$process,v$parameter&lt;br /&gt;
where name='pga_aggregate_target'&lt;br /&gt;
group by value;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Detail UGA par utilisateur&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=3&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;D&amp;amp;eacute;tail UGA par utilisateur&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td width=15% colspan=2&amp;gt;&amp;lt;b&amp;gt;Sch&amp;amp;eacute;ma&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Nombre de sessions par sch&amp;amp;eacute;ma&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; colspan=2&amp;gt;',username,'&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',count(*),'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from v$statname n, v$sesstat t, v$session s&lt;br /&gt;
where s.sid=t.sid&lt;br /&gt;
and n.statistic#=t.statistic#&lt;br /&gt;
and s.type='USER'&lt;br /&gt;
and s.username is not null&lt;br /&gt;
and n.name='session pga memory'&lt;br /&gt;
group by username;&lt;br /&gt;
&lt;br /&gt;
select '&amp;lt;tr&amp;gt;&amp;lt;td width=15% colspan=2&amp;gt;&amp;lt;b&amp;gt;Nombre d''utilisateurs au moment de l''audit&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;BLUE&amp;quot; align=right&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;',count(*),'&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from v$statname n, v$sesstat t, v$session s&lt;br /&gt;
where s.sid=t.sid&lt;br /&gt;
and n.statistic#=t.statistic#&lt;br /&gt;
and s.type='USER'&lt;br /&gt;
and s.username is not null&lt;br /&gt;
and n.name='session pga memory';&lt;br /&gt;
&lt;br /&gt;
select '&amp;lt;tr&amp;gt;&amp;lt;td width=15% colspan=2&amp;gt;&amp;lt;b&amp;gt;Total UGA (Mo)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;BLUE&amp;quot; align=right&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;',to_char(round(sum(value)/(1024*1024),2),'99G999G990D00'),'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from v$statname n, v$sesstat t&lt;br /&gt;
where n.statistic#=t.statistic#&lt;br /&gt;
and n.name='session uga memory';&lt;br /&gt;
&lt;br /&gt;
select '&amp;lt;tr&amp;gt;&amp;lt;td width=15% colspan=2&amp;gt;&amp;lt;b&amp;gt;Total max UGA (Mo)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;BLUE&amp;quot; align=right&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;',to_char(round(sum(value)/(1024*1024),2),'99G999G990D00'),'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from v$statname n, v$sesstat t&lt;br /&gt;
where n.statistic#=t.statistic#&lt;br /&gt;
and n.name='session uga memory max';&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** ALERT.LOG&lt;br /&gt;
prompt &amp;lt;hr&amp;gt;&lt;br /&gt;
prompt &amp;lt;div align=center&amp;gt;&amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;ALERT LOG&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
prompt &amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Lecture de l'alert log&lt;br /&gt;
prompt &amp;lt;!-- ALERT.LOG --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
define alert_length=&amp;quot;2000&amp;quot;&lt;br /&gt;
column nlsdate new_value _nlsdate noprint;&lt;br /&gt;
column bdump   new_value _bdump noprint;&lt;br /&gt;
column db      new_value _db    noprint;&lt;br /&gt;
&lt;br /&gt;
select VALUE nlsdate from NLS_DATABASE_PARAMETERS where parameter = 'NLS_DATE_LANGUAGE';&lt;br /&gt;
select VALUE bdump from v$parameter &lt;br /&gt;
   where name ='background_dump_dest';&lt;br /&gt;
select instance_name db from v$instance;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** creation de la table finale &amp;quot;alert_log&amp;quot;&lt;br /&gt;
prompt &amp;lt;!-- Creation des tables, si necessaire --&amp;gt;&lt;br /&gt;
DECLARE&lt;br /&gt;
   table_exist number;&lt;br /&gt;
   tabtools number;&lt;br /&gt;
BEGIN&lt;br /&gt;
   select count(table_name) into table_exist from dba_tables&lt;br /&gt;
   where table_name='ALERT_LOG'&lt;br /&gt;
   and owner = 'SYSTEM';&lt;br /&gt;
   IF table_exist = 0 THEN&lt;br /&gt;
      select count(tablespace_name) into tabtools from dba_tablespaces&lt;br /&gt;
      where tablespace_name='TOOLS';&lt;br /&gt;
      IF tabtools = 0 THEN&lt;br /&gt;
         EXECUTE IMMEDIATE 'create table alert_log (&lt;br /&gt;
                             alert_date date,&lt;br /&gt;
                             alert_text varchar2(&amp;amp;&amp;amp;alert_length)&lt;br /&gt;
                         )';&lt;br /&gt;
      ELSE&lt;br /&gt;
         EXECUTE IMMEDIATE 'create table alert_log (&lt;br /&gt;
                             alert_date date,&lt;br /&gt;
                             alert_text varchar2(&amp;amp;&amp;amp;alert_length)&lt;br /&gt;
                         ) TABLESPACE TOOLS';&lt;br /&gt;
      END IF;&lt;br /&gt;
      EXECUTE IMMEDIATE 'create index alert_log_idx on alert_log(alert_date)';&lt;br /&gt;
   ELSE&lt;br /&gt;
      EXECUTE IMMEDIATE 'truncate table alert_log';&lt;br /&gt;
   END IF;&lt;br /&gt;
END;&lt;br /&gt;
/&lt;br /&gt;
&lt;br /&gt;
-- *****************************************  external table alert_log_disk&lt;br /&gt;
DECLARE&lt;br /&gt;
   dir_exist number;&lt;br /&gt;
BEGIN&lt;br /&gt;
   select count(DIRECTORY_NAME) into dir_exist from dba_directories&lt;br /&gt;
   where DIRECTORY_NAME='BDUMP'&lt;br /&gt;
   and owner in ('SYSTEM','SYS');&lt;br /&gt;
   IF dir_exist &amp;lt;&amp;gt; 0 THEN&lt;br /&gt;
      EXECUTE IMMEDIATE 'drop directory BDUMP';&lt;br /&gt;
   END IF;&lt;br /&gt;
   EXECUTE IMMEDIATE 'create directory BDUMP as ''&amp;amp;_bdump''';&lt;br /&gt;
END;&lt;br /&gt;
/&lt;br /&gt;
&lt;br /&gt;
DECLARE&lt;br /&gt;
   table_exist number;&lt;br /&gt;
BEGIN&lt;br /&gt;
   select count(table_name) into table_exist from dba_tables&lt;br /&gt;
   where table_name='ALERT_LOG_DISK'&lt;br /&gt;
   and owner = 'SYSTEM';&lt;br /&gt;
   IF table_exist &amp;lt;&amp;gt; 0 THEN&lt;br /&gt;
      EXECUTE IMMEDIATE 'drop table alert_log_disk';&lt;br /&gt;
   END IF;&lt;br /&gt;
   EXECUTE IMMEDIATE 'create table alert_log_disk (text varchar2(&amp;amp;&amp;amp;alert_length))&lt;br /&gt;
                         organization external (&lt;br /&gt;
                            type oracle_loader&lt;br /&gt;
                            default directory BDUMP&lt;br /&gt;
                            access parameters (&lt;br /&gt;
                               records delimited by newline nologfile nobadfile&lt;br /&gt;
                               fields terminated by &amp;quot;&amp;amp;&amp;quot; ltrim&lt;br /&gt;
                               )&lt;br /&gt;
                            location(''alert_&amp;amp;_db..log'')&lt;br /&gt;
                            )&lt;br /&gt;
                         reject limit unlimited';&lt;br /&gt;
END;&lt;br /&gt;
/&lt;br /&gt;
&lt;br /&gt;
-- ************************************ update table alert_log from alert_log_disk&lt;br /&gt;
prompt &amp;lt;!-- Remplissage des tables --&amp;gt;&lt;br /&gt;
set serveroutput on &lt;br /&gt;
declare&lt;br /&gt;
  isdate         number := 0;&lt;br /&gt;
  start_updating number := 0;&lt;br /&gt;
  rows_total     number := 0;&lt;br /&gt;
  rows_inserted  number := 0;&lt;br /&gt;
  alert_date     date;&lt;br /&gt;
  max_date       date;&lt;br /&gt;
  alert_text     alert_log_disk.text%type;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
-- find a starting date : last audit&lt;br /&gt;
  select max(to_date(date_aud)) into max_date from system.histaudit&lt;br /&gt;
                where to_date(date_aud) &amp;lt; trunc(sysdate);&lt;br /&gt;
  select count(*) into rows_total from alert_log_disk;&lt;br /&gt;
  &lt;br /&gt;
  if (max_date is null) then&lt;br /&gt;
    max_date := to_date('01-01-1980', 'dd-mm-yyyy');&lt;br /&gt;
  end if;&lt;br /&gt;
  &lt;br /&gt;
  for r in (&lt;br /&gt;
     select text from alert_log_disk&lt;br /&gt;
     where text not like '%offlining%' &lt;br /&gt;
       and text not like 'ARC_:%' &lt;br /&gt;
       and text not like '%LOG_ARCHIVE_DEST_1%'&lt;br /&gt;
       and text not like '%Thread 1 advanced to log sequence%'&lt;br /&gt;
       and text not like '%Current log#%seq#%mem#%'&lt;br /&gt;
       and text not like '%Undo Segment%lined%'&lt;br /&gt;
       and text not like '%alter tablespace%back%'&lt;br /&gt;
       and text not like '%Log actively being archived by another process%'&lt;br /&gt;
       and text not like '%Committing creation of archivelog%'&lt;br /&gt;
       and text not like '%Private_strands%'&lt;br /&gt;
       and trim(text) not like '(&amp;amp;_db)'&lt;br /&gt;
       and text not like '%Created Undo Segment%'&lt;br /&gt;
       and text not like '%started with pid%'&lt;br /&gt;
       and text not like '%ORA-12012%'&lt;br /&gt;
       and text not like '%ORA-06512%'&lt;br /&gt;
       and text not like '%ORA-02097%'&lt;br /&gt;
       and text not like '%ORA-00439%'&lt;br /&gt;
       and text not like '%coalesce%'&lt;br /&gt;
       and text not like '%Beginning log switch checkpoint up to RBA%'&lt;br /&gt;
       and text not like '%Completed checkpoint up to RBA%'&lt;br /&gt;
       and text not like '%specifies an obsolete parameter%'&lt;br /&gt;
       and text not like '%BEGIN BACKUP%'&lt;br /&gt;
       and text not like '%END BACKUP%'&lt;br /&gt;
       and text not like 'ALTER DATABASE BACKUP CONTROLFILE%'&lt;br /&gt;
       and text not like 'ALTER DATABASE backup controlfile%'&lt;br /&gt;
       and text not like 'alter database backup controlfile%'&lt;br /&gt;
       and text not like '%Starting%'&lt;br /&gt;
       and text not like '%autobackup%'&lt;br /&gt;
       and text not like '%handle%'&lt;br /&gt;
  )&lt;br /&gt;
  loop&lt;br /&gt;
&lt;br /&gt;
    isdate     := 0;&lt;br /&gt;
    alert_text := null;&lt;br /&gt;
&lt;br /&gt;
    select count(*) into isdate  &lt;br /&gt;
      from dual&lt;br /&gt;
     where substr(r.text, 21) in&lt;br /&gt;
      (to_char(sysdate, 'YYYY'), to_char(sysdate-365, 'YYYY'))&lt;br /&gt;
       and r.text not like '%cycle_run_year%';&lt;br /&gt;
-- De 21 à 24 ça doit être une année. Si oui c'est une date, sinon, c'est un libellé quelconque.&lt;br /&gt;
    if (isdate = 1) then&lt;br /&gt;
-- prendre à partir du mois (car.5) - forcer NLS en AMERICAN pour eviter les erreurs de conversion ? Tous les alert.log sont en AMERICAN ?&lt;br /&gt;
-- si besoin de prendre le NLS de la base, utiliser la variable &amp;amp;_nlsdate à la place d'AMERICAN&lt;br /&gt;
      select to_date(substr(r.text, 5),'Mon dd hh24:mi:ss rrrr','NLS_DATE_LANGUAGE = AMERICAN')&lt;br /&gt;
        into alert_date &lt;br /&gt;
        from dual;&lt;br /&gt;
  &lt;br /&gt;
      if (alert_date &amp;gt; max_date) then&lt;br /&gt;
        start_updating := 1;&lt;br /&gt;
      end if;&lt;br /&gt;
    else&lt;br /&gt;
      alert_text := r.text;&lt;br /&gt;
    end if;&lt;br /&gt;
  &lt;br /&gt;
    if (alert_text is not null) and (start_updating = 1) then&lt;br /&gt;
      insert into alert_log values (alert_date, substr(alert_text, 1, &amp;amp;&amp;amp;alert_length));&lt;br /&gt;
      rows_inserted := rows_inserted + 1;&lt;br /&gt;
      commit;&lt;br /&gt;
    end if;&lt;br /&gt;
  end loop;&lt;br /&gt;
  &lt;br /&gt;
  commit;&lt;br /&gt;
&lt;br /&gt;
end;&lt;br /&gt;
/&lt;br /&gt;
&lt;br /&gt;
-- ************************************ Affichage des logs&lt;br /&gt;
prompt &amp;lt;!-- Affichage des logs --&amp;gt;&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=2&amp;gt;&lt;br /&gt;
prompt &amp;lt;table border=0 width=100%&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td width=10%&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;img src=&amp;quot;data:image/gif;base64,&lt;br /&gt;
print info&lt;br /&gt;
prompt &amp;quot; width=&amp;quot;20&amp;quot; height=&amp;quot;20&amp;quot; alt=&amp;quot;Info...&amp;quot; title=&amp;quot;Messages d'erreurs depuis le dernier audit. Si des messages sont affich&amp;amp;eacute;s, voir le d&amp;amp;eacute;tail dans le fichier alert&amp;lt;SID&amp;gt;.log, ou la table ALERT_LOG (r&amp;amp;eacute;sum&amp;amp;eacute;), ou la table externe ALERT_LOG_DISK (qui contient tout l'alert.log).&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
prompt &amp;lt;td align=center&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;&amp;amp;_bdump/alert_&amp;amp;_db..log&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td width=20%&amp;gt;&amp;lt;b&amp;gt;Date&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=80%&amp;gt;&amp;lt;b&amp;gt;Texte&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
rem http://www.adp-gmbh.ch/ora/admin/scripts/read_alert_log.html&lt;br /&gt;
rem http://www.adp-gmbh.ch/ora/admin/read_alert/index.html&lt;br /&gt;
rem http://www.dba-oracle.com/t_writing_alert_log_message.htm&lt;br /&gt;
&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',to_char(a.alert_date,'DD/MM/RR HH24:MI'),'&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',a.alert_text,'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;'&lt;br /&gt;
  from alert_log a,&lt;br /&gt;
       (select max(to_date(date_aud)) date_aud from system.histaudit&lt;br /&gt;
                where to_date(date_aud) &amp;lt; trunc(sysdate)) d&lt;br /&gt;
where (alert_text like '%ORA-%'&lt;br /&gt;
  or alert_text like '%Checkpoint not complete%'&lt;br /&gt;
  or alert_text like '%CREATE%' or alert_text like '%DROP%' or alert_text like '%ALTER%')&lt;br /&gt;
  and alert_text not like 'ALTER SYSTEM ARCHIVE LOG'&lt;br /&gt;
  and alert_text not like 'Completed:%'&lt;br /&gt;
  and a.alert_date &amp;gt; d.date_aud&lt;br /&gt;
order by a.alert_date;&lt;br /&gt;
&lt;br /&gt;
DECLARE cnt_obj number := 0;&lt;br /&gt;
BEGIN&lt;br /&gt;
   select count(a.alert_date) into cnt_obj &lt;br /&gt;
   from alert_log a,&lt;br /&gt;
        (select max(to_date(date_aud)) date_aud from system.histaudit&lt;br /&gt;
               where to_date(date_aud) &amp;lt; trunc(sysdate)) d&lt;br /&gt;
   where (alert_text like '%ORA-%'&lt;br /&gt;
     or alert_text like '%Checkpoint not complete%'&lt;br /&gt;
     or alert_text like '%CREATE%' or alert_text like '%DROP%' or alert_text like '%ALTER%')&lt;br /&gt;
     and alert_text not like 'ALTER SYSTEM ARCHIVE LOG'&lt;br /&gt;
     and alert_text not like 'Completed:%'&lt;br /&gt;
     and a.alert_date &amp;gt; d.date_aud;&lt;br /&gt;
&lt;br /&gt;
   if cnt_obj=0  then&lt;br /&gt;
      dbms_output.put_line('&amp;lt;tr&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;');&lt;br /&gt;
   end if;&lt;br /&gt;
end;&lt;br /&gt;
/&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Nettoyage de la table &amp;quot;alert_log&amp;quot;&lt;br /&gt;
prompt &amp;lt;!-- Nettoyage table alert_log --&amp;gt;&lt;br /&gt;
DECLARE&lt;br /&gt;
   table_exist number;&lt;br /&gt;
BEGIN&lt;br /&gt;
   select count(table_name) into table_exist from dba_tables&lt;br /&gt;
   where table_name='ALERT_LOG'&lt;br /&gt;
   and owner = 'SYSTEM';&lt;br /&gt;
   EXECUTE IMMEDIATE 'truncate table alert_log';&lt;br /&gt;
END;&lt;br /&gt;
/&lt;br /&gt;
&lt;br /&gt;
-- ****************** SECTION SCHEMAS - INFORMATIONS GLOBALES *************************&lt;br /&gt;
prompt &amp;lt;hr&amp;gt;&lt;br /&gt;
prompt &amp;lt;div align=center&amp;gt;&amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;SECTION SCHEMAS&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
prompt &amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Objets invalides&lt;br /&gt;
prompt &amp;lt;!-- Objets invalides --&amp;gt;&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=4&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Objets invalides&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Propri&amp;amp;eacute;taire&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Objet&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Type&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Statut&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',OWNER,'&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',object_name,'&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',object_type,'&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',status,'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;' from dba_objects where status &amp;lt;&amp;gt; 'VALID' and object_name not like 'BIN$%';&lt;br /&gt;
&lt;br /&gt;
DECLARE cnt_obj number := 0;&lt;br /&gt;
BEGIN&lt;br /&gt;
   select count(object_name) into cnt_obj from dba_objects&lt;br /&gt;
   where status &amp;lt;&amp;gt; 'VALID'&lt;br /&gt;
   and rownum = 1;&lt;br /&gt;
   if cnt_obj=0 then&lt;br /&gt;
      dbms_output.put_line('&amp;lt;tr&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;');&lt;br /&gt;
   end if;&lt;br /&gt;
end;&lt;br /&gt;
/&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Objets en erreur&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=2&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Erreurs sur les objets utilisateurs (dba_errors)&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Objet, num&amp;amp;eacute;ro et texte de la ligne&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Erreur&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
with err as (&lt;br /&gt;
   select distinct owner, name, type, line, position, sequence, substr(TRIM(text),0,240) as text&lt;br /&gt;
   from&lt;br /&gt;
      dba_errors&lt;br /&gt;
   where sequence=1&lt;br /&gt;
)&lt;br /&gt;
SELECT decode(n,-1,'&amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',''),text&lt;br /&gt;
  from (&lt;br /&gt;
      select sequence n, owner,name, type,line, (position-1)||'&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;'||text||'&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;' text -- Num erreur PL/SQL&lt;br /&gt;
        from err&lt;br /&gt;
      union all&lt;br /&gt;
      select distinct -1 n, owner, name, type, line, '&amp;lt;b&amp;gt;'||type||' '||owner||'.'||name||' line '||line||'&amp;lt;/b&amp;gt;&amp;lt;br/&amp;gt;' --Num ligne&lt;br /&gt;
        from err&lt;br /&gt;
      union all&lt;br /&gt;
      select 0 n, owner, name, type, line, '&amp;quot;'||substr(TRIM(text),0,240)||'&amp;quot; : pos. ' -- code PL/SQL&lt;br /&gt;
        from dba_source&lt;br /&gt;
      where (owner,name,type,line) in (select owner, name, type, line from err)&lt;br /&gt;
      order by owner,name, type,line, n&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
DECLARE cnt_err number := 0;&lt;br /&gt;
BEGIN&lt;br /&gt;
with err as (&lt;br /&gt;
   select distinct owner, name, type, line, position, sequence, substr(TRIM(text),0,240) as text&lt;br /&gt;
   from&lt;br /&gt;
      dba_errors&lt;br /&gt;
   where sequence=1&lt;br /&gt;
)&lt;br /&gt;
SELECT count(n) into cnt_err&lt;br /&gt;
  from (&lt;br /&gt;
      select sequence n, owner,name, type,line, (position-1)||'&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;'||text||'&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;' text -- Num erreur PL/SQL&lt;br /&gt;
        from err&lt;br /&gt;
      union all&lt;br /&gt;
      select distinct -1 n, owner, name, type, line, '&amp;lt;b&amp;gt;'||type||' '||owner||'.'||name||' line '||line||'&amp;lt;/b&amp;gt;&amp;lt;br/&amp;gt;' --Num ligne&lt;br /&gt;
        from err&lt;br /&gt;
      union all&lt;br /&gt;
      select 0 n, owner, name, type, line, '&amp;quot;'||substr(TRIM(text),0,240)||'&amp;quot;&amp;amp;nbsp;:&amp;amp;nbsp;' -- code PL/SQL&lt;br /&gt;
        from dba_source&lt;br /&gt;
      where (owner,name,type,line) in (select owner, name, type, line from err)&lt;br /&gt;
);&lt;br /&gt;
   if cnt_err=0 then&lt;br /&gt;
      dbms_output.put_line('&amp;lt;tr&amp;gt;&amp;lt;td bgcolor=LIGHTGREY colspan=2&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;');&lt;br /&gt;
   end if;&lt;br /&gt;
end;&lt;br /&gt;
/&lt;br /&gt;
&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Indexes UNUSABLE&lt;br /&gt;
prompt &amp;lt;!-- Indexes unusable --&amp;gt;&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=3&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Indexes UNUSABLE&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Propri&amp;amp;eacute;taire&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Index&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Statut&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',OWNER,'&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',index_name,'&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',status,'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;' from dba_indexes where status not in ('VALID','N/A');&lt;br /&gt;
&lt;br /&gt;
DECLARE cnt_obj number := 0;&lt;br /&gt;
BEGIN&lt;br /&gt;
   select count(index_name) into cnt_obj from dba_indexes&lt;br /&gt;
   where status not in ('VALID','N/A')&lt;br /&gt;
   and rownum = 1;&lt;br /&gt;
   if cnt_obj=0 then&lt;br /&gt;
      dbms_output.put_line('&amp;lt;tr&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;');&lt;br /&gt;
   end if;&lt;br /&gt;
end;&lt;br /&gt;
/&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Liste des segments de plus de 100M&lt;br /&gt;
prompt &amp;lt;!-- Segments de plus de 100M --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=4&amp;gt;&lt;br /&gt;
prompt &amp;lt;table border=0 width=100%&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td width=10%&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;img src=&amp;quot;data:image/gif;base64,&lt;br /&gt;
print info&lt;br /&gt;
prompt &amp;quot; width=&amp;quot;20&amp;quot; height=&amp;quot;20&amp;quot; alt=&amp;quot;Info...&amp;quot; title=&amp;quot;L'espace utilis&amp;amp;eacute; correspond aux blocs allou&amp;amp;eacute;s au segment, qu'ils soient vides (pr&amp;amp;eacute;allocation de blocs ou suppressions de donn&amp;amp;eacute;es) ou remplis.&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
prompt &amp;lt;td align=center&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Liste des segments de plus de 100Mo&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Propri&amp;amp;eacute;taire&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Segment&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Type&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Taille&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',owner,'&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',segment_name,'&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',segment_type,'&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',to_char(round(bytes/(1024*1024),0),'99G999G990'),' Mo&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from dba_segments&lt;br /&gt;
where (segment_type like 'TABLE%' OR segment_type like 'INDEX%' OR segment_type like 'LOB%')&lt;br /&gt;
and bytes/1024/1024 &amp;gt;100 &lt;br /&gt;
and owner not in &amp;amp;sysusers and owner not in &amp;amp;exusers&lt;br /&gt;
order by bytes desc;&lt;br /&gt;
&lt;br /&gt;
DECLARE cnt_obj number := 0;&lt;br /&gt;
BEGIN&lt;br /&gt;
   select count(segment_name) into cnt_obj from dba_segments&lt;br /&gt;
   where (segment_type like 'TABLE%' OR segment_type like 'INDEX%' OR segment_type like 'LOB%')&lt;br /&gt;
   and bytes/1024/1024 &amp;gt;100 &lt;br /&gt;
   and owner not in &amp;amp;sysusers and owner not in &amp;amp;exusers&lt;br /&gt;
   and rownum = 1;&lt;br /&gt;
&lt;br /&gt;
   if cnt_obj=0 then&lt;br /&gt;
      dbms_output.put_line('&amp;lt;tr&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;');&lt;br /&gt;
   end if;&lt;br /&gt;
end;&lt;br /&gt;
/&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- utilisateurs et tablespaces par defaut&lt;br /&gt;
-- **************************************&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=3&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;utilisateurs et tablespaces par d&amp;amp;eacute;faut&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Utilisateurs&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Tablespace par d&amp;amp;eacute;faut&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Tablespace temporaire&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',username,'&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',default_tablespace,'&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',temporary_tablespace,'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from dba_users&lt;br /&gt;
order by username;&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-- Liste des utilisateurs systemes non listes dans les variables sysusers et exusers&lt;br /&gt;
-- ********************************&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=2&amp;gt;&lt;br /&gt;
prompt &amp;lt;table border=0 width=100%&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td width=10%&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;img src=&amp;quot;data:image/gif;base64,&lt;br /&gt;
print info&lt;br /&gt;
prompt &amp;quot; width=&amp;quot;20&amp;quot; height=&amp;quot;20&amp;quot; alt=&amp;quot;Info...&amp;quot; title=&amp;quot;Les variables sysusers et exusers listent les utilisateurs syst&amp;amp;egrave;mes Oracle, afin de les &amp;amp;eacute;liminer des requ&amp;amp;ecirc;tes qui ne doivent prendre en compte que les sch&amp;amp;eacute;mas applicatifs. Ici sont list&amp;amp;eacute;s pour information les utilisateurs qui ne sont pas inclus dans ces variables, afin de rep&amp;amp;eacute;rer ceux qui devraient y &amp;amp;ecirc;tre ajout&amp;amp;eacute;s.&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
prompt &amp;lt;td align=center&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Information : Liste des utilisateurs non syst&amp;amp;egrave;mes&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Utilisateur&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',username,'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from dba_users&lt;br /&gt;
where username not in &amp;amp;sysusers and username not in &amp;amp;exusers;&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Utilisateurs ayant des objets dans le tablespace SYSTEM&lt;br /&gt;
prompt &amp;lt;!-- Segments utilisateurs dans le tablespace SYSTEM --&amp;gt;&lt;br /&gt;
-- Tables&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=3&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Utilisateurs ayant des objets dans le tablespace SYSTEM&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Propri&amp;amp;eacute;taire&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Type&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Segment&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',owner,'&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;Tables&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',count(*),'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;' TOTAL from dba_tables&lt;br /&gt;
	where tablespace_name = 'SYSTEM'&lt;br /&gt;
	and owner not in &amp;amp;sysusers and owner not in &amp;amp;exusers&lt;br /&gt;
	group by owner;&lt;br /&gt;
-- Indexes&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',owner,'&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;Indexes&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',count(*),'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;' TOTAL from dba_indexes&lt;br /&gt;
	where tablespace_name = 'SYSTEM'&lt;br /&gt;
	and owner not in &amp;amp;sysusers and owner not in &amp;amp;exusers&lt;br /&gt;
	group by owner;&lt;br /&gt;
&lt;br /&gt;
DECLARE&lt;br /&gt;
    cnt_obj_t number := 0;&lt;br /&gt;
    cnt_obj_i number := 0;&lt;br /&gt;
BEGIN&lt;br /&gt;
   select count(*) into cnt_obj_t from dba_tables&lt;br /&gt;
	where tablespace_name = 'SYSTEM'&lt;br /&gt;
	and owner not in &amp;amp;sysusers and owner not in &amp;amp;exusers&lt;br /&gt;
        and rownum = 1;&lt;br /&gt;
   select count(*) into cnt_obj_i from dba_indexes&lt;br /&gt;
	where tablespace_name = 'SYSTEM'&lt;br /&gt;
	and owner not in &amp;amp;sysusers and owner not in &amp;amp;exusers&lt;br /&gt;
        and rownum = 1;&lt;br /&gt;
   if cnt_obj_t=0 and cnt_obj_i=0 then&lt;br /&gt;
      dbms_output.put_line('&amp;lt;tr&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;');&lt;br /&gt;
   end if;&lt;br /&gt;
end;&lt;br /&gt;
/&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- *************************************** Tables et index dans le meme tablespace&lt;br /&gt;
prompt &amp;lt;!-- Tables et index dans le meme tablespace --&amp;gt;&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=3&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Tables et indexes dans le m&amp;amp;ecirc;me tablespace&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Propri&amp;amp;eacute;taire&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Tablespace&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=15%&amp;gt;&amp;lt;b&amp;gt;Nombre d'objets&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',a.owner,'&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',a.tablespace_name,'&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',count(a.table_name),'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from dba_tables a, dba_indexes b&lt;br /&gt;
where a.tablespace_name=b.tablespace_name&lt;br /&gt;
and a.table_name=b.table_name&lt;br /&gt;
and a.owner=b.owner&lt;br /&gt;
and a.owner not in &amp;amp;sysusers and a.owner not in &amp;amp;exusers&lt;br /&gt;
group by a.owner,a.tablespace_name&lt;br /&gt;
order by a.owner,a.tablespace_name;&lt;br /&gt;
&lt;br /&gt;
DECLARE cnt_obj number := 0;&lt;br /&gt;
BEGIN&lt;br /&gt;
   select count(b.index_name) into cnt_obj from dba_tables a, dba_indexes b&lt;br /&gt;
      where a.tablespace_name=b.tablespace_name&lt;br /&gt;
      and a.table_name=b.table_name&lt;br /&gt;
      and a.owner=b.owner&lt;br /&gt;
      and a.owner not in &amp;amp;sysusers and a.owner not in &amp;amp;exusers&lt;br /&gt;
      and rownum = 1;&lt;br /&gt;
   if cnt_obj=0  then&lt;br /&gt;
      dbms_output.put_line('&amp;lt;tr&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;');&lt;br /&gt;
   end if;&lt;br /&gt;
end;&lt;br /&gt;
/&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- Roles par utilisateurs non systemes&lt;br /&gt;
-- ***********************************&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=2&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;R&amp;amp;ocirc;les par utilisateur (non syst&amp;amp;egrave;mes)&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Utilisateurs&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;R&amp;amp;ocirc;les&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',username,'&amp;lt;/td&amp;gt;', decode(granted_role,NULL,'&amp;lt;td bgcolor=&amp;quot;LIGHTGREY&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;'||granted_role||'&amp;lt;/td&amp;gt;'),'&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from dba_users, dba_role_privs&lt;br /&gt;
where username not in &amp;amp;sysusers and username not in &amp;amp;exusers&lt;br /&gt;
and username=grantee(+)&lt;br /&gt;
order by 1,2;&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- Liste des schemas vides (aucun objets)&lt;br /&gt;
-- *************************************&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Liste des sch&amp;amp;eacute;mas vides (aucun objet)&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Sch&amp;amp;eacute;mas vides&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',username,'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;' from dba_users&lt;br /&gt;
where username not in (select owner from dba_segments)&lt;br /&gt;
and username not in &amp;amp;sysusers and username not in &amp;amp;exusers;&lt;br /&gt;
&lt;br /&gt;
DECLARE cnt_sch number;&lt;br /&gt;
BEGIN&lt;br /&gt;
   select count(username) into cnt_sch from dba_users&lt;br /&gt;
   where username not in (select owner from dba_segments)&lt;br /&gt;
and username not in &amp;amp;sysusers and username not in &amp;amp;exusers;&lt;br /&gt;
   if cnt_sch=0 then&lt;br /&gt;
      dbms_output.put_line('&amp;lt;tr&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;');&lt;br /&gt;
   end if;&lt;br /&gt;
end;&lt;br /&gt;
/&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- Nombres d'objets par schemas (hors schemas systemes)&lt;br /&gt;
-- ***************************************************&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=5&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Nombre d'objets par sch&amp;amp;eacute;ma (non syst&amp;amp;egrave;mes)&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Utilisateur&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Total&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Tables&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Indexes&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Autres&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',t.owner,'&amp;lt;/td&amp;gt;',&lt;br /&gt;
'&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',to_char(decode(t.total,NULL,0,t.total),'99G999G990'),'&amp;lt;/td&amp;gt;',&lt;br /&gt;
'&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',to_char(decode(a.tables,NULL,0,a.tables),'99G999G990'),'&amp;lt;/td&amp;gt;',&lt;br /&gt;
'&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',to_char(decode(i.indexes,NULL,0,i.indexes),'99G999G990'),'&amp;lt;/td&amp;gt;',&lt;br /&gt;
'&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',to_char(decode(o.autres,NULL,0,o.autres),'99G999G990'),'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from  (select owner, count(*) total&lt;br /&gt;
      from dba_segments&lt;br /&gt;
      where owner not in &amp;amp;sysusers and owner not in &amp;amp;exusers&lt;br /&gt;
      group by owner) t,&lt;br /&gt;
     (select owner, count(*) tables&lt;br /&gt;
      from dba_segments&lt;br /&gt;
      where owner not in &amp;amp;sysusers and owner not in &amp;amp;exusers&lt;br /&gt;
      and segment_type='TABLE'&lt;br /&gt;
      group by owner) a,&lt;br /&gt;
     (select owner, count(*) indexes&lt;br /&gt;
      from dba_segments&lt;br /&gt;
      where owner not in &amp;amp;sysusers and owner not in &amp;amp;exusers&lt;br /&gt;
      and segment_type='INDEX'&lt;br /&gt;
      group by owner) i,&lt;br /&gt;
     (select owner, count(*) autres&lt;br /&gt;
      from dba_segments&lt;br /&gt;
      where owner not in &amp;amp;sysusers and owner not in &amp;amp;exusers&lt;br /&gt;
      and segment_type not in ('TABLE','INDEX')&lt;br /&gt;
      group by owner) o&lt;br /&gt;
where t.owner=a.owner(+) and t.owner=i.owner(+) and t.owner=o.owner(+);&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- Taille utilisee par les schemas (hors schemas systemes)&lt;br /&gt;
-- *******************************************************&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=5&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Taille utilis&amp;amp;eacute;e par les sch&amp;amp;eacute;mas (non syst&amp;amp;egrave;mes)&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Utilisateur&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Total (Mo)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Tables (Mo)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Indexes (Mo)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Autres (Mo)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',t.owner,'&amp;lt;/td&amp;gt;',&lt;br /&gt;
'&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',to_char(decode(t.total,NULL,0,t.total),'99G999G990D00'),'&amp;lt;/td&amp;gt;',&lt;br /&gt;
'&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',to_char(decode(a.tables,NULL,0,a.tables),'99G999G990D00'),'&amp;lt;/td&amp;gt;',&lt;br /&gt;
'&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',to_char(decode(i.indexes,NULL,0,i.indexes),'99G999G990D00'),'&amp;lt;/td&amp;gt;',&lt;br /&gt;
'&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot; align=right&amp;gt;',to_char(decode(o.autres,NULL,0,o.autres),'99G999G990D00'),'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from  (select owner, round(sum(bytes)/(1024*1024),2) total&lt;br /&gt;
      from dba_segments&lt;br /&gt;
      where owner not in &amp;amp;sysusers and owner not in &amp;amp;exusers&lt;br /&gt;
      group by owner) t,&lt;br /&gt;
     (select owner, round(sum(bytes)/(1024*1024),2) tables&lt;br /&gt;
      from dba_segments&lt;br /&gt;
      where owner not in &amp;amp;sysusers and owner not in &amp;amp;exusers&lt;br /&gt;
      and segment_type='TABLE'&lt;br /&gt;
      group by owner) a,&lt;br /&gt;
     (select owner, round(sum(bytes)/(1024*1024),2) indexes&lt;br /&gt;
      from dba_segments&lt;br /&gt;
      where owner not in &amp;amp;sysusers and owner not in &amp;amp;exusers&lt;br /&gt;
      and segment_type='INDEX'&lt;br /&gt;
      group by owner) i,&lt;br /&gt;
     (select owner, round(sum(bytes)/(1024*1024),2) autres&lt;br /&gt;
      from dba_segments&lt;br /&gt;
      where owner not in &amp;amp;sysusers and owner not in &amp;amp;exusers&lt;br /&gt;
      and segment_type not in ('TABLE','INDEX')&lt;br /&gt;
      group by owner) o&lt;br /&gt;
where t.owner=a.owner(+) and t.owner=i.owner(+) and t.owner=o.owner(+);&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- Liste des liens de bases de donn&amp;amp;eacute;es&lt;br /&gt;
-- ***********************************&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=5&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Liste des liens de bases de donn&amp;amp;eacute;es&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Utilisateur&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;DB Link&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Utilisateur distant&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Serveur&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',owner,'&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',DB_LINK,'&amp;lt;/td&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',USERNAME,'&amp;lt;/td&amp;gt;',&lt;br /&gt;
       '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',HOST,'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from dba_db_links&lt;br /&gt;
order by OWNER,DB_LINK;&lt;br /&gt;
&lt;br /&gt;
DECLARE cnt_dbl number;&lt;br /&gt;
BEGIN&lt;br /&gt;
   select count(owner) into cnt_dbl from dba_db_links;&lt;br /&gt;
   if cnt_dbl=0 then&lt;br /&gt;
      dbms_output.put_line('&amp;lt;tr&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;');&lt;br /&gt;
   end if;&lt;br /&gt;
end;&lt;br /&gt;
/&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- Liste des synonymes non systemes&lt;br /&gt;
-- ********************************&lt;br /&gt;
set define off&lt;br /&gt;
prompt &amp;lt;table border=1 width=100% bgcolor=&amp;quot;WHITE&amp;quot;&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td bgcolor=&amp;quot;#3399CC&amp;quot; align=center colspan=5&amp;gt;&amp;lt;font color=&amp;quot;WHITE&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Liste des synonymes (non syst&amp;amp;egrave;mes)&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Utilisateur&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Synonyme&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Propri&amp;amp;eacute;taire&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Objet cible&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
prompt &lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
select '&amp;lt;tr&amp;gt;','&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',owner,'&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',synonym_name,'&amp;lt;/td&amp;gt;', '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',table_owner,'&amp;lt;/td&amp;gt;',&lt;br /&gt;
       '&amp;lt;td bgcolor=&amp;quot;LIGHTBLUE&amp;quot;&amp;gt;',table_name,'&amp;lt;/td&amp;gt;','&amp;lt;/tr&amp;gt;'&lt;br /&gt;
from dba_synonyms&lt;br /&gt;
where table_owner not in &amp;amp;sysusers and table_owner not in &amp;amp;exusers;&lt;br /&gt;
&lt;br /&gt;
DECLARE cnt_syn number;&lt;br /&gt;
BEGIN&lt;br /&gt;
   select count(owner) into cnt_syn from dba_synonyms&lt;br /&gt;
where table_owner not in &amp;amp;sysusers and table_owner not in &amp;amp;exusers;&lt;br /&gt;
   if cnt_syn=0 then&lt;br /&gt;
      dbms_output.put_line('&amp;lt;tr&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=LIGHTGREY&amp;gt;&amp;lt;img src=&amp;quot;data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&amp;quot; width=20&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;');&lt;br /&gt;
   end if;&lt;br /&gt;
end;&lt;br /&gt;
/&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/table&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
prompt &amp;lt;/body&amp;gt;&lt;br /&gt;
prompt &amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
spool off&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Seafile_:_installation_sur_CentOS&amp;diff=6633</id>
		<title>Seafile : installation sur CentOS</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Seafile_:_installation_sur_CentOS&amp;diff=6633"/>
				<updated>2018-09-08T15:30:12Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Systèmes SYSTEMD (CentOS &amp;gt;= 7) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installation ==&lt;br /&gt;
Update 08/2018 : procédure revue pour CentOS7 et Seafile 6.3.2 (particularité : Seahub n'utilise plus fastcgi).&lt;br /&gt;
&lt;br /&gt;
Installer les pré-requis :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
yum install python-setuptools python-simplejson python-imaging MySQL-python httpd mod_ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vérifier la dernière version serveur sur https://www.seafile.com/en/download/&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd install/&lt;br /&gt;
 wget https://download.seadrive.org/seafile-server_[ dernière version de Seafile ]_x86-64.tar.gz # ou ....i386.tar.gz sur système 32 bits&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Créer un répertoire seafile dans /home:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd /home&lt;br /&gt;
 mkdir seafile&lt;br /&gt;
 cd seafile&lt;br /&gt;
 tar -xvzf /root/install/seafile-server_[ version seafile ]_*.tar.gz&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
L'archive crée un sous-répertoire avec la version en cours. Lors d'une mise à jour, la précédente version ne sera donc pas écrasée.&lt;br /&gt;
&lt;br /&gt;
Lancer l'installation (qui créera les bases de données) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd seafile-server-[ version seafile ]&lt;br /&gt;
 ./setup-seafile-mysql.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Nommer le server (nom affiché sur les clients, sans espaces)&lt;br /&gt;
* donner l'IP du serveur&lt;br /&gt;
* laisser le port ccnet, le chemin des données et les ports seafile par défaut&lt;br /&gt;
* donner un mail pour l'administrateur (mail existant si possible, qui servira à se connecter à l'interface) et un mot de passe&lt;br /&gt;
* Choisir &amp;quot;1&amp;quot; pour créer les bases&lt;br /&gt;
* donner les paramètres MySQL&lt;br /&gt;
* demander la création d'un utilisateur seafile&lt;br /&gt;
* laisser les noms de bases par défaut&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
On peut alors tester Seafile directement :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 sudo su - seafile # au cas où on s'est connecté &amp;quot;root&amp;quot; auparavant&lt;br /&gt;
 ./seafile.sh start&lt;br /&gt;
 ./seahub.sh start&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
NOTE : IL EST IMPORTANT de lancer &amp;quot;seahub.sh start&amp;quot; AU MOINS UNE FOIS en ligne de commande, car cette première fois demande la mail (donc le login) et le mot de passe de l'utilisateur admin de Seafile !&lt;br /&gt;
&lt;br /&gt;
Se connecter à l'interface par &amp;lt;nowiki&amp;gt;http://IP_DU_SERVEUR:8000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
Editer le fichier /home/seafile/conf/seafile.conf&lt;br /&gt;
 [fileserver]&lt;br /&gt;
 port = 8082&lt;br /&gt;
 &lt;br /&gt;
 [database]&lt;br /&gt;
 type = mysql&lt;br /&gt;
 host = 127.0.0.1&lt;br /&gt;
 port = 3306&lt;br /&gt;
 user = seafile&lt;br /&gt;
 password = PwdMySQLseafile&lt;br /&gt;
 db_name = seafile-db&lt;br /&gt;
 connection_charset = utf8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Editer le fichier /home/seafile/conf/seahub_settings.py :&lt;br /&gt;
 # -*- coding: utf-8 -*-&lt;br /&gt;
 SECRET_KEY = &amp;quot;d56a6cbc-751c-dc66-9fdb-45f4492f5abda7d3&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 DATABASES = {&lt;br /&gt;
     'default': {&lt;br /&gt;
         'ENGINE': 'django.db.backends.mysql',&lt;br /&gt;
         'NAME': 'seahub-db',&lt;br /&gt;
         'USER': 'seafile',&lt;br /&gt;
         'PASSWORD': 'PwdSeafile',&lt;br /&gt;
         'HOST': '127.0.0.1',&lt;br /&gt;
         'PORT': '3306',&lt;br /&gt;
         'OPTIONS': {&lt;br /&gt;
             'init_command': 'SET '''default_storage_engine'''=INNODB',&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 FILE_SERVER_ROOT = 'https://seafile.domain.fr/seafhttp'&lt;br /&gt;
 &lt;br /&gt;
 EMAIL_USE_TLS = False&lt;br /&gt;
 EMAIL_HOST = 'localhost'        # smpt server&lt;br /&gt;
 EMAIL_HOST_USER = ''    # username and domain&lt;br /&gt;
 EMAIL_HOST_PASSWORD = ''    # password&lt;br /&gt;
 EMAIL_PORT = '25'&lt;br /&gt;
 DEFAULT_FROM_EMAIL = 'postmaster@domain.fr' # parce que EMAIL_HOST_USER est vide ci-dessus, sinon on peut reprendre cette variable.&lt;br /&gt;
 SERVER_EMAIL = 'postmaster@domain.fr'&lt;br /&gt;
&lt;br /&gt;
Attention au &amp;quot;default_storage_engine&amp;quot; (plutôt que &amp;quot;storage_engine&amp;quot;) à partir de la version 5 de Seafile !&lt;br /&gt;
&lt;br /&gt;
== Lancement automatique ==&lt;br /&gt;
https://github.com/haiwen/seafile/wiki/Start-seafile-server-at-system-bootup&lt;br /&gt;
&lt;br /&gt;
D'abord, arrêter Seafile !&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd seafile-server-latest&lt;br /&gt;
 ./seafile.sh stop&lt;br /&gt;
 ./seahub.sh stop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Créer un utilisateur seafile, dont le homedir sera le répertoire seafile :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 adduser -c &amp;quot;Seafile user&amp;quot; -d /home/seafile seafile&lt;br /&gt;
 chown -R seafile:seafile /home/seafile&lt;br /&gt;
 chmod 750 /home/seafile&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT''' : vérifier l'appartenance de l'arborescence /home/seafile pour qu'il n'y ait pas de problèmes de droits !&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 chown -R seafile:seafile /home/seafile&lt;br /&gt;
 chmod 750 /home/seafile&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Créer /etc/systemd/system/seafile.service&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Seafile&lt;br /&gt;
# add mysql.service or postgresql.service depending on your database to the line below&lt;br /&gt;
After=network.target mysql.service&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
ExecStart=/home/seafile/seafile-server-latest/seafile.sh start&lt;br /&gt;
ExecStop=/home/seafile/seafile-server-latest/seafile.sh stop&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
User=seafile&lt;br /&gt;
Group=seafile&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
et /etc/systemd/system/seahub.service&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Seafile hub&lt;br /&gt;
After=network.target seafile.service&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
# change start to start-fastcgi if you want to run fastcgi&lt;br /&gt;
ExecStart=/home/seafile//seafile-server-latest/seahub.sh start-fastcgi&lt;br /&gt;
ExecStop=/home/seafile/seafile-server-latest/seahub.sh stop&lt;br /&gt;
User=seafile&lt;br /&gt;
Group=seafile&lt;br /&gt;
Type=oneshot&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Activer et lancer les 2 services&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl enable seafile&lt;br /&gt;
systemctl enable seahub&lt;br /&gt;
systemctl start seafile&lt;br /&gt;
systemctl start seahub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ARCHIVES&lt;br /&gt;
== Plusieurs versions de Python ==&lt;br /&gt;
Si, après l'installation de Seafile avec Python 2.6, une version 2.7 est installée sur le serveur, par défaut c'est cette dernière qui sera utilisée (les scripts de lancement de Seafile et Seahub recherchent les binaires Python et s'arrêtent sur la 2.7).&lt;br /&gt;
&lt;br /&gt;
Mais les modules nécessaires à Seafile ont été installés sur la version 2.6, la 2.7 ne les voit pas, Seafile ne démarre pas (dans les logs, erreurs du type :&lt;br /&gt;
&amp;quot;ImportError: No module named simplejson&amp;quot; ou ImportError: No module named MySQL-python&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Si (comme c'est le cas sur CentOS6 où la version 2.7 n'est pas dans les dépôts, et doit être installée manuellement) les modules nécessaires ne sont pas facilement installables sur la 2.7, il faut forcer la 2.6.&lt;br /&gt;
&lt;br /&gt;
Pour ça, on initialise la variable PYTHON qui, si elle n'est pas vide, empêche les scripts Seafile de chercher plus loin.&lt;br /&gt;
&lt;br /&gt;
Créer /home/seafile/.bash_profile avec :&lt;br /&gt;
 PYTHON=/usr/bin/python2.6 # le chemin de l'exécutable qu'on souhaite&lt;br /&gt;
 export PYTHON&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 chown seafile.seafile /home/seafile/.bash_profile&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Les scripts ne devraient plus chercher Python et démarrer sans problème.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Connexion seahub par Apache ==&lt;br /&gt;
Depuis la version 6.3.2, Seafile n'utilise plus fastcgi. On utilise Apache en proxy simple. On ne détaillera ici que la configuration SSL.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ARCHIVES&lt;br /&gt;
Pour la liaison entre Apache et Seafile, on utilisera Fastcgi. Sur CentOS, à installer des dépôts RPMForge (voir [[Dépôts complémentaires]]) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  yum install --enablerepo=rpmforge mod_fastcgi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Editer /etc/httpd/conf.d/fastcgi.conf, modifier :&lt;br /&gt;
  FastCgiWrapper Off&lt;br /&gt;
et ajouter à la fin :&lt;br /&gt;
  &amp;lt;IfModule mod_fastcgi.c&amp;gt;&lt;br /&gt;
      FastCGIExternalServer /var/www/seahub.fcgi -host 127.0.0.1:8000 &lt;br /&gt;
  &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
'''NOTE : le fichier /var/www/seahub.fcgi n'a pas besoin d'exister, ce n'est qu'un &amp;quot;wrapper&amp;quot; (voir ci-dessous)'''&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Créer un fichier /etc/httpd/conf.d/seafile.conf :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
    ServerName seafile.domain.fr&lt;br /&gt;
    DocumentRoot /var/www&lt;br /&gt;
    Alias /media /home/seafile/seafile-server-latest/seahub/media/           &lt;br /&gt;
    RewriteEngine On&lt;br /&gt;
    &lt;br /&gt;
    # seafile httpserver&lt;br /&gt;
    #&lt;br /&gt;
    ProxyPass /seafhttp http://127.0.0.1:8082&lt;br /&gt;
    ProxyPassReverse /seafhttp http://127.0.0.1:8082&lt;br /&gt;
    RewriteRule ^/seafhttp - [QSA,L]&lt;br /&gt;
  &lt;br /&gt;
    #&lt;br /&gt;
    # seahub&lt;br /&gt;
    #&lt;br /&gt;
    RewriteRule ^/(media.*)$ /$1 [QSA,L,PT]&lt;br /&gt;
    RewriteCond %{REQUEST_FILENAME} !-f&lt;br /&gt;
    RewriteRule ^(.*)$ /seahub.fcgi$1 [QSA,L,E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]&lt;br /&gt;
    &lt;br /&gt;
    # add ssl protocol&lt;br /&gt;
    SSLEngine On&lt;br /&gt;
    SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire&lt;br /&gt;
    SSLCertificateFile    /etc/ssl/seafile.crt&lt;br /&gt;
    SSLCertificateKeyFile /etc/ssl/seafile.key&lt;br /&gt;
&amp;lt;/virtualhost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ARCHIVE&lt;br /&gt;
'''NOTE : le DocumentRoot doit correspondre au chemin du &amp;quot;wrapper&amp;quot; seahub.fcgi paramétré plus haut !'''&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Dans /home/seafile, éditer ccnet/ccnet.conf, modifier SERVICE_URL par l'URL externe de Seafile (ce paramètre sera utilisé pour construire notamment les liens qui pourraient être envoyés par mail) :&lt;br /&gt;
  SERVICE_URL = https://seafile.domain.fr&lt;br /&gt;
Editer seahub_settings.py, ajouter :&lt;br /&gt;
  HTTP_SERVER_ROOT = 'https://seafile.domain.fr/seafhttp'&lt;br /&gt;
&amp;quot;HTTP_SERVER_ROOT&amp;quot; peut être aussi &amp;quot;FILE_SERVER_ROOT&amp;quot;, indifféremment.&lt;br /&gt;
&lt;br /&gt;
Générer des certificats (ou utiliser Let'sEncrypt !) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  openssl genrsa -out privkey.pem 2048&lt;br /&gt;
  openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Copier et renommer les fichiers générés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  mv cacert.pem /etc/ssl/seafile.crt&lt;br /&gt;
  mv privkey.pem /etc/ssl/seafile.key&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Si nécessaire, faire une redirection du site HTTP vers HTTPS. A la racine du site HTTP (port 80, qui doit être différente de la racine du site HTTPS), créer un fichier .htaccess :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RewriteEngine On&lt;br /&gt;
RewriteCond %{HTTPS} off&lt;br /&gt;
RewriteRule ^(.*)$ https://seafile.domain.fr/$1 [L,R=301]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/httpd/conf/httpd.conf : s'assurer que la directive &amp;quot;AllowOverride&amp;quot; du site par défaut (sous &amp;lt;Directory /var/www/html&amp;gt;) est à &amp;quot;All&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Supprimer /etc/httpd/conf.d/welcome.conf pour ne pas tomber sur la page de test en cas d'erreur.&lt;br /&gt;
&lt;br /&gt;
Reste à relancer apache&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  systemctl restart httpd&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''NOTE : Vérifier qu'Apache écoute sur le port 443 ! Décommenter &amp;quot;Listen 443&amp;quot; dans /etc/httpd/conf.d/ssl.conf.'''&lt;br /&gt;
&lt;br /&gt;
== Connexion seahub par NGINX ==&lt;br /&gt;
&amp;lt;!-- ARCHIVES&lt;br /&gt;
La configuration nginx (https via fastcgi) est enregistrée dans un fichier, chargé ensuite en &amp;quot;include&amp;quot; dans la configuration de nginx :&lt;br /&gt;
 server {&lt;br /&gt;
     listen 192.168.0.50:443;&lt;br /&gt;
     ssl on;&lt;br /&gt;
     ssl_certificate      /home/seafile/conf/ssl.seafile.domain.fr.pem;&lt;br /&gt;
     ssl_certificate_key  /home/seafile/conf/ssl.seafile.domain.fr.key;&lt;br /&gt;
     server_name  seafile.domain.fr;&lt;br /&gt;
     proxy_set_header X-Forwarded-For $remote_addr;&lt;br /&gt;
 &lt;br /&gt;
     add_header Strict-Transport-Security &amp;quot;max-age=31536000; includeSubdomains&amp;quot;;&lt;br /&gt;
     server_tokens off;&lt;br /&gt;
 &lt;br /&gt;
     location / {&lt;br /&gt;
         fastcgi_pass    127.0.0.1:8000;&lt;br /&gt;
         fastcgi_param   SCRIPT_FILENAME     $document_root$fastcgi_script_name;&lt;br /&gt;
         fastcgi_param   PATH_INFO           $fastcgi_script_name;&lt;br /&gt;
 &lt;br /&gt;
         fastcgi_param   SERVER_PROTOCOL        $server_protocol;&lt;br /&gt;
         fastcgi_param   QUERY_STRING        $query_string;&lt;br /&gt;
         fastcgi_param   REQUEST_METHOD      $request_method;&lt;br /&gt;
         fastcgi_param   CONTENT_TYPE        $content_type;&lt;br /&gt;
         fastcgi_param   CONTENT_LENGTH      $content_length;&lt;br /&gt;
         fastcgi_param   SERVER_ADDR         $server_addr;&lt;br /&gt;
         fastcgi_param   SERVER_PORT         $server_port;&lt;br /&gt;
         fastcgi_param   SERVER_NAME         $server_name;&lt;br /&gt;
         fastcgi_param   HTTPS               on;&lt;br /&gt;
         fastcgi_param   HTTP_SCHEME         https;&lt;br /&gt;
 &lt;br /&gt;
         access_log      /var/log/nginx/seahub.access.log;&lt;br /&gt;
         error_log       /var/log/nginx/seahub.error.log;&lt;br /&gt;
         fastcgi_read_timeout 36000;&lt;br /&gt;
     }&lt;br /&gt;
     location /seafhttp {&lt;br /&gt;
         rewrite ^/seafhttp(.*)$ $1 break;&lt;br /&gt;
         proxy_pass http://127.0.0.1:8082;&lt;br /&gt;
         client_max_body_size 0;&lt;br /&gt;
         proxy_connect_timeout  36000s;&lt;br /&gt;
         proxy_read_timeout  36000s;&lt;br /&gt;
         proxy_send_timeout  36000s;&lt;br /&gt;
         send_timeout  36000s;&lt;br /&gt;
     }&lt;br /&gt;
     location /media {&lt;br /&gt;
         root /home/seafile/seafile-server-latest/seahub;&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Créer /etc/nginx/conf.d/seafile.conf :&lt;br /&gt;
    server {&lt;br /&gt;
        listen 443;&lt;br /&gt;
        ssl on;&lt;br /&gt;
        ssl_certificate /etc/ssl/cacert.pem;        # path to your cacert.pem&lt;br /&gt;
        ssl_certificate_key /etc/ssl/privkey.pem;    # path to your privkey.pem&lt;br /&gt;
        server_name seafile.example.com;&lt;br /&gt;
        ssl_session_timeout 5m;&lt;br /&gt;
        ssl_session_cache shared:SSL:5m;&lt;br /&gt;
 &lt;br /&gt;
        # Diffie-Hellman parameter for DHE ciphersuites, recommended 2048 bits&lt;br /&gt;
        ssl_dhparam /etc/nginx/dhparam.pem;&lt;br /&gt;
 &lt;br /&gt;
        # secure settings (A+ at SSL Labs ssltest at time of writing)&lt;br /&gt;
        # see https://wiki.mozilla.org/Security/Server_Side_TLS#Nginx&lt;br /&gt;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;&lt;br /&gt;
        ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-CAMELLIA256-SHA:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-SEED-SHA:DHE-RSA-CAMELLIA128-SHA:HIGH:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS';&lt;br /&gt;
        ssl_prefer_server_ciphers on;&lt;br /&gt;
 &lt;br /&gt;
        proxy_set_header X-Forwarded-For $remote_addr;&lt;br /&gt;
 &lt;br /&gt;
        add_header Strict-Transport-Security &amp;quot;max-age=31536000; includeSubDomains&amp;quot;;&lt;br /&gt;
        server_tokens off;&lt;br /&gt;
 &lt;br /&gt;
        location / {&lt;br /&gt;
            proxy_pass         http://127.0.0.1:8000;&lt;br /&gt;
            proxy_set_header   Host $host;&lt;br /&gt;
            proxy_set_header   X-Real-IP $remote_addr;&lt;br /&gt;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;&lt;br /&gt;
            proxy_set_header   X-Forwarded-Host $server_name;&lt;br /&gt;
            proxy_set_header   X-Forwarded-Proto https;&lt;br /&gt;
 &lt;br /&gt;
            access_log      /var/log/nginx/seahub.access.log;&lt;br /&gt;
            error_log       /var/log/nginx/seahub.error.log;&lt;br /&gt;
 &lt;br /&gt;
            proxy_read_timeout  1200s;&lt;br /&gt;
 &lt;br /&gt;
            client_max_body_size 0;&lt;br /&gt;
        }&lt;br /&gt;
 &lt;br /&gt;
        location /seafhttp {&lt;br /&gt;
            rewrite ^/seafhttp(.*)$ $1 break;&lt;br /&gt;
            proxy_pass http://127.0.0.1:8082;&lt;br /&gt;
            client_max_body_size 0;&lt;br /&gt;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;&lt;br /&gt;
            proxy_connect_timeout  36000s;&lt;br /&gt;
            proxy_read_timeout  36000s;&lt;br /&gt;
            proxy_send_timeout  36000s;&lt;br /&gt;
            send_timeout  36000s;&lt;br /&gt;
        }&lt;br /&gt;
        location /media {&lt;br /&gt;
            root /home/user/haiwen/seafile-server-latest/seahub;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Et créer le fichier DHPARAM :&lt;br /&gt;
    openssl dhparam 2048 &amp;gt; /etc/nginx/dhparam.pem&lt;br /&gt;
&lt;br /&gt;
== WebDAV ==&lt;br /&gt;
Pour activer WebDAV (gestion des fichiers via le web) sur Seafile :&lt;br /&gt;
* Editer seafile/conf/seafdav.conf&lt;br /&gt;
  [WEBDAV]&lt;br /&gt;
  enabled = true&lt;br /&gt;
  port = 8080&lt;br /&gt;
  fastcgi = true&lt;br /&gt;
  share_name = /seafdav&lt;br /&gt;
&lt;br /&gt;
* Ajouter dans /etc/httpd/conf.d/seafile.conf les lignes suivantes :&lt;br /&gt;
&lt;br /&gt;
  #&lt;br /&gt;
  # seafile webdav&lt;br /&gt;
  #&lt;br /&gt;
  RewriteCond %{HTTP:Authorization} (.+)&lt;br /&gt;
  RewriteRule ^(/seafdav.*)$ /seafdav.fcgi$1 [QSA,L,e=HTTP_AUTHORIZATION:%1]&lt;br /&gt;
  RewriteRule ^(/seafdav.*)$ /seafdav.fcgi$1 [QSA,L]&lt;br /&gt;
&lt;br /&gt;
* Ajouter dans /etc/httpd/conf.d/fastcgi.conf la ligne :&lt;br /&gt;
&lt;br /&gt;
  FastCGIExternalServer /var/www/seafdav.fcgi -host 127.0.0.1:8080&lt;br /&gt;
&lt;br /&gt;
Reste à relancer apache et Seafile&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  systemctl restart httpd&lt;br /&gt;
  systemctl restart seafile&lt;br /&gt;
  systemctl restart seahub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
La connexion du client DAV se fera sur le dossier &amp;quot;/seafdav&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Memcached ==&lt;br /&gt;
On peut utiliser seafile avec memcached pour accélérer la navigation :&lt;br /&gt;
&lt;br /&gt;
Installation dur CentOS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  yum install memcached python-memcached&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ajouter dans seafile/conf/seahub_setting.py :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CACHES = {&lt;br /&gt;
    'default': {&lt;br /&gt;
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',&lt;br /&gt;
	'LOCATION': '127.0.0.1:11211',&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mise à jour ==&lt;br /&gt;
Arrêter seafile et seahub :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  systemctl stop seafile&lt;br /&gt;
  systemctl stop seahub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
On donne tout de suite les droits à l'utilisateur seafile (important ! si on fait ensuite la mise à jour en tant qu'utilisateur &amp;quot;seafile&amp;quot;) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  chown -R seafile:apache /home/seafile &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Passer sous l'utilisateur seafile (préférable, pour éviter les problèmes de version de Python, voir&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  su - seafile&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Télécharger et installer la mise à jour :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  cd /home/seafile/installed&lt;br /&gt;
  wget https://bitbucket.org/haiwen/seafile/downloads/seafile-server_6.2.3_x86-64.tar.gz&lt;br /&gt;
  tar xvzf  seafile-server_6.2.3_i386.tar.gz&lt;br /&gt;
  mv seafile-server-6.2.3 ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Mise à jour de version principale (6.0 -&amp;gt; 6.3) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd ../seafile-server-6.3.2/upgrade&lt;br /&gt;
 ./upgrade_6.0_6.1.sh&lt;br /&gt;
 ./upgrade_6.1_6.2.sh&lt;br /&gt;
 ./upgrade_6.2_6.3.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Redevenir &amp;quot;root&amp;quot; et lancer les services seafile et seahub&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  systemctl start seafile&lt;br /&gt;
  systemctl start seahub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Personnalisation ==&lt;br /&gt;
=== Logo ===&lt;br /&gt;
Mettre l'image ici, avec ce nom exact (sauvegarder éventuellement le seafile_logo.png existant) :&lt;br /&gt;
 /home/seafile/seafile-server-latest/seahub/media/img/seafile_logo.png&lt;br /&gt;
Redémarrer seahub&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ARCHIVES&lt;br /&gt;
=== Traduction ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /home/seafile/seafile-server-2.1.5/seahub/locale/fr/LC_MESSAGES&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Suppression de l'ancienne traduction :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  rm django.po&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Télécharger la traduction :&lt;br /&gt;
* depuis le site officiel de traduction :&amp;lt;br/&amp;gt;&lt;br /&gt;
https://www.transifex.com/organization/haiwen/dashboard/seahub&lt;br /&gt;
&lt;br /&gt;
* ou depuis le depot git de seahub :&amp;lt;br/&amp;gt;&lt;br /&gt;
https://github.com/haiwen/seahub/tree/master/locale/fr/LC_MESSAGES&lt;br /&gt;
&lt;br /&gt;
Compiler le fichier de traduction :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  msgfmt -o django.mo -v django.po&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Redémarrer seahub&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sauvegarde / restauration ==&lt;br /&gt;
=== Sauvegarde ===&lt;br /&gt;
Il est préférable d'arrêter les service Seafile avant sauvegarde, afin que celle-ci soit cohérente.&lt;br /&gt;
* Sauvegarder le dossier /home/seafile/ (dans son entier, c'est plus simple)&lt;br /&gt;
* Sauvegarder les 3 bases de données (par mysqldump sous MySQL/MariaDB) : ccnet-db, seafile-db, seahub-db&lt;br /&gt;
&lt;br /&gt;
=== Restauration ===&lt;br /&gt;
Réinstaller si nécessaire Seafile, puis supprimer (ou renommer en .bak) le dossier /home/seafile.&lt;br /&gt;
&lt;br /&gt;
Après sauvegarde (ou dump) des 3 bases de données (au cas où), les supprimer, et les recréer vides.&lt;br /&gt;
&lt;br /&gt;
Restaurer les 3 bases.&lt;br /&gt;
&lt;br /&gt;
Restaurer le dossier /home/seafile.&lt;br /&gt;
&lt;br /&gt;
Lancer les services Seafile, et faire un check du répertoire (voir ci-dessous)&lt;br /&gt;
== Réparation ==&lt;br /&gt;
En cas de message d'erreur sur des bibilothèques (&amp;quot;endommagée&amp;quot;), lancer un check :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd /home/seafile/seafile-server-latest/&lt;br /&gt;
 ./seaf-fsck.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si des bibliothèques apparaissent corrompues et si le script indique &amp;quot;Find available commit xxxxx (created at xxxx-xx-xx xx:xx:xx) for repo xxxxxxx.&amp;quot;, copier l'identifiant du dépôt (indiqué sur la ligne &amp;quot;Running fsck for repo xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&amp;quot;) et lancer une réparation :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd /home/seafile/seafile-server-latest/&lt;br /&gt;
 ./seaf-fsck.sh --repair xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TIPS ==&lt;br /&gt;
* Les logs sont visibles dans &amp;lt;racine_du_virtualhost&amp;gt;/seafile/seafile-server-&amp;lt;version&amp;gt;/runtime/&lt;br /&gt;
* changer le mail administrateur : &amp;lt;racine_du_virtualhost&amp;gt;/seafile/seafile-server-&amp;lt;version&amp;gt;/reset_admin.sh&lt;br /&gt;
* administer seafile en ligne de commande : https://github.com/HenriWahl/seafadm&lt;br /&gt;
* backup en utilisant l'api (fichier api.py intéressant) : https://github.com/oal/barch&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Seafile_:_installation_sur_CentOS&amp;diff=6632</id>
		<title>Seafile : installation sur CentOS</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Seafile_:_installation_sur_CentOS&amp;diff=6632"/>
				<updated>2018-09-08T15:29:35Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Logo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installation ==&lt;br /&gt;
Update 08/2018 : procédure revue pour CentOS7 et Seafile 6.3.2 (particularité : Seahub n'utilise plus fastcgi).&lt;br /&gt;
&lt;br /&gt;
Installer les pré-requis :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
yum install python-setuptools python-simplejson python-imaging MySQL-python httpd mod_ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vérifier la dernière version serveur sur https://www.seafile.com/en/download/&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd install/&lt;br /&gt;
 wget https://download.seadrive.org/seafile-server_[ dernière version de Seafile ]_x86-64.tar.gz # ou ....i386.tar.gz sur système 32 bits&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Créer un répertoire seafile dans /home:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd /home&lt;br /&gt;
 mkdir seafile&lt;br /&gt;
 cd seafile&lt;br /&gt;
 tar -xvzf /root/install/seafile-server_[ version seafile ]_*.tar.gz&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
L'archive crée un sous-répertoire avec la version en cours. Lors d'une mise à jour, la précédente version ne sera donc pas écrasée.&lt;br /&gt;
&lt;br /&gt;
Lancer l'installation (qui créera les bases de données) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd seafile-server-[ version seafile ]&lt;br /&gt;
 ./setup-seafile-mysql.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Nommer le server (nom affiché sur les clients, sans espaces)&lt;br /&gt;
* donner l'IP du serveur&lt;br /&gt;
* laisser le port ccnet, le chemin des données et les ports seafile par défaut&lt;br /&gt;
* donner un mail pour l'administrateur (mail existant si possible, qui servira à se connecter à l'interface) et un mot de passe&lt;br /&gt;
* Choisir &amp;quot;1&amp;quot; pour créer les bases&lt;br /&gt;
* donner les paramètres MySQL&lt;br /&gt;
* demander la création d'un utilisateur seafile&lt;br /&gt;
* laisser les noms de bases par défaut&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
On peut alors tester Seafile directement :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 sudo su - seafile # au cas où on s'est connecté &amp;quot;root&amp;quot; auparavant&lt;br /&gt;
 ./seafile.sh start&lt;br /&gt;
 ./seahub.sh start&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
NOTE : IL EST IMPORTANT de lancer &amp;quot;seahub.sh start&amp;quot; AU MOINS UNE FOIS en ligne de commande, car cette première fois demande la mail (donc le login) et le mot de passe de l'utilisateur admin de Seafile !&lt;br /&gt;
&lt;br /&gt;
Se connecter à l'interface par &amp;lt;nowiki&amp;gt;http://IP_DU_SERVEUR:8000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
Editer le fichier /home/seafile/conf/seafile.conf&lt;br /&gt;
 [fileserver]&lt;br /&gt;
 port = 8082&lt;br /&gt;
 &lt;br /&gt;
 [database]&lt;br /&gt;
 type = mysql&lt;br /&gt;
 host = 127.0.0.1&lt;br /&gt;
 port = 3306&lt;br /&gt;
 user = seafile&lt;br /&gt;
 password = PwdMySQLseafile&lt;br /&gt;
 db_name = seafile-db&lt;br /&gt;
 connection_charset = utf8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Editer le fichier /home/seafile/conf/seahub_settings.py :&lt;br /&gt;
 # -*- coding: utf-8 -*-&lt;br /&gt;
 SECRET_KEY = &amp;quot;d56a6cbc-751c-dc66-9fdb-45f4492f5abda7d3&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 DATABASES = {&lt;br /&gt;
     'default': {&lt;br /&gt;
         'ENGINE': 'django.db.backends.mysql',&lt;br /&gt;
         'NAME': 'seahub-db',&lt;br /&gt;
         'USER': 'seafile',&lt;br /&gt;
         'PASSWORD': 'PwdSeafile',&lt;br /&gt;
         'HOST': '127.0.0.1',&lt;br /&gt;
         'PORT': '3306',&lt;br /&gt;
         'OPTIONS': {&lt;br /&gt;
             'init_command': 'SET '''default_storage_engine'''=INNODB',&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 FILE_SERVER_ROOT = 'https://seafile.domain.fr/seafhttp'&lt;br /&gt;
 &lt;br /&gt;
 EMAIL_USE_TLS = False&lt;br /&gt;
 EMAIL_HOST = 'localhost'        # smpt server&lt;br /&gt;
 EMAIL_HOST_USER = ''    # username and domain&lt;br /&gt;
 EMAIL_HOST_PASSWORD = ''    # password&lt;br /&gt;
 EMAIL_PORT = '25'&lt;br /&gt;
 DEFAULT_FROM_EMAIL = 'postmaster@domain.fr' # parce que EMAIL_HOST_USER est vide ci-dessus, sinon on peut reprendre cette variable.&lt;br /&gt;
 SERVER_EMAIL = 'postmaster@domain.fr'&lt;br /&gt;
&lt;br /&gt;
Attention au &amp;quot;default_storage_engine&amp;quot; (plutôt que &amp;quot;storage_engine&amp;quot;) à partir de la version 5 de Seafile !&lt;br /&gt;
&lt;br /&gt;
== Lancement automatique ==&lt;br /&gt;
https://github.com/haiwen/seafile/wiki/Start-seafile-server-at-system-bootup&lt;br /&gt;
&lt;br /&gt;
D'abord, arrêter Seafile !&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd seafile-server-latest&lt;br /&gt;
 ./seafile.sh stop&lt;br /&gt;
 ./seahub.sh stop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Créer un utilisateur seafile, dont le homedir sera le répertoire seafile :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 adduser -c &amp;quot;Seafile user&amp;quot; -d /home/seafile seafile&lt;br /&gt;
 chown -R seafile:seafile /home/seafile&lt;br /&gt;
 chmod 750 /home/seafile&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT''' : vérifier l'appartenance de l'arborescence /home/seafile pour qu'il n'y ait pas de problèmes de droits !&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 chown -R seafile:seafile /home/seafile&lt;br /&gt;
 chmod 750 /home/seafile&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Systèmes SYSTEMD (CentOS &amp;gt;= 7) ===&lt;br /&gt;
Créer /etc/systemd/system/seafile.service&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Seafile&lt;br /&gt;
# add mysql.service or postgresql.service depending on your database to the line below&lt;br /&gt;
After=network.target mysql.service&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
ExecStart=/home/seafile/seafile-server-latest/seafile.sh start&lt;br /&gt;
ExecStop=/home/seafile/seafile-server-latest/seafile.sh stop&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
User=seafile&lt;br /&gt;
Group=seafile&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
et /etc/systemd/system/seahub.service&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Seafile hub&lt;br /&gt;
After=network.target seafile.service&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
# change start to start-fastcgi if you want to run fastcgi&lt;br /&gt;
ExecStart=/home/seafile//seafile-server-latest/seahub.sh start-fastcgi&lt;br /&gt;
ExecStop=/home/seafile/seafile-server-latest/seahub.sh stop&lt;br /&gt;
User=seafile&lt;br /&gt;
Group=seafile&lt;br /&gt;
Type=oneshot&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Activer et lancer les 2 services&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl enable seafile&lt;br /&gt;
systemctl enable seahub&lt;br /&gt;
systemctl start seafile&lt;br /&gt;
systemctl start seahub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ARCHIVES&lt;br /&gt;
== Plusieurs versions de Python ==&lt;br /&gt;
Si, après l'installation de Seafile avec Python 2.6, une version 2.7 est installée sur le serveur, par défaut c'est cette dernière qui sera utilisée (les scripts de lancement de Seafile et Seahub recherchent les binaires Python et s'arrêtent sur la 2.7).&lt;br /&gt;
&lt;br /&gt;
Mais les modules nécessaires à Seafile ont été installés sur la version 2.6, la 2.7 ne les voit pas, Seafile ne démarre pas (dans les logs, erreurs du type :&lt;br /&gt;
&amp;quot;ImportError: No module named simplejson&amp;quot; ou ImportError: No module named MySQL-python&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Si (comme c'est le cas sur CentOS6 où la version 2.7 n'est pas dans les dépôts, et doit être installée manuellement) les modules nécessaires ne sont pas facilement installables sur la 2.7, il faut forcer la 2.6.&lt;br /&gt;
&lt;br /&gt;
Pour ça, on initialise la variable PYTHON qui, si elle n'est pas vide, empêche les scripts Seafile de chercher plus loin.&lt;br /&gt;
&lt;br /&gt;
Créer /home/seafile/.bash_profile avec :&lt;br /&gt;
 PYTHON=/usr/bin/python2.6 # le chemin de l'exécutable qu'on souhaite&lt;br /&gt;
 export PYTHON&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 chown seafile.seafile /home/seafile/.bash_profile&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Les scripts ne devraient plus chercher Python et démarrer sans problème.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Connexion seahub par Apache ==&lt;br /&gt;
Depuis la version 6.3.2, Seafile n'utilise plus fastcgi. On utilise Apache en proxy simple. On ne détaillera ici que la configuration SSL.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ARCHIVES&lt;br /&gt;
Pour la liaison entre Apache et Seafile, on utilisera Fastcgi. Sur CentOS, à installer des dépôts RPMForge (voir [[Dépôts complémentaires]]) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  yum install --enablerepo=rpmforge mod_fastcgi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Editer /etc/httpd/conf.d/fastcgi.conf, modifier :&lt;br /&gt;
  FastCgiWrapper Off&lt;br /&gt;
et ajouter à la fin :&lt;br /&gt;
  &amp;lt;IfModule mod_fastcgi.c&amp;gt;&lt;br /&gt;
      FastCGIExternalServer /var/www/seahub.fcgi -host 127.0.0.1:8000 &lt;br /&gt;
  &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
'''NOTE : le fichier /var/www/seahub.fcgi n'a pas besoin d'exister, ce n'est qu'un &amp;quot;wrapper&amp;quot; (voir ci-dessous)'''&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Créer un fichier /etc/httpd/conf.d/seafile.conf :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
    ServerName seafile.domain.fr&lt;br /&gt;
    DocumentRoot /var/www&lt;br /&gt;
    Alias /media /home/seafile/seafile-server-latest/seahub/media/           &lt;br /&gt;
    RewriteEngine On&lt;br /&gt;
    &lt;br /&gt;
    # seafile httpserver&lt;br /&gt;
    #&lt;br /&gt;
    ProxyPass /seafhttp http://127.0.0.1:8082&lt;br /&gt;
    ProxyPassReverse /seafhttp http://127.0.0.1:8082&lt;br /&gt;
    RewriteRule ^/seafhttp - [QSA,L]&lt;br /&gt;
  &lt;br /&gt;
    #&lt;br /&gt;
    # seahub&lt;br /&gt;
    #&lt;br /&gt;
    RewriteRule ^/(media.*)$ /$1 [QSA,L,PT]&lt;br /&gt;
    RewriteCond %{REQUEST_FILENAME} !-f&lt;br /&gt;
    RewriteRule ^(.*)$ /seahub.fcgi$1 [QSA,L,E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]&lt;br /&gt;
    &lt;br /&gt;
    # add ssl protocol&lt;br /&gt;
    SSLEngine On&lt;br /&gt;
    SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire&lt;br /&gt;
    SSLCertificateFile    /etc/ssl/seafile.crt&lt;br /&gt;
    SSLCertificateKeyFile /etc/ssl/seafile.key&lt;br /&gt;
&amp;lt;/virtualhost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ARCHIVE&lt;br /&gt;
'''NOTE : le DocumentRoot doit correspondre au chemin du &amp;quot;wrapper&amp;quot; seahub.fcgi paramétré plus haut !'''&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Dans /home/seafile, éditer ccnet/ccnet.conf, modifier SERVICE_URL par l'URL externe de Seafile (ce paramètre sera utilisé pour construire notamment les liens qui pourraient être envoyés par mail) :&lt;br /&gt;
  SERVICE_URL = https://seafile.domain.fr&lt;br /&gt;
Editer seahub_settings.py, ajouter :&lt;br /&gt;
  HTTP_SERVER_ROOT = 'https://seafile.domain.fr/seafhttp'&lt;br /&gt;
&amp;quot;HTTP_SERVER_ROOT&amp;quot; peut être aussi &amp;quot;FILE_SERVER_ROOT&amp;quot;, indifféremment.&lt;br /&gt;
&lt;br /&gt;
Générer des certificats (ou utiliser Let'sEncrypt !) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  openssl genrsa -out privkey.pem 2048&lt;br /&gt;
  openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Copier et renommer les fichiers générés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  mv cacert.pem /etc/ssl/seafile.crt&lt;br /&gt;
  mv privkey.pem /etc/ssl/seafile.key&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Si nécessaire, faire une redirection du site HTTP vers HTTPS. A la racine du site HTTP (port 80, qui doit être différente de la racine du site HTTPS), créer un fichier .htaccess :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RewriteEngine On&lt;br /&gt;
RewriteCond %{HTTPS} off&lt;br /&gt;
RewriteRule ^(.*)$ https://seafile.domain.fr/$1 [L,R=301]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/httpd/conf/httpd.conf : s'assurer que la directive &amp;quot;AllowOverride&amp;quot; du site par défaut (sous &amp;lt;Directory /var/www/html&amp;gt;) est à &amp;quot;All&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Supprimer /etc/httpd/conf.d/welcome.conf pour ne pas tomber sur la page de test en cas d'erreur.&lt;br /&gt;
&lt;br /&gt;
Reste à relancer apache&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  systemctl restart httpd&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''NOTE : Vérifier qu'Apache écoute sur le port 443 ! Décommenter &amp;quot;Listen 443&amp;quot; dans /etc/httpd/conf.d/ssl.conf.'''&lt;br /&gt;
&lt;br /&gt;
== Connexion seahub par NGINX ==&lt;br /&gt;
&amp;lt;!-- ARCHIVES&lt;br /&gt;
La configuration nginx (https via fastcgi) est enregistrée dans un fichier, chargé ensuite en &amp;quot;include&amp;quot; dans la configuration de nginx :&lt;br /&gt;
 server {&lt;br /&gt;
     listen 192.168.0.50:443;&lt;br /&gt;
     ssl on;&lt;br /&gt;
     ssl_certificate      /home/seafile/conf/ssl.seafile.domain.fr.pem;&lt;br /&gt;
     ssl_certificate_key  /home/seafile/conf/ssl.seafile.domain.fr.key;&lt;br /&gt;
     server_name  seafile.domain.fr;&lt;br /&gt;
     proxy_set_header X-Forwarded-For $remote_addr;&lt;br /&gt;
 &lt;br /&gt;
     add_header Strict-Transport-Security &amp;quot;max-age=31536000; includeSubdomains&amp;quot;;&lt;br /&gt;
     server_tokens off;&lt;br /&gt;
 &lt;br /&gt;
     location / {&lt;br /&gt;
         fastcgi_pass    127.0.0.1:8000;&lt;br /&gt;
         fastcgi_param   SCRIPT_FILENAME     $document_root$fastcgi_script_name;&lt;br /&gt;
         fastcgi_param   PATH_INFO           $fastcgi_script_name;&lt;br /&gt;
 &lt;br /&gt;
         fastcgi_param   SERVER_PROTOCOL        $server_protocol;&lt;br /&gt;
         fastcgi_param   QUERY_STRING        $query_string;&lt;br /&gt;
         fastcgi_param   REQUEST_METHOD      $request_method;&lt;br /&gt;
         fastcgi_param   CONTENT_TYPE        $content_type;&lt;br /&gt;
         fastcgi_param   CONTENT_LENGTH      $content_length;&lt;br /&gt;
         fastcgi_param   SERVER_ADDR         $server_addr;&lt;br /&gt;
         fastcgi_param   SERVER_PORT         $server_port;&lt;br /&gt;
         fastcgi_param   SERVER_NAME         $server_name;&lt;br /&gt;
         fastcgi_param   HTTPS               on;&lt;br /&gt;
         fastcgi_param   HTTP_SCHEME         https;&lt;br /&gt;
 &lt;br /&gt;
         access_log      /var/log/nginx/seahub.access.log;&lt;br /&gt;
         error_log       /var/log/nginx/seahub.error.log;&lt;br /&gt;
         fastcgi_read_timeout 36000;&lt;br /&gt;
     }&lt;br /&gt;
     location /seafhttp {&lt;br /&gt;
         rewrite ^/seafhttp(.*)$ $1 break;&lt;br /&gt;
         proxy_pass http://127.0.0.1:8082;&lt;br /&gt;
         client_max_body_size 0;&lt;br /&gt;
         proxy_connect_timeout  36000s;&lt;br /&gt;
         proxy_read_timeout  36000s;&lt;br /&gt;
         proxy_send_timeout  36000s;&lt;br /&gt;
         send_timeout  36000s;&lt;br /&gt;
     }&lt;br /&gt;
     location /media {&lt;br /&gt;
         root /home/seafile/seafile-server-latest/seahub;&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Créer /etc/nginx/conf.d/seafile.conf :&lt;br /&gt;
    server {&lt;br /&gt;
        listen 443;&lt;br /&gt;
        ssl on;&lt;br /&gt;
        ssl_certificate /etc/ssl/cacert.pem;        # path to your cacert.pem&lt;br /&gt;
        ssl_certificate_key /etc/ssl/privkey.pem;    # path to your privkey.pem&lt;br /&gt;
        server_name seafile.example.com;&lt;br /&gt;
        ssl_session_timeout 5m;&lt;br /&gt;
        ssl_session_cache shared:SSL:5m;&lt;br /&gt;
 &lt;br /&gt;
        # Diffie-Hellman parameter for DHE ciphersuites, recommended 2048 bits&lt;br /&gt;
        ssl_dhparam /etc/nginx/dhparam.pem;&lt;br /&gt;
 &lt;br /&gt;
        # secure settings (A+ at SSL Labs ssltest at time of writing)&lt;br /&gt;
        # see https://wiki.mozilla.org/Security/Server_Side_TLS#Nginx&lt;br /&gt;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;&lt;br /&gt;
        ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-CAMELLIA256-SHA:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-SEED-SHA:DHE-RSA-CAMELLIA128-SHA:HIGH:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS';&lt;br /&gt;
        ssl_prefer_server_ciphers on;&lt;br /&gt;
 &lt;br /&gt;
        proxy_set_header X-Forwarded-For $remote_addr;&lt;br /&gt;
 &lt;br /&gt;
        add_header Strict-Transport-Security &amp;quot;max-age=31536000; includeSubDomains&amp;quot;;&lt;br /&gt;
        server_tokens off;&lt;br /&gt;
 &lt;br /&gt;
        location / {&lt;br /&gt;
            proxy_pass         http://127.0.0.1:8000;&lt;br /&gt;
            proxy_set_header   Host $host;&lt;br /&gt;
            proxy_set_header   X-Real-IP $remote_addr;&lt;br /&gt;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;&lt;br /&gt;
            proxy_set_header   X-Forwarded-Host $server_name;&lt;br /&gt;
            proxy_set_header   X-Forwarded-Proto https;&lt;br /&gt;
 &lt;br /&gt;
            access_log      /var/log/nginx/seahub.access.log;&lt;br /&gt;
            error_log       /var/log/nginx/seahub.error.log;&lt;br /&gt;
 &lt;br /&gt;
            proxy_read_timeout  1200s;&lt;br /&gt;
 &lt;br /&gt;
            client_max_body_size 0;&lt;br /&gt;
        }&lt;br /&gt;
 &lt;br /&gt;
        location /seafhttp {&lt;br /&gt;
            rewrite ^/seafhttp(.*)$ $1 break;&lt;br /&gt;
            proxy_pass http://127.0.0.1:8082;&lt;br /&gt;
            client_max_body_size 0;&lt;br /&gt;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;&lt;br /&gt;
            proxy_connect_timeout  36000s;&lt;br /&gt;
            proxy_read_timeout  36000s;&lt;br /&gt;
            proxy_send_timeout  36000s;&lt;br /&gt;
            send_timeout  36000s;&lt;br /&gt;
        }&lt;br /&gt;
        location /media {&lt;br /&gt;
            root /home/user/haiwen/seafile-server-latest/seahub;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Et créer le fichier DHPARAM :&lt;br /&gt;
    openssl dhparam 2048 &amp;gt; /etc/nginx/dhparam.pem&lt;br /&gt;
&lt;br /&gt;
== WebDAV ==&lt;br /&gt;
Pour activer WebDAV (gestion des fichiers via le web) sur Seafile :&lt;br /&gt;
* Editer seafile/conf/seafdav.conf&lt;br /&gt;
  [WEBDAV]&lt;br /&gt;
  enabled = true&lt;br /&gt;
  port = 8080&lt;br /&gt;
  fastcgi = true&lt;br /&gt;
  share_name = /seafdav&lt;br /&gt;
&lt;br /&gt;
* Ajouter dans /etc/httpd/conf.d/seafile.conf les lignes suivantes :&lt;br /&gt;
&lt;br /&gt;
  #&lt;br /&gt;
  # seafile webdav&lt;br /&gt;
  #&lt;br /&gt;
  RewriteCond %{HTTP:Authorization} (.+)&lt;br /&gt;
  RewriteRule ^(/seafdav.*)$ /seafdav.fcgi$1 [QSA,L,e=HTTP_AUTHORIZATION:%1]&lt;br /&gt;
  RewriteRule ^(/seafdav.*)$ /seafdav.fcgi$1 [QSA,L]&lt;br /&gt;
&lt;br /&gt;
* Ajouter dans /etc/httpd/conf.d/fastcgi.conf la ligne :&lt;br /&gt;
&lt;br /&gt;
  FastCGIExternalServer /var/www/seafdav.fcgi -host 127.0.0.1:8080&lt;br /&gt;
&lt;br /&gt;
Reste à relancer apache et Seafile&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  systemctl restart httpd&lt;br /&gt;
  systemctl restart seafile&lt;br /&gt;
  systemctl restart seahub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
La connexion du client DAV se fera sur le dossier &amp;quot;/seafdav&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Memcached ==&lt;br /&gt;
On peut utiliser seafile avec memcached pour accélérer la navigation :&lt;br /&gt;
&lt;br /&gt;
Installation dur CentOS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  yum install memcached python-memcached&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ajouter dans seafile/conf/seahub_setting.py :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CACHES = {&lt;br /&gt;
    'default': {&lt;br /&gt;
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',&lt;br /&gt;
	'LOCATION': '127.0.0.1:11211',&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mise à jour ==&lt;br /&gt;
Arrêter seafile et seahub :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  systemctl stop seafile&lt;br /&gt;
  systemctl stop seahub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
On donne tout de suite les droits à l'utilisateur seafile (important ! si on fait ensuite la mise à jour en tant qu'utilisateur &amp;quot;seafile&amp;quot;) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  chown -R seafile:apache /home/seafile &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Passer sous l'utilisateur seafile (préférable, pour éviter les problèmes de version de Python, voir&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  su - seafile&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Télécharger et installer la mise à jour :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  cd /home/seafile/installed&lt;br /&gt;
  wget https://bitbucket.org/haiwen/seafile/downloads/seafile-server_6.2.3_x86-64.tar.gz&lt;br /&gt;
  tar xvzf  seafile-server_6.2.3_i386.tar.gz&lt;br /&gt;
  mv seafile-server-6.2.3 ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Mise à jour de version principale (6.0 -&amp;gt; 6.3) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd ../seafile-server-6.3.2/upgrade&lt;br /&gt;
 ./upgrade_6.0_6.1.sh&lt;br /&gt;
 ./upgrade_6.1_6.2.sh&lt;br /&gt;
 ./upgrade_6.2_6.3.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Redevenir &amp;quot;root&amp;quot; et lancer les services seafile et seahub&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  systemctl start seafile&lt;br /&gt;
  systemctl start seahub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Personnalisation ==&lt;br /&gt;
=== Logo ===&lt;br /&gt;
Mettre l'image ici, avec ce nom exact (sauvegarder éventuellement le seafile_logo.png existant) :&lt;br /&gt;
 /home/seafile/seafile-server-latest/seahub/media/img/seafile_logo.png&lt;br /&gt;
Redémarrer seahub&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ARCHIVES&lt;br /&gt;
=== Traduction ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /home/seafile/seafile-server-2.1.5/seahub/locale/fr/LC_MESSAGES&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Suppression de l'ancienne traduction :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  rm django.po&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Télécharger la traduction :&lt;br /&gt;
* depuis le site officiel de traduction :&amp;lt;br/&amp;gt;&lt;br /&gt;
https://www.transifex.com/organization/haiwen/dashboard/seahub&lt;br /&gt;
&lt;br /&gt;
* ou depuis le depot git de seahub :&amp;lt;br/&amp;gt;&lt;br /&gt;
https://github.com/haiwen/seahub/tree/master/locale/fr/LC_MESSAGES&lt;br /&gt;
&lt;br /&gt;
Compiler le fichier de traduction :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  msgfmt -o django.mo -v django.po&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Redémarrer seahub&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sauvegarde / restauration ==&lt;br /&gt;
=== Sauvegarde ===&lt;br /&gt;
Il est préférable d'arrêter les service Seafile avant sauvegarde, afin que celle-ci soit cohérente.&lt;br /&gt;
* Sauvegarder le dossier /home/seafile/ (dans son entier, c'est plus simple)&lt;br /&gt;
* Sauvegarder les 3 bases de données (par mysqldump sous MySQL/MariaDB) : ccnet-db, seafile-db, seahub-db&lt;br /&gt;
&lt;br /&gt;
=== Restauration ===&lt;br /&gt;
Réinstaller si nécessaire Seafile, puis supprimer (ou renommer en .bak) le dossier /home/seafile.&lt;br /&gt;
&lt;br /&gt;
Après sauvegarde (ou dump) des 3 bases de données (au cas où), les supprimer, et les recréer vides.&lt;br /&gt;
&lt;br /&gt;
Restaurer les 3 bases.&lt;br /&gt;
&lt;br /&gt;
Restaurer le dossier /home/seafile.&lt;br /&gt;
&lt;br /&gt;
Lancer les services Seafile, et faire un check du répertoire (voir ci-dessous)&lt;br /&gt;
== Réparation ==&lt;br /&gt;
En cas de message d'erreur sur des bibilothèques (&amp;quot;endommagée&amp;quot;), lancer un check :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd /home/seafile/seafile-server-latest/&lt;br /&gt;
 ./seaf-fsck.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si des bibliothèques apparaissent corrompues et si le script indique &amp;quot;Find available commit xxxxx (created at xxxx-xx-xx xx:xx:xx) for repo xxxxxxx.&amp;quot;, copier l'identifiant du dépôt (indiqué sur la ligne &amp;quot;Running fsck for repo xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&amp;quot;) et lancer une réparation :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd /home/seafile/seafile-server-latest/&lt;br /&gt;
 ./seaf-fsck.sh --repair xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TIPS ==&lt;br /&gt;
* Les logs sont visibles dans &amp;lt;racine_du_virtualhost&amp;gt;/seafile/seafile-server-&amp;lt;version&amp;gt;/runtime/&lt;br /&gt;
* changer le mail administrateur : &amp;lt;racine_du_virtualhost&amp;gt;/seafile/seafile-server-&amp;lt;version&amp;gt;/reset_admin.sh&lt;br /&gt;
* administer seafile en ligne de commande : https://github.com/HenriWahl/seafadm&lt;br /&gt;
* backup en utilisant l'api (fichier api.py intéressant) : https://github.com/oal/barch&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Seafile_:_installation_sur_CentOS&amp;diff=6631</id>
		<title>Seafile : installation sur CentOS</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Seafile_:_installation_sur_CentOS&amp;diff=6631"/>
				<updated>2018-09-08T15:29:00Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Connexion seahub par NGINX */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installation ==&lt;br /&gt;
Update 08/2018 : procédure revue pour CentOS7 et Seafile 6.3.2 (particularité : Seahub n'utilise plus fastcgi).&lt;br /&gt;
&lt;br /&gt;
Installer les pré-requis :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
yum install python-setuptools python-simplejson python-imaging MySQL-python httpd mod_ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vérifier la dernière version serveur sur https://www.seafile.com/en/download/&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd install/&lt;br /&gt;
 wget https://download.seadrive.org/seafile-server_[ dernière version de Seafile ]_x86-64.tar.gz # ou ....i386.tar.gz sur système 32 bits&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Créer un répertoire seafile dans /home:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd /home&lt;br /&gt;
 mkdir seafile&lt;br /&gt;
 cd seafile&lt;br /&gt;
 tar -xvzf /root/install/seafile-server_[ version seafile ]_*.tar.gz&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
L'archive crée un sous-répertoire avec la version en cours. Lors d'une mise à jour, la précédente version ne sera donc pas écrasée.&lt;br /&gt;
&lt;br /&gt;
Lancer l'installation (qui créera les bases de données) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd seafile-server-[ version seafile ]&lt;br /&gt;
 ./setup-seafile-mysql.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Nommer le server (nom affiché sur les clients, sans espaces)&lt;br /&gt;
* donner l'IP du serveur&lt;br /&gt;
* laisser le port ccnet, le chemin des données et les ports seafile par défaut&lt;br /&gt;
* donner un mail pour l'administrateur (mail existant si possible, qui servira à se connecter à l'interface) et un mot de passe&lt;br /&gt;
* Choisir &amp;quot;1&amp;quot; pour créer les bases&lt;br /&gt;
* donner les paramètres MySQL&lt;br /&gt;
* demander la création d'un utilisateur seafile&lt;br /&gt;
* laisser les noms de bases par défaut&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
On peut alors tester Seafile directement :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 sudo su - seafile # au cas où on s'est connecté &amp;quot;root&amp;quot; auparavant&lt;br /&gt;
 ./seafile.sh start&lt;br /&gt;
 ./seahub.sh start&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
NOTE : IL EST IMPORTANT de lancer &amp;quot;seahub.sh start&amp;quot; AU MOINS UNE FOIS en ligne de commande, car cette première fois demande la mail (donc le login) et le mot de passe de l'utilisateur admin de Seafile !&lt;br /&gt;
&lt;br /&gt;
Se connecter à l'interface par &amp;lt;nowiki&amp;gt;http://IP_DU_SERVEUR:8000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
Editer le fichier /home/seafile/conf/seafile.conf&lt;br /&gt;
 [fileserver]&lt;br /&gt;
 port = 8082&lt;br /&gt;
 &lt;br /&gt;
 [database]&lt;br /&gt;
 type = mysql&lt;br /&gt;
 host = 127.0.0.1&lt;br /&gt;
 port = 3306&lt;br /&gt;
 user = seafile&lt;br /&gt;
 password = PwdMySQLseafile&lt;br /&gt;
 db_name = seafile-db&lt;br /&gt;
 connection_charset = utf8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Editer le fichier /home/seafile/conf/seahub_settings.py :&lt;br /&gt;
 # -*- coding: utf-8 -*-&lt;br /&gt;
 SECRET_KEY = &amp;quot;d56a6cbc-751c-dc66-9fdb-45f4492f5abda7d3&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 DATABASES = {&lt;br /&gt;
     'default': {&lt;br /&gt;
         'ENGINE': 'django.db.backends.mysql',&lt;br /&gt;
         'NAME': 'seahub-db',&lt;br /&gt;
         'USER': 'seafile',&lt;br /&gt;
         'PASSWORD': 'PwdSeafile',&lt;br /&gt;
         'HOST': '127.0.0.1',&lt;br /&gt;
         'PORT': '3306',&lt;br /&gt;
         'OPTIONS': {&lt;br /&gt;
             'init_command': 'SET '''default_storage_engine'''=INNODB',&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 FILE_SERVER_ROOT = 'https://seafile.domain.fr/seafhttp'&lt;br /&gt;
 &lt;br /&gt;
 EMAIL_USE_TLS = False&lt;br /&gt;
 EMAIL_HOST = 'localhost'        # smpt server&lt;br /&gt;
 EMAIL_HOST_USER = ''    # username and domain&lt;br /&gt;
 EMAIL_HOST_PASSWORD = ''    # password&lt;br /&gt;
 EMAIL_PORT = '25'&lt;br /&gt;
 DEFAULT_FROM_EMAIL = 'postmaster@domain.fr' # parce que EMAIL_HOST_USER est vide ci-dessus, sinon on peut reprendre cette variable.&lt;br /&gt;
 SERVER_EMAIL = 'postmaster@domain.fr'&lt;br /&gt;
&lt;br /&gt;
Attention au &amp;quot;default_storage_engine&amp;quot; (plutôt que &amp;quot;storage_engine&amp;quot;) à partir de la version 5 de Seafile !&lt;br /&gt;
&lt;br /&gt;
== Lancement automatique ==&lt;br /&gt;
https://github.com/haiwen/seafile/wiki/Start-seafile-server-at-system-bootup&lt;br /&gt;
&lt;br /&gt;
D'abord, arrêter Seafile !&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd seafile-server-latest&lt;br /&gt;
 ./seafile.sh stop&lt;br /&gt;
 ./seahub.sh stop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Créer un utilisateur seafile, dont le homedir sera le répertoire seafile :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 adduser -c &amp;quot;Seafile user&amp;quot; -d /home/seafile seafile&lt;br /&gt;
 chown -R seafile:seafile /home/seafile&lt;br /&gt;
 chmod 750 /home/seafile&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT''' : vérifier l'appartenance de l'arborescence /home/seafile pour qu'il n'y ait pas de problèmes de droits !&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 chown -R seafile:seafile /home/seafile&lt;br /&gt;
 chmod 750 /home/seafile&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Systèmes SYSTEMD (CentOS &amp;gt;= 7) ===&lt;br /&gt;
Créer /etc/systemd/system/seafile.service&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Seafile&lt;br /&gt;
# add mysql.service or postgresql.service depending on your database to the line below&lt;br /&gt;
After=network.target mysql.service&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
ExecStart=/home/seafile/seafile-server-latest/seafile.sh start&lt;br /&gt;
ExecStop=/home/seafile/seafile-server-latest/seafile.sh stop&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
User=seafile&lt;br /&gt;
Group=seafile&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
et /etc/systemd/system/seahub.service&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Seafile hub&lt;br /&gt;
After=network.target seafile.service&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
# change start to start-fastcgi if you want to run fastcgi&lt;br /&gt;
ExecStart=/home/seafile//seafile-server-latest/seahub.sh start-fastcgi&lt;br /&gt;
ExecStop=/home/seafile/seafile-server-latest/seahub.sh stop&lt;br /&gt;
User=seafile&lt;br /&gt;
Group=seafile&lt;br /&gt;
Type=oneshot&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Activer et lancer les 2 services&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl enable seafile&lt;br /&gt;
systemctl enable seahub&lt;br /&gt;
systemctl start seafile&lt;br /&gt;
systemctl start seahub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ARCHIVES&lt;br /&gt;
== Plusieurs versions de Python ==&lt;br /&gt;
Si, après l'installation de Seafile avec Python 2.6, une version 2.7 est installée sur le serveur, par défaut c'est cette dernière qui sera utilisée (les scripts de lancement de Seafile et Seahub recherchent les binaires Python et s'arrêtent sur la 2.7).&lt;br /&gt;
&lt;br /&gt;
Mais les modules nécessaires à Seafile ont été installés sur la version 2.6, la 2.7 ne les voit pas, Seafile ne démarre pas (dans les logs, erreurs du type :&lt;br /&gt;
&amp;quot;ImportError: No module named simplejson&amp;quot; ou ImportError: No module named MySQL-python&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Si (comme c'est le cas sur CentOS6 où la version 2.7 n'est pas dans les dépôts, et doit être installée manuellement) les modules nécessaires ne sont pas facilement installables sur la 2.7, il faut forcer la 2.6.&lt;br /&gt;
&lt;br /&gt;
Pour ça, on initialise la variable PYTHON qui, si elle n'est pas vide, empêche les scripts Seafile de chercher plus loin.&lt;br /&gt;
&lt;br /&gt;
Créer /home/seafile/.bash_profile avec :&lt;br /&gt;
 PYTHON=/usr/bin/python2.6 # le chemin de l'exécutable qu'on souhaite&lt;br /&gt;
 export PYTHON&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 chown seafile.seafile /home/seafile/.bash_profile&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Les scripts ne devraient plus chercher Python et démarrer sans problème.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Connexion seahub par Apache ==&lt;br /&gt;
Depuis la version 6.3.2, Seafile n'utilise plus fastcgi. On utilise Apache en proxy simple. On ne détaillera ici que la configuration SSL.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ARCHIVES&lt;br /&gt;
Pour la liaison entre Apache et Seafile, on utilisera Fastcgi. Sur CentOS, à installer des dépôts RPMForge (voir [[Dépôts complémentaires]]) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  yum install --enablerepo=rpmforge mod_fastcgi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Editer /etc/httpd/conf.d/fastcgi.conf, modifier :&lt;br /&gt;
  FastCgiWrapper Off&lt;br /&gt;
et ajouter à la fin :&lt;br /&gt;
  &amp;lt;IfModule mod_fastcgi.c&amp;gt;&lt;br /&gt;
      FastCGIExternalServer /var/www/seahub.fcgi -host 127.0.0.1:8000 &lt;br /&gt;
  &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
'''NOTE : le fichier /var/www/seahub.fcgi n'a pas besoin d'exister, ce n'est qu'un &amp;quot;wrapper&amp;quot; (voir ci-dessous)'''&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Créer un fichier /etc/httpd/conf.d/seafile.conf :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
    ServerName seafile.domain.fr&lt;br /&gt;
    DocumentRoot /var/www&lt;br /&gt;
    Alias /media /home/seafile/seafile-server-latest/seahub/media/           &lt;br /&gt;
    RewriteEngine On&lt;br /&gt;
    &lt;br /&gt;
    # seafile httpserver&lt;br /&gt;
    #&lt;br /&gt;
    ProxyPass /seafhttp http://127.0.0.1:8082&lt;br /&gt;
    ProxyPassReverse /seafhttp http://127.0.0.1:8082&lt;br /&gt;
    RewriteRule ^/seafhttp - [QSA,L]&lt;br /&gt;
  &lt;br /&gt;
    #&lt;br /&gt;
    # seahub&lt;br /&gt;
    #&lt;br /&gt;
    RewriteRule ^/(media.*)$ /$1 [QSA,L,PT]&lt;br /&gt;
    RewriteCond %{REQUEST_FILENAME} !-f&lt;br /&gt;
    RewriteRule ^(.*)$ /seahub.fcgi$1 [QSA,L,E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]&lt;br /&gt;
    &lt;br /&gt;
    # add ssl protocol&lt;br /&gt;
    SSLEngine On&lt;br /&gt;
    SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire&lt;br /&gt;
    SSLCertificateFile    /etc/ssl/seafile.crt&lt;br /&gt;
    SSLCertificateKeyFile /etc/ssl/seafile.key&lt;br /&gt;
&amp;lt;/virtualhost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ARCHIVE&lt;br /&gt;
'''NOTE : le DocumentRoot doit correspondre au chemin du &amp;quot;wrapper&amp;quot; seahub.fcgi paramétré plus haut !'''&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Dans /home/seafile, éditer ccnet/ccnet.conf, modifier SERVICE_URL par l'URL externe de Seafile (ce paramètre sera utilisé pour construire notamment les liens qui pourraient être envoyés par mail) :&lt;br /&gt;
  SERVICE_URL = https://seafile.domain.fr&lt;br /&gt;
Editer seahub_settings.py, ajouter :&lt;br /&gt;
  HTTP_SERVER_ROOT = 'https://seafile.domain.fr/seafhttp'&lt;br /&gt;
&amp;quot;HTTP_SERVER_ROOT&amp;quot; peut être aussi &amp;quot;FILE_SERVER_ROOT&amp;quot;, indifféremment.&lt;br /&gt;
&lt;br /&gt;
Générer des certificats (ou utiliser Let'sEncrypt !) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  openssl genrsa -out privkey.pem 2048&lt;br /&gt;
  openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Copier et renommer les fichiers générés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  mv cacert.pem /etc/ssl/seafile.crt&lt;br /&gt;
  mv privkey.pem /etc/ssl/seafile.key&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Si nécessaire, faire une redirection du site HTTP vers HTTPS. A la racine du site HTTP (port 80, qui doit être différente de la racine du site HTTPS), créer un fichier .htaccess :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RewriteEngine On&lt;br /&gt;
RewriteCond %{HTTPS} off&lt;br /&gt;
RewriteRule ^(.*)$ https://seafile.domain.fr/$1 [L,R=301]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/httpd/conf/httpd.conf : s'assurer que la directive &amp;quot;AllowOverride&amp;quot; du site par défaut (sous &amp;lt;Directory /var/www/html&amp;gt;) est à &amp;quot;All&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Supprimer /etc/httpd/conf.d/welcome.conf pour ne pas tomber sur la page de test en cas d'erreur.&lt;br /&gt;
&lt;br /&gt;
Reste à relancer apache&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  systemctl restart httpd&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''NOTE : Vérifier qu'Apache écoute sur le port 443 ! Décommenter &amp;quot;Listen 443&amp;quot; dans /etc/httpd/conf.d/ssl.conf.'''&lt;br /&gt;
&lt;br /&gt;
== Connexion seahub par NGINX ==&lt;br /&gt;
&amp;lt;!-- ARCHIVES&lt;br /&gt;
La configuration nginx (https via fastcgi) est enregistrée dans un fichier, chargé ensuite en &amp;quot;include&amp;quot; dans la configuration de nginx :&lt;br /&gt;
 server {&lt;br /&gt;
     listen 192.168.0.50:443;&lt;br /&gt;
     ssl on;&lt;br /&gt;
     ssl_certificate      /home/seafile/conf/ssl.seafile.domain.fr.pem;&lt;br /&gt;
     ssl_certificate_key  /home/seafile/conf/ssl.seafile.domain.fr.key;&lt;br /&gt;
     server_name  seafile.domain.fr;&lt;br /&gt;
     proxy_set_header X-Forwarded-For $remote_addr;&lt;br /&gt;
 &lt;br /&gt;
     add_header Strict-Transport-Security &amp;quot;max-age=31536000; includeSubdomains&amp;quot;;&lt;br /&gt;
     server_tokens off;&lt;br /&gt;
 &lt;br /&gt;
     location / {&lt;br /&gt;
         fastcgi_pass    127.0.0.1:8000;&lt;br /&gt;
         fastcgi_param   SCRIPT_FILENAME     $document_root$fastcgi_script_name;&lt;br /&gt;
         fastcgi_param   PATH_INFO           $fastcgi_script_name;&lt;br /&gt;
 &lt;br /&gt;
         fastcgi_param   SERVER_PROTOCOL        $server_protocol;&lt;br /&gt;
         fastcgi_param   QUERY_STRING        $query_string;&lt;br /&gt;
         fastcgi_param   REQUEST_METHOD      $request_method;&lt;br /&gt;
         fastcgi_param   CONTENT_TYPE        $content_type;&lt;br /&gt;
         fastcgi_param   CONTENT_LENGTH      $content_length;&lt;br /&gt;
         fastcgi_param   SERVER_ADDR         $server_addr;&lt;br /&gt;
         fastcgi_param   SERVER_PORT         $server_port;&lt;br /&gt;
         fastcgi_param   SERVER_NAME         $server_name;&lt;br /&gt;
         fastcgi_param   HTTPS               on;&lt;br /&gt;
         fastcgi_param   HTTP_SCHEME         https;&lt;br /&gt;
 &lt;br /&gt;
         access_log      /var/log/nginx/seahub.access.log;&lt;br /&gt;
         error_log       /var/log/nginx/seahub.error.log;&lt;br /&gt;
         fastcgi_read_timeout 36000;&lt;br /&gt;
     }&lt;br /&gt;
     location /seafhttp {&lt;br /&gt;
         rewrite ^/seafhttp(.*)$ $1 break;&lt;br /&gt;
         proxy_pass http://127.0.0.1:8082;&lt;br /&gt;
         client_max_body_size 0;&lt;br /&gt;
         proxy_connect_timeout  36000s;&lt;br /&gt;
         proxy_read_timeout  36000s;&lt;br /&gt;
         proxy_send_timeout  36000s;&lt;br /&gt;
         send_timeout  36000s;&lt;br /&gt;
     }&lt;br /&gt;
     location /media {&lt;br /&gt;
         root /home/seafile/seafile-server-latest/seahub;&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Créer /etc/nginx/conf.d/seafile.conf :&lt;br /&gt;
    server {&lt;br /&gt;
        listen 443;&lt;br /&gt;
        ssl on;&lt;br /&gt;
        ssl_certificate /etc/ssl/cacert.pem;        # path to your cacert.pem&lt;br /&gt;
        ssl_certificate_key /etc/ssl/privkey.pem;    # path to your privkey.pem&lt;br /&gt;
        server_name seafile.example.com;&lt;br /&gt;
        ssl_session_timeout 5m;&lt;br /&gt;
        ssl_session_cache shared:SSL:5m;&lt;br /&gt;
 &lt;br /&gt;
        # Diffie-Hellman parameter for DHE ciphersuites, recommended 2048 bits&lt;br /&gt;
        ssl_dhparam /etc/nginx/dhparam.pem;&lt;br /&gt;
 &lt;br /&gt;
        # secure settings (A+ at SSL Labs ssltest at time of writing)&lt;br /&gt;
        # see https://wiki.mozilla.org/Security/Server_Side_TLS#Nginx&lt;br /&gt;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;&lt;br /&gt;
        ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-CAMELLIA256-SHA:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-SEED-SHA:DHE-RSA-CAMELLIA128-SHA:HIGH:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS';&lt;br /&gt;
        ssl_prefer_server_ciphers on;&lt;br /&gt;
 &lt;br /&gt;
        proxy_set_header X-Forwarded-For $remote_addr;&lt;br /&gt;
 &lt;br /&gt;
        add_header Strict-Transport-Security &amp;quot;max-age=31536000; includeSubDomains&amp;quot;;&lt;br /&gt;
        server_tokens off;&lt;br /&gt;
 &lt;br /&gt;
        location / {&lt;br /&gt;
            proxy_pass         http://127.0.0.1:8000;&lt;br /&gt;
            proxy_set_header   Host $host;&lt;br /&gt;
            proxy_set_header   X-Real-IP $remote_addr;&lt;br /&gt;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;&lt;br /&gt;
            proxy_set_header   X-Forwarded-Host $server_name;&lt;br /&gt;
            proxy_set_header   X-Forwarded-Proto https;&lt;br /&gt;
 &lt;br /&gt;
            access_log      /var/log/nginx/seahub.access.log;&lt;br /&gt;
            error_log       /var/log/nginx/seahub.error.log;&lt;br /&gt;
 &lt;br /&gt;
            proxy_read_timeout  1200s;&lt;br /&gt;
 &lt;br /&gt;
            client_max_body_size 0;&lt;br /&gt;
        }&lt;br /&gt;
 &lt;br /&gt;
        location /seafhttp {&lt;br /&gt;
            rewrite ^/seafhttp(.*)$ $1 break;&lt;br /&gt;
            proxy_pass http://127.0.0.1:8082;&lt;br /&gt;
            client_max_body_size 0;&lt;br /&gt;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;&lt;br /&gt;
            proxy_connect_timeout  36000s;&lt;br /&gt;
            proxy_read_timeout  36000s;&lt;br /&gt;
            proxy_send_timeout  36000s;&lt;br /&gt;
            send_timeout  36000s;&lt;br /&gt;
        }&lt;br /&gt;
        location /media {&lt;br /&gt;
            root /home/user/haiwen/seafile-server-latest/seahub;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Et créer le fichier DHPARAM :&lt;br /&gt;
    openssl dhparam 2048 &amp;gt; /etc/nginx/dhparam.pem&lt;br /&gt;
&lt;br /&gt;
== WebDAV ==&lt;br /&gt;
Pour activer WebDAV (gestion des fichiers via le web) sur Seafile :&lt;br /&gt;
* Editer seafile/conf/seafdav.conf&lt;br /&gt;
  [WEBDAV]&lt;br /&gt;
  enabled = true&lt;br /&gt;
  port = 8080&lt;br /&gt;
  fastcgi = true&lt;br /&gt;
  share_name = /seafdav&lt;br /&gt;
&lt;br /&gt;
* Ajouter dans /etc/httpd/conf.d/seafile.conf les lignes suivantes :&lt;br /&gt;
&lt;br /&gt;
  #&lt;br /&gt;
  # seafile webdav&lt;br /&gt;
  #&lt;br /&gt;
  RewriteCond %{HTTP:Authorization} (.+)&lt;br /&gt;
  RewriteRule ^(/seafdav.*)$ /seafdav.fcgi$1 [QSA,L,e=HTTP_AUTHORIZATION:%1]&lt;br /&gt;
  RewriteRule ^(/seafdav.*)$ /seafdav.fcgi$1 [QSA,L]&lt;br /&gt;
&lt;br /&gt;
* Ajouter dans /etc/httpd/conf.d/fastcgi.conf la ligne :&lt;br /&gt;
&lt;br /&gt;
  FastCGIExternalServer /var/www/seafdav.fcgi -host 127.0.0.1:8080&lt;br /&gt;
&lt;br /&gt;
Reste à relancer apache et Seafile&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  systemctl restart httpd&lt;br /&gt;
  systemctl restart seafile&lt;br /&gt;
  systemctl restart seahub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
La connexion du client DAV se fera sur le dossier &amp;quot;/seafdav&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Memcached ==&lt;br /&gt;
On peut utiliser seafile avec memcached pour accélérer la navigation :&lt;br /&gt;
&lt;br /&gt;
Installation dur CentOS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  yum install memcached python-memcached&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ajouter dans seafile/conf/seahub_setting.py :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CACHES = {&lt;br /&gt;
    'default': {&lt;br /&gt;
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',&lt;br /&gt;
	'LOCATION': '127.0.0.1:11211',&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mise à jour ==&lt;br /&gt;
Arrêter seafile et seahub :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  systemctl stop seafile&lt;br /&gt;
  systemctl stop seahub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
On donne tout de suite les droits à l'utilisateur seafile (important ! si on fait ensuite la mise à jour en tant qu'utilisateur &amp;quot;seafile&amp;quot;) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  chown -R seafile:apache /home/seafile &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Passer sous l'utilisateur seafile (préférable, pour éviter les problèmes de version de Python, voir&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  su - seafile&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Télécharger et installer la mise à jour :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  cd /home/seafile/installed&lt;br /&gt;
  wget https://bitbucket.org/haiwen/seafile/downloads/seafile-server_6.2.3_x86-64.tar.gz&lt;br /&gt;
  tar xvzf  seafile-server_6.2.3_i386.tar.gz&lt;br /&gt;
  mv seafile-server-6.2.3 ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Mise à jour de version principale (6.0 -&amp;gt; 6.3) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd ../seafile-server-6.3.2/upgrade&lt;br /&gt;
 ./upgrade_6.0_6.1.sh&lt;br /&gt;
 ./upgrade_6.1_6.2.sh&lt;br /&gt;
 ./upgrade_6.2_6.3.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Redevenir &amp;quot;root&amp;quot; et lancer les services seafile et seahub&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  systemctl start seafile&lt;br /&gt;
  systemctl start seahub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Personnalisation ==&lt;br /&gt;
=== Logo ===&lt;br /&gt;
Mettre l'image ici, avec ce nom exact (sauvegarder éventuellement le seafile_logo.png existant) :&lt;br /&gt;
 /home/seafile/seafile-server-latest/seahub/media/img/seafile_logo.png&lt;br /&gt;
Redémarrer seahub&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ARCHIVES&lt;br /&gt;
=== Traduction ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /home/seafile/seafile-server-2.1.5/seahub/locale/fr/LC_MESSAGES&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Suppression de l'ancienne traduction :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  rm django.po&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Télécharger la traduction :&lt;br /&gt;
* depuis le site officiel de traduction :&amp;lt;br/&amp;gt;&lt;br /&gt;
https://www.transifex.com/organization/haiwen/dashboard/seahub&lt;br /&gt;
&lt;br /&gt;
* ou depuis le depot git de seahub :&amp;lt;br/&amp;gt;&lt;br /&gt;
https://github.com/haiwen/seahub/tree/master/locale/fr/LC_MESSAGES&lt;br /&gt;
&lt;br /&gt;
Compiler le fichier de traduction :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  msgfmt -o django.mo -v django.po&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Redémarrer seahub&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
œ&lt;br /&gt;
== Sauvegarde / restauration ==&lt;br /&gt;
=== Sauvegarde ===&lt;br /&gt;
Il est préférable d'arrêter les service Seafile avant sauvegarde, afin que celle-ci soit cohérente.&lt;br /&gt;
* Sauvegarder le dossier /home/seafile/ (dans son entier, c'est plus simple)&lt;br /&gt;
* Sauvegarder les 3 bases de données (par mysqldump sous MySQL/MariaDB) : ccnet-db, seafile-db, seahub-db&lt;br /&gt;
&lt;br /&gt;
=== Restauration ===&lt;br /&gt;
Réinstaller si nécessaire Seafile, puis supprimer (ou renommer en .bak) le dossier /home/seafile.&lt;br /&gt;
&lt;br /&gt;
Après sauvegarde (ou dump) des 3 bases de données (au cas où), les supprimer, et les recréer vides.&lt;br /&gt;
&lt;br /&gt;
Restaurer les 3 bases.&lt;br /&gt;
&lt;br /&gt;
Restaurer le dossier /home/seafile.&lt;br /&gt;
&lt;br /&gt;
Lancer les services Seafile, et faire un check du répertoire (voir ci-dessous)&lt;br /&gt;
== Réparation ==&lt;br /&gt;
En cas de message d'erreur sur des bibilothèques (&amp;quot;endommagée&amp;quot;), lancer un check :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd /home/seafile/seafile-server-latest/&lt;br /&gt;
 ./seaf-fsck.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si des bibliothèques apparaissent corrompues et si le script indique &amp;quot;Find available commit xxxxx (created at xxxx-xx-xx xx:xx:xx) for repo xxxxxxx.&amp;quot;, copier l'identifiant du dépôt (indiqué sur la ligne &amp;quot;Running fsck for repo xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&amp;quot;) et lancer une réparation :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd /home/seafile/seafile-server-latest/&lt;br /&gt;
 ./seaf-fsck.sh --repair xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TIPS ==&lt;br /&gt;
* Les logs sont visibles dans &amp;lt;racine_du_virtualhost&amp;gt;/seafile/seafile-server-&amp;lt;version&amp;gt;/runtime/&lt;br /&gt;
* changer le mail administrateur : &amp;lt;racine_du_virtualhost&amp;gt;/seafile/seafile-server-&amp;lt;version&amp;gt;/reset_admin.sh&lt;br /&gt;
* administer seafile en ligne de commande : https://github.com/HenriWahl/seafadm&lt;br /&gt;
* backup en utilisant l'api (fichier api.py intéressant) : https://github.com/oal/barch&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Seafile_:_installation_sur_CentOS&amp;diff=6630</id>
		<title>Seafile : installation sur CentOS</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Seafile_:_installation_sur_CentOS&amp;diff=6630"/>
				<updated>2018-09-08T15:27:45Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installation ==&lt;br /&gt;
Update 08/2018 : procédure revue pour CentOS7 et Seafile 6.3.2 (particularité : Seahub n'utilise plus fastcgi).&lt;br /&gt;
&lt;br /&gt;
Installer les pré-requis :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
yum install python-setuptools python-simplejson python-imaging MySQL-python httpd mod_ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vérifier la dernière version serveur sur https://www.seafile.com/en/download/&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd install/&lt;br /&gt;
 wget https://download.seadrive.org/seafile-server_[ dernière version de Seafile ]_x86-64.tar.gz # ou ....i386.tar.gz sur système 32 bits&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Créer un répertoire seafile dans /home:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd /home&lt;br /&gt;
 mkdir seafile&lt;br /&gt;
 cd seafile&lt;br /&gt;
 tar -xvzf /root/install/seafile-server_[ version seafile ]_*.tar.gz&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
L'archive crée un sous-répertoire avec la version en cours. Lors d'une mise à jour, la précédente version ne sera donc pas écrasée.&lt;br /&gt;
&lt;br /&gt;
Lancer l'installation (qui créera les bases de données) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd seafile-server-[ version seafile ]&lt;br /&gt;
 ./setup-seafile-mysql.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Nommer le server (nom affiché sur les clients, sans espaces)&lt;br /&gt;
* donner l'IP du serveur&lt;br /&gt;
* laisser le port ccnet, le chemin des données et les ports seafile par défaut&lt;br /&gt;
* donner un mail pour l'administrateur (mail existant si possible, qui servira à se connecter à l'interface) et un mot de passe&lt;br /&gt;
* Choisir &amp;quot;1&amp;quot; pour créer les bases&lt;br /&gt;
* donner les paramètres MySQL&lt;br /&gt;
* demander la création d'un utilisateur seafile&lt;br /&gt;
* laisser les noms de bases par défaut&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
On peut alors tester Seafile directement :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 sudo su - seafile # au cas où on s'est connecté &amp;quot;root&amp;quot; auparavant&lt;br /&gt;
 ./seafile.sh start&lt;br /&gt;
 ./seahub.sh start&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
NOTE : IL EST IMPORTANT de lancer &amp;quot;seahub.sh start&amp;quot; AU MOINS UNE FOIS en ligne de commande, car cette première fois demande la mail (donc le login) et le mot de passe de l'utilisateur admin de Seafile !&lt;br /&gt;
&lt;br /&gt;
Se connecter à l'interface par &amp;lt;nowiki&amp;gt;http://IP_DU_SERVEUR:8000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
Editer le fichier /home/seafile/conf/seafile.conf&lt;br /&gt;
 [fileserver]&lt;br /&gt;
 port = 8082&lt;br /&gt;
 &lt;br /&gt;
 [database]&lt;br /&gt;
 type = mysql&lt;br /&gt;
 host = 127.0.0.1&lt;br /&gt;
 port = 3306&lt;br /&gt;
 user = seafile&lt;br /&gt;
 password = PwdMySQLseafile&lt;br /&gt;
 db_name = seafile-db&lt;br /&gt;
 connection_charset = utf8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Editer le fichier /home/seafile/conf/seahub_settings.py :&lt;br /&gt;
 # -*- coding: utf-8 -*-&lt;br /&gt;
 SECRET_KEY = &amp;quot;d56a6cbc-751c-dc66-9fdb-45f4492f5abda7d3&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 DATABASES = {&lt;br /&gt;
     'default': {&lt;br /&gt;
         'ENGINE': 'django.db.backends.mysql',&lt;br /&gt;
         'NAME': 'seahub-db',&lt;br /&gt;
         'USER': 'seafile',&lt;br /&gt;
         'PASSWORD': 'PwdSeafile',&lt;br /&gt;
         'HOST': '127.0.0.1',&lt;br /&gt;
         'PORT': '3306',&lt;br /&gt;
         'OPTIONS': {&lt;br /&gt;
             'init_command': 'SET '''default_storage_engine'''=INNODB',&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 FILE_SERVER_ROOT = 'https://seafile.domain.fr/seafhttp'&lt;br /&gt;
 &lt;br /&gt;
 EMAIL_USE_TLS = False&lt;br /&gt;
 EMAIL_HOST = 'localhost'        # smpt server&lt;br /&gt;
 EMAIL_HOST_USER = ''    # username and domain&lt;br /&gt;
 EMAIL_HOST_PASSWORD = ''    # password&lt;br /&gt;
 EMAIL_PORT = '25'&lt;br /&gt;
 DEFAULT_FROM_EMAIL = 'postmaster@domain.fr' # parce que EMAIL_HOST_USER est vide ci-dessus, sinon on peut reprendre cette variable.&lt;br /&gt;
 SERVER_EMAIL = 'postmaster@domain.fr'&lt;br /&gt;
&lt;br /&gt;
Attention au &amp;quot;default_storage_engine&amp;quot; (plutôt que &amp;quot;storage_engine&amp;quot;) à partir de la version 5 de Seafile !&lt;br /&gt;
&lt;br /&gt;
== Lancement automatique ==&lt;br /&gt;
https://github.com/haiwen/seafile/wiki/Start-seafile-server-at-system-bootup&lt;br /&gt;
&lt;br /&gt;
D'abord, arrêter Seafile !&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd seafile-server-latest&lt;br /&gt;
 ./seafile.sh stop&lt;br /&gt;
 ./seahub.sh stop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Créer un utilisateur seafile, dont le homedir sera le répertoire seafile :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 adduser -c &amp;quot;Seafile user&amp;quot; -d /home/seafile seafile&lt;br /&gt;
 chown -R seafile:seafile /home/seafile&lt;br /&gt;
 chmod 750 /home/seafile&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT''' : vérifier l'appartenance de l'arborescence /home/seafile pour qu'il n'y ait pas de problèmes de droits !&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 chown -R seafile:seafile /home/seafile&lt;br /&gt;
 chmod 750 /home/seafile&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Systèmes SYSTEMD (CentOS &amp;gt;= 7) ===&lt;br /&gt;
Créer /etc/systemd/system/seafile.service&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Seafile&lt;br /&gt;
# add mysql.service or postgresql.service depending on your database to the line below&lt;br /&gt;
After=network.target mysql.service&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
ExecStart=/home/seafile/seafile-server-latest/seafile.sh start&lt;br /&gt;
ExecStop=/home/seafile/seafile-server-latest/seafile.sh stop&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
User=seafile&lt;br /&gt;
Group=seafile&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
et /etc/systemd/system/seahub.service&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Seafile hub&lt;br /&gt;
After=network.target seafile.service&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
# change start to start-fastcgi if you want to run fastcgi&lt;br /&gt;
ExecStart=/home/seafile//seafile-server-latest/seahub.sh start-fastcgi&lt;br /&gt;
ExecStop=/home/seafile/seafile-server-latest/seahub.sh stop&lt;br /&gt;
User=seafile&lt;br /&gt;
Group=seafile&lt;br /&gt;
Type=oneshot&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Activer et lancer les 2 services&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl enable seafile&lt;br /&gt;
systemctl enable seahub&lt;br /&gt;
systemctl start seafile&lt;br /&gt;
systemctl start seahub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ARCHIVES&lt;br /&gt;
== Plusieurs versions de Python ==&lt;br /&gt;
Si, après l'installation de Seafile avec Python 2.6, une version 2.7 est installée sur le serveur, par défaut c'est cette dernière qui sera utilisée (les scripts de lancement de Seafile et Seahub recherchent les binaires Python et s'arrêtent sur la 2.7).&lt;br /&gt;
&lt;br /&gt;
Mais les modules nécessaires à Seafile ont été installés sur la version 2.6, la 2.7 ne les voit pas, Seafile ne démarre pas (dans les logs, erreurs du type :&lt;br /&gt;
&amp;quot;ImportError: No module named simplejson&amp;quot; ou ImportError: No module named MySQL-python&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Si (comme c'est le cas sur CentOS6 où la version 2.7 n'est pas dans les dépôts, et doit être installée manuellement) les modules nécessaires ne sont pas facilement installables sur la 2.7, il faut forcer la 2.6.&lt;br /&gt;
&lt;br /&gt;
Pour ça, on initialise la variable PYTHON qui, si elle n'est pas vide, empêche les scripts Seafile de chercher plus loin.&lt;br /&gt;
&lt;br /&gt;
Créer /home/seafile/.bash_profile avec :&lt;br /&gt;
 PYTHON=/usr/bin/python2.6 # le chemin de l'exécutable qu'on souhaite&lt;br /&gt;
 export PYTHON&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 chown seafile.seafile /home/seafile/.bash_profile&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Les scripts ne devraient plus chercher Python et démarrer sans problème.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Connexion seahub par Apache ==&lt;br /&gt;
Depuis la version 6.3.2, Seafile n'utilise plus fastcgi. On utilise Apache en proxy simple. On ne détaillera ici que la configuration SSL.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ARCHIVES&lt;br /&gt;
Pour la liaison entre Apache et Seafile, on utilisera Fastcgi. Sur CentOS, à installer des dépôts RPMForge (voir [[Dépôts complémentaires]]) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  yum install --enablerepo=rpmforge mod_fastcgi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Editer /etc/httpd/conf.d/fastcgi.conf, modifier :&lt;br /&gt;
  FastCgiWrapper Off&lt;br /&gt;
et ajouter à la fin :&lt;br /&gt;
  &amp;lt;IfModule mod_fastcgi.c&amp;gt;&lt;br /&gt;
      FastCGIExternalServer /var/www/seahub.fcgi -host 127.0.0.1:8000 &lt;br /&gt;
  &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
'''NOTE : le fichier /var/www/seahub.fcgi n'a pas besoin d'exister, ce n'est qu'un &amp;quot;wrapper&amp;quot; (voir ci-dessous)'''&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Créer un fichier /etc/httpd/conf.d/seafile.conf :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
    ServerName seafile.domain.fr&lt;br /&gt;
    DocumentRoot /var/www&lt;br /&gt;
    Alias /media /home/seafile/seafile-server-latest/seahub/media/           &lt;br /&gt;
    RewriteEngine On&lt;br /&gt;
    &lt;br /&gt;
    # seafile httpserver&lt;br /&gt;
    #&lt;br /&gt;
    ProxyPass /seafhttp http://127.0.0.1:8082&lt;br /&gt;
    ProxyPassReverse /seafhttp http://127.0.0.1:8082&lt;br /&gt;
    RewriteRule ^/seafhttp - [QSA,L]&lt;br /&gt;
  &lt;br /&gt;
    #&lt;br /&gt;
    # seahub&lt;br /&gt;
    #&lt;br /&gt;
    RewriteRule ^/(media.*)$ /$1 [QSA,L,PT]&lt;br /&gt;
    RewriteCond %{REQUEST_FILENAME} !-f&lt;br /&gt;
    RewriteRule ^(.*)$ /seahub.fcgi$1 [QSA,L,E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]&lt;br /&gt;
    &lt;br /&gt;
    # add ssl protocol&lt;br /&gt;
    SSLEngine On&lt;br /&gt;
    SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire&lt;br /&gt;
    SSLCertificateFile    /etc/ssl/seafile.crt&lt;br /&gt;
    SSLCertificateKeyFile /etc/ssl/seafile.key&lt;br /&gt;
&amp;lt;/virtualhost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ARCHIVE&lt;br /&gt;
'''NOTE : le DocumentRoot doit correspondre au chemin du &amp;quot;wrapper&amp;quot; seahub.fcgi paramétré plus haut !'''&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Dans /home/seafile, éditer ccnet/ccnet.conf, modifier SERVICE_URL par l'URL externe de Seafile (ce paramètre sera utilisé pour construire notamment les liens qui pourraient être envoyés par mail) :&lt;br /&gt;
  SERVICE_URL = https://seafile.domain.fr&lt;br /&gt;
Editer seahub_settings.py, ajouter :&lt;br /&gt;
  HTTP_SERVER_ROOT = 'https://seafile.domain.fr/seafhttp'&lt;br /&gt;
&amp;quot;HTTP_SERVER_ROOT&amp;quot; peut être aussi &amp;quot;FILE_SERVER_ROOT&amp;quot;, indifféremment.&lt;br /&gt;
&lt;br /&gt;
Générer des certificats (ou utiliser Let'sEncrypt !) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  openssl genrsa -out privkey.pem 2048&lt;br /&gt;
  openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Copier et renommer les fichiers générés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  mv cacert.pem /etc/ssl/seafile.crt&lt;br /&gt;
  mv privkey.pem /etc/ssl/seafile.key&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Si nécessaire, faire une redirection du site HTTP vers HTTPS. A la racine du site HTTP (port 80, qui doit être différente de la racine du site HTTPS), créer un fichier .htaccess :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RewriteEngine On&lt;br /&gt;
RewriteCond %{HTTPS} off&lt;br /&gt;
RewriteRule ^(.*)$ https://seafile.domain.fr/$1 [L,R=301]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/httpd/conf/httpd.conf : s'assurer que la directive &amp;quot;AllowOverride&amp;quot; du site par défaut (sous &amp;lt;Directory /var/www/html&amp;gt;) est à &amp;quot;All&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Supprimer /etc/httpd/conf.d/welcome.conf pour ne pas tomber sur la page de test en cas d'erreur.&lt;br /&gt;
&lt;br /&gt;
Reste à relancer apache&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  systemctl restart httpd&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''NOTE : Vérifier qu'Apache écoute sur le port 443 ! Décommenter &amp;quot;Listen 443&amp;quot; dans /etc/httpd/conf.d/ssl.conf.'''&lt;br /&gt;
&lt;br /&gt;
== Connexion seahub par NGINX ==&lt;br /&gt;
&amp;lt;!-- ARCHIVES&lt;br /&gt;
La configuration nginx (https via fastcgi) est enregistrée dans un fichier, chargé ensuite en &amp;quot;include&amp;quot; dans la configuration de nginx :&lt;br /&gt;
 server {&lt;br /&gt;
     listen 192.168.0.50:443;&lt;br /&gt;
     ssl on;&lt;br /&gt;
     ssl_certificate      /home/seafile/conf/ssl.seafile.domain.fr.pem;&lt;br /&gt;
     ssl_certificate_key  /home/seafile/conf/ssl.seafile.domain.fr.key;&lt;br /&gt;
     server_name  seafile.domain.fr;&lt;br /&gt;
     proxy_set_header X-Forwarded-For $remote_addr;&lt;br /&gt;
 &lt;br /&gt;
     add_header Strict-Transport-Security &amp;quot;max-age=31536000; includeSubdomains&amp;quot;;&lt;br /&gt;
     server_tokens off;&lt;br /&gt;
 &lt;br /&gt;
     location / {&lt;br /&gt;
         fastcgi_pass    127.0.0.1:8000;&lt;br /&gt;
         fastcgi_param   SCRIPT_FILENAME     $document_root$fastcgi_script_name;&lt;br /&gt;
         fastcgi_param   PATH_INFO           $fastcgi_script_name;&lt;br /&gt;
 &lt;br /&gt;
         fastcgi_param   SERVER_PROTOCOL        $server_protocol;&lt;br /&gt;
         fastcgi_param   QUERY_STRING        $query_string;&lt;br /&gt;
         fastcgi_param   REQUEST_METHOD      $request_method;&lt;br /&gt;
         fastcgi_param   CONTENT_TYPE        $content_type;&lt;br /&gt;
         fastcgi_param   CONTENT_LENGTH      $content_length;&lt;br /&gt;
         fastcgi_param   SERVER_ADDR         $server_addr;&lt;br /&gt;
         fastcgi_param   SERVER_PORT         $server_port;&lt;br /&gt;
         fastcgi_param   SERVER_NAME         $server_name;&lt;br /&gt;
         fastcgi_param   HTTPS               on;&lt;br /&gt;
         fastcgi_param   HTTP_SCHEME         https;&lt;br /&gt;
 &lt;br /&gt;
         access_log      /var/log/nginx/seahub.access.log;&lt;br /&gt;
         error_log       /var/log/nginx/seahub.error.log;&lt;br /&gt;
         fastcgi_read_timeout 36000;&lt;br /&gt;
     }&lt;br /&gt;
     location /seafhttp {&lt;br /&gt;
         rewrite ^/seafhttp(.*)$ $1 break;&lt;br /&gt;
         proxy_pass http://127.0.0.1:8082;&lt;br /&gt;
         client_max_body_size 0;&lt;br /&gt;
         proxy_connect_timeout  36000s;&lt;br /&gt;
         proxy_read_timeout  36000s;&lt;br /&gt;
         proxy_send_timeout  36000s;&lt;br /&gt;
         send_timeout  36000s;&lt;br /&gt;
     }&lt;br /&gt;
     location /media {&lt;br /&gt;
         root /home/seafile/seafile-server-latest/seahub;&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Créer /etc/nginx/conf.d/seafile.conf :&lt;br /&gt;
    server {&lt;br /&gt;
        listen 443;&lt;br /&gt;
        ssl on;&lt;br /&gt;
        ssl_certificate /etc/ssl/cacert.pem;        # path to your cacert.pem&lt;br /&gt;
        ssl_certificate_key /etc/ssl/privkey.pem;    # path to your privkey.pem&lt;br /&gt;
        server_name seafile.example.com;&lt;br /&gt;
        ssl_session_timeout 5m;&lt;br /&gt;
        ssl_session_cache shared:SSL:5m;&lt;br /&gt;
&lt;br /&gt;
        # Diffie-Hellman parameter for DHE ciphersuites, recommended 2048 bits&lt;br /&gt;
        ssl_dhparam /etc/nginx/dhparam.pem;&lt;br /&gt;
&lt;br /&gt;
        # secure settings (A+ at SSL Labs ssltest at time of writing)&lt;br /&gt;
        # see https://wiki.mozilla.org/Security/Server_Side_TLS#Nginx&lt;br /&gt;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;&lt;br /&gt;
        ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-CAMELLIA256-SHA:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-SEED-SHA:DHE-RSA-CAMELLIA128-SHA:HIGH:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS';&lt;br /&gt;
        ssl_prefer_server_ciphers on;&lt;br /&gt;
&lt;br /&gt;
        proxy_set_header X-Forwarded-For $remote_addr;&lt;br /&gt;
&lt;br /&gt;
        add_header Strict-Transport-Security &amp;quot;max-age=31536000; includeSubDomains&amp;quot;;&lt;br /&gt;
        server_tokens off;&lt;br /&gt;
&lt;br /&gt;
        location / {&lt;br /&gt;
            proxy_pass         http://127.0.0.1:8000;&lt;br /&gt;
            proxy_set_header   Host $host;&lt;br /&gt;
            proxy_set_header   X-Real-IP $remote_addr;&lt;br /&gt;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;&lt;br /&gt;
            proxy_set_header   X-Forwarded-Host $server_name;&lt;br /&gt;
            proxy_set_header   X-Forwarded-Proto https;&lt;br /&gt;
&lt;br /&gt;
            access_log      /var/log/nginx/seahub.access.log;&lt;br /&gt;
            error_log       /var/log/nginx/seahub.error.log;&lt;br /&gt;
&lt;br /&gt;
            proxy_read_timeout  1200s;&lt;br /&gt;
&lt;br /&gt;
            client_max_body_size 0;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        location /seafhttp {&lt;br /&gt;
            rewrite ^/seafhttp(.*)$ $1 break;&lt;br /&gt;
            proxy_pass http://127.0.0.1:8082;&lt;br /&gt;
            client_max_body_size 0;&lt;br /&gt;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;&lt;br /&gt;
            proxy_connect_timeout  36000s;&lt;br /&gt;
            proxy_read_timeout  36000s;&lt;br /&gt;
            proxy_send_timeout  36000s;&lt;br /&gt;
            send_timeout  36000s;&lt;br /&gt;
        }&lt;br /&gt;
        location /media {&lt;br /&gt;
            root /home/user/haiwen/seafile-server-latest/seahub;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Et créer le fichier DHPARAM :&lt;br /&gt;
    openssl dhparam 2048 &amp;gt; /etc/nginx/dhparam.pem&lt;br /&gt;
&lt;br /&gt;
== WebDAV ==&lt;br /&gt;
Pour activer WebDAV (gestion des fichiers via le web) sur Seafile :&lt;br /&gt;
* Editer seafile/conf/seafdav.conf&lt;br /&gt;
  [WEBDAV]&lt;br /&gt;
  enabled = true&lt;br /&gt;
  port = 8080&lt;br /&gt;
  fastcgi = true&lt;br /&gt;
  share_name = /seafdav&lt;br /&gt;
&lt;br /&gt;
* Ajouter dans /etc/httpd/conf.d/seafile.conf les lignes suivantes :&lt;br /&gt;
&lt;br /&gt;
  #&lt;br /&gt;
  # seafile webdav&lt;br /&gt;
  #&lt;br /&gt;
  RewriteCond %{HTTP:Authorization} (.+)&lt;br /&gt;
  RewriteRule ^(/seafdav.*)$ /seafdav.fcgi$1 [QSA,L,e=HTTP_AUTHORIZATION:%1]&lt;br /&gt;
  RewriteRule ^(/seafdav.*)$ /seafdav.fcgi$1 [QSA,L]&lt;br /&gt;
&lt;br /&gt;
* Ajouter dans /etc/httpd/conf.d/fastcgi.conf la ligne :&lt;br /&gt;
&lt;br /&gt;
  FastCGIExternalServer /var/www/seafdav.fcgi -host 127.0.0.1:8080&lt;br /&gt;
&lt;br /&gt;
Reste à relancer apache et Seafile&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  systemctl restart httpd&lt;br /&gt;
  systemctl restart seafile&lt;br /&gt;
  systemctl restart seahub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
La connexion du client DAV se fera sur le dossier &amp;quot;/seafdav&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Memcached ==&lt;br /&gt;
On peut utiliser seafile avec memcached pour accélérer la navigation :&lt;br /&gt;
&lt;br /&gt;
Installation dur CentOS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  yum install memcached python-memcached&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ajouter dans seafile/conf/seahub_setting.py :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CACHES = {&lt;br /&gt;
    'default': {&lt;br /&gt;
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',&lt;br /&gt;
	'LOCATION': '127.0.0.1:11211',&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mise à jour ==&lt;br /&gt;
Arrêter seafile et seahub :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  systemctl stop seafile&lt;br /&gt;
  systemctl stop seahub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
On donne tout de suite les droits à l'utilisateur seafile (important ! si on fait ensuite la mise à jour en tant qu'utilisateur &amp;quot;seafile&amp;quot;) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  chown -R seafile:apache /home/seafile &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Passer sous l'utilisateur seafile (préférable, pour éviter les problèmes de version de Python, voir&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  su - seafile&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Télécharger et installer la mise à jour :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  cd /home/seafile/installed&lt;br /&gt;
  wget https://bitbucket.org/haiwen/seafile/downloads/seafile-server_6.2.3_x86-64.tar.gz&lt;br /&gt;
  tar xvzf  seafile-server_6.2.3_i386.tar.gz&lt;br /&gt;
  mv seafile-server-6.2.3 ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Mise à jour de version principale (6.0 -&amp;gt; 6.3) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd ../seafile-server-6.3.2/upgrade&lt;br /&gt;
 ./upgrade_6.0_6.1.sh&lt;br /&gt;
 ./upgrade_6.1_6.2.sh&lt;br /&gt;
 ./upgrade_6.2_6.3.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Redevenir &amp;quot;root&amp;quot; et lancer les services seafile et seahub&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  systemctl start seafile&lt;br /&gt;
  systemctl start seahub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Personnalisation ==&lt;br /&gt;
=== Logo ===&lt;br /&gt;
Mettre l'image ici, avec ce nom exact (sauvegarder éventuellement le seafile_logo.png existant) :&lt;br /&gt;
 /home/seafile/seafile-server-latest/seahub/media/img/seafile_logo.png&lt;br /&gt;
Redémarrer seahub&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ARCHIVES&lt;br /&gt;
=== Traduction ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /home/seafile/seafile-server-2.1.5/seahub/locale/fr/LC_MESSAGES&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Suppression de l'ancienne traduction :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  rm django.po&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Télécharger la traduction :&lt;br /&gt;
* depuis le site officiel de traduction :&amp;lt;br/&amp;gt;&lt;br /&gt;
https://www.transifex.com/organization/haiwen/dashboard/seahub&lt;br /&gt;
&lt;br /&gt;
* ou depuis le depot git de seahub :&amp;lt;br/&amp;gt;&lt;br /&gt;
https://github.com/haiwen/seahub/tree/master/locale/fr/LC_MESSAGES&lt;br /&gt;
&lt;br /&gt;
Compiler le fichier de traduction :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  msgfmt -o django.mo -v django.po&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Redémarrer seahub&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
œ&lt;br /&gt;
== Sauvegarde / restauration ==&lt;br /&gt;
=== Sauvegarde ===&lt;br /&gt;
Il est préférable d'arrêter les service Seafile avant sauvegarde, afin que celle-ci soit cohérente.&lt;br /&gt;
* Sauvegarder le dossier /home/seafile/ (dans son entier, c'est plus simple)&lt;br /&gt;
* Sauvegarder les 3 bases de données (par mysqldump sous MySQL/MariaDB) : ccnet-db, seafile-db, seahub-db&lt;br /&gt;
&lt;br /&gt;
=== Restauration ===&lt;br /&gt;
Réinstaller si nécessaire Seafile, puis supprimer (ou renommer en .bak) le dossier /home/seafile.&lt;br /&gt;
&lt;br /&gt;
Après sauvegarde (ou dump) des 3 bases de données (au cas où), les supprimer, et les recréer vides.&lt;br /&gt;
&lt;br /&gt;
Restaurer les 3 bases.&lt;br /&gt;
&lt;br /&gt;
Restaurer le dossier /home/seafile.&lt;br /&gt;
&lt;br /&gt;
Lancer les services Seafile, et faire un check du répertoire (voir ci-dessous)&lt;br /&gt;
== Réparation ==&lt;br /&gt;
En cas de message d'erreur sur des bibilothèques (&amp;quot;endommagée&amp;quot;), lancer un check :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd /home/seafile/seafile-server-latest/&lt;br /&gt;
 ./seaf-fsck.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si des bibliothèques apparaissent corrompues et si le script indique &amp;quot;Find available commit xxxxx (created at xxxx-xx-xx xx:xx:xx) for repo xxxxxxx.&amp;quot;, copier l'identifiant du dépôt (indiqué sur la ligne &amp;quot;Running fsck for repo xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&amp;quot;) et lancer une réparation :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd /home/seafile/seafile-server-latest/&lt;br /&gt;
 ./seaf-fsck.sh --repair xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TIPS ==&lt;br /&gt;
* Les logs sont visibles dans &amp;lt;racine_du_virtualhost&amp;gt;/seafile/seafile-server-&amp;lt;version&amp;gt;/runtime/&lt;br /&gt;
* changer le mail administrateur : &amp;lt;racine_du_virtualhost&amp;gt;/seafile/seafile-server-&amp;lt;version&amp;gt;/reset_admin.sh&lt;br /&gt;
* administer seafile en ligne de commande : https://github.com/HenriWahl/seafadm&lt;br /&gt;
* backup en utilisant l'api (fichier api.py intéressant) : https://github.com/oal/barch&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Seafile_:_installation_sur_CentOS&amp;diff=6629</id>
		<title>Seafile : installation sur CentOS</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Seafile_:_installation_sur_CentOS&amp;diff=6629"/>
				<updated>2018-09-02T15:15:34Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installation ==&lt;br /&gt;
Sur une CentOS &amp;lt; 7, Python 2.6 doit être installé. On l'installera par :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 yum install --enablerepo=epel python26&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
(voir [[Dépôts complémentaires]] pour le dépôt EPEL)&lt;br /&gt;
&lt;br /&gt;
Installer les pré-requis :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
yum install python-setuptools python-simplejson python-imaging MySQL-python httpd mod_ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
ou, sur CentOS5 :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
yum install --enablerepo=epel python26-distribute python26-setuptools python26-simplejson python26-imaging python26-mysqldb&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vérifier la dernière version serveur sur https://www.seafile.com/en/download/&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd install/&lt;br /&gt;
 wget https://download.seadrive.org/seafile-server_[ dernière version de Seafile ]_x86-64.tar.gz # ou ....i386.tar.gz sur système 32 bits&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Créer un répertoire seafile dans /home:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd /home&lt;br /&gt;
 mkdir seafile&lt;br /&gt;
 cd seafile&lt;br /&gt;
 tar -xvzf /root/install/seafile-server_[ version seafile ]_*.tar.gz&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
L'archive crée un sous-répertoire avec la version en cours. Lors d'une mise à jour, la précédente version ne sera donc pas écrasée.&lt;br /&gt;
&lt;br /&gt;
Lancer l'installation (qui créera les bases de données) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd seafile-server-[ version seafile ]&lt;br /&gt;
 ./setup-seafile-mysql.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Nommer le server (nom affiché sur les clients, sans espaces)&lt;br /&gt;
* donner l'IP du serveur&lt;br /&gt;
* laisser le port ccnet, le chemin des données et les ports seafile par défaut&lt;br /&gt;
* donner un mail pour l'administrateur (mail existant si possible, qui servira à se connecter à l'interface) et un mot de passe&lt;br /&gt;
* Choisir &amp;quot;1&amp;quot; pour créer les bases&lt;br /&gt;
* donner les paramètres MySQL&lt;br /&gt;
* demander la création d'un utilisateur seafile&lt;br /&gt;
* laisser les noms de bases par défaut&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
On peut alors tester Seafile directement :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 ./seafile.sh start&lt;br /&gt;
 ./seahub.sh start&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Et se connecter à l'interface par &amp;lt;nowiki&amp;gt;http://IP_DU_SERVEUR:8000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
Editer le fichier /home/seafile/conf/seafile.conf&lt;br /&gt;
 [fileserver]&lt;br /&gt;
 port = 8082&lt;br /&gt;
 &lt;br /&gt;
 [database]&lt;br /&gt;
 type = mysql&lt;br /&gt;
 host = 127.0.0.1&lt;br /&gt;
 port = 3306&lt;br /&gt;
 user = seafile&lt;br /&gt;
 password = PwdSeafile&lt;br /&gt;
 db_name = seafile-db&lt;br /&gt;
 connection_charset = utf8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Editer le fichier /home/seafile/conf/seahub_settings.py :&lt;br /&gt;
 SECRET_KEY = &amp;quot;d56a6cbc-751c-dc66-9fdb-45f4492f5abda7d3&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 DATABASES = {&lt;br /&gt;
     'default': {&lt;br /&gt;
         'ENGINE': 'django.db.backends.mysql',&lt;br /&gt;
         'NAME': 'seahub-db',&lt;br /&gt;
         'USER': 'seafile',&lt;br /&gt;
         'PASSWORD': 'PwdSeafile',&lt;br /&gt;
         'HOST': '127.0.0.1',&lt;br /&gt;
         'PORT': '3306',&lt;br /&gt;
         'OPTIONS': {&lt;br /&gt;
             'init_command': 'SET '''default_storage_engine'''=INNODB',&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 FILE_SERVER_ROOT = 'https://seafile.domain.fr/seafhttp'&lt;br /&gt;
&lt;br /&gt;
Attention au &amp;quot;default_storage_engine&amp;quot; (plutôt que &amp;quot;storage_engine&amp;quot;) à partir de la version 5 de Seafile !&lt;br /&gt;
&lt;br /&gt;
== Lancement automatique ==&lt;br /&gt;
https://github.com/haiwen/seafile/wiki/Start-seafile-server-at-system-bootup&lt;br /&gt;
&lt;br /&gt;
D'abord, arrêter Seafile ! Il a été lancé avec le compte root pour le test, on le relancera avec un compte spécifique.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd seafile-server-latest&lt;br /&gt;
 ./seafile.sh stop&lt;br /&gt;
 ./seahub.sh stop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Créer un utilisateur seafile, dont le homedir sera le répertoire seafile :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 adduser -c &amp;quot;Seafile user&amp;quot; -d /home/seafile seafile&lt;br /&gt;
 chown -R seafile:seafile /home/seafile&lt;br /&gt;
 chmod 750 /home/seafile&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT''' : vérifier l'appartenance de l'arborescence /home/seafile pour qu'il n'y ait pas de problèmes de droits !&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 chown -R seafile:seafile /home/seafile&lt;br /&gt;
 chmod 750 /home/seafile&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Créer le fichier /etc/sysconfig/seafile :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Utilisateur lançant seafile&lt;br /&gt;
user=seafile&lt;br /&gt;
&lt;br /&gt;
# Répertoire d'installation&lt;br /&gt;
seafile_dir=/home/seafile&lt;br /&gt;
script_path=${seafile_dir}/seafile-server-latest&lt;br /&gt;
seafile_init_log=${seafile_dir}/logs/seafile.init.log&lt;br /&gt;
seahub_init_log=${seafile_dir}/logs/seahub.init.log&lt;br /&gt;
&lt;br /&gt;
# Mettre la valeur sur true si on utilise fastcgi&lt;br /&gt;
fastcgi=true&lt;br /&gt;
&lt;br /&gt;
# définir le port pour fastcgi, par défaut le port 8000.&lt;br /&gt;
fastcgi_port=8000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Systèmes sysvinit (CentOS &amp;lt; 7) ===&lt;br /&gt;
Créer un script d'init pour le serveur seafile /etc/init.d/seafile :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot; &amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# seafile&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# chkconfig: - 68 32&lt;br /&gt;
# description: seafile&lt;br /&gt;
&lt;br /&gt;
# Source function library.&lt;br /&gt;
. /etc/init.d/functions&lt;br /&gt;
&lt;br /&gt;
# Source networking configuration.&lt;br /&gt;
. /etc/sysconfig/network&lt;br /&gt;
&lt;br /&gt;
if [ -f /etc/sysconfig/seafile ];then&lt;br /&gt;
        . /etc/sysconfig/seafile&lt;br /&gt;
        else&lt;br /&gt;
            echo &amp;quot;Config file /etc/sysconfig/seafile not found! Bye.&amp;quot;&lt;br /&gt;
            exit 200&lt;br /&gt;
        fi&lt;br /&gt;
&lt;br /&gt;
RETVAL=0&lt;br /&gt;
&lt;br /&gt;
start() {&lt;br /&gt;
        # Start daemons.&lt;br /&gt;
        echo -n $&amp;quot;Starting seafile: &amp;quot;&lt;br /&gt;
        ulimit -n 30000&lt;br /&gt;
        su - ${user} -c&amp;quot;${script_path}/seafile.sh start &amp;gt;&amp;gt; ${seafile_init_log} 2&amp;gt;&amp;amp;1&amp;quot;&lt;br /&gt;
        RETVAL=$?&lt;br /&gt;
        echo&lt;br /&gt;
        [ $RETVAL -eq 0 ] &amp;amp;&amp;amp; touch /var/lock/subsys/seafile&lt;br /&gt;
        return $RETVAL&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
stop() {&lt;br /&gt;
        echo -n $&amp;quot;Shutting down seafile: &amp;quot;&lt;br /&gt;
        su - ${user} -c&amp;quot;${script_path}/seafile.sh stop &amp;gt;&amp;gt; ${seafile_init_log} 2&amp;gt;&amp;amp;1&amp;quot;&lt;br /&gt;
        RETVAL=$?&lt;br /&gt;
        echo&lt;br /&gt;
        [ $RETVAL -eq 0 ] &amp;amp;&amp;amp; rm -f /var/lock/subsys/seafile&lt;br /&gt;
        return $RETVAL&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# See how we were called.&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
  start)&lt;br /&gt;
        start&lt;br /&gt;
        ;;&lt;br /&gt;
  stop)&lt;br /&gt;
        stop&lt;br /&gt;
        ;;&lt;br /&gt;
  restart|reload)&lt;br /&gt;
        stop&lt;br /&gt;
        start&lt;br /&gt;
        RETVAL=$?&lt;br /&gt;
        ;;&lt;br /&gt;
  *)&lt;br /&gt;
        echo $&amp;quot;Usage: $0 {start|stop|restart}&amp;quot;&lt;br /&gt;
        RETVAL=3&lt;br /&gt;
esac&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Créer un script d'init pour l'interface web seahub /etc/init.d/seahub :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot; &amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# seahub&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# chkconfig: - 69 31&lt;br /&gt;
# description: seahub&lt;br /&gt;
&lt;br /&gt;
# Source function library.&lt;br /&gt;
. /etc/init.d/functions&lt;br /&gt;
&lt;br /&gt;
# Source networking configuration.&lt;br /&gt;
. /etc/sysconfig/network&lt;br /&gt;
&lt;br /&gt;
if [ -f /etc/sysconfig/seafile ];then&lt;br /&gt;
        . /etc/sysconfig/seafile&lt;br /&gt;
        else&lt;br /&gt;
            echo &amp;quot;Config file /etc/sysconfig/seafile not found! Bye.&amp;quot;&lt;br /&gt;
            exit 200&lt;br /&gt;
        fi&lt;br /&gt;
&lt;br /&gt;
RETVAL=0&lt;br /&gt;
&lt;br /&gt;
start() {&lt;br /&gt;
        # Start daemons.&lt;br /&gt;
        echo -n $&amp;quot;Starting seahub: &amp;quot;&lt;br /&gt;
        ulimit -n 30000&lt;br /&gt;
        if [  $fastcgi = true ];&lt;br /&gt;
                then&lt;br /&gt;
                su - ${user} -c&amp;quot;${script_path}/seahub.sh start-fastcgi ${fastcgi_port} &amp;gt;&amp;gt; ${seahub_init_log} 2&amp;gt;&amp;amp;1&amp;quot;&lt;br /&gt;
                else&lt;br /&gt;
                su - ${user} -c&amp;quot;${script_path}/seahub.sh start &amp;gt;&amp;gt; ${seahub_init_log} 2&amp;gt;&amp;amp;1&amp;quot;&lt;br /&gt;
                fi&lt;br /&gt;
        RETVAL=$?&lt;br /&gt;
        echo&lt;br /&gt;
        [ $RETVAL -eq 0 ] &amp;amp;&amp;amp; touch /var/lock/subsys/seahub&lt;br /&gt;
        return $RETVAL&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
stop() {&lt;br /&gt;
        echo -n $&amp;quot;Shutting down seafile: &amp;quot;&lt;br /&gt;
        su - ${user} -c&amp;quot;${script_path}/seahub.sh stop &amp;gt;&amp;gt; ${seahub_init_log} 2&amp;gt;&amp;amp;1&amp;quot;&lt;br /&gt;
        RETVAL=$?&lt;br /&gt;
        echo&lt;br /&gt;
        [ $RETVAL -eq 0 ] &amp;amp;&amp;amp; rm -f /var/lock/subsys/seahub&lt;br /&gt;
        return $RETVAL&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# See how we were called.&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
  start)&lt;br /&gt;
        start&lt;br /&gt;
        ;;&lt;br /&gt;
  stop)&lt;br /&gt;
        stop&lt;br /&gt;
        ;;&lt;br /&gt;
  restart|reload)&lt;br /&gt;
        stop&lt;br /&gt;
        start&lt;br /&gt;
        RETVAL=$?&lt;br /&gt;
        ;;&lt;br /&gt;
  *)&lt;br /&gt;
        echo $&amp;quot;Usage: $0 {start|stop|restart}&amp;quot;&lt;br /&gt;
        RETVAL=3&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit $RETVAL&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
Activer les serveurs :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 chmod 550 /etc/init.d/seafile&lt;br /&gt;
 chmod 550 /etc/init.d/seahub&lt;br /&gt;
 chkconfig --add seafile&lt;br /&gt;
 chkconfig --add seahub&lt;br /&gt;
 chkconfig seahub on&lt;br /&gt;
 chkconfig seafile on&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On peut les lancer :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 service seafile start&lt;br /&gt;
 service seahub start&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Systèmes systemd (CentOS &amp;gt;= 7) ===&lt;br /&gt;
Créer /etc/systemd/system/seafile.service&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Seafile&lt;br /&gt;
# add mysql.service or postgresql.service depending on your database to the line below&lt;br /&gt;
After=network.target mysql.service&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
ExecStart=/home/seafile/seafile-server-latest/seafile.sh start&lt;br /&gt;
ExecStop=/home/seafile/seafile-server-latest/seafile.sh stop&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
User=seafile&lt;br /&gt;
Group=seafile&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
et /etc/systemd/system/seahub.service&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Seafile hub&lt;br /&gt;
After=network.target seafile.service&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
# change start to start-fastcgi if you want to run fastcgi&lt;br /&gt;
ExecStart=/home/seafile//seafile-server-latest/seahub.sh start-fastcgi&lt;br /&gt;
ExecStop=/home/seafile/seafile-server-latest/seahub.sh stop&lt;br /&gt;
User=seafile&lt;br /&gt;
Group=seafile&lt;br /&gt;
Type=oneshot&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Activer et lancer les 2 services&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl enable seafile&lt;br /&gt;
systemctl enable seahub&lt;br /&gt;
systemctl start seafile&lt;br /&gt;
systemctl start seahub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Plusieurs versions de Python ==&lt;br /&gt;
Si, après l'installation de Seafile avec Python 2.6, une version 2.7 est installée sur le serveur, par défaut c'est cette dernière qui sera utilisée (les scripts de lancement de Seafile et Seahub recherchent les binaires Python et s'arrêtent sur la 2.7).&lt;br /&gt;
&lt;br /&gt;
Mais les modules nécessaires à Seafile ont été installés sur la version 2.6, la 2.7 ne les voit pas, Seafile ne démarre pas (dans les logs, erreurs du type :&lt;br /&gt;
&amp;quot;ImportError: No module named simplejson&amp;quot; ou ImportError: No module named MySQL-python&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Si (comme c'est le cas sur CentOS6 où la version 2.7 n'est pas dans les dépôts, et doit être installée manuellement) les modules nécessaires ne sont pas facilement installables sur la 2.7, il faut forcer la 2.6.&lt;br /&gt;
&lt;br /&gt;
Pour ça, on initialise la variable PYTHON qui, si elle n'est pas vide, empêche les scripts Seafile de chercher plus loin.&lt;br /&gt;
&lt;br /&gt;
Créer /home/seafile/.bash_profile avec :&lt;br /&gt;
 PYTHON=/usr/bin/python2.6 # le chemin de l'exécutable qu'on souhaite&lt;br /&gt;
 export PYTHON&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 chown seafile.seafile /home/seafile/.bash_profile&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Les scripts ne devraient plus chercher Python et démarrer sans problème.&lt;br /&gt;
&lt;br /&gt;
== Connexion seahub par Apache ==&lt;br /&gt;
Pour la liaison entre Apache et Seafile, on utilisera Fastcgi. Sur CentOS, à installer des dépôts RPMForge (voir [[Dépôts complémentaires]]) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  yum install --enablerepo=rpmforge mod_fastcgi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Editer /etc/httpd/conf.d/fastcgi.conf, modifier :&lt;br /&gt;
  FastCgiWrapper Off&lt;br /&gt;
et ajouter à la fin :&lt;br /&gt;
  &amp;lt;IfModule mod_fastcgi.c&amp;gt;&lt;br /&gt;
      FastCGIExternalServer /var/www/seahub.fcgi -host 127.0.0.1:8000 &lt;br /&gt;
  &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
'''NOTE : le fichier /var/www/seahub.fcgi n'a pas besoin d'exister, ce n'est qu'un &amp;quot;wrapper&amp;quot; (voir ci-dessous)'''&lt;br /&gt;
&lt;br /&gt;
Créer un fichier /etc/httpd/conf.d/seafile.conf :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
    ServerName seafile.domain.fr&lt;br /&gt;
    DocumentRoot /var/www&lt;br /&gt;
    Alias /media /home/seafile/seafile-server-latest/seahub/media/           &lt;br /&gt;
    RewriteEngine On&lt;br /&gt;
    &lt;br /&gt;
    # seafile httpserver&lt;br /&gt;
    #&lt;br /&gt;
    ProxyPass /seafhttp http://127.0.0.1:8082&lt;br /&gt;
    ProxyPassReverse /seafhttp http://127.0.0.1:8082&lt;br /&gt;
    RewriteRule ^/seafhttp - [QSA,L]&lt;br /&gt;
  &lt;br /&gt;
    #&lt;br /&gt;
    # seahub&lt;br /&gt;
    #&lt;br /&gt;
    RewriteRule ^/(media.*)$ /$1 [QSA,L,PT]&lt;br /&gt;
    RewriteCond %{REQUEST_FILENAME} !-f&lt;br /&gt;
    RewriteRule ^(.*)$ /seahub.fcgi$1 [QSA,L,E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]&lt;br /&gt;
    &lt;br /&gt;
    # add ssl protocol&lt;br /&gt;
    SSLEngine On&lt;br /&gt;
    SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire&lt;br /&gt;
    SSLCertificateFile    /etc/ssl/seafile.crt&lt;br /&gt;
    SSLCertificateKeyFile /etc/ssl/seafile.key&lt;br /&gt;
&amp;lt;/virtualhost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''NOTE : le DocumentRoot doit correspondre au chemin du &amp;quot;wrapper&amp;quot; seahub.fcgi paramétré plus haut !'''&lt;br /&gt;
&lt;br /&gt;
Dans /home/seafile, éditer ccnet/ccnet.conf, modifier :&lt;br /&gt;
  SERVICE_URL = https://seafile.domain.fr&lt;br /&gt;
Editer seahub_settings.py, ajouter :&lt;br /&gt;
  HTTP_SERVER_ROOT = 'https://seafile.domain.fr/seafhttp'&lt;br /&gt;
&amp;quot;HTTP_SERVER_ROOT&amp;quot; peut être aussi &amp;quot;FILE_SERVER_ROOT&amp;quot;, indifféremment.&lt;br /&gt;
&lt;br /&gt;
Et pour le service mail (exemple avec serveur mail local) :&lt;br /&gt;
 EMAIL_USE_TLS = False&lt;br /&gt;
 EMAIL_HOST = 'localhost'        # smpt server&lt;br /&gt;
 EMAIL_HOST_USER = ''    # username and domain&lt;br /&gt;
 EMAIL_HOST_PASSWORD = ''    # password&lt;br /&gt;
 EMAIL_PORT = '25'&lt;br /&gt;
 DEFAULT_FROM_EMAIL = EMAIL_HOST_USER&lt;br /&gt;
 SERVER_EMAIL = EMAIL_HOST_USER&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Générer des certificats :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  openssl genrsa -out privkey.pem 2048&lt;br /&gt;
  openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Copier et renommer les fichiers générés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  mv cacert.pem /etc/ssl/seafile.crt&lt;br /&gt;
  mv privkey.pem /etc/ssl/seafile.key&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Si nécessaire, faire une redirection du site HTTP vers HTTPS. A la racine du site HTTP (port 80, qui doit être différente de la racine du site HTTPS), créer un fichier .htaccess :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RewriteEngine On&lt;br /&gt;
RewriteCond %{HTTPS} off&lt;br /&gt;
RewriteRule ^(.*)$ https://seafile.domain.fr/$1 [L,R=301]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/htpd/conf/httpd.conf : s'assurer que la directive &amp;quot;AllowOverride&amp;quot; du site par défaut (sous &amp;lt;Directory /var/www/html&amp;gt;) est à &amp;quot;All&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Supprimer /etc/httpd/conf.d/welcome.conf pour ne pas tomber sur la page de test en cas d'erreur.&lt;br /&gt;
&lt;br /&gt;
Reste à relancer apache&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  service httpd restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''NOTE : Vérifier qu'Apache écoute sur le port 443 ! Décommenter &amp;quot;Listen 443&amp;quot; dans /etc/httpd/conf.d/ssl.conf.'''&lt;br /&gt;
&lt;br /&gt;
== Connexion seahub par NGINX ==&lt;br /&gt;
La configuration nginx (https via fastcgi) est enregistrée dans un fichier, chargé ensuite en &amp;quot;include&amp;quot; dans la configuration de nginx :&lt;br /&gt;
 server {&lt;br /&gt;
     listen 192.168.0.50:443;&lt;br /&gt;
     ssl on;&lt;br /&gt;
     ssl_certificate      /home/seafile/conf/ssl.seafile.domain.fr.pem;&lt;br /&gt;
     ssl_certificate_key  /home/seafile/conf/ssl.seafile.domain.fr.key;&lt;br /&gt;
     server_name  seafile.domain.fr;&lt;br /&gt;
     proxy_set_header X-Forwarded-For $remote_addr;&lt;br /&gt;
 &lt;br /&gt;
     add_header Strict-Transport-Security &amp;quot;max-age=31536000; includeSubdomains&amp;quot;;&lt;br /&gt;
     server_tokens off;&lt;br /&gt;
 &lt;br /&gt;
     location / {&lt;br /&gt;
         fastcgi_pass    127.0.0.1:8000;&lt;br /&gt;
         fastcgi_param   SCRIPT_FILENAME     $document_root$fastcgi_script_name;&lt;br /&gt;
         fastcgi_param   PATH_INFO           $fastcgi_script_name;&lt;br /&gt;
 &lt;br /&gt;
         fastcgi_param   SERVER_PROTOCOL        $server_protocol;&lt;br /&gt;
         fastcgi_param   QUERY_STRING        $query_string;&lt;br /&gt;
         fastcgi_param   REQUEST_METHOD      $request_method;&lt;br /&gt;
         fastcgi_param   CONTENT_TYPE        $content_type;&lt;br /&gt;
         fastcgi_param   CONTENT_LENGTH      $content_length;&lt;br /&gt;
         fastcgi_param   SERVER_ADDR         $server_addr;&lt;br /&gt;
         fastcgi_param   SERVER_PORT         $server_port;&lt;br /&gt;
         fastcgi_param   SERVER_NAME         $server_name;&lt;br /&gt;
         fastcgi_param   HTTPS               on;&lt;br /&gt;
         fastcgi_param   HTTP_SCHEME         https;&lt;br /&gt;
 &lt;br /&gt;
         access_log      /var/log/nginx/seahub.access.log;&lt;br /&gt;
         error_log       /var/log/nginx/seahub.error.log;&lt;br /&gt;
         fastcgi_read_timeout 36000;&lt;br /&gt;
     }&lt;br /&gt;
     location /seafhttp {&lt;br /&gt;
         rewrite ^/seafhttp(.*)$ $1 break;&lt;br /&gt;
         proxy_pass http://127.0.0.1:8082;&lt;br /&gt;
         client_max_body_size 0;&lt;br /&gt;
         proxy_connect_timeout  36000s;&lt;br /&gt;
         proxy_read_timeout  36000s;&lt;br /&gt;
         proxy_send_timeout  36000s;&lt;br /&gt;
         send_timeout  36000s;&lt;br /&gt;
     }&lt;br /&gt;
     location /media {&lt;br /&gt;
         root /home/seafile/seafile-server-latest/seahub;&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== WebDAV ==&lt;br /&gt;
Pour activer WebDAV (gestion des fichiers via le web) sur Seafile :&lt;br /&gt;
* Editer seafile/conf/seafdav.conf&lt;br /&gt;
  [WEBDAV]&lt;br /&gt;
  enabled = true&lt;br /&gt;
  port = 8080&lt;br /&gt;
  fastcgi = true&lt;br /&gt;
  share_name = /seafdav&lt;br /&gt;
&lt;br /&gt;
* Ajouter dans /etc/httpd/conf.d/seafile.conf les lignes suivantes :&lt;br /&gt;
&lt;br /&gt;
  #&lt;br /&gt;
  # seafile webdav&lt;br /&gt;
  #&lt;br /&gt;
  RewriteCond %{HTTP:Authorization} (.+)&lt;br /&gt;
  RewriteRule ^(/seafdav.*)$ /seafdav.fcgi$1 [QSA,L,e=HTTP_AUTHORIZATION:%1]&lt;br /&gt;
  RewriteRule ^(/seafdav.*)$ /seafdav.fcgi$1 [QSA,L]&lt;br /&gt;
&lt;br /&gt;
* Ajouter dans /etc/httpd/conf.d/fastcgi.conf la ligne :&lt;br /&gt;
&lt;br /&gt;
  FastCGIExternalServer /var/www/seafdav.fcgi -host 127.0.0.1:8080&lt;br /&gt;
&lt;br /&gt;
Reste à relancer apache et Seafile&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  service httpd restart&lt;br /&gt;
  service seafile-server restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
La connexion du client DAV se fera sur le dossier &amp;quot;/seafdav&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Memcached ==&lt;br /&gt;
On peut utiliser seafile avec memcached pour accélérer la navigation :&lt;br /&gt;
&lt;br /&gt;
Installation sur centos 6:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  yum install memcached python-memcached&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Installation sur centos 5 ; ajouter epel puis :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  yum install --enablerepo=epel memcached&lt;br /&gt;
  easy_install-2.6 python-memcached&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Ajouter dans seafile/conf/seahub_setting.py :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CACHES = {&lt;br /&gt;
    'default': {&lt;br /&gt;
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',&lt;br /&gt;
	'LOCATION': '127.0.0.1:11211',&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mise à jour ==&lt;br /&gt;
Arrêter seafile et seahub :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  service seafile stop&lt;br /&gt;
  service seahub stop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
On donne tout de suite les droits à l'utilisateur seafile (important ! si on fait ensuite la mise à jour en tant qu'utilisateur &amp;quot;seafile&amp;quot;) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  chown -R seafile:apache /home/seafile &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Passer sous l'utilisateur seafile (préférable, pour éviter les problèmes de version de Python, voir&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  su - seafile&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Télécharger et installer la mise à jour :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  cd /home/seafile/installed&lt;br /&gt;
  wget https://bitbucket.org/haiwen/seafile/downloads/seafile-server_2.1.5_x86-64.tar.gz&lt;br /&gt;
  wget https://bitbucket.org/haiwen/seafile/downloads/seafile-server_2.1.5_i386.tar.gz&lt;br /&gt;
  tar xvzf  seafile-server_2.1.5_i386.tar.gz&lt;br /&gt;
  mv seafile-server-2.1.5 ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Deux scripts sont disponible en fonction du type de mise à jour :&lt;br /&gt;
* Pour une mise à jour de version principale (1.8 =&amp;gt; 2.0 ou 2.0 =&amp;gt; 2.1) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd ../seafile-server-2.1.5/upgrade&lt;br /&gt;
 ./upgrade_1.8_2.0.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Pour une simple mise a jour de sous-version (2.1.4 =&amp;gt; 2.1.5) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd ../seafile-server-2.1.5/upgrade&lt;br /&gt;
 /minor-upgrade.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Redevenir &amp;quot;root&amp;quot; et lancer les services seafile et seahub&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  service seafile start&lt;br /&gt;
  service seahub start&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Personnalisation ==&lt;br /&gt;
=== Logo ===&lt;br /&gt;
Mettre l'image ici, avec ce nom exact (sauvegarder éventuellement le seafile_logo.png existant) :&lt;br /&gt;
 /home/seafile/seafile-server-latest/seahub/media/img/seafile_logo.png&lt;br /&gt;
Redémarrer seahub&lt;br /&gt;
&lt;br /&gt;
=== Traduction ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /home/seafile/seafile-server-2.1.5/seahub/locale/fr/LC_MESSAGES&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Suppression de l'ancienne traduction :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  rm django.po&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Télécharger la traduction :&lt;br /&gt;
* depuis le site officiel de traduction :&amp;lt;br/&amp;gt;&lt;br /&gt;
https://www.transifex.com/organization/haiwen/dashboard/seahub&lt;br /&gt;
&lt;br /&gt;
* ou depuis le depot git de seahub :&amp;lt;br/&amp;gt;&lt;br /&gt;
https://github.com/haiwen/seahub/tree/master/locale/fr/LC_MESSAGES&lt;br /&gt;
&lt;br /&gt;
Compiler le fichier de traduction :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  msgfmt -o django.mo -v django.po&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Redémarrer seahub&lt;br /&gt;
&lt;br /&gt;
== Sauvegarde / restauration ==&lt;br /&gt;
=== Sauvegarde ===&lt;br /&gt;
Il est préférable d'arrêter les service Seafile avant sauvegarde, afin que celle-ci soit cohérente.&lt;br /&gt;
* Sauvegarder le dossier /home/seafile/ (dans son entier, c'est plus simple)&lt;br /&gt;
* Sauvegarder les 3 bases de données (par mysqldump sous MySQL/MariaDB) : ccnet-db, seafile-db, seahub-db&lt;br /&gt;
&lt;br /&gt;
=== Restauration ===&lt;br /&gt;
Réinstaller si nécessaire Seafile, puis supprimer (ou renommer en .bak) le dossier /home/seafile.&lt;br /&gt;
&lt;br /&gt;
Après sauvegarde (ou dump) des 3 bases de données (au cas où), les supprimer, et les recréer vides.&lt;br /&gt;
&lt;br /&gt;
Restaurer les 3 bases.&lt;br /&gt;
&lt;br /&gt;
Restaurer le dossier /home/seafile.&lt;br /&gt;
&lt;br /&gt;
Lancer les services Seafile, et faire un check du répertoire (voir ci-dessous)&lt;br /&gt;
== Réparation ==&lt;br /&gt;
En cas de message d'erreur sur des bibilothèques (&amp;quot;endommagée&amp;quot;), lancer un check :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd /home/seafile/seafile-server-latest/&lt;br /&gt;
 ./seaf-fsck.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si des bibliothèques apparaissent corrompues et si le script indique &amp;quot;Find available commit xxxxx (created at xxxx-xx-xx xx:xx:xx) for repo xxxxxxx.&amp;quot;, copier l'identifiant du dépôt (indiqué sur la ligne &amp;quot;Running fsck for repo xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&amp;quot;) et lancer une réparation :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd /home/seafile/seafile-server-latest/&lt;br /&gt;
 ./seaf-fsck.sh --repair xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TIPS ==&lt;br /&gt;
* Les logs sont visibles dans &amp;lt;racine_du_virtualhost&amp;gt;/seafile/seafile-server-&amp;lt;version&amp;gt;/runtime/&lt;br /&gt;
* changer le mail administrateur : &amp;lt;racine_du_virtualhost&amp;gt;/seafile/seafile-server-&amp;lt;version&amp;gt;/reset_admin.sh&lt;br /&gt;
* administer seafile en ligne de commande : https://github.com/HenriWahl/seafadm&lt;br /&gt;
* backup en utilisant l'api (fichier api.py intéressant) : https://github.com/oal/barch&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=MailCleaner:_installation_et_configuration&amp;diff=6628</id>
		<title>MailCleaner: installation et configuration</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=MailCleaner:_installation_et_configuration&amp;diff=6628"/>
				<updated>2018-07-04T16:00:44Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Whitelist / blacklist manuelles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Installation =&lt;br /&gt;
{{Note|Le site communautaire est accessible sur http://www.mailcleaner.org. Le site commercial sur http://www.mailcleaner.net}}&lt;br /&gt;
Télécharger l'image :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;wget https://cdn.mailcleaner.net/downloads/vm/MailCleaner_KVM_LATEST.zip&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Décompresser et attribuer le disque virtuel Mailcleaner.qcow2.template à une VM.&lt;br /&gt;
&lt;br /&gt;
Aprés le 1er boot et connexion à la console (attention, on est en qwerty à ce moment. Le mot de passe par défaut &amp;quot;MCPassw0rd&amp;quot; donne donc &amp;quot;?CPqssz0rd&amp;quot; sur un clavier français), configuration de base en ligne de commande :&lt;br /&gt;
  1 keyboard&lt;br /&gt;
  2 root passwd&lt;br /&gt;
  3 network&lt;br /&gt;
&lt;br /&gt;
ATTENTION : une fois l'ip changée, le firewall bloque le SSH externe au réseau local car n'accepte que les connexions de la plage locale !&lt;br /&gt;
 /usr/mailcleaner/etc/init.d/firewall stop # débloque la situation dans un premier temps&lt;br /&gt;
&lt;br /&gt;
Puis :&lt;br /&gt;
 /usr/mailcleaner/bin/mc_mysql -m mc_config&lt;br /&gt;
 insert into external_access (service,port,protocol,allowed_ip) values ('ssh','22','TCP','0.0.0.0/0');&lt;br /&gt;
&lt;br /&gt;
Rebooter&lt;br /&gt;
&lt;br /&gt;
Ajouter le nom &amp;quot;mailcleaner&amp;quot; au fichier host du poste qui servira à faire le premier paramétrage, car le nom &amp;quot;mailcleaner&amp;quot; est demandé &amp;quot;en dur&amp;quot; par les URLs des pages de setup.&lt;br /&gt;
&lt;br /&gt;
S'il y a un firewall entre le poste à l'extérieur et Mailcleaner, penser aussi à ouvrir temporairement le port 4242 utilisé lors du setup de base.&lt;br /&gt;
&lt;br /&gt;
Première connexion :&lt;br /&gt;
  https://mailcleaner/admin&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ARCHIVE : manips manuelles pour MC2012 installé à partir d'une iso&lt;br /&gt;
Passer les points dans l'ordre pour arriver au 4 : configuration, création des bases.\\ &lt;br /&gt;
Donner un ID unique par machine pouvant faire partie d'un cluster (voir plus bas).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Warning|BUG : en cas d'erreurs mysql, laisser l'installation se terminer (jusqu'à &amp;quot;starting services...&amp;quot;)}}&lt;br /&gt;
En effet, l'installateur n'attend pas - pour une raison inconnue - la fin de création des bases de données avant de continuer (notamment sur serveur virtualisé), et ne peut donc pas créer ses tables !\\ &lt;br /&gt;
Dans ce cas, se connecter en ssh et forcer l'arrêt du script qui reste bloqué sur &amp;quot;starting services...&amp;quot;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;ps -ef | grep install&lt;br /&gt;
kill &amp;lt;pid des processus *install*&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
puis :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;aptitude update&lt;br /&gt;
aptitude safe-upgrade #(répondre yes et yes)&lt;br /&gt;
cd /usr/mailcleaner&lt;br /&gt;
cvs -q update -dP&lt;br /&gt;
source lib/updates/update_binaries.sh&lt;br /&gt;
stabilizeBinaries&lt;br /&gt;
cd install&lt;br /&gt;
/opt/mysql5/bin/mysqladmin -S /var/mailcleaner/run/mysql_master/mysqld.sock -u root password 'new-password'&lt;br /&gt;
/opt/mysql5/bin/mysqladmin -S /var/mailcleaner/run/mysql_slave/mysqld.sock -u root password 'new-password'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
par sécurité éditer ./MC_prepare_dbs.sh, aux alentour de la ligne 124 modifier :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_slave/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&lt;br /&gt;
/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_master/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
par&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_slave/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&lt;br /&gt;
sleep 5&lt;br /&gt;
/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_master/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&lt;br /&gt;
sleep 5&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
puis continuer l'installation :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;./MC_prepare_dbs.sh # donner le mdp root mysql&lt;br /&gt;
/usr/mailcleaner/bin/check_db.pl --update&lt;br /&gt;
/usr/mailcleaner/bin/dump_apache_config.pl&lt;br /&gt;
/etc/init.d/mailcleaner restart&lt;br /&gt;
/usr/mailcleaner/bin/collect_rrd_stats.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
si problème de connexion en admin au webui :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/opt/mysql5/bin/mysql -S /var/mailcleaner/run/mysql_master/mysqld.sock -uroot -p mc_config&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  mysql&amp;gt; update administrator set password=ENCRYPT('new-password') where username='admin';&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
== Système ==&lt;br /&gt;
Commencer par passer en revue l'intégralité de la configuration&lt;br /&gt;
  * Configuration / General settings : passer le GUI en français + adresses mails, décocher &amp;quot;Display domain selector&amp;quot;, remplir Company&lt;br /&gt;
  * Configuration / Domains&lt;br /&gt;
    * Domain default settings : paramétrer emails dans general,  preferences, activer greylist dans filtering&lt;br /&gt;
  * SMTP&lt;br /&gt;
    * SMTP checks : activer les 4 RBLs&lt;br /&gt;
  * Anti-spam&lt;br /&gt;
    * Enable access to whitelist&lt;br /&gt;
    * NiceBayes enable module, désactiver decisive (voir [[#bayes|Filtres Bayes]] pour modifier le score que NiceNayes doit ajouter à spamassassin)&lt;br /&gt;
    * preRBLSs enable module, activer listes ips.backscatterer.org et dsn.bl.rfc-ignorant.de&lt;br /&gt;
    * UriRBLs enable module, activer les 3 listes&lt;br /&gt;
    * spamc enable DCC Razor Pyzor, décocher DKIM control&lt;br /&gt;
  * Services / web interfaces&lt;br /&gt;
    * changer le nom URL&lt;br /&gt;
    * enable SSL, ajouter certificats (cat /usr/mailcleaner/etc/apache/certs/certificate.pem, copier la partie KEY (avec BEGIN RSA PRIVATE KEY et END) dans private key et le reste (avec BEGIN CERTIFICATE et END) dansSSL certificate)&lt;br /&gt;
  * Monitoring/status (ou en cliquant dans le message en haut)&lt;br /&gt;
    * redémarrer les services qui doivent l'être&lt;br /&gt;
&lt;br /&gt;
Rebooter une fois. Si l'installateur redémarre après boot (au lieu d'arriver sur la demande de login), sortir (5), lancer :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;update-rc.d -f z_installmc remove&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
pour le désactiver au prochain redémarrage.&lt;br /&gt;
&lt;br /&gt;
== RBLs ==&lt;br /&gt;
&lt;br /&gt;
  * soit niveau SMTP -&amp;gt; rejetés&lt;br /&gt;
  * soit niveau PreRBLS -&amp;gt; quarantaine&lt;br /&gt;
  * soit niveau Spamc -&amp;gt; inclu dans la décision de tag spam&lt;br /&gt;
Attention à ne pas cocher les même RBLs à ces différents niveaux, ça ne servirait à rien et ralentirait le filtrage.&lt;br /&gt;
== Whitelists/blacklists ==&lt;br /&gt;
  * Whitelists :&lt;br /&gt;
    * Config/Anti-spam/Enable access to whitelist : c'est une whitelist générale (pour tous les domaines), mais il faut aussi qu'elle soit activée pour que les whitelists par domain apparaissent&lt;br /&gt;
    * Config/Domains/&amp;lt;nom de domain&amp;gt;/filtering/Enable whitelist&lt;br /&gt;
&lt;br /&gt;
  * Blacklists :&lt;br /&gt;
    * Config/SMTP/Connection control&lt;br /&gt;
Voir aussi plus bas : whitelists / blacklists manuelles.&lt;br /&gt;
== Quarantaine ==&lt;br /&gt;
Quarantaine/ Rapport de quarantaine :&lt;br /&gt;
  * Domains/&amp;lt;nom de domaine&amp;gt;/preferences&lt;br /&gt;
voir aussi les preferences par défaut dans &amp;quot;Domain default settings&amp;quot;/&amp;quot;preferences&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Ajout d'un domaine à relayer ==&lt;br /&gt;
&amp;quot;Domains&amp;quot; / &amp;quot;New domain&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Paramétrer le serveur destinataire dans &amp;quot;delivery&amp;quot;, cliquer &amp;quot;submit&amp;quot; et tester la destination.&lt;br /&gt;
&lt;br /&gt;
Paramétrer &amp;quot;address verification&amp;quot; : smtp, donner IPip du serveur destinataire, cliquer &amp;quot;submit&amp;quot; et &amp;quot;tester&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Améliorations ==&lt;br /&gt;
=== transfert de règles sa-learn ===&lt;br /&gt;
Sur l'ancien serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;sa-learn --backup &amp;gt; regles.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Sur le serveur Mailcleaner :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;sa-learn -p /opt/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /opt/mailcleaner/share/spamassassin --restore regles.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;bayes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Filtre Bayes ==&lt;br /&gt;
Le filtre est désactivé car aucune base n'est créée par défaut. Dans l'entête des mails on voit :&lt;br /&gt;
  NiceBayes disabled (no database ?)&lt;br /&gt;
Le principe est de déclarer une boîte aux lettres dédiée aux spams / hams, scannée par un script tous les jours pour alimenter la base. Installer la librairie nécessaire :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;apt-get install libmail-imapclient-perl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Créer un script /opt/mailcleaner/scripts/gethamspam.sh :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=div&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# copy the old database to a timestamped copy&lt;br /&gt;
TIMESTAMP=$(date +%d)&lt;br /&gt;
REPORT_EMAIL=admin@domain.com&lt;br /&gt;
&lt;br /&gt;
# backup Spamassassin bayes db&lt;br /&gt;
sa-learn -p /opt/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /opt/mailcleaner/share/spamassassin --backup &amp;gt;/var/mailcleaner/spool/spamassassin/spamass_rules.bak&lt;br /&gt;
# backup Bogofilter bayes db&lt;br /&gt;
cp -a /root/.bogofilter/wordlist.db &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db&amp;quot;&lt;br /&gt;
if [ -f &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db.gz&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
   rm -f &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db.gz&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
gzip &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# get the spam and ham from the imap mailbox for the spamassassin and bogofilter db's&lt;br /&gt;
/opt/mailcleaner/scripts/imap-sa-learn.pl&lt;br /&gt;
if [ $? -ne 0 ]&lt;br /&gt;
then&lt;br /&gt;
    (&lt;br /&gt;
      echo &amp;quot;Subject: Bogofilter database update $(hostname) failed&amp;quot;&lt;br /&gt;
      ls -l /var/mailcleaner/spool/bogofilter/database/&lt;br /&gt;
      ) | /usr/sbin/sendmail $REPORT_EMAIL&lt;br /&gt;
    exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# copy the database to the right location&lt;br /&gt;
cp /root/.bogofilter/wordlist.db /var/mailcleaner/spool/bogofilter/database/wordlist.db&lt;br /&gt;
# If slave(s) Mailcleaner exists, ssh copy db to the slave(s)&lt;br /&gt;
scp /root/.bogofilter/wordlist.db mailcleaner2.domain.com:/var/mailcleaner/spool/bogofilter/database/&lt;br /&gt;
# Copy the backup of spamassasin rules on slave(s). It must then be applied on it by --restore.&lt;br /&gt;
scp /var/mailcleaner/spool/spamassassin/spamass_rules.bak mailcleaner2.domain.com:/var/mailcleaner/spool/spamassassin/&lt;br /&gt;
&lt;br /&gt;
# get the spam and ham counts from bogofilter - this just prints how many spam and ham you collected so far...&lt;br /&gt;
/opt/bogofilter/bin/bogoutil -w /var/mailcleaner/spool/bogofilter/database/wordlist.db .MSG_COUNT&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Sans oublier&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chmod 755 /opt/mailcleaner/scripts/gethamspam.sh&lt;br /&gt;
chmod 755 /opt/mailcleaner/scripts/imap-sa-learn.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il appelle /opt/mailcleaner/scripts/imap-sa-learn.pl (http://forum.mailcleaner.org/viewtopic.php?f=3&amp;amp;t=836, voir aussi http://www.gagravarr.org/code). Le script crée une base /root/.bogofilter/wordlist.db et la copie dans /var/mailcleaner/spool/bogofilter/database. Il semble que les 2 emplacements soient nécessaires (à vérifier à l'occasion).&lt;br /&gt;
&lt;br /&gt;
{{Note|PENSER a changer le propriétaire de  /var/mailcleaner/spool/bogofilter/database/wordlist.db pour que mailcleaner puisse le modifier!&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chown mailcleaner:mailcleaner /var/mailcleaner/spool/bogofilter/database/wordlist.db&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
Créer un fichier dans cron.d (appelé gethamspam sans &amp;quot;.sh&amp;quot; car cron ne prend pas toujours)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# cron-jobs for bayes bogofilter database&lt;br /&gt;
#&lt;br /&gt;
MAILTO=root&lt;br /&gt;
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin&lt;br /&gt;
00 06 * * *	root /opt/mailcleaner/scripts/gethamspam.sh &amp;gt;&amp;gt; /var/log/gethamspam.log 2&amp;gt;&amp;amp;1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Paramétrer logrotate pour archiver /var/log/gethamspam.log : créer /etc/logrotate.d/gethamspam contenant :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash enclose=div&amp;gt;/var/log/gethamspam.log {&lt;br /&gt;
	weekly&lt;br /&gt;
	rotate 3&lt;br /&gt;
	compress&lt;br /&gt;
	nomail&lt;br /&gt;
	notifempty&lt;br /&gt;
	missingok&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SLAVE : si des Mailcleaner de secours sont en cluster avec celui-ci, une fois les bases copiées par le script, il faut les traiter.&lt;br /&gt;
* la base Bogofilter n'a pas besoin d'intervention&lt;br /&gt;
* la base Spamassassin doit être restaurée sur le slave, par exemple par un script de ce genre :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=div&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
if [ -f /var/mailcleaner/spool/spamassassin/spambayes.tgz ]&lt;br /&gt;
then&lt;br /&gt;
  rm -f /var/mailcleaner/spool/spamassassin/spambayes.tgz&lt;br /&gt;
fi&lt;br /&gt;
tar -cvf /var/mailcleaner/spool/spamassassin/spambayes.tgz /var/mailcleaner/spool/spamassassin/bayes*&lt;br /&gt;
if [ -f /var/mailcleaner/spool/spamassassin/spamass_rules.bak ]&lt;br /&gt;
then&lt;br /&gt;
  sa-learn -p /usr/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /usr/mailcleaner/share/spamassassin --restore /var/mailcleaner/spool/spamassassin/spamass_rules.bak&lt;br /&gt;
  rm -f /var/mailcleaner/spool/spamassassin/spamass_rules.bak&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Activer le module dans l'interface. Le déclarer '''non décisif'''. Il doit faire partie du score de spamassassin mais pas plus, sinon il y a trop de faux-positifs.&lt;br /&gt;
&lt;br /&gt;
Pour l'intégrer à spamassassin, créer une règle (dans un fichier xxxxx.cf à créer dans /usr/share/mailcleaner/share/spamassassin) :&lt;br /&gt;
  # Custom rules&lt;br /&gt;
  header LOCAL_NICEBAYES_HEADER    X-NiceBayes =~ /is spam/&lt;br /&gt;
  describe LOCAL_NICEBAYES_HEADER  NiceBayes header detected&lt;br /&gt;
  score LOCAL_NICEBAYES_HEADER     1.5&lt;br /&gt;
&lt;br /&gt;
== Règles custom spamassassin ==&lt;br /&gt;
Modifier la configuration de sa-update (procédure selon ces préconisation (ajout de channels, surtout) :&lt;br /&gt;
  * http://forum.mailcleaner.org/viewtopic.php?f=15&amp;amp;t=964&lt;br /&gt;
  * http://forum.mailcleaner.org/viewtopic.php?f=3&amp;amp;t=1776)&lt;br /&gt;
Pour commencer, créer les répertoires, importer les clés spamassassin et les règles updates en une seul commande :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/local/bin/sa-update -v&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Intégrer la clé GPG du canal Sought :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;wget http://yerp.org/rules/GPG.KEY&lt;br /&gt;
/usr/local/bin/sa-update --import GPG.KEY&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
créer /opt/mailcleaner/scripts/sa-update-customs.sh&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=div&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Spamassassin auto updater with custom channels&lt;br /&gt;
# First import key 6C6191E3 :&lt;br /&gt;
#  wget http://yerp.org/rules/GPG.KEY&lt;br /&gt;
#  sa-update --import GPG.KEY&lt;br /&gt;
SAUPD=/usr/local/bin/sa-update&lt;br /&gt;
$SAUPD --channel updates.spamassassin.org --updatedir /usr/mailcleaner/share/spamassassin &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
$SAUPD --gpgkey 6C6191E3 --channel sought.rules.yerp.org --updatedir /usr/mailcleaner/share/spamassassin &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
$SAUPD -v &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
wget http://www.pccc.com/downloads/SpamAssassin/contrib/KAM.cf &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
mv -f KAM.cf /usr/mailcleaner/share/spamassassin/KAM.cf&lt;br /&gt;
/usr/mailcleaner/etc/init.d/mailscanner restart&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
sans oublier&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chmod 755 /opt/mailcleaner/scripts/sa-update-customs.sh&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
et créer un lien dans cron.daily vers le script et paramétrer logrotate pour archiver /var/log/sa-update.log.&lt;br /&gt;
&lt;br /&gt;
Modifier également /usr/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf :&lt;br /&gt;
  bayes_auto_learn 1&lt;br /&gt;
  bayes_auto_learn_threshold_spam 7.0&lt;br /&gt;
  bayes_auto_learn_threshold_nonspam -0.1&lt;br /&gt;
&lt;br /&gt;
== Règles custom Clamav (Clamspam) ==&lt;br /&gt;
Clamav est installé et lancé après l'installation de base, mais Clamspam ne démarre pas par défaut car il n'a pas de base. On va charger les bases custom.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;aptitude install rsync gnupg curl socat gzip dnsutils&lt;br /&gt;
mkdir -p /opt/mailcleaner/sanesecurity/cache&lt;br /&gt;
cd /opt/mailcleaner/install&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Vérifier la dernière version du script sur http://downloads.sourceforge.net/project/unofficial-sigs/files&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;wget http://downloads.sourceforge.net/project/unofficial-sigs/clamav-unofficial-sigs-3.7.2.tar.gz&lt;br /&gt;
tar -xvzf clamav-unofficial-sigs-3.7.2.tar.gz&lt;br /&gt;
cd /opt/mailcleaner/scripts&lt;br /&gt;
cp /opt/mailcleaner/install/clamav-unofficial-sigs-3.7.2/clamav-unofficial-sigs.sh .&lt;br /&gt;
cp /opt/mailcleaner/install/clamav-unofficial-sigs-3.7.2/clamav-unofficial-sigs.conf .&lt;br /&gt;
chmod 755 clamav-unofficial-sigs.sh&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modifier clamav-unofficial-sigs.sh :&lt;br /&gt;
  default_config=&amp;quot;/opt/mailcleaner/scripts/clamav-unofficial-sigs.conf&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Modifier les options suivantes dans clamav-unofficial-sigs.conf :&lt;br /&gt;
  PATH=&amp;quot;/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/clamav/bin&amp;quot;&lt;br /&gt;
  clam_dbs=&amp;quot;/var/mailcleaner/spool/clamspam&amp;quot;&lt;br /&gt;
  clamd_pid=&amp;quot;/var/mailcleaner/run/clamav/clamspamd.pid&amp;quot;&lt;br /&gt;
  reload_dbs=&amp;quot;yes&amp;quot;&lt;br /&gt;
  #reload_opt=&amp;quot;clamdscan --reload&amp;quot; # Commenter cette ligne&lt;br /&gt;
  reload_opt=&amp;quot;/usr/mailcleaner/etc/init.d/clamspamd restart&amp;quot; # et ajouter celle-ci&lt;br /&gt;
  clamd_socket=&amp;quot;/var/mailcleaner/run/clamav/clamspamd.sock&amp;quot;&lt;br /&gt;
  work_dir=&amp;quot;/opt/mailcleaner/share/sanesecurity/cache&amp;quot;   #Top level working directory&lt;br /&gt;
  user_configuration_complete=&amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Lancer le script une première fois, afin qu'il crée ses répertoires, ses fichiers de bases et fasse une première synchronisation.&lt;br /&gt;
&lt;br /&gt;
Créer un lien pour un lancement journalier (ou dans cron.hourly si on veut un update toutes les heures !):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;ln -s /opt/mailcleaner/scripts/clamav-unofficial-sigs.sh /etc/cron.daily/clamav-unofficial-sigs&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Scores Fuzzy ==&lt;br /&gt;
Fuzzy a une fâcheuse tendance à générer quelques faux-positifs. Notamment, la règle de vérification des types d'images boucle sur chaque image du mail, et si elle buggue (image non reconnue par rapport à son extension) pour une raison ou une autre, le score s’additionne pour chaque image. ça peut aller vite !&lt;br /&gt;
&lt;br /&gt;
Donc, on baisse au moins ce score. Dans /etc/mailscanner/FuzzyOcr.cf_template (qui reconstruit /usr/mailcleaner/share/spamassassin/FuzzyOcr.cf à chaque redémarrage de mailcleaner) modifier :&lt;br /&gt;
 focr_wrongext_score '''0.1'''&lt;br /&gt;
Relancer mailcleaner&lt;br /&gt;
 service mailcleaner restart&lt;br /&gt;
&lt;br /&gt;
== Whitelist / blacklist manuelles ==&lt;br /&gt;
* Pour Spamassassin&lt;br /&gt;
Il est possible d'ajouter des filtres, par exemple une whitelist/blacklist manuelle : /usr/mailcleaner/share/spamassassin/lists-custom.cf de ce format :&lt;br /&gt;
  whitelist_from          *.gooddomain.fr&lt;br /&gt;
  blacklist_from          *.baddomain.fr&lt;br /&gt;
  blacklist_from          mail@baddomain.fr&lt;br /&gt;
Et ne pas oublier :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chown mailcleaner.mailcleaner /usr/mailcleaner/share/spamassassin/lists-custom.cf&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Pour Greylistd pour les services utilisant plusieurs IPs (Google, Outlook...)&lt;br /&gt;
Ajouter un fichier /usr/mailcleaner/etc/greylistd/whitelist-hosts&lt;br /&gt;
 # Google&lt;br /&gt;
 # https://support.google.com/a/answer/60764?hl=en&lt;br /&gt;
 209.85.128.0/17&lt;br /&gt;
 64.233.160.0/19&lt;br /&gt;
 66.102.0.0/20&lt;br /&gt;
 66.249.80.0/20&lt;br /&gt;
 72.14.192.0/18&lt;br /&gt;
 74.125.0.0/16&lt;br /&gt;
 108.177.8.0/21&lt;br /&gt;
 173.194.0.0/16&lt;br /&gt;
 216.58.192.0/19&lt;br /&gt;
 216.239.32.0/19 &lt;br /&gt;
 172.217.0.0/19&lt;br /&gt;
 172.217.32.0/20&lt;br /&gt;
 172.217.128.0/19&lt;br /&gt;
 172.217.160.0/20&lt;br /&gt;
 172.217.192.0/19&lt;br /&gt;
 108.177.96.0/19&lt;br /&gt;
 35.191.0.0/16&lt;br /&gt;
 130.211.0.0/22&lt;br /&gt;
 &lt;br /&gt;
 # Outlook.com / MS&lt;br /&gt;
 # https://technet.microsoft.com/en-us/library/dn163583(v=exchg.150).aspx&lt;br /&gt;
 23.103.132.0/22&lt;br /&gt;
 23.103.136.0/21&lt;br /&gt;
 23.103.144.0/20&lt;br /&gt;
 23.103.198.0/23&lt;br /&gt;
 23.103.200.0/22&lt;br /&gt;
 23.103.212.0/22&lt;br /&gt;
 40.92.0.0/14&lt;br /&gt;
 40.107.0.0/17&lt;br /&gt;
 40.107.128.0/18&lt;br /&gt;
 52.100.0.0/14&lt;br /&gt;
 65.55.88.0/24&lt;br /&gt;
 65.55.169.0/24&lt;br /&gt;
 94.245.120.64/26&lt;br /&gt;
 104.47.0.0/17&lt;br /&gt;
 157.55.234.0/24&lt;br /&gt;
 157.56.110.0/23&lt;br /&gt;
 157.56.112.0/24&lt;br /&gt;
 207.46.100.0/24&lt;br /&gt;
 207.46.163.0/24&lt;br /&gt;
 213.199.154.0/24&lt;br /&gt;
 213.199.180.128/26&lt;br /&gt;
 216.32.180.0/23&lt;br /&gt;
 &lt;br /&gt;
 # Yahoo.com&lt;br /&gt;
 216.109.112.0/20&lt;br /&gt;
 216.39.48.0/20&lt;br /&gt;
 98.136.0.0/14&lt;br /&gt;
&lt;br /&gt;
== Mise en cluster ==&lt;br /&gt;
sur les 2 serveurs :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;cat /etc/mailcleaner.conf | grep PWD&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
pour avoir les mots de passes des bases respectives.&lt;br /&gt;
&lt;br /&gt;
Sur master :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/mailcleaner/scripts/configuration/slaves.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  1) change host settings (donner l'IP de ce serveur)&lt;br /&gt;
  4) add a slave (donner l'IP du serveur SLAVE)&lt;br /&gt;
Sur slave :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/mailcleaner/scripts/configuration/slaves.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  1) change host settings (donner l'IP de ce serveur)&lt;br /&gt;
  5) set this host as a slave (donner l'IP du serveur MAITRE)&lt;br /&gt;
&lt;br /&gt;
== Mises à jour ==&lt;br /&gt;
Commencer par un snapshot de la VM !!&lt;br /&gt;
&lt;br /&gt;
Vérifier la version en cours de chacun des serveurs dans monitoring/status&lt;br /&gt;
&lt;br /&gt;
Vérifier la dernière version ici : http://www.mailcleaner.org/doku.php/downloads:latest&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aptitude update&lt;br /&gt;
aptitude safe-upgrade&lt;br /&gt;
cd /usr/mailcleaner&lt;br /&gt;
cvs -q update -dP&lt;br /&gt;
source lib/updates/update_binaries.sh&lt;br /&gt;
stabilizeBinaries&lt;br /&gt;
install/install_perl_libs.sh&lt;br /&gt;
install/install_sa.sh&lt;br /&gt;
/usr/mailcleaner/bin/check_db.pl --update&lt;br /&gt;
/etc/init.d/mailcleaner restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Ancienne méthode&lt;br /&gt;
cd /usr/mailcleaner&lt;br /&gt;
cvs update -dP updates # noter les numéros de patchs téléchargés&lt;br /&gt;
bin/apply_update.sh &amp;lt;PATCHNUMBER&amp;gt; # ne renvoit rien si OK&lt;br /&gt;
Vérifier le patch appliqué dans &amp;quot;Monitoring&amp;quot; / &amp;quot;status&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Mutualisation&amp;quot; de Mailcleaner =&lt;br /&gt;
On entend par là, faire profiter d'autres boîtes mails du filtrage de Mailcleaner. Pour ça rien de plus simple :&lt;br /&gt;
 apt-get install fetchmail&lt;br /&gt;
Créer un fichier /etc/fetchmailrc avec par exemple :&lt;br /&gt;
 defaults&lt;br /&gt;
 proto pop3&lt;br /&gt;
 set logfile &amp;quot;/var/log/fetchmaillog&amp;quot;&lt;br /&gt;
 set daemon 300&lt;br /&gt;
 &lt;br /&gt;
 # Fetchmail config&lt;br /&gt;
 poll pop3.remotedomain.com with proto POP3&lt;br /&gt;
    user &amp;quot;mymail@remotedomain.com&amp;quot; with password &amp;quot;MON_PASS&amp;quot; is user@domainknownbyMC.com here&lt;br /&gt;
    smtphost &amp;quot;localhost&amp;quot; smtpname &amp;quot;user@domainknownbyMC.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 touch /var/log/fetchmaillog&lt;br /&gt;
 chown fetchmail /var/log/fetchmaillog&lt;br /&gt;
 update-rc.d enable fetchmail&lt;br /&gt;
 service fetchmail start&lt;br /&gt;
&lt;br /&gt;
= Validation de l'intallation =&lt;br /&gt;
on peut tirer profit d'un scan complet chez MXTOOLBOX&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;https://mxtoolbox.com/domain/serveurmx.domaine.fr&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TIPS =&lt;br /&gt;
* Le slave n'a peut-être pas le bon nom de host pour la bannière SMTP. Dans /etc/mailcleaner.conf, si la ligne n'y est pas, ajouter :&lt;br /&gt;
 HELONAME = mx2.domaine.fr&lt;br /&gt;
Puis relancer (par l'interface) le &amp;quot;incoming MTA&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* /opt/mailcleaner/scripts/configuration/set_ip_config.sh pour changer l'ip du système&lt;br /&gt;
&lt;br /&gt;
* Changer le nom d'hôte : modifier dans /etc/hosts, /etc/hostname, et lancer /etc/init.d/hostname.sh&lt;br /&gt;
&lt;br /&gt;
* sur serveur SLAVE, si le message :&lt;br /&gt;
&lt;br /&gt;
 failed to open /var/mailcleaner/spool/tmp/mailcleaner/domains.list for linear search: No such file or directory&lt;br /&gt;
&lt;br /&gt;
apparaît, lancer :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/mailcleaner/bin/dump_domains.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Test des règles de spam :&lt;br /&gt;
  /usr/mailcleaner/bin/is_spam.sh -D source-mail.eml&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=MailCleaner:_installation_et_configuration&amp;diff=6627</id>
		<title>MailCleaner: installation et configuration</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=MailCleaner:_installation_et_configuration&amp;diff=6627"/>
				<updated>2018-07-04T15:59:34Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Whitelist / blacklist manuelles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Installation =&lt;br /&gt;
{{Note|Le site communautaire est accessible sur http://www.mailcleaner.org. Le site commercial sur http://www.mailcleaner.net}}&lt;br /&gt;
Télécharger l'image :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;wget https://cdn.mailcleaner.net/downloads/vm/MailCleaner_KVM_LATEST.zip&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Décompresser et attribuer le disque virtuel Mailcleaner.qcow2.template à une VM.&lt;br /&gt;
&lt;br /&gt;
Aprés le 1er boot et connexion à la console (attention, on est en qwerty à ce moment. Le mot de passe par défaut &amp;quot;MCPassw0rd&amp;quot; donne donc &amp;quot;?CPqssz0rd&amp;quot; sur un clavier français), configuration de base en ligne de commande :&lt;br /&gt;
  1 keyboard&lt;br /&gt;
  2 root passwd&lt;br /&gt;
  3 network&lt;br /&gt;
&lt;br /&gt;
ATTENTION : une fois l'ip changée, le firewall bloque le SSH externe au réseau local car n'accepte que les connexions de la plage locale !&lt;br /&gt;
 /usr/mailcleaner/etc/init.d/firewall stop # débloque la situation dans un premier temps&lt;br /&gt;
&lt;br /&gt;
Puis :&lt;br /&gt;
 /usr/mailcleaner/bin/mc_mysql -m mc_config&lt;br /&gt;
 insert into external_access (service,port,protocol,allowed_ip) values ('ssh','22','TCP','0.0.0.0/0');&lt;br /&gt;
&lt;br /&gt;
Rebooter&lt;br /&gt;
&lt;br /&gt;
Ajouter le nom &amp;quot;mailcleaner&amp;quot; au fichier host du poste qui servira à faire le premier paramétrage, car le nom &amp;quot;mailcleaner&amp;quot; est demandé &amp;quot;en dur&amp;quot; par les URLs des pages de setup.&lt;br /&gt;
&lt;br /&gt;
S'il y a un firewall entre le poste à l'extérieur et Mailcleaner, penser aussi à ouvrir temporairement le port 4242 utilisé lors du setup de base.&lt;br /&gt;
&lt;br /&gt;
Première connexion :&lt;br /&gt;
  https://mailcleaner/admin&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ARCHIVE : manips manuelles pour MC2012 installé à partir d'une iso&lt;br /&gt;
Passer les points dans l'ordre pour arriver au 4 : configuration, création des bases.\\ &lt;br /&gt;
Donner un ID unique par machine pouvant faire partie d'un cluster (voir plus bas).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Warning|BUG : en cas d'erreurs mysql, laisser l'installation se terminer (jusqu'à &amp;quot;starting services...&amp;quot;)}}&lt;br /&gt;
En effet, l'installateur n'attend pas - pour une raison inconnue - la fin de création des bases de données avant de continuer (notamment sur serveur virtualisé), et ne peut donc pas créer ses tables !\\ &lt;br /&gt;
Dans ce cas, se connecter en ssh et forcer l'arrêt du script qui reste bloqué sur &amp;quot;starting services...&amp;quot;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;ps -ef | grep install&lt;br /&gt;
kill &amp;lt;pid des processus *install*&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
puis :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;aptitude update&lt;br /&gt;
aptitude safe-upgrade #(répondre yes et yes)&lt;br /&gt;
cd /usr/mailcleaner&lt;br /&gt;
cvs -q update -dP&lt;br /&gt;
source lib/updates/update_binaries.sh&lt;br /&gt;
stabilizeBinaries&lt;br /&gt;
cd install&lt;br /&gt;
/opt/mysql5/bin/mysqladmin -S /var/mailcleaner/run/mysql_master/mysqld.sock -u root password 'new-password'&lt;br /&gt;
/opt/mysql5/bin/mysqladmin -S /var/mailcleaner/run/mysql_slave/mysqld.sock -u root password 'new-password'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
par sécurité éditer ./MC_prepare_dbs.sh, aux alentour de la ligne 124 modifier :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_slave/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&lt;br /&gt;
/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_master/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
par&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_slave/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&lt;br /&gt;
sleep 5&lt;br /&gt;
/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_master/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&lt;br /&gt;
sleep 5&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
puis continuer l'installation :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;./MC_prepare_dbs.sh # donner le mdp root mysql&lt;br /&gt;
/usr/mailcleaner/bin/check_db.pl --update&lt;br /&gt;
/usr/mailcleaner/bin/dump_apache_config.pl&lt;br /&gt;
/etc/init.d/mailcleaner restart&lt;br /&gt;
/usr/mailcleaner/bin/collect_rrd_stats.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
si problème de connexion en admin au webui :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/opt/mysql5/bin/mysql -S /var/mailcleaner/run/mysql_master/mysqld.sock -uroot -p mc_config&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  mysql&amp;gt; update administrator set password=ENCRYPT('new-password') where username='admin';&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
== Système ==&lt;br /&gt;
Commencer par passer en revue l'intégralité de la configuration&lt;br /&gt;
  * Configuration / General settings : passer le GUI en français + adresses mails, décocher &amp;quot;Display domain selector&amp;quot;, remplir Company&lt;br /&gt;
  * Configuration / Domains&lt;br /&gt;
    * Domain default settings : paramétrer emails dans general,  preferences, activer greylist dans filtering&lt;br /&gt;
  * SMTP&lt;br /&gt;
    * SMTP checks : activer les 4 RBLs&lt;br /&gt;
  * Anti-spam&lt;br /&gt;
    * Enable access to whitelist&lt;br /&gt;
    * NiceBayes enable module, désactiver decisive (voir [[#bayes|Filtres Bayes]] pour modifier le score que NiceNayes doit ajouter à spamassassin)&lt;br /&gt;
    * preRBLSs enable module, activer listes ips.backscatterer.org et dsn.bl.rfc-ignorant.de&lt;br /&gt;
    * UriRBLs enable module, activer les 3 listes&lt;br /&gt;
    * spamc enable DCC Razor Pyzor, décocher DKIM control&lt;br /&gt;
  * Services / web interfaces&lt;br /&gt;
    * changer le nom URL&lt;br /&gt;
    * enable SSL, ajouter certificats (cat /usr/mailcleaner/etc/apache/certs/certificate.pem, copier la partie KEY (avec BEGIN RSA PRIVATE KEY et END) dans private key et le reste (avec BEGIN CERTIFICATE et END) dansSSL certificate)&lt;br /&gt;
  * Monitoring/status (ou en cliquant dans le message en haut)&lt;br /&gt;
    * redémarrer les services qui doivent l'être&lt;br /&gt;
&lt;br /&gt;
Rebooter une fois. Si l'installateur redémarre après boot (au lieu d'arriver sur la demande de login), sortir (5), lancer :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;update-rc.d -f z_installmc remove&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
pour le désactiver au prochain redémarrage.&lt;br /&gt;
&lt;br /&gt;
== RBLs ==&lt;br /&gt;
&lt;br /&gt;
  * soit niveau SMTP -&amp;gt; rejetés&lt;br /&gt;
  * soit niveau PreRBLS -&amp;gt; quarantaine&lt;br /&gt;
  * soit niveau Spamc -&amp;gt; inclu dans la décision de tag spam&lt;br /&gt;
Attention à ne pas cocher les même RBLs à ces différents niveaux, ça ne servirait à rien et ralentirait le filtrage.&lt;br /&gt;
== Whitelists/blacklists ==&lt;br /&gt;
  * Whitelists :&lt;br /&gt;
    * Config/Anti-spam/Enable access to whitelist : c'est une whitelist générale (pour tous les domaines), mais il faut aussi qu'elle soit activée pour que les whitelists par domain apparaissent&lt;br /&gt;
    * Config/Domains/&amp;lt;nom de domain&amp;gt;/filtering/Enable whitelist&lt;br /&gt;
&lt;br /&gt;
  * Blacklists :&lt;br /&gt;
    * Config/SMTP/Connection control&lt;br /&gt;
Voir aussi plus bas : whitelists / blacklists manuelles.&lt;br /&gt;
== Quarantaine ==&lt;br /&gt;
Quarantaine/ Rapport de quarantaine :&lt;br /&gt;
  * Domains/&amp;lt;nom de domaine&amp;gt;/preferences&lt;br /&gt;
voir aussi les preferences par défaut dans &amp;quot;Domain default settings&amp;quot;/&amp;quot;preferences&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Ajout d'un domaine à relayer ==&lt;br /&gt;
&amp;quot;Domains&amp;quot; / &amp;quot;New domain&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Paramétrer le serveur destinataire dans &amp;quot;delivery&amp;quot;, cliquer &amp;quot;submit&amp;quot; et tester la destination.&lt;br /&gt;
&lt;br /&gt;
Paramétrer &amp;quot;address verification&amp;quot; : smtp, donner IPip du serveur destinataire, cliquer &amp;quot;submit&amp;quot; et &amp;quot;tester&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Améliorations ==&lt;br /&gt;
=== transfert de règles sa-learn ===&lt;br /&gt;
Sur l'ancien serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;sa-learn --backup &amp;gt; regles.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Sur le serveur Mailcleaner :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;sa-learn -p /opt/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /opt/mailcleaner/share/spamassassin --restore regles.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;bayes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Filtre Bayes ==&lt;br /&gt;
Le filtre est désactivé car aucune base n'est créée par défaut. Dans l'entête des mails on voit :&lt;br /&gt;
  NiceBayes disabled (no database ?)&lt;br /&gt;
Le principe est de déclarer une boîte aux lettres dédiée aux spams / hams, scannée par un script tous les jours pour alimenter la base. Installer la librairie nécessaire :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;apt-get install libmail-imapclient-perl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Créer un script /opt/mailcleaner/scripts/gethamspam.sh :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=div&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# copy the old database to a timestamped copy&lt;br /&gt;
TIMESTAMP=$(date +%d)&lt;br /&gt;
REPORT_EMAIL=admin@domain.com&lt;br /&gt;
&lt;br /&gt;
# backup Spamassassin bayes db&lt;br /&gt;
sa-learn -p /opt/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /opt/mailcleaner/share/spamassassin --backup &amp;gt;/var/mailcleaner/spool/spamassassin/spamass_rules.bak&lt;br /&gt;
# backup Bogofilter bayes db&lt;br /&gt;
cp -a /root/.bogofilter/wordlist.db &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db&amp;quot;&lt;br /&gt;
if [ -f &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db.gz&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
   rm -f &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db.gz&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
gzip &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# get the spam and ham from the imap mailbox for the spamassassin and bogofilter db's&lt;br /&gt;
/opt/mailcleaner/scripts/imap-sa-learn.pl&lt;br /&gt;
if [ $? -ne 0 ]&lt;br /&gt;
then&lt;br /&gt;
    (&lt;br /&gt;
      echo &amp;quot;Subject: Bogofilter database update $(hostname) failed&amp;quot;&lt;br /&gt;
      ls -l /var/mailcleaner/spool/bogofilter/database/&lt;br /&gt;
      ) | /usr/sbin/sendmail $REPORT_EMAIL&lt;br /&gt;
    exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# copy the database to the right location&lt;br /&gt;
cp /root/.bogofilter/wordlist.db /var/mailcleaner/spool/bogofilter/database/wordlist.db&lt;br /&gt;
# If slave(s) Mailcleaner exists, ssh copy db to the slave(s)&lt;br /&gt;
scp /root/.bogofilter/wordlist.db mailcleaner2.domain.com:/var/mailcleaner/spool/bogofilter/database/&lt;br /&gt;
# Copy the backup of spamassasin rules on slave(s). It must then be applied on it by --restore.&lt;br /&gt;
scp /var/mailcleaner/spool/spamassassin/spamass_rules.bak mailcleaner2.domain.com:/var/mailcleaner/spool/spamassassin/&lt;br /&gt;
&lt;br /&gt;
# get the spam and ham counts from bogofilter - this just prints how many spam and ham you collected so far...&lt;br /&gt;
/opt/bogofilter/bin/bogoutil -w /var/mailcleaner/spool/bogofilter/database/wordlist.db .MSG_COUNT&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Sans oublier&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chmod 755 /opt/mailcleaner/scripts/gethamspam.sh&lt;br /&gt;
chmod 755 /opt/mailcleaner/scripts/imap-sa-learn.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il appelle /opt/mailcleaner/scripts/imap-sa-learn.pl (http://forum.mailcleaner.org/viewtopic.php?f=3&amp;amp;t=836, voir aussi http://www.gagravarr.org/code). Le script crée une base /root/.bogofilter/wordlist.db et la copie dans /var/mailcleaner/spool/bogofilter/database. Il semble que les 2 emplacements soient nécessaires (à vérifier à l'occasion).&lt;br /&gt;
&lt;br /&gt;
{{Note|PENSER a changer le propriétaire de  /var/mailcleaner/spool/bogofilter/database/wordlist.db pour que mailcleaner puisse le modifier!&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chown mailcleaner:mailcleaner /var/mailcleaner/spool/bogofilter/database/wordlist.db&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
Créer un fichier dans cron.d (appelé gethamspam sans &amp;quot;.sh&amp;quot; car cron ne prend pas toujours)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# cron-jobs for bayes bogofilter database&lt;br /&gt;
#&lt;br /&gt;
MAILTO=root&lt;br /&gt;
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin&lt;br /&gt;
00 06 * * *	root /opt/mailcleaner/scripts/gethamspam.sh &amp;gt;&amp;gt; /var/log/gethamspam.log 2&amp;gt;&amp;amp;1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Paramétrer logrotate pour archiver /var/log/gethamspam.log : créer /etc/logrotate.d/gethamspam contenant :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash enclose=div&amp;gt;/var/log/gethamspam.log {&lt;br /&gt;
	weekly&lt;br /&gt;
	rotate 3&lt;br /&gt;
	compress&lt;br /&gt;
	nomail&lt;br /&gt;
	notifempty&lt;br /&gt;
	missingok&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SLAVE : si des Mailcleaner de secours sont en cluster avec celui-ci, une fois les bases copiées par le script, il faut les traiter.&lt;br /&gt;
* la base Bogofilter n'a pas besoin d'intervention&lt;br /&gt;
* la base Spamassassin doit être restaurée sur le slave, par exemple par un script de ce genre :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=div&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
if [ -f /var/mailcleaner/spool/spamassassin/spambayes.tgz ]&lt;br /&gt;
then&lt;br /&gt;
  rm -f /var/mailcleaner/spool/spamassassin/spambayes.tgz&lt;br /&gt;
fi&lt;br /&gt;
tar -cvf /var/mailcleaner/spool/spamassassin/spambayes.tgz /var/mailcleaner/spool/spamassassin/bayes*&lt;br /&gt;
if [ -f /var/mailcleaner/spool/spamassassin/spamass_rules.bak ]&lt;br /&gt;
then&lt;br /&gt;
  sa-learn -p /usr/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /usr/mailcleaner/share/spamassassin --restore /var/mailcleaner/spool/spamassassin/spamass_rules.bak&lt;br /&gt;
  rm -f /var/mailcleaner/spool/spamassassin/spamass_rules.bak&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Activer le module dans l'interface. Le déclarer '''non décisif'''. Il doit faire partie du score de spamassassin mais pas plus, sinon il y a trop de faux-positifs.&lt;br /&gt;
&lt;br /&gt;
Pour l'intégrer à spamassassin, créer une règle (dans un fichier xxxxx.cf à créer dans /usr/share/mailcleaner/share/spamassassin) :&lt;br /&gt;
  # Custom rules&lt;br /&gt;
  header LOCAL_NICEBAYES_HEADER    X-NiceBayes =~ /is spam/&lt;br /&gt;
  describe LOCAL_NICEBAYES_HEADER  NiceBayes header detected&lt;br /&gt;
  score LOCAL_NICEBAYES_HEADER     1.5&lt;br /&gt;
&lt;br /&gt;
== Règles custom spamassassin ==&lt;br /&gt;
Modifier la configuration de sa-update (procédure selon ces préconisation (ajout de channels, surtout) :&lt;br /&gt;
  * http://forum.mailcleaner.org/viewtopic.php?f=15&amp;amp;t=964&lt;br /&gt;
  * http://forum.mailcleaner.org/viewtopic.php?f=3&amp;amp;t=1776)&lt;br /&gt;
Pour commencer, créer les répertoires, importer les clés spamassassin et les règles updates en une seul commande :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/local/bin/sa-update -v&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Intégrer la clé GPG du canal Sought :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;wget http://yerp.org/rules/GPG.KEY&lt;br /&gt;
/usr/local/bin/sa-update --import GPG.KEY&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
créer /opt/mailcleaner/scripts/sa-update-customs.sh&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=div&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Spamassassin auto updater with custom channels&lt;br /&gt;
# First import key 6C6191E3 :&lt;br /&gt;
#  wget http://yerp.org/rules/GPG.KEY&lt;br /&gt;
#  sa-update --import GPG.KEY&lt;br /&gt;
SAUPD=/usr/local/bin/sa-update&lt;br /&gt;
$SAUPD --channel updates.spamassassin.org --updatedir /usr/mailcleaner/share/spamassassin &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
$SAUPD --gpgkey 6C6191E3 --channel sought.rules.yerp.org --updatedir /usr/mailcleaner/share/spamassassin &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
$SAUPD -v &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
wget http://www.pccc.com/downloads/SpamAssassin/contrib/KAM.cf &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
mv -f KAM.cf /usr/mailcleaner/share/spamassassin/KAM.cf&lt;br /&gt;
/usr/mailcleaner/etc/init.d/mailscanner restart&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
sans oublier&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chmod 755 /opt/mailcleaner/scripts/sa-update-customs.sh&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
et créer un lien dans cron.daily vers le script et paramétrer logrotate pour archiver /var/log/sa-update.log.&lt;br /&gt;
&lt;br /&gt;
Modifier également /usr/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf :&lt;br /&gt;
  bayes_auto_learn 1&lt;br /&gt;
  bayes_auto_learn_threshold_spam 7.0&lt;br /&gt;
  bayes_auto_learn_threshold_nonspam -0.1&lt;br /&gt;
&lt;br /&gt;
== Règles custom Clamav (Clamspam) ==&lt;br /&gt;
Clamav est installé et lancé après l'installation de base, mais Clamspam ne démarre pas par défaut car il n'a pas de base. On va charger les bases custom.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;aptitude install rsync gnupg curl socat gzip dnsutils&lt;br /&gt;
mkdir -p /opt/mailcleaner/sanesecurity/cache&lt;br /&gt;
cd /opt/mailcleaner/install&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Vérifier la dernière version du script sur http://downloads.sourceforge.net/project/unofficial-sigs/files&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;wget http://downloads.sourceforge.net/project/unofficial-sigs/clamav-unofficial-sigs-3.7.2.tar.gz&lt;br /&gt;
tar -xvzf clamav-unofficial-sigs-3.7.2.tar.gz&lt;br /&gt;
cd /opt/mailcleaner/scripts&lt;br /&gt;
cp /opt/mailcleaner/install/clamav-unofficial-sigs-3.7.2/clamav-unofficial-sigs.sh .&lt;br /&gt;
cp /opt/mailcleaner/install/clamav-unofficial-sigs-3.7.2/clamav-unofficial-sigs.conf .&lt;br /&gt;
chmod 755 clamav-unofficial-sigs.sh&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modifier clamav-unofficial-sigs.sh :&lt;br /&gt;
  default_config=&amp;quot;/opt/mailcleaner/scripts/clamav-unofficial-sigs.conf&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Modifier les options suivantes dans clamav-unofficial-sigs.conf :&lt;br /&gt;
  PATH=&amp;quot;/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/clamav/bin&amp;quot;&lt;br /&gt;
  clam_dbs=&amp;quot;/var/mailcleaner/spool/clamspam&amp;quot;&lt;br /&gt;
  clamd_pid=&amp;quot;/var/mailcleaner/run/clamav/clamspamd.pid&amp;quot;&lt;br /&gt;
  reload_dbs=&amp;quot;yes&amp;quot;&lt;br /&gt;
  #reload_opt=&amp;quot;clamdscan --reload&amp;quot; # Commenter cette ligne&lt;br /&gt;
  reload_opt=&amp;quot;/usr/mailcleaner/etc/init.d/clamspamd restart&amp;quot; # et ajouter celle-ci&lt;br /&gt;
  clamd_socket=&amp;quot;/var/mailcleaner/run/clamav/clamspamd.sock&amp;quot;&lt;br /&gt;
  work_dir=&amp;quot;/opt/mailcleaner/share/sanesecurity/cache&amp;quot;   #Top level working directory&lt;br /&gt;
  user_configuration_complete=&amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Lancer le script une première fois, afin qu'il crée ses répertoires, ses fichiers de bases et fasse une première synchronisation.&lt;br /&gt;
&lt;br /&gt;
Créer un lien pour un lancement journalier (ou dans cron.hourly si on veut un update toutes les heures !):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;ln -s /opt/mailcleaner/scripts/clamav-unofficial-sigs.sh /etc/cron.daily/clamav-unofficial-sigs&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Scores Fuzzy ==&lt;br /&gt;
Fuzzy a une fâcheuse tendance à générer quelques faux-positifs. Notamment, la règle de vérification des types d'images boucle sur chaque image du mail, et si elle buggue (image non reconnue par rapport à son extension) pour une raison ou une autre, le score s’additionne pour chaque image. ça peut aller vite !&lt;br /&gt;
&lt;br /&gt;
Donc, on baisse au moins ce score. Dans /etc/mailscanner/FuzzyOcr.cf_template (qui reconstruit /usr/mailcleaner/share/spamassassin/FuzzyOcr.cf à chaque redémarrage de mailcleaner) modifier :&lt;br /&gt;
 focr_wrongext_score '''0.1'''&lt;br /&gt;
Relancer mailcleaner&lt;br /&gt;
 service mailcleaner restart&lt;br /&gt;
&lt;br /&gt;
== Whitelist / blacklist manuelles ==&lt;br /&gt;
* Pour Spamassassin&lt;br /&gt;
Il est possible d'ajouter des filtres, par exemple une whitelist/blacklist manuelle : /usr/mailcleaner/share/spamassassin/lists-custom.cf de ce format :&lt;br /&gt;
  whitelist_from          *.gooddomain.fr&lt;br /&gt;
  blacklist_from          *.baddomain.fr&lt;br /&gt;
  blacklist_from          mail@baddomain.fr&lt;br /&gt;
Et ne pas oublier :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chown mailcleaner.mailcleaner /usr/mailcleaner/share/spamassassin/lists-custom.cf&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Pour Greylistd pour les services utilisant plusieurs IPs (Google, Outlook...)&lt;br /&gt;
Ajouter un fichier /usr/mailcleaner/etc/greylistd/whitelist-hosts&lt;br /&gt;
# Google&lt;br /&gt;
# https://support.google.com/a/answer/60764?hl=en&lt;br /&gt;
209.85.128.0/17&lt;br /&gt;
64.233.160.0/19&lt;br /&gt;
66.102.0.0/20&lt;br /&gt;
66.249.80.0/20&lt;br /&gt;
72.14.192.0/18&lt;br /&gt;
74.125.0.0/16&lt;br /&gt;
108.177.8.0/21&lt;br /&gt;
173.194.0.0/16&lt;br /&gt;
216.58.192.0/19&lt;br /&gt;
216.239.32.0/19 &lt;br /&gt;
172.217.0.0/19&lt;br /&gt;
172.217.32.0/20&lt;br /&gt;
172.217.128.0/19&lt;br /&gt;
172.217.160.0/20&lt;br /&gt;
172.217.192.0/19&lt;br /&gt;
108.177.96.0/19&lt;br /&gt;
35.191.0.0/16&lt;br /&gt;
130.211.0.0/22&lt;br /&gt;
&lt;br /&gt;
# Outlook.com / MS&lt;br /&gt;
# https://technet.microsoft.com/en-us/library/dn163583(v=exchg.150).aspx&lt;br /&gt;
23.103.132.0/22&lt;br /&gt;
23.103.136.0/21&lt;br /&gt;
23.103.144.0/20&lt;br /&gt;
23.103.198.0/23&lt;br /&gt;
23.103.200.0/22&lt;br /&gt;
23.103.212.0/22&lt;br /&gt;
40.92.0.0/14&lt;br /&gt;
40.107.0.0/17&lt;br /&gt;
40.107.128.0/18&lt;br /&gt;
52.100.0.0/14&lt;br /&gt;
65.55.88.0/24&lt;br /&gt;
65.55.169.0/24&lt;br /&gt;
94.245.120.64/26&lt;br /&gt;
104.47.0.0/17&lt;br /&gt;
157.55.234.0/24&lt;br /&gt;
157.56.110.0/23&lt;br /&gt;
157.56.112.0/24&lt;br /&gt;
207.46.100.0/24&lt;br /&gt;
207.46.163.0/24&lt;br /&gt;
213.199.154.0/24&lt;br /&gt;
213.199.180.128/26&lt;br /&gt;
216.32.180.0/23&lt;br /&gt;
&lt;br /&gt;
# Yahoo.com&lt;br /&gt;
216.109.112.0/20&lt;br /&gt;
216.39.48.0/20&lt;br /&gt;
98.136.0.0/14&lt;br /&gt;
&lt;br /&gt;
== Mise en cluster ==&lt;br /&gt;
sur les 2 serveurs :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;cat /etc/mailcleaner.conf | grep PWD&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
pour avoir les mots de passes des bases respectives.&lt;br /&gt;
&lt;br /&gt;
Sur master :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/mailcleaner/scripts/configuration/slaves.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  1) change host settings (donner l'IP de ce serveur)&lt;br /&gt;
  4) add a slave (donner l'IP du serveur SLAVE)&lt;br /&gt;
Sur slave :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/mailcleaner/scripts/configuration/slaves.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  1) change host settings (donner l'IP de ce serveur)&lt;br /&gt;
  5) set this host as a slave (donner l'IP du serveur MAITRE)&lt;br /&gt;
&lt;br /&gt;
== Mises à jour ==&lt;br /&gt;
Commencer par un snapshot de la VM !!&lt;br /&gt;
&lt;br /&gt;
Vérifier la version en cours de chacun des serveurs dans monitoring/status&lt;br /&gt;
&lt;br /&gt;
Vérifier la dernière version ici : http://www.mailcleaner.org/doku.php/downloads:latest&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aptitude update&lt;br /&gt;
aptitude safe-upgrade&lt;br /&gt;
cd /usr/mailcleaner&lt;br /&gt;
cvs -q update -dP&lt;br /&gt;
source lib/updates/update_binaries.sh&lt;br /&gt;
stabilizeBinaries&lt;br /&gt;
install/install_perl_libs.sh&lt;br /&gt;
install/install_sa.sh&lt;br /&gt;
/usr/mailcleaner/bin/check_db.pl --update&lt;br /&gt;
/etc/init.d/mailcleaner restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Ancienne méthode&lt;br /&gt;
cd /usr/mailcleaner&lt;br /&gt;
cvs update -dP updates # noter les numéros de patchs téléchargés&lt;br /&gt;
bin/apply_update.sh &amp;lt;PATCHNUMBER&amp;gt; # ne renvoit rien si OK&lt;br /&gt;
Vérifier le patch appliqué dans &amp;quot;Monitoring&amp;quot; / &amp;quot;status&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Mutualisation&amp;quot; de Mailcleaner =&lt;br /&gt;
On entend par là, faire profiter d'autres boîtes mails du filtrage de Mailcleaner. Pour ça rien de plus simple :&lt;br /&gt;
 apt-get install fetchmail&lt;br /&gt;
Créer un fichier /etc/fetchmailrc avec par exemple :&lt;br /&gt;
 defaults&lt;br /&gt;
 proto pop3&lt;br /&gt;
 set logfile &amp;quot;/var/log/fetchmaillog&amp;quot;&lt;br /&gt;
 set daemon 300&lt;br /&gt;
 &lt;br /&gt;
 # Fetchmail config&lt;br /&gt;
 poll pop3.remotedomain.com with proto POP3&lt;br /&gt;
    user &amp;quot;mymail@remotedomain.com&amp;quot; with password &amp;quot;MON_PASS&amp;quot; is user@domainknownbyMC.com here&lt;br /&gt;
    smtphost &amp;quot;localhost&amp;quot; smtpname &amp;quot;user@domainknownbyMC.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 touch /var/log/fetchmaillog&lt;br /&gt;
 chown fetchmail /var/log/fetchmaillog&lt;br /&gt;
 update-rc.d enable fetchmail&lt;br /&gt;
 service fetchmail start&lt;br /&gt;
&lt;br /&gt;
= Validation de l'intallation =&lt;br /&gt;
on peut tirer profit d'un scan complet chez MXTOOLBOX&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;https://mxtoolbox.com/domain/serveurmx.domaine.fr&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TIPS =&lt;br /&gt;
* Le slave n'a peut-être pas le bon nom de host pour la bannière SMTP. Dans /etc/mailcleaner.conf, si la ligne n'y est pas, ajouter :&lt;br /&gt;
 HELONAME = mx2.domaine.fr&lt;br /&gt;
Puis relancer (par l'interface) le &amp;quot;incoming MTA&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* /opt/mailcleaner/scripts/configuration/set_ip_config.sh pour changer l'ip du système&lt;br /&gt;
&lt;br /&gt;
* Changer le nom d'hôte : modifier dans /etc/hosts, /etc/hostname, et lancer /etc/init.d/hostname.sh&lt;br /&gt;
&lt;br /&gt;
* sur serveur SLAVE, si le message :&lt;br /&gt;
&lt;br /&gt;
 failed to open /var/mailcleaner/spool/tmp/mailcleaner/domains.list for linear search: No such file or directory&lt;br /&gt;
&lt;br /&gt;
apparaît, lancer :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/mailcleaner/bin/dump_domains.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Test des règles de spam :&lt;br /&gt;
  /usr/mailcleaner/bin/is_spam.sh -D source-mail.eml&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=MailCleaner:_installation_et_configuration&amp;diff=6626</id>
		<title>MailCleaner: installation et configuration</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=MailCleaner:_installation_et_configuration&amp;diff=6626"/>
				<updated>2018-06-07T15:44:24Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Installation =&lt;br /&gt;
{{Note|Le site communautaire est accessible sur http://www.mailcleaner.org. Le site commercial sur http://www.mailcleaner.net}}&lt;br /&gt;
Télécharger l'image :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;wget https://cdn.mailcleaner.net/downloads/vm/MailCleaner_KVM_LATEST.zip&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Décompresser et attribuer le disque virtuel Mailcleaner.qcow2.template à une VM.&lt;br /&gt;
&lt;br /&gt;
Aprés le 1er boot et connexion à la console (attention, on est en qwerty à ce moment. Le mot de passe par défaut &amp;quot;MCPassw0rd&amp;quot; donne donc &amp;quot;?CPqssz0rd&amp;quot; sur un clavier français), configuration de base en ligne de commande :&lt;br /&gt;
  1 keyboard&lt;br /&gt;
  2 root passwd&lt;br /&gt;
  3 network&lt;br /&gt;
&lt;br /&gt;
ATTENTION : une fois l'ip changée, le firewall bloque le SSH externe au réseau local car n'accepte que les connexions de la plage locale !&lt;br /&gt;
 /usr/mailcleaner/etc/init.d/firewall stop # débloque la situation dans un premier temps&lt;br /&gt;
&lt;br /&gt;
Puis :&lt;br /&gt;
 /usr/mailcleaner/bin/mc_mysql -m mc_config&lt;br /&gt;
 insert into external_access (service,port,protocol,allowed_ip) values ('ssh','22','TCP','0.0.0.0/0');&lt;br /&gt;
&lt;br /&gt;
Rebooter&lt;br /&gt;
&lt;br /&gt;
Ajouter le nom &amp;quot;mailcleaner&amp;quot; au fichier host du poste qui servira à faire le premier paramétrage, car le nom &amp;quot;mailcleaner&amp;quot; est demandé &amp;quot;en dur&amp;quot; par les URLs des pages de setup.&lt;br /&gt;
&lt;br /&gt;
S'il y a un firewall entre le poste à l'extérieur et Mailcleaner, penser aussi à ouvrir temporairement le port 4242 utilisé lors du setup de base.&lt;br /&gt;
&lt;br /&gt;
Première connexion :&lt;br /&gt;
  https://mailcleaner/admin&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ARCHIVE : manips manuelles pour MC2012 installé à partir d'une iso&lt;br /&gt;
Passer les points dans l'ordre pour arriver au 4 : configuration, création des bases.\\ &lt;br /&gt;
Donner un ID unique par machine pouvant faire partie d'un cluster (voir plus bas).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Warning|BUG : en cas d'erreurs mysql, laisser l'installation se terminer (jusqu'à &amp;quot;starting services...&amp;quot;)}}&lt;br /&gt;
En effet, l'installateur n'attend pas - pour une raison inconnue - la fin de création des bases de données avant de continuer (notamment sur serveur virtualisé), et ne peut donc pas créer ses tables !\\ &lt;br /&gt;
Dans ce cas, se connecter en ssh et forcer l'arrêt du script qui reste bloqué sur &amp;quot;starting services...&amp;quot;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;ps -ef | grep install&lt;br /&gt;
kill &amp;lt;pid des processus *install*&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
puis :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;aptitude update&lt;br /&gt;
aptitude safe-upgrade #(répondre yes et yes)&lt;br /&gt;
cd /usr/mailcleaner&lt;br /&gt;
cvs -q update -dP&lt;br /&gt;
source lib/updates/update_binaries.sh&lt;br /&gt;
stabilizeBinaries&lt;br /&gt;
cd install&lt;br /&gt;
/opt/mysql5/bin/mysqladmin -S /var/mailcleaner/run/mysql_master/mysqld.sock -u root password 'new-password'&lt;br /&gt;
/opt/mysql5/bin/mysqladmin -S /var/mailcleaner/run/mysql_slave/mysqld.sock -u root password 'new-password'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
par sécurité éditer ./MC_prepare_dbs.sh, aux alentour de la ligne 124 modifier :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_slave/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&lt;br /&gt;
/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_master/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
par&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_slave/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&lt;br /&gt;
sleep 5&lt;br /&gt;
/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_master/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&lt;br /&gt;
sleep 5&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
puis continuer l'installation :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;./MC_prepare_dbs.sh # donner le mdp root mysql&lt;br /&gt;
/usr/mailcleaner/bin/check_db.pl --update&lt;br /&gt;
/usr/mailcleaner/bin/dump_apache_config.pl&lt;br /&gt;
/etc/init.d/mailcleaner restart&lt;br /&gt;
/usr/mailcleaner/bin/collect_rrd_stats.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
si problème de connexion en admin au webui :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/opt/mysql5/bin/mysql -S /var/mailcleaner/run/mysql_master/mysqld.sock -uroot -p mc_config&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  mysql&amp;gt; update administrator set password=ENCRYPT('new-password') where username='admin';&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
== Système ==&lt;br /&gt;
Commencer par passer en revue l'intégralité de la configuration&lt;br /&gt;
  * Configuration / General settings : passer le GUI en français + adresses mails, décocher &amp;quot;Display domain selector&amp;quot;, remplir Company&lt;br /&gt;
  * Configuration / Domains&lt;br /&gt;
    * Domain default settings : paramétrer emails dans general,  preferences, activer greylist dans filtering&lt;br /&gt;
  * SMTP&lt;br /&gt;
    * SMTP checks : activer les 4 RBLs&lt;br /&gt;
  * Anti-spam&lt;br /&gt;
    * Enable access to whitelist&lt;br /&gt;
    * NiceBayes enable module, désactiver decisive (voir [[#bayes|Filtres Bayes]] pour modifier le score que NiceNayes doit ajouter à spamassassin)&lt;br /&gt;
    * preRBLSs enable module, activer listes ips.backscatterer.org et dsn.bl.rfc-ignorant.de&lt;br /&gt;
    * UriRBLs enable module, activer les 3 listes&lt;br /&gt;
    * spamc enable DCC Razor Pyzor, décocher DKIM control&lt;br /&gt;
  * Services / web interfaces&lt;br /&gt;
    * changer le nom URL&lt;br /&gt;
    * enable SSL, ajouter certificats (cat /usr/mailcleaner/etc/apache/certs/certificate.pem, copier la partie KEY (avec BEGIN RSA PRIVATE KEY et END) dans private key et le reste (avec BEGIN CERTIFICATE et END) dansSSL certificate)&lt;br /&gt;
  * Monitoring/status (ou en cliquant dans le message en haut)&lt;br /&gt;
    * redémarrer les services qui doivent l'être&lt;br /&gt;
&lt;br /&gt;
Rebooter une fois. Si l'installateur redémarre après boot (au lieu d'arriver sur la demande de login), sortir (5), lancer :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;update-rc.d -f z_installmc remove&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
pour le désactiver au prochain redémarrage.&lt;br /&gt;
&lt;br /&gt;
== RBLs ==&lt;br /&gt;
&lt;br /&gt;
  * soit niveau SMTP -&amp;gt; rejetés&lt;br /&gt;
  * soit niveau PreRBLS -&amp;gt; quarantaine&lt;br /&gt;
  * soit niveau Spamc -&amp;gt; inclu dans la décision de tag spam&lt;br /&gt;
Attention à ne pas cocher les même RBLs à ces différents niveaux, ça ne servirait à rien et ralentirait le filtrage.&lt;br /&gt;
== Whitelists/blacklists ==&lt;br /&gt;
  * Whitelists :&lt;br /&gt;
    * Config/Anti-spam/Enable access to whitelist : c'est une whitelist générale (pour tous les domaines), mais il faut aussi qu'elle soit activée pour que les whitelists par domain apparaissent&lt;br /&gt;
    * Config/Domains/&amp;lt;nom de domain&amp;gt;/filtering/Enable whitelist&lt;br /&gt;
&lt;br /&gt;
  * Blacklists :&lt;br /&gt;
    * Config/SMTP/Connection control&lt;br /&gt;
Voir aussi plus bas : whitelists / blacklists manuelles.&lt;br /&gt;
== Quarantaine ==&lt;br /&gt;
Quarantaine/ Rapport de quarantaine :&lt;br /&gt;
  * Domains/&amp;lt;nom de domaine&amp;gt;/preferences&lt;br /&gt;
voir aussi les preferences par défaut dans &amp;quot;Domain default settings&amp;quot;/&amp;quot;preferences&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Ajout d'un domaine à relayer ==&lt;br /&gt;
&amp;quot;Domains&amp;quot; / &amp;quot;New domain&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Paramétrer le serveur destinataire dans &amp;quot;delivery&amp;quot;, cliquer &amp;quot;submit&amp;quot; et tester la destination.&lt;br /&gt;
&lt;br /&gt;
Paramétrer &amp;quot;address verification&amp;quot; : smtp, donner IPip du serveur destinataire, cliquer &amp;quot;submit&amp;quot; et &amp;quot;tester&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Améliorations ==&lt;br /&gt;
=== transfert de règles sa-learn ===&lt;br /&gt;
Sur l'ancien serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;sa-learn --backup &amp;gt; regles.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Sur le serveur Mailcleaner :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;sa-learn -p /opt/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /opt/mailcleaner/share/spamassassin --restore regles.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;bayes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Filtre Bayes ==&lt;br /&gt;
Le filtre est désactivé car aucune base n'est créée par défaut. Dans l'entête des mails on voit :&lt;br /&gt;
  NiceBayes disabled (no database ?)&lt;br /&gt;
Le principe est de déclarer une boîte aux lettres dédiée aux spams / hams, scannée par un script tous les jours pour alimenter la base. Installer la librairie nécessaire :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;apt-get install libmail-imapclient-perl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Créer un script /opt/mailcleaner/scripts/gethamspam.sh :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=div&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# copy the old database to a timestamped copy&lt;br /&gt;
TIMESTAMP=$(date +%d)&lt;br /&gt;
REPORT_EMAIL=admin@domain.com&lt;br /&gt;
&lt;br /&gt;
# backup Spamassassin bayes db&lt;br /&gt;
sa-learn -p /opt/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /opt/mailcleaner/share/spamassassin --backup &amp;gt;/var/mailcleaner/spool/spamassassin/spamass_rules.bak&lt;br /&gt;
# backup Bogofilter bayes db&lt;br /&gt;
cp -a /root/.bogofilter/wordlist.db &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db&amp;quot;&lt;br /&gt;
if [ -f &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db.gz&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
   rm -f &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db.gz&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
gzip &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# get the spam and ham from the imap mailbox for the spamassassin and bogofilter db's&lt;br /&gt;
/opt/mailcleaner/scripts/imap-sa-learn.pl&lt;br /&gt;
if [ $? -ne 0 ]&lt;br /&gt;
then&lt;br /&gt;
    (&lt;br /&gt;
      echo &amp;quot;Subject: Bogofilter database update $(hostname) failed&amp;quot;&lt;br /&gt;
      ls -l /var/mailcleaner/spool/bogofilter/database/&lt;br /&gt;
      ) | /usr/sbin/sendmail $REPORT_EMAIL&lt;br /&gt;
    exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# copy the database to the right location&lt;br /&gt;
cp /root/.bogofilter/wordlist.db /var/mailcleaner/spool/bogofilter/database/wordlist.db&lt;br /&gt;
# If slave(s) Mailcleaner exists, ssh copy db to the slave(s)&lt;br /&gt;
scp /root/.bogofilter/wordlist.db mailcleaner2.domain.com:/var/mailcleaner/spool/bogofilter/database/&lt;br /&gt;
# Copy the backup of spamassasin rules on slave(s). It must then be applied on it by --restore.&lt;br /&gt;
scp /var/mailcleaner/spool/spamassassin/spamass_rules.bak mailcleaner2.domain.com:/var/mailcleaner/spool/spamassassin/&lt;br /&gt;
&lt;br /&gt;
# get the spam and ham counts from bogofilter - this just prints how many spam and ham you collected so far...&lt;br /&gt;
/opt/bogofilter/bin/bogoutil -w /var/mailcleaner/spool/bogofilter/database/wordlist.db .MSG_COUNT&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Sans oublier&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chmod 755 /opt/mailcleaner/scripts/gethamspam.sh&lt;br /&gt;
chmod 755 /opt/mailcleaner/scripts/imap-sa-learn.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il appelle /opt/mailcleaner/scripts/imap-sa-learn.pl (http://forum.mailcleaner.org/viewtopic.php?f=3&amp;amp;t=836, voir aussi http://www.gagravarr.org/code). Le script crée une base /root/.bogofilter/wordlist.db et la copie dans /var/mailcleaner/spool/bogofilter/database. Il semble que les 2 emplacements soient nécessaires (à vérifier à l'occasion).&lt;br /&gt;
&lt;br /&gt;
{{Note|PENSER a changer le propriétaire de  /var/mailcleaner/spool/bogofilter/database/wordlist.db pour que mailcleaner puisse le modifier!&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chown mailcleaner:mailcleaner /var/mailcleaner/spool/bogofilter/database/wordlist.db&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
Créer un fichier dans cron.d (appelé gethamspam sans &amp;quot;.sh&amp;quot; car cron ne prend pas toujours)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# cron-jobs for bayes bogofilter database&lt;br /&gt;
#&lt;br /&gt;
MAILTO=root&lt;br /&gt;
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin&lt;br /&gt;
00 06 * * *	root /opt/mailcleaner/scripts/gethamspam.sh &amp;gt;&amp;gt; /var/log/gethamspam.log 2&amp;gt;&amp;amp;1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Paramétrer logrotate pour archiver /var/log/gethamspam.log : créer /etc/logrotate.d/gethamspam contenant :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash enclose=div&amp;gt;/var/log/gethamspam.log {&lt;br /&gt;
	weekly&lt;br /&gt;
	rotate 3&lt;br /&gt;
	compress&lt;br /&gt;
	nomail&lt;br /&gt;
	notifempty&lt;br /&gt;
	missingok&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SLAVE : si des Mailcleaner de secours sont en cluster avec celui-ci, une fois les bases copiées par le script, il faut les traiter.&lt;br /&gt;
* la base Bogofilter n'a pas besoin d'intervention&lt;br /&gt;
* la base Spamassassin doit être restaurée sur le slave, par exemple par un script de ce genre :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=div&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
if [ -f /var/mailcleaner/spool/spamassassin/spambayes.tgz ]&lt;br /&gt;
then&lt;br /&gt;
  rm -f /var/mailcleaner/spool/spamassassin/spambayes.tgz&lt;br /&gt;
fi&lt;br /&gt;
tar -cvf /var/mailcleaner/spool/spamassassin/spambayes.tgz /var/mailcleaner/spool/spamassassin/bayes*&lt;br /&gt;
if [ -f /var/mailcleaner/spool/spamassassin/spamass_rules.bak ]&lt;br /&gt;
then&lt;br /&gt;
  sa-learn -p /usr/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /usr/mailcleaner/share/spamassassin --restore /var/mailcleaner/spool/spamassassin/spamass_rules.bak&lt;br /&gt;
  rm -f /var/mailcleaner/spool/spamassassin/spamass_rules.bak&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Activer le module dans l'interface. Le déclarer '''non décisif'''. Il doit faire partie du score de spamassassin mais pas plus, sinon il y a trop de faux-positifs.&lt;br /&gt;
&lt;br /&gt;
Pour l'intégrer à spamassassin, créer une règle (dans un fichier xxxxx.cf à créer dans /usr/share/mailcleaner/share/spamassassin) :&lt;br /&gt;
  # Custom rules&lt;br /&gt;
  header LOCAL_NICEBAYES_HEADER    X-NiceBayes =~ /is spam/&lt;br /&gt;
  describe LOCAL_NICEBAYES_HEADER  NiceBayes header detected&lt;br /&gt;
  score LOCAL_NICEBAYES_HEADER     1.5&lt;br /&gt;
&lt;br /&gt;
== Règles custom spamassassin ==&lt;br /&gt;
Modifier la configuration de sa-update (procédure selon ces préconisation (ajout de channels, surtout) :&lt;br /&gt;
  * http://forum.mailcleaner.org/viewtopic.php?f=15&amp;amp;t=964&lt;br /&gt;
  * http://forum.mailcleaner.org/viewtopic.php?f=3&amp;amp;t=1776)&lt;br /&gt;
Pour commencer, créer les répertoires, importer les clés spamassassin et les règles updates en une seul commande :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/local/bin/sa-update -v&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Intégrer la clé GPG du canal Sought :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;wget http://yerp.org/rules/GPG.KEY&lt;br /&gt;
/usr/local/bin/sa-update --import GPG.KEY&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
créer /opt/mailcleaner/scripts/sa-update-customs.sh&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=div&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Spamassassin auto updater with custom channels&lt;br /&gt;
# First import key 6C6191E3 :&lt;br /&gt;
#  wget http://yerp.org/rules/GPG.KEY&lt;br /&gt;
#  sa-update --import GPG.KEY&lt;br /&gt;
SAUPD=/usr/local/bin/sa-update&lt;br /&gt;
$SAUPD --channel updates.spamassassin.org --updatedir /usr/mailcleaner/share/spamassassin &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
$SAUPD --gpgkey 6C6191E3 --channel sought.rules.yerp.org --updatedir /usr/mailcleaner/share/spamassassin &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
$SAUPD -v &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
wget http://www.pccc.com/downloads/SpamAssassin/contrib/KAM.cf &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
mv -f KAM.cf /usr/mailcleaner/share/spamassassin/KAM.cf&lt;br /&gt;
/usr/mailcleaner/etc/init.d/mailscanner restart&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
sans oublier&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chmod 755 /opt/mailcleaner/scripts/sa-update-customs.sh&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
et créer un lien dans cron.daily vers le script et paramétrer logrotate pour archiver /var/log/sa-update.log.&lt;br /&gt;
&lt;br /&gt;
Modifier également /usr/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf :&lt;br /&gt;
  bayes_auto_learn 1&lt;br /&gt;
  bayes_auto_learn_threshold_spam 7.0&lt;br /&gt;
  bayes_auto_learn_threshold_nonspam -0.1&lt;br /&gt;
&lt;br /&gt;
== Règles custom Clamav (Clamspam) ==&lt;br /&gt;
Clamav est installé et lancé après l'installation de base, mais Clamspam ne démarre pas par défaut car il n'a pas de base. On va charger les bases custom.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;aptitude install rsync gnupg curl socat gzip dnsutils&lt;br /&gt;
mkdir -p /opt/mailcleaner/sanesecurity/cache&lt;br /&gt;
cd /opt/mailcleaner/install&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Vérifier la dernière version du script sur http://downloads.sourceforge.net/project/unofficial-sigs/files&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;wget http://downloads.sourceforge.net/project/unofficial-sigs/clamav-unofficial-sigs-3.7.2.tar.gz&lt;br /&gt;
tar -xvzf clamav-unofficial-sigs-3.7.2.tar.gz&lt;br /&gt;
cd /opt/mailcleaner/scripts&lt;br /&gt;
cp /opt/mailcleaner/install/clamav-unofficial-sigs-3.7.2/clamav-unofficial-sigs.sh .&lt;br /&gt;
cp /opt/mailcleaner/install/clamav-unofficial-sigs-3.7.2/clamav-unofficial-sigs.conf .&lt;br /&gt;
chmod 755 clamav-unofficial-sigs.sh&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modifier clamav-unofficial-sigs.sh :&lt;br /&gt;
  default_config=&amp;quot;/opt/mailcleaner/scripts/clamav-unofficial-sigs.conf&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Modifier les options suivantes dans clamav-unofficial-sigs.conf :&lt;br /&gt;
  PATH=&amp;quot;/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/clamav/bin&amp;quot;&lt;br /&gt;
  clam_dbs=&amp;quot;/var/mailcleaner/spool/clamspam&amp;quot;&lt;br /&gt;
  clamd_pid=&amp;quot;/var/mailcleaner/run/clamav/clamspamd.pid&amp;quot;&lt;br /&gt;
  reload_dbs=&amp;quot;yes&amp;quot;&lt;br /&gt;
  #reload_opt=&amp;quot;clamdscan --reload&amp;quot; # Commenter cette ligne&lt;br /&gt;
  reload_opt=&amp;quot;/usr/mailcleaner/etc/init.d/clamspamd restart&amp;quot; # et ajouter celle-ci&lt;br /&gt;
  clamd_socket=&amp;quot;/var/mailcleaner/run/clamav/clamspamd.sock&amp;quot;&lt;br /&gt;
  work_dir=&amp;quot;/opt/mailcleaner/share/sanesecurity/cache&amp;quot;   #Top level working directory&lt;br /&gt;
  user_configuration_complete=&amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Lancer le script une première fois, afin qu'il crée ses répertoires, ses fichiers de bases et fasse une première synchronisation.&lt;br /&gt;
&lt;br /&gt;
Créer un lien pour un lancement journalier (ou dans cron.hourly si on veut un update toutes les heures !):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;ln -s /opt/mailcleaner/scripts/clamav-unofficial-sigs.sh /etc/cron.daily/clamav-unofficial-sigs&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Scores Fuzzy ==&lt;br /&gt;
Fuzzy a une fâcheuse tendance à générer quelques faux-positifs. Notamment, la règle de vérification des types d'images boucle sur chaque image du mail, et si elle buggue (image non reconnue par rapport à son extension) pour une raison ou une autre, le score s’additionne pour chaque image. ça peut aller vite !&lt;br /&gt;
&lt;br /&gt;
Donc, on baisse au moins ce score. Dans /etc/mailscanner/FuzzyOcr.cf_template (qui reconstruit /usr/mailcleaner/share/spamassassin/FuzzyOcr.cf à chaque redémarrage de mailcleaner) modifier :&lt;br /&gt;
 focr_wrongext_score '''0.1'''&lt;br /&gt;
Relancer mailcleaner&lt;br /&gt;
 service mailcleaner restart&lt;br /&gt;
&lt;br /&gt;
== Whitelist / blacklist manuelles ==&lt;br /&gt;
* Pour Spamassassin&lt;br /&gt;
Il est possible d'ajouter des filtres, par exemple une whitelist/blacklist manuelle : /usr/mailcleaner/share/spamassassin/lists-custom.cf de ce format :&lt;br /&gt;
  whitelist_from          *.gooddomain.fr&lt;br /&gt;
  blacklist_from          *.baddomain.fr&lt;br /&gt;
  blacklist_from          mail@baddomain.fr&lt;br /&gt;
Et ne pas oublier :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chown mailcleaner.mailcleaner /usr/mailcleaner/share/spamassassin/lists-custom.cf&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Pour Greylistd pour les services utilisant plusieurs IPs (Google, Outlook...)&lt;br /&gt;
Ajouter un fichier /usr/mailcleaner/etc/greylistd/whitelist-hosts&lt;br /&gt;
 # Google&lt;br /&gt;
 209.85.128.0/17&lt;br /&gt;
 &lt;br /&gt;
 # Outlook.com / MS&lt;br /&gt;
 207.46.0.0/16 &lt;br /&gt;
 &lt;br /&gt;
 # Yahoo.com&lt;br /&gt;
 216.109.112.0/20&lt;br /&gt;
 216.39.48.0/20&lt;br /&gt;
 98.136.0.0/14&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mise en cluster ==&lt;br /&gt;
sur les 2 serveurs :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;cat /etc/mailcleaner.conf | grep PWD&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
pour avoir les mots de passes des bases respectives.&lt;br /&gt;
&lt;br /&gt;
Sur master :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/mailcleaner/scripts/configuration/slaves.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  1) change host settings (donner l'IP de ce serveur)&lt;br /&gt;
  4) add a slave (donner l'IP du serveur SLAVE)&lt;br /&gt;
Sur slave :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/mailcleaner/scripts/configuration/slaves.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  1) change host settings (donner l'IP de ce serveur)&lt;br /&gt;
  5) set this host as a slave (donner l'IP du serveur MAITRE)&lt;br /&gt;
&lt;br /&gt;
== Mises à jour ==&lt;br /&gt;
Commencer par un snapshot de la VM !!&lt;br /&gt;
&lt;br /&gt;
Vérifier la version en cours de chacun des serveurs dans monitoring/status&lt;br /&gt;
&lt;br /&gt;
Vérifier la dernière version ici : http://www.mailcleaner.org/doku.php/downloads:latest&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aptitude update&lt;br /&gt;
aptitude safe-upgrade&lt;br /&gt;
cd /usr/mailcleaner&lt;br /&gt;
cvs -q update -dP&lt;br /&gt;
source lib/updates/update_binaries.sh&lt;br /&gt;
stabilizeBinaries&lt;br /&gt;
install/install_perl_libs.sh&lt;br /&gt;
install/install_sa.sh&lt;br /&gt;
/usr/mailcleaner/bin/check_db.pl --update&lt;br /&gt;
/etc/init.d/mailcleaner restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Ancienne méthode&lt;br /&gt;
cd /usr/mailcleaner&lt;br /&gt;
cvs update -dP updates # noter les numéros de patchs téléchargés&lt;br /&gt;
bin/apply_update.sh &amp;lt;PATCHNUMBER&amp;gt; # ne renvoit rien si OK&lt;br /&gt;
Vérifier le patch appliqué dans &amp;quot;Monitoring&amp;quot; / &amp;quot;status&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Mutualisation&amp;quot; de Mailcleaner =&lt;br /&gt;
On entend par là, faire profiter d'autres boîtes mails du filtrage de Mailcleaner. Pour ça rien de plus simple :&lt;br /&gt;
 apt-get install fetchmail&lt;br /&gt;
Créer un fichier /etc/fetchmailrc avec par exemple :&lt;br /&gt;
 defaults&lt;br /&gt;
 proto pop3&lt;br /&gt;
 set logfile &amp;quot;/var/log/fetchmaillog&amp;quot;&lt;br /&gt;
 set daemon 300&lt;br /&gt;
 &lt;br /&gt;
 # Fetchmail config&lt;br /&gt;
 poll pop3.remotedomain.com with proto POP3&lt;br /&gt;
    user &amp;quot;mymail@remotedomain.com&amp;quot; with password &amp;quot;MON_PASS&amp;quot; is user@domainknownbyMC.com here&lt;br /&gt;
    smtphost &amp;quot;localhost&amp;quot; smtpname &amp;quot;user@domainknownbyMC.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 touch /var/log/fetchmaillog&lt;br /&gt;
 chown fetchmail /var/log/fetchmaillog&lt;br /&gt;
 update-rc.d enable fetchmail&lt;br /&gt;
 service fetchmail start&lt;br /&gt;
&lt;br /&gt;
= Validation de l'intallation =&lt;br /&gt;
on peut tirer profit d'un scan complet chez MXTOOLBOX&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;https://mxtoolbox.com/domain/serveurmx.domaine.fr&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TIPS =&lt;br /&gt;
* Le slave n'a peut-être pas le bon nom de host pour la bannière SMTP. Dans /etc/mailcleaner.conf, si la ligne n'y est pas, ajouter :&lt;br /&gt;
 HELONAME = mx2.domaine.fr&lt;br /&gt;
Puis relancer (par l'interface) le &amp;quot;incoming MTA&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* /opt/mailcleaner/scripts/configuration/set_ip_config.sh pour changer l'ip du système&lt;br /&gt;
&lt;br /&gt;
* Changer le nom d'hôte : modifier dans /etc/hosts, /etc/hostname, et lancer /etc/init.d/hostname.sh&lt;br /&gt;
&lt;br /&gt;
* sur serveur SLAVE, si le message :&lt;br /&gt;
&lt;br /&gt;
 failed to open /var/mailcleaner/spool/tmp/mailcleaner/domains.list for linear search: No such file or directory&lt;br /&gt;
&lt;br /&gt;
apparaît, lancer :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/mailcleaner/bin/dump_domains.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Test des règles de spam :&lt;br /&gt;
  /usr/mailcleaner/bin/is_spam.sh -D source-mail.eml&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=MailCleaner:_installation_et_configuration&amp;diff=6625</id>
		<title>MailCleaner: installation et configuration</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=MailCleaner:_installation_et_configuration&amp;diff=6625"/>
				<updated>2018-06-07T15:38:57Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Installation =&lt;br /&gt;
{{Note|Le site communautaire est accessible sur http://www.mailcleaner.org. Le site commercial sur http://www.mailcleaner.net}}&lt;br /&gt;
Télécharger l'image :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;wget https://cdn.mailcleaner.net/downloads/vm/MailCleaner_KVM_LATEST.zip&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Décompresser et attribuer le disque virtuel Mailcleaner.qcow2.template à une VM.&lt;br /&gt;
&lt;br /&gt;
Aprés le 1er boot et connexion à la console (attention, on est en qwerty à ce moment. Le mot de passe par défaut &amp;quot;MCPassw0rd&amp;quot; donne donc &amp;quot;?CPqssz0rd&amp;quot; sur un clavier français), configuration de base en ligne de commande :&lt;br /&gt;
  1 keyboard&lt;br /&gt;
  2 root passwd&lt;br /&gt;
  3 network&lt;br /&gt;
&lt;br /&gt;
ATTENTION : une fois l'ip changée, le firewall bloque le SSH externe au réseau local car n'accepte que les connexions de la plage locale !&lt;br /&gt;
 /usr/mailcleaner/etc/init.d/firewall stop # débloque la situation dans un premier temps&lt;br /&gt;
&lt;br /&gt;
Puis :&lt;br /&gt;
 /usr/mailcleaner/bin/mc_mysql -m mc_config&lt;br /&gt;
 insert into external_access (service,port,protocol,allowed_ip) values ('ssh','22','TCP','0.0.0.0/0');&lt;br /&gt;
&lt;br /&gt;
Rebooter&lt;br /&gt;
&lt;br /&gt;
Ajouter le nom &amp;quot;mailcleaner&amp;quot; au fichier host du poste qui servira à faire le premier paramétrage, car le nom &amp;quot;mailcleaner&amp;quot; est demandé &amp;quot;en dur&amp;quot; par les URLs des pages de setup.&lt;br /&gt;
&lt;br /&gt;
S'il y a un firewall entre le poste à l'extérieur et Mailcleaner, penser aussi à ouvrir temporairement le port 4242 utilisé lors du setup de base.&lt;br /&gt;
&lt;br /&gt;
Première connexion :&lt;br /&gt;
  https://mailcleaner/admin&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
== Système ==&lt;br /&gt;
Commencer par passer en revue l'intégralité de la configuration&lt;br /&gt;
  * Configuration / General settings : passer le GUI en français + adresses mails, décocher &amp;quot;Display domain selector&amp;quot;, remplir Company&lt;br /&gt;
  * Configuration / Domains&lt;br /&gt;
    * Domain default settings : paramétrer emails dans general,  preferences, activer greylist dans filtering&lt;br /&gt;
  * SMTP&lt;br /&gt;
    * SMTP checks : activer les 4 RBLs&lt;br /&gt;
  * Anti-spam&lt;br /&gt;
    * Enable access to whitelist&lt;br /&gt;
    * NiceBayes enable module, désactiver decisive (voir [[#bayes|Filtres Bayes]] pour modifier le score que NiceNayes doit ajouter à spamassassin)&lt;br /&gt;
    * preRBLSs enable module, activer listes ips.backscatterer.org et dsn.bl.rfc-ignorant.de&lt;br /&gt;
    * UriRBLs enable module, activer les 3 listes&lt;br /&gt;
    * spamc enable DCC Razor Pyzor, décocher DKIM control&lt;br /&gt;
  * Services / web interfaces&lt;br /&gt;
    * changer le nom URL&lt;br /&gt;
    * enable SSL, ajouter certificats (cat /usr/mailcleaner/etc/apache/certs/certificate.pem, copier la partie KEY (avec BEGIN RSA PRIVATE KEY et END) dans private key et le reste (avec BEGIN CERTIFICATE et END) dansSSL certificate)&lt;br /&gt;
  * Monitoring/status (ou en cliquant dans le message en haut)&lt;br /&gt;
    * redémarrer les services qui doivent l'être&lt;br /&gt;
&lt;br /&gt;
Rebooter une fois. Si l'installateur redémarre après boot (au lieu d'arriver sur la demande de login), sortir (5), lancer :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;update-rc.d -f z_installmc remove&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
pour le désactiver au prochain redémarrage.&lt;br /&gt;
&lt;br /&gt;
== RBLs ==&lt;br /&gt;
&lt;br /&gt;
  * soit niveau SMTP -&amp;gt; rejetés&lt;br /&gt;
  * soit niveau PreRBLS -&amp;gt; quarantaine&lt;br /&gt;
  * soit niveau Spamc -&amp;gt; inclu dans la décision de tag spam&lt;br /&gt;
Attention à ne pas cocher les même RBLs à ces différents niveaux, ça ne servirait à rien et ralentirait le filtrage.&lt;br /&gt;
== Whitelists/blacklists ==&lt;br /&gt;
  * Whitelists :&lt;br /&gt;
    * Config/Anti-spam/Enable access to whitelist : c'est une whitelist générale (pour tous les domaines), mais il faut aussi qu'elle soit activée pour que les whitelists par domain apparaissent&lt;br /&gt;
    * Config/Domains/&amp;lt;nom de domain&amp;gt;/filtering/Enable whitelist&lt;br /&gt;
&lt;br /&gt;
  * Blacklists :&lt;br /&gt;
    * Config/SMTP/Connection control&lt;br /&gt;
Voir aussi plus bas : whitelists / blacklists manuelles.&lt;br /&gt;
== Quarantaine ==&lt;br /&gt;
Quarantaine/ Rapport de quarantaine :&lt;br /&gt;
  * Domains/&amp;lt;nom de domaine&amp;gt;/preferences&lt;br /&gt;
voir aussi les preferences par défaut dans &amp;quot;Domain default settings&amp;quot;/&amp;quot;preferences&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Ajout d'un domaine à relayer ==&lt;br /&gt;
&amp;quot;Domains&amp;quot; / &amp;quot;New domain&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Paramétrer le serveur destinataire dans &amp;quot;delivery&amp;quot;, cliquer &amp;quot;submit&amp;quot; et tester la destination.&lt;br /&gt;
&lt;br /&gt;
Paramétrer &amp;quot;address verification&amp;quot; : smtp, donner IPip du serveur destinataire, cliquer &amp;quot;submit&amp;quot; et &amp;quot;tester&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Améliorations ==&lt;br /&gt;
=== transfert de règles sa-learn ===&lt;br /&gt;
Sur l'ancien serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;sa-learn --backup &amp;gt; regles.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Sur le serveur Mailcleaner :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;sa-learn -p /opt/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /opt/mailcleaner/share/spamassassin --restore regles.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;bayes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Filtre Bayes ==&lt;br /&gt;
Le filtre est désactivé car aucune base n'est créée par défaut. Dans l'entête des mails on voit :&lt;br /&gt;
  NiceBayes disabled (no database ?)&lt;br /&gt;
Le principe est de déclarer une boîte aux lettres dédiée aux spams / hams, scannée par un script tous les jours pour alimenter la base. Installer la librairie nécessaire :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;apt-get install libmail-imapclient-perl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Créer un script /opt/mailcleaner/scripts/gethamspam.sh :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=div&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# copy the old database to a timestamped copy&lt;br /&gt;
TIMESTAMP=$(date +%d)&lt;br /&gt;
REPORT_EMAIL=admin@domain.com&lt;br /&gt;
&lt;br /&gt;
# backup Spamassassin bayes db&lt;br /&gt;
sa-learn -p /opt/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /opt/mailcleaner/share/spamassassin --backup &amp;gt;/var/mailcleaner/spool/spamassassin/spamass_rules.bak&lt;br /&gt;
# backup Bogofilter bayes db&lt;br /&gt;
cp -a /root/.bogofilter/wordlist.db &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db&amp;quot;&lt;br /&gt;
if [ -f &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db.gz&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
   rm -f &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db.gz&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
gzip &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# get the spam and ham from the imap mailbox for the spamassassin and bogofilter db's&lt;br /&gt;
/opt/mailcleaner/scripts/imap-sa-learn.pl&lt;br /&gt;
if [ $? -ne 0 ]&lt;br /&gt;
then&lt;br /&gt;
    (&lt;br /&gt;
      echo &amp;quot;Subject: Bogofilter database update $(hostname) failed&amp;quot;&lt;br /&gt;
      ls -l /var/mailcleaner/spool/bogofilter/database/&lt;br /&gt;
      ) | /usr/sbin/sendmail $REPORT_EMAIL&lt;br /&gt;
    exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# copy the database to the right location&lt;br /&gt;
cp /root/.bogofilter/wordlist.db /var/mailcleaner/spool/bogofilter/database/wordlist.db&lt;br /&gt;
# If slave(s) Mailcleaner exists, ssh copy db to the slave(s)&lt;br /&gt;
scp /root/.bogofilter/wordlist.db mailcleaner2.domain.com:/var/mailcleaner/spool/bogofilter/database/&lt;br /&gt;
# Copy the backup of spamassasin rules on slave(s). It must then be applied on it by --restore.&lt;br /&gt;
scp /var/mailcleaner/spool/spamassassin/spamass_rules.bak mailcleaner2.domain.com:/var/mailcleaner/spool/spamassassin/&lt;br /&gt;
&lt;br /&gt;
# get the spam and ham counts from bogofilter - this just prints how many spam and ham you collected so far...&lt;br /&gt;
/opt/bogofilter/bin/bogoutil -w /var/mailcleaner/spool/bogofilter/database/wordlist.db .MSG_COUNT&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Sans oublier&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chmod 755 /opt/mailcleaner/scripts/gethamspam.sh&lt;br /&gt;
chmod 755 /opt/mailcleaner/scripts/imap-sa-learn.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il appelle /opt/mailcleaner/scripts/imap-sa-learn.pl (http://forum.mailcleaner.org/viewtopic.php?f=3&amp;amp;t=836, voir aussi http://www.gagravarr.org/code). Le script crée une base /root/.bogofilter/wordlist.db et la copie dans /var/mailcleaner/spool/bogofilter/database. Il semble que les 2 emplacements soient nécessaires (à vérifier à l'occasion).&lt;br /&gt;
&lt;br /&gt;
{{Note|PENSER a changer le propriétaire de  /var/mailcleaner/spool/bogofilter/database/wordlist.db pour que mailcleaner puisse le modifier!&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chown mailcleaner:mailcleaner /var/mailcleaner/spool/bogofilter/database/wordlist.db&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
Créer un fichier dans cron.d (appelé gethamspam sans &amp;quot;.sh&amp;quot; car cron ne prend pas toujours)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# cron-jobs for bayes bogofilter database&lt;br /&gt;
#&lt;br /&gt;
MAILTO=root&lt;br /&gt;
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin&lt;br /&gt;
00 06 * * *	root /opt/mailcleaner/scripts/gethamspam.sh &amp;gt;&amp;gt; /var/log/gethamspam.log 2&amp;gt;&amp;amp;1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Paramétrer logrotate pour archiver /var/log/gethamspam.log : créer /etc/logrotate.d/gethamspam contenant :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash enclose=div&amp;gt;/var/log/gethamspam.log {&lt;br /&gt;
	weekly&lt;br /&gt;
	rotate 3&lt;br /&gt;
	compress&lt;br /&gt;
	nomail&lt;br /&gt;
	notifempty&lt;br /&gt;
	missingok&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SLAVE : si des Mailcleaner de secours sont en cluster avec celui-ci, une fois les bases copiées par le script, il faut les traiter.&lt;br /&gt;
* la base Bogofilter n'a pas besoin d'intervention&lt;br /&gt;
* la base Spamassassin doit être restaurée sur le slave, par exemple par un script de ce genre :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=div&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
if [ -f /var/mailcleaner/spool/spamassassin/spambayes.tgz ]&lt;br /&gt;
then&lt;br /&gt;
  rm -f /var/mailcleaner/spool/spamassassin/spambayes.tgz&lt;br /&gt;
fi&lt;br /&gt;
tar -cvf /var/mailcleaner/spool/spamassassin/spambayes.tgz /var/mailcleaner/spool/spamassassin/bayes*&lt;br /&gt;
if [ -f /var/mailcleaner/spool/spamassassin/spamass_rules.bak ]&lt;br /&gt;
then&lt;br /&gt;
  sa-learn -p /usr/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /usr/mailcleaner/share/spamassassin --restore /var/mailcleaner/spool/spamassassin/spamass_rules.bak&lt;br /&gt;
  rm -f /var/mailcleaner/spool/spamassassin/spamass_rules.bak&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Activer le module dans l'interface. Le déclarer '''non décisif'''. Il doit faire partie du score de spamassassin mais pas plus, sinon il y a trop de faux-positifs.&lt;br /&gt;
&lt;br /&gt;
Pour l'intégrer à spamassassin, créer une règle (dans un fichier xxxxx.cf à créer dans /usr/share/mailcleaner/share/spamassassin) :&lt;br /&gt;
  # Custom rules&lt;br /&gt;
  header LOCAL_NICEBAYES_HEADER    X-NiceBayes =~ /is spam/&lt;br /&gt;
  describe LOCAL_NICEBAYES_HEADER  NiceBayes header detected&lt;br /&gt;
  score LOCAL_NICEBAYES_HEADER     1.5&lt;br /&gt;
&lt;br /&gt;
== Règles custom spamassassin ==&lt;br /&gt;
Modifier la configuration de sa-update (procédure selon ces préconisation (ajout de channels, surtout) :&lt;br /&gt;
  * http://forum.mailcleaner.org/viewtopic.php?f=15&amp;amp;t=964&lt;br /&gt;
  * http://forum.mailcleaner.org/viewtopic.php?f=3&amp;amp;t=1776)&lt;br /&gt;
Pour commencer, créer les répertoires, importer les clés spamassassin et les règles updates en une seul commande :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/local/bin/sa-update -v&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Intégrer la clé GPG du canal Sought :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;wget http://yerp.org/rules/GPG.KEY&lt;br /&gt;
/usr/local/bin/sa-update --import GPG.KEY&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
créer /opt/mailcleaner/scripts/sa-update-customs.sh&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=div&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Spamassassin auto updater with custom channels&lt;br /&gt;
# First import key 6C6191E3 :&lt;br /&gt;
#  wget http://yerp.org/rules/GPG.KEY&lt;br /&gt;
#  sa-update --import GPG.KEY&lt;br /&gt;
SAUPD=/usr/local/bin/sa-update&lt;br /&gt;
$SAUPD --channel updates.spamassassin.org --updatedir /usr/mailcleaner/share/spamassassin &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
$SAUPD --gpgkey 6C6191E3 --channel sought.rules.yerp.org --updatedir /usr/mailcleaner/share/spamassassin &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
$SAUPD -v &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
wget http://www.pccc.com/downloads/SpamAssassin/contrib/KAM.cf &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
mv -f KAM.cf /usr/mailcleaner/share/spamassassin/KAM.cf&lt;br /&gt;
/usr/mailcleaner/etc/init.d/mailscanner restart&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
sans oublier&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chmod 755 /opt/mailcleaner/scripts/sa-update-customs.sh&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
et créer un lien dans cron.daily vers le script et paramétrer logrotate pour archiver /var/log/sa-update.log.&lt;br /&gt;
&lt;br /&gt;
Modifier également /usr/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf :&lt;br /&gt;
  bayes_auto_learn 1&lt;br /&gt;
  bayes_auto_learn_threshold_spam 7.0&lt;br /&gt;
  bayes_auto_learn_threshold_nonspam -0.1&lt;br /&gt;
&lt;br /&gt;
== Règles custom Clamav (Clamspam) ==&lt;br /&gt;
Clamav est installé et lancé après l'installation de base, mais Clamspam ne démarre pas par défaut car il n'a pas de base. On va charger les bases custom.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;aptitude install rsync gnupg curl socat gzip dnsutils&lt;br /&gt;
mkdir -p /opt/mailcleaner/sanesecurity/cache&lt;br /&gt;
cd /opt/mailcleaner/install&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Vérifier la dernière version du script sur http://downloads.sourceforge.net/project/unofficial-sigs/files&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;wget http://downloads.sourceforge.net/project/unofficial-sigs/clamav-unofficial-sigs-3.7.2.tar.gz&lt;br /&gt;
tar -xvzf clamav-unofficial-sigs-3.7.2.tar.gz&lt;br /&gt;
cd /opt/mailcleaner/scripts&lt;br /&gt;
cp /opt/mailcleaner/install/clamav-unofficial-sigs-3.7.2/clamav-unofficial-sigs.sh .&lt;br /&gt;
cp /opt/mailcleaner/install/clamav-unofficial-sigs-3.7.2/clamav-unofficial-sigs.conf .&lt;br /&gt;
chmod 755 clamav-unofficial-sigs.sh&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modifier clamav-unofficial-sigs.sh :&lt;br /&gt;
  default_config=&amp;quot;/opt/mailcleaner/scripts/clamav-unofficial-sigs.conf&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Modifier les options suivantes dans clamav-unofficial-sigs.conf :&lt;br /&gt;
  PATH=&amp;quot;/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/clamav/bin&amp;quot;&lt;br /&gt;
  clam_dbs=&amp;quot;/var/mailcleaner/spool/clamspam&amp;quot;&lt;br /&gt;
  clamd_pid=&amp;quot;/var/mailcleaner/run/clamav/clamspamd.pid&amp;quot;&lt;br /&gt;
  reload_dbs=&amp;quot;yes&amp;quot;&lt;br /&gt;
  #reload_opt=&amp;quot;clamdscan --reload&amp;quot; # Commenter cette ligne&lt;br /&gt;
  reload_opt=&amp;quot;/usr/mailcleaner/etc/init.d/clamspamd restart&amp;quot; # et ajouter celle-ci&lt;br /&gt;
  clamd_socket=&amp;quot;/var/mailcleaner/run/clamav/clamspamd.sock&amp;quot;&lt;br /&gt;
  work_dir=&amp;quot;/opt/mailcleaner/share/sanesecurity/cache&amp;quot;   #Top level working directory&lt;br /&gt;
  user_configuration_complete=&amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Lancer le script une première fois, afin qu'il crée ses répertoires, ses fichiers de bases et fasse une première synchronisation.&lt;br /&gt;
&lt;br /&gt;
Créer un lien pour un lancement journalier (ou dans cron.hourly si on veut un update toutes les heures !):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;ln -s /opt/mailcleaner/scripts/clamav-unofficial-sigs.sh /etc/cron.daily/clamav-unofficial-sigs&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Scores Fuzzy ==&lt;br /&gt;
Fuzzy a une fâcheuse tendance à générer quelques faux-positifs. Notamment, la règle de vérification des types d'images boucle sur chaque image du mail, et si elle buggue (image non reconnue par rapport à son extension) pour une raison ou une autre, le score s’additionne pour chaque image. ça peut aller vite !&lt;br /&gt;
&lt;br /&gt;
Donc, on baisse au moins ce score. Dans /etc/mailscanner/FuzzyOcr.cf_template (qui reconstruit /usr/mailcleaner/share/spamassassin/FuzzyOcr.cf à chaque redémarrage de mailcleaner) modifier :&lt;br /&gt;
 focr_wrongext_score '''0.1'''&lt;br /&gt;
Relancer mailcleaner&lt;br /&gt;
 service mailcleaner restart&lt;br /&gt;
&lt;br /&gt;
== Whitelist / blacklist manuelles ==&lt;br /&gt;
* Pour Spamassassin&lt;br /&gt;
Il est possible d'ajouter des filtres, par exemple une whitelist/blacklist manuelle : /usr/mailcleaner/share/spamassassin/lists-custom.cf de ce format :&lt;br /&gt;
  whitelist_from          *.gooddomain.fr&lt;br /&gt;
  blacklist_from          *.baddomain.fr&lt;br /&gt;
  blacklist_from          mail@baddomain.fr&lt;br /&gt;
Et ne pas oublier :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chown mailcleaner.mailcleaner /usr/mailcleaner/share/spamassassin/lists-custom.cf&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Pour Greylistd pour les services utilisant plusieurs IPs (Google, Outlook...)&lt;br /&gt;
Ajouter un fichier /usr/mailcleaner/etc/greylistd/whitelist-hosts&lt;br /&gt;
 # Google&lt;br /&gt;
 209.85.128.0/17&lt;br /&gt;
 &lt;br /&gt;
 # Outlook.com / MS&lt;br /&gt;
 207.46.0.0/16 &lt;br /&gt;
 &lt;br /&gt;
 # Yahoo.com&lt;br /&gt;
 216.109.112.0/20&lt;br /&gt;
 216.39.48.0/20&lt;br /&gt;
 98.136.0.0/14&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mise en cluster ==&lt;br /&gt;
sur les 2 serveurs :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;cat /etc/mailcleaner.conf | grep PWD&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
pour avoir les mots de passes des bases respectives.&lt;br /&gt;
&lt;br /&gt;
Sur master :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/mailcleaner/scripts/configuration/slaves.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  1) change host settings (donner l'IP de ce serveur)&lt;br /&gt;
  4) add a slave (donner l'IP du serveur SLAVE)&lt;br /&gt;
Sur slave :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/mailcleaner/scripts/configuration/slaves.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  1) change host settings (donner l'IP de ce serveur)&lt;br /&gt;
  5) set this host as a slave (donner l'IP du serveur MAITRE)&lt;br /&gt;
&lt;br /&gt;
== Mises à jour ==&lt;br /&gt;
Commencer par un snapshot de la VM !!&lt;br /&gt;
&lt;br /&gt;
Vérifier la version en cours de chacun des serveurs dans monitoring/status&lt;br /&gt;
&lt;br /&gt;
Vérifier la dernière version ici : http://www.mailcleaner.org/doku.php/downloads:latest&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aptitude update&lt;br /&gt;
aptitude safe-upgrade&lt;br /&gt;
cd /usr/mailcleaner&lt;br /&gt;
cvs -q update -dP&lt;br /&gt;
source lib/updates/update_binaries.sh&lt;br /&gt;
stabilizeBinaries&lt;br /&gt;
install/install_perl_libs.sh&lt;br /&gt;
install/install_sa.sh&lt;br /&gt;
/usr/mailcleaner/bin/check_db.pl --update&lt;br /&gt;
/etc/init.d/mailcleaner restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Ancienne méthode&lt;br /&gt;
cd /usr/mailcleaner&lt;br /&gt;
cvs update -dP updates # noter les numéros de patchs téléchargés&lt;br /&gt;
bin/apply_update.sh &amp;lt;PATCHNUMBER&amp;gt; # ne renvoit rien si OK&lt;br /&gt;
Vérifier le patch appliqué dans &amp;quot;Monitoring&amp;quot; / &amp;quot;status&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Mutualisation&amp;quot; de Mailcleaner =&lt;br /&gt;
On entend par là, faire profiter d'autres boîtes mails du filtrage de Mailcleaner. Pour ça rien de plus simple :&lt;br /&gt;
 apt-get install fetchmail&lt;br /&gt;
Créer un fichier /etc/fetchmailrc avec par exemple :&lt;br /&gt;
 defaults&lt;br /&gt;
 proto pop3&lt;br /&gt;
 set logfile &amp;quot;/var/log/fetchmaillog&amp;quot;&lt;br /&gt;
 set daemon 300&lt;br /&gt;
 &lt;br /&gt;
 # Fetchmail config&lt;br /&gt;
 poll pop3.remotedomain.com with proto POP3&lt;br /&gt;
    user &amp;quot;mymail@remotedomain.com&amp;quot; with password &amp;quot;MON_PASS&amp;quot; is user@domainknownbyMC.com here&lt;br /&gt;
    smtphost &amp;quot;localhost&amp;quot; smtpname &amp;quot;user@domainknownbyMC.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 touch /var/log/fetchmaillog&lt;br /&gt;
 chown fetchmail /var/log/fetchmaillog&lt;br /&gt;
 update-rc.d enable fetchmail&lt;br /&gt;
 service fetchmail start&lt;br /&gt;
&lt;br /&gt;
= Validation de l'intallation =&lt;br /&gt;
on peut tirer profit d'un scan complet chez MXTOOLBOX&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;https://mxtoolbox.com/domain/serveurmx.domaine.fr&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TIPS =&lt;br /&gt;
* Le slave n'a peut-être pas le bon nom de host pour la bannière SMTP. Dans /etc/mailcleaner.conf, si la ligne n'y est pas, ajouter :&lt;br /&gt;
 HELONAME = mx2.domaine.fr&lt;br /&gt;
Puis relancer (par l'interface) le &amp;quot;incoming MTA&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* /opt/mailcleaner/scripts/configuration/set_ip_config.sh pour changer l'ip du système&lt;br /&gt;
&lt;br /&gt;
* Changer le nom d'hôte : modifier dans /etc/hosts, /etc/hostname, et lancer /etc/init.d/hostname.sh&lt;br /&gt;
&lt;br /&gt;
* sur serveur SLAVE, si le message :&lt;br /&gt;
&lt;br /&gt;
 failed to open /var/mailcleaner/spool/tmp/mailcleaner/domains.list for linear search: No such file or directory&lt;br /&gt;
&lt;br /&gt;
apparaît, lancer :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/mailcleaner/bin/dump_domains.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Test des règles de spam :&lt;br /&gt;
  /usr/mailcleaner/bin/is_spam.sh -D source-mail.eml&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=MailCleaner:_installation_et_configuration&amp;diff=6624</id>
		<title>MailCleaner: installation et configuration</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=MailCleaner:_installation_et_configuration&amp;diff=6624"/>
				<updated>2018-06-07T15:38:33Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Installation =&lt;br /&gt;
{{Note|Le site communautaire est accessible sur http://www.mailcleaner.org. Le site commercial sur http://www.mailcleaner.net}}&lt;br /&gt;
Télécharger l'image :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;wget https://cdn.mailcleaner.net/downloads/vm/MailCleaner_KVM_LATEST.zip&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Décompresser et attribuer le disque virtuel Mailcleaner.qcow2.template à une VM.&lt;br /&gt;
&lt;br /&gt;
Aprés le 1er boot et connexion à la console (attention, on est en qwerty à ce moment. Le mot de passe par défaut &amp;quot;MCPassw0rd&amp;quot; donne donc &amp;quot;?CPqssz0rd&amp;quot; sur un clavier français), configuration de base en ligne de commande :&lt;br /&gt;
  1 keyboard&lt;br /&gt;
  2 root passwd&lt;br /&gt;
  3 network&lt;br /&gt;
&lt;br /&gt;
ATTENTION : une fois l'ip changée, le firewall bloque le SSH externe au réseau local car n'accepte que les connexions de la plage locale !&lt;br /&gt;
 /usr/mailcleaner/etc/init.d/firewall stop # débloque la situation dans un premier temps&lt;br /&gt;
&lt;br /&gt;
Puis :&lt;br /&gt;
 /usr/mailcleaner/bin/mc_mysql -m mc_config&lt;br /&gt;
 insert into external_access (service,port,protocol,allowed_ip) values ('ssh','22','TCP','0.0.0.0/0');&lt;br /&gt;
&lt;br /&gt;
Rebooter&lt;br /&gt;
&lt;br /&gt;
Ajouter le nom &amp;quot;mailcleaner&amp;quot; au fichier host du poste qui servira à faire le premier paramétrage, car le nom &amp;quot;mailcleaner&amp;quot; est demandé &amp;quot;en dur&amp;quot; par les URLs des pages de setup.&lt;br /&gt;
S'il y a un firewall entre le poste à l'extérieur et Mailcleaner, penser aussi à ouvrir temporairement le port 4242 utilisé lors du setup de base.&lt;br /&gt;
Première connexion :&lt;br /&gt;
  https://mailcleaner/admin&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
== Système ==&lt;br /&gt;
Commencer par passer en revue l'intégralité de la configuration&lt;br /&gt;
  * Configuration / General settings : passer le GUI en français + adresses mails, décocher &amp;quot;Display domain selector&amp;quot;, remplir Company&lt;br /&gt;
  * Configuration / Domains&lt;br /&gt;
    * Domain default settings : paramétrer emails dans general,  preferences, activer greylist dans filtering&lt;br /&gt;
  * SMTP&lt;br /&gt;
    * SMTP checks : activer les 4 RBLs&lt;br /&gt;
  * Anti-spam&lt;br /&gt;
    * Enable access to whitelist&lt;br /&gt;
    * NiceBayes enable module, désactiver decisive (voir [[#bayes|Filtres Bayes]] pour modifier le score que NiceNayes doit ajouter à spamassassin)&lt;br /&gt;
    * preRBLSs enable module, activer listes ips.backscatterer.org et dsn.bl.rfc-ignorant.de&lt;br /&gt;
    * UriRBLs enable module, activer les 3 listes&lt;br /&gt;
    * spamc enable DCC Razor Pyzor, décocher DKIM control&lt;br /&gt;
  * Services / web interfaces&lt;br /&gt;
    * changer le nom URL&lt;br /&gt;
    * enable SSL, ajouter certificats (cat /usr/mailcleaner/etc/apache/certs/certificate.pem, copier la partie KEY (avec BEGIN RSA PRIVATE KEY et END) dans private key et le reste (avec BEGIN CERTIFICATE et END) dansSSL certificate)&lt;br /&gt;
  * Monitoring/status (ou en cliquant dans le message en haut)&lt;br /&gt;
    * redémarrer les services qui doivent l'être&lt;br /&gt;
&lt;br /&gt;
Rebooter une fois. Si l'installateur redémarre après boot (au lieu d'arriver sur la demande de login), sortir (5), lancer :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;update-rc.d -f z_installmc remove&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
pour le désactiver au prochain redémarrage.&lt;br /&gt;
&lt;br /&gt;
== RBLs ==&lt;br /&gt;
&lt;br /&gt;
  * soit niveau SMTP -&amp;gt; rejetés&lt;br /&gt;
  * soit niveau PreRBLS -&amp;gt; quarantaine&lt;br /&gt;
  * soit niveau Spamc -&amp;gt; inclu dans la décision de tag spam&lt;br /&gt;
Attention à ne pas cocher les même RBLs à ces différents niveaux, ça ne servirait à rien et ralentirait le filtrage.&lt;br /&gt;
== Whitelists/blacklists ==&lt;br /&gt;
  * Whitelists :&lt;br /&gt;
    * Config/Anti-spam/Enable access to whitelist : c'est une whitelist générale (pour tous les domaines), mais il faut aussi qu'elle soit activée pour que les whitelists par domain apparaissent&lt;br /&gt;
    * Config/Domains/&amp;lt;nom de domain&amp;gt;/filtering/Enable whitelist&lt;br /&gt;
&lt;br /&gt;
  * Blacklists :&lt;br /&gt;
    * Config/SMTP/Connection control&lt;br /&gt;
Voir aussi plus bas : whitelists / blacklists manuelles.&lt;br /&gt;
== Quarantaine ==&lt;br /&gt;
Quarantaine/ Rapport de quarantaine :&lt;br /&gt;
  * Domains/&amp;lt;nom de domaine&amp;gt;/preferences&lt;br /&gt;
voir aussi les preferences par défaut dans &amp;quot;Domain default settings&amp;quot;/&amp;quot;preferences&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Ajout d'un domaine à relayer ==&lt;br /&gt;
&amp;quot;Domains&amp;quot; / &amp;quot;New domain&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Paramétrer le serveur destinataire dans &amp;quot;delivery&amp;quot;, cliquer &amp;quot;submit&amp;quot; et tester la destination.&lt;br /&gt;
&lt;br /&gt;
Paramétrer &amp;quot;address verification&amp;quot; : smtp, donner IPip du serveur destinataire, cliquer &amp;quot;submit&amp;quot; et &amp;quot;tester&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Améliorations ==&lt;br /&gt;
=== transfert de règles sa-learn ===&lt;br /&gt;
Sur l'ancien serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;sa-learn --backup &amp;gt; regles.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Sur le serveur Mailcleaner :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;sa-learn -p /opt/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /opt/mailcleaner/share/spamassassin --restore regles.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;bayes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Filtre Bayes ==&lt;br /&gt;
Le filtre est désactivé car aucune base n'est créée par défaut. Dans l'entête des mails on voit :&lt;br /&gt;
  NiceBayes disabled (no database ?)&lt;br /&gt;
Le principe est de déclarer une boîte aux lettres dédiée aux spams / hams, scannée par un script tous les jours pour alimenter la base. Installer la librairie nécessaire :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;apt-get install libmail-imapclient-perl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Créer un script /opt/mailcleaner/scripts/gethamspam.sh :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=div&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# copy the old database to a timestamped copy&lt;br /&gt;
TIMESTAMP=$(date +%d)&lt;br /&gt;
REPORT_EMAIL=admin@domain.com&lt;br /&gt;
&lt;br /&gt;
# backup Spamassassin bayes db&lt;br /&gt;
sa-learn -p /opt/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /opt/mailcleaner/share/spamassassin --backup &amp;gt;/var/mailcleaner/spool/spamassassin/spamass_rules.bak&lt;br /&gt;
# backup Bogofilter bayes db&lt;br /&gt;
cp -a /root/.bogofilter/wordlist.db &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db&amp;quot;&lt;br /&gt;
if [ -f &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db.gz&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
   rm -f &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db.gz&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
gzip &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# get the spam and ham from the imap mailbox for the spamassassin and bogofilter db's&lt;br /&gt;
/opt/mailcleaner/scripts/imap-sa-learn.pl&lt;br /&gt;
if [ $? -ne 0 ]&lt;br /&gt;
then&lt;br /&gt;
    (&lt;br /&gt;
      echo &amp;quot;Subject: Bogofilter database update $(hostname) failed&amp;quot;&lt;br /&gt;
      ls -l /var/mailcleaner/spool/bogofilter/database/&lt;br /&gt;
      ) | /usr/sbin/sendmail $REPORT_EMAIL&lt;br /&gt;
    exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# copy the database to the right location&lt;br /&gt;
cp /root/.bogofilter/wordlist.db /var/mailcleaner/spool/bogofilter/database/wordlist.db&lt;br /&gt;
# If slave(s) Mailcleaner exists, ssh copy db to the slave(s)&lt;br /&gt;
scp /root/.bogofilter/wordlist.db mailcleaner2.domain.com:/var/mailcleaner/spool/bogofilter/database/&lt;br /&gt;
# Copy the backup of spamassasin rules on slave(s). It must then be applied on it by --restore.&lt;br /&gt;
scp /var/mailcleaner/spool/spamassassin/spamass_rules.bak mailcleaner2.domain.com:/var/mailcleaner/spool/spamassassin/&lt;br /&gt;
&lt;br /&gt;
# get the spam and ham counts from bogofilter - this just prints how many spam and ham you collected so far...&lt;br /&gt;
/opt/bogofilter/bin/bogoutil -w /var/mailcleaner/spool/bogofilter/database/wordlist.db .MSG_COUNT&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Sans oublier&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chmod 755 /opt/mailcleaner/scripts/gethamspam.sh&lt;br /&gt;
chmod 755 /opt/mailcleaner/scripts/imap-sa-learn.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il appelle /opt/mailcleaner/scripts/imap-sa-learn.pl (http://forum.mailcleaner.org/viewtopic.php?f=3&amp;amp;t=836, voir aussi http://www.gagravarr.org/code). Le script crée une base /root/.bogofilter/wordlist.db et la copie dans /var/mailcleaner/spool/bogofilter/database. Il semble que les 2 emplacements soient nécessaires (à vérifier à l'occasion).&lt;br /&gt;
&lt;br /&gt;
{{Note|PENSER a changer le propriétaire de  /var/mailcleaner/spool/bogofilter/database/wordlist.db pour que mailcleaner puisse le modifier!&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chown mailcleaner:mailcleaner /var/mailcleaner/spool/bogofilter/database/wordlist.db&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
Créer un fichier dans cron.d (appelé gethamspam sans &amp;quot;.sh&amp;quot; car cron ne prend pas toujours)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# cron-jobs for bayes bogofilter database&lt;br /&gt;
#&lt;br /&gt;
MAILTO=root&lt;br /&gt;
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin&lt;br /&gt;
00 06 * * *	root /opt/mailcleaner/scripts/gethamspam.sh &amp;gt;&amp;gt; /var/log/gethamspam.log 2&amp;gt;&amp;amp;1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Paramétrer logrotate pour archiver /var/log/gethamspam.log : créer /etc/logrotate.d/gethamspam contenant :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash enclose=div&amp;gt;/var/log/gethamspam.log {&lt;br /&gt;
	weekly&lt;br /&gt;
	rotate 3&lt;br /&gt;
	compress&lt;br /&gt;
	nomail&lt;br /&gt;
	notifempty&lt;br /&gt;
	missingok&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SLAVE : si des Mailcleaner de secours sont en cluster avec celui-ci, une fois les bases copiées par le script, il faut les traiter.&lt;br /&gt;
* la base Bogofilter n'a pas besoin d'intervention&lt;br /&gt;
* la base Spamassassin doit être restaurée sur le slave, par exemple par un script de ce genre :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=div&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
if [ -f /var/mailcleaner/spool/spamassassin/spambayes.tgz ]&lt;br /&gt;
then&lt;br /&gt;
  rm -f /var/mailcleaner/spool/spamassassin/spambayes.tgz&lt;br /&gt;
fi&lt;br /&gt;
tar -cvf /var/mailcleaner/spool/spamassassin/spambayes.tgz /var/mailcleaner/spool/spamassassin/bayes*&lt;br /&gt;
if [ -f /var/mailcleaner/spool/spamassassin/spamass_rules.bak ]&lt;br /&gt;
then&lt;br /&gt;
  sa-learn -p /usr/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /usr/mailcleaner/share/spamassassin --restore /var/mailcleaner/spool/spamassassin/spamass_rules.bak&lt;br /&gt;
  rm -f /var/mailcleaner/spool/spamassassin/spamass_rules.bak&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Activer le module dans l'interface. Le déclarer '''non décisif'''. Il doit faire partie du score de spamassassin mais pas plus, sinon il y a trop de faux-positifs.&lt;br /&gt;
&lt;br /&gt;
Pour l'intégrer à spamassassin, créer une règle (dans un fichier xxxxx.cf à créer dans /usr/share/mailcleaner/share/spamassassin) :&lt;br /&gt;
  # Custom rules&lt;br /&gt;
  header LOCAL_NICEBAYES_HEADER    X-NiceBayes =~ /is spam/&lt;br /&gt;
  describe LOCAL_NICEBAYES_HEADER  NiceBayes header detected&lt;br /&gt;
  score LOCAL_NICEBAYES_HEADER     1.5&lt;br /&gt;
&lt;br /&gt;
== Règles custom spamassassin ==&lt;br /&gt;
Modifier la configuration de sa-update (procédure selon ces préconisation (ajout de channels, surtout) :&lt;br /&gt;
  * http://forum.mailcleaner.org/viewtopic.php?f=15&amp;amp;t=964&lt;br /&gt;
  * http://forum.mailcleaner.org/viewtopic.php?f=3&amp;amp;t=1776)&lt;br /&gt;
Pour commencer, créer les répertoires, importer les clés spamassassin et les règles updates en une seul commande :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/local/bin/sa-update -v&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Intégrer la clé GPG du canal Sought :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;wget http://yerp.org/rules/GPG.KEY&lt;br /&gt;
/usr/local/bin/sa-update --import GPG.KEY&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
créer /opt/mailcleaner/scripts/sa-update-customs.sh&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=div&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Spamassassin auto updater with custom channels&lt;br /&gt;
# First import key 6C6191E3 :&lt;br /&gt;
#  wget http://yerp.org/rules/GPG.KEY&lt;br /&gt;
#  sa-update --import GPG.KEY&lt;br /&gt;
SAUPD=/usr/local/bin/sa-update&lt;br /&gt;
$SAUPD --channel updates.spamassassin.org --updatedir /usr/mailcleaner/share/spamassassin &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
$SAUPD --gpgkey 6C6191E3 --channel sought.rules.yerp.org --updatedir /usr/mailcleaner/share/spamassassin &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
$SAUPD -v &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
wget http://www.pccc.com/downloads/SpamAssassin/contrib/KAM.cf &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
mv -f KAM.cf /usr/mailcleaner/share/spamassassin/KAM.cf&lt;br /&gt;
/usr/mailcleaner/etc/init.d/mailscanner restart&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
sans oublier&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chmod 755 /opt/mailcleaner/scripts/sa-update-customs.sh&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
et créer un lien dans cron.daily vers le script et paramétrer logrotate pour archiver /var/log/sa-update.log.&lt;br /&gt;
&lt;br /&gt;
Modifier également /usr/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf :&lt;br /&gt;
  bayes_auto_learn 1&lt;br /&gt;
  bayes_auto_learn_threshold_spam 7.0&lt;br /&gt;
  bayes_auto_learn_threshold_nonspam -0.1&lt;br /&gt;
&lt;br /&gt;
== Règles custom Clamav (Clamspam) ==&lt;br /&gt;
Clamav est installé et lancé après l'installation de base, mais Clamspam ne démarre pas par défaut car il n'a pas de base. On va charger les bases custom.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;aptitude install rsync gnupg curl socat gzip dnsutils&lt;br /&gt;
mkdir -p /opt/mailcleaner/sanesecurity/cache&lt;br /&gt;
cd /opt/mailcleaner/install&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Vérifier la dernière version du script sur http://downloads.sourceforge.net/project/unofficial-sigs/files&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;wget http://downloads.sourceforge.net/project/unofficial-sigs/clamav-unofficial-sigs-3.7.2.tar.gz&lt;br /&gt;
tar -xvzf clamav-unofficial-sigs-3.7.2.tar.gz&lt;br /&gt;
cd /opt/mailcleaner/scripts&lt;br /&gt;
cp /opt/mailcleaner/install/clamav-unofficial-sigs-3.7.2/clamav-unofficial-sigs.sh .&lt;br /&gt;
cp /opt/mailcleaner/install/clamav-unofficial-sigs-3.7.2/clamav-unofficial-sigs.conf .&lt;br /&gt;
chmod 755 clamav-unofficial-sigs.sh&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modifier clamav-unofficial-sigs.sh :&lt;br /&gt;
  default_config=&amp;quot;/opt/mailcleaner/scripts/clamav-unofficial-sigs.conf&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Modifier les options suivantes dans clamav-unofficial-sigs.conf :&lt;br /&gt;
  PATH=&amp;quot;/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/clamav/bin&amp;quot;&lt;br /&gt;
  clam_dbs=&amp;quot;/var/mailcleaner/spool/clamspam&amp;quot;&lt;br /&gt;
  clamd_pid=&amp;quot;/var/mailcleaner/run/clamav/clamspamd.pid&amp;quot;&lt;br /&gt;
  reload_dbs=&amp;quot;yes&amp;quot;&lt;br /&gt;
  #reload_opt=&amp;quot;clamdscan --reload&amp;quot; # Commenter cette ligne&lt;br /&gt;
  reload_opt=&amp;quot;/usr/mailcleaner/etc/init.d/clamspamd restart&amp;quot; # et ajouter celle-ci&lt;br /&gt;
  clamd_socket=&amp;quot;/var/mailcleaner/run/clamav/clamspamd.sock&amp;quot;&lt;br /&gt;
  work_dir=&amp;quot;/opt/mailcleaner/share/sanesecurity/cache&amp;quot;   #Top level working directory&lt;br /&gt;
  user_configuration_complete=&amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Lancer le script une première fois, afin qu'il crée ses répertoires, ses fichiers de bases et fasse une première synchronisation.&lt;br /&gt;
&lt;br /&gt;
Créer un lien pour un lancement journalier (ou dans cron.hourly si on veut un update toutes les heures !):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;ln -s /opt/mailcleaner/scripts/clamav-unofficial-sigs.sh /etc/cron.daily/clamav-unofficial-sigs&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Scores Fuzzy ==&lt;br /&gt;
Fuzzy a une fâcheuse tendance à générer quelques faux-positifs. Notamment, la règle de vérification des types d'images boucle sur chaque image du mail, et si elle buggue (image non reconnue par rapport à son extension) pour une raison ou une autre, le score s’additionne pour chaque image. ça peut aller vite !&lt;br /&gt;
&lt;br /&gt;
Donc, on baisse au moins ce score. Dans /etc/mailscanner/FuzzyOcr.cf_template (qui reconstruit /usr/mailcleaner/share/spamassassin/FuzzyOcr.cf à chaque redémarrage de mailcleaner) modifier :&lt;br /&gt;
 focr_wrongext_score '''0.1'''&lt;br /&gt;
Relancer mailcleaner&lt;br /&gt;
 service mailcleaner restart&lt;br /&gt;
&lt;br /&gt;
== Whitelist / blacklist manuelles ==&lt;br /&gt;
* Pour Spamassassin&lt;br /&gt;
Il est possible d'ajouter des filtres, par exemple une whitelist/blacklist manuelle : /usr/mailcleaner/share/spamassassin/lists-custom.cf de ce format :&lt;br /&gt;
  whitelist_from          *.gooddomain.fr&lt;br /&gt;
  blacklist_from          *.baddomain.fr&lt;br /&gt;
  blacklist_from          mail@baddomain.fr&lt;br /&gt;
Et ne pas oublier :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chown mailcleaner.mailcleaner /usr/mailcleaner/share/spamassassin/lists-custom.cf&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Pour Greylistd pour les services utilisant plusieurs IPs (Google, Outlook...)&lt;br /&gt;
Ajouter un fichier /usr/mailcleaner/etc/greylistd/whitelist-hosts&lt;br /&gt;
 # Google&lt;br /&gt;
 209.85.128.0/17&lt;br /&gt;
 &lt;br /&gt;
 # Outlook.com / MS&lt;br /&gt;
 207.46.0.0/16 &lt;br /&gt;
 &lt;br /&gt;
 # Yahoo.com&lt;br /&gt;
 216.109.112.0/20&lt;br /&gt;
 216.39.48.0/20&lt;br /&gt;
 98.136.0.0/14&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mise en cluster ==&lt;br /&gt;
sur les 2 serveurs :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;cat /etc/mailcleaner.conf | grep PWD&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
pour avoir les mots de passes des bases respectives.&lt;br /&gt;
&lt;br /&gt;
Sur master :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/mailcleaner/scripts/configuration/slaves.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  1) change host settings (donner l'IP de ce serveur)&lt;br /&gt;
  4) add a slave (donner l'IP du serveur SLAVE)&lt;br /&gt;
Sur slave :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/mailcleaner/scripts/configuration/slaves.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  1) change host settings (donner l'IP de ce serveur)&lt;br /&gt;
  5) set this host as a slave (donner l'IP du serveur MAITRE)&lt;br /&gt;
&lt;br /&gt;
== Mises à jour ==&lt;br /&gt;
Commencer par un snapshot de la VM !!&lt;br /&gt;
&lt;br /&gt;
Vérifier la version en cours de chacun des serveurs dans monitoring/status&lt;br /&gt;
&lt;br /&gt;
Vérifier la dernière version ici : http://www.mailcleaner.org/doku.php/downloads:latest&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aptitude update&lt;br /&gt;
aptitude safe-upgrade&lt;br /&gt;
cd /usr/mailcleaner&lt;br /&gt;
cvs -q update -dP&lt;br /&gt;
source lib/updates/update_binaries.sh&lt;br /&gt;
stabilizeBinaries&lt;br /&gt;
install/install_perl_libs.sh&lt;br /&gt;
install/install_sa.sh&lt;br /&gt;
/usr/mailcleaner/bin/check_db.pl --update&lt;br /&gt;
/etc/init.d/mailcleaner restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Ancienne méthode&lt;br /&gt;
cd /usr/mailcleaner&lt;br /&gt;
cvs update -dP updates # noter les numéros de patchs téléchargés&lt;br /&gt;
bin/apply_update.sh &amp;lt;PATCHNUMBER&amp;gt; # ne renvoit rien si OK&lt;br /&gt;
Vérifier le patch appliqué dans &amp;quot;Monitoring&amp;quot; / &amp;quot;status&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Mutualisation&amp;quot; de Mailcleaner =&lt;br /&gt;
On entend par là, faire profiter d'autres boîtes mails du filtrage de Mailcleaner. Pour ça rien de plus simple :&lt;br /&gt;
 apt-get install fetchmail&lt;br /&gt;
Créer un fichier /etc/fetchmailrc avec par exemple :&lt;br /&gt;
 defaults&lt;br /&gt;
 proto pop3&lt;br /&gt;
 set logfile &amp;quot;/var/log/fetchmaillog&amp;quot;&lt;br /&gt;
 set daemon 300&lt;br /&gt;
 &lt;br /&gt;
 # Fetchmail config&lt;br /&gt;
 poll pop3.remotedomain.com with proto POP3&lt;br /&gt;
    user &amp;quot;mymail@remotedomain.com&amp;quot; with password &amp;quot;MON_PASS&amp;quot; is user@domainknownbyMC.com here&lt;br /&gt;
    smtphost &amp;quot;localhost&amp;quot; smtpname &amp;quot;user@domainknownbyMC.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 touch /var/log/fetchmaillog&lt;br /&gt;
 chown fetchmail /var/log/fetchmaillog&lt;br /&gt;
 update-rc.d enable fetchmail&lt;br /&gt;
 service fetchmail start&lt;br /&gt;
&lt;br /&gt;
= Validation de l'intallation =&lt;br /&gt;
on peut tirer profit d'un scan complet chez MXTOOLBOX&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;https://mxtoolbox.com/domain/serveurmx.domaine.fr&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TIPS =&lt;br /&gt;
* Le slave n'a peut-être pas le bon nom de host pour la bannière SMTP. Dans /etc/mailcleaner.conf, si la ligne n'y est pas, ajouter :&lt;br /&gt;
 HELONAME = mx2.domaine.fr&lt;br /&gt;
Puis relancer (par l'interface) le &amp;quot;incoming MTA&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* /opt/mailcleaner/scripts/configuration/set_ip_config.sh pour changer l'ip du système&lt;br /&gt;
&lt;br /&gt;
* Changer le nom d'hôte : modifier dans /etc/hosts, /etc/hostname, et lancer /etc/init.d/hostname.sh&lt;br /&gt;
&lt;br /&gt;
* sur serveur SLAVE, si le message :&lt;br /&gt;
&lt;br /&gt;
 failed to open /var/mailcleaner/spool/tmp/mailcleaner/domains.list for linear search: No such file or directory&lt;br /&gt;
&lt;br /&gt;
apparaît, lancer :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/mailcleaner/bin/dump_domains.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Test des règles de spam :&lt;br /&gt;
  /usr/mailcleaner/bin/is_spam.sh -D source-mail.eml&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=MailCleaner:_installation_et_configuration&amp;diff=6623</id>
		<title>MailCleaner: installation et configuration</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=MailCleaner:_installation_et_configuration&amp;diff=6623"/>
				<updated>2018-06-07T15:27:49Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Mise en cluster */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Warning|UPDATE 01/2015 : les listes RHSBL* n'existe plus. Ne pas la cocher si elle apparaît encore dans les menus}}&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
{{Note|Le site communautaire est accessible sur http://www.mailcleaner.org. Le site commercial sur http://www.mailcleaner.net}}&lt;br /&gt;
Télécharger l'image :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;wget http://www.mailcleaner.org/downloads/mailcleaner_community_2012v6_64bit.iso&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Booter sur l'iso ou donner l'iso comme périphérique de démarrage si c'est une VM. L'installation se lance automatiquement.&lt;br /&gt;
&lt;br /&gt;
Aprés le 1er reboot, configuration de base en ligne de commande :&lt;br /&gt;
  1 keyboard&lt;br /&gt;
  2 root passwd&lt;br /&gt;
  3 network&lt;br /&gt;
  4 MC Install/Reinstall&lt;br /&gt;
Passer les points dans l'ordre pour arriver au 4 : configuration, création des bases.\\ &lt;br /&gt;
Donner un ID unique par machine pouvant faire partie d'un cluster (voir plus bas).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Warning|BUG : en cas d'erreurs mysql, laisser l'installation se terminer (jusqu'à &amp;quot;starting services...&amp;quot;)}}&lt;br /&gt;
En effet, l'installateur n'attend pas - pour une raison inconnue - la fin de création des bases de données avant de continuer (notamment sur serveur virtualisé), et ne peut donc pas créer ses tables !\\ &lt;br /&gt;
Dans ce cas, se connecter en ssh et forcer l'arrêt du script qui reste bloqué sur &amp;quot;starting services...&amp;quot;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;ps -ef | grep install&lt;br /&gt;
kill &amp;lt;pid des processus *install*&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
puis :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;aptitude update&lt;br /&gt;
aptitude safe-upgrade #(répondre yes et yes)&lt;br /&gt;
cd /usr/mailcleaner&lt;br /&gt;
cvs -q update -dP&lt;br /&gt;
source lib/updates/update_binaries.sh&lt;br /&gt;
stabilizeBinaries&lt;br /&gt;
cd install&lt;br /&gt;
/opt/mysql5/bin/mysqladmin -S /var/mailcleaner/run/mysql_master/mysqld.sock -u root password 'new-password'&lt;br /&gt;
/opt/mysql5/bin/mysqladmin -S /var/mailcleaner/run/mysql_slave/mysqld.sock -u root password 'new-password'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
par sécurité éditer ./MC_prepare_dbs.sh, aux alentour de la ligne 124 modifier :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_slave/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&lt;br /&gt;
/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_master/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
par&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_slave/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&lt;br /&gt;
sleep 5&lt;br /&gt;
/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_master/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&lt;br /&gt;
sleep 5&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
puis continuer l'installation :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;./MC_prepare_dbs.sh # donner le mdp root mysql&lt;br /&gt;
/usr/mailcleaner/bin/check_db.pl --update&lt;br /&gt;
/usr/mailcleaner/bin/dump_apache_config.pl&lt;br /&gt;
/etc/init.d/mailcleaner restart&lt;br /&gt;
/usr/mailcleaner/bin/collect_rrd_stats.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
si problème de connexion en admin au webui :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/opt/mysql5/bin/mysql -S /var/mailcleaner/run/mysql_master/mysqld.sock -uroot -p mc_config&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  mysql&amp;gt; update administrator set password=ENCRYPT('new-password') where username='admin';&lt;br /&gt;
Première connexion :&lt;br /&gt;
  https://mailcleaner.domain.fr/admin&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
== Système ==&lt;br /&gt;
Commencer par passer en revue l'intégralité de la configuration&lt;br /&gt;
  * Configuration / General settings : passer le GUI en français + adresses mails, décocher &amp;quot;Display domain selector&amp;quot;, remplir Company&lt;br /&gt;
  * Configuration / Domains&lt;br /&gt;
    * Domain default settings : paramétrer emails dans general,  preferences, activer greylist dans filtering&lt;br /&gt;
  * SMTP&lt;br /&gt;
    * SMTP checks : activer les 4 RBLs&lt;br /&gt;
  * Anti-spam&lt;br /&gt;
    * Enable access to whitelist&lt;br /&gt;
    * NiceBayes enable module, désactiver decisive (voir [[#bayes|Filtres Bayes]] pour modifier le score que NiceNayes doit ajouter à spamassassin)&lt;br /&gt;
    * preRBLSs enable module, activer listes ips.backscatterer.org et dsn.bl.rfc-ignorant.de&lt;br /&gt;
    * UriRBLs enable module, activer les 3 listes&lt;br /&gt;
    * spamc enable DCC Razor Pyzor, décocher DKIM control&lt;br /&gt;
  * Services / web interfaces&lt;br /&gt;
    * changer le nom URL&lt;br /&gt;
    * enable SSL, ajouter certificats (cat /usr/mailcleaner/etc/apache/certs/certificate.pem, copier la partie KEY (avec BEGIN RSA PRIVATE KEY et END) dans private key et le reste (avec BEGIN CERTIFICATE et END) dansSSL certificate)&lt;br /&gt;
  * Monitoring/status (ou en cliquant dans le message en haut)&lt;br /&gt;
    * redémarrer les services qui doivent l'être&lt;br /&gt;
&lt;br /&gt;
Rebooter une fois. Si l'installateur redémarre après boot (au lieu d'arriver sur la demande de login), sortir (5), lancer :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;update-rc.d -f z_installmc remove&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
pour le désactiver au prochain redémarrage.&lt;br /&gt;
&lt;br /&gt;
== RBLs ==&lt;br /&gt;
&lt;br /&gt;
  * soit niveau SMTP -&amp;gt; rejetés&lt;br /&gt;
  * soit niveau PreRBLS -&amp;gt; quarantaine&lt;br /&gt;
  * soit niveau Spamc -&amp;gt; inclu dans la décision de tag spam&lt;br /&gt;
Attention à ne pas cocher les même RBLs à ces différents niveaux, ça ne servirait à rien et ralentirait le filtrage.&lt;br /&gt;
== Whitelists/blacklists ==&lt;br /&gt;
  * Whitelists :&lt;br /&gt;
    * Config/Anti-spam/Enable access to whitelist : c'est une whitelist générale (pour tous les domaines), mais il faut aussi qu'elle soit activée pour que les whitelists par domain apparaissent&lt;br /&gt;
    * Config/Domains/&amp;lt;nom de domain&amp;gt;/filtering/Enable whitelist&lt;br /&gt;
&lt;br /&gt;
  * Blacklists :&lt;br /&gt;
    * Config/SMTP/Connection control&lt;br /&gt;
Voir aussi plus bas : whitelists / blacklists manuelles.&lt;br /&gt;
== Quarantaine ==&lt;br /&gt;
Quarantaine/ Rapport de quarantaine :&lt;br /&gt;
  * Domains/&amp;lt;nom de domaine&amp;gt;/preferences&lt;br /&gt;
voir aussi les preferences par défaut dans &amp;quot;Domain default settings&amp;quot;/&amp;quot;preferences&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Ajout d'un domaine à relayer ==&lt;br /&gt;
&amp;quot;Domains&amp;quot; / &amp;quot;New domain&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Paramétrer le serveur destinataire dans &amp;quot;delivery&amp;quot;, cliquer &amp;quot;submit&amp;quot; et tester la destination.&lt;br /&gt;
&lt;br /&gt;
Paramétrer &amp;quot;address verification&amp;quot; : smtp, donner IPip du serveur destinataire, cliquer &amp;quot;submit&amp;quot; et &amp;quot;tester&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Améliorations ==&lt;br /&gt;
=== transfert de règles sa-learn ===&lt;br /&gt;
Sur l'ancien serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;sa-learn --backup &amp;gt; regles.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Sur le serveur Mailcleaner :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;sa-learn -p /opt/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /opt/mailcleaner/share/spamassassin --restore regles.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;bayes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Filtre Bayes ==&lt;br /&gt;
Le filtre est désactivé car aucune base n'est créée par défaut. Dans l'entête des mails on voit :&lt;br /&gt;
  NiceBayes disabled (no database ?)&lt;br /&gt;
Le principe est de déclarer une boîte aux lettres dédiée aux spams / hams, scannée par un script tous les jours pour alimenter la base. Installer la librairie nécessaire :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;apt-get install libmail-imapclient-perl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Créer un script /opt/mailcleaner/scripts/gethamspam.sh :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=div&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# copy the old database to a timestamped copy&lt;br /&gt;
TIMESTAMP=$(date +%d)&lt;br /&gt;
REPORT_EMAIL=admin@domain.com&lt;br /&gt;
&lt;br /&gt;
# backup Spamassassin bayes db&lt;br /&gt;
sa-learn -p /opt/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /opt/mailcleaner/share/spamassassin --backup &amp;gt;/var/mailcleaner/spool/spamassassin/spamass_rules.bak&lt;br /&gt;
# backup Bogofilter bayes db&lt;br /&gt;
cp -a /root/.bogofilter/wordlist.db &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db&amp;quot;&lt;br /&gt;
if [ -f &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db.gz&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
   rm -f &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db.gz&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
gzip &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# get the spam and ham from the imap mailbox for the spamassassin and bogofilter db's&lt;br /&gt;
/opt/mailcleaner/scripts/imap-sa-learn.pl&lt;br /&gt;
if [ $? -ne 0 ]&lt;br /&gt;
then&lt;br /&gt;
    (&lt;br /&gt;
      echo &amp;quot;Subject: Bogofilter database update $(hostname) failed&amp;quot;&lt;br /&gt;
      ls -l /var/mailcleaner/spool/bogofilter/database/&lt;br /&gt;
      ) | /usr/sbin/sendmail $REPORT_EMAIL&lt;br /&gt;
    exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# copy the database to the right location&lt;br /&gt;
cp /root/.bogofilter/wordlist.db /var/mailcleaner/spool/bogofilter/database/wordlist.db&lt;br /&gt;
# If slave(s) Mailcleaner exists, ssh copy db to the slave(s)&lt;br /&gt;
scp /root/.bogofilter/wordlist.db mailcleaner2.domain.com:/var/mailcleaner/spool/bogofilter/database/&lt;br /&gt;
# Copy the backup of spamassasin rules on slave(s). It must then be applied on it by --restore.&lt;br /&gt;
scp /var/mailcleaner/spool/spamassassin/spamass_rules.bak mailcleaner2.domain.com:/var/mailcleaner/spool/spamassassin/&lt;br /&gt;
&lt;br /&gt;
# get the spam and ham counts from bogofilter - this just prints how many spam and ham you collected so far...&lt;br /&gt;
/opt/bogofilter/bin/bogoutil -w /var/mailcleaner/spool/bogofilter/database/wordlist.db .MSG_COUNT&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Sans oublier&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chmod 755 /opt/mailcleaner/scripts/gethamspam.sh&lt;br /&gt;
chmod 755 /opt/mailcleaner/scripts/imap-sa-learn.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il appelle /opt/mailcleaner/scripts/imap-sa-learn.pl (http://forum.mailcleaner.org/viewtopic.php?f=3&amp;amp;t=836, voir aussi http://www.gagravarr.org/code). Le script crée une base /root/.bogofilter/wordlist.db et la copie dans /var/mailcleaner/spool/bogofilter/database. Il semble que les 2 emplacements soient nécessaires (à vérifier à l'occasion).&lt;br /&gt;
&lt;br /&gt;
{{Note|PENSER a changer le propriétaire de  /var/mailcleaner/spool/bogofilter/database/wordlist.db pour que mailcleaner puisse le modifier!&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chown mailcleaner:mailcleaner /var/mailcleaner/spool/bogofilter/database/wordlist.db&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
Créer un fichier dans cron.d (appelé gethamspam sans &amp;quot;.sh&amp;quot; car cron ne prend pas toujours)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# cron-jobs for bayes bogofilter database&lt;br /&gt;
#&lt;br /&gt;
MAILTO=root&lt;br /&gt;
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin&lt;br /&gt;
00 06 * * *	root /opt/mailcleaner/scripts/gethamspam.sh &amp;gt;&amp;gt; /var/log/gethamspam.log 2&amp;gt;&amp;amp;1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Paramétrer logrotate pour archiver /var/log/gethamspam.log : créer /etc/logrotate.d/gethamspam contenant :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash enclose=div&amp;gt;/var/log/gethamspam.log {&lt;br /&gt;
	weekly&lt;br /&gt;
	rotate 3&lt;br /&gt;
	compress&lt;br /&gt;
	nomail&lt;br /&gt;
	notifempty&lt;br /&gt;
	missingok&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SLAVE : si des Mailcleaner de secours sont en cluster avec celui-ci, une fois les bases copiées par le script, il faut les traiter.&lt;br /&gt;
* la base Bogofilter n'a pas besoin d'intervention&lt;br /&gt;
* la base Spamassassin doit être restaurée sur le slave, par exemple par un script de ce genre :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=div&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
if [ -f /var/mailcleaner/spool/spamassassin/spambayes.tgz ]&lt;br /&gt;
then&lt;br /&gt;
  rm -f /var/mailcleaner/spool/spamassassin/spambayes.tgz&lt;br /&gt;
fi&lt;br /&gt;
tar -cvf /var/mailcleaner/spool/spamassassin/spambayes.tgz /var/mailcleaner/spool/spamassassin/bayes*&lt;br /&gt;
if [ -f /var/mailcleaner/spool/spamassassin/spamass_rules.bak ]&lt;br /&gt;
then&lt;br /&gt;
  sa-learn -p /usr/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /usr/mailcleaner/share/spamassassin --restore /var/mailcleaner/spool/spamassassin/spamass_rules.bak&lt;br /&gt;
  rm -f /var/mailcleaner/spool/spamassassin/spamass_rules.bak&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Activer le module dans l'interface. Le déclarer '''non décisif'''. Il doit faire partie du score de spamassassin mais pas plus, sinon il y a trop de faux-positifs.&lt;br /&gt;
&lt;br /&gt;
Pour l'intégrer à spamassassin, créer une règle (dans un fichier xxxxx.cf à créer dans /usr/share/mailcleaner/share/spamassassin) :&lt;br /&gt;
  # Custom rules&lt;br /&gt;
  header LOCAL_NICEBAYES_HEADER    X-NiceBayes =~ /is spam/&lt;br /&gt;
  describe LOCAL_NICEBAYES_HEADER  NiceBayes header detected&lt;br /&gt;
  score LOCAL_NICEBAYES_HEADER     1.5&lt;br /&gt;
&lt;br /&gt;
== Règles custom spamassassin ==&lt;br /&gt;
Modifier la configuration de sa-update (procédure selon ces préconisation (ajout de channels, surtout) :&lt;br /&gt;
  * http://forum.mailcleaner.org/viewtopic.php?f=15&amp;amp;t=964&lt;br /&gt;
  * http://forum.mailcleaner.org/viewtopic.php?f=3&amp;amp;t=1776)&lt;br /&gt;
Pour commencer, créer les répertoires, importer les clés spamassassin et les règles updates en une seul commande :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/local/bin/sa-update -v&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Intégrer la clé GPG du canal Sought :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;wget http://yerp.org/rules/GPG.KEY&lt;br /&gt;
/usr/local/bin/sa-update --import GPG.KEY&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
créer /opt/mailcleaner/scripts/sa-update-customs.sh&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=div&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Spamassassin auto updater with custom channels&lt;br /&gt;
# First import key 6C6191E3 :&lt;br /&gt;
#  wget http://yerp.org/rules/GPG.KEY&lt;br /&gt;
#  sa-update --import GPG.KEY&lt;br /&gt;
SAUPD=/usr/local/bin/sa-update&lt;br /&gt;
$SAUPD --channel updates.spamassassin.org --updatedir /usr/mailcleaner/share/spamassassin &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
$SAUPD --gpgkey 6C6191E3 --channel sought.rules.yerp.org --updatedir /usr/mailcleaner/share/spamassassin &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
$SAUPD -v &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
wget http://www.pccc.com/downloads/SpamAssassin/contrib/KAM.cf &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
mv -f KAM.cf /usr/mailcleaner/share/spamassassin/KAM.cf&lt;br /&gt;
/usr/mailcleaner/etc/init.d/mailscanner restart&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
sans oublier&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chmod 755 /opt/mailcleaner/scripts/sa-update-customs.sh&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
et créer un lien dans cron.daily vers le script et paramétrer logrotate pour archiver /var/log/sa-update.log.&lt;br /&gt;
&lt;br /&gt;
Modifier également /usr/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf :&lt;br /&gt;
  bayes_auto_learn 1&lt;br /&gt;
  bayes_auto_learn_threshold_spam 7.0&lt;br /&gt;
  bayes_auto_learn_threshold_nonspam -0.1&lt;br /&gt;
&lt;br /&gt;
== Règles custom Clamav (Clamspam) ==&lt;br /&gt;
Clamav est installé et lancé après l'installation de base, mais Clamspam ne démarre pas par défaut car il n'a pas de base. On va charger les bases custom.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;aptitude install rsync gnupg curl socat gzip dnsutils&lt;br /&gt;
mkdir -p /opt/mailcleaner/sanesecurity/cache&lt;br /&gt;
cd /opt/mailcleaner/install&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Vérifier la dernière version du script sur http://downloads.sourceforge.net/project/unofficial-sigs/files&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;wget http://downloads.sourceforge.net/project/unofficial-sigs/clamav-unofficial-sigs-3.7.2.tar.gz&lt;br /&gt;
tar -xvzf clamav-unofficial-sigs-3.7.2.tar.gz&lt;br /&gt;
cd /opt/mailcleaner/scripts&lt;br /&gt;
cp /opt/mailcleaner/install/clamav-unofficial-sigs-3.7.2/clamav-unofficial-sigs.sh .&lt;br /&gt;
cp /opt/mailcleaner/install/clamav-unofficial-sigs-3.7.2/clamav-unofficial-sigs.conf .&lt;br /&gt;
chmod 755 clamav-unofficial-sigs.sh&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modifier clamav-unofficial-sigs.sh :&lt;br /&gt;
  default_config=&amp;quot;/opt/mailcleaner/scripts/clamav-unofficial-sigs.conf&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Modifier les options suivantes dans clamav-unofficial-sigs.conf :&lt;br /&gt;
  PATH=&amp;quot;/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/clamav/bin&amp;quot;&lt;br /&gt;
  clam_dbs=&amp;quot;/var/mailcleaner/spool/clamspam&amp;quot;&lt;br /&gt;
  clamd_pid=&amp;quot;/var/mailcleaner/run/clamav/clamspamd.pid&amp;quot;&lt;br /&gt;
  reload_dbs=&amp;quot;yes&amp;quot;&lt;br /&gt;
  #reload_opt=&amp;quot;clamdscan --reload&amp;quot; # Commenter cette ligne&lt;br /&gt;
  reload_opt=&amp;quot;/usr/mailcleaner/etc/init.d/clamspamd restart&amp;quot; # et ajouter celle-ci&lt;br /&gt;
  clamd_socket=&amp;quot;/var/mailcleaner/run/clamav/clamspamd.sock&amp;quot;&lt;br /&gt;
  work_dir=&amp;quot;/opt/mailcleaner/share/sanesecurity/cache&amp;quot;   #Top level working directory&lt;br /&gt;
  user_configuration_complete=&amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Lancer le script une première fois, afin qu'il crée ses répertoires, ses fichiers de bases et fasse une première synchronisation.&lt;br /&gt;
&lt;br /&gt;
Créer un lien pour un lancement journalier (ou dans cron.hourly si on veut un update toutes les heures !):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;ln -s /opt/mailcleaner/scripts/clamav-unofficial-sigs.sh /etc/cron.daily/clamav-unofficial-sigs&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Scores Fuzzy ==&lt;br /&gt;
Fuzzy a une fâcheuse tendance à générer quelques faux-positifs. Notamment, la règle de vérification des types d'images boucle sur chaque image du mail, et si elle buggue (image non reconnue par rapport à son extension) pour une raison ou une autre, le score s’additionne pour chaque image. ça peut aller vite !&lt;br /&gt;
&lt;br /&gt;
Donc, on baisse au moins ce score. Dans /etc/mailscanner/FuzzyOcr.cf_template (qui reconstruit /usr/mailcleaner/share/spamassassin/FuzzyOcr.cf à chaque redémarrage de mailcleaner) modifier :&lt;br /&gt;
 focr_wrongext_score '''0.1'''&lt;br /&gt;
Relancer mailcleaner&lt;br /&gt;
 service mailcleaner restart&lt;br /&gt;
&lt;br /&gt;
== Whitelist / blacklist manuelles ==&lt;br /&gt;
* Pour Spamassassin&lt;br /&gt;
Il est possible d'ajouter des filtres, par exemple une whitelist/blacklist manuelle : /usr/mailcleaner/share/spamassassin/lists-custom.cf de ce format :&lt;br /&gt;
  whitelist_from          *.gooddomain.fr&lt;br /&gt;
  blacklist_from          *.baddomain.fr&lt;br /&gt;
  blacklist_from          mail@baddomain.fr&lt;br /&gt;
Et ne pas oublier :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chown mailcleaner.mailcleaner /usr/mailcleaner/share/spamassassin/lists-custom.cf&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Pour Greylistd pour les services utilisant plusieurs IPs (Google, Outlook...)&lt;br /&gt;
Ajouter un fichier /usr/mailcleaner/etc/greylistd/whitelist-hosts&lt;br /&gt;
 # Google&lt;br /&gt;
 209.85.128.0/17&lt;br /&gt;
 &lt;br /&gt;
 # Outlook.com / MS&lt;br /&gt;
 207.46.0.0/16 &lt;br /&gt;
 &lt;br /&gt;
 # Yahoo.com&lt;br /&gt;
 216.109.112.0/20&lt;br /&gt;
 216.39.48.0/20&lt;br /&gt;
 98.136.0.0/14&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mise en cluster ==&lt;br /&gt;
sur les 2 serveurs :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;cat /etc/mailcleaner.conf | grep PWD&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
pour avoir les mots de passes des bases respectives.&lt;br /&gt;
&lt;br /&gt;
Sur master :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/mailcleaner/scripts/configuration/slaves.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  1) change host settings (donner l'IP de ce serveur)&lt;br /&gt;
  4) add a slave (donner l'IP du serveur SLAVE)&lt;br /&gt;
Sur slave :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/mailcleaner/scripts/configuration/slaves.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  1) change host settings (donner l'IP de ce serveur)&lt;br /&gt;
  5) set this host as a slave (donner l'IP du serveur MAITRE)&lt;br /&gt;
&lt;br /&gt;
== Mises à jour ==&lt;br /&gt;
Commencer par un snapshot de la VM !!&lt;br /&gt;
&lt;br /&gt;
Vérifier la version en cours de chacun des serveurs dans monitoring/status&lt;br /&gt;
&lt;br /&gt;
Vérifier la dernière version ici : http://www.mailcleaner.org/doku.php/downloads:latest&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aptitude update&lt;br /&gt;
aptitude safe-upgrade&lt;br /&gt;
cd /usr/mailcleaner&lt;br /&gt;
cvs -q update -dP&lt;br /&gt;
source lib/updates/update_binaries.sh&lt;br /&gt;
stabilizeBinaries&lt;br /&gt;
install/install_perl_libs.sh&lt;br /&gt;
install/install_sa.sh&lt;br /&gt;
/usr/mailcleaner/bin/check_db.pl --update&lt;br /&gt;
/etc/init.d/mailcleaner restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Ancienne méthode&lt;br /&gt;
cd /usr/mailcleaner&lt;br /&gt;
cvs update -dP updates # noter les numéros de patchs téléchargés&lt;br /&gt;
bin/apply_update.sh &amp;lt;PATCHNUMBER&amp;gt; # ne renvoit rien si OK&lt;br /&gt;
Vérifier le patch appliqué dans &amp;quot;Monitoring&amp;quot; / &amp;quot;status&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Mutualisation&amp;quot; de Mailcleaner =&lt;br /&gt;
On entend par là, faire profiter d'autres boîtes mails du filtrage de Mailcleaner. Pour ça rien de plus simple :&lt;br /&gt;
 apt-get install fetchmail&lt;br /&gt;
Créer un fichier /etc/fetchmailrc avec par exemple :&lt;br /&gt;
 defaults&lt;br /&gt;
 proto pop3&lt;br /&gt;
 set logfile &amp;quot;/var/log/fetchmaillog&amp;quot;&lt;br /&gt;
 set daemon 300&lt;br /&gt;
 &lt;br /&gt;
 # Fetchmail config&lt;br /&gt;
 poll pop3.remotedomain.com with proto POP3&lt;br /&gt;
    user &amp;quot;mymail@remotedomain.com&amp;quot; with password &amp;quot;MON_PASS&amp;quot; is user@domainknownbyMC.com here&lt;br /&gt;
    smtphost &amp;quot;localhost&amp;quot; smtpname &amp;quot;user@domainknownbyMC.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 touch /var/log/fetchmaillog&lt;br /&gt;
 chown fetchmail /var/log/fetchmaillog&lt;br /&gt;
 update-rc.d enable fetchmail&lt;br /&gt;
 service fetchmail start&lt;br /&gt;
&lt;br /&gt;
= Validation de l'intallation =&lt;br /&gt;
on peut tirer profit d'un scan complet chez MXTOOLBOX&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;https://mxtoolbox.com/domain/serveurmx.domaine.fr&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TIPS =&lt;br /&gt;
* Le slave n'a peut-être pas le bon nom de host pour la bannière SMTP. Dans /etc/mailcleaner.conf, si la ligne n'y est pas, ajouter :&lt;br /&gt;
 HELONAME = mx2.domaine.fr&lt;br /&gt;
Puis relancer (par l'interface) le &amp;quot;incoming MTA&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* /opt/mailcleaner/scripts/configuration/set_ip_config.sh pour changer l'ip du système&lt;br /&gt;
&lt;br /&gt;
* Changer le nom d'hôte : modifier dans /etc/hosts, /etc/hostname, et lancer /etc/init.d/hostname.sh&lt;br /&gt;
&lt;br /&gt;
* sur serveur SLAVE, si le message :&lt;br /&gt;
&lt;br /&gt;
 failed to open /var/mailcleaner/spool/tmp/mailcleaner/domains.list for linear search: No such file or directory&lt;br /&gt;
&lt;br /&gt;
apparaît, lancer :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/mailcleaner/bin/dump_domains.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Test des règles de spam :&lt;br /&gt;
  /usr/mailcleaner/bin/is_spam.sh -D source-mail.eml&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=MailCleaner:_installation_et_configuration&amp;diff=6622</id>
		<title>MailCleaner: installation et configuration</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=MailCleaner:_installation_et_configuration&amp;diff=6622"/>
				<updated>2018-06-07T14:59:10Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Filtre Bayes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Warning|UPDATE 01/2015 : les listes RHSBL* n'existe plus. Ne pas la cocher si elle apparaît encore dans les menus}}&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
{{Note|Le site communautaire est accessible sur http://www.mailcleaner.org. Le site commercial sur http://www.mailcleaner.net}}&lt;br /&gt;
Télécharger l'image :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;wget http://www.mailcleaner.org/downloads/mailcleaner_community_2012v6_64bit.iso&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Booter sur l'iso ou donner l'iso comme périphérique de démarrage si c'est une VM. L'installation se lance automatiquement.&lt;br /&gt;
&lt;br /&gt;
Aprés le 1er reboot, configuration de base en ligne de commande :&lt;br /&gt;
  1 keyboard&lt;br /&gt;
  2 root passwd&lt;br /&gt;
  3 network&lt;br /&gt;
  4 MC Install/Reinstall&lt;br /&gt;
Passer les points dans l'ordre pour arriver au 4 : configuration, création des bases.\\ &lt;br /&gt;
Donner un ID unique par machine pouvant faire partie d'un cluster (voir plus bas).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Warning|BUG : en cas d'erreurs mysql, laisser l'installation se terminer (jusqu'à &amp;quot;starting services...&amp;quot;)}}&lt;br /&gt;
En effet, l'installateur n'attend pas - pour une raison inconnue - la fin de création des bases de données avant de continuer (notamment sur serveur virtualisé), et ne peut donc pas créer ses tables !\\ &lt;br /&gt;
Dans ce cas, se connecter en ssh et forcer l'arrêt du script qui reste bloqué sur &amp;quot;starting services...&amp;quot;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;ps -ef | grep install&lt;br /&gt;
kill &amp;lt;pid des processus *install*&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
puis :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;aptitude update&lt;br /&gt;
aptitude safe-upgrade #(répondre yes et yes)&lt;br /&gt;
cd /usr/mailcleaner&lt;br /&gt;
cvs -q update -dP&lt;br /&gt;
source lib/updates/update_binaries.sh&lt;br /&gt;
stabilizeBinaries&lt;br /&gt;
cd install&lt;br /&gt;
/opt/mysql5/bin/mysqladmin -S /var/mailcleaner/run/mysql_master/mysqld.sock -u root password 'new-password'&lt;br /&gt;
/opt/mysql5/bin/mysqladmin -S /var/mailcleaner/run/mysql_slave/mysqld.sock -u root password 'new-password'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
par sécurité éditer ./MC_prepare_dbs.sh, aux alentour de la ligne 124 modifier :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_slave/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&lt;br /&gt;
/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_master/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
par&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_slave/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&lt;br /&gt;
sleep 5&lt;br /&gt;
/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_master/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&lt;br /&gt;
sleep 5&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
puis continuer l'installation :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;./MC_prepare_dbs.sh # donner le mdp root mysql&lt;br /&gt;
/usr/mailcleaner/bin/check_db.pl --update&lt;br /&gt;
/usr/mailcleaner/bin/dump_apache_config.pl&lt;br /&gt;
/etc/init.d/mailcleaner restart&lt;br /&gt;
/usr/mailcleaner/bin/collect_rrd_stats.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
si problème de connexion en admin au webui :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/opt/mysql5/bin/mysql -S /var/mailcleaner/run/mysql_master/mysqld.sock -uroot -p mc_config&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  mysql&amp;gt; update administrator set password=ENCRYPT('new-password') where username='admin';&lt;br /&gt;
Première connexion :&lt;br /&gt;
  https://mailcleaner.domain.fr/admin&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
== Système ==&lt;br /&gt;
Commencer par passer en revue l'intégralité de la configuration&lt;br /&gt;
  * Configuration / General settings : passer le GUI en français + adresses mails, décocher &amp;quot;Display domain selector&amp;quot;, remplir Company&lt;br /&gt;
  * Configuration / Domains&lt;br /&gt;
    * Domain default settings : paramétrer emails dans general,  preferences, activer greylist dans filtering&lt;br /&gt;
  * SMTP&lt;br /&gt;
    * SMTP checks : activer les 4 RBLs&lt;br /&gt;
  * Anti-spam&lt;br /&gt;
    * Enable access to whitelist&lt;br /&gt;
    * NiceBayes enable module, désactiver decisive (voir [[#bayes|Filtres Bayes]] pour modifier le score que NiceNayes doit ajouter à spamassassin)&lt;br /&gt;
    * preRBLSs enable module, activer listes ips.backscatterer.org et dsn.bl.rfc-ignorant.de&lt;br /&gt;
    * UriRBLs enable module, activer les 3 listes&lt;br /&gt;
    * spamc enable DCC Razor Pyzor, décocher DKIM control&lt;br /&gt;
  * Services / web interfaces&lt;br /&gt;
    * changer le nom URL&lt;br /&gt;
    * enable SSL, ajouter certificats (cat /usr/mailcleaner/etc/apache/certs/certificate.pem, copier la partie KEY (avec BEGIN RSA PRIVATE KEY et END) dans private key et le reste (avec BEGIN CERTIFICATE et END) dansSSL certificate)&lt;br /&gt;
  * Monitoring/status (ou en cliquant dans le message en haut)&lt;br /&gt;
    * redémarrer les services qui doivent l'être&lt;br /&gt;
&lt;br /&gt;
Rebooter une fois. Si l'installateur redémarre après boot (au lieu d'arriver sur la demande de login), sortir (5), lancer :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;update-rc.d -f z_installmc remove&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
pour le désactiver au prochain redémarrage.&lt;br /&gt;
&lt;br /&gt;
== RBLs ==&lt;br /&gt;
&lt;br /&gt;
  * soit niveau SMTP -&amp;gt; rejetés&lt;br /&gt;
  * soit niveau PreRBLS -&amp;gt; quarantaine&lt;br /&gt;
  * soit niveau Spamc -&amp;gt; inclu dans la décision de tag spam&lt;br /&gt;
Attention à ne pas cocher les même RBLs à ces différents niveaux, ça ne servirait à rien et ralentirait le filtrage.&lt;br /&gt;
== Whitelists/blacklists ==&lt;br /&gt;
  * Whitelists :&lt;br /&gt;
    * Config/Anti-spam/Enable access to whitelist : c'est une whitelist générale (pour tous les domaines), mais il faut aussi qu'elle soit activée pour que les whitelists par domain apparaissent&lt;br /&gt;
    * Config/Domains/&amp;lt;nom de domain&amp;gt;/filtering/Enable whitelist&lt;br /&gt;
&lt;br /&gt;
  * Blacklists :&lt;br /&gt;
    * Config/SMTP/Connection control&lt;br /&gt;
Voir aussi plus bas : whitelists / blacklists manuelles.&lt;br /&gt;
== Quarantaine ==&lt;br /&gt;
Quarantaine/ Rapport de quarantaine :&lt;br /&gt;
  * Domains/&amp;lt;nom de domaine&amp;gt;/preferences&lt;br /&gt;
voir aussi les preferences par défaut dans &amp;quot;Domain default settings&amp;quot;/&amp;quot;preferences&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Ajout d'un domaine à relayer ==&lt;br /&gt;
&amp;quot;Domains&amp;quot; / &amp;quot;New domain&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Paramétrer le serveur destinataire dans &amp;quot;delivery&amp;quot;, cliquer &amp;quot;submit&amp;quot; et tester la destination.&lt;br /&gt;
&lt;br /&gt;
Paramétrer &amp;quot;address verification&amp;quot; : smtp, donner IPip du serveur destinataire, cliquer &amp;quot;submit&amp;quot; et &amp;quot;tester&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Améliorations ==&lt;br /&gt;
=== transfert de règles sa-learn ===&lt;br /&gt;
Sur l'ancien serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;sa-learn --backup &amp;gt; regles.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Sur le serveur Mailcleaner :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;sa-learn -p /opt/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /opt/mailcleaner/share/spamassassin --restore regles.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;bayes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Filtre Bayes ==&lt;br /&gt;
Le filtre est désactivé car aucune base n'est créée par défaut. Dans l'entête des mails on voit :&lt;br /&gt;
  NiceBayes disabled (no database ?)&lt;br /&gt;
Le principe est de déclarer une boîte aux lettres dédiée aux spams / hams, scannée par un script tous les jours pour alimenter la base. Installer la librairie nécessaire :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;apt-get install libmail-imapclient-perl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Créer un script /opt/mailcleaner/scripts/gethamspam.sh :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=div&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# copy the old database to a timestamped copy&lt;br /&gt;
TIMESTAMP=$(date +%d)&lt;br /&gt;
REPORT_EMAIL=admin@domain.com&lt;br /&gt;
&lt;br /&gt;
# backup Spamassassin bayes db&lt;br /&gt;
sa-learn -p /opt/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /opt/mailcleaner/share/spamassassin --backup &amp;gt;/var/mailcleaner/spool/spamassassin/spamass_rules.bak&lt;br /&gt;
# backup Bogofilter bayes db&lt;br /&gt;
cp -a /root/.bogofilter/wordlist.db &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db&amp;quot;&lt;br /&gt;
if [ -f &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db.gz&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
   rm -f &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db.gz&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
gzip &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# get the spam and ham from the imap mailbox for the spamassassin and bogofilter db's&lt;br /&gt;
/opt/mailcleaner/scripts/imap-sa-learn.pl&lt;br /&gt;
if [ $? -ne 0 ]&lt;br /&gt;
then&lt;br /&gt;
    (&lt;br /&gt;
      echo &amp;quot;Subject: Bogofilter database update $(hostname) failed&amp;quot;&lt;br /&gt;
      ls -l /var/mailcleaner/spool/bogofilter/database/&lt;br /&gt;
      ) | /usr/sbin/sendmail $REPORT_EMAIL&lt;br /&gt;
    exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# copy the database to the right location&lt;br /&gt;
cp /root/.bogofilter/wordlist.db /var/mailcleaner/spool/bogofilter/database/wordlist.db&lt;br /&gt;
# If slave(s) Mailcleaner exists, ssh copy db to the slave(s)&lt;br /&gt;
scp /root/.bogofilter/wordlist.db mailcleaner2.domain.com:/var/mailcleaner/spool/bogofilter/database/&lt;br /&gt;
# Copy the backup of spamassasin rules on slave(s). It must then be applied on it by --restore.&lt;br /&gt;
scp /var/mailcleaner/spool/spamassassin/spamass_rules.bak mailcleaner2.domain.com:/var/mailcleaner/spool/spamassassin/&lt;br /&gt;
&lt;br /&gt;
# get the spam and ham counts from bogofilter - this just prints how many spam and ham you collected so far...&lt;br /&gt;
/opt/bogofilter/bin/bogoutil -w /var/mailcleaner/spool/bogofilter/database/wordlist.db .MSG_COUNT&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Sans oublier&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chmod 755 /opt/mailcleaner/scripts/gethamspam.sh&lt;br /&gt;
chmod 755 /opt/mailcleaner/scripts/imap-sa-learn.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il appelle /opt/mailcleaner/scripts/imap-sa-learn.pl (http://forum.mailcleaner.org/viewtopic.php?f=3&amp;amp;t=836, voir aussi http://www.gagravarr.org/code). Le script crée une base /root/.bogofilter/wordlist.db et la copie dans /var/mailcleaner/spool/bogofilter/database. Il semble que les 2 emplacements soient nécessaires (à vérifier à l'occasion).&lt;br /&gt;
&lt;br /&gt;
{{Note|PENSER a changer le propriétaire de  /var/mailcleaner/spool/bogofilter/database/wordlist.db pour que mailcleaner puisse le modifier!&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chown mailcleaner:mailcleaner /var/mailcleaner/spool/bogofilter/database/wordlist.db&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
Créer un fichier dans cron.d (appelé gethamspam sans &amp;quot;.sh&amp;quot; car cron ne prend pas toujours)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# cron-jobs for bayes bogofilter database&lt;br /&gt;
#&lt;br /&gt;
MAILTO=root&lt;br /&gt;
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin&lt;br /&gt;
00 06 * * *	root /opt/mailcleaner/scripts/gethamspam.sh &amp;gt;&amp;gt; /var/log/gethamspam.log 2&amp;gt;&amp;amp;1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Paramétrer logrotate pour archiver /var/log/gethamspam.log : créer /etc/logrotate.d/gethamspam contenant :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash enclose=div&amp;gt;/var/log/gethamspam.log {&lt;br /&gt;
	weekly&lt;br /&gt;
	rotate 3&lt;br /&gt;
	compress&lt;br /&gt;
	nomail&lt;br /&gt;
	notifempty&lt;br /&gt;
	missingok&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SLAVE : si des Mailcleaner de secours sont en cluster avec celui-ci, une fois les bases copiées par le script, il faut les traiter.&lt;br /&gt;
* la base Bogofilter n'a pas besoin d'intervention&lt;br /&gt;
* la base Spamassassin doit être restaurée sur le slave, par exemple par un script de ce genre :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=div&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
if [ -f /var/mailcleaner/spool/spamassassin/spambayes.tgz ]&lt;br /&gt;
then&lt;br /&gt;
  rm -f /var/mailcleaner/spool/spamassassin/spambayes.tgz&lt;br /&gt;
fi&lt;br /&gt;
tar -cvf /var/mailcleaner/spool/spamassassin/spambayes.tgz /var/mailcleaner/spool/spamassassin/bayes*&lt;br /&gt;
if [ -f /var/mailcleaner/spool/spamassassin/spamass_rules.bak ]&lt;br /&gt;
then&lt;br /&gt;
  sa-learn -p /usr/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /usr/mailcleaner/share/spamassassin --restore /var/mailcleaner/spool/spamassassin/spamass_rules.bak&lt;br /&gt;
  rm -f /var/mailcleaner/spool/spamassassin/spamass_rules.bak&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Activer le module dans l'interface. Le déclarer '''non décisif'''. Il doit faire partie du score de spamassassin mais pas plus, sinon il y a trop de faux-positifs.&lt;br /&gt;
&lt;br /&gt;
Pour l'intégrer à spamassassin, créer une règle (dans un fichier xxxxx.cf à créer dans /usr/share/mailcleaner/share/spamassassin) :&lt;br /&gt;
  # Custom rules&lt;br /&gt;
  header LOCAL_NICEBAYES_HEADER    X-NiceBayes =~ /is spam/&lt;br /&gt;
  describe LOCAL_NICEBAYES_HEADER  NiceBayes header detected&lt;br /&gt;
  score LOCAL_NICEBAYES_HEADER     1.5&lt;br /&gt;
&lt;br /&gt;
== Règles custom spamassassin ==&lt;br /&gt;
Modifier la configuration de sa-update (procédure selon ces préconisation (ajout de channels, surtout) :&lt;br /&gt;
  * http://forum.mailcleaner.org/viewtopic.php?f=15&amp;amp;t=964&lt;br /&gt;
  * http://forum.mailcleaner.org/viewtopic.php?f=3&amp;amp;t=1776)&lt;br /&gt;
Pour commencer, créer les répertoires, importer les clés spamassassin et les règles updates en une seul commande :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/local/bin/sa-update -v&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Intégrer la clé GPG du canal Sought :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;wget http://yerp.org/rules/GPG.KEY&lt;br /&gt;
/usr/local/bin/sa-update --import GPG.KEY&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
créer /opt/mailcleaner/scripts/sa-update-customs.sh&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=div&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Spamassassin auto updater with custom channels&lt;br /&gt;
# First import key 6C6191E3 :&lt;br /&gt;
#  wget http://yerp.org/rules/GPG.KEY&lt;br /&gt;
#  sa-update --import GPG.KEY&lt;br /&gt;
SAUPD=/usr/local/bin/sa-update&lt;br /&gt;
$SAUPD --channel updates.spamassassin.org --updatedir /usr/mailcleaner/share/spamassassin &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
$SAUPD --gpgkey 6C6191E3 --channel sought.rules.yerp.org --updatedir /usr/mailcleaner/share/spamassassin &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
$SAUPD -v &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
wget http://www.pccc.com/downloads/SpamAssassin/contrib/KAM.cf &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
mv -f KAM.cf /usr/mailcleaner/share/spamassassin/KAM.cf&lt;br /&gt;
/usr/mailcleaner/etc/init.d/mailscanner restart&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
sans oublier&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chmod 755 /opt/mailcleaner/scripts/sa-update-customs.sh&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
et créer un lien dans cron.daily vers le script et paramétrer logrotate pour archiver /var/log/sa-update.log.&lt;br /&gt;
&lt;br /&gt;
Modifier également /usr/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf :&lt;br /&gt;
  bayes_auto_learn 1&lt;br /&gt;
  bayes_auto_learn_threshold_spam 7.0&lt;br /&gt;
  bayes_auto_learn_threshold_nonspam -0.1&lt;br /&gt;
&lt;br /&gt;
== Règles custom Clamav (Clamspam) ==&lt;br /&gt;
Clamav est installé et lancé après l'installation de base, mais Clamspam ne démarre pas par défaut car il n'a pas de base. On va charger les bases custom.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;aptitude install rsync gnupg curl socat gzip dnsutils&lt;br /&gt;
mkdir -p /opt/mailcleaner/sanesecurity/cache&lt;br /&gt;
cd /opt/mailcleaner/install&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Vérifier la dernière version du script sur http://downloads.sourceforge.net/project/unofficial-sigs/files&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;wget http://downloads.sourceforge.net/project/unofficial-sigs/clamav-unofficial-sigs-3.7.2.tar.gz&lt;br /&gt;
tar -xvzf clamav-unofficial-sigs-3.7.2.tar.gz&lt;br /&gt;
cd /opt/mailcleaner/scripts&lt;br /&gt;
cp /opt/mailcleaner/install/clamav-unofficial-sigs-3.7.2/clamav-unofficial-sigs.sh .&lt;br /&gt;
cp /opt/mailcleaner/install/clamav-unofficial-sigs-3.7.2/clamav-unofficial-sigs.conf .&lt;br /&gt;
chmod 755 clamav-unofficial-sigs.sh&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modifier clamav-unofficial-sigs.sh :&lt;br /&gt;
  default_config=&amp;quot;/opt/mailcleaner/scripts/clamav-unofficial-sigs.conf&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Modifier les options suivantes dans clamav-unofficial-sigs.conf :&lt;br /&gt;
  PATH=&amp;quot;/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/clamav/bin&amp;quot;&lt;br /&gt;
  clam_dbs=&amp;quot;/var/mailcleaner/spool/clamspam&amp;quot;&lt;br /&gt;
  clamd_pid=&amp;quot;/var/mailcleaner/run/clamav/clamspamd.pid&amp;quot;&lt;br /&gt;
  reload_dbs=&amp;quot;yes&amp;quot;&lt;br /&gt;
  #reload_opt=&amp;quot;clamdscan --reload&amp;quot; # Commenter cette ligne&lt;br /&gt;
  reload_opt=&amp;quot;/usr/mailcleaner/etc/init.d/clamspamd restart&amp;quot; # et ajouter celle-ci&lt;br /&gt;
  clamd_socket=&amp;quot;/var/mailcleaner/run/clamav/clamspamd.sock&amp;quot;&lt;br /&gt;
  work_dir=&amp;quot;/opt/mailcleaner/share/sanesecurity/cache&amp;quot;   #Top level working directory&lt;br /&gt;
  user_configuration_complete=&amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Lancer le script une première fois, afin qu'il crée ses répertoires, ses fichiers de bases et fasse une première synchronisation.&lt;br /&gt;
&lt;br /&gt;
Créer un lien pour un lancement journalier (ou dans cron.hourly si on veut un update toutes les heures !):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;ln -s /opt/mailcleaner/scripts/clamav-unofficial-sigs.sh /etc/cron.daily/clamav-unofficial-sigs&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Scores Fuzzy ==&lt;br /&gt;
Fuzzy a une fâcheuse tendance à générer quelques faux-positifs. Notamment, la règle de vérification des types d'images boucle sur chaque image du mail, et si elle buggue (image non reconnue par rapport à son extension) pour une raison ou une autre, le score s’additionne pour chaque image. ça peut aller vite !&lt;br /&gt;
&lt;br /&gt;
Donc, on baisse au moins ce score. Dans /etc/mailscanner/FuzzyOcr.cf_template (qui reconstruit /usr/mailcleaner/share/spamassassin/FuzzyOcr.cf à chaque redémarrage de mailcleaner) modifier :&lt;br /&gt;
 focr_wrongext_score '''0.1'''&lt;br /&gt;
Relancer mailcleaner&lt;br /&gt;
 service mailcleaner restart&lt;br /&gt;
&lt;br /&gt;
== Whitelist / blacklist manuelles ==&lt;br /&gt;
* Pour Spamassassin&lt;br /&gt;
Il est possible d'ajouter des filtres, par exemple une whitelist/blacklist manuelle : /usr/mailcleaner/share/spamassassin/lists-custom.cf de ce format :&lt;br /&gt;
  whitelist_from          *.gooddomain.fr&lt;br /&gt;
  blacklist_from          *.baddomain.fr&lt;br /&gt;
  blacklist_from          mail@baddomain.fr&lt;br /&gt;
Et ne pas oublier :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chown mailcleaner.mailcleaner /usr/mailcleaner/share/spamassassin/lists-custom.cf&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Pour Greylistd pour les services utilisant plusieurs IPs (Google, Outlook...)&lt;br /&gt;
Ajouter un fichier /usr/mailcleaner/etc/greylistd/whitelist-hosts&lt;br /&gt;
 # Google&lt;br /&gt;
 209.85.128.0/17&lt;br /&gt;
 &lt;br /&gt;
 # Outlook.com / MS&lt;br /&gt;
 207.46.0.0/16 &lt;br /&gt;
 &lt;br /&gt;
 # Yahoo.com&lt;br /&gt;
 216.109.112.0/20&lt;br /&gt;
 216.39.48.0/20&lt;br /&gt;
 98.136.0.0/14&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mise en cluster ==&lt;br /&gt;
sur les 2 serveurs :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;cat /etc/mailcleaner.conf | grep PWD&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
pour avoir les mots de passes des bases respectives.&lt;br /&gt;
&lt;br /&gt;
Sur master :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/mailcleaner/scripts/configuration/slaves.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  1) change host settings (donner l'IP de ce serveur)&lt;br /&gt;
  4) add a slave (donner l'IP du serveur SLAVE)&lt;br /&gt;
Sur slave :&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Warning|BUG !!!! Un des scripts n'est pas exécutable !}}&lt;br /&gt;
&lt;br /&gt;
Commencer par :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chmod 755 /usr/mailcleaner/bin/resync_db.sh&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Et lancer :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/mailcleaner/scripts/configuration/slaves.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  1) change host settings (donner l'IP de ce serveur)&lt;br /&gt;
  5) set this host as a slave (donner l'IP du serveur MAITRE)&lt;br /&gt;
&lt;br /&gt;
== Mises à jour ==&lt;br /&gt;
Commencer par un snapshot de la VM !!&lt;br /&gt;
&lt;br /&gt;
Vérifier la version en cours de chacun des serveurs dans monitoring/status&lt;br /&gt;
&lt;br /&gt;
Vérifier la dernière version ici : http://www.mailcleaner.org/doku.php/downloads:latest&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aptitude update&lt;br /&gt;
aptitude safe-upgrade&lt;br /&gt;
cd /usr/mailcleaner&lt;br /&gt;
cvs -q update -dP&lt;br /&gt;
source lib/updates/update_binaries.sh&lt;br /&gt;
stabilizeBinaries&lt;br /&gt;
install/install_perl_libs.sh&lt;br /&gt;
install/install_sa.sh&lt;br /&gt;
/usr/mailcleaner/bin/check_db.pl --update&lt;br /&gt;
/etc/init.d/mailcleaner restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Ancienne méthode&lt;br /&gt;
cd /usr/mailcleaner&lt;br /&gt;
cvs update -dP updates # noter les numéros de patchs téléchargés&lt;br /&gt;
bin/apply_update.sh &amp;lt;PATCHNUMBER&amp;gt; # ne renvoit rien si OK&lt;br /&gt;
Vérifier le patch appliqué dans &amp;quot;Monitoring&amp;quot; / &amp;quot;status&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Mutualisation&amp;quot; de Mailcleaner =&lt;br /&gt;
On entend par là, faire profiter d'autres boîtes mails du filtrage de Mailcleaner. Pour ça rien de plus simple :&lt;br /&gt;
 apt-get install fetchmail&lt;br /&gt;
Créer un fichier /etc/fetchmailrc avec par exemple :&lt;br /&gt;
 defaults&lt;br /&gt;
 proto pop3&lt;br /&gt;
 set logfile &amp;quot;/var/log/fetchmaillog&amp;quot;&lt;br /&gt;
 set daemon 300&lt;br /&gt;
 &lt;br /&gt;
 # Fetchmail config&lt;br /&gt;
 poll pop3.remotedomain.com with proto POP3&lt;br /&gt;
    user &amp;quot;mymail@remotedomain.com&amp;quot; with password &amp;quot;MON_PASS&amp;quot; is user@domainknownbyMC.com here&lt;br /&gt;
    smtphost &amp;quot;localhost&amp;quot; smtpname &amp;quot;user@domainknownbyMC.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 touch /var/log/fetchmaillog&lt;br /&gt;
 chown fetchmail /var/log/fetchmaillog&lt;br /&gt;
 update-rc.d enable fetchmail&lt;br /&gt;
 service fetchmail start&lt;br /&gt;
&lt;br /&gt;
= Validation de l'intallation =&lt;br /&gt;
on peut tirer profit d'un scan complet chez MXTOOLBOX&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;https://mxtoolbox.com/domain/serveurmx.domaine.fr&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TIPS =&lt;br /&gt;
* Le slave n'a peut-être pas le bon nom de host pour la bannière SMTP. Dans /etc/mailcleaner.conf, si la ligne n'y est pas, ajouter :&lt;br /&gt;
 HELONAME = mx2.domaine.fr&lt;br /&gt;
Puis relancer (par l'interface) le &amp;quot;incoming MTA&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* /opt/mailcleaner/scripts/configuration/set_ip_config.sh pour changer l'ip du système&lt;br /&gt;
&lt;br /&gt;
* Changer le nom d'hôte : modifier dans /etc/hosts, /etc/hostname, et lancer /etc/init.d/hostname.sh&lt;br /&gt;
&lt;br /&gt;
* sur serveur SLAVE, si le message :&lt;br /&gt;
&lt;br /&gt;
 failed to open /var/mailcleaner/spool/tmp/mailcleaner/domains.list for linear search: No such file or directory&lt;br /&gt;
&lt;br /&gt;
apparaît, lancer :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/mailcleaner/bin/dump_domains.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Test des règles de spam :&lt;br /&gt;
  /usr/mailcleaner/bin/is_spam.sh -D source-mail.eml&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=MailCleaner:_installation_et_configuration&amp;diff=6621</id>
		<title>MailCleaner: installation et configuration</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=MailCleaner:_installation_et_configuration&amp;diff=6621"/>
				<updated>2018-06-07T14:53:46Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Filtre Bayes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Warning|UPDATE 01/2015 : les listes RHSBL* n'existe plus. Ne pas la cocher si elle apparaît encore dans les menus}}&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
{{Note|Le site communautaire est accessible sur http://www.mailcleaner.org. Le site commercial sur http://www.mailcleaner.net}}&lt;br /&gt;
Télécharger l'image :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;wget http://www.mailcleaner.org/downloads/mailcleaner_community_2012v6_64bit.iso&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Booter sur l'iso ou donner l'iso comme périphérique de démarrage si c'est une VM. L'installation se lance automatiquement.&lt;br /&gt;
&lt;br /&gt;
Aprés le 1er reboot, configuration de base en ligne de commande :&lt;br /&gt;
  1 keyboard&lt;br /&gt;
  2 root passwd&lt;br /&gt;
  3 network&lt;br /&gt;
  4 MC Install/Reinstall&lt;br /&gt;
Passer les points dans l'ordre pour arriver au 4 : configuration, création des bases.\\ &lt;br /&gt;
Donner un ID unique par machine pouvant faire partie d'un cluster (voir plus bas).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Warning|BUG : en cas d'erreurs mysql, laisser l'installation se terminer (jusqu'à &amp;quot;starting services...&amp;quot;)}}&lt;br /&gt;
En effet, l'installateur n'attend pas - pour une raison inconnue - la fin de création des bases de données avant de continuer (notamment sur serveur virtualisé), et ne peut donc pas créer ses tables !\\ &lt;br /&gt;
Dans ce cas, se connecter en ssh et forcer l'arrêt du script qui reste bloqué sur &amp;quot;starting services...&amp;quot;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;ps -ef | grep install&lt;br /&gt;
kill &amp;lt;pid des processus *install*&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
puis :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;aptitude update&lt;br /&gt;
aptitude safe-upgrade #(répondre yes et yes)&lt;br /&gt;
cd /usr/mailcleaner&lt;br /&gt;
cvs -q update -dP&lt;br /&gt;
source lib/updates/update_binaries.sh&lt;br /&gt;
stabilizeBinaries&lt;br /&gt;
cd install&lt;br /&gt;
/opt/mysql5/bin/mysqladmin -S /var/mailcleaner/run/mysql_master/mysqld.sock -u root password 'new-password'&lt;br /&gt;
/opt/mysql5/bin/mysqladmin -S /var/mailcleaner/run/mysql_slave/mysqld.sock -u root password 'new-password'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
par sécurité éditer ./MC_prepare_dbs.sh, aux alentour de la ligne 124 modifier :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_slave/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&lt;br /&gt;
/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_master/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
par&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_slave/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&lt;br /&gt;
sleep 5&lt;br /&gt;
/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_master/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&lt;br /&gt;
sleep 5&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
puis continuer l'installation :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;./MC_prepare_dbs.sh # donner le mdp root mysql&lt;br /&gt;
/usr/mailcleaner/bin/check_db.pl --update&lt;br /&gt;
/usr/mailcleaner/bin/dump_apache_config.pl&lt;br /&gt;
/etc/init.d/mailcleaner restart&lt;br /&gt;
/usr/mailcleaner/bin/collect_rrd_stats.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
si problème de connexion en admin au webui :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/opt/mysql5/bin/mysql -S /var/mailcleaner/run/mysql_master/mysqld.sock -uroot -p mc_config&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  mysql&amp;gt; update administrator set password=ENCRYPT('new-password') where username='admin';&lt;br /&gt;
Première connexion :&lt;br /&gt;
  https://mailcleaner.domain.fr/admin&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
== Système ==&lt;br /&gt;
Commencer par passer en revue l'intégralité de la configuration&lt;br /&gt;
  * Configuration / General settings : passer le GUI en français + adresses mails, décocher &amp;quot;Display domain selector&amp;quot;, remplir Company&lt;br /&gt;
  * Configuration / Domains&lt;br /&gt;
    * Domain default settings : paramétrer emails dans general,  preferences, activer greylist dans filtering&lt;br /&gt;
  * SMTP&lt;br /&gt;
    * SMTP checks : activer les 4 RBLs&lt;br /&gt;
  * Anti-spam&lt;br /&gt;
    * Enable access to whitelist&lt;br /&gt;
    * NiceBayes enable module, désactiver decisive (voir [[#bayes|Filtres Bayes]] pour modifier le score que NiceNayes doit ajouter à spamassassin)&lt;br /&gt;
    * preRBLSs enable module, activer listes ips.backscatterer.org et dsn.bl.rfc-ignorant.de&lt;br /&gt;
    * UriRBLs enable module, activer les 3 listes&lt;br /&gt;
    * spamc enable DCC Razor Pyzor, décocher DKIM control&lt;br /&gt;
  * Services / web interfaces&lt;br /&gt;
    * changer le nom URL&lt;br /&gt;
    * enable SSL, ajouter certificats (cat /usr/mailcleaner/etc/apache/certs/certificate.pem, copier la partie KEY (avec BEGIN RSA PRIVATE KEY et END) dans private key et le reste (avec BEGIN CERTIFICATE et END) dansSSL certificate)&lt;br /&gt;
  * Monitoring/status (ou en cliquant dans le message en haut)&lt;br /&gt;
    * redémarrer les services qui doivent l'être&lt;br /&gt;
&lt;br /&gt;
Rebooter une fois. Si l'installateur redémarre après boot (au lieu d'arriver sur la demande de login), sortir (5), lancer :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;update-rc.d -f z_installmc remove&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
pour le désactiver au prochain redémarrage.&lt;br /&gt;
&lt;br /&gt;
== RBLs ==&lt;br /&gt;
&lt;br /&gt;
  * soit niveau SMTP -&amp;gt; rejetés&lt;br /&gt;
  * soit niveau PreRBLS -&amp;gt; quarantaine&lt;br /&gt;
  * soit niveau Spamc -&amp;gt; inclu dans la décision de tag spam&lt;br /&gt;
Attention à ne pas cocher les même RBLs à ces différents niveaux, ça ne servirait à rien et ralentirait le filtrage.&lt;br /&gt;
== Whitelists/blacklists ==&lt;br /&gt;
  * Whitelists :&lt;br /&gt;
    * Config/Anti-spam/Enable access to whitelist : c'est une whitelist générale (pour tous les domaines), mais il faut aussi qu'elle soit activée pour que les whitelists par domain apparaissent&lt;br /&gt;
    * Config/Domains/&amp;lt;nom de domain&amp;gt;/filtering/Enable whitelist&lt;br /&gt;
&lt;br /&gt;
  * Blacklists :&lt;br /&gt;
    * Config/SMTP/Connection control&lt;br /&gt;
Voir aussi plus bas : whitelists / blacklists manuelles.&lt;br /&gt;
== Quarantaine ==&lt;br /&gt;
Quarantaine/ Rapport de quarantaine :&lt;br /&gt;
  * Domains/&amp;lt;nom de domaine&amp;gt;/preferences&lt;br /&gt;
voir aussi les preferences par défaut dans &amp;quot;Domain default settings&amp;quot;/&amp;quot;preferences&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Ajout d'un domaine à relayer ==&lt;br /&gt;
&amp;quot;Domains&amp;quot; / &amp;quot;New domain&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Paramétrer le serveur destinataire dans &amp;quot;delivery&amp;quot;, cliquer &amp;quot;submit&amp;quot; et tester la destination.&lt;br /&gt;
&lt;br /&gt;
Paramétrer &amp;quot;address verification&amp;quot; : smtp, donner IPip du serveur destinataire, cliquer &amp;quot;submit&amp;quot; et &amp;quot;tester&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Améliorations ==&lt;br /&gt;
=== transfert de règles sa-learn ===&lt;br /&gt;
Sur l'ancien serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;sa-learn --backup &amp;gt; regles.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Sur le serveur Mailcleaner :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;sa-learn -p /opt/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /opt/mailcleaner/share/spamassassin --restore regles.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;bayes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Filtre Bayes ==&lt;br /&gt;
Le filtre est désactivé car aucune base n'est créée par défaut. Dans l'entête des mails on voit :&lt;br /&gt;
  NiceBayes disabled (no database ?)&lt;br /&gt;
Le principe est de déclarer une boîte aux lettres dédiée aux spams / hams, scannée par un script tous les jours pour alimenter la base. Installer la librairie nécessaire :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;apt-get install libmail-imapclient-perl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Créer un script /opt/mailcleaner/scripts/gethamspam.sh :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=div&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# copy the old database to a timestamped copy&lt;br /&gt;
TIMESTAMP=$(date +%d)&lt;br /&gt;
REPORT_EMAIL=admin@domain.com&lt;br /&gt;
&lt;br /&gt;
# backup Spamassassin bayes db&lt;br /&gt;
sa-learn -p /opt/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /opt/mailcleaner/share/spamassassin --backup &amp;gt;/var/mailcleaner/spool/spamassassin/spamass_rules.bak&lt;br /&gt;
# backup Bogofilter bayes db&lt;br /&gt;
cp -a /root/.bogofilter/wordlist.db &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db&amp;quot;&lt;br /&gt;
if [ -f &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db.gz&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
   rm -f &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db.gz&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
gzip &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# get the spam and ham from the imap mailbox for the spamassassin and bogofilter db's&lt;br /&gt;
/opt/mailcleaner/scripts/imap-sa-learn.pl&lt;br /&gt;
if [ $? -ne 0 ]&lt;br /&gt;
then&lt;br /&gt;
    (&lt;br /&gt;
      echo &amp;quot;Subject: Bogofilter database update $(hostname) failed&amp;quot;&lt;br /&gt;
      ls -l /var/mailcleaner/spool/bogofilter/database/&lt;br /&gt;
      ) | /usr/sbin/sendmail $REPORT_EMAIL&lt;br /&gt;
    exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# copy the database to the right location&lt;br /&gt;
cp /root/.bogofilter/wordlist.db /var/mailcleaner/spool/bogofilter/database/wordlist.db&lt;br /&gt;
# If slave(s) Mailcleaner exists, ssh copy db to the slave(s)&lt;br /&gt;
scp /root/.bogofilter/wordlist.db mailcleaner2.domain.com:/var/mailcleaner/spool/bogofilter/database/&lt;br /&gt;
# Copy the backup of spamassasin rules on slave(s). It must then be applied on it by --restore.&lt;br /&gt;
scp /var/mailcleaner/spool/spamassassin/spamass_rules.bak mailcleaner2.domain.com:/var/mailcleaner/spool/spamassassin/&lt;br /&gt;
&lt;br /&gt;
# get the spam and ham counts from bogofilter - this just prints how many spam and ham you collected so far...&lt;br /&gt;
/opt/bogofilter/bin/bogoutil -w /var/mailcleaner/spool/bogofilter/database/wordlist.db .MSG_COUNT&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Sans oublier&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chmod 755 /opt/mailcleaner/scripts/gethamspam.sh&lt;br /&gt;
chmod 755 /opt/mailcleaner/scripts/imap-sa-learn.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il appelle /opt/mailcleaner/scripts/imap-sa-learn.pl (http://forum.mailcleaner.org/viewtopic.php?f=3&amp;amp;t=836, voir aussi http://www.gagravarr.org/code). Le script crée une base /root/.bogofilter/wordlist.db et la copie dans /var/mailcleaner/spool/bogofilter/database. Il semble que les 2 emplacements soient nécessaires (à vérifier à l'occasion).&lt;br /&gt;
&lt;br /&gt;
{{Note|PENSER a changer le propriétaire de  /var/mailcleaner/spool/bogofilter/database/wordlist.db pour que mailcleaner puisse le modifier!&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chown mailcleaner:mailcleaner /var/mailcleaner/spool/bogofilter/database/wordlist.db&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
Créer un fichier dans cron.d (appelé gethamspam sans &amp;quot;.sh&amp;quot; car cron ne prend pas toujours)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# cron-jobs for bayes bogofilter database&lt;br /&gt;
#&lt;br /&gt;
MAILTO=root&lt;br /&gt;
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin&lt;br /&gt;
00 06 * * *	root /opt/mailcleaner/scripts/gethamspam.sh &amp;gt;&amp;gt; /var/log/gethamspam.log 2&amp;gt;&amp;amp;1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Paramétrer logrotate pour archiver /var/log/gethamspam.log : créer /etc/logrotate.d/gethamspam contenant :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash enclose=div&amp;gt;/var/log/gethamspam.log {&lt;br /&gt;
	weekly&lt;br /&gt;
	rotate 3&lt;br /&gt;
	compress&lt;br /&gt;
	nomail&lt;br /&gt;
	notifempty&lt;br /&gt;
	missingok&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SLAVE : si des Mailcleaner de secours sont en cluster avec celui-ci, une fois les bases copiées par le script, il faut les traiter.&lt;br /&gt;
* la base Bogofilter n'a pas besoin d'intervention&lt;br /&gt;
* la base Spamassassin doit être restaurée sur le slave, par exemple par un script de ce genre :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=div&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
if [ -f /var/mailcleaner/spool/spamassassin/spambayes.tgz ]&lt;br /&gt;
then&lt;br /&gt;
  rm -f /var/mailcleaner/spool/spamassassin/spambayes.tgz&lt;br /&gt;
  tar -cvf /var/mailcleaner/spool/spamassassin/spambayes.tgz /var/mailcleaner/spool/spamassassin/bayes*&lt;br /&gt;
fi&lt;br /&gt;
if [ -f /var/mailcleaner/spool/spamassassin/spamass_rules.bak ]&lt;br /&gt;
then&lt;br /&gt;
  sa-learn -p /usr/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /usr/mailcleaner/share/spamassassin --restore /var/mailcleaner/spool/spamassassin/spamass_rules.bak&lt;br /&gt;
  rm -f /var/mailcleaner/spool/spamassassin/spamass_rules.bak&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Activer le module dans l'interface. Le déclarer '''non décisif'''. Il doit faire partie du score de spamassassin mais pas plus, sinon il y a trop de faux-positifs.&lt;br /&gt;
&lt;br /&gt;
Pour l'intégrer à spamassassin, créer une règle (dans un fichier xxxxx.cf à créer dans /usr/share/mailcleaner/share/spamassassin) :&lt;br /&gt;
  # Custom rules&lt;br /&gt;
  header LOCAL_NICEBAYES_HEADER    X-NiceBayes =~ /is spam/&lt;br /&gt;
  describe LOCAL_NICEBAYES_HEADER  NiceBayes header detected&lt;br /&gt;
  score LOCAL_NICEBAYES_HEADER     1.5&lt;br /&gt;
&lt;br /&gt;
== Règles custom spamassassin ==&lt;br /&gt;
Modifier la configuration de sa-update (procédure selon ces préconisation (ajout de channels, surtout) :&lt;br /&gt;
  * http://forum.mailcleaner.org/viewtopic.php?f=15&amp;amp;t=964&lt;br /&gt;
  * http://forum.mailcleaner.org/viewtopic.php?f=3&amp;amp;t=1776)&lt;br /&gt;
Pour commencer, créer les répertoires, importer les clés spamassassin et les règles updates en une seul commande :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/local/bin/sa-update -v&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Intégrer la clé GPG du canal Sought :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;wget http://yerp.org/rules/GPG.KEY&lt;br /&gt;
/usr/local/bin/sa-update --import GPG.KEY&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
créer /opt/mailcleaner/scripts/sa-update-customs.sh&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=div&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Spamassassin auto updater with custom channels&lt;br /&gt;
# First import key 6C6191E3 :&lt;br /&gt;
#  wget http://yerp.org/rules/GPG.KEY&lt;br /&gt;
#  sa-update --import GPG.KEY&lt;br /&gt;
SAUPD=/usr/local/bin/sa-update&lt;br /&gt;
$SAUPD --channel updates.spamassassin.org --updatedir /usr/mailcleaner/share/spamassassin &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
$SAUPD --gpgkey 6C6191E3 --channel sought.rules.yerp.org --updatedir /usr/mailcleaner/share/spamassassin &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
$SAUPD -v &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
wget http://www.pccc.com/downloads/SpamAssassin/contrib/KAM.cf &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
mv -f KAM.cf /usr/mailcleaner/share/spamassassin/KAM.cf&lt;br /&gt;
/usr/mailcleaner/etc/init.d/mailscanner restart&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
sans oublier&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chmod 755 /opt/mailcleaner/scripts/sa-update-customs.sh&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
et créer un lien dans cron.daily vers le script et paramétrer logrotate pour archiver /var/log/sa-update.log.&lt;br /&gt;
&lt;br /&gt;
Modifier également /usr/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf :&lt;br /&gt;
  bayes_auto_learn 1&lt;br /&gt;
  bayes_auto_learn_threshold_spam 7.0&lt;br /&gt;
  bayes_auto_learn_threshold_nonspam -0.1&lt;br /&gt;
&lt;br /&gt;
== Règles custom Clamav (Clamspam) ==&lt;br /&gt;
Clamav est installé et lancé après l'installation de base, mais Clamspam ne démarre pas par défaut car il n'a pas de base. On va charger les bases custom.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;aptitude install rsync gnupg curl socat gzip dnsutils&lt;br /&gt;
mkdir -p /opt/mailcleaner/sanesecurity/cache&lt;br /&gt;
cd /opt/mailcleaner/install&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Vérifier la dernière version du script sur http://downloads.sourceforge.net/project/unofficial-sigs/files&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;wget http://downloads.sourceforge.net/project/unofficial-sigs/clamav-unofficial-sigs-3.7.2.tar.gz&lt;br /&gt;
tar -xvzf clamav-unofficial-sigs-3.7.2.tar.gz&lt;br /&gt;
cd /opt/mailcleaner/scripts&lt;br /&gt;
cp /opt/mailcleaner/install/clamav-unofficial-sigs-3.7.2/clamav-unofficial-sigs.sh .&lt;br /&gt;
cp /opt/mailcleaner/install/clamav-unofficial-sigs-3.7.2/clamav-unofficial-sigs.conf .&lt;br /&gt;
chmod 755 clamav-unofficial-sigs.sh&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modifier clamav-unofficial-sigs.sh :&lt;br /&gt;
  default_config=&amp;quot;/opt/mailcleaner/scripts/clamav-unofficial-sigs.conf&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Modifier les options suivantes dans clamav-unofficial-sigs.conf :&lt;br /&gt;
  PATH=&amp;quot;/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/clamav/bin&amp;quot;&lt;br /&gt;
  clam_dbs=&amp;quot;/var/mailcleaner/spool/clamspam&amp;quot;&lt;br /&gt;
  clamd_pid=&amp;quot;/var/mailcleaner/run/clamav/clamspamd.pid&amp;quot;&lt;br /&gt;
  reload_dbs=&amp;quot;yes&amp;quot;&lt;br /&gt;
  #reload_opt=&amp;quot;clamdscan --reload&amp;quot; # Commenter cette ligne&lt;br /&gt;
  reload_opt=&amp;quot;/usr/mailcleaner/etc/init.d/clamspamd restart&amp;quot; # et ajouter celle-ci&lt;br /&gt;
  clamd_socket=&amp;quot;/var/mailcleaner/run/clamav/clamspamd.sock&amp;quot;&lt;br /&gt;
  work_dir=&amp;quot;/opt/mailcleaner/share/sanesecurity/cache&amp;quot;   #Top level working directory&lt;br /&gt;
  user_configuration_complete=&amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Lancer le script une première fois, afin qu'il crée ses répertoires, ses fichiers de bases et fasse une première synchronisation.&lt;br /&gt;
&lt;br /&gt;
Créer un lien pour un lancement journalier (ou dans cron.hourly si on veut un update toutes les heures !):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;ln -s /opt/mailcleaner/scripts/clamav-unofficial-sigs.sh /etc/cron.daily/clamav-unofficial-sigs&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Scores Fuzzy ==&lt;br /&gt;
Fuzzy a une fâcheuse tendance à générer quelques faux-positifs. Notamment, la règle de vérification des types d'images boucle sur chaque image du mail, et si elle buggue (image non reconnue par rapport à son extension) pour une raison ou une autre, le score s’additionne pour chaque image. ça peut aller vite !&lt;br /&gt;
&lt;br /&gt;
Donc, on baisse au moins ce score. Dans /etc/mailscanner/FuzzyOcr.cf_template (qui reconstruit /usr/mailcleaner/share/spamassassin/FuzzyOcr.cf à chaque redémarrage de mailcleaner) modifier :&lt;br /&gt;
 focr_wrongext_score '''0.1'''&lt;br /&gt;
Relancer mailcleaner&lt;br /&gt;
 service mailcleaner restart&lt;br /&gt;
&lt;br /&gt;
== Whitelist / blacklist manuelles ==&lt;br /&gt;
* Pour Spamassassin&lt;br /&gt;
Il est possible d'ajouter des filtres, par exemple une whitelist/blacklist manuelle : /usr/mailcleaner/share/spamassassin/lists-custom.cf de ce format :&lt;br /&gt;
  whitelist_from          *.gooddomain.fr&lt;br /&gt;
  blacklist_from          *.baddomain.fr&lt;br /&gt;
  blacklist_from          mail@baddomain.fr&lt;br /&gt;
Et ne pas oublier :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chown mailcleaner.mailcleaner /usr/mailcleaner/share/spamassassin/lists-custom.cf&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Pour Greylistd pour les services utilisant plusieurs IPs (Google, Outlook...)&lt;br /&gt;
Ajouter un fichier /usr/mailcleaner/etc/greylistd/whitelist-hosts&lt;br /&gt;
 # Google&lt;br /&gt;
 209.85.128.0/17&lt;br /&gt;
 &lt;br /&gt;
 # Outlook.com / MS&lt;br /&gt;
 207.46.0.0/16 &lt;br /&gt;
 &lt;br /&gt;
 # Yahoo.com&lt;br /&gt;
 216.109.112.0/20&lt;br /&gt;
 216.39.48.0/20&lt;br /&gt;
 98.136.0.0/14&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mise en cluster ==&lt;br /&gt;
sur les 2 serveurs :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;cat /etc/mailcleaner.conf | grep PWD&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
pour avoir les mots de passes des bases respectives.&lt;br /&gt;
&lt;br /&gt;
Sur master :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/mailcleaner/scripts/configuration/slaves.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  1) change host settings (donner l'IP de ce serveur)&lt;br /&gt;
  4) add a slave (donner l'IP du serveur SLAVE)&lt;br /&gt;
Sur slave :&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Warning|BUG !!!! Un des scripts n'est pas exécutable !}}&lt;br /&gt;
&lt;br /&gt;
Commencer par :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chmod 755 /usr/mailcleaner/bin/resync_db.sh&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Et lancer :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/mailcleaner/scripts/configuration/slaves.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  1) change host settings (donner l'IP de ce serveur)&lt;br /&gt;
  5) set this host as a slave (donner l'IP du serveur MAITRE)&lt;br /&gt;
&lt;br /&gt;
== Mises à jour ==&lt;br /&gt;
Commencer par un snapshot de la VM !!&lt;br /&gt;
&lt;br /&gt;
Vérifier la version en cours de chacun des serveurs dans monitoring/status&lt;br /&gt;
&lt;br /&gt;
Vérifier la dernière version ici : http://www.mailcleaner.org/doku.php/downloads:latest&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aptitude update&lt;br /&gt;
aptitude safe-upgrade&lt;br /&gt;
cd /usr/mailcleaner&lt;br /&gt;
cvs -q update -dP&lt;br /&gt;
source lib/updates/update_binaries.sh&lt;br /&gt;
stabilizeBinaries&lt;br /&gt;
install/install_perl_libs.sh&lt;br /&gt;
install/install_sa.sh&lt;br /&gt;
/usr/mailcleaner/bin/check_db.pl --update&lt;br /&gt;
/etc/init.d/mailcleaner restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Ancienne méthode&lt;br /&gt;
cd /usr/mailcleaner&lt;br /&gt;
cvs update -dP updates # noter les numéros de patchs téléchargés&lt;br /&gt;
bin/apply_update.sh &amp;lt;PATCHNUMBER&amp;gt; # ne renvoit rien si OK&lt;br /&gt;
Vérifier le patch appliqué dans &amp;quot;Monitoring&amp;quot; / &amp;quot;status&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Mutualisation&amp;quot; de Mailcleaner =&lt;br /&gt;
On entend par là, faire profiter d'autres boîtes mails du filtrage de Mailcleaner. Pour ça rien de plus simple :&lt;br /&gt;
 apt-get install fetchmail&lt;br /&gt;
Créer un fichier /etc/fetchmailrc avec par exemple :&lt;br /&gt;
 defaults&lt;br /&gt;
 proto pop3&lt;br /&gt;
 set logfile &amp;quot;/var/log/fetchmaillog&amp;quot;&lt;br /&gt;
 set daemon 300&lt;br /&gt;
 &lt;br /&gt;
 # Fetchmail config&lt;br /&gt;
 poll pop3.remotedomain.com with proto POP3&lt;br /&gt;
    user &amp;quot;mymail@remotedomain.com&amp;quot; with password &amp;quot;MON_PASS&amp;quot; is user@domainknownbyMC.com here&lt;br /&gt;
    smtphost &amp;quot;localhost&amp;quot; smtpname &amp;quot;user@domainknownbyMC.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 touch /var/log/fetchmaillog&lt;br /&gt;
 chown fetchmail /var/log/fetchmaillog&lt;br /&gt;
 update-rc.d enable fetchmail&lt;br /&gt;
 service fetchmail start&lt;br /&gt;
&lt;br /&gt;
= Validation de l'intallation =&lt;br /&gt;
on peut tirer profit d'un scan complet chez MXTOOLBOX&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;https://mxtoolbox.com/domain/serveurmx.domaine.fr&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TIPS =&lt;br /&gt;
* Le slave n'a peut-être pas le bon nom de host pour la bannière SMTP. Dans /etc/mailcleaner.conf, si la ligne n'y est pas, ajouter :&lt;br /&gt;
 HELONAME = mx2.domaine.fr&lt;br /&gt;
Puis relancer (par l'interface) le &amp;quot;incoming MTA&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* /opt/mailcleaner/scripts/configuration/set_ip_config.sh pour changer l'ip du système&lt;br /&gt;
&lt;br /&gt;
* Changer le nom d'hôte : modifier dans /etc/hosts, /etc/hostname, et lancer /etc/init.d/hostname.sh&lt;br /&gt;
&lt;br /&gt;
* sur serveur SLAVE, si le message :&lt;br /&gt;
&lt;br /&gt;
 failed to open /var/mailcleaner/spool/tmp/mailcleaner/domains.list for linear search: No such file or directory&lt;br /&gt;
&lt;br /&gt;
apparaît, lancer :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/mailcleaner/bin/dump_domains.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Test des règles de spam :&lt;br /&gt;
  /usr/mailcleaner/bin/is_spam.sh -D source-mail.eml&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=MailCleaner:_installation_et_configuration&amp;diff=6620</id>
		<title>MailCleaner: installation et configuration</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=MailCleaner:_installation_et_configuration&amp;diff=6620"/>
				<updated>2018-06-07T14:53:04Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Filtre Bayes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Warning|UPDATE 01/2015 : les listes RHSBL* n'existe plus. Ne pas la cocher si elle apparaît encore dans les menus}}&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
{{Note|Le site communautaire est accessible sur http://www.mailcleaner.org. Le site commercial sur http://www.mailcleaner.net}}&lt;br /&gt;
Télécharger l'image :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;wget http://www.mailcleaner.org/downloads/mailcleaner_community_2012v6_64bit.iso&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Booter sur l'iso ou donner l'iso comme périphérique de démarrage si c'est une VM. L'installation se lance automatiquement.&lt;br /&gt;
&lt;br /&gt;
Aprés le 1er reboot, configuration de base en ligne de commande :&lt;br /&gt;
  1 keyboard&lt;br /&gt;
  2 root passwd&lt;br /&gt;
  3 network&lt;br /&gt;
  4 MC Install/Reinstall&lt;br /&gt;
Passer les points dans l'ordre pour arriver au 4 : configuration, création des bases.\\ &lt;br /&gt;
Donner un ID unique par machine pouvant faire partie d'un cluster (voir plus bas).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Warning|BUG : en cas d'erreurs mysql, laisser l'installation se terminer (jusqu'à &amp;quot;starting services...&amp;quot;)}}&lt;br /&gt;
En effet, l'installateur n'attend pas - pour une raison inconnue - la fin de création des bases de données avant de continuer (notamment sur serveur virtualisé), et ne peut donc pas créer ses tables !\\ &lt;br /&gt;
Dans ce cas, se connecter en ssh et forcer l'arrêt du script qui reste bloqué sur &amp;quot;starting services...&amp;quot;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;ps -ef | grep install&lt;br /&gt;
kill &amp;lt;pid des processus *install*&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
puis :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;aptitude update&lt;br /&gt;
aptitude safe-upgrade #(répondre yes et yes)&lt;br /&gt;
cd /usr/mailcleaner&lt;br /&gt;
cvs -q update -dP&lt;br /&gt;
source lib/updates/update_binaries.sh&lt;br /&gt;
stabilizeBinaries&lt;br /&gt;
cd install&lt;br /&gt;
/opt/mysql5/bin/mysqladmin -S /var/mailcleaner/run/mysql_master/mysqld.sock -u root password 'new-password'&lt;br /&gt;
/opt/mysql5/bin/mysqladmin -S /var/mailcleaner/run/mysql_slave/mysqld.sock -u root password 'new-password'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
par sécurité éditer ./MC_prepare_dbs.sh, aux alentour de la ligne 124 modifier :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_slave/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&lt;br /&gt;
/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_master/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
par&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_slave/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&lt;br /&gt;
sleep 5&lt;br /&gt;
/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_master/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&lt;br /&gt;
sleep 5&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
puis continuer l'installation :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;./MC_prepare_dbs.sh # donner le mdp root mysql&lt;br /&gt;
/usr/mailcleaner/bin/check_db.pl --update&lt;br /&gt;
/usr/mailcleaner/bin/dump_apache_config.pl&lt;br /&gt;
/etc/init.d/mailcleaner restart&lt;br /&gt;
/usr/mailcleaner/bin/collect_rrd_stats.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
si problème de connexion en admin au webui :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/opt/mysql5/bin/mysql -S /var/mailcleaner/run/mysql_master/mysqld.sock -uroot -p mc_config&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  mysql&amp;gt; update administrator set password=ENCRYPT('new-password') where username='admin';&lt;br /&gt;
Première connexion :&lt;br /&gt;
  https://mailcleaner.domain.fr/admin&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
== Système ==&lt;br /&gt;
Commencer par passer en revue l'intégralité de la configuration&lt;br /&gt;
  * Configuration / General settings : passer le GUI en français + adresses mails, décocher &amp;quot;Display domain selector&amp;quot;, remplir Company&lt;br /&gt;
  * Configuration / Domains&lt;br /&gt;
    * Domain default settings : paramétrer emails dans general,  preferences, activer greylist dans filtering&lt;br /&gt;
  * SMTP&lt;br /&gt;
    * SMTP checks : activer les 4 RBLs&lt;br /&gt;
  * Anti-spam&lt;br /&gt;
    * Enable access to whitelist&lt;br /&gt;
    * NiceBayes enable module, désactiver decisive (voir [[#bayes|Filtres Bayes]] pour modifier le score que NiceNayes doit ajouter à spamassassin)&lt;br /&gt;
    * preRBLSs enable module, activer listes ips.backscatterer.org et dsn.bl.rfc-ignorant.de&lt;br /&gt;
    * UriRBLs enable module, activer les 3 listes&lt;br /&gt;
    * spamc enable DCC Razor Pyzor, décocher DKIM control&lt;br /&gt;
  * Services / web interfaces&lt;br /&gt;
    * changer le nom URL&lt;br /&gt;
    * enable SSL, ajouter certificats (cat /usr/mailcleaner/etc/apache/certs/certificate.pem, copier la partie KEY (avec BEGIN RSA PRIVATE KEY et END) dans private key et le reste (avec BEGIN CERTIFICATE et END) dansSSL certificate)&lt;br /&gt;
  * Monitoring/status (ou en cliquant dans le message en haut)&lt;br /&gt;
    * redémarrer les services qui doivent l'être&lt;br /&gt;
&lt;br /&gt;
Rebooter une fois. Si l'installateur redémarre après boot (au lieu d'arriver sur la demande de login), sortir (5), lancer :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;update-rc.d -f z_installmc remove&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
pour le désactiver au prochain redémarrage.&lt;br /&gt;
&lt;br /&gt;
== RBLs ==&lt;br /&gt;
&lt;br /&gt;
  * soit niveau SMTP -&amp;gt; rejetés&lt;br /&gt;
  * soit niveau PreRBLS -&amp;gt; quarantaine&lt;br /&gt;
  * soit niveau Spamc -&amp;gt; inclu dans la décision de tag spam&lt;br /&gt;
Attention à ne pas cocher les même RBLs à ces différents niveaux, ça ne servirait à rien et ralentirait le filtrage.&lt;br /&gt;
== Whitelists/blacklists ==&lt;br /&gt;
  * Whitelists :&lt;br /&gt;
    * Config/Anti-spam/Enable access to whitelist : c'est une whitelist générale (pour tous les domaines), mais il faut aussi qu'elle soit activée pour que les whitelists par domain apparaissent&lt;br /&gt;
    * Config/Domains/&amp;lt;nom de domain&amp;gt;/filtering/Enable whitelist&lt;br /&gt;
&lt;br /&gt;
  * Blacklists :&lt;br /&gt;
    * Config/SMTP/Connection control&lt;br /&gt;
Voir aussi plus bas : whitelists / blacklists manuelles.&lt;br /&gt;
== Quarantaine ==&lt;br /&gt;
Quarantaine/ Rapport de quarantaine :&lt;br /&gt;
  * Domains/&amp;lt;nom de domaine&amp;gt;/preferences&lt;br /&gt;
voir aussi les preferences par défaut dans &amp;quot;Domain default settings&amp;quot;/&amp;quot;preferences&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Ajout d'un domaine à relayer ==&lt;br /&gt;
&amp;quot;Domains&amp;quot; / &amp;quot;New domain&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Paramétrer le serveur destinataire dans &amp;quot;delivery&amp;quot;, cliquer &amp;quot;submit&amp;quot; et tester la destination.&lt;br /&gt;
&lt;br /&gt;
Paramétrer &amp;quot;address verification&amp;quot; : smtp, donner IPip du serveur destinataire, cliquer &amp;quot;submit&amp;quot; et &amp;quot;tester&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Améliorations ==&lt;br /&gt;
=== transfert de règles sa-learn ===&lt;br /&gt;
Sur l'ancien serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;sa-learn --backup &amp;gt; regles.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Sur le serveur Mailcleaner :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;sa-learn -p /opt/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /opt/mailcleaner/share/spamassassin --restore regles.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;bayes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Filtre Bayes ==&lt;br /&gt;
Le filtre est désactivé car aucune base n'est créée par défaut. Dans l'entête des mails on voit :&lt;br /&gt;
  NiceBayes disabled (no database ?)&lt;br /&gt;
Le principe est de déclarer une boîte aux lettres dédiée aux spams / hams, scannée par un script tous les jours pour alimenter la base. Installer la librairie nécessaire :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;apt-get install libmail-imapclient-perl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Créer un script /opt/mailcleaner/scripts/gethamspam.sh :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=div&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# copy the old database to a timestamped copy&lt;br /&gt;
TIMESTAMP=$(date +%d)&lt;br /&gt;
REPORT_EMAIL=admin@domain.com&lt;br /&gt;
&lt;br /&gt;
# backup Spamassassin bayes db&lt;br /&gt;
sa-learn -p /opt/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /opt/mailcleaner/share/spamassassin --backup &amp;gt;/var/mailcleaner/spool/spamassassin/spamass_rules.bak&lt;br /&gt;
# backup Bogofilter bayes db&lt;br /&gt;
cp -a /root/.bogofilter/wordlist.db &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db&amp;quot;&lt;br /&gt;
if [ -f &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db.gz&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
   rm -f &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db.gz&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
gzip &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# get the spam and ham from the imap mailbox for the spamassassin and bogofilter db's&lt;br /&gt;
/opt/mailcleaner/scripts/imap-sa-learn.pl&lt;br /&gt;
if [ $? -ne 0 ]&lt;br /&gt;
then&lt;br /&gt;
    (&lt;br /&gt;
      echo &amp;quot;Subject: Bogofilter database update $(hostname) failed&amp;quot;&lt;br /&gt;
      ls -l /var/mailcleaner/spool/bogofilter/database/&lt;br /&gt;
      ) | /usr/sbin/sendmail $REPORT_EMAIL&lt;br /&gt;
    exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# copy the database to the right location&lt;br /&gt;
cp /root/.bogofilter/wordlist.db /var/mailcleaner/spool/bogofilter/database/wordlist.db&lt;br /&gt;
# If slave(s) Mailcleaner exists, ssh copy dbs to the slave(s)&lt;br /&gt;
scp /root/.bogofilter/wordlist.db mailcleaner2.domain.com:/var/mailcleaner/spool/bogofilter/database/&lt;br /&gt;
# Copy the backup on slave(s). It must then be applied on it by --restore.&lt;br /&gt;
scp /var/mailcleaner/spool/spamassassin/spamass_rules.bak mailcleaner2.domain.com:/var/mailcleaner/spool/spamassassin/&lt;br /&gt;
&lt;br /&gt;
# get the spam and ham counts from bogofilter - this just prints how many spam and ham you collected so far...&lt;br /&gt;
/opt/bogofilter/bin/bogoutil -w /var/mailcleaner/spool/bogofilter/database/wordlist.db .MSG_COUNT&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Sans oublier&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chmod 755 /opt/mailcleaner/scripts/gethamspam.sh&lt;br /&gt;
chmod 755 /opt/mailcleaner/scripts/imap-sa-learn.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il appelle /opt/mailcleaner/scripts/imap-sa-learn.pl (http://forum.mailcleaner.org/viewtopic.php?f=3&amp;amp;t=836, voir aussi http://www.gagravarr.org/code). Le script crée une base /root/.bogofilter/wordlist.db et la copie dans /var/mailcleaner/spool/bogofilter/database. Il semble que les 2 emplacements soient nécessaires (à vérifier à l'occasion).&lt;br /&gt;
&lt;br /&gt;
{{Note|PENSER a changer le propriétaire de  /var/mailcleaner/spool/bogofilter/database/wordlist.db pour que mailcleaner puisse le modifier!&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chown mailcleaner:mailcleaner /var/mailcleaner/spool/bogofilter/database/wordlist.db&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
Créer un fichier dans cron.d (appelé gethamspam sans &amp;quot;.sh&amp;quot; car cron ne prend pas toujours)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# cron-jobs for bayes bogofilter database&lt;br /&gt;
#&lt;br /&gt;
MAILTO=root&lt;br /&gt;
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin&lt;br /&gt;
00 06 * * *	root /opt/mailcleaner/scripts/gethamspam.sh &amp;gt;&amp;gt; /var/log/gethamspam.log 2&amp;gt;&amp;amp;1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Paramétrer logrotate pour archiver /var/log/gethamspam.log : créer /etc/logrotate.d/gethamspam contenant :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash enclose=div&amp;gt;/var/log/gethamspam.log {&lt;br /&gt;
	weekly&lt;br /&gt;
	rotate 3&lt;br /&gt;
	compress&lt;br /&gt;
	nomail&lt;br /&gt;
	notifempty&lt;br /&gt;
	missingok&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SLAVE : si des Mailcleaner de secours sont en cluster avec celui-ci, une fois les bases copiées par le script, il faut les traiter.&lt;br /&gt;
* la base Bogofilter n'a pas besoin d'intervention&lt;br /&gt;
* la base Spamassassin doit être restaurée sur le slave, par exemple par un script de ce genre :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=div&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
if [ -f /var/mailcleaner/spool/spamassassin/spambayes.tgz ]&lt;br /&gt;
then&lt;br /&gt;
  rm -f /var/mailcleaner/spool/spamassassin/spambayes.tgz&lt;br /&gt;
  tar -cvf /var/mailcleaner/spool/spamassassin/spambayes.tgz /var/mailcleaner/spool/spamassassin/bayes*&lt;br /&gt;
fi&lt;br /&gt;
if [ -f /var/mailcleaner/spool/spamassassin/spamass_rules.bak ]&lt;br /&gt;
then&lt;br /&gt;
  sa-learn -p /usr/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /usr/mailcleaner/share/spamassassin --restore /var/mailcleaner/spool/spamassassin/spamass_rules.bak&lt;br /&gt;
  rm -f /var/mailcleaner/spool/spamassassin/spamass_rules.bak&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Activer le module dans l'interface. Le déclarer '''non décisif'''. Il doit faire partie du score de spamassassin mais pas plus, sinon il y a trop de faux-positifs.&lt;br /&gt;
&lt;br /&gt;
Pour l'intégrer à spamassassin, créer une règle (dans un fichier xxxxx.cf à créer dans /usr/share/mailcleaner/share/spamassassin) :&lt;br /&gt;
  # Custom rules&lt;br /&gt;
  header LOCAL_NICEBAYES_HEADER    X-NiceBayes =~ /is spam/&lt;br /&gt;
  describe LOCAL_NICEBAYES_HEADER  NiceBayes header detected&lt;br /&gt;
  score LOCAL_NICEBAYES_HEADER     1.5&lt;br /&gt;
&lt;br /&gt;
== Règles custom spamassassin ==&lt;br /&gt;
Modifier la configuration de sa-update (procédure selon ces préconisation (ajout de channels, surtout) :&lt;br /&gt;
  * http://forum.mailcleaner.org/viewtopic.php?f=15&amp;amp;t=964&lt;br /&gt;
  * http://forum.mailcleaner.org/viewtopic.php?f=3&amp;amp;t=1776)&lt;br /&gt;
Pour commencer, créer les répertoires, importer les clés spamassassin et les règles updates en une seul commande :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/local/bin/sa-update -v&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Intégrer la clé GPG du canal Sought :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;wget http://yerp.org/rules/GPG.KEY&lt;br /&gt;
/usr/local/bin/sa-update --import GPG.KEY&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
créer /opt/mailcleaner/scripts/sa-update-customs.sh&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=div&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Spamassassin auto updater with custom channels&lt;br /&gt;
# First import key 6C6191E3 :&lt;br /&gt;
#  wget http://yerp.org/rules/GPG.KEY&lt;br /&gt;
#  sa-update --import GPG.KEY&lt;br /&gt;
SAUPD=/usr/local/bin/sa-update&lt;br /&gt;
$SAUPD --channel updates.spamassassin.org --updatedir /usr/mailcleaner/share/spamassassin &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
$SAUPD --gpgkey 6C6191E3 --channel sought.rules.yerp.org --updatedir /usr/mailcleaner/share/spamassassin &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
$SAUPD -v &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
wget http://www.pccc.com/downloads/SpamAssassin/contrib/KAM.cf &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
mv -f KAM.cf /usr/mailcleaner/share/spamassassin/KAM.cf&lt;br /&gt;
/usr/mailcleaner/etc/init.d/mailscanner restart&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
sans oublier&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chmod 755 /opt/mailcleaner/scripts/sa-update-customs.sh&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
et créer un lien dans cron.daily vers le script et paramétrer logrotate pour archiver /var/log/sa-update.log.&lt;br /&gt;
&lt;br /&gt;
Modifier également /usr/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf :&lt;br /&gt;
  bayes_auto_learn 1&lt;br /&gt;
  bayes_auto_learn_threshold_spam 7.0&lt;br /&gt;
  bayes_auto_learn_threshold_nonspam -0.1&lt;br /&gt;
&lt;br /&gt;
== Règles custom Clamav (Clamspam) ==&lt;br /&gt;
Clamav est installé et lancé après l'installation de base, mais Clamspam ne démarre pas par défaut car il n'a pas de base. On va charger les bases custom.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;aptitude install rsync gnupg curl socat gzip dnsutils&lt;br /&gt;
mkdir -p /opt/mailcleaner/sanesecurity/cache&lt;br /&gt;
cd /opt/mailcleaner/install&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Vérifier la dernière version du script sur http://downloads.sourceforge.net/project/unofficial-sigs/files&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;wget http://downloads.sourceforge.net/project/unofficial-sigs/clamav-unofficial-sigs-3.7.2.tar.gz&lt;br /&gt;
tar -xvzf clamav-unofficial-sigs-3.7.2.tar.gz&lt;br /&gt;
cd /opt/mailcleaner/scripts&lt;br /&gt;
cp /opt/mailcleaner/install/clamav-unofficial-sigs-3.7.2/clamav-unofficial-sigs.sh .&lt;br /&gt;
cp /opt/mailcleaner/install/clamav-unofficial-sigs-3.7.2/clamav-unofficial-sigs.conf .&lt;br /&gt;
chmod 755 clamav-unofficial-sigs.sh&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modifier clamav-unofficial-sigs.sh :&lt;br /&gt;
  default_config=&amp;quot;/opt/mailcleaner/scripts/clamav-unofficial-sigs.conf&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Modifier les options suivantes dans clamav-unofficial-sigs.conf :&lt;br /&gt;
  PATH=&amp;quot;/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/clamav/bin&amp;quot;&lt;br /&gt;
  clam_dbs=&amp;quot;/var/mailcleaner/spool/clamspam&amp;quot;&lt;br /&gt;
  clamd_pid=&amp;quot;/var/mailcleaner/run/clamav/clamspamd.pid&amp;quot;&lt;br /&gt;
  reload_dbs=&amp;quot;yes&amp;quot;&lt;br /&gt;
  #reload_opt=&amp;quot;clamdscan --reload&amp;quot; # Commenter cette ligne&lt;br /&gt;
  reload_opt=&amp;quot;/usr/mailcleaner/etc/init.d/clamspamd restart&amp;quot; # et ajouter celle-ci&lt;br /&gt;
  clamd_socket=&amp;quot;/var/mailcleaner/run/clamav/clamspamd.sock&amp;quot;&lt;br /&gt;
  work_dir=&amp;quot;/opt/mailcleaner/share/sanesecurity/cache&amp;quot;   #Top level working directory&lt;br /&gt;
  user_configuration_complete=&amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Lancer le script une première fois, afin qu'il crée ses répertoires, ses fichiers de bases et fasse une première synchronisation.&lt;br /&gt;
&lt;br /&gt;
Créer un lien pour un lancement journalier (ou dans cron.hourly si on veut un update toutes les heures !):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;ln -s /opt/mailcleaner/scripts/clamav-unofficial-sigs.sh /etc/cron.daily/clamav-unofficial-sigs&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Scores Fuzzy ==&lt;br /&gt;
Fuzzy a une fâcheuse tendance à générer quelques faux-positifs. Notamment, la règle de vérification des types d'images boucle sur chaque image du mail, et si elle buggue (image non reconnue par rapport à son extension) pour une raison ou une autre, le score s’additionne pour chaque image. ça peut aller vite !&lt;br /&gt;
&lt;br /&gt;
Donc, on baisse au moins ce score. Dans /etc/mailscanner/FuzzyOcr.cf_template (qui reconstruit /usr/mailcleaner/share/spamassassin/FuzzyOcr.cf à chaque redémarrage de mailcleaner) modifier :&lt;br /&gt;
 focr_wrongext_score '''0.1'''&lt;br /&gt;
Relancer mailcleaner&lt;br /&gt;
 service mailcleaner restart&lt;br /&gt;
&lt;br /&gt;
== Whitelist / blacklist manuelles ==&lt;br /&gt;
* Pour Spamassassin&lt;br /&gt;
Il est possible d'ajouter des filtres, par exemple une whitelist/blacklist manuelle : /usr/mailcleaner/share/spamassassin/lists-custom.cf de ce format :&lt;br /&gt;
  whitelist_from          *.gooddomain.fr&lt;br /&gt;
  blacklist_from          *.baddomain.fr&lt;br /&gt;
  blacklist_from          mail@baddomain.fr&lt;br /&gt;
Et ne pas oublier :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chown mailcleaner.mailcleaner /usr/mailcleaner/share/spamassassin/lists-custom.cf&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Pour Greylistd pour les services utilisant plusieurs IPs (Google, Outlook...)&lt;br /&gt;
Ajouter un fichier /usr/mailcleaner/etc/greylistd/whitelist-hosts&lt;br /&gt;
 # Google&lt;br /&gt;
 209.85.128.0/17&lt;br /&gt;
 &lt;br /&gt;
 # Outlook.com / MS&lt;br /&gt;
 207.46.0.0/16 &lt;br /&gt;
 &lt;br /&gt;
 # Yahoo.com&lt;br /&gt;
 216.109.112.0/20&lt;br /&gt;
 216.39.48.0/20&lt;br /&gt;
 98.136.0.0/14&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mise en cluster ==&lt;br /&gt;
sur les 2 serveurs :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;cat /etc/mailcleaner.conf | grep PWD&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
pour avoir les mots de passes des bases respectives.&lt;br /&gt;
&lt;br /&gt;
Sur master :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/mailcleaner/scripts/configuration/slaves.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  1) change host settings (donner l'IP de ce serveur)&lt;br /&gt;
  4) add a slave (donner l'IP du serveur SLAVE)&lt;br /&gt;
Sur slave :&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Warning|BUG !!!! Un des scripts n'est pas exécutable !}}&lt;br /&gt;
&lt;br /&gt;
Commencer par :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chmod 755 /usr/mailcleaner/bin/resync_db.sh&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Et lancer :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/mailcleaner/scripts/configuration/slaves.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  1) change host settings (donner l'IP de ce serveur)&lt;br /&gt;
  5) set this host as a slave (donner l'IP du serveur MAITRE)&lt;br /&gt;
&lt;br /&gt;
== Mises à jour ==&lt;br /&gt;
Commencer par un snapshot de la VM !!&lt;br /&gt;
&lt;br /&gt;
Vérifier la version en cours de chacun des serveurs dans monitoring/status&lt;br /&gt;
&lt;br /&gt;
Vérifier la dernière version ici : http://www.mailcleaner.org/doku.php/downloads:latest&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aptitude update&lt;br /&gt;
aptitude safe-upgrade&lt;br /&gt;
cd /usr/mailcleaner&lt;br /&gt;
cvs -q update -dP&lt;br /&gt;
source lib/updates/update_binaries.sh&lt;br /&gt;
stabilizeBinaries&lt;br /&gt;
install/install_perl_libs.sh&lt;br /&gt;
install/install_sa.sh&lt;br /&gt;
/usr/mailcleaner/bin/check_db.pl --update&lt;br /&gt;
/etc/init.d/mailcleaner restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Ancienne méthode&lt;br /&gt;
cd /usr/mailcleaner&lt;br /&gt;
cvs update -dP updates # noter les numéros de patchs téléchargés&lt;br /&gt;
bin/apply_update.sh &amp;lt;PATCHNUMBER&amp;gt; # ne renvoit rien si OK&lt;br /&gt;
Vérifier le patch appliqué dans &amp;quot;Monitoring&amp;quot; / &amp;quot;status&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Mutualisation&amp;quot; de Mailcleaner =&lt;br /&gt;
On entend par là, faire profiter d'autres boîtes mails du filtrage de Mailcleaner. Pour ça rien de plus simple :&lt;br /&gt;
 apt-get install fetchmail&lt;br /&gt;
Créer un fichier /etc/fetchmailrc avec par exemple :&lt;br /&gt;
 defaults&lt;br /&gt;
 proto pop3&lt;br /&gt;
 set logfile &amp;quot;/var/log/fetchmaillog&amp;quot;&lt;br /&gt;
 set daemon 300&lt;br /&gt;
 &lt;br /&gt;
 # Fetchmail config&lt;br /&gt;
 poll pop3.remotedomain.com with proto POP3&lt;br /&gt;
    user &amp;quot;mymail@remotedomain.com&amp;quot; with password &amp;quot;MON_PASS&amp;quot; is user@domainknownbyMC.com here&lt;br /&gt;
    smtphost &amp;quot;localhost&amp;quot; smtpname &amp;quot;user@domainknownbyMC.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 touch /var/log/fetchmaillog&lt;br /&gt;
 chown fetchmail /var/log/fetchmaillog&lt;br /&gt;
 update-rc.d enable fetchmail&lt;br /&gt;
 service fetchmail start&lt;br /&gt;
&lt;br /&gt;
= Validation de l'intallation =&lt;br /&gt;
on peut tirer profit d'un scan complet chez MXTOOLBOX&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;https://mxtoolbox.com/domain/serveurmx.domaine.fr&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TIPS =&lt;br /&gt;
* Le slave n'a peut-être pas le bon nom de host pour la bannière SMTP. Dans /etc/mailcleaner.conf, si la ligne n'y est pas, ajouter :&lt;br /&gt;
 HELONAME = mx2.domaine.fr&lt;br /&gt;
Puis relancer (par l'interface) le &amp;quot;incoming MTA&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* /opt/mailcleaner/scripts/configuration/set_ip_config.sh pour changer l'ip du système&lt;br /&gt;
&lt;br /&gt;
* Changer le nom d'hôte : modifier dans /etc/hosts, /etc/hostname, et lancer /etc/init.d/hostname.sh&lt;br /&gt;
&lt;br /&gt;
* sur serveur SLAVE, si le message :&lt;br /&gt;
&lt;br /&gt;
 failed to open /var/mailcleaner/spool/tmp/mailcleaner/domains.list for linear search: No such file or directory&lt;br /&gt;
&lt;br /&gt;
apparaît, lancer :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/mailcleaner/bin/dump_domains.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Test des règles de spam :&lt;br /&gt;
  /usr/mailcleaner/bin/is_spam.sh -D source-mail.eml&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=D%C3%83%C2%A9p%C3%83%C2%B4ts_compl%C3%83%C2%A9mentaires&amp;diff=6619</id>
		<title>DÃ©pÃ´ts complÃ©mentaires</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=D%C3%83%C2%A9p%C3%83%C2%B4ts_compl%C3%83%C2%A9mentaires&amp;diff=6619"/>
				<updated>2018-04-17T13:15:22Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* RPMForge */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Pour chaque rpm ci-dessous, vérifier les dernières versions disponibles à chaque installation'''&lt;br /&gt;
&lt;br /&gt;
= RPMForge =&lt;br /&gt;
http://wiki.centos.org/AdditionalResources/Repositories/RPMForge&lt;br /&gt;
&lt;br /&gt;
* Sur '''CentOS4''' :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
 rpm -Uvh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el4.rf.i386.rpm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Sur '''CentOS5''' :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
 cd /root/install&lt;br /&gt;
 rpm -Uvh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Sur '''CentOS6''' :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
 rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Puis désactiver ce dépôt par défaut pour éviter des mises à jour intempestives...&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
 sed -i 's/enabled = 1/enabled = 0/' /etc/yum.repos.d/rpmforge.repo&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Remi Collet =&lt;br /&gt;
(packages plus à jour que les dépôts CentOS standards. Notamment apache, php, mysql,...)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
 cd /etc/yum.repos.d&lt;br /&gt;
 wget http://rpms.famillecollet.com/remi-enterprise.repo&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= DAG =&lt;br /&gt;
(différents outils, htop, mrepo, etc...)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vi /etc/yum.repos.d/CentOS-Dag.repo&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Puis coller les lignes suivantes:&lt;br /&gt;
 [dag]&lt;br /&gt;
 name=Dag RPM Repository for Red Hat Enterprise Linux&lt;br /&gt;
 baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag&lt;br /&gt;
 gpgcheck=1&lt;br /&gt;
 gpgkey=http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt&lt;br /&gt;
 enabled=0&lt;br /&gt;
&lt;br /&gt;
= EPEL =&lt;br /&gt;
(Extra Packages for Enterprise Linux)&lt;br /&gt;
&lt;br /&gt;
'''RH5/CentOS5, i386'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
 rpm -UvH http://mirrors.ircam.fr/pub/fedora/epel/5/i386/epel-release-5-4.noarch.rpm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''RH6/CentOS6, x86_64'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
 rpm -Uvh http://mirrors.ircam.fr/pub/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm&lt;br /&gt;
 sed -i 's/enabled=1/enabled=0/' /etc/yum.repos.d/epel.repo&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Si un message de ce genre apparaît :&lt;br /&gt;
 erreur: Dépendances requises:&lt;br /&gt;
        rpmlib(FileDigests) &amp;lt;= 4.6.0-1 est nécessaire pour epel-release-6-5.noarch&lt;br /&gt;
        rpmlib(PayloadIsXz) &amp;lt;= 5.2-1 est nécessaire pour epel-release-6-5.noarch&lt;br /&gt;
Essayer de charger plutôt EPEL-5.4&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
 rpm -Uvh http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm&lt;br /&gt;
 sed -i 's/enabled=1/enabled=0/' /etc/yum.repos.d/epel.repo&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''RH7/CentOS7, x86_64'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
 yum install epel-release&lt;br /&gt;
 sed -i 's/enabled=1/enabled=0/' /etc/yum.repos.d/epel.repo&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Fedora Fusion =&lt;br /&gt;
Attention, paquets notoirement instables ! S'assurer que EPEL (ci-dessus) est installé ET ENABLED=1 dans epel.repo !&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
 rpm -Uvh http://download1.rpmfusion.org/free/el/updates/testing/6/i386/rpmfusion-free-release-6-0.1.noarch.rpm http://download1.rpmfusion.org/nonfree/el/updates/testing/6/i386/rpmfusion-nonfree-release-6-0.1.noarch.rpm&lt;br /&gt;
 sed -i 's/enabled = 1/enabled = 0/' /etc/yum.repos.d/rpmfusion-free-updates.repo&lt;br /&gt;
 sed -i 's/enabled = 1/enabled = 0/' /etc/yum.repos.d/rpmfusion-free-updates-testing.repo&lt;br /&gt;
 sed -i 's/enabled = 1/enabled = 0/' /etc/yum.repos.d/rpmfusion-nonfree-updates.repo&lt;br /&gt;
 sed -i 's/enabled = 1/enabled = 0/' /etc/yum.repos.d/rpmfusion-nonfree-updates-testing.repo&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Remplacer_MySQL_par_MariaDB_sur_CentOS6/7&amp;diff=6618</id>
		<title>Remplacer MySQL par MariaDB sur CentOS6/7</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Remplacer_MySQL_par_MariaDB_sur_CentOS6/7&amp;diff=6618"/>
				<updated>2018-04-17T13:13:50Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Installation MariaDB version 10 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installation MariaDB version 10 ==&lt;br /&gt;
&lt;br /&gt;
Créer un fichier pour les dépôts MariaDB&lt;br /&gt;
&lt;br /&gt;
/etc/yum.repos.d/MariaDB.repo (vérifier la dernière version disponible sur http://yum.mariadb.org/) :&lt;br /&gt;
 [mariadb]&lt;br /&gt;
 name = MariaDB&lt;br /&gt;
 baseurl = http://yum.mariadb.org/10.3.5/centos74-amd64/&lt;br /&gt;
 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB&lt;br /&gt;
 gpgcheck=1&lt;br /&gt;
'''Pour CentOS 7, remplacer centos6-amd64 par centos7-amd64 ci-dessus'''&lt;br /&gt;
&lt;br /&gt;
Si MySQL est installé, enlever les libs et le server qui peuvent causer des conflits (ça ne touche pas aux bases de données, évidemment).&lt;br /&gt;
&lt;br /&gt;
CentOS7 :&lt;br /&gt;
 systemctl stop mysql&lt;br /&gt;
 ou&lt;br /&gt;
 systemctl stop mariadb&lt;br /&gt;
 yum remove mariadb mariadb-libs mariadb-server # MariaDB5.5 installé par défaut sur CentOS7&lt;br /&gt;
&lt;br /&gt;
Installer MariaDB 10:&lt;br /&gt;
 yum install MariaDB-server MariaDB-shared&lt;br /&gt;
 systemctl start mysql # Attention, MariaDB crée un fichier d'init sans &amp;quot;d&amp;quot; au bout&lt;br /&gt;
&lt;br /&gt;
Paramétrer la sécurité:&lt;br /&gt;
 mysql_secure_installation&lt;br /&gt;
&lt;br /&gt;
Mettre à jour les bases existantes :&lt;br /&gt;
 mysql_upgrade -p&lt;br /&gt;
&lt;br /&gt;
== Mise à jour MariaDB 10.0 -&amp;gt; 10.1 ==&lt;br /&gt;
Il suffit de modifier le dépôt, et désinstaller la 10.0 (requis par le paquet 10.1 qui sinon indique une erreur)&lt;br /&gt;
 systemctl stop mysql&lt;br /&gt;
 yum remove MariaDB-server&lt;br /&gt;
Modifier le dépôt :&lt;br /&gt;
 [mariadb]&lt;br /&gt;
 name = MariaDB&lt;br /&gt;
 baseurl = http://yum.mariadb.org/10.0/centos6-amd64&lt;br /&gt;
 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB&lt;br /&gt;
 gpgcheck=1&lt;br /&gt;
Et réinstaller&lt;br /&gt;
 yum install MariaDB-server MariaDB-shared&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Remplacer_MySQL_par_MariaDB_sur_CentOS6/7&amp;diff=6617</id>
		<title>Remplacer MySQL par MariaDB sur CentOS6/7</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Remplacer_MySQL_par_MariaDB_sur_CentOS6/7&amp;diff=6617"/>
				<updated>2018-04-17T13:13:39Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Installation MariaDB version 10 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installation MariaDB version 10 ==&lt;br /&gt;
&lt;br /&gt;
Créer un fichier pour les dépôts MariaDB&lt;br /&gt;
&lt;br /&gt;
/etc/yum.repos.d/MariaDB.repo (vérifier la dernière version disponible sur http://yum.mariadb.org/) :&lt;br /&gt;
 [mariadb]&lt;br /&gt;
 name = MariaDB&lt;br /&gt;
 baseurl = http://yum.mariadb.org/10.3.5/centos74-amd64/&lt;br /&gt;
 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB&lt;br /&gt;
 gpgcheck=1&lt;br /&gt;
'''Pour CentOS 7, remplacer centos6-amd64 par centos7-amd64 ci-dessus'''&lt;br /&gt;
&lt;br /&gt;
Si MySQL est installé, enlever les libs et le server qui peuvent causer des conflits (ça ne touche pas aux bases de données, évidemment).&lt;br /&gt;
&lt;br /&gt;
CentOS7 :&lt;br /&gt;
 systemctl stop mysql&lt;br /&gt;
 ou&lt;br /&gt;
 systemctl stop mariadb&lt;br /&gt;
 yum remove mariadb mariadb-libs mariadb-server # MariaDB5.5 installé par défaut sur CentOS7&lt;br /&gt;
&lt;br /&gt;
Installer MariaDB 10:&lt;br /&gt;
 yum install MariaDB-server MariaDB-shared&lt;br /&gt;
 systemctl start mysql # Attention, MariaDB crée un fichier d'init sans &amp;quot;d&amp;quot; au bout&lt;br /&gt;
&lt;br /&gt;
Paramétrer la sécurité:&lt;br /&gt;
 # mysql_secure_installation&lt;br /&gt;
&lt;br /&gt;
Mettre à jour les bases existantes :&lt;br /&gt;
 mysql_upgrade -p&lt;br /&gt;
&lt;br /&gt;
== Mise à jour MariaDB 10.0 -&amp;gt; 10.1 ==&lt;br /&gt;
Il suffit de modifier le dépôt, et désinstaller la 10.0 (requis par le paquet 10.1 qui sinon indique une erreur)&lt;br /&gt;
 systemctl stop mysql&lt;br /&gt;
 yum remove MariaDB-server&lt;br /&gt;
Modifier le dépôt :&lt;br /&gt;
 [mariadb]&lt;br /&gt;
 name = MariaDB&lt;br /&gt;
 baseurl = http://yum.mariadb.org/10.0/centos6-amd64&lt;br /&gt;
 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB&lt;br /&gt;
 gpgcheck=1&lt;br /&gt;
Et réinstaller&lt;br /&gt;
 yum install MariaDB-server MariaDB-shared&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Remplacer_MySQL_par_MariaDB_sur_CentOS6/7&amp;diff=6616</id>
		<title>Remplacer MySQL par MariaDB sur CentOS6/7</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Remplacer_MySQL_par_MariaDB_sur_CentOS6/7&amp;diff=6616"/>
				<updated>2018-04-17T13:12:43Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Installation MariaDB version 10 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installation MariaDB version 10 ==&lt;br /&gt;
&lt;br /&gt;
Créer un fichier pour les dépôts MariaDB&lt;br /&gt;
&lt;br /&gt;
/etc/yum.repos.d/MariaDB.repo (vérifier la dernière version disponible sur http://yum.mariadb.org/) :&lt;br /&gt;
 [mariadb]&lt;br /&gt;
 name = MariaDB&lt;br /&gt;
 baseurl = http://yum.mariadb.org/10.3.5/centos74-amd64/&lt;br /&gt;
 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB&lt;br /&gt;
 gpgcheck=1&lt;br /&gt;
'''Pour CentOS 7, remplacer centos6-amd64 par centos7-amd64 ci-dessus'''&lt;br /&gt;
&lt;br /&gt;
Si MySQL est installé, enlever les libs et le server qui peuvent causer des conflits (ça ne touche pas aux bases de données, évidemment).&lt;br /&gt;
&lt;br /&gt;
CentOS7 :&lt;br /&gt;
 systemctl stop mysql&lt;br /&gt;
 ou&lt;br /&gt;
 systemctl stop mariadb&lt;br /&gt;
 yum remove mariadb mariadb-libs mariadb-server # MariaDB5.5 installé par défaut sur CentOS7&lt;br /&gt;
&lt;br /&gt;
Installer MariaDB 10:&lt;br /&gt;
 yum install MariaDB-server MariaDB-shared&lt;br /&gt;
 systemctl start mysql # Attention, MariaDB crée un fichier d'init sans &amp;quot;d&amp;quot; au bout&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mettre à jour les bases existantes :&lt;br /&gt;
 mysql_upgrade -p&lt;br /&gt;
&lt;br /&gt;
== Mise à jour MariaDB 10.0 -&amp;gt; 10.1 ==&lt;br /&gt;
Il suffit de modifier le dépôt, et désinstaller la 10.0 (requis par le paquet 10.1 qui sinon indique une erreur)&lt;br /&gt;
 systemctl stop mysql&lt;br /&gt;
 yum remove MariaDB-server&lt;br /&gt;
Modifier le dépôt :&lt;br /&gt;
 [mariadb]&lt;br /&gt;
 name = MariaDB&lt;br /&gt;
 baseurl = http://yum.mariadb.org/10.0/centos6-amd64&lt;br /&gt;
 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB&lt;br /&gt;
 gpgcheck=1&lt;br /&gt;
Et réinstaller&lt;br /&gt;
 yum install MariaDB-server MariaDB-shared&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Remplacer_MySQL_par_MariaDB_sur_CentOS6/7&amp;diff=6615</id>
		<title>Remplacer MySQL par MariaDB sur CentOS6/7</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Remplacer_MySQL_par_MariaDB_sur_CentOS6/7&amp;diff=6615"/>
				<updated>2018-04-17T13:10:10Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Installation MariaDB version 10 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installation MariaDB version 10 ==&lt;br /&gt;
&lt;br /&gt;
Créer un fichier pour les dépôts MariaDB&lt;br /&gt;
&lt;br /&gt;
/etc/yum.repos.d/MariaDB.repo (vérifier la dernière version disponible sur http://yum.mariadb.org/) :&lt;br /&gt;
 [mariadb]&lt;br /&gt;
 name = MariaDB&lt;br /&gt;
 baseurl = http://yum.mariadb.org/10.3.5/centos74-amd64/&lt;br /&gt;
 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB&lt;br /&gt;
 gpgcheck=1&lt;br /&gt;
'''Pour CentOS 7, remplacer centos6-amd64 par centos7-amd64 ci-dessus'''&lt;br /&gt;
&lt;br /&gt;
Si MySQL est installé, enlever les libs et le server qui peuvent causer des conflits (ça ne touche pas aux bases de données, évidemment).&lt;br /&gt;
&lt;br /&gt;
CentOS6 :&lt;br /&gt;
 service mysqld stop&lt;br /&gt;
 rpm -e --nodeps mysql-libs mysql-server &lt;br /&gt;
 yum remove mariadb mariadb-libs mariadb-server # si c'est MariaDB 5.5 qui est installé&lt;br /&gt;
CentOS7 :&lt;br /&gt;
 systemctl stop mysql&lt;br /&gt;
 ou&lt;br /&gt;
 systemctl stop mariadb&lt;br /&gt;
 yum remove mariadb mariadb-libs mariadb-server # MariaDB5.5 installé par défaut sur CentOS7&lt;br /&gt;
&lt;br /&gt;
Installer MariaDB 10:&lt;br /&gt;
 yum install MariaDB-server MariaDB-shared&lt;br /&gt;
 service mysql start # Attention, MariaDB crée un fichier d'init sans &amp;quot;d&amp;quot; au bout&lt;br /&gt;
&lt;br /&gt;
Mettre à jour les bases existantes :&lt;br /&gt;
 mysql_upgrade -p&lt;br /&gt;
&lt;br /&gt;
== Mise à jour MariaDB 10.0 -&amp;gt; 10.1 ==&lt;br /&gt;
Il suffit de modifier le dépôt, et désinstaller la 10.0 (requis par le paquet 10.1 qui sinon indique une erreur)&lt;br /&gt;
 systemctl stop mysql&lt;br /&gt;
 yum remove MariaDB-server&lt;br /&gt;
Modifier le dépôt :&lt;br /&gt;
 [mariadb]&lt;br /&gt;
 name = MariaDB&lt;br /&gt;
 baseurl = http://yum.mariadb.org/10.0/centos6-amd64&lt;br /&gt;
 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB&lt;br /&gt;
 gpgcheck=1&lt;br /&gt;
Et réinstaller&lt;br /&gt;
 yum install MariaDB-server MariaDB-shared&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Remplacer_MySQL_par_MariaDB_sur_CentOS6/7&amp;diff=6614</id>
		<title>Remplacer MySQL par MariaDB sur CentOS6/7</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Remplacer_MySQL_par_MariaDB_sur_CentOS6/7&amp;diff=6614"/>
				<updated>2018-03-30T14:47:03Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Installation MariaDB version 10 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installation MariaDB version 10 ==&lt;br /&gt;
&lt;br /&gt;
Créer un fichier pour les dépôts MariaDB&lt;br /&gt;
&lt;br /&gt;
/etc/yum.repos.d/MariaDB.repo :&lt;br /&gt;
 [mariadb]&lt;br /&gt;
 name = MariaDB&lt;br /&gt;
 baseurl = http://yum.mariadb.org/10.3.5/centos74-amd64/&lt;br /&gt;
 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB&lt;br /&gt;
 gpgcheck=1&lt;br /&gt;
'''Pour CentOS 7, remplacer centos6-amd64 par centos7-amd64 ci-dessus'''&lt;br /&gt;
&lt;br /&gt;
Si MySQL est installé, enlever les libs et le server qui peuvent causer des conflits (ça ne touche pas aux bases de données, évidemment).&lt;br /&gt;
&lt;br /&gt;
CentOS6 :&lt;br /&gt;
 service mysqld stop&lt;br /&gt;
 rpm -e --nodeps mysql-libs mysql-server &lt;br /&gt;
 yum remove mariadb mariadb-libs mariadb-server # si c'est MariaDB 5.5 qui est installé&lt;br /&gt;
CentOS7 :&lt;br /&gt;
 systemctl stop mysql&lt;br /&gt;
 ou&lt;br /&gt;
 systemctl stop mariadb&lt;br /&gt;
 yum remove mariadb mariadb-libs mariadb-server # MariaDB5.5 installé par défaut sur CentOS7&lt;br /&gt;
&lt;br /&gt;
Installer MariaDB 10:&lt;br /&gt;
 yum install MariaDB-server MariaDB-shared&lt;br /&gt;
 service mysql start # Attention, MariaDB crée un fichier d'init sans &amp;quot;d&amp;quot; au bout&lt;br /&gt;
&lt;br /&gt;
Mettre à jour les bases existantes :&lt;br /&gt;
 mysql_upgrade -p&lt;br /&gt;
&lt;br /&gt;
== Mise à jour MariaDB 10.0 -&amp;gt; 10.1 ==&lt;br /&gt;
Il suffit de modifier le dépôt, et désinstaller la 10.0 (requis par le paquet 10.1 qui sinon indique une erreur)&lt;br /&gt;
 systemctl stop mysql&lt;br /&gt;
 yum remove MariaDB-server&lt;br /&gt;
Modifier le dépôt :&lt;br /&gt;
 [mariadb]&lt;br /&gt;
 name = MariaDB&lt;br /&gt;
 baseurl = http://yum.mariadb.org/10.0/centos6-amd64&lt;br /&gt;
 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB&lt;br /&gt;
 gpgcheck=1&lt;br /&gt;
Et réinstaller&lt;br /&gt;
 yum install MariaDB-server MariaDB-shared&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=MailCleaner:_installation_et_configuration&amp;diff=6613</id>
		<title>MailCleaner: installation et configuration</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=MailCleaner:_installation_et_configuration&amp;diff=6613"/>
				<updated>2018-03-08T09:47:13Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Warning|UPDATE 01/2015 : les listes RHSBL* n'existe plus. Ne pas la cocher si elle apparaît encore dans les menus}}&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
{{Note|Le site communautaire est accessible sur http://www.mailcleaner.org. Le site commercial sur http://www.mailcleaner.net}}&lt;br /&gt;
Télécharger l'image :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;wget http://www.mailcleaner.org/downloads/mailcleaner_community_2012v6_64bit.iso&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Booter sur l'iso ou donner l'iso comme périphérique de démarrage si c'est une VM. L'installation se lance automatiquement.&lt;br /&gt;
&lt;br /&gt;
Aprés le 1er reboot, configuration de base en ligne de commande :&lt;br /&gt;
  1 keyboard&lt;br /&gt;
  2 root passwd&lt;br /&gt;
  3 network&lt;br /&gt;
  4 MC Install/Reinstall&lt;br /&gt;
Passer les points dans l'ordre pour arriver au 4 : configuration, création des bases.\\ &lt;br /&gt;
Donner un ID unique par machine pouvant faire partie d'un cluster (voir plus bas).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Warning|BUG : en cas d'erreurs mysql, laisser l'installation se terminer (jusqu'à &amp;quot;starting services...&amp;quot;)}}&lt;br /&gt;
En effet, l'installateur n'attend pas - pour une raison inconnue - la fin de création des bases de données avant de continuer (notamment sur serveur virtualisé), et ne peut donc pas créer ses tables !\\ &lt;br /&gt;
Dans ce cas, se connecter en ssh et forcer l'arrêt du script qui reste bloqué sur &amp;quot;starting services...&amp;quot;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;ps -ef | grep install&lt;br /&gt;
kill &amp;lt;pid des processus *install*&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
puis :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;aptitude update&lt;br /&gt;
aptitude safe-upgrade #(répondre yes et yes)&lt;br /&gt;
cd /usr/mailcleaner&lt;br /&gt;
cvs -q update -dP&lt;br /&gt;
source lib/updates/update_binaries.sh&lt;br /&gt;
stabilizeBinaries&lt;br /&gt;
cd install&lt;br /&gt;
/opt/mysql5/bin/mysqladmin -S /var/mailcleaner/run/mysql_master/mysqld.sock -u root password 'new-password'&lt;br /&gt;
/opt/mysql5/bin/mysqladmin -S /var/mailcleaner/run/mysql_slave/mysqld.sock -u root password 'new-password'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
par sécurité éditer ./MC_prepare_dbs.sh, aux alentour de la ligne 124 modifier :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_slave/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&lt;br /&gt;
/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_master/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
par&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_slave/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&lt;br /&gt;
sleep 5&lt;br /&gt;
/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_master/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&lt;br /&gt;
sleep 5&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
puis continuer l'installation :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;./MC_prepare_dbs.sh # donner le mdp root mysql&lt;br /&gt;
/usr/mailcleaner/bin/check_db.pl --update&lt;br /&gt;
/usr/mailcleaner/bin/dump_apache_config.pl&lt;br /&gt;
/etc/init.d/mailcleaner restart&lt;br /&gt;
/usr/mailcleaner/bin/collect_rrd_stats.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
si problème de connexion en admin au webui :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/opt/mysql5/bin/mysql -S /var/mailcleaner/run/mysql_master/mysqld.sock -uroot -p mc_config&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  mysql&amp;gt; update administrator set password=ENCRYPT('new-password') where username='admin';&lt;br /&gt;
Première connexion :&lt;br /&gt;
  https://mailcleaner.domain.fr/admin&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
== Système ==&lt;br /&gt;
Commencer par passer en revue l'intégralité de la configuration&lt;br /&gt;
  * Configuration / General settings : passer le GUI en français + adresses mails, décocher &amp;quot;Display domain selector&amp;quot;, remplir Company&lt;br /&gt;
  * Configuration / Domains&lt;br /&gt;
    * Domain default settings : paramétrer emails dans general,  preferences, activer greylist dans filtering&lt;br /&gt;
  * SMTP&lt;br /&gt;
    * SMTP checks : activer les 4 RBLs&lt;br /&gt;
  * Anti-spam&lt;br /&gt;
    * Enable access to whitelist&lt;br /&gt;
    * NiceBayes enable module, désactiver decisive (voir [[#bayes|Filtres Bayes]] pour modifier le score que NiceNayes doit ajouter à spamassassin)&lt;br /&gt;
    * preRBLSs enable module, activer listes ips.backscatterer.org et dsn.bl.rfc-ignorant.de&lt;br /&gt;
    * UriRBLs enable module, activer les 3 listes&lt;br /&gt;
    * spamc enable DCC Razor Pyzor, décocher DKIM control&lt;br /&gt;
  * Services / web interfaces&lt;br /&gt;
    * changer le nom URL&lt;br /&gt;
    * enable SSL, ajouter certificats (cat /usr/mailcleaner/etc/apache/certs/certificate.pem, copier la partie KEY (avec BEGIN RSA PRIVATE KEY et END) dans private key et le reste (avec BEGIN CERTIFICATE et END) dansSSL certificate)&lt;br /&gt;
  * Monitoring/status (ou en cliquant dans le message en haut)&lt;br /&gt;
    * redémarrer les services qui doivent l'être&lt;br /&gt;
&lt;br /&gt;
Rebooter une fois. Si l'installateur redémarre après boot (au lieu d'arriver sur la demande de login), sortir (5), lancer :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;update-rc.d -f z_installmc remove&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
pour le désactiver au prochain redémarrage.&lt;br /&gt;
&lt;br /&gt;
== RBLs ==&lt;br /&gt;
&lt;br /&gt;
  * soit niveau SMTP -&amp;gt; rejetés&lt;br /&gt;
  * soit niveau PreRBLS -&amp;gt; quarantaine&lt;br /&gt;
  * soit niveau Spamc -&amp;gt; inclu dans la décision de tag spam&lt;br /&gt;
Attention à ne pas cocher les même RBLs à ces différents niveaux, ça ne servirait à rien et ralentirait le filtrage.&lt;br /&gt;
== Whitelists/blacklists ==&lt;br /&gt;
  * Whitelists :&lt;br /&gt;
    * Config/Anti-spam/Enable access to whitelist : c'est une whitelist générale (pour tous les domaines), mais il faut aussi qu'elle soit activée pour que les whitelists par domain apparaissent&lt;br /&gt;
    * Config/Domains/&amp;lt;nom de domain&amp;gt;/filtering/Enable whitelist&lt;br /&gt;
&lt;br /&gt;
  * Blacklists :&lt;br /&gt;
    * Config/SMTP/Connection control&lt;br /&gt;
Voir aussi plus bas : whitelists / blacklists manuelles.&lt;br /&gt;
== Quarantaine ==&lt;br /&gt;
Quarantaine/ Rapport de quarantaine :&lt;br /&gt;
  * Domains/&amp;lt;nom de domaine&amp;gt;/preferences&lt;br /&gt;
voir aussi les preferences par défaut dans &amp;quot;Domain default settings&amp;quot;/&amp;quot;preferences&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Ajout d'un domaine à relayer ==&lt;br /&gt;
&amp;quot;Domains&amp;quot; / &amp;quot;New domain&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Paramétrer le serveur destinataire dans &amp;quot;delivery&amp;quot;, cliquer &amp;quot;submit&amp;quot; et tester la destination.&lt;br /&gt;
&lt;br /&gt;
Paramétrer &amp;quot;address verification&amp;quot; : smtp, donner IPip du serveur destinataire, cliquer &amp;quot;submit&amp;quot; et &amp;quot;tester&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Améliorations ==&lt;br /&gt;
=== transfert de règles sa-learn ===&lt;br /&gt;
Sur l'ancien serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;sa-learn --backup &amp;gt; regles.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Sur le serveur Mailcleaner :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;sa-learn -p /opt/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /opt/mailcleaner/share/spamassassin --restore regles.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;bayes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Filtre Bayes ==&lt;br /&gt;
Le filtre est désactivé car aucune base n'est créée par défaut. Dans l'entête des mails on voit :&lt;br /&gt;
  NiceBayes disabled (no database ?)&lt;br /&gt;
Le principe est de déclarer une boîte aux lettres dédiée aux spams / hams, scannée par un script tous les jours pour alimenter la base. Installer la librairie nécessaire :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;apt-get install libmail-imapclient-perl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Créer un script /opt/mailcleaner/scripts/gethamspam.sh :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=div&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# copy the old database to a timestamped copy&lt;br /&gt;
TIMESTAMP=$(date +%d)&lt;br /&gt;
REPORT_EMAIL=admin@domain.com&lt;br /&gt;
&lt;br /&gt;
# backup Spamassassin bayes db&lt;br /&gt;
sa-learn -p /opt/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /opt/mailcleaner/share/spamassassin --backup &amp;gt;/var/mailcleaner/spool/spamassassin/spamass_rules.bak&lt;br /&gt;
# backup Bogofilter bayes db&lt;br /&gt;
cp -a /root/.bogofilter/wordlist.db &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db&amp;quot;&lt;br /&gt;
if [ -f &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db.gz&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
   rm -f &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db.gz&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
gzip &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# get the spam and ham from the imap mailbox for the spamassassin and bogofilter db's&lt;br /&gt;
/opt/mailcleaner/scripts/imap-sa-learn.pl&lt;br /&gt;
if [ $? -ne 0 ]&lt;br /&gt;
then&lt;br /&gt;
    (&lt;br /&gt;
      echo &amp;quot;Subject: Bogofilter database update $(hostname) failed&amp;quot;&lt;br /&gt;
      ls -l /var/mailcleaner/spool/bogofilter/database/&lt;br /&gt;
      ) | /usr/sbin/sendmail $REPORT_EMAIL&lt;br /&gt;
    exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# copy the database to the right location&lt;br /&gt;
cp /root/.bogofilter/wordlist.db /var/mailcleaner/spool/bogofilter/database/wordlist.db&lt;br /&gt;
# If slave(s) Mailcleaner exists, ssh copy dbs to the slave(s)&lt;br /&gt;
scp /root/.bogofilter/wordlist.db mailcleaner2.domain.com:/var/mailcleaner/spool/bogofilter/database/&lt;br /&gt;
scp /var/mailcleaner/spool/spamassassin/spamass_rules.bak mailcleaner2.domain.com:/var/mailcleaner/spool/spamassassin/&lt;br /&gt;
&lt;br /&gt;
# get the spam and ham counts from bogofilter - this just prints how many spam and ham you collected so far...&lt;br /&gt;
/opt/bogofilter/bin/bogoutil -w /var/mailcleaner/spool/bogofilter/database/wordlist.db .MSG_COUNT&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Sans oublier&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chmod 755 /opt/mailcleaner/scripts/gethamspam.sh&lt;br /&gt;
chmod 755 /opt/mailcleaner/scripts/imap-sa-learn.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il appelle /opt/mailcleaner/scripts/imap-sa-learn.pl (http://forum.mailcleaner.org/viewtopic.php?f=3&amp;amp;t=836, voir aussi http://www.gagravarr.org/code). Le script crée une base /root/.bogofilter/wordlist.db et la copie dans /var/mailcleaner/spool/bogofilter/database. Il semble que les 2 emplacements soient nécessaires (à vérifier à l'occasion).&lt;br /&gt;
&lt;br /&gt;
{{Note|PENSER a changer le propriétaire de  /var/mailcleaner/spool/bogofilter/database/wordlist.db pour que mailcleaner puisse le modifier!&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chown mailcleaner:mailcleaner /var/mailcleaner/spool/bogofilter/database/wordlist.db&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
Créer un fichier dans cron.d (appelé gethamspam sans &amp;quot;.sh&amp;quot; car cron ne prend pas toujours)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# cron-jobs for bayes bogofilter database&lt;br /&gt;
#&lt;br /&gt;
MAILTO=root&lt;br /&gt;
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin&lt;br /&gt;
00 06 * * *	root /opt/mailcleaner/scripts/gethamspam.sh &amp;gt;&amp;gt; /var/log/gethamspam.log 2&amp;gt;&amp;amp;1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Paramétrer logrotate pour archiver /var/log/gethamspam.log : créer /etc/logrotate.d/gethamspam contenant :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash enclose=div&amp;gt;/var/log/gethamspam.log {&lt;br /&gt;
	weekly&lt;br /&gt;
	rotate 3&lt;br /&gt;
	compress&lt;br /&gt;
	nomail&lt;br /&gt;
	notifempty&lt;br /&gt;
	missingok&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SLAVE : si des Mailcleaner de secours sont en cluster avec celui-ci, une fois les bases copiées par le script, il faut les traiter.&lt;br /&gt;
* la base Bogofilter n'a pas besoin d'intervention&lt;br /&gt;
* la base Spamassassin doit être restaurée sur le slave, par exemple par un script de ce genre :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=div&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
if [ -f /var/mailcleaner/spool/spamassassin/spambayes.tgz ]&lt;br /&gt;
then&lt;br /&gt;
  rm -f /var/mailcleaner/spool/spamassassin/spambayes.tgz&lt;br /&gt;
  tar -cvf /var/mailcleaner/spool/spamassassin/spambayes.tgz /var/mailcleaner/spool/spamassassin/bayes*&lt;br /&gt;
fi&lt;br /&gt;
if [ -f /var/mailcleaner/spool/spamassassin/spamass_rules.bak ]&lt;br /&gt;
then&lt;br /&gt;
  sa-learn -p /usr/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /usr/mailcleaner/share/spamassassin --restore /var/mailcleaner/spool/spamassassin/spamass_rules.bak&lt;br /&gt;
  rm -f /var/mailcleaner/spool/spamassassin/spamass_rules.bak&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Activer le module dans l'interface. Le déclarer '''non décisif'''. Il doit faire partie du score de spamassassin mais pas plus, sinon il y a trop de faux-positifs.&lt;br /&gt;
&lt;br /&gt;
Pour l'intégrer à spamassassin, créer une règle (dans un fichier xxxxx.cf à créer dans /usr/share/mailcleaner/share/spamassassin) :&lt;br /&gt;
  # Custom rules&lt;br /&gt;
  header LOCAL_NICEBAYES_HEADER    X-NiceBayes =~ /is spam/&lt;br /&gt;
  describe LOCAL_NICEBAYES_HEADER  NiceBayes header detected&lt;br /&gt;
  score LOCAL_NICEBAYES_HEADER     1.5&lt;br /&gt;
&lt;br /&gt;
== Règles custom spamassassin ==&lt;br /&gt;
Modifier la configuration de sa-update (procédure selon ces préconisation (ajout de channels, surtout) :&lt;br /&gt;
  * http://forum.mailcleaner.org/viewtopic.php?f=15&amp;amp;t=964&lt;br /&gt;
  * http://forum.mailcleaner.org/viewtopic.php?f=3&amp;amp;t=1776)&lt;br /&gt;
Pour commencer, créer les répertoires, importer les clés spamassassin et les règles updates en une seul commande :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/local/bin/sa-update -v&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Intégrer la clé GPG du canal Sought :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;wget http://yerp.org/rules/GPG.KEY&lt;br /&gt;
/usr/local/bin/sa-update --import GPG.KEY&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
créer /opt/mailcleaner/scripts/sa-update-customs.sh&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=div&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Spamassassin auto updater with custom channels&lt;br /&gt;
# First import key 6C6191E3 :&lt;br /&gt;
#  wget http://yerp.org/rules/GPG.KEY&lt;br /&gt;
#  sa-update --import GPG.KEY&lt;br /&gt;
SAUPD=/usr/local/bin/sa-update&lt;br /&gt;
$SAUPD --channel updates.spamassassin.org --updatedir /usr/mailcleaner/share/spamassassin &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
$SAUPD --gpgkey 6C6191E3 --channel sought.rules.yerp.org --updatedir /usr/mailcleaner/share/spamassassin &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
$SAUPD -v &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
wget http://www.pccc.com/downloads/SpamAssassin/contrib/KAM.cf &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
mv -f KAM.cf /usr/mailcleaner/share/spamassassin/KAM.cf&lt;br /&gt;
/usr/mailcleaner/etc/init.d/mailscanner restart&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
sans oublier&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chmod 755 /opt/mailcleaner/scripts/sa-update-customs.sh&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
et créer un lien dans cron.daily vers le script et paramétrer logrotate pour archiver /var/log/sa-update.log.&lt;br /&gt;
&lt;br /&gt;
Modifier également /usr/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf :&lt;br /&gt;
  bayes_auto_learn 1&lt;br /&gt;
  bayes_auto_learn_threshold_spam 7.0&lt;br /&gt;
  bayes_auto_learn_threshold_nonspam -0.1&lt;br /&gt;
&lt;br /&gt;
== Règles custom Clamav (Clamspam) ==&lt;br /&gt;
Clamav est installé et lancé après l'installation de base, mais Clamspam ne démarre pas par défaut car il n'a pas de base. On va charger les bases custom.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;aptitude install rsync gnupg curl socat gzip dnsutils&lt;br /&gt;
mkdir -p /opt/mailcleaner/sanesecurity/cache&lt;br /&gt;
cd /opt/mailcleaner/install&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Vérifier la dernière version du script sur http://downloads.sourceforge.net/project/unofficial-sigs/files&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;wget http://downloads.sourceforge.net/project/unofficial-sigs/clamav-unofficial-sigs-3.7.2.tar.gz&lt;br /&gt;
tar -xvzf clamav-unofficial-sigs-3.7.2.tar.gz&lt;br /&gt;
cd /opt/mailcleaner/scripts&lt;br /&gt;
cp /opt/mailcleaner/install/clamav-unofficial-sigs-3.7.2/clamav-unofficial-sigs.sh .&lt;br /&gt;
cp /opt/mailcleaner/install/clamav-unofficial-sigs-3.7.2/clamav-unofficial-sigs.conf .&lt;br /&gt;
chmod 755 clamav-unofficial-sigs.sh&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modifier clamav-unofficial-sigs.sh :&lt;br /&gt;
  default_config=&amp;quot;/opt/mailcleaner/scripts/clamav-unofficial-sigs.conf&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Modifier les options suivantes dans clamav-unofficial-sigs.conf :&lt;br /&gt;
  PATH=&amp;quot;/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/clamav/bin&amp;quot;&lt;br /&gt;
  clam_dbs=&amp;quot;/var/mailcleaner/spool/clamspam&amp;quot;&lt;br /&gt;
  clamd_pid=&amp;quot;/var/mailcleaner/run/clamav/clamspamd.pid&amp;quot;&lt;br /&gt;
  reload_dbs=&amp;quot;yes&amp;quot;&lt;br /&gt;
  #reload_opt=&amp;quot;clamdscan --reload&amp;quot; # Commenter cette ligne&lt;br /&gt;
  reload_opt=&amp;quot;/usr/mailcleaner/etc/init.d/clamspamd restart&amp;quot; # et ajouter celle-ci&lt;br /&gt;
  clamd_socket=&amp;quot;/var/mailcleaner/run/clamav/clamspamd.sock&amp;quot;&lt;br /&gt;
  work_dir=&amp;quot;/opt/mailcleaner/share/sanesecurity/cache&amp;quot;   #Top level working directory&lt;br /&gt;
  user_configuration_complete=&amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Lancer le script une première fois, afin qu'il crée ses répertoires, ses fichiers de bases et fasse une première synchronisation.&lt;br /&gt;
&lt;br /&gt;
Créer un lien pour un lancement journalier (ou dans cron.hourly si on veut un update toutes les heures !):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;ln -s /opt/mailcleaner/scripts/clamav-unofficial-sigs.sh /etc/cron.daily/clamav-unofficial-sigs&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Scores Fuzzy ==&lt;br /&gt;
Fuzzy a une fâcheuse tendance à générer quelques faux-positifs. Notamment, la règle de vérification des types d'images boucle sur chaque image du mail, et si elle buggue (image non reconnue par rapport à son extension) pour une raison ou une autre, le score s’additionne pour chaque image. ça peut aller vite !&lt;br /&gt;
&lt;br /&gt;
Donc, on baisse au moins ce score. Dans /etc/mailscanner/FuzzyOcr.cf_template (qui reconstruit /usr/mailcleaner/share/spamassassin/FuzzyOcr.cf à chaque redémarrage de mailcleaner) modifier :&lt;br /&gt;
 focr_wrongext_score '''0.1'''&lt;br /&gt;
Relancer mailcleaner&lt;br /&gt;
 service mailcleaner restart&lt;br /&gt;
&lt;br /&gt;
== Whitelist / blacklist manuelles ==&lt;br /&gt;
* Pour Spamassassin&lt;br /&gt;
Il est possible d'ajouter des filtres, par exemple une whitelist/blacklist manuelle : /usr/mailcleaner/share/spamassassin/lists-custom.cf de ce format :&lt;br /&gt;
  whitelist_from          *.gooddomain.fr&lt;br /&gt;
  blacklist_from          *.baddomain.fr&lt;br /&gt;
  blacklist_from          mail@baddomain.fr&lt;br /&gt;
Et ne pas oublier :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chown mailcleaner.mailcleaner /usr/mailcleaner/share/spamassassin/lists-custom.cf&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Pour Greylistd pour les services utilisant plusieurs IPs (Google, Outlook...)&lt;br /&gt;
Ajouter un fichier /usr/mailcleaner/etc/greylistd/whitelist-hosts&lt;br /&gt;
 # Google&lt;br /&gt;
 209.85.128.0/17&lt;br /&gt;
 &lt;br /&gt;
 # Outlook.com / MS&lt;br /&gt;
 207.46.0.0/16 &lt;br /&gt;
 &lt;br /&gt;
 # Yahoo.com&lt;br /&gt;
 216.109.112.0/20&lt;br /&gt;
 216.39.48.0/20&lt;br /&gt;
 98.136.0.0/14&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mise en cluster ==&lt;br /&gt;
sur les 2 serveurs :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;cat /etc/mailcleaner.conf | grep PWD&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
pour avoir les mots de passes des bases respectives.&lt;br /&gt;
&lt;br /&gt;
Sur master :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/mailcleaner/scripts/configuration/slaves.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  1) change host settings (donner l'IP de ce serveur)&lt;br /&gt;
  4) add a slave (donner l'IP du serveur SLAVE)&lt;br /&gt;
Sur slave :&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Warning|BUG !!!! Un des scripts n'est pas exécutable !}}&lt;br /&gt;
&lt;br /&gt;
Commencer par :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chmod 755 /usr/mailcleaner/bin/resync_db.sh&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Et lancer :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/mailcleaner/scripts/configuration/slaves.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  1) change host settings (donner l'IP de ce serveur)&lt;br /&gt;
  5) set this host as a slave (donner l'IP du serveur MAITRE)&lt;br /&gt;
&lt;br /&gt;
== Mises à jour ==&lt;br /&gt;
Commencer par un snapshot de la VM !!&lt;br /&gt;
&lt;br /&gt;
Vérifier la version en cours de chacun des serveurs dans monitoring/status&lt;br /&gt;
&lt;br /&gt;
Vérifier la dernière version ici : http://www.mailcleaner.org/doku.php/downloads:latest&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aptitude update&lt;br /&gt;
aptitude safe-upgrade&lt;br /&gt;
cd /usr/mailcleaner&lt;br /&gt;
cvs -q update -dP&lt;br /&gt;
source lib/updates/update_binaries.sh&lt;br /&gt;
stabilizeBinaries&lt;br /&gt;
install/install_perl_libs.sh&lt;br /&gt;
install/install_sa.sh&lt;br /&gt;
/usr/mailcleaner/bin/check_db.pl --update&lt;br /&gt;
/etc/init.d/mailcleaner restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Ancienne méthode&lt;br /&gt;
cd /usr/mailcleaner&lt;br /&gt;
cvs update -dP updates # noter les numéros de patchs téléchargés&lt;br /&gt;
bin/apply_update.sh &amp;lt;PATCHNUMBER&amp;gt; # ne renvoit rien si OK&lt;br /&gt;
Vérifier le patch appliqué dans &amp;quot;Monitoring&amp;quot; / &amp;quot;status&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Mutualisation&amp;quot; de Mailcleaner =&lt;br /&gt;
On entend par là, faire profiter d'autres boîtes mails du filtrage de Mailcleaner. Pour ça rien de plus simple :&lt;br /&gt;
 apt-get install fetchmail&lt;br /&gt;
Créer un fichier /etc/fetchmailrc avec par exemple :&lt;br /&gt;
 defaults&lt;br /&gt;
 proto pop3&lt;br /&gt;
 set logfile &amp;quot;/var/log/fetchmaillog&amp;quot;&lt;br /&gt;
 set daemon 300&lt;br /&gt;
 &lt;br /&gt;
 # Fetchmail config&lt;br /&gt;
 poll pop3.remotedomain.com with proto POP3&lt;br /&gt;
    user &amp;quot;mymail@remotedomain.com&amp;quot; with password &amp;quot;MON_PASS&amp;quot; is user@domainknownbyMC.com here&lt;br /&gt;
    smtphost &amp;quot;localhost&amp;quot; smtpname &amp;quot;user@domainknownbyMC.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 touch /var/log/fetchmaillog&lt;br /&gt;
 chown fetchmail /var/log/fetchmaillog&lt;br /&gt;
 update-rc.d enable fetchmail&lt;br /&gt;
 service fetchmail start&lt;br /&gt;
&lt;br /&gt;
= Validation de l'intallation =&lt;br /&gt;
on peut tirer profit d'un scan complet chez MXTOOLBOX&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;https://mxtoolbox.com/domain/serveurmx.domaine.fr&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TIPS =&lt;br /&gt;
* Le slave n'a peut-être pas le bon nom de host pour la bannière SMTP. Dans /etc/mailcleaner.conf, si la ligne n'y est pas, ajouter :&lt;br /&gt;
 HELONAME = mx2.domaine.fr&lt;br /&gt;
Puis relancer (par l'interface) le &amp;quot;incoming MTA&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* /opt/mailcleaner/scripts/configuration/set_ip_config.sh pour changer l'ip du système&lt;br /&gt;
&lt;br /&gt;
* Changer le nom d'hôte : modifier dans /etc/hosts, /etc/hostname, et lancer /etc/init.d/hostname.sh&lt;br /&gt;
&lt;br /&gt;
* sur serveur SLAVE, si le message :&lt;br /&gt;
&lt;br /&gt;
 failed to open /var/mailcleaner/spool/tmp/mailcleaner/domains.list for linear search: No such file or directory&lt;br /&gt;
&lt;br /&gt;
apparaît, lancer :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/mailcleaner/bin/dump_domains.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Test des règles de spam :&lt;br /&gt;
  /usr/mailcleaner/bin/is_spam.sh -D source-mail.eml&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=MailCleaner:_installation_et_configuration&amp;diff=6612</id>
		<title>MailCleaner: installation et configuration</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=MailCleaner:_installation_et_configuration&amp;diff=6612"/>
				<updated>2018-03-08T09:42:04Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* TIPS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Warning|UPDATE 01/2015 : les listes RHSBL* n'existe plus. Ne pas la cocher si elle apparaît encore dans les menus}}&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
{{Note|Le site communautaire est accessible sur http://www.mailcleaner.org. Le site commercial sur http://www.mailcleaner.net}}&lt;br /&gt;
Télécharger l'image :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;wget http://www.mailcleaner.org/downloads/mailcleaner_community_2012v6_64bit.iso&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Booter sur l'iso ou donner l'iso comme périphérique de démarrage si c'est une VM. L'installation se lance automatiquement.&lt;br /&gt;
&lt;br /&gt;
Aprés le 1er reboot, configuration de base en ligne de commande :&lt;br /&gt;
  1 keyboard&lt;br /&gt;
  2 root passwd&lt;br /&gt;
  3 network&lt;br /&gt;
  4 MC Install/Reinstall&lt;br /&gt;
Passer les points dans l'ordre pour arriver au 4 : configuration, création des bases.\\ &lt;br /&gt;
Donner un ID unique par machine pouvant faire partie d'un cluster (voir plus bas).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Warning|BUG : en cas d'erreurs mysql, laisser l'installation se terminer (jusqu'à &amp;quot;starting services...&amp;quot;)}}&lt;br /&gt;
En effet, l'installateur n'attend pas - pour une raison inconnue - la fin de création des bases de données avant de continuer (notamment sur serveur virtualisé), et ne peut donc pas créer ses tables !\\ &lt;br /&gt;
Dans ce cas, se connecter en ssh et forcer l'arrêt du script qui reste bloqué sur &amp;quot;starting services...&amp;quot;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;ps -ef | grep install&lt;br /&gt;
kill &amp;lt;pid des processus *install*&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
puis :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;aptitude update&lt;br /&gt;
aptitude safe-upgrade #(répondre yes et yes)&lt;br /&gt;
cd /usr/mailcleaner&lt;br /&gt;
cvs -q update -dP&lt;br /&gt;
source lib/updates/update_binaries.sh&lt;br /&gt;
stabilizeBinaries&lt;br /&gt;
cd install&lt;br /&gt;
/opt/mysql5/bin/mysqladmin -S /var/mailcleaner/run/mysql_master/mysqld.sock -u root password 'new-password'&lt;br /&gt;
/opt/mysql5/bin/mysqladmin -S /var/mailcleaner/run/mysql_slave/mysqld.sock -u root password 'new-password'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
par sécurité éditer ./MC_prepare_dbs.sh, aux alentour de la ligne 124 modifier :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_slave/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&lt;br /&gt;
/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_master/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
par&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_slave/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&lt;br /&gt;
sleep 5&lt;br /&gt;
/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_master/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&lt;br /&gt;
sleep 5&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
puis continuer l'installation :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;./MC_prepare_dbs.sh # donner le mdp root mysql&lt;br /&gt;
/usr/mailcleaner/bin/check_db.pl --update&lt;br /&gt;
/usr/mailcleaner/bin/dump_apache_config.pl&lt;br /&gt;
/etc/init.d/mailcleaner restart&lt;br /&gt;
/usr/mailcleaner/bin/collect_rrd_stats.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
si problème de connexion en admin au webui :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/opt/mysql5/bin/mysql -S /var/mailcleaner/run/mysql_master/mysqld.sock -uroot -p mc_config&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  mysql&amp;gt; update administrator set password=ENCRYPT('new-password') where username='admin';&lt;br /&gt;
Première connexion :&lt;br /&gt;
  https://mailcleaner.domain.fr/admin&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
== Système ==&lt;br /&gt;
Commencer par passer en revue l'intégralité de la configuration&lt;br /&gt;
  * Configuration / General settings : passer le GUI en français + adresses mails, décocher &amp;quot;Display domain selector&amp;quot;, remplir Company&lt;br /&gt;
  * Configuration / Domains&lt;br /&gt;
    * Domain default settings : paramétrer emails dans general,  preferences, activer greylist dans filtering&lt;br /&gt;
  * SMTP&lt;br /&gt;
    * SMTP checks : activer les 4 RBLs&lt;br /&gt;
  * Anti-spam&lt;br /&gt;
    * Enable access to whitelist&lt;br /&gt;
    * NiceBayes enable module, désactiver decisive (voir [[#bayes|Filtres Bayes]] pour modifier le score que NiceNayes doit ajouter à spamassassin)&lt;br /&gt;
    * preRBLSs enable module, activer listes ips.backscatterer.org et dsn.bl.rfc-ignorant.de&lt;br /&gt;
    * UriRBLs enable module, activer les 3 listes&lt;br /&gt;
    * spamc enable DCC Razor Pyzor, décocher DKIM control&lt;br /&gt;
  * Services / web interfaces&lt;br /&gt;
    * changer le nom URL&lt;br /&gt;
    * enable SSL, ajouter certificats (cat /usr/mailcleaner/etc/apache/certs/certificate.pem, copier la partie KEY (avec BEGIN RSA PRIVATE KEY et END) dans private key et le reste (avec BEGIN CERTIFICATE et END) dansSSL certificate)&lt;br /&gt;
  * Monitoring/status (ou en cliquant dans le message en haut)&lt;br /&gt;
    * redémarrer les services qui doivent l'être&lt;br /&gt;
&lt;br /&gt;
Rebooter une fois. Si l'installateur redémarre après boot (au lieu d'arriver sur la demande de login), sortir (5), lancer :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;update-rc.d -f z_installmc remove&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
pour le désactiver au prochain redémarrage.&lt;br /&gt;
&lt;br /&gt;
== RBLs ==&lt;br /&gt;
&lt;br /&gt;
  * soit niveau SMTP -&amp;gt; rejetés&lt;br /&gt;
  * soit niveau PreRBLS -&amp;gt; quarantaine&lt;br /&gt;
  * soit niveau Spamc -&amp;gt; inclu dans la décision de tag spam&lt;br /&gt;
Attention à ne pas cocher les même RBLs à ces différents niveaux, ça ne servirait à rien et ralentirait le filtrage.&lt;br /&gt;
== Whitelists/blacklists ==&lt;br /&gt;
  * Whitelists :&lt;br /&gt;
    * Config/Anti-spam/Enable access to whitelist : c'est une whitelist générale (pour tous les domaines), mais il faut aussi qu'elle soit activée pour que les whitelists par domain apparaissent&lt;br /&gt;
    * Config/Domains/&amp;lt;nom de domain&amp;gt;/filtering/Enable whitelist&lt;br /&gt;
&lt;br /&gt;
  * Blacklists :&lt;br /&gt;
    * Config/SMTP/Connection control&lt;br /&gt;
Voir aussi plus bas : whitelists / blacklists manuelles.&lt;br /&gt;
== Quarantaine ==&lt;br /&gt;
Quarantaine/ Rapport de quarantaine :&lt;br /&gt;
  * Domains/&amp;lt;nom de domaine&amp;gt;/preferences&lt;br /&gt;
voir aussi les preferences par défaut dans &amp;quot;Domain default settings&amp;quot;/&amp;quot;preferences&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Ajout d'un domaine à relayer ==&lt;br /&gt;
&amp;quot;Domains&amp;quot; / &amp;quot;New domain&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Paramétrer le serveur destinataire dans &amp;quot;delivery&amp;quot;, cliquer &amp;quot;submit&amp;quot; et tester la destination.&lt;br /&gt;
&lt;br /&gt;
Paramétrer &amp;quot;address verification&amp;quot; : smtp, donner IPip du serveur destinataire, cliquer &amp;quot;submit&amp;quot; et &amp;quot;tester&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Améliorations ==&lt;br /&gt;
=== transfert de règles sa-learn ===&lt;br /&gt;
Sur l'ancien serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;sa-learn --backup &amp;gt; regles.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Sur le serveur Mailcleaner :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;sa-learn -p /opt/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /opt/mailcleaner/share/spamassassin --restore regles.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;bayes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Filtre Bayes ==&lt;br /&gt;
Le filtre est désactivé car aucune base n'est créée par défaut. Dans l'entête des mails on voit :&lt;br /&gt;
  NiceBayes disabled (no database ?)&lt;br /&gt;
Le principe est de déclarer une boîte aux lettres dédiée aux spams / hams, scannée par un script tous les jours pour alimenter la base. Installer la librairie nécessaire :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;apt-get install libmail-imapclient-perl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Créer un script /opt/mailcleaner/scripts/gethamspam.sh :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=div&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# copy the old database to a timestamped copy&lt;br /&gt;
TIMESTAMP=$(date +%d)&lt;br /&gt;
REPORT_EMAIL=admin@domain.com&lt;br /&gt;
&lt;br /&gt;
# backup Spamassassin bayes db&lt;br /&gt;
sa-learn -p /opt/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /opt/mailcleaner/share/spamassassin --backup &amp;gt;/var/mailcleaner/spool/spamassassin/spamass_rules.bak&lt;br /&gt;
# backup Bogofilter bayes db&lt;br /&gt;
cp -a /root/.bogofilter/wordlist.db &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db&amp;quot;&lt;br /&gt;
if [ -f &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db.gz&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
   rm -f &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db.gz&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
gzip &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# get the spam and ham from the imap mailbox for the spamassassin and bogofilter db's&lt;br /&gt;
/opt/mailcleaner/scripts/imap-sa-learn.pl&lt;br /&gt;
if [ $? -ne 0 ]&lt;br /&gt;
then&lt;br /&gt;
    (&lt;br /&gt;
      echo &amp;quot;Subject: Bogofilter database update $(hostname) failed&amp;quot;&lt;br /&gt;
      ls -l /var/mailcleaner/spool/bogofilter/database/&lt;br /&gt;
      ) | /usr/sbin/sendmail $REPORT_EMAIL&lt;br /&gt;
    exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# copy the database to the right location&lt;br /&gt;
cp /root/.bogofilter/wordlist.db /var/mailcleaner/spool/bogofilter/database/wordlist.db&lt;br /&gt;
# If slave(s) Mailcleaner exists, ssh copy dbs to the slave(s)&lt;br /&gt;
scp /root/.bogofilter/wordlist.db mailcleaner2.domain.com:/var/mailcleaner/spool/bogofilter/database/&lt;br /&gt;
scp /var/mailcleaner/spool/spamassassin/spamass_rules.bak mailcleaner2.domain.com:/var/mailcleaner/spool/spamassassin/&lt;br /&gt;
&lt;br /&gt;
# get the spam and ham counts from bogofilter - this just prints how many spam and ham you collected so far...&lt;br /&gt;
/opt/bogofilter/bin/bogoutil -w /var/mailcleaner/spool/bogofilter/database/wordlist.db .MSG_COUNT&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Sans oublier&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chmod 755 /opt/mailcleaner/scripts/gethamspam.sh&lt;br /&gt;
chmod 755 /opt/mailcleaner/scripts/imap-sa-learn.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il appelle /opt/mailcleaner/scripts/imap-sa-learn.pl (http://forum.mailcleaner.org/viewtopic.php?f=3&amp;amp;t=836, voir aussi http://www.gagravarr.org/code). Le script crée une base /root/.bogofilter/wordlist.db et la copie dans /var/mailcleaner/spool/bogofilter/database. Il semble que les 2 emplacements soient nécessaires (à vérifier à l'occasion).&lt;br /&gt;
&lt;br /&gt;
{{Note|PENSER a changer le propriétaire de  /var/mailcleaner/spool/bogofilter/database/wordlist.db pour que mailcleaner puisse le modifier!&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chown mailcleaner:mailcleaner /var/mailcleaner/spool/bogofilter/database/wordlist.db&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
Créer un fichier dans cron.d (appelé gethamspam sans &amp;quot;.sh&amp;quot; car cron ne prend pas toujours)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# cron-jobs for bayes bogofilter database&lt;br /&gt;
#&lt;br /&gt;
MAILTO=root&lt;br /&gt;
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin&lt;br /&gt;
00 06 * * *	root /opt/mailcleaner/scripts/gethamspam.sh &amp;gt;&amp;gt; /var/log/gethamspam.log 2&amp;gt;&amp;amp;1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Paramétrer logrotate pour archiver /var/log/gethamspam.log : créer /etc/logrotate.d/gethamspam contenant :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash enclose=div&amp;gt;/var/log/gethamspam.log {&lt;br /&gt;
	weekly&lt;br /&gt;
	rotate 3&lt;br /&gt;
	compress&lt;br /&gt;
	nomail&lt;br /&gt;
	notifempty&lt;br /&gt;
	missingok&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SLAVE : si des Mailcleaner de secours sont en cluster avec celui-ci, une fois les bases copiées par le script, il faut les traiter.&lt;br /&gt;
* la base Bogofilter n'a pas besoin d'intervention&lt;br /&gt;
* la base Spamassassin doit être restaurée sur le slave, par exemple par un script de ce genre :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=div&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
if [ -f /var/mailcleaner/spool/spamassassin/spambayes.tgz ]&lt;br /&gt;
then&lt;br /&gt;
  rm -f /var/mailcleaner/spool/spamassassin/spambayes.tgz&lt;br /&gt;
  tar -cvf /var/mailcleaner/spool/spamassassin/spambayes.tgz /var/mailcleaner/spool/spamassassin/bayes*&lt;br /&gt;
fi&lt;br /&gt;
if [ -f /var/mailcleaner/spool/spamassassin/spamass_rules.bak ]&lt;br /&gt;
then&lt;br /&gt;
  sa-learn -p /usr/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /usr/mailcleaner/share/spamassassin --restore /var/mailcleaner/spool/spamassassin/spamass_rules.bak&lt;br /&gt;
  rm -f /var/mailcleaner/spool/spamassassin/spamass_rules.bak&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Activer le module dans l'interface. Le déclarer '''non décisif'''. Il doit faire partie du score de spamassassin mais pas plus, sinon il y a trop de faux-positifs.&lt;br /&gt;
&lt;br /&gt;
Pour l'intégrer à spamassassin, créer une règle (dans un fichier xxxxx.cf à créer dans /usr/share/mailcleaner/share/spamassassin) :&lt;br /&gt;
  # Custom rules&lt;br /&gt;
  header LOCAL_NICEBAYES_HEADER    X-NiceBayes =~ /is spam/&lt;br /&gt;
  describe LOCAL_NICEBAYES_HEADER  NiceBayes header detected&lt;br /&gt;
  score LOCAL_NICEBAYES_HEADER     1.5&lt;br /&gt;
&lt;br /&gt;
== Règles custom spamassassin ==&lt;br /&gt;
Modifier la configuration de sa-update (procédure selon ces préconisation (ajout de channels, surtout) :&lt;br /&gt;
  * http://forum.mailcleaner.org/viewtopic.php?f=15&amp;amp;t=964&lt;br /&gt;
  * http://forum.mailcleaner.org/viewtopic.php?f=3&amp;amp;t=1776)&lt;br /&gt;
Pour commencer, créer les répertoires, importer les clés spamassassin et les règles updates en une seul commande :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/local/bin/sa-update -v&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Intégrer la clé GPG du canal Sought :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;wget http://yerp.org/rules/GPG.KEY&lt;br /&gt;
/usr/local/bin/sa-update --import GPG.KEY&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
créer /opt/mailcleaner/scripts/sa-update-customs.sh&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=div&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Spamassassin auto updater with custom channels&lt;br /&gt;
# First import key 6C6191E3 :&lt;br /&gt;
#  wget http://yerp.org/rules/GPG.KEY&lt;br /&gt;
#  sa-update --import GPG.KEY&lt;br /&gt;
SAUPD=/usr/local/bin/sa-update&lt;br /&gt;
$SAUPD --channel updates.spamassassin.org --updatedir /usr/mailcleaner/share/spamassassin &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
$SAUPD --gpgkey 6C6191E3 --channel sought.rules.yerp.org --updatedir /usr/mailcleaner/share/spamassassin &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
$SAUPD -v &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
wget http://www.pccc.com/downloads/SpamAssassin/contrib/KAM.cf &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
mv -f KAM.cf /usr/mailcleaner/share/spamassassin/KAM.cf&lt;br /&gt;
/usr/mailcleaner/etc/init.d/mailscanner restart&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
sans oublier&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chmod 755 /opt/mailcleaner/scripts/sa-update-customs.sh&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
et créer un lien dans cron.daily vers le script et paramétrer logrotate pour archiver /var/log/sa-update.log.&lt;br /&gt;
&lt;br /&gt;
Modifier également /usr/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf :&lt;br /&gt;
  bayes_auto_learn 1&lt;br /&gt;
  bayes_auto_learn_threshold_spam 7.0&lt;br /&gt;
  bayes_auto_learn_threshold_nonspam -0.1&lt;br /&gt;
&lt;br /&gt;
== Règles custom Clamav (Clamspam) ==&lt;br /&gt;
Clamav est installé et lancé après l'installation de base, mais Clamspam ne démarre pas par défaut car il n'a pas de base. On va charger les bases custom.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;aptitude install rsync gnupg curl socat gzip dnsutils&lt;br /&gt;
mkdir -p /opt/mailcleaner/sanesecurity/cache&lt;br /&gt;
cd /opt/mailcleaner/install&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Vérifier la dernière version du script sur http://downloads.sourceforge.net/project/unofficial-sigs/files&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;wget http://downloads.sourceforge.net/project/unofficial-sigs/clamav-unofficial-sigs-3.7.2.tar.gz&lt;br /&gt;
tar -xvzf clamav-unofficial-sigs-3.7.2.tar.gz&lt;br /&gt;
cd /opt/mailcleaner/scripts&lt;br /&gt;
cp /opt/mailcleaner/install/clamav-unofficial-sigs-3.7.2/clamav-unofficial-sigs.sh .&lt;br /&gt;
cp /opt/mailcleaner/install/clamav-unofficial-sigs-3.7.2/clamav-unofficial-sigs.conf .&lt;br /&gt;
chmod 755 clamav-unofficial-sigs.sh&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modifier clamav-unofficial-sigs.sh :&lt;br /&gt;
  default_config=&amp;quot;/opt/mailcleaner/scripts/clamav-unofficial-sigs.conf&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Modifier les options suivantes dans clamav-unofficial-sigs.conf :&lt;br /&gt;
  PATH=&amp;quot;/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/clamav/bin&amp;quot;&lt;br /&gt;
  clam_dbs=&amp;quot;/var/mailcleaner/spool/clamspam&amp;quot;&lt;br /&gt;
  clamd_pid=&amp;quot;/var/mailcleaner/run/clamav/clamspamd.pid&amp;quot;&lt;br /&gt;
  reload_dbs=&amp;quot;yes&amp;quot;&lt;br /&gt;
  #reload_opt=&amp;quot;clamdscan --reload&amp;quot; # Commenter cette ligne&lt;br /&gt;
  reload_opt=&amp;quot;/usr/mailcleaner/etc/init.d/clamspamd restart&amp;quot; # et ajouter celle-ci&lt;br /&gt;
  clamd_socket=&amp;quot;/var/mailcleaner/run/clamav/clamspamd.sock&amp;quot;&lt;br /&gt;
  work_dir=&amp;quot;/opt/mailcleaner/share/sanesecurity/cache&amp;quot;   #Top level working directory&lt;br /&gt;
  user_configuration_complete=&amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Lancer le script une première fois, afin qu'il crée ses répertoires, ses fichiers de bases et fasse une première synchronisation.&lt;br /&gt;
&lt;br /&gt;
Créer un lien pour un lancement journalier (ou dans cron.hourly si on veut un update toutes les heures !):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;ln -s /opt/mailcleaner/scripts/clamav-unofficial-sigs.sh /etc/cron.daily/clamav-unofficial-sigs&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Scores Fuzzy ==&lt;br /&gt;
Fuzzy a une fâcheuse tendance à générer quelques faux-positifs. Notamment, la règle de vérification des types d'images boucle sur chaque image du mail, et si elle buggue (image non reconnue par rapport à son extension) pour une raison ou une autre, le score s’additionne pour chaque image. ça peut aller vite !&lt;br /&gt;
&lt;br /&gt;
Donc, on baisse au moins ce score. Dans /etc/mailscanner/FuzzyOcr.cf_template (qui reconstruit /usr/mailcleaner/share/spamassassin/FuzzyOcr.cf à chaque redémarrage de mailcleaner) modifier :&lt;br /&gt;
 focr_wrongext_score '''0.1'''&lt;br /&gt;
Relancer mailcleaner&lt;br /&gt;
 service mailcleaner restart&lt;br /&gt;
&lt;br /&gt;
== Whitelist / blacklist manuelles ==&lt;br /&gt;
Il est possible d'ajouter des filtres, par exemple une whitelist/blacklist manuelle : /usr/mailcleaner/share/spamassassin/lists-custom.cf de ce format :&lt;br /&gt;
  whitelist_from          *.gooddomain.fr&lt;br /&gt;
  blacklist_from          *.baddomain.fr&lt;br /&gt;
  blacklist_from          mail@baddomain.fr&lt;br /&gt;
Et ne pas oublier :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chown mailcleaner.mailcleaner /usr/mailcleaner/share/spamassassin/lists-custom.cf&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mise en cluster ==&lt;br /&gt;
sur les 2 serveurs :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;cat /etc/mailcleaner.conf | grep PWD&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
pour avoir les mots de passes des bases respectives.&lt;br /&gt;
&lt;br /&gt;
Sur master :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/mailcleaner/scripts/configuration/slaves.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  1) change host settings (donner l'IP de ce serveur)&lt;br /&gt;
  4) add a slave (donner l'IP du serveur SLAVE)&lt;br /&gt;
Sur slave :&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Warning|BUG !!!! Un des scripts n'est pas exécutable !}}&lt;br /&gt;
&lt;br /&gt;
Commencer par :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chmod 755 /usr/mailcleaner/bin/resync_db.sh&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Et lancer :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/mailcleaner/scripts/configuration/slaves.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  1) change host settings (donner l'IP de ce serveur)&lt;br /&gt;
  5) set this host as a slave (donner l'IP du serveur MAITRE)&lt;br /&gt;
&lt;br /&gt;
== Mises à jour ==&lt;br /&gt;
Commencer par un snapshot de la VM !!&lt;br /&gt;
&lt;br /&gt;
Vérifier la version en cours de chacun des serveurs dans monitoring/status&lt;br /&gt;
&lt;br /&gt;
Vérifier la dernière version ici : http://www.mailcleaner.org/doku.php/downloads:latest&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aptitude update&lt;br /&gt;
aptitude safe-upgrade&lt;br /&gt;
cd /usr/mailcleaner&lt;br /&gt;
cvs -q update -dP&lt;br /&gt;
source lib/updates/update_binaries.sh&lt;br /&gt;
stabilizeBinaries&lt;br /&gt;
install/install_perl_libs.sh&lt;br /&gt;
install/install_sa.sh&lt;br /&gt;
/usr/mailcleaner/bin/check_db.pl --update&lt;br /&gt;
/etc/init.d/mailcleaner restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Ancienne méthode&lt;br /&gt;
cd /usr/mailcleaner&lt;br /&gt;
cvs update -dP updates # noter les numéros de patchs téléchargés&lt;br /&gt;
bin/apply_update.sh &amp;lt;PATCHNUMBER&amp;gt; # ne renvoit rien si OK&lt;br /&gt;
Vérifier le patch appliqué dans &amp;quot;Monitoring&amp;quot; / &amp;quot;status&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Mutualisation&amp;quot; de Mailcleaner =&lt;br /&gt;
On entend par là, faire profiter d'autres boîtes mails du filtrage de Mailcleaner. Pour ça rien de plus simple :&lt;br /&gt;
 apt-get install fetchmail&lt;br /&gt;
Créer un fichier /etc/fetchmailrc avec par exemple :&lt;br /&gt;
 defaults&lt;br /&gt;
 proto pop3&lt;br /&gt;
 set logfile &amp;quot;/var/log/fetchmaillog&amp;quot;&lt;br /&gt;
 set daemon 300&lt;br /&gt;
 &lt;br /&gt;
 # Fetchmail config&lt;br /&gt;
 poll pop3.remotedomain.com with proto POP3&lt;br /&gt;
    user &amp;quot;mymail@remotedomain.com&amp;quot; with password &amp;quot;MON_PASS&amp;quot; is user@domainknownbyMC.com here&lt;br /&gt;
    smtphost &amp;quot;localhost&amp;quot; smtpname &amp;quot;user@domainknownbyMC.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 touch /var/log/fetchmaillog&lt;br /&gt;
 chown fetchmail /var/log/fetchmaillog&lt;br /&gt;
 update-rc.d enable fetchmail&lt;br /&gt;
 service fetchmail start&lt;br /&gt;
&lt;br /&gt;
= Validation de l'intallation =&lt;br /&gt;
on peut tirer profit d'un scan complet chez MXTOOLBOX&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;https://mxtoolbox.com/domain/serveurmx.domaine.fr&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TIPS =&lt;br /&gt;
* Le slave n'a peut-être pas le bon nom de host pour la bannière SMTP. Dans /etc/mailcleaner.conf, si la ligne n'y est pas, ajouter :&lt;br /&gt;
 HELONAME = mx2.domaine.fr&lt;br /&gt;
Puis relancer (par l'interface) le &amp;quot;incoming MTA&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* /opt/mailcleaner/scripts/configuration/set_ip_config.sh pour changer l'ip du système&lt;br /&gt;
&lt;br /&gt;
* Changer le nom d'hôte : modifier dans /etc/hosts, /etc/hostname, et lancer /etc/init.d/hostname.sh&lt;br /&gt;
&lt;br /&gt;
* sur serveur SLAVE, si le message :&lt;br /&gt;
&lt;br /&gt;
 failed to open /var/mailcleaner/spool/tmp/mailcleaner/domains.list for linear search: No such file or directory&lt;br /&gt;
&lt;br /&gt;
apparaît, lancer :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/mailcleaner/bin/dump_domains.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Test des règles de spam :&lt;br /&gt;
  /usr/mailcleaner/bin/is_spam.sh -D source-mail.eml&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Whitelister&amp;quot; sur greylist les services utilisant plusieurs IPs (Google, Outlook...)&lt;br /&gt;
Ajouter un fichier /usr/mailcleaner/etc/greylistd/whitelist-hosts&lt;br /&gt;
 # Google&lt;br /&gt;
 209.85.128.0/17&lt;br /&gt;
 &lt;br /&gt;
 # Outlook.com / MS&lt;br /&gt;
 207.46.0.0/16 &lt;br /&gt;
 &lt;br /&gt;
 # Yahoo.com&lt;br /&gt;
 216.109.112.0/20&lt;br /&gt;
 216.39.48.0/20&lt;br /&gt;
 98.136.0.0/14&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=MailCleaner:_installation_et_configuration&amp;diff=6611</id>
		<title>MailCleaner: installation et configuration</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=MailCleaner:_installation_et_configuration&amp;diff=6611"/>
				<updated>2018-03-06T16:44:27Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Warning|UPDATE 01/2015 : les listes RHSBL* n'existe plus. Ne pas la cocher si elle apparaît encore dans les menus}}&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
{{Note|Le site communautaire est accessible sur http://www.mailcleaner.org. Le site commercial sur http://www.mailcleaner.net}}&lt;br /&gt;
Télécharger l'image :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;wget http://www.mailcleaner.org/downloads/mailcleaner_community_2012v6_64bit.iso&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Booter sur l'iso ou donner l'iso comme périphérique de démarrage si c'est une VM. L'installation se lance automatiquement.&lt;br /&gt;
&lt;br /&gt;
Aprés le 1er reboot, configuration de base en ligne de commande :&lt;br /&gt;
  1 keyboard&lt;br /&gt;
  2 root passwd&lt;br /&gt;
  3 network&lt;br /&gt;
  4 MC Install/Reinstall&lt;br /&gt;
Passer les points dans l'ordre pour arriver au 4 : configuration, création des bases.\\ &lt;br /&gt;
Donner un ID unique par machine pouvant faire partie d'un cluster (voir plus bas).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Warning|BUG : en cas d'erreurs mysql, laisser l'installation se terminer (jusqu'à &amp;quot;starting services...&amp;quot;)}}&lt;br /&gt;
En effet, l'installateur n'attend pas - pour une raison inconnue - la fin de création des bases de données avant de continuer (notamment sur serveur virtualisé), et ne peut donc pas créer ses tables !\\ &lt;br /&gt;
Dans ce cas, se connecter en ssh et forcer l'arrêt du script qui reste bloqué sur &amp;quot;starting services...&amp;quot;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;ps -ef | grep install&lt;br /&gt;
kill &amp;lt;pid des processus *install*&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
puis :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;aptitude update&lt;br /&gt;
aptitude safe-upgrade #(répondre yes et yes)&lt;br /&gt;
cd /usr/mailcleaner&lt;br /&gt;
cvs -q update -dP&lt;br /&gt;
source lib/updates/update_binaries.sh&lt;br /&gt;
stabilizeBinaries&lt;br /&gt;
cd install&lt;br /&gt;
/opt/mysql5/bin/mysqladmin -S /var/mailcleaner/run/mysql_master/mysqld.sock -u root password 'new-password'&lt;br /&gt;
/opt/mysql5/bin/mysqladmin -S /var/mailcleaner/run/mysql_slave/mysqld.sock -u root password 'new-password'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
par sécurité éditer ./MC_prepare_dbs.sh, aux alentour de la ligne 124 modifier :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_slave/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&lt;br /&gt;
/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_master/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
par&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_slave/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&lt;br /&gt;
sleep 5&lt;br /&gt;
/opt/mysql5/bin/mysql -S ${VARDIR}/run/mysql_master/mysqld.sock &amp;lt; /tmp/tmp_install.sql 2&amp;gt;&amp;amp;1&lt;br /&gt;
sleep 5&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
puis continuer l'installation :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;./MC_prepare_dbs.sh # donner le mdp root mysql&lt;br /&gt;
/usr/mailcleaner/bin/check_db.pl --update&lt;br /&gt;
/usr/mailcleaner/bin/dump_apache_config.pl&lt;br /&gt;
/etc/init.d/mailcleaner restart&lt;br /&gt;
/usr/mailcleaner/bin/collect_rrd_stats.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
si problème de connexion en admin au webui :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/opt/mysql5/bin/mysql -S /var/mailcleaner/run/mysql_master/mysqld.sock -uroot -p mc_config&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  mysql&amp;gt; update administrator set password=ENCRYPT('new-password') where username='admin';&lt;br /&gt;
Première connexion :&lt;br /&gt;
  https://mailcleaner.domain.fr/admin&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
== Système ==&lt;br /&gt;
Commencer par passer en revue l'intégralité de la configuration&lt;br /&gt;
  * Configuration / General settings : passer le GUI en français + adresses mails, décocher &amp;quot;Display domain selector&amp;quot;, remplir Company&lt;br /&gt;
  * Configuration / Domains&lt;br /&gt;
    * Domain default settings : paramétrer emails dans general,  preferences, activer greylist dans filtering&lt;br /&gt;
  * SMTP&lt;br /&gt;
    * SMTP checks : activer les 4 RBLs&lt;br /&gt;
  * Anti-spam&lt;br /&gt;
    * Enable access to whitelist&lt;br /&gt;
    * NiceBayes enable module, désactiver decisive (voir [[#bayes|Filtres Bayes]] pour modifier le score que NiceNayes doit ajouter à spamassassin)&lt;br /&gt;
    * preRBLSs enable module, activer listes ips.backscatterer.org et dsn.bl.rfc-ignorant.de&lt;br /&gt;
    * UriRBLs enable module, activer les 3 listes&lt;br /&gt;
    * spamc enable DCC Razor Pyzor, décocher DKIM control&lt;br /&gt;
  * Services / web interfaces&lt;br /&gt;
    * changer le nom URL&lt;br /&gt;
    * enable SSL, ajouter certificats (cat /usr/mailcleaner/etc/apache/certs/certificate.pem, copier la partie KEY (avec BEGIN RSA PRIVATE KEY et END) dans private key et le reste (avec BEGIN CERTIFICATE et END) dansSSL certificate)&lt;br /&gt;
  * Monitoring/status (ou en cliquant dans le message en haut)&lt;br /&gt;
    * redémarrer les services qui doivent l'être&lt;br /&gt;
&lt;br /&gt;
Rebooter une fois. Si l'installateur redémarre après boot (au lieu d'arriver sur la demande de login), sortir (5), lancer :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;update-rc.d -f z_installmc remove&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
pour le désactiver au prochain redémarrage.&lt;br /&gt;
&lt;br /&gt;
== RBLs ==&lt;br /&gt;
&lt;br /&gt;
  * soit niveau SMTP -&amp;gt; rejetés&lt;br /&gt;
  * soit niveau PreRBLS -&amp;gt; quarantaine&lt;br /&gt;
  * soit niveau Spamc -&amp;gt; inclu dans la décision de tag spam&lt;br /&gt;
Attention à ne pas cocher les même RBLs à ces différents niveaux, ça ne servirait à rien et ralentirait le filtrage.&lt;br /&gt;
== Whitelists/blacklists ==&lt;br /&gt;
  * Whitelists :&lt;br /&gt;
    * Config/Anti-spam/Enable access to whitelist : c'est une whitelist générale (pour tous les domaines), mais il faut aussi qu'elle soit activée pour que les whitelists par domain apparaissent&lt;br /&gt;
    * Config/Domains/&amp;lt;nom de domain&amp;gt;/filtering/Enable whitelist&lt;br /&gt;
&lt;br /&gt;
  * Blacklists :&lt;br /&gt;
    * Config/SMTP/Connection control&lt;br /&gt;
Voir aussi plus bas : whitelists / blacklists manuelles.&lt;br /&gt;
== Quarantaine ==&lt;br /&gt;
Quarantaine/ Rapport de quarantaine :&lt;br /&gt;
  * Domains/&amp;lt;nom de domaine&amp;gt;/preferences&lt;br /&gt;
voir aussi les preferences par défaut dans &amp;quot;Domain default settings&amp;quot;/&amp;quot;preferences&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Ajout d'un domaine à relayer ==&lt;br /&gt;
&amp;quot;Domains&amp;quot; / &amp;quot;New domain&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Paramétrer le serveur destinataire dans &amp;quot;delivery&amp;quot;, cliquer &amp;quot;submit&amp;quot; et tester la destination.&lt;br /&gt;
&lt;br /&gt;
Paramétrer &amp;quot;address verification&amp;quot; : smtp, donner IPip du serveur destinataire, cliquer &amp;quot;submit&amp;quot; et &amp;quot;tester&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Améliorations ==&lt;br /&gt;
=== transfert de règles sa-learn ===&lt;br /&gt;
Sur l'ancien serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;sa-learn --backup &amp;gt; regles.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Sur le serveur Mailcleaner :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;sa-learn -p /opt/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /opt/mailcleaner/share/spamassassin --restore regles.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;bayes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Filtre Bayes ==&lt;br /&gt;
Le filtre est désactivé car aucune base n'est créée par défaut. Dans l'entête des mails on voit :&lt;br /&gt;
  NiceBayes disabled (no database ?)&lt;br /&gt;
Le principe est de déclarer une boîte aux lettres dédiée aux spams / hams, scannée par un script tous les jours pour alimenter la base. Installer la librairie nécessaire :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;apt-get install libmail-imapclient-perl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Créer un script /opt/mailcleaner/scripts/gethamspam.sh :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=div&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# copy the old database to a timestamped copy&lt;br /&gt;
TIMESTAMP=$(date +%d)&lt;br /&gt;
REPORT_EMAIL=admin@domain.com&lt;br /&gt;
&lt;br /&gt;
# backup Spamassassin bayes db&lt;br /&gt;
sa-learn -p /opt/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /opt/mailcleaner/share/spamassassin --backup &amp;gt;/var/mailcleaner/spool/spamassassin/spamass_rules.bak&lt;br /&gt;
# backup Bogofilter bayes db&lt;br /&gt;
cp -a /root/.bogofilter/wordlist.db &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db&amp;quot;&lt;br /&gt;
if [ -f &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db.gz&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
   rm -f &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db.gz&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
gzip &amp;quot;/root/.bogofilter/$TIMESTAMP-wordlist.db&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# get the spam and ham from the imap mailbox for the spamassassin and bogofilter db's&lt;br /&gt;
/opt/mailcleaner/scripts/imap-sa-learn.pl&lt;br /&gt;
if [ $? -ne 0 ]&lt;br /&gt;
then&lt;br /&gt;
    (&lt;br /&gt;
      echo &amp;quot;Subject: Bogofilter database update $(hostname) failed&amp;quot;&lt;br /&gt;
      ls -l /var/mailcleaner/spool/bogofilter/database/&lt;br /&gt;
      ) | /usr/sbin/sendmail $REPORT_EMAIL&lt;br /&gt;
    exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# copy the database to the right location&lt;br /&gt;
cp /root/.bogofilter/wordlist.db /var/mailcleaner/spool/bogofilter/database/wordlist.db&lt;br /&gt;
# If slave(s) Mailcleaner exists, ssh copy dbs to the slave(s)&lt;br /&gt;
scp /root/.bogofilter/wordlist.db mailcleaner2.domain.com:/var/mailcleaner/spool/bogofilter/database/&lt;br /&gt;
scp /var/mailcleaner/spool/spamassassin/spamass_rules.bak mailcleaner2.domain.com:/var/mailcleaner/spool/spamassassin/&lt;br /&gt;
&lt;br /&gt;
# get the spam and ham counts from bogofilter - this just prints how many spam and ham you collected so far...&lt;br /&gt;
/opt/bogofilter/bin/bogoutil -w /var/mailcleaner/spool/bogofilter/database/wordlist.db .MSG_COUNT&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Sans oublier&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chmod 755 /opt/mailcleaner/scripts/gethamspam.sh&lt;br /&gt;
chmod 755 /opt/mailcleaner/scripts/imap-sa-learn.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il appelle /opt/mailcleaner/scripts/imap-sa-learn.pl (http://forum.mailcleaner.org/viewtopic.php?f=3&amp;amp;t=836, voir aussi http://www.gagravarr.org/code). Le script crée une base /root/.bogofilter/wordlist.db et la copie dans /var/mailcleaner/spool/bogofilter/database. Il semble que les 2 emplacements soient nécessaires (à vérifier à l'occasion).&lt;br /&gt;
&lt;br /&gt;
{{Note|PENSER a changer le propriétaire de  /var/mailcleaner/spool/bogofilter/database/wordlist.db pour que mailcleaner puisse le modifier!&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chown mailcleaner:mailcleaner /var/mailcleaner/spool/bogofilter/database/wordlist.db&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
Créer un fichier dans cron.d (appelé gethamspam sans &amp;quot;.sh&amp;quot; car cron ne prend pas toujours)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# cron-jobs for bayes bogofilter database&lt;br /&gt;
#&lt;br /&gt;
MAILTO=root&lt;br /&gt;
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin&lt;br /&gt;
00 06 * * *	root /opt/mailcleaner/scripts/gethamspam.sh &amp;gt;&amp;gt; /var/log/gethamspam.log 2&amp;gt;&amp;amp;1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Paramétrer logrotate pour archiver /var/log/gethamspam.log : créer /etc/logrotate.d/gethamspam contenant :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash enclose=div&amp;gt;/var/log/gethamspam.log {&lt;br /&gt;
	weekly&lt;br /&gt;
	rotate 3&lt;br /&gt;
	compress&lt;br /&gt;
	nomail&lt;br /&gt;
	notifempty&lt;br /&gt;
	missingok&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SLAVE : si des Mailcleaner de secours sont en cluster avec celui-ci, une fois les bases copiées par le script, il faut les traiter.&lt;br /&gt;
* la base Bogofilter n'a pas besoin d'intervention&lt;br /&gt;
* la base Spamassassin doit être restaurée sur le slave, par exemple par un script de ce genre :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=div&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
if [ -f /var/mailcleaner/spool/spamassassin/spambayes.tgz ]&lt;br /&gt;
then&lt;br /&gt;
  rm -f /var/mailcleaner/spool/spamassassin/spambayes.tgz&lt;br /&gt;
  tar -cvf /var/mailcleaner/spool/spamassassin/spambayes.tgz /var/mailcleaner/spool/spamassassin/bayes*&lt;br /&gt;
fi&lt;br /&gt;
if [ -f /var/mailcleaner/spool/spamassassin/spamass_rules.bak ]&lt;br /&gt;
then&lt;br /&gt;
  sa-learn -p /usr/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /usr/mailcleaner/share/spamassassin --restore /var/mailcleaner/spool/spamassassin/spamass_rules.bak&lt;br /&gt;
  rm -f /var/mailcleaner/spool/spamassassin/spamass_rules.bak&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Activer le module dans l'interface. Le déclarer '''non décisif'''. Il doit faire partie du score de spamassassin mais pas plus, sinon il y a trop de faux-positifs.&lt;br /&gt;
&lt;br /&gt;
Pour l'intégrer à spamassassin, créer une règle (dans un fichier xxxxx.cf à créer dans /usr/share/mailcleaner/share/spamassassin) :&lt;br /&gt;
  # Custom rules&lt;br /&gt;
  header LOCAL_NICEBAYES_HEADER    X-NiceBayes =~ /is spam/&lt;br /&gt;
  describe LOCAL_NICEBAYES_HEADER  NiceBayes header detected&lt;br /&gt;
  score LOCAL_NICEBAYES_HEADER     1.5&lt;br /&gt;
&lt;br /&gt;
== Règles custom spamassassin ==&lt;br /&gt;
Modifier la configuration de sa-update (procédure selon ces préconisation (ajout de channels, surtout) :&lt;br /&gt;
  * http://forum.mailcleaner.org/viewtopic.php?f=15&amp;amp;t=964&lt;br /&gt;
  * http://forum.mailcleaner.org/viewtopic.php?f=3&amp;amp;t=1776)&lt;br /&gt;
Pour commencer, créer les répertoires, importer les clés spamassassin et les règles updates en une seul commande :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/local/bin/sa-update -v&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Intégrer la clé GPG du canal Sought :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;wget http://yerp.org/rules/GPG.KEY&lt;br /&gt;
/usr/local/bin/sa-update --import GPG.KEY&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
créer /opt/mailcleaner/scripts/sa-update-customs.sh&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=div&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Spamassassin auto updater with custom channels&lt;br /&gt;
# First import key 6C6191E3 :&lt;br /&gt;
#  wget http://yerp.org/rules/GPG.KEY&lt;br /&gt;
#  sa-update --import GPG.KEY&lt;br /&gt;
SAUPD=/usr/local/bin/sa-update&lt;br /&gt;
$SAUPD --channel updates.spamassassin.org --updatedir /usr/mailcleaner/share/spamassassin &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
$SAUPD --gpgkey 6C6191E3 --channel sought.rules.yerp.org --updatedir /usr/mailcleaner/share/spamassassin &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
$SAUPD -v &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
wget http://www.pccc.com/downloads/SpamAssassin/contrib/KAM.cf &amp;gt;&amp;gt; /var/log/sa-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
mv -f KAM.cf /usr/mailcleaner/share/spamassassin/KAM.cf&lt;br /&gt;
/usr/mailcleaner/etc/init.d/mailscanner restart&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
sans oublier&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chmod 755 /opt/mailcleaner/scripts/sa-update-customs.sh&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
et créer un lien dans cron.daily vers le script et paramétrer logrotate pour archiver /var/log/sa-update.log.&lt;br /&gt;
&lt;br /&gt;
Modifier également /usr/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf :&lt;br /&gt;
  bayes_auto_learn 1&lt;br /&gt;
  bayes_auto_learn_threshold_spam 7.0&lt;br /&gt;
  bayes_auto_learn_threshold_nonspam -0.1&lt;br /&gt;
&lt;br /&gt;
== Règles custom Clamav (Clamspam) ==&lt;br /&gt;
Clamav est installé et lancé après l'installation de base, mais Clamspam ne démarre pas par défaut car il n'a pas de base. On va charger les bases custom.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;aptitude install rsync gnupg curl socat gzip dnsutils&lt;br /&gt;
mkdir -p /opt/mailcleaner/sanesecurity/cache&lt;br /&gt;
cd /opt/mailcleaner/install&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Vérifier la dernière version du script sur http://downloads.sourceforge.net/project/unofficial-sigs/files&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;wget http://downloads.sourceforge.net/project/unofficial-sigs/clamav-unofficial-sigs-3.7.2.tar.gz&lt;br /&gt;
tar -xvzf clamav-unofficial-sigs-3.7.2.tar.gz&lt;br /&gt;
cd /opt/mailcleaner/scripts&lt;br /&gt;
cp /opt/mailcleaner/install/clamav-unofficial-sigs-3.7.2/clamav-unofficial-sigs.sh .&lt;br /&gt;
cp /opt/mailcleaner/install/clamav-unofficial-sigs-3.7.2/clamav-unofficial-sigs.conf .&lt;br /&gt;
chmod 755 clamav-unofficial-sigs.sh&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modifier clamav-unofficial-sigs.sh :&lt;br /&gt;
  default_config=&amp;quot;/opt/mailcleaner/scripts/clamav-unofficial-sigs.conf&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Modifier les options suivantes dans clamav-unofficial-sigs.conf :&lt;br /&gt;
  PATH=&amp;quot;/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/clamav/bin&amp;quot;&lt;br /&gt;
  clam_dbs=&amp;quot;/var/mailcleaner/spool/clamspam&amp;quot;&lt;br /&gt;
  clamd_pid=&amp;quot;/var/mailcleaner/run/clamav/clamspamd.pid&amp;quot;&lt;br /&gt;
  reload_dbs=&amp;quot;yes&amp;quot;&lt;br /&gt;
  #reload_opt=&amp;quot;clamdscan --reload&amp;quot; # Commenter cette ligne&lt;br /&gt;
  reload_opt=&amp;quot;/usr/mailcleaner/etc/init.d/clamspamd restart&amp;quot; # et ajouter celle-ci&lt;br /&gt;
  clamd_socket=&amp;quot;/var/mailcleaner/run/clamav/clamspamd.sock&amp;quot;&lt;br /&gt;
  work_dir=&amp;quot;/opt/mailcleaner/share/sanesecurity/cache&amp;quot;   #Top level working directory&lt;br /&gt;
  user_configuration_complete=&amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Lancer le script une première fois, afin qu'il crée ses répertoires, ses fichiers de bases et fasse une première synchronisation.&lt;br /&gt;
&lt;br /&gt;
Créer un lien pour un lancement journalier (ou dans cron.hourly si on veut un update toutes les heures !):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;ln -s /opt/mailcleaner/scripts/clamav-unofficial-sigs.sh /etc/cron.daily/clamav-unofficial-sigs&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Scores Fuzzy ==&lt;br /&gt;
Fuzzy a une fâcheuse tendance à générer quelques faux-positifs. Notamment, la règle de vérification des types d'images boucle sur chaque image du mail, et si elle buggue (image non reconnue par rapport à son extension) pour une raison ou une autre, le score s’additionne pour chaque image. ça peut aller vite !&lt;br /&gt;
&lt;br /&gt;
Donc, on baisse au moins ce score. Dans /etc/mailscanner/FuzzyOcr.cf_template (qui reconstruit /usr/mailcleaner/share/spamassassin/FuzzyOcr.cf à chaque redémarrage de mailcleaner) modifier :&lt;br /&gt;
 focr_wrongext_score '''0.1'''&lt;br /&gt;
Relancer mailcleaner&lt;br /&gt;
 service mailcleaner restart&lt;br /&gt;
&lt;br /&gt;
== Whitelist / blacklist manuelles ==&lt;br /&gt;
Il est possible d'ajouter des filtres, par exemple une whitelist/blacklist manuelle : /usr/mailcleaner/share/spamassassin/lists-custom.cf de ce format :&lt;br /&gt;
  whitelist_from          *.gooddomain.fr&lt;br /&gt;
  blacklist_from          *.baddomain.fr&lt;br /&gt;
  blacklist_from          mail@baddomain.fr&lt;br /&gt;
Et ne pas oublier :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chown mailcleaner.mailcleaner /usr/mailcleaner/share/spamassassin/lists-custom.cf&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mise en cluster ==&lt;br /&gt;
sur les 2 serveurs :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;cat /etc/mailcleaner.conf | grep PWD&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
pour avoir les mots de passes des bases respectives.&lt;br /&gt;
&lt;br /&gt;
Sur master :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/mailcleaner/scripts/configuration/slaves.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  1) change host settings (donner l'IP de ce serveur)&lt;br /&gt;
  4) add a slave (donner l'IP du serveur SLAVE)&lt;br /&gt;
Sur slave :&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Warning|BUG !!!! Un des scripts n'est pas exécutable !}}&lt;br /&gt;
&lt;br /&gt;
Commencer par :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;chmod 755 /usr/mailcleaner/bin/resync_db.sh&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Et lancer :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/mailcleaner/scripts/configuration/slaves.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  1) change host settings (donner l'IP de ce serveur)&lt;br /&gt;
  5) set this host as a slave (donner l'IP du serveur MAITRE)&lt;br /&gt;
&lt;br /&gt;
== Mises à jour ==&lt;br /&gt;
Commencer par un snapshot de la VM !!&lt;br /&gt;
&lt;br /&gt;
Vérifier la version en cours de chacun des serveurs dans monitoring/status&lt;br /&gt;
&lt;br /&gt;
Vérifier la dernière version ici : http://www.mailcleaner.org/doku.php/downloads:latest&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aptitude update&lt;br /&gt;
aptitude safe-upgrade&lt;br /&gt;
cd /usr/mailcleaner&lt;br /&gt;
cvs -q update -dP&lt;br /&gt;
source lib/updates/update_binaries.sh&lt;br /&gt;
stabilizeBinaries&lt;br /&gt;
install/install_perl_libs.sh&lt;br /&gt;
install/install_sa.sh&lt;br /&gt;
/usr/mailcleaner/bin/check_db.pl --update&lt;br /&gt;
/etc/init.d/mailcleaner restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Ancienne méthode&lt;br /&gt;
cd /usr/mailcleaner&lt;br /&gt;
cvs update -dP updates # noter les numéros de patchs téléchargés&lt;br /&gt;
bin/apply_update.sh &amp;lt;PATCHNUMBER&amp;gt; # ne renvoit rien si OK&lt;br /&gt;
Vérifier le patch appliqué dans &amp;quot;Monitoring&amp;quot; / &amp;quot;status&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Mutualisation&amp;quot; de Mailcleaner =&lt;br /&gt;
On entend par là, faire profiter d'autres boîtes mails du filtrage de Mailcleaner. Pour ça rien de plus simple :&lt;br /&gt;
 apt-get install fetchmail&lt;br /&gt;
Créer un fichier /etc/fetchmailrc avec par exemple :&lt;br /&gt;
 defaults&lt;br /&gt;
 proto pop3&lt;br /&gt;
 set logfile &amp;quot;/var/log/fetchmaillog&amp;quot;&lt;br /&gt;
 set daemon 300&lt;br /&gt;
 &lt;br /&gt;
 # Fetchmail config&lt;br /&gt;
 poll pop3.remotedomain.com with proto POP3&lt;br /&gt;
    user &amp;quot;mymail@remotedomain.com&amp;quot; with password &amp;quot;MON_PASS&amp;quot; is user@domainknownbyMC.com here&lt;br /&gt;
    smtphost &amp;quot;localhost&amp;quot; smtpname &amp;quot;user@domainknownbyMC.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 touch /var/log/fetchmaillog&lt;br /&gt;
 chown fetchmail /var/log/fetchmaillog&lt;br /&gt;
 update-rc.d enable fetchmail&lt;br /&gt;
 service fetchmail start&lt;br /&gt;
&lt;br /&gt;
= Validation de l'intallation =&lt;br /&gt;
on peut tirer profit d'un scan complet chez MXTOOLBOX&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;https://mxtoolbox.com/domain/serveurmx.domaine.fr&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TIPS =&lt;br /&gt;
* Le slave n'a peut-être pas le bon nom de host pour la bannière SMTP. Dans /etc/mailcleaner.conf, si la ligne n'y est pas, ajouter :&lt;br /&gt;
 HELONAME = mx2.domaine.fr&lt;br /&gt;
Puis relancer (par l'interface) le &amp;quot;incoming MTA&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* /opt/mailcleaner/scripts/configuration/set_ip_config.sh pour changer l'ip du système&lt;br /&gt;
&lt;br /&gt;
* Changer le nom d'hôte : modifier dans /etc/hosts, /etc/hostname, et lancer /etc/init.d/hostname.sh&lt;br /&gt;
&lt;br /&gt;
* sur serveur SLAVE, si le message :&lt;br /&gt;
&lt;br /&gt;
 failed to open /var/mailcleaner/spool/tmp/mailcleaner/domains.list for linear search: No such file or directory&lt;br /&gt;
&lt;br /&gt;
apparaît, lancer :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/usr/mailcleaner/bin/dump_domains.pl&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Test des règles de spam :&lt;br /&gt;
  /usr/mailcleaner/bin/is_spam.sh -D source-mail.eml&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Accueil&amp;diff=6610</id>
		<title>Accueil</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Accueil&amp;diff=6610"/>
				<updated>2018-01-18T13:57:02Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;0&amp;quot;&lt;br /&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, au coeur de Systea IG - et donc de KoGite - ainsi que notre orientation résolument Open Source, nous amènent à é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 l'image, 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;
&lt;br /&gt;
= Utiles =&lt;br /&gt;
&amp;lt;!--[[test tweet 9]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[[MediaWiki utilisation]]''' (Notes et infos utiles)&lt;br /&gt;
&lt;br /&gt;
'''Formattage''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Help:Formatting/fr Help:Formatting/fr]&amp;lt;/span&amp;gt;&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;
'''SyntaxHighlight''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi Extension:SyntaxHighlight_GeSHi]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;''Templates''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Help:Templates/fr Help:Templates/fr]&amp;lt;/span&amp;gt;&lt;br /&gt;
* http://wiki.kogite.fr/index.php/Mod%C3%A8le:Note&lt;br /&gt;
* http://wiki.kogite.fr/index.php/Mod%C3%A8le:Warning&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=center&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;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=center&amp;gt;&amp;lt;font style=bold size=6&amp;gt;'''Tutoriels'''&amp;lt;/font&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&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;
===== [[trouver l'adresse IP externe sans curl/lynx/wget]] =====&lt;br /&gt;
===== [[screen - retrouver le scrolling]] =====&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;
===== [[Route statique sous Debian]] =====&lt;br /&gt;
===== [[Debian : installation GRUB|Installation GRUB]]=====&lt;br /&gt;
===== [[Message &amp;quot;perl: warning: Setting locale failed.&amp;quot;]] =====&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;
== Vesta Control Panel ==&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;
== VestaCP ==&lt;br /&gt;
=== [[ Installation VestaCP sur CentOS6 ]] ===&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;
== 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;
== Divers ==&lt;br /&gt;
==== [[Modifier les accentués dans les noms de fichiers]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Ext3grep]]: undelete sur ext3 ! ====&lt;br /&gt;
&lt;br /&gt;
==== [[Tunnel SSH via un serveur intermédiaire]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ Réplication de systèmes de fichiers avec DRBD ]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[RAID logiciel : mdadm| madm : le RAID logiciel]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Network bonding sur linux]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ODBC sur linux]] (Ubuntu) ====&lt;br /&gt;
&lt;br /&gt;
==== [[Gestion des IOs, iowaits]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Reverse ssh : Accéder à un serveur derrière un NAT/Firewall]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[installer le client no-ip]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Conversion Libreoffice en ligne de commande : unoconv]] ====&lt;br /&gt;
&lt;br /&gt;
= Serveurs logiciels et Services =&lt;br /&gt;
== Apache, PHP ==&lt;br /&gt;
===== [[Exemple robots.txt]] =====&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_security, 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;
&lt;br /&gt;
===== Apache proxy : [[Mod_Proxy]] =====&lt;br /&gt;
===== [[Message : NameVirtualHost *:80 has no VirtualHosts]] =====&lt;br /&gt;
== caches web ==&lt;br /&gt;
===== [[Varnish cache]] =====&lt;br /&gt;
===== [[Memcached]] =====&lt;br /&gt;
===== [[ PHP eAccelerator sur CentOS / BlueOnyx ]] =====&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;
===== [[Contrer l'attaque DoS isc.org]] =====&lt;br /&gt;
&lt;br /&gt;
== C.A.S ==&lt;br /&gt;
=== [[Serveur CAS 4 sur CentOS 7]] ===&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;
===== [[Serveur virtuels FreeRadius avec LDAP]] =====&lt;br /&gt;
&lt;br /&gt;
== Mails ==&lt;br /&gt;
===== [[MailCleaner: installation et configuration]] =====&lt;br /&gt;
===== [[Sendmail tips and tricks]] =====&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;
&lt;br /&gt;
===== [[Spamassassin : apprentissage et blacklist automatique]] =====&lt;br /&gt;
===== Postfix =====&lt;br /&gt;
&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;
== GlusterFS ==&lt;br /&gt;
===== [[GlusterFS+ZFS sur CentOS6/7]] =====&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;
&lt;br /&gt;
== CMS Made Simple ==&lt;br /&gt;
===== [[CMSMS Installation ]] =====&lt;br /&gt;
===== [[CMSMS Installation sur BlueOnyx]] =====&lt;br /&gt;
===== DotClear : [[Installation Dotclear]] =====&lt;br /&gt;
&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;
===== [[Ansible : installation ]] =====&lt;br /&gt;
===== [[Ansible: utilisation]] =====&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 : déploiement avec git]] =====&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;
&lt;br /&gt;
== MediaWiki ==&lt;br /&gt;
===== [[Install MediaWiki sur Debian]] =====&lt;br /&gt;
===== [[MediaWiki - changement de serveur]] =====&lt;br /&gt;
&lt;br /&gt;
== OpenERP - Odoo ==&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;
===== [[Odoo 9 - Installation sur Centos 7]] =====&lt;br /&gt;
&lt;br /&gt;
== Seafile ==&lt;br /&gt;
===== [[Seafile : présentation]] =====&lt;br /&gt;
===== [[ Seafile : installation sur CentOS ]] =====&lt;br /&gt;
===== [[Seafile : Seaf-cli (Command line client)]] =====&lt;br /&gt;
&lt;br /&gt;
== SOGo ==&lt;br /&gt;
===== [[ SOGo : présentation]] =====&lt;br /&gt;
===== [[ SOGo : installation sur CentOS-MariaDB-Postfix-Dovecot-PostfixAdmin ]] =====&lt;br /&gt;
===== [[ SOGo : installation des plugins sur Thunderbird ]] =====&lt;br /&gt;
===== [[ SOGo : astuces ]] =====&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;
&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;
===== [[ LMD : Linux Malware Detect ]] =====&lt;br /&gt;
&lt;br /&gt;
== Let's Encrypt ==&lt;br /&gt;
=== [[Let's Encrypt utilisation]] ===&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;
&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;
&lt;br /&gt;
==&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;
&lt;br /&gt;
=== Centralisation des logs ===&lt;br /&gt;
==== [[rsyslog-Graylog-Elasticsearch]] ====&lt;br /&gt;
&lt;br /&gt;
=== PfSense ===&lt;br /&gt;
==== [[ pfSense installation ]] ====&lt;br /&gt;
==== [[ pfSense cluster ]] ====&lt;br /&gt;
==== PfSense [[ MultiWan ]] ====&lt;br /&gt;
==== [[ Proxy non-transparent et filtrage : Squid + SquidGuard ]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ Proxy Report : Lightsquid ]] ====&lt;br /&gt;
==== [[ Filtrage HTTPS et portail captif : PFsense et Squid+SquiGuard ]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ PfSense : tunnel OpenVPN ]] ====&lt;br /&gt;
==== [[ PfSense : tunnel IPSec ]] ====&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;
===== [[Zabbix User Flexible Parameters]] =====&lt;br /&gt;
===== [[Ajouter un hôte et lui assigner un template]] =====&lt;br /&gt;
&lt;br /&gt;
= Sauvegardes =&lt;br /&gt;
===== [[sauvegardes avec droits ext3 sur partition Windows]] =====&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;
===== [[MondoRescue]] =====&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 11gR2 sur RedHat 7 64 bits]] =====&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]] (10g) =====&lt;br /&gt;
===== HA niveau 4 :[[RAC database 12c sur Win2008 avec Virtualbox]] =====&lt;br /&gt;
===== HA niveau 4 :[[RAC database 12c sur CentOS avec Virtualbox]] =====&lt;br /&gt;
===== [[Supprimer tous les objets d'un utilisateur]] en une seule fois =====&lt;br /&gt;
===== [[Déplacer les fichiers d'une base]] =====&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;
===== [[Réduire le tablespace TEMP]] =====&lt;br /&gt;
&lt;br /&gt;
== MySQL / MariaDB ==&lt;br /&gt;
===== [[Script d'audit de bases de données 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;
===== [[ Remplacer MySQL par MariaDB sur CentOS6/7 ]] =====&lt;br /&gt;
&lt;br /&gt;
===== [[ Cassandra sur MariaDB 10 ]] =====&lt;br /&gt;
&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;
&lt;br /&gt;
== Proxmox VE ==&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;
===== [[Proxmox 3.3 - Installation, configuration cluster]] =====&lt;br /&gt;
===== [[Proxmox 4.0 - Installation, configuration cluster]] =====&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;
===== 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;
===== [[Retailler le disque d'une VM]] =====&lt;br /&gt;
===== [[Suspendre VMWare]] pour sauvegarde =====&lt;br /&gt;
===== [[Le guest VMWare perd l'heure]] =====&lt;br /&gt;
&lt;br /&gt;
== HyperV ==&lt;br /&gt;
===== [[Incompatibilité noyau linux - HyperV ]] =====&lt;br /&gt;
&lt;br /&gt;
= [[ARCHIVES]] =&lt;br /&gt;
Toutes les pages obsolètes, pour archive (et nostalgie).&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Accueil&amp;diff=6609</id>
		<title>Accueil</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Accueil&amp;diff=6609"/>
				<updated>2018-01-18T13:56:25Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;0&amp;quot;&lt;br /&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, au coeur de Systea IG - et donc de KoGite - ainsi que notre orientation résolument Open Source, nous amènent à étudier, et à mettre en oeuvre, toutes sortes de solutions. WikiGite en est l'image, 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;
&lt;br /&gt;
= Utiles =&lt;br /&gt;
&amp;lt;!--[[test tweet 9]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[[MediaWiki utilisation]]''' (Notes et infos utiles)&lt;br /&gt;
&lt;br /&gt;
'''Formattage''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Help:Formatting/fr Help:Formatting/fr]&amp;lt;/span&amp;gt;&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;
'''SyntaxHighlight''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi Extension:SyntaxHighlight_GeSHi]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;''Templates''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Help:Templates/fr Help:Templates/fr]&amp;lt;/span&amp;gt;&lt;br /&gt;
* http://wiki.kogite.fr/index.php/Mod%C3%A8le:Note&lt;br /&gt;
* http://wiki.kogite.fr/index.php/Mod%C3%A8le:Warning&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=center&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;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=center&amp;gt;&amp;lt;font style=bold size=6&amp;gt;'''Tutoriels'''&amp;lt;/font&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&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;
===== [[trouver l'adresse IP externe sans curl/lynx/wget]] =====&lt;br /&gt;
===== [[screen - retrouver le scrolling]] =====&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;
===== [[Route statique sous Debian]] =====&lt;br /&gt;
===== [[Debian : installation GRUB|Installation GRUB]]=====&lt;br /&gt;
===== [[Message &amp;quot;perl: warning: Setting locale failed.&amp;quot;]] =====&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;
== Vesta Control Panel ==&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;
== VestaCP ==&lt;br /&gt;
=== [[ Installation VestaCP sur CentOS6 ]] ===&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;
== 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;
== Divers ==&lt;br /&gt;
==== [[Modifier les accentués dans les noms de fichiers]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Ext3grep]]: undelete sur ext3 ! ====&lt;br /&gt;
&lt;br /&gt;
==== [[Tunnel SSH via un serveur intermédiaire]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ Réplication de systèmes de fichiers avec DRBD ]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[RAID logiciel : mdadm| madm : le RAID logiciel]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Network bonding sur linux]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ODBC sur linux]] (Ubuntu) ====&lt;br /&gt;
&lt;br /&gt;
==== [[Gestion des IOs, iowaits]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Reverse ssh : Accéder à un serveur derrière un NAT/Firewall]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[installer le client no-ip]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Conversion Libreoffice en ligne de commande : unoconv]] ====&lt;br /&gt;
&lt;br /&gt;
= Serveurs logiciels et Services =&lt;br /&gt;
== Apache, PHP ==&lt;br /&gt;
===== [[Exemple robots.txt]] =====&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_security, 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;
&lt;br /&gt;
===== Apache proxy : [[Mod_Proxy]] =====&lt;br /&gt;
===== [[Message : NameVirtualHost *:80 has no VirtualHosts]] =====&lt;br /&gt;
== caches web ==&lt;br /&gt;
===== [[Varnish cache]] =====&lt;br /&gt;
===== [[Memcached]] =====&lt;br /&gt;
===== [[ PHP eAccelerator sur CentOS / BlueOnyx ]] =====&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;
===== [[Contrer l'attaque DoS isc.org]] =====&lt;br /&gt;
&lt;br /&gt;
== C.A.S ==&lt;br /&gt;
=== [[Serveur CAS 4 sur CentOS 7]] ===&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;
===== [[Serveur virtuels FreeRadius avec LDAP]] =====&lt;br /&gt;
&lt;br /&gt;
== Mails ==&lt;br /&gt;
===== [[MailCleaner: installation et configuration]] =====&lt;br /&gt;
===== [[Sendmail tips and tricks]] =====&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;
&lt;br /&gt;
===== [[Spamassassin : apprentissage et blacklist automatique]] =====&lt;br /&gt;
===== Postfix =====&lt;br /&gt;
&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;
== GlusterFS ==&lt;br /&gt;
===== [[GlusterFS+ZFS sur CentOS6/7]] =====&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;
&lt;br /&gt;
== CMS Made Simple ==&lt;br /&gt;
===== [[CMSMS Installation ]] =====&lt;br /&gt;
===== [[CMSMS Installation sur BlueOnyx]] =====&lt;br /&gt;
===== DotClear : [[Installation Dotclear]] =====&lt;br /&gt;
&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;
===== [[Ansible : installation ]] =====&lt;br /&gt;
===== [[Ansible: utilisation]] =====&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 : déploiement avec git]] =====&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;
&lt;br /&gt;
== MediaWiki ==&lt;br /&gt;
===== [[Install MediaWiki sur Debian]] =====&lt;br /&gt;
===== [[MediaWiki - changement de serveur]] =====&lt;br /&gt;
&lt;br /&gt;
== OpenERP - Odoo ==&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;
===== [[Odoo 9 - Installation sur Centos 7]] =====&lt;br /&gt;
&lt;br /&gt;
== Seafile ==&lt;br /&gt;
===== [[Seafile : présentation]] =====&lt;br /&gt;
===== [[ Seafile : installation sur CentOS ]] =====&lt;br /&gt;
===== [[Seafile : Seaf-cli (Command line client)]] =====&lt;br /&gt;
&lt;br /&gt;
== SOGo ==&lt;br /&gt;
===== [[ SOGo : présentation]] =====&lt;br /&gt;
===== [[ SOGo : installation sur CentOS-MariaDB-Postfix-Dovecot-PostfixAdmin ]] =====&lt;br /&gt;
===== [[ SOGo : installation des plugins sur Thunderbird ]] =====&lt;br /&gt;
===== [[ SOGo : astuces ]] =====&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;
&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;
===== [[ LMD : Linux Malware Detect ]] =====&lt;br /&gt;
&lt;br /&gt;
== Let's Encrypt ==&lt;br /&gt;
=== [[Let's Encrypt utilisation]] ===&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;
&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;
&lt;br /&gt;
==&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;
&lt;br /&gt;
=== Centralisation des logs ===&lt;br /&gt;
==== [[rsyslog-Graylog-Elasticsearch]] ====&lt;br /&gt;
&lt;br /&gt;
=== PfSense ===&lt;br /&gt;
==== [[ pfSense installation ]] ====&lt;br /&gt;
==== [[ pfSense cluster ]] ====&lt;br /&gt;
==== PfSense [[ MultiWan ]] ====&lt;br /&gt;
==== [[ Proxy non-transparent et filtrage : Squid + SquidGuard ]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ Proxy Report : Lightsquid ]] ====&lt;br /&gt;
==== [[ Filtrage HTTPS et portail captif : PFsense et Squid+SquiGuard ]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ PfSense : tunnel OpenVPN ]] ====&lt;br /&gt;
==== [[ PfSense : tunnel IPSec ]] ====&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;
===== [[Zabbix User Flexible Parameters]] =====&lt;br /&gt;
===== [[Ajouter un hôte et lui assigner un template]] =====&lt;br /&gt;
&lt;br /&gt;
= Sauvegardes =&lt;br /&gt;
===== [[sauvegardes avec droits ext3 sur partition Windows]] =====&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;
===== [[MondoRescue]] =====&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 11gR2 sur RedHat 7 64 bits]] =====&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]] (10g) =====&lt;br /&gt;
===== HA niveau 4 :[[RAC database 12c sur Win2008 avec Virtualbox]] =====&lt;br /&gt;
===== HA niveau 4 :[[RAC database 12c sur CentOS avec Virtualbox]] =====&lt;br /&gt;
===== [[Supprimer tous les objets d'un utilisateur]] en une seule fois =====&lt;br /&gt;
===== [[Déplacer les fichiers d'une base]] =====&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;
===== [[Réduire le tablespace TEMP]] =====&lt;br /&gt;
&lt;br /&gt;
== MySQL / MariaDB ==&lt;br /&gt;
===== [[Script d'audit de bases de données 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;
===== [[ Remplacer MySQL par MariaDB sur CentOS6/7 ]] =====&lt;br /&gt;
&lt;br /&gt;
===== [[ Cassandra sur MariaDB 10 ]] =====&lt;br /&gt;
&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;
&lt;br /&gt;
== Proxmox VE ==&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;
===== [[Proxmox 3.3 - Installation, configuration cluster]] =====&lt;br /&gt;
===== [[Proxmox 4.0 - Installation, configuration cluster]] =====&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;
===== 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;
===== [[Retailler le disque d'une VM]] =====&lt;br /&gt;
===== [[Suspendre VMWare]] pour sauvegarde =====&lt;br /&gt;
===== [[Le guest VMWare perd l'heure]] =====&lt;br /&gt;
&lt;br /&gt;
== HyperV ==&lt;br /&gt;
===== [[Incompatibilité noyau linux - HyperV ]] =====&lt;br /&gt;
&lt;br /&gt;
= [[ARCHIVES]] =&lt;br /&gt;
Toutes les pages obsolètes, pour archive (et nostalgie).&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Accueil&amp;diff=6608</id>
		<title>Accueil</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Accueil&amp;diff=6608"/>
				<updated>2018-01-18T13:52:52Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Utiles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;0&amp;quot;&lt;br /&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;
&lt;br /&gt;
= Utiles =&lt;br /&gt;
&amp;lt;!--[[test tweet 9]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[[MediaWiki utilisation]]''' (Notes et infos utiles)&lt;br /&gt;
&lt;br /&gt;
'''Formattage''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Help:Formatting/fr Help:Formatting/fr]&amp;lt;/span&amp;gt;&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;
'''SyntaxHighlight''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi Extension:SyntaxHighlight_GeSHi]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;''Templates''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Help:Templates/fr Help:Templates/fr]&amp;lt;/span&amp;gt;&lt;br /&gt;
* http://wiki.kogite.fr/index.php/Mod%C3%A8le:Note&lt;br /&gt;
* http://wiki.kogite.fr/index.php/Mod%C3%A8le:Warning&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=center&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;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=center&amp;gt;&amp;lt;font style=bold size=6&amp;gt;'''Tutoriels'''&amp;lt;/font&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&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;
===== [[trouver l'adresse IP externe sans curl/lynx/wget]] =====&lt;br /&gt;
===== [[screen - retrouver le scrolling]] =====&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;
===== [[Route statique sous Debian]] =====&lt;br /&gt;
===== [[Debian : installation GRUB|Installation GRUB]]=====&lt;br /&gt;
===== [[Message &amp;quot;perl: warning: Setting locale failed.&amp;quot;]] =====&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;
== Vesta Control Panel ==&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;
== VestaCP ==&lt;br /&gt;
=== [[ Installation VestaCP sur CentOS6 ]] ===&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;
== 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;
== Divers ==&lt;br /&gt;
==== [[Modifier les accentués dans les noms de fichiers]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Ext3grep]]: undelete sur ext3 ! ====&lt;br /&gt;
&lt;br /&gt;
==== [[Tunnel SSH via un serveur intermédiaire]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ Réplication de systèmes de fichiers avec DRBD ]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[RAID logiciel : mdadm| madm : le RAID logiciel]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Network bonding sur linux]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ODBC sur linux]] (Ubuntu) ====&lt;br /&gt;
&lt;br /&gt;
==== [[Gestion des IOs, iowaits]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Reverse ssh : Accéder à un serveur derrière un NAT/Firewall]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[installer le client no-ip]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Conversion Libreoffice en ligne de commande : unoconv]] ====&lt;br /&gt;
&lt;br /&gt;
= Serveurs logiciels et Services =&lt;br /&gt;
== Apache, PHP ==&lt;br /&gt;
===== [[Exemple robots.txt]] =====&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_security, 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;
&lt;br /&gt;
===== Apache proxy : [[Mod_Proxy]] =====&lt;br /&gt;
===== [[Message : NameVirtualHost *:80 has no VirtualHosts]] =====&lt;br /&gt;
== caches web ==&lt;br /&gt;
===== [[Varnish cache]] =====&lt;br /&gt;
===== [[Memcached]] =====&lt;br /&gt;
===== [[ PHP eAccelerator sur CentOS / BlueOnyx ]] =====&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;
===== [[Contrer l'attaque DoS isc.org]] =====&lt;br /&gt;
&lt;br /&gt;
== C.A.S ==&lt;br /&gt;
=== [[Serveur CAS 4 sur CentOS 7]] ===&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;
===== [[Serveur virtuels FreeRadius avec LDAP]] =====&lt;br /&gt;
&lt;br /&gt;
== Mails ==&lt;br /&gt;
===== [[MailCleaner: installation et configuration]] =====&lt;br /&gt;
===== [[Sendmail tips and tricks]] =====&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;
&lt;br /&gt;
===== [[Spamassassin : apprentissage et blacklist automatique]] =====&lt;br /&gt;
===== Postfix =====&lt;br /&gt;
&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;
== GlusterFS ==&lt;br /&gt;
===== [[GlusterFS+ZFS sur CentOS6/7]] =====&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;
&lt;br /&gt;
== CMS Made Simple ==&lt;br /&gt;
===== [[CMSMS Installation ]] =====&lt;br /&gt;
===== [[CMSMS Installation sur BlueOnyx]] =====&lt;br /&gt;
===== DotClear : [[Installation Dotclear]] =====&lt;br /&gt;
&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;
===== [[Ansible : installation ]] =====&lt;br /&gt;
===== [[Ansible: utilisation]] =====&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 : déploiement avec git]] =====&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;
&lt;br /&gt;
== MediaWiki ==&lt;br /&gt;
===== [[Install MediaWiki sur Debian]] =====&lt;br /&gt;
===== [[MediaWiki - changement de serveur]] =====&lt;br /&gt;
&lt;br /&gt;
== OpenERP - Odoo ==&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;
===== [[Odoo 9 - Installation sur Centos 7]] =====&lt;br /&gt;
&lt;br /&gt;
== Seafile ==&lt;br /&gt;
===== [[Seafile : présentation]] =====&lt;br /&gt;
===== [[ Seafile : installation sur CentOS ]] =====&lt;br /&gt;
===== [[Seafile : Seaf-cli (Command line client)]] =====&lt;br /&gt;
&lt;br /&gt;
== SOGo ==&lt;br /&gt;
===== [[ SOGo : présentation]] =====&lt;br /&gt;
===== [[ SOGo : installation sur CentOS-MariaDB-Postfix-Dovecot-PostfixAdmin ]] =====&lt;br /&gt;
===== [[ SOGo : installation des plugins sur Thunderbird ]] =====&lt;br /&gt;
===== [[ SOGo : astuces ]] =====&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;
&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;
===== [[ LMD : Linux Malware Detect ]] =====&lt;br /&gt;
&lt;br /&gt;
== Let's Encrypt ==&lt;br /&gt;
=== [[Let's Encrypt utilisation]] ===&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;
&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;
&lt;br /&gt;
==&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;
&lt;br /&gt;
=== Centralisation des logs ===&lt;br /&gt;
==== [[rsyslog-Graylog-Elasticsearch]] ====&lt;br /&gt;
&lt;br /&gt;
=== PfSense ===&lt;br /&gt;
==== [[ pfSense installation ]] ====&lt;br /&gt;
==== [[ pfSense cluster ]] ====&lt;br /&gt;
==== PfSense [[ MultiWan ]] ====&lt;br /&gt;
==== [[ Proxy non-transparent et filtrage : Squid + SquidGuard ]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ Proxy Report : Lightsquid ]] ====&lt;br /&gt;
==== [[ Filtrage HTTPS et portail captif : PFsense et Squid+SquiGuard ]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ PfSense : tunnel OpenVPN ]] ====&lt;br /&gt;
==== [[ PfSense : tunnel IPSec ]] ====&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;
===== [[Zabbix User Flexible Parameters]] =====&lt;br /&gt;
===== [[Ajouter un hôte et lui assigner un template]] =====&lt;br /&gt;
&lt;br /&gt;
= Sauvegardes =&lt;br /&gt;
===== [[sauvegardes avec droits ext3 sur partition Windows]] =====&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;
===== [[MondoRescue]] =====&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 11gR2 sur RedHat 7 64 bits]] =====&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]] (10g) =====&lt;br /&gt;
===== HA niveau 4 :[[RAC database 12c sur Win2008 avec Virtualbox]] =====&lt;br /&gt;
===== HA niveau 4 :[[RAC database 12c sur CentOS avec Virtualbox]] =====&lt;br /&gt;
===== [[Supprimer tous les objets d'un utilisateur]] en une seule fois =====&lt;br /&gt;
===== [[Déplacer les fichiers d'une base]] =====&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;
===== [[Réduire le tablespace TEMP]] =====&lt;br /&gt;
&lt;br /&gt;
== MySQL / MariaDB ==&lt;br /&gt;
===== [[Script d'audit de bases de données 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;
===== [[ Remplacer MySQL par MariaDB sur CentOS6/7 ]] =====&lt;br /&gt;
&lt;br /&gt;
===== [[ Cassandra sur MariaDB 10 ]] =====&lt;br /&gt;
&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;
&lt;br /&gt;
== Proxmox VE ==&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;
===== [[Proxmox 3.3 - Installation, configuration cluster]] =====&lt;br /&gt;
===== [[Proxmox 4.0 - Installation, configuration cluster]] =====&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;
===== 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;
===== [[Retailler le disque d'une VM]] =====&lt;br /&gt;
===== [[Suspendre VMWare]] pour sauvegarde =====&lt;br /&gt;
===== [[Le guest VMWare perd l'heure]] =====&lt;br /&gt;
&lt;br /&gt;
== HyperV ==&lt;br /&gt;
===== [[Incompatibilité noyau linux - HyperV ]] =====&lt;br /&gt;
&lt;br /&gt;
= [[ARCHIVES]] =&lt;br /&gt;
Toutes les pages obsolètes, pour archive (et nostalgie).&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Accueil&amp;diff=6607</id>
		<title>Accueil</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Accueil&amp;diff=6607"/>
				<updated>2018-01-18T13:51:29Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Utiles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;0&amp;quot;&lt;br /&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;
&lt;br /&gt;
= Utiles =&lt;br /&gt;
/* [[test tweet 9]] */&lt;br /&gt;
&lt;br /&gt;
'''[[MediaWiki utilisation]]''' (Notes et infos utiles)&lt;br /&gt;
&lt;br /&gt;
'''Formattage''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Help:Formatting/fr Help:Formatting/fr]&amp;lt;/span&amp;gt;&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;
'''SyntaxHighlight''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi Extension:SyntaxHighlight_GeSHi]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;''Templates''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Help:Templates/fr Help:Templates/fr]&amp;lt;/span&amp;gt;&lt;br /&gt;
* http://wiki.kogite.fr/index.php/Mod%C3%A8le:Note&lt;br /&gt;
* http://wiki.kogite.fr/index.php/Mod%C3%A8le:Warning&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=center&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;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=center&amp;gt;&amp;lt;font style=bold size=6&amp;gt;'''Tutoriels'''&amp;lt;/font&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&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;
===== [[trouver l'adresse IP externe sans curl/lynx/wget]] =====&lt;br /&gt;
===== [[screen - retrouver le scrolling]] =====&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;
===== [[Route statique sous Debian]] =====&lt;br /&gt;
===== [[Debian : installation GRUB|Installation GRUB]]=====&lt;br /&gt;
===== [[Message &amp;quot;perl: warning: Setting locale failed.&amp;quot;]] =====&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;
== Vesta Control Panel ==&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;
== VestaCP ==&lt;br /&gt;
=== [[ Installation VestaCP sur CentOS6 ]] ===&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;
== 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;
== Divers ==&lt;br /&gt;
==== [[Modifier les accentués dans les noms de fichiers]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Ext3grep]]: undelete sur ext3 ! ====&lt;br /&gt;
&lt;br /&gt;
==== [[Tunnel SSH via un serveur intermédiaire]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ Réplication de systèmes de fichiers avec DRBD ]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[RAID logiciel : mdadm| madm : le RAID logiciel]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Network bonding sur linux]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ODBC sur linux]] (Ubuntu) ====&lt;br /&gt;
&lt;br /&gt;
==== [[Gestion des IOs, iowaits]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Reverse ssh : Accéder à un serveur derrière un NAT/Firewall]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[installer le client no-ip]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Conversion Libreoffice en ligne de commande : unoconv]] ====&lt;br /&gt;
&lt;br /&gt;
= Serveurs logiciels et Services =&lt;br /&gt;
== Apache, PHP ==&lt;br /&gt;
===== [[Exemple robots.txt]] =====&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_security, 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;
&lt;br /&gt;
===== Apache proxy : [[Mod_Proxy]] =====&lt;br /&gt;
===== [[Message : NameVirtualHost *:80 has no VirtualHosts]] =====&lt;br /&gt;
== caches web ==&lt;br /&gt;
===== [[Varnish cache]] =====&lt;br /&gt;
===== [[Memcached]] =====&lt;br /&gt;
===== [[ PHP eAccelerator sur CentOS / BlueOnyx ]] =====&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;
===== [[Contrer l'attaque DoS isc.org]] =====&lt;br /&gt;
&lt;br /&gt;
== C.A.S ==&lt;br /&gt;
=== [[Serveur CAS 4 sur CentOS 7]] ===&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;
===== [[Serveur virtuels FreeRadius avec LDAP]] =====&lt;br /&gt;
&lt;br /&gt;
== Mails ==&lt;br /&gt;
===== [[MailCleaner: installation et configuration]] =====&lt;br /&gt;
===== [[Sendmail tips and tricks]] =====&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;
&lt;br /&gt;
===== [[Spamassassin : apprentissage et blacklist automatique]] =====&lt;br /&gt;
===== Postfix =====&lt;br /&gt;
&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;
== GlusterFS ==&lt;br /&gt;
===== [[GlusterFS+ZFS sur CentOS6/7]] =====&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;
&lt;br /&gt;
== CMS Made Simple ==&lt;br /&gt;
===== [[CMSMS Installation ]] =====&lt;br /&gt;
===== [[CMSMS Installation sur BlueOnyx]] =====&lt;br /&gt;
===== DotClear : [[Installation Dotclear]] =====&lt;br /&gt;
&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;
===== [[Ansible : installation ]] =====&lt;br /&gt;
===== [[Ansible: utilisation]] =====&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 : déploiement avec git]] =====&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;
&lt;br /&gt;
== MediaWiki ==&lt;br /&gt;
===== [[Install MediaWiki sur Debian]] =====&lt;br /&gt;
===== [[MediaWiki - changement de serveur]] =====&lt;br /&gt;
&lt;br /&gt;
== OpenERP - Odoo ==&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;
===== [[Odoo 9 - Installation sur Centos 7]] =====&lt;br /&gt;
&lt;br /&gt;
== Seafile ==&lt;br /&gt;
===== [[Seafile : présentation]] =====&lt;br /&gt;
===== [[ Seafile : installation sur CentOS ]] =====&lt;br /&gt;
===== [[Seafile : Seaf-cli (Command line client)]] =====&lt;br /&gt;
&lt;br /&gt;
== SOGo ==&lt;br /&gt;
===== [[ SOGo : présentation]] =====&lt;br /&gt;
===== [[ SOGo : installation sur CentOS-MariaDB-Postfix-Dovecot-PostfixAdmin ]] =====&lt;br /&gt;
===== [[ SOGo : installation des plugins sur Thunderbird ]] =====&lt;br /&gt;
===== [[ SOGo : astuces ]] =====&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;
&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;
===== [[ LMD : Linux Malware Detect ]] =====&lt;br /&gt;
&lt;br /&gt;
== Let's Encrypt ==&lt;br /&gt;
=== [[Let's Encrypt utilisation]] ===&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;
&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;
&lt;br /&gt;
==&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;
&lt;br /&gt;
=== Centralisation des logs ===&lt;br /&gt;
==== [[rsyslog-Graylog-Elasticsearch]] ====&lt;br /&gt;
&lt;br /&gt;
=== PfSense ===&lt;br /&gt;
==== [[ pfSense installation ]] ====&lt;br /&gt;
==== [[ pfSense cluster ]] ====&lt;br /&gt;
==== PfSense [[ MultiWan ]] ====&lt;br /&gt;
==== [[ Proxy non-transparent et filtrage : Squid + SquidGuard ]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ Proxy Report : Lightsquid ]] ====&lt;br /&gt;
==== [[ Filtrage HTTPS et portail captif : PFsense et Squid+SquiGuard ]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ PfSense : tunnel OpenVPN ]] ====&lt;br /&gt;
==== [[ PfSense : tunnel IPSec ]] ====&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;
===== [[Zabbix User Flexible Parameters]] =====&lt;br /&gt;
===== [[Ajouter un hôte et lui assigner un template]] =====&lt;br /&gt;
&lt;br /&gt;
= Sauvegardes =&lt;br /&gt;
===== [[sauvegardes avec droits ext3 sur partition Windows]] =====&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;
===== [[MondoRescue]] =====&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 11gR2 sur RedHat 7 64 bits]] =====&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]] (10g) =====&lt;br /&gt;
===== HA niveau 4 :[[RAC database 12c sur Win2008 avec Virtualbox]] =====&lt;br /&gt;
===== HA niveau 4 :[[RAC database 12c sur CentOS avec Virtualbox]] =====&lt;br /&gt;
===== [[Supprimer tous les objets d'un utilisateur]] en une seule fois =====&lt;br /&gt;
===== [[Déplacer les fichiers d'une base]] =====&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;
===== [[Réduire le tablespace TEMP]] =====&lt;br /&gt;
&lt;br /&gt;
== MySQL / MariaDB ==&lt;br /&gt;
===== [[Script d'audit de bases de données 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;
===== [[ Remplacer MySQL par MariaDB sur CentOS6/7 ]] =====&lt;br /&gt;
&lt;br /&gt;
===== [[ Cassandra sur MariaDB 10 ]] =====&lt;br /&gt;
&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;
&lt;br /&gt;
== Proxmox VE ==&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;
===== [[Proxmox 3.3 - Installation, configuration cluster]] =====&lt;br /&gt;
===== [[Proxmox 4.0 - Installation, configuration cluster]] =====&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;
===== 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;
===== [[Retailler le disque d'une VM]] =====&lt;br /&gt;
===== [[Suspendre VMWare]] pour sauvegarde =====&lt;br /&gt;
===== [[Le guest VMWare perd l'heure]] =====&lt;br /&gt;
&lt;br /&gt;
== HyperV ==&lt;br /&gt;
===== [[Incompatibilité noyau linux - HyperV ]] =====&lt;br /&gt;
&lt;br /&gt;
= [[ARCHIVES]] =&lt;br /&gt;
Toutes les pages obsolètes, pour archive (et nostalgie).&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Accueil&amp;diff=6605</id>
		<title>Accueil</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Accueil&amp;diff=6605"/>
				<updated>2018-01-18T13:50:56Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Utiles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;0&amp;quot;&lt;br /&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;
&lt;br /&gt;
= Utiles =&lt;br /&gt;
[[test tweet 9]]&lt;br /&gt;
&lt;br /&gt;
'''[[MediaWiki utilisation]]''' (Notes et infos utiles)&lt;br /&gt;
&lt;br /&gt;
'''Formattage''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Help:Formatting/fr Help:Formatting/fr]&amp;lt;/span&amp;gt;&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;
'''SyntaxHighlight''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi Extension:SyntaxHighlight_GeSHi]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;''Templates''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Help:Templates/fr Help:Templates/fr]&amp;lt;/span&amp;gt;&lt;br /&gt;
* http://wiki.kogite.fr/index.php/Mod%C3%A8le:Note&lt;br /&gt;
* http://wiki.kogite.fr/index.php/Mod%C3%A8le:Warning&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=center&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;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=center&amp;gt;&amp;lt;font style=bold size=6&amp;gt;'''Tutoriels'''&amp;lt;/font&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&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;
===== [[trouver l'adresse IP externe sans curl/lynx/wget]] =====&lt;br /&gt;
===== [[screen - retrouver le scrolling]] =====&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;
===== [[Route statique sous Debian]] =====&lt;br /&gt;
===== [[Debian : installation GRUB|Installation GRUB]]=====&lt;br /&gt;
===== [[Message &amp;quot;perl: warning: Setting locale failed.&amp;quot;]] =====&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;
== Vesta Control Panel ==&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;
== VestaCP ==&lt;br /&gt;
=== [[ Installation VestaCP sur CentOS6 ]] ===&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;
== 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;
== Divers ==&lt;br /&gt;
==== [[Modifier les accentués dans les noms de fichiers]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Ext3grep]]: undelete sur ext3 ! ====&lt;br /&gt;
&lt;br /&gt;
==== [[Tunnel SSH via un serveur intermédiaire]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ Réplication de systèmes de fichiers avec DRBD ]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[RAID logiciel : mdadm| madm : le RAID logiciel]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Network bonding sur linux]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ODBC sur linux]] (Ubuntu) ====&lt;br /&gt;
&lt;br /&gt;
==== [[Gestion des IOs, iowaits]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Reverse ssh : Accéder à un serveur derrière un NAT/Firewall]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[installer le client no-ip]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Conversion Libreoffice en ligne de commande : unoconv]] ====&lt;br /&gt;
&lt;br /&gt;
= Serveurs logiciels et Services =&lt;br /&gt;
== Apache, PHP ==&lt;br /&gt;
===== [[Exemple robots.txt]] =====&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_security, 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;
&lt;br /&gt;
===== Apache proxy : [[Mod_Proxy]] =====&lt;br /&gt;
===== [[Message : NameVirtualHost *:80 has no VirtualHosts]] =====&lt;br /&gt;
== caches web ==&lt;br /&gt;
===== [[Varnish cache]] =====&lt;br /&gt;
===== [[Memcached]] =====&lt;br /&gt;
===== [[ PHP eAccelerator sur CentOS / BlueOnyx ]] =====&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;
===== [[Contrer l'attaque DoS isc.org]] =====&lt;br /&gt;
&lt;br /&gt;
== C.A.S ==&lt;br /&gt;
=== [[Serveur CAS 4 sur CentOS 7]] ===&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;
===== [[Serveur virtuels FreeRadius avec LDAP]] =====&lt;br /&gt;
&lt;br /&gt;
== Mails ==&lt;br /&gt;
===== [[MailCleaner: installation et configuration]] =====&lt;br /&gt;
===== [[Sendmail tips and tricks]] =====&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;
&lt;br /&gt;
===== [[Spamassassin : apprentissage et blacklist automatique]] =====&lt;br /&gt;
===== Postfix =====&lt;br /&gt;
&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;
== GlusterFS ==&lt;br /&gt;
===== [[GlusterFS+ZFS sur CentOS6/7]] =====&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;
&lt;br /&gt;
== CMS Made Simple ==&lt;br /&gt;
===== [[CMSMS Installation ]] =====&lt;br /&gt;
===== [[CMSMS Installation sur BlueOnyx]] =====&lt;br /&gt;
===== DotClear : [[Installation Dotclear]] =====&lt;br /&gt;
&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;
===== [[Ansible : installation ]] =====&lt;br /&gt;
===== [[Ansible: utilisation]] =====&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 : déploiement avec git]] =====&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;
&lt;br /&gt;
== MediaWiki ==&lt;br /&gt;
===== [[Install MediaWiki sur Debian]] =====&lt;br /&gt;
===== [[MediaWiki - changement de serveur]] =====&lt;br /&gt;
&lt;br /&gt;
== OpenERP - Odoo ==&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;
===== [[Odoo 9 - Installation sur Centos 7]] =====&lt;br /&gt;
&lt;br /&gt;
== Seafile ==&lt;br /&gt;
===== [[Seafile : présentation]] =====&lt;br /&gt;
===== [[ Seafile : installation sur CentOS ]] =====&lt;br /&gt;
===== [[Seafile : Seaf-cli (Command line client)]] =====&lt;br /&gt;
&lt;br /&gt;
== SOGo ==&lt;br /&gt;
===== [[ SOGo : présentation]] =====&lt;br /&gt;
===== [[ SOGo : installation sur CentOS-MariaDB-Postfix-Dovecot-PostfixAdmin ]] =====&lt;br /&gt;
===== [[ SOGo : installation des plugins sur Thunderbird ]] =====&lt;br /&gt;
===== [[ SOGo : astuces ]] =====&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;
&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;
===== [[ LMD : Linux Malware Detect ]] =====&lt;br /&gt;
&lt;br /&gt;
== Let's Encrypt ==&lt;br /&gt;
=== [[Let's Encrypt utilisation]] ===&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;
&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;
&lt;br /&gt;
==&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;
&lt;br /&gt;
=== Centralisation des logs ===&lt;br /&gt;
==== [[rsyslog-Graylog-Elasticsearch]] ====&lt;br /&gt;
&lt;br /&gt;
=== PfSense ===&lt;br /&gt;
==== [[ pfSense installation ]] ====&lt;br /&gt;
==== [[ pfSense cluster ]] ====&lt;br /&gt;
==== PfSense [[ MultiWan ]] ====&lt;br /&gt;
==== [[ Proxy non-transparent et filtrage : Squid + SquidGuard ]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ Proxy Report : Lightsquid ]] ====&lt;br /&gt;
==== [[ Filtrage HTTPS et portail captif : PFsense et Squid+SquiGuard ]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ PfSense : tunnel OpenVPN ]] ====&lt;br /&gt;
==== [[ PfSense : tunnel IPSec ]] ====&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;
===== [[Zabbix User Flexible Parameters]] =====&lt;br /&gt;
===== [[Ajouter un hôte et lui assigner un template]] =====&lt;br /&gt;
&lt;br /&gt;
= Sauvegardes =&lt;br /&gt;
===== [[sauvegardes avec droits ext3 sur partition Windows]] =====&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;
===== [[MondoRescue]] =====&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 11gR2 sur RedHat 7 64 bits]] =====&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]] (10g) =====&lt;br /&gt;
===== HA niveau 4 :[[RAC database 12c sur Win2008 avec Virtualbox]] =====&lt;br /&gt;
===== HA niveau 4 :[[RAC database 12c sur CentOS avec Virtualbox]] =====&lt;br /&gt;
===== [[Supprimer tous les objets d'un utilisateur]] en une seule fois =====&lt;br /&gt;
===== [[Déplacer les fichiers d'une base]] =====&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;
===== [[Réduire le tablespace TEMP]] =====&lt;br /&gt;
&lt;br /&gt;
== MySQL / MariaDB ==&lt;br /&gt;
===== [[Script d'audit de bases de données 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;
===== [[ Remplacer MySQL par MariaDB sur CentOS6/7 ]] =====&lt;br /&gt;
&lt;br /&gt;
===== [[ Cassandra sur MariaDB 10 ]] =====&lt;br /&gt;
&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;
&lt;br /&gt;
== Proxmox VE ==&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;
===== [[Proxmox 3.3 - Installation, configuration cluster]] =====&lt;br /&gt;
===== [[Proxmox 4.0 - Installation, configuration cluster]] =====&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;
===== 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;
===== [[Retailler le disque d'une VM]] =====&lt;br /&gt;
===== [[Suspendre VMWare]] pour sauvegarde =====&lt;br /&gt;
===== [[Le guest VMWare perd l'heure]] =====&lt;br /&gt;
&lt;br /&gt;
== HyperV ==&lt;br /&gt;
===== [[Incompatibilité noyau linux - HyperV ]] =====&lt;br /&gt;
&lt;br /&gt;
= [[ARCHIVES]] =&lt;br /&gt;
Toutes les pages obsolètes, pour archive (et nostalgie).&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Accueil&amp;diff=6602</id>
		<title>Accueil</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Accueil&amp;diff=6602"/>
				<updated>2018-01-18T13:46:36Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Utiles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;0&amp;quot;&lt;br /&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;
&lt;br /&gt;
= Utiles =&lt;br /&gt;
[[test tweet 8]]&lt;br /&gt;
&lt;br /&gt;
'''[[MediaWiki utilisation]]''' (Notes et infos utiles)&lt;br /&gt;
&lt;br /&gt;
'''Formattage''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Help:Formatting/fr Help:Formatting/fr]&amp;lt;/span&amp;gt;&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;
'''SyntaxHighlight''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi Extension:SyntaxHighlight_GeSHi]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;''Templates''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Help:Templates/fr Help:Templates/fr]&amp;lt;/span&amp;gt;&lt;br /&gt;
* http://wiki.kogite.fr/index.php/Mod%C3%A8le:Note&lt;br /&gt;
* http://wiki.kogite.fr/index.php/Mod%C3%A8le:Warning&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=center&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;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=center&amp;gt;&amp;lt;font style=bold size=6&amp;gt;'''Tutoriels'''&amp;lt;/font&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&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;
===== [[trouver l'adresse IP externe sans curl/lynx/wget]] =====&lt;br /&gt;
===== [[screen - retrouver le scrolling]] =====&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;
===== [[Route statique sous Debian]] =====&lt;br /&gt;
===== [[Debian : installation GRUB|Installation GRUB]]=====&lt;br /&gt;
===== [[Message &amp;quot;perl: warning: Setting locale failed.&amp;quot;]] =====&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;
== Vesta Control Panel ==&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;
== VestaCP ==&lt;br /&gt;
=== [[ Installation VestaCP sur CentOS6 ]] ===&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;
== 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;
== Divers ==&lt;br /&gt;
==== [[Modifier les accentués dans les noms de fichiers]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Ext3grep]]: undelete sur ext3 ! ====&lt;br /&gt;
&lt;br /&gt;
==== [[Tunnel SSH via un serveur intermédiaire]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ Réplication de systèmes de fichiers avec DRBD ]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[RAID logiciel : mdadm| madm : le RAID logiciel]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Network bonding sur linux]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ODBC sur linux]] (Ubuntu) ====&lt;br /&gt;
&lt;br /&gt;
==== [[Gestion des IOs, iowaits]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Reverse ssh : Accéder à un serveur derrière un NAT/Firewall]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[installer le client no-ip]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Conversion Libreoffice en ligne de commande : unoconv]] ====&lt;br /&gt;
&lt;br /&gt;
= Serveurs logiciels et Services =&lt;br /&gt;
== Apache, PHP ==&lt;br /&gt;
===== [[Exemple robots.txt]] =====&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_security, 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;
&lt;br /&gt;
===== Apache proxy : [[Mod_Proxy]] =====&lt;br /&gt;
===== [[Message : NameVirtualHost *:80 has no VirtualHosts]] =====&lt;br /&gt;
== caches web ==&lt;br /&gt;
===== [[Varnish cache]] =====&lt;br /&gt;
===== [[Memcached]] =====&lt;br /&gt;
===== [[ PHP eAccelerator sur CentOS / BlueOnyx ]] =====&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;
===== [[Contrer l'attaque DoS isc.org]] =====&lt;br /&gt;
&lt;br /&gt;
== C.A.S ==&lt;br /&gt;
=== [[Serveur CAS 4 sur CentOS 7]] ===&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;
===== [[Serveur virtuels FreeRadius avec LDAP]] =====&lt;br /&gt;
&lt;br /&gt;
== Mails ==&lt;br /&gt;
===== [[MailCleaner: installation et configuration]] =====&lt;br /&gt;
===== [[Sendmail tips and tricks]] =====&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;
&lt;br /&gt;
===== [[Spamassassin : apprentissage et blacklist automatique]] =====&lt;br /&gt;
===== Postfix =====&lt;br /&gt;
&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;
== GlusterFS ==&lt;br /&gt;
===== [[GlusterFS+ZFS sur CentOS6/7]] =====&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;
&lt;br /&gt;
== CMS Made Simple ==&lt;br /&gt;
===== [[CMSMS Installation ]] =====&lt;br /&gt;
===== [[CMSMS Installation sur BlueOnyx]] =====&lt;br /&gt;
===== DotClear : [[Installation Dotclear]] =====&lt;br /&gt;
&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;
===== [[Ansible : installation ]] =====&lt;br /&gt;
===== [[Ansible: utilisation]] =====&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 : déploiement avec git]] =====&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;
&lt;br /&gt;
== MediaWiki ==&lt;br /&gt;
===== [[Install MediaWiki sur Debian]] =====&lt;br /&gt;
===== [[MediaWiki - changement de serveur]] =====&lt;br /&gt;
&lt;br /&gt;
== OpenERP - Odoo ==&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;
===== [[Odoo 9 - Installation sur Centos 7]] =====&lt;br /&gt;
&lt;br /&gt;
== Seafile ==&lt;br /&gt;
===== [[Seafile : présentation]] =====&lt;br /&gt;
===== [[ Seafile : installation sur CentOS ]] =====&lt;br /&gt;
===== [[Seafile : Seaf-cli (Command line client)]] =====&lt;br /&gt;
&lt;br /&gt;
== SOGo ==&lt;br /&gt;
===== [[ SOGo : présentation]] =====&lt;br /&gt;
===== [[ SOGo : installation sur CentOS-MariaDB-Postfix-Dovecot-PostfixAdmin ]] =====&lt;br /&gt;
===== [[ SOGo : installation des plugins sur Thunderbird ]] =====&lt;br /&gt;
===== [[ SOGo : astuces ]] =====&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;
&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;
===== [[ LMD : Linux Malware Detect ]] =====&lt;br /&gt;
&lt;br /&gt;
== Let's Encrypt ==&lt;br /&gt;
=== [[Let's Encrypt utilisation]] ===&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;
&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;
&lt;br /&gt;
==&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;
&lt;br /&gt;
=== Centralisation des logs ===&lt;br /&gt;
==== [[rsyslog-Graylog-Elasticsearch]] ====&lt;br /&gt;
&lt;br /&gt;
=== PfSense ===&lt;br /&gt;
==== [[ pfSense installation ]] ====&lt;br /&gt;
==== [[ pfSense cluster ]] ====&lt;br /&gt;
==== PfSense [[ MultiWan ]] ====&lt;br /&gt;
==== [[ Proxy non-transparent et filtrage : Squid + SquidGuard ]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ Proxy Report : Lightsquid ]] ====&lt;br /&gt;
==== [[ Filtrage HTTPS et portail captif : PFsense et Squid+SquiGuard ]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ PfSense : tunnel OpenVPN ]] ====&lt;br /&gt;
==== [[ PfSense : tunnel IPSec ]] ====&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;
===== [[Zabbix User Flexible Parameters]] =====&lt;br /&gt;
===== [[Ajouter un hôte et lui assigner un template]] =====&lt;br /&gt;
&lt;br /&gt;
= Sauvegardes =&lt;br /&gt;
===== [[sauvegardes avec droits ext3 sur partition Windows]] =====&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;
===== [[MondoRescue]] =====&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 11gR2 sur RedHat 7 64 bits]] =====&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]] (10g) =====&lt;br /&gt;
===== HA niveau 4 :[[RAC database 12c sur Win2008 avec Virtualbox]] =====&lt;br /&gt;
===== HA niveau 4 :[[RAC database 12c sur CentOS avec Virtualbox]] =====&lt;br /&gt;
===== [[Supprimer tous les objets d'un utilisateur]] en une seule fois =====&lt;br /&gt;
===== [[Déplacer les fichiers d'une base]] =====&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;
===== [[Réduire le tablespace TEMP]] =====&lt;br /&gt;
&lt;br /&gt;
== MySQL / MariaDB ==&lt;br /&gt;
===== [[Script d'audit de bases de données 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;
===== [[ Remplacer MySQL par MariaDB sur CentOS6/7 ]] =====&lt;br /&gt;
&lt;br /&gt;
===== [[ Cassandra sur MariaDB 10 ]] =====&lt;br /&gt;
&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;
&lt;br /&gt;
== Proxmox VE ==&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;
===== [[Proxmox 3.3 - Installation, configuration cluster]] =====&lt;br /&gt;
===== [[Proxmox 4.0 - Installation, configuration cluster]] =====&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;
===== 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;
===== [[Retailler le disque d'une VM]] =====&lt;br /&gt;
===== [[Suspendre VMWare]] pour sauvegarde =====&lt;br /&gt;
===== [[Le guest VMWare perd l'heure]] =====&lt;br /&gt;
&lt;br /&gt;
== HyperV ==&lt;br /&gt;
===== [[Incompatibilité noyau linux - HyperV ]] =====&lt;br /&gt;
&lt;br /&gt;
= [[ARCHIVES]] =&lt;br /&gt;
Toutes les pages obsolètes, pour archive (et nostalgie).&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Accueil&amp;diff=6599</id>
		<title>Accueil</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Accueil&amp;diff=6599"/>
				<updated>2018-01-18T13:32:49Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Utiles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;0&amp;quot;&lt;br /&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;
&lt;br /&gt;
= Utiles =&lt;br /&gt;
[[test tweet 7]]&lt;br /&gt;
&lt;br /&gt;
'''[[MediaWiki utilisation]]''' (Notes et infos utiles)&lt;br /&gt;
&lt;br /&gt;
'''Formattage''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Help:Formatting/fr Help:Formatting/fr]&amp;lt;/span&amp;gt;&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;
'''SyntaxHighlight''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi Extension:SyntaxHighlight_GeSHi]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;''Templates''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Help:Templates/fr Help:Templates/fr]&amp;lt;/span&amp;gt;&lt;br /&gt;
* http://wiki.kogite.fr/index.php/Mod%C3%A8le:Note&lt;br /&gt;
* http://wiki.kogite.fr/index.php/Mod%C3%A8le:Warning&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=center&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;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=center&amp;gt;&amp;lt;font style=bold size=6&amp;gt;'''Tutoriels'''&amp;lt;/font&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&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;
===== [[trouver l'adresse IP externe sans curl/lynx/wget]] =====&lt;br /&gt;
===== [[screen - retrouver le scrolling]] =====&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;
===== [[Route statique sous Debian]] =====&lt;br /&gt;
===== [[Debian : installation GRUB|Installation GRUB]]=====&lt;br /&gt;
===== [[Message &amp;quot;perl: warning: Setting locale failed.&amp;quot;]] =====&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;
== Vesta Control Panel ==&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;
== VestaCP ==&lt;br /&gt;
=== [[ Installation VestaCP sur CentOS6 ]] ===&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;
== 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;
== Divers ==&lt;br /&gt;
==== [[Modifier les accentués dans les noms de fichiers]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Ext3grep]]: undelete sur ext3 ! ====&lt;br /&gt;
&lt;br /&gt;
==== [[Tunnel SSH via un serveur intermédiaire]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ Réplication de systèmes de fichiers avec DRBD ]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[RAID logiciel : mdadm| madm : le RAID logiciel]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Network bonding sur linux]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ODBC sur linux]] (Ubuntu) ====&lt;br /&gt;
&lt;br /&gt;
==== [[Gestion des IOs, iowaits]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Reverse ssh : Accéder à un serveur derrière un NAT/Firewall]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[installer le client no-ip]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Conversion Libreoffice en ligne de commande : unoconv]] ====&lt;br /&gt;
&lt;br /&gt;
= Serveurs logiciels et Services =&lt;br /&gt;
== Apache, PHP ==&lt;br /&gt;
===== [[Exemple robots.txt]] =====&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_security, 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;
&lt;br /&gt;
===== Apache proxy : [[Mod_Proxy]] =====&lt;br /&gt;
===== [[Message : NameVirtualHost *:80 has no VirtualHosts]] =====&lt;br /&gt;
== caches web ==&lt;br /&gt;
===== [[Varnish cache]] =====&lt;br /&gt;
===== [[Memcached]] =====&lt;br /&gt;
===== [[ PHP eAccelerator sur CentOS / BlueOnyx ]] =====&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;
===== [[Contrer l'attaque DoS isc.org]] =====&lt;br /&gt;
&lt;br /&gt;
== C.A.S ==&lt;br /&gt;
=== [[Serveur CAS 4 sur CentOS 7]] ===&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;
===== [[Serveur virtuels FreeRadius avec LDAP]] =====&lt;br /&gt;
&lt;br /&gt;
== Mails ==&lt;br /&gt;
===== [[MailCleaner: installation et configuration]] =====&lt;br /&gt;
===== [[Sendmail tips and tricks]] =====&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;
&lt;br /&gt;
===== [[Spamassassin : apprentissage et blacklist automatique]] =====&lt;br /&gt;
===== Postfix =====&lt;br /&gt;
&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;
== GlusterFS ==&lt;br /&gt;
===== [[GlusterFS+ZFS sur CentOS6/7]] =====&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;
&lt;br /&gt;
== CMS Made Simple ==&lt;br /&gt;
===== [[CMSMS Installation ]] =====&lt;br /&gt;
===== [[CMSMS Installation sur BlueOnyx]] =====&lt;br /&gt;
===== DotClear : [[Installation Dotclear]] =====&lt;br /&gt;
&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;
===== [[Ansible : installation ]] =====&lt;br /&gt;
===== [[Ansible: utilisation]] =====&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 : déploiement avec git]] =====&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;
&lt;br /&gt;
== MediaWiki ==&lt;br /&gt;
===== [[Install MediaWiki sur Debian]] =====&lt;br /&gt;
===== [[MediaWiki - changement de serveur]] =====&lt;br /&gt;
&lt;br /&gt;
== OpenERP - Odoo ==&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;
===== [[Odoo 9 - Installation sur Centos 7]] =====&lt;br /&gt;
&lt;br /&gt;
== Seafile ==&lt;br /&gt;
===== [[Seafile : présentation]] =====&lt;br /&gt;
===== [[ Seafile : installation sur CentOS ]] =====&lt;br /&gt;
===== [[Seafile : Seaf-cli (Command line client)]] =====&lt;br /&gt;
&lt;br /&gt;
== SOGo ==&lt;br /&gt;
===== [[ SOGo : présentation]] =====&lt;br /&gt;
===== [[ SOGo : installation sur CentOS-MariaDB-Postfix-Dovecot-PostfixAdmin ]] =====&lt;br /&gt;
===== [[ SOGo : installation des plugins sur Thunderbird ]] =====&lt;br /&gt;
===== [[ SOGo : astuces ]] =====&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;
&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;
===== [[ LMD : Linux Malware Detect ]] =====&lt;br /&gt;
&lt;br /&gt;
== Let's Encrypt ==&lt;br /&gt;
=== [[Let's Encrypt utilisation]] ===&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;
&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;
&lt;br /&gt;
==&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;
&lt;br /&gt;
=== Centralisation des logs ===&lt;br /&gt;
==== [[rsyslog-Graylog-Elasticsearch]] ====&lt;br /&gt;
&lt;br /&gt;
=== PfSense ===&lt;br /&gt;
==== [[ pfSense installation ]] ====&lt;br /&gt;
==== [[ pfSense cluster ]] ====&lt;br /&gt;
==== PfSense [[ MultiWan ]] ====&lt;br /&gt;
==== [[ Proxy non-transparent et filtrage : Squid + SquidGuard ]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ Proxy Report : Lightsquid ]] ====&lt;br /&gt;
==== [[ Filtrage HTTPS et portail captif : PFsense et Squid+SquiGuard ]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ PfSense : tunnel OpenVPN ]] ====&lt;br /&gt;
==== [[ PfSense : tunnel IPSec ]] ====&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;
===== [[Zabbix User Flexible Parameters]] =====&lt;br /&gt;
===== [[Ajouter un hôte et lui assigner un template]] =====&lt;br /&gt;
&lt;br /&gt;
= Sauvegardes =&lt;br /&gt;
===== [[sauvegardes avec droits ext3 sur partition Windows]] =====&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;
===== [[MondoRescue]] =====&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 11gR2 sur RedHat 7 64 bits]] =====&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]] (10g) =====&lt;br /&gt;
===== HA niveau 4 :[[RAC database 12c sur Win2008 avec Virtualbox]] =====&lt;br /&gt;
===== HA niveau 4 :[[RAC database 12c sur CentOS avec Virtualbox]] =====&lt;br /&gt;
===== [[Supprimer tous les objets d'un utilisateur]] en une seule fois =====&lt;br /&gt;
===== [[Déplacer les fichiers d'une base]] =====&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;
===== [[Réduire le tablespace TEMP]] =====&lt;br /&gt;
&lt;br /&gt;
== MySQL / MariaDB ==&lt;br /&gt;
===== [[Script d'audit de bases de données 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;
===== [[ Remplacer MySQL par MariaDB sur CentOS6/7 ]] =====&lt;br /&gt;
&lt;br /&gt;
===== [[ Cassandra sur MariaDB 10 ]] =====&lt;br /&gt;
&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;
&lt;br /&gt;
== Proxmox VE ==&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;
===== [[Proxmox 3.3 - Installation, configuration cluster]] =====&lt;br /&gt;
===== [[Proxmox 4.0 - Installation, configuration cluster]] =====&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;
===== 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;
===== [[Retailler le disque d'une VM]] =====&lt;br /&gt;
===== [[Suspendre VMWare]] pour sauvegarde =====&lt;br /&gt;
===== [[Le guest VMWare perd l'heure]] =====&lt;br /&gt;
&lt;br /&gt;
== HyperV ==&lt;br /&gt;
===== [[Incompatibilité noyau linux - HyperV ]] =====&lt;br /&gt;
&lt;br /&gt;
= [[ARCHIVES]] =&lt;br /&gt;
Toutes les pages obsolètes, pour archive (et nostalgie).&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Accueil&amp;diff=6594</id>
		<title>Accueil</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Accueil&amp;diff=6594"/>
				<updated>2018-01-18T13:11:19Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Utiles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;0&amp;quot;&lt;br /&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;
&lt;br /&gt;
= Utiles =&lt;br /&gt;
[[test tweet 6]]&lt;br /&gt;
&lt;br /&gt;
'''[[MediaWiki utilisation]]''' (Notes et infos utiles)&lt;br /&gt;
&lt;br /&gt;
'''Formattage''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Help:Formatting/fr Help:Formatting/fr]&amp;lt;/span&amp;gt;&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;
'''SyntaxHighlight''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi Extension:SyntaxHighlight_GeSHi]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;''Templates''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Help:Templates/fr Help:Templates/fr]&amp;lt;/span&amp;gt;&lt;br /&gt;
* http://wiki.kogite.fr/index.php/Mod%C3%A8le:Note&lt;br /&gt;
* http://wiki.kogite.fr/index.php/Mod%C3%A8le:Warning&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=center&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;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=center&amp;gt;&amp;lt;font style=bold size=6&amp;gt;'''Tutoriels'''&amp;lt;/font&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&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;
===== [[trouver l'adresse IP externe sans curl/lynx/wget]] =====&lt;br /&gt;
===== [[screen - retrouver le scrolling]] =====&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;
===== [[Route statique sous Debian]] =====&lt;br /&gt;
===== [[Debian : installation GRUB|Installation GRUB]]=====&lt;br /&gt;
===== [[Message &amp;quot;perl: warning: Setting locale failed.&amp;quot;]] =====&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;
== Vesta Control Panel ==&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;
== VestaCP ==&lt;br /&gt;
=== [[ Installation VestaCP sur CentOS6 ]] ===&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;
== 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;
== Divers ==&lt;br /&gt;
==== [[Modifier les accentués dans les noms de fichiers]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Ext3grep]]: undelete sur ext3 ! ====&lt;br /&gt;
&lt;br /&gt;
==== [[Tunnel SSH via un serveur intermédiaire]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ Réplication de systèmes de fichiers avec DRBD ]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[RAID logiciel : mdadm| madm : le RAID logiciel]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Network bonding sur linux]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ODBC sur linux]] (Ubuntu) ====&lt;br /&gt;
&lt;br /&gt;
==== [[Gestion des IOs, iowaits]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Reverse ssh : Accéder à un serveur derrière un NAT/Firewall]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[installer le client no-ip]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Conversion Libreoffice en ligne de commande : unoconv]] ====&lt;br /&gt;
&lt;br /&gt;
= Serveurs logiciels et Services =&lt;br /&gt;
== Apache, PHP ==&lt;br /&gt;
===== [[Exemple robots.txt]] =====&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_security, 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;
&lt;br /&gt;
===== Apache proxy : [[Mod_Proxy]] =====&lt;br /&gt;
===== [[Message : NameVirtualHost *:80 has no VirtualHosts]] =====&lt;br /&gt;
== caches web ==&lt;br /&gt;
===== [[Varnish cache]] =====&lt;br /&gt;
===== [[Memcached]] =====&lt;br /&gt;
===== [[ PHP eAccelerator sur CentOS / BlueOnyx ]] =====&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;
===== [[Contrer l'attaque DoS isc.org]] =====&lt;br /&gt;
&lt;br /&gt;
== C.A.S ==&lt;br /&gt;
=== [[Serveur CAS 4 sur CentOS 7]] ===&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;
===== [[Serveur virtuels FreeRadius avec LDAP]] =====&lt;br /&gt;
&lt;br /&gt;
== Mails ==&lt;br /&gt;
===== [[MailCleaner: installation et configuration]] =====&lt;br /&gt;
===== [[Sendmail tips and tricks]] =====&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;
&lt;br /&gt;
===== [[Spamassassin : apprentissage et blacklist automatique]] =====&lt;br /&gt;
===== Postfix =====&lt;br /&gt;
&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;
== GlusterFS ==&lt;br /&gt;
===== [[GlusterFS+ZFS sur CentOS6/7]] =====&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;
&lt;br /&gt;
== CMS Made Simple ==&lt;br /&gt;
===== [[CMSMS Installation ]] =====&lt;br /&gt;
===== [[CMSMS Installation sur BlueOnyx]] =====&lt;br /&gt;
===== DotClear : [[Installation Dotclear]] =====&lt;br /&gt;
&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;
===== [[Ansible : installation ]] =====&lt;br /&gt;
===== [[Ansible: utilisation]] =====&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 : déploiement avec git]] =====&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;
&lt;br /&gt;
== MediaWiki ==&lt;br /&gt;
===== [[Install MediaWiki sur Debian]] =====&lt;br /&gt;
===== [[MediaWiki - changement de serveur]] =====&lt;br /&gt;
&lt;br /&gt;
== OpenERP - Odoo ==&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;
===== [[Odoo 9 - Installation sur Centos 7]] =====&lt;br /&gt;
&lt;br /&gt;
== Seafile ==&lt;br /&gt;
===== [[Seafile : présentation]] =====&lt;br /&gt;
===== [[ Seafile : installation sur CentOS ]] =====&lt;br /&gt;
===== [[Seafile : Seaf-cli (Command line client)]] =====&lt;br /&gt;
&lt;br /&gt;
== SOGo ==&lt;br /&gt;
===== [[ SOGo : présentation]] =====&lt;br /&gt;
===== [[ SOGo : installation sur CentOS-MariaDB-Postfix-Dovecot-PostfixAdmin ]] =====&lt;br /&gt;
===== [[ SOGo : installation des plugins sur Thunderbird ]] =====&lt;br /&gt;
===== [[ SOGo : astuces ]] =====&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;
&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;
===== [[ LMD : Linux Malware Detect ]] =====&lt;br /&gt;
&lt;br /&gt;
== Let's Encrypt ==&lt;br /&gt;
=== [[Let's Encrypt utilisation]] ===&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;
&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;
&lt;br /&gt;
==&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;
&lt;br /&gt;
=== Centralisation des logs ===&lt;br /&gt;
==== [[rsyslog-Graylog-Elasticsearch]] ====&lt;br /&gt;
&lt;br /&gt;
=== PfSense ===&lt;br /&gt;
==== [[ pfSense installation ]] ====&lt;br /&gt;
==== [[ pfSense cluster ]] ====&lt;br /&gt;
==== PfSense [[ MultiWan ]] ====&lt;br /&gt;
==== [[ Proxy non-transparent et filtrage : Squid + SquidGuard ]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ Proxy Report : Lightsquid ]] ====&lt;br /&gt;
==== [[ Filtrage HTTPS et portail captif : PFsense et Squid+SquiGuard ]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ PfSense : tunnel OpenVPN ]] ====&lt;br /&gt;
==== [[ PfSense : tunnel IPSec ]] ====&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;
===== [[Zabbix User Flexible Parameters]] =====&lt;br /&gt;
===== [[Ajouter un hôte et lui assigner un template]] =====&lt;br /&gt;
&lt;br /&gt;
= Sauvegardes =&lt;br /&gt;
===== [[sauvegardes avec droits ext3 sur partition Windows]] =====&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;
===== [[MondoRescue]] =====&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 11gR2 sur RedHat 7 64 bits]] =====&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]] (10g) =====&lt;br /&gt;
===== HA niveau 4 :[[RAC database 12c sur Win2008 avec Virtualbox]] =====&lt;br /&gt;
===== HA niveau 4 :[[RAC database 12c sur CentOS avec Virtualbox]] =====&lt;br /&gt;
===== [[Supprimer tous les objets d'un utilisateur]] en une seule fois =====&lt;br /&gt;
===== [[Déplacer les fichiers d'une base]] =====&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;
===== [[Réduire le tablespace TEMP]] =====&lt;br /&gt;
&lt;br /&gt;
== MySQL / MariaDB ==&lt;br /&gt;
===== [[Script d'audit de bases de données 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;
===== [[ Remplacer MySQL par MariaDB sur CentOS6/7 ]] =====&lt;br /&gt;
&lt;br /&gt;
===== [[ Cassandra sur MariaDB 10 ]] =====&lt;br /&gt;
&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;
&lt;br /&gt;
== Proxmox VE ==&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;
===== [[Proxmox 3.3 - Installation, configuration cluster]] =====&lt;br /&gt;
===== [[Proxmox 4.0 - Installation, configuration cluster]] =====&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;
===== 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;
===== [[Retailler le disque d'une VM]] =====&lt;br /&gt;
===== [[Suspendre VMWare]] pour sauvegarde =====&lt;br /&gt;
===== [[Le guest VMWare perd l'heure]] =====&lt;br /&gt;
&lt;br /&gt;
== HyperV ==&lt;br /&gt;
===== [[Incompatibilité noyau linux - HyperV ]] =====&lt;br /&gt;
&lt;br /&gt;
= [[ARCHIVES]] =&lt;br /&gt;
Toutes les pages obsolètes, pour archive (et nostalgie).&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Accueil&amp;diff=6590</id>
		<title>Accueil</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Accueil&amp;diff=6590"/>
				<updated>2018-01-18T13:06:52Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Utiles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;0&amp;quot;&lt;br /&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;
&lt;br /&gt;
= Utiles =&lt;br /&gt;
[[test tweet 5]]&lt;br /&gt;
&lt;br /&gt;
'''[[MediaWiki utilisation]]''' (Notes et infos utiles)&lt;br /&gt;
&lt;br /&gt;
'''Formattage''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Help:Formatting/fr Help:Formatting/fr]&amp;lt;/span&amp;gt;&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;
'''SyntaxHighlight''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi Extension:SyntaxHighlight_GeSHi]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;''Templates''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Help:Templates/fr Help:Templates/fr]&amp;lt;/span&amp;gt;&lt;br /&gt;
* http://wiki.kogite.fr/index.php/Mod%C3%A8le:Note&lt;br /&gt;
* http://wiki.kogite.fr/index.php/Mod%C3%A8le:Warning&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=center&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;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=center&amp;gt;&amp;lt;font style=bold size=6&amp;gt;'''Tutoriels'''&amp;lt;/font&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&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;
===== [[trouver l'adresse IP externe sans curl/lynx/wget]] =====&lt;br /&gt;
===== [[screen - retrouver le scrolling]] =====&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;
===== [[Route statique sous Debian]] =====&lt;br /&gt;
===== [[Debian : installation GRUB|Installation GRUB]]=====&lt;br /&gt;
===== [[Message &amp;quot;perl: warning: Setting locale failed.&amp;quot;]] =====&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;
== Vesta Control Panel ==&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;
== VestaCP ==&lt;br /&gt;
=== [[ Installation VestaCP sur CentOS6 ]] ===&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;
== 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;
== Divers ==&lt;br /&gt;
==== [[Modifier les accentués dans les noms de fichiers]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Ext3grep]]: undelete sur ext3 ! ====&lt;br /&gt;
&lt;br /&gt;
==== [[Tunnel SSH via un serveur intermédiaire]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ Réplication de systèmes de fichiers avec DRBD ]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[RAID logiciel : mdadm| madm : le RAID logiciel]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Network bonding sur linux]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ODBC sur linux]] (Ubuntu) ====&lt;br /&gt;
&lt;br /&gt;
==== [[Gestion des IOs, iowaits]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Reverse ssh : Accéder à un serveur derrière un NAT/Firewall]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[installer le client no-ip]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Conversion Libreoffice en ligne de commande : unoconv]] ====&lt;br /&gt;
&lt;br /&gt;
= Serveurs logiciels et Services =&lt;br /&gt;
== Apache, PHP ==&lt;br /&gt;
===== [[Exemple robots.txt]] =====&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_security, 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;
&lt;br /&gt;
===== Apache proxy : [[Mod_Proxy]] =====&lt;br /&gt;
===== [[Message : NameVirtualHost *:80 has no VirtualHosts]] =====&lt;br /&gt;
== caches web ==&lt;br /&gt;
===== [[Varnish cache]] =====&lt;br /&gt;
===== [[Memcached]] =====&lt;br /&gt;
===== [[ PHP eAccelerator sur CentOS / BlueOnyx ]] =====&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;
===== [[Contrer l'attaque DoS isc.org]] =====&lt;br /&gt;
&lt;br /&gt;
== C.A.S ==&lt;br /&gt;
=== [[Serveur CAS 4 sur CentOS 7]] ===&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;
===== [[Serveur virtuels FreeRadius avec LDAP]] =====&lt;br /&gt;
&lt;br /&gt;
== Mails ==&lt;br /&gt;
===== [[MailCleaner: installation et configuration]] =====&lt;br /&gt;
===== [[Sendmail tips and tricks]] =====&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;
&lt;br /&gt;
===== [[Spamassassin : apprentissage et blacklist automatique]] =====&lt;br /&gt;
===== Postfix =====&lt;br /&gt;
&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;
== GlusterFS ==&lt;br /&gt;
===== [[GlusterFS+ZFS sur CentOS6/7]] =====&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;
&lt;br /&gt;
== CMS Made Simple ==&lt;br /&gt;
===== [[CMSMS Installation ]] =====&lt;br /&gt;
===== [[CMSMS Installation sur BlueOnyx]] =====&lt;br /&gt;
===== DotClear : [[Installation Dotclear]] =====&lt;br /&gt;
&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;
===== [[Ansible : installation ]] =====&lt;br /&gt;
===== [[Ansible: utilisation]] =====&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 : déploiement avec git]] =====&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;
&lt;br /&gt;
== MediaWiki ==&lt;br /&gt;
===== [[Install MediaWiki sur Debian]] =====&lt;br /&gt;
===== [[MediaWiki - changement de serveur]] =====&lt;br /&gt;
&lt;br /&gt;
== OpenERP - Odoo ==&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;
===== [[Odoo 9 - Installation sur Centos 7]] =====&lt;br /&gt;
&lt;br /&gt;
== Seafile ==&lt;br /&gt;
===== [[Seafile : présentation]] =====&lt;br /&gt;
===== [[ Seafile : installation sur CentOS ]] =====&lt;br /&gt;
===== [[Seafile : Seaf-cli (Command line client)]] =====&lt;br /&gt;
&lt;br /&gt;
== SOGo ==&lt;br /&gt;
===== [[ SOGo : présentation]] =====&lt;br /&gt;
===== [[ SOGo : installation sur CentOS-MariaDB-Postfix-Dovecot-PostfixAdmin ]] =====&lt;br /&gt;
===== [[ SOGo : installation des plugins sur Thunderbird ]] =====&lt;br /&gt;
===== [[ SOGo : astuces ]] =====&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;
&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;
===== [[ LMD : Linux Malware Detect ]] =====&lt;br /&gt;
&lt;br /&gt;
== Let's Encrypt ==&lt;br /&gt;
=== [[Let's Encrypt utilisation]] ===&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;
&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;
&lt;br /&gt;
==&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;
&lt;br /&gt;
=== Centralisation des logs ===&lt;br /&gt;
==== [[rsyslog-Graylog-Elasticsearch]] ====&lt;br /&gt;
&lt;br /&gt;
=== PfSense ===&lt;br /&gt;
==== [[ pfSense installation ]] ====&lt;br /&gt;
==== [[ pfSense cluster ]] ====&lt;br /&gt;
==== PfSense [[ MultiWan ]] ====&lt;br /&gt;
==== [[ Proxy non-transparent et filtrage : Squid + SquidGuard ]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ Proxy Report : Lightsquid ]] ====&lt;br /&gt;
==== [[ Filtrage HTTPS et portail captif : PFsense et Squid+SquiGuard ]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ PfSense : tunnel OpenVPN ]] ====&lt;br /&gt;
==== [[ PfSense : tunnel IPSec ]] ====&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;
===== [[Zabbix User Flexible Parameters]] =====&lt;br /&gt;
===== [[Ajouter un hôte et lui assigner un template]] =====&lt;br /&gt;
&lt;br /&gt;
= Sauvegardes =&lt;br /&gt;
===== [[sauvegardes avec droits ext3 sur partition Windows]] =====&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;
===== [[MondoRescue]] =====&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 11gR2 sur RedHat 7 64 bits]] =====&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]] (10g) =====&lt;br /&gt;
===== HA niveau 4 :[[RAC database 12c sur Win2008 avec Virtualbox]] =====&lt;br /&gt;
===== HA niveau 4 :[[RAC database 12c sur CentOS avec Virtualbox]] =====&lt;br /&gt;
===== [[Supprimer tous les objets d'un utilisateur]] en une seule fois =====&lt;br /&gt;
===== [[Déplacer les fichiers d'une base]] =====&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;
===== [[Réduire le tablespace TEMP]] =====&lt;br /&gt;
&lt;br /&gt;
== MySQL / MariaDB ==&lt;br /&gt;
===== [[Script d'audit de bases de données 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;
===== [[ Remplacer MySQL par MariaDB sur CentOS6/7 ]] =====&lt;br /&gt;
&lt;br /&gt;
===== [[ Cassandra sur MariaDB 10 ]] =====&lt;br /&gt;
&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;
&lt;br /&gt;
== Proxmox VE ==&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;
===== [[Proxmox 3.3 - Installation, configuration cluster]] =====&lt;br /&gt;
===== [[Proxmox 4.0 - Installation, configuration cluster]] =====&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;
===== 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;
===== [[Retailler le disque d'une VM]] =====&lt;br /&gt;
===== [[Suspendre VMWare]] pour sauvegarde =====&lt;br /&gt;
===== [[Le guest VMWare perd l'heure]] =====&lt;br /&gt;
&lt;br /&gt;
== HyperV ==&lt;br /&gt;
===== [[Incompatibilité noyau linux - HyperV ]] =====&lt;br /&gt;
&lt;br /&gt;
= [[ARCHIVES]] =&lt;br /&gt;
Toutes les pages obsolètes, pour archive (et nostalgie).&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Accueil&amp;diff=6589</id>
		<title>Accueil</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Accueil&amp;diff=6589"/>
				<updated>2018-01-17T16:39:01Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Utiles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;0&amp;quot;&lt;br /&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;
&lt;br /&gt;
= Utiles =&lt;br /&gt;
'''[[MediaWiki utilisation]]''' (Notes et infos utiles)&lt;br /&gt;
&lt;br /&gt;
'''Formattage''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Help:Formatting/fr Help:Formatting/fr]&amp;lt;/span&amp;gt;&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;
'''SyntaxHighlight''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi Extension:SyntaxHighlight_GeSHi]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;''Templates''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Help:Templates/fr Help:Templates/fr]&amp;lt;/span&amp;gt;&lt;br /&gt;
* http://wiki.kogite.fr/index.php/Mod%C3%A8le:Note&lt;br /&gt;
* http://wiki.kogite.fr/index.php/Mod%C3%A8le:Warning&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=center&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;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=center&amp;gt;&amp;lt;font style=bold size=6&amp;gt;'''Tutoriels'''&amp;lt;/font&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&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;
===== [[trouver l'adresse IP externe sans curl/lynx/wget]] =====&lt;br /&gt;
===== [[screen - retrouver le scrolling]] =====&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;
===== [[Route statique sous Debian]] =====&lt;br /&gt;
===== [[Debian : installation GRUB|Installation GRUB]]=====&lt;br /&gt;
===== [[Message &amp;quot;perl: warning: Setting locale failed.&amp;quot;]] =====&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;
== Vesta Control Panel ==&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;
== VestaCP ==&lt;br /&gt;
=== [[ Installation VestaCP sur CentOS6 ]] ===&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;
== 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;
== Divers ==&lt;br /&gt;
==== [[Modifier les accentués dans les noms de fichiers]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Ext3grep]]: undelete sur ext3 ! ====&lt;br /&gt;
&lt;br /&gt;
==== [[Tunnel SSH via un serveur intermédiaire]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ Réplication de systèmes de fichiers avec DRBD ]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[RAID logiciel : mdadm| madm : le RAID logiciel]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Network bonding sur linux]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ODBC sur linux]] (Ubuntu) ====&lt;br /&gt;
&lt;br /&gt;
==== [[Gestion des IOs, iowaits]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Reverse ssh : Accéder à un serveur derrière un NAT/Firewall]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[installer le client no-ip]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Conversion Libreoffice en ligne de commande : unoconv]] ====&lt;br /&gt;
&lt;br /&gt;
= Serveurs logiciels et Services =&lt;br /&gt;
== Apache, PHP ==&lt;br /&gt;
===== [[Exemple robots.txt]] =====&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_security, 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;
&lt;br /&gt;
===== Apache proxy : [[Mod_Proxy]] =====&lt;br /&gt;
===== [[Message : NameVirtualHost *:80 has no VirtualHosts]] =====&lt;br /&gt;
== caches web ==&lt;br /&gt;
===== [[Varnish cache]] =====&lt;br /&gt;
===== [[Memcached]] =====&lt;br /&gt;
===== [[ PHP eAccelerator sur CentOS / BlueOnyx ]] =====&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;
===== [[Contrer l'attaque DoS isc.org]] =====&lt;br /&gt;
&lt;br /&gt;
== C.A.S ==&lt;br /&gt;
=== [[Serveur CAS 4 sur CentOS 7]] ===&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;
===== [[Serveur virtuels FreeRadius avec LDAP]] =====&lt;br /&gt;
&lt;br /&gt;
== Mails ==&lt;br /&gt;
===== [[MailCleaner: installation et configuration]] =====&lt;br /&gt;
===== [[Sendmail tips and tricks]] =====&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;
&lt;br /&gt;
===== [[Spamassassin : apprentissage et blacklist automatique]] =====&lt;br /&gt;
===== Postfix =====&lt;br /&gt;
&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;
== GlusterFS ==&lt;br /&gt;
===== [[GlusterFS+ZFS sur CentOS6/7]] =====&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;
&lt;br /&gt;
== CMS Made Simple ==&lt;br /&gt;
===== [[CMSMS Installation ]] =====&lt;br /&gt;
===== [[CMSMS Installation sur BlueOnyx]] =====&lt;br /&gt;
===== DotClear : [[Installation Dotclear]] =====&lt;br /&gt;
&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;
===== [[Ansible : installation ]] =====&lt;br /&gt;
===== [[Ansible: utilisation]] =====&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 : déploiement avec git]] =====&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;
&lt;br /&gt;
== MediaWiki ==&lt;br /&gt;
===== [[Install MediaWiki sur Debian]] =====&lt;br /&gt;
===== [[MediaWiki - changement de serveur]] =====&lt;br /&gt;
&lt;br /&gt;
== OpenERP - Odoo ==&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;
===== [[Odoo 9 - Installation sur Centos 7]] =====&lt;br /&gt;
&lt;br /&gt;
== Seafile ==&lt;br /&gt;
===== [[Seafile : présentation]] =====&lt;br /&gt;
===== [[ Seafile : installation sur CentOS ]] =====&lt;br /&gt;
===== [[Seafile : Seaf-cli (Command line client)]] =====&lt;br /&gt;
&lt;br /&gt;
== SOGo ==&lt;br /&gt;
===== [[ SOGo : présentation]] =====&lt;br /&gt;
===== [[ SOGo : installation sur CentOS-MariaDB-Postfix-Dovecot-PostfixAdmin ]] =====&lt;br /&gt;
===== [[ SOGo : installation des plugins sur Thunderbird ]] =====&lt;br /&gt;
===== [[ SOGo : astuces ]] =====&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;
&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;
===== [[ LMD : Linux Malware Detect ]] =====&lt;br /&gt;
&lt;br /&gt;
== Let's Encrypt ==&lt;br /&gt;
=== [[Let's Encrypt utilisation]] ===&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;
&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;
&lt;br /&gt;
==&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;
&lt;br /&gt;
=== Centralisation des logs ===&lt;br /&gt;
==== [[rsyslog-Graylog-Elasticsearch]] ====&lt;br /&gt;
&lt;br /&gt;
=== PfSense ===&lt;br /&gt;
==== [[ pfSense installation ]] ====&lt;br /&gt;
==== [[ pfSense cluster ]] ====&lt;br /&gt;
==== PfSense [[ MultiWan ]] ====&lt;br /&gt;
==== [[ Proxy non-transparent et filtrage : Squid + SquidGuard ]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ Proxy Report : Lightsquid ]] ====&lt;br /&gt;
==== [[ Filtrage HTTPS et portail captif : PFsense et Squid+SquiGuard ]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ PfSense : tunnel OpenVPN ]] ====&lt;br /&gt;
==== [[ PfSense : tunnel IPSec ]] ====&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;
===== [[Zabbix User Flexible Parameters]] =====&lt;br /&gt;
===== [[Ajouter un hôte et lui assigner un template]] =====&lt;br /&gt;
&lt;br /&gt;
= Sauvegardes =&lt;br /&gt;
===== [[sauvegardes avec droits ext3 sur partition Windows]] =====&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;
===== [[MondoRescue]] =====&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 11gR2 sur RedHat 7 64 bits]] =====&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]] (10g) =====&lt;br /&gt;
===== HA niveau 4 :[[RAC database 12c sur Win2008 avec Virtualbox]] =====&lt;br /&gt;
===== HA niveau 4 :[[RAC database 12c sur CentOS avec Virtualbox]] =====&lt;br /&gt;
===== [[Supprimer tous les objets d'un utilisateur]] en une seule fois =====&lt;br /&gt;
===== [[Déplacer les fichiers d'une base]] =====&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;
===== [[Réduire le tablespace TEMP]] =====&lt;br /&gt;
&lt;br /&gt;
== MySQL / MariaDB ==&lt;br /&gt;
===== [[Script d'audit de bases de données 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;
===== [[ Remplacer MySQL par MariaDB sur CentOS6/7 ]] =====&lt;br /&gt;
&lt;br /&gt;
===== [[ Cassandra sur MariaDB 10 ]] =====&lt;br /&gt;
&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;
&lt;br /&gt;
== Proxmox VE ==&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;
===== [[Proxmox 3.3 - Installation, configuration cluster]] =====&lt;br /&gt;
===== [[Proxmox 4.0 - Installation, configuration cluster]] =====&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;
===== 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;
===== [[Retailler le disque d'une VM]] =====&lt;br /&gt;
===== [[Suspendre VMWare]] pour sauvegarde =====&lt;br /&gt;
===== [[Le guest VMWare perd l'heure]] =====&lt;br /&gt;
&lt;br /&gt;
== HyperV ==&lt;br /&gt;
===== [[Incompatibilité noyau linux - HyperV ]] =====&lt;br /&gt;
&lt;br /&gt;
= [[ARCHIVES]] =&lt;br /&gt;
Toutes les pages obsolètes, pour archive (et nostalgie).&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Accueil&amp;diff=6586</id>
		<title>Accueil</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Accueil&amp;diff=6586"/>
				<updated>2018-01-17T16:29:03Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Utiles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;0&amp;quot;&lt;br /&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;
&lt;br /&gt;
= Utiles =&lt;br /&gt;
[[tweetAnew3]]&lt;br /&gt;
&lt;br /&gt;
'''[[MediaWiki utilisation]]''' (Notes et infos utiles)&lt;br /&gt;
&lt;br /&gt;
'''Formattage''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Help:Formatting/fr Help:Formatting/fr]&amp;lt;/span&amp;gt;&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;
'''SyntaxHighlight''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi Extension:SyntaxHighlight_GeSHi]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;''Templates''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Help:Templates/fr Help:Templates/fr]&amp;lt;/span&amp;gt;&lt;br /&gt;
* http://wiki.kogite.fr/index.php/Mod%C3%A8le:Note&lt;br /&gt;
* http://wiki.kogite.fr/index.php/Mod%C3%A8le:Warning&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=center&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;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=center&amp;gt;&amp;lt;font style=bold size=6&amp;gt;'''Tutoriels'''&amp;lt;/font&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&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;
===== [[trouver l'adresse IP externe sans curl/lynx/wget]] =====&lt;br /&gt;
===== [[screen - retrouver le scrolling]] =====&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;
===== [[Route statique sous Debian]] =====&lt;br /&gt;
===== [[Debian : installation GRUB|Installation GRUB]]=====&lt;br /&gt;
===== [[Message &amp;quot;perl: warning: Setting locale failed.&amp;quot;]] =====&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;
== Vesta Control Panel ==&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;
== VestaCP ==&lt;br /&gt;
=== [[ Installation VestaCP sur CentOS6 ]] ===&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;
== 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;
== Divers ==&lt;br /&gt;
==== [[Modifier les accentués dans les noms de fichiers]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Ext3grep]]: undelete sur ext3 ! ====&lt;br /&gt;
&lt;br /&gt;
==== [[Tunnel SSH via un serveur intermédiaire]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ Réplication de systèmes de fichiers avec DRBD ]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[RAID logiciel : mdadm| madm : le RAID logiciel]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Network bonding sur linux]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ODBC sur linux]] (Ubuntu) ====&lt;br /&gt;
&lt;br /&gt;
==== [[Gestion des IOs, iowaits]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Reverse ssh : Accéder à un serveur derrière un NAT/Firewall]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[installer le client no-ip]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Conversion Libreoffice en ligne de commande : unoconv]] ====&lt;br /&gt;
&lt;br /&gt;
= Serveurs logiciels et Services =&lt;br /&gt;
== Apache, PHP ==&lt;br /&gt;
===== [[Exemple robots.txt]] =====&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_security, 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;
&lt;br /&gt;
===== Apache proxy : [[Mod_Proxy]] =====&lt;br /&gt;
===== [[Message : NameVirtualHost *:80 has no VirtualHosts]] =====&lt;br /&gt;
== caches web ==&lt;br /&gt;
===== [[Varnish cache]] =====&lt;br /&gt;
===== [[Memcached]] =====&lt;br /&gt;
===== [[ PHP eAccelerator sur CentOS / BlueOnyx ]] =====&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;
===== [[Contrer l'attaque DoS isc.org]] =====&lt;br /&gt;
&lt;br /&gt;
== C.A.S ==&lt;br /&gt;
=== [[Serveur CAS 4 sur CentOS 7]] ===&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;
===== [[Serveur virtuels FreeRadius avec LDAP]] =====&lt;br /&gt;
&lt;br /&gt;
== Mails ==&lt;br /&gt;
===== [[MailCleaner: installation et configuration]] =====&lt;br /&gt;
===== [[Sendmail tips and tricks]] =====&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;
&lt;br /&gt;
===== [[Spamassassin : apprentissage et blacklist automatique]] =====&lt;br /&gt;
===== Postfix =====&lt;br /&gt;
&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;
== GlusterFS ==&lt;br /&gt;
===== [[GlusterFS+ZFS sur CentOS6/7]] =====&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;
&lt;br /&gt;
== CMS Made Simple ==&lt;br /&gt;
===== [[CMSMS Installation ]] =====&lt;br /&gt;
===== [[CMSMS Installation sur BlueOnyx]] =====&lt;br /&gt;
===== DotClear : [[Installation Dotclear]] =====&lt;br /&gt;
&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;
===== [[Ansible : installation ]] =====&lt;br /&gt;
===== [[Ansible: utilisation]] =====&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 : déploiement avec git]] =====&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;
&lt;br /&gt;
== MediaWiki ==&lt;br /&gt;
===== [[Install MediaWiki sur Debian]] =====&lt;br /&gt;
===== [[MediaWiki - changement de serveur]] =====&lt;br /&gt;
&lt;br /&gt;
== OpenERP - Odoo ==&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;
===== [[Odoo 9 - Installation sur Centos 7]] =====&lt;br /&gt;
&lt;br /&gt;
== Seafile ==&lt;br /&gt;
===== [[Seafile : présentation]] =====&lt;br /&gt;
===== [[ Seafile : installation sur CentOS ]] =====&lt;br /&gt;
===== [[Seafile : Seaf-cli (Command line client)]] =====&lt;br /&gt;
&lt;br /&gt;
== SOGo ==&lt;br /&gt;
===== [[ SOGo : présentation]] =====&lt;br /&gt;
===== [[ SOGo : installation sur CentOS-MariaDB-Postfix-Dovecot-PostfixAdmin ]] =====&lt;br /&gt;
===== [[ SOGo : installation des plugins sur Thunderbird ]] =====&lt;br /&gt;
===== [[ SOGo : astuces ]] =====&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;
&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;
===== [[ LMD : Linux Malware Detect ]] =====&lt;br /&gt;
&lt;br /&gt;
== Let's Encrypt ==&lt;br /&gt;
=== [[Let's Encrypt utilisation]] ===&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;
&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;
&lt;br /&gt;
==&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;
&lt;br /&gt;
=== Centralisation des logs ===&lt;br /&gt;
==== [[rsyslog-Graylog-Elasticsearch]] ====&lt;br /&gt;
&lt;br /&gt;
=== PfSense ===&lt;br /&gt;
==== [[ pfSense installation ]] ====&lt;br /&gt;
==== [[ pfSense cluster ]] ====&lt;br /&gt;
==== PfSense [[ MultiWan ]] ====&lt;br /&gt;
==== [[ Proxy non-transparent et filtrage : Squid + SquidGuard ]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ Proxy Report : Lightsquid ]] ====&lt;br /&gt;
==== [[ Filtrage HTTPS et portail captif : PFsense et Squid+SquiGuard ]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ PfSense : tunnel OpenVPN ]] ====&lt;br /&gt;
==== [[ PfSense : tunnel IPSec ]] ====&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;
===== [[Zabbix User Flexible Parameters]] =====&lt;br /&gt;
===== [[Ajouter un hôte et lui assigner un template]] =====&lt;br /&gt;
&lt;br /&gt;
= Sauvegardes =&lt;br /&gt;
===== [[sauvegardes avec droits ext3 sur partition Windows]] =====&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;
===== [[MondoRescue]] =====&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 11gR2 sur RedHat 7 64 bits]] =====&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]] (10g) =====&lt;br /&gt;
===== HA niveau 4 :[[RAC database 12c sur Win2008 avec Virtualbox]] =====&lt;br /&gt;
===== HA niveau 4 :[[RAC database 12c sur CentOS avec Virtualbox]] =====&lt;br /&gt;
===== [[Supprimer tous les objets d'un utilisateur]] en une seule fois =====&lt;br /&gt;
===== [[Déplacer les fichiers d'une base]] =====&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;
===== [[Réduire le tablespace TEMP]] =====&lt;br /&gt;
&lt;br /&gt;
== MySQL / MariaDB ==&lt;br /&gt;
===== [[Script d'audit de bases de données 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;
===== [[ Remplacer MySQL par MariaDB sur CentOS6/7 ]] =====&lt;br /&gt;
&lt;br /&gt;
===== [[ Cassandra sur MariaDB 10 ]] =====&lt;br /&gt;
&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;
&lt;br /&gt;
== Proxmox VE ==&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;
===== [[Proxmox 3.3 - Installation, configuration cluster]] =====&lt;br /&gt;
===== [[Proxmox 4.0 - Installation, configuration cluster]] =====&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;
===== 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;
===== [[Retailler le disque d'une VM]] =====&lt;br /&gt;
===== [[Suspendre VMWare]] pour sauvegarde =====&lt;br /&gt;
===== [[Le guest VMWare perd l'heure]] =====&lt;br /&gt;
&lt;br /&gt;
== HyperV ==&lt;br /&gt;
===== [[Incompatibilité noyau linux - HyperV ]] =====&lt;br /&gt;
&lt;br /&gt;
= [[ARCHIVES]] =&lt;br /&gt;
Toutes les pages obsolètes, pour archive (et nostalgie).&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://wiki.kogite.fr/index.php?title=Accueil&amp;diff=6584</id>
		<title>Accueil</title>
		<link rel="alternate" type="text/html" href="https://wiki.kogite.fr/index.php?title=Accueil&amp;diff=6584"/>
				<updated>2018-01-17T16:26:51Z</updated>
		
		<summary type="html">&lt;p&gt;Frank : /* Utiles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;0&amp;quot;&lt;br /&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;
&lt;br /&gt;
= Utiles =&lt;br /&gt;
[[tweetAnew2]]&lt;br /&gt;
&lt;br /&gt;
'''[[MediaWiki utilisation]]''' (Notes et infos utiles)&lt;br /&gt;
&lt;br /&gt;
'''Formattage''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Help:Formatting/fr Help:Formatting/fr]&amp;lt;/span&amp;gt;&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;
'''SyntaxHighlight''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi Extension:SyntaxHighlight_GeSHi]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;''Templates''' : &amp;lt;span class=&amp;quot;pops&amp;quot;&amp;gt;[http://www.mediawiki.org/wiki/Help:Templates/fr Help:Templates/fr]&amp;lt;/span&amp;gt;&lt;br /&gt;
* http://wiki.kogite.fr/index.php/Mod%C3%A8le:Note&lt;br /&gt;
* http://wiki.kogite.fr/index.php/Mod%C3%A8le:Warning&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=center&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;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=center&amp;gt;&amp;lt;font style=bold size=6&amp;gt;'''Tutoriels'''&amp;lt;/font&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&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;
===== [[trouver l'adresse IP externe sans curl/lynx/wget]] =====&lt;br /&gt;
===== [[screen - retrouver le scrolling]] =====&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;
===== [[Route statique sous Debian]] =====&lt;br /&gt;
===== [[Debian : installation GRUB|Installation GRUB]]=====&lt;br /&gt;
===== [[Message &amp;quot;perl: warning: Setting locale failed.&amp;quot;]] =====&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;
== Vesta Control Panel ==&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;
== VestaCP ==&lt;br /&gt;
=== [[ Installation VestaCP sur CentOS6 ]] ===&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;
== 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;
== Divers ==&lt;br /&gt;
==== [[Modifier les accentués dans les noms de fichiers]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Ext3grep]]: undelete sur ext3 ! ====&lt;br /&gt;
&lt;br /&gt;
==== [[Tunnel SSH via un serveur intermédiaire]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ Réplication de systèmes de fichiers avec DRBD ]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[RAID logiciel : mdadm| madm : le RAID logiciel]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Network bonding sur linux]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ODBC sur linux]] (Ubuntu) ====&lt;br /&gt;
&lt;br /&gt;
==== [[Gestion des IOs, iowaits]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Reverse ssh : Accéder à un serveur derrière un NAT/Firewall]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[installer le client no-ip]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[Conversion Libreoffice en ligne de commande : unoconv]] ====&lt;br /&gt;
&lt;br /&gt;
= Serveurs logiciels et Services =&lt;br /&gt;
== Apache, PHP ==&lt;br /&gt;
===== [[Exemple robots.txt]] =====&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_security, 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;
&lt;br /&gt;
===== Apache proxy : [[Mod_Proxy]] =====&lt;br /&gt;
===== [[Message : NameVirtualHost *:80 has no VirtualHosts]] =====&lt;br /&gt;
== caches web ==&lt;br /&gt;
===== [[Varnish cache]] =====&lt;br /&gt;
===== [[Memcached]] =====&lt;br /&gt;
===== [[ PHP eAccelerator sur CentOS / BlueOnyx ]] =====&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;
===== [[Contrer l'attaque DoS isc.org]] =====&lt;br /&gt;
&lt;br /&gt;
== C.A.S ==&lt;br /&gt;
=== [[Serveur CAS 4 sur CentOS 7]] ===&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;
===== [[Serveur virtuels FreeRadius avec LDAP]] =====&lt;br /&gt;
&lt;br /&gt;
== Mails ==&lt;br /&gt;
===== [[MailCleaner: installation et configuration]] =====&lt;br /&gt;
===== [[Sendmail tips and tricks]] =====&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;
&lt;br /&gt;
===== [[Spamassassin : apprentissage et blacklist automatique]] =====&lt;br /&gt;
===== Postfix =====&lt;br /&gt;
&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;
== GlusterFS ==&lt;br /&gt;
===== [[GlusterFS+ZFS sur CentOS6/7]] =====&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;
&lt;br /&gt;
== CMS Made Simple ==&lt;br /&gt;
===== [[CMSMS Installation ]] =====&lt;br /&gt;
===== [[CMSMS Installation sur BlueOnyx]] =====&lt;br /&gt;
===== DotClear : [[Installation Dotclear]] =====&lt;br /&gt;
&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;
===== [[Ansible : installation ]] =====&lt;br /&gt;
===== [[Ansible: utilisation]] =====&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 : déploiement avec git]] =====&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;
&lt;br /&gt;
== MediaWiki ==&lt;br /&gt;
===== [[Install MediaWiki sur Debian]] =====&lt;br /&gt;
===== [[MediaWiki - changement de serveur]] =====&lt;br /&gt;
&lt;br /&gt;
== OpenERP - Odoo ==&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;
===== [[Odoo 9 - Installation sur Centos 7]] =====&lt;br /&gt;
&lt;br /&gt;
== Seafile ==&lt;br /&gt;
===== [[Seafile : présentation]] =====&lt;br /&gt;
===== [[ Seafile : installation sur CentOS ]] =====&lt;br /&gt;
===== [[Seafile : Seaf-cli (Command line client)]] =====&lt;br /&gt;
&lt;br /&gt;
== SOGo ==&lt;br /&gt;
===== [[ SOGo : présentation]] =====&lt;br /&gt;
===== [[ SOGo : installation sur CentOS-MariaDB-Postfix-Dovecot-PostfixAdmin ]] =====&lt;br /&gt;
===== [[ SOGo : installation des plugins sur Thunderbird ]] =====&lt;br /&gt;
===== [[ SOGo : astuces ]] =====&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;
&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;
===== [[ LMD : Linux Malware Detect ]] =====&lt;br /&gt;
&lt;br /&gt;
== Let's Encrypt ==&lt;br /&gt;
=== [[Let's Encrypt utilisation]] ===&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;
&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;
&lt;br /&gt;
==&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;
&lt;br /&gt;
=== Centralisation des logs ===&lt;br /&gt;
==== [[rsyslog-Graylog-Elasticsearch]] ====&lt;br /&gt;
&lt;br /&gt;
=== PfSense ===&lt;br /&gt;
==== [[ pfSense installation ]] ====&lt;br /&gt;
==== [[ pfSense cluster ]] ====&lt;br /&gt;
==== PfSense [[ MultiWan ]] ====&lt;br /&gt;
==== [[ Proxy non-transparent et filtrage : Squid + SquidGuard ]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ Proxy Report : Lightsquid ]] ====&lt;br /&gt;
==== [[ Filtrage HTTPS et portail captif : PFsense et Squid+SquiGuard ]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ PfSense : tunnel OpenVPN ]] ====&lt;br /&gt;
==== [[ PfSense : tunnel IPSec ]] ====&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;
===== [[Zabbix User Flexible Parameters]] =====&lt;br /&gt;
===== [[Ajouter un hôte et lui assigner un template]] =====&lt;br /&gt;
&lt;br /&gt;
= Sauvegardes =&lt;br /&gt;
===== [[sauvegardes avec droits ext3 sur partition Windows]] =====&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;
===== [[MondoRescue]] =====&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 11gR2 sur RedHat 7 64 bits]] =====&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]] (10g) =====&lt;br /&gt;
===== HA niveau 4 :[[RAC database 12c sur Win2008 avec Virtualbox]] =====&lt;br /&gt;
===== HA niveau 4 :[[RAC database 12c sur CentOS avec Virtualbox]] =====&lt;br /&gt;
===== [[Supprimer tous les objets d'un utilisateur]] en une seule fois =====&lt;br /&gt;
===== [[Déplacer les fichiers d'une base]] =====&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;
===== [[Réduire le tablespace TEMP]] =====&lt;br /&gt;
&lt;br /&gt;
== MySQL / MariaDB ==&lt;br /&gt;
===== [[Script d'audit de bases de données 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;
===== [[ Remplacer MySQL par MariaDB sur CentOS6/7 ]] =====&lt;br /&gt;
&lt;br /&gt;
===== [[ Cassandra sur MariaDB 10 ]] =====&lt;br /&gt;
&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;
&lt;br /&gt;
== Proxmox VE ==&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;
===== [[Proxmox 3.3 - Installation, configuration cluster]] =====&lt;br /&gt;
===== [[Proxmox 4.0 - Installation, configuration cluster]] =====&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;
===== 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;
===== [[Retailler le disque d'une VM]] =====&lt;br /&gt;
===== [[Suspendre VMWare]] pour sauvegarde =====&lt;br /&gt;
===== [[Le guest VMWare perd l'heure]] =====&lt;br /&gt;
&lt;br /&gt;
== HyperV ==&lt;br /&gt;
===== [[Incompatibilité noyau linux - HyperV ]] =====&lt;br /&gt;
&lt;br /&gt;
= [[ARCHIVES]] =&lt;br /&gt;
Toutes les pages obsolètes, pour archive (et nostalgie).&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	</feed>