Fedora-Fr - Communauté francophone Fedora - Linux

Planet de Fedora-Fr : la communauté francophone autour de la distribution Linux Fedora

A propos

Cette page est actualisée toutes les heures.

Cette page est une sélection de blogs autour de Fedora. Fedora-Fr.org décline toute responsabilité au sujet des propos tenus par les auteurs des blogs de ce planet. Leurs propos sont leur entière responsabilité.

Le contenu de ce planet appartient à leurs auteurs respectifs. Merci de consulter leur blogs pour obtenir les licences respectives.

Mot-clefs : CentOS

De CentOS 7 vers CentOS 8, entre autres…

Guillaume Kulakowski

Je viens de profiter de la mise à disposition récente de CentOS 8 chez Scaleway pour migrer mon serveur CentOS 7 vers une CentOS 8. Cette migration, en fait, n’en est pas vraiment une, vu que j’ai reconstruit une toute nouvelle instance. L’occasion pour moi de passer d’un VC1M (plus au catalogue mais 4vCPU / […]

Cet article De CentOS 7 vers CentOS 8, entre autres… est apparu en premier sur Guillaume Kulakowski's blog.

Utilisation de rkhunter

Edouard Bourguignon

Il y a des outils assez simple à utiliser et qui permettent de s'assurer de l'intégrité de son système. Dans la recherche de rootkit et autres backdoors, l'outil incontournable est rkhunter. Nous allons d'abord rappeller ce qu'est un rootkit, puis voir, à la fin de ce billet comment installer et utiliser rkhunter.

Pour faire la chasse aux rootkits, il y a plusieurs pistes. Mais une des plus simples est de faire appelle à un bon chasseur : rkhunter.

Tout d'abord, qu'est-ce qu'un rootkit ?

Le but de tout rootkit est de permettre l'execution de programmes, si possible en tant qu'utilisateur root (tant qu'à faire), le tout en étant le plus discret possible (très important). La discrétion est le point clef de ce genre de pratique, et les pirates sont débordants d'idées pour y arriver. Souvent, vous ne verrez donc rien dans la liste des processus, ou dans la liste des ports en écoute etc. Certains rootkits savent même lire votre /etc/sysconfig/iptables pour voir un port dans une plage que vous aurez autorisée (merci aux clients bittorrent par ex).

Il est logique aussi de comparer le rootkit à un virus, vu que les plus évolués possèdent des mécanismes pour se reinstaller, voire se propager. Certains rootkits modifient par exemple la commande ls, pour qu'à chaque fois qu'elle est appellé s'assure que le rootkit est présent. Difficile du coup, de nettoyer une machine prise au piège avec un rootkit.

Qu'elle est la cible des rootkits ?

Malheureusement, comme souvent sur Internet, la faune sauvage est assez agressive et aveugle. Dû à l'automatisation des attaques (robots et autres scripts), du moment que vous laissez un service accessible sur internet (SSH, ou autres), vous êtes concernés. Que ce soit donc une machine personnelle, ou un serveur, peu importe. Tout le monde est potentiellement concernés !

Comment un rootkit s'installe ?

Comme expliqué juste avant, le premier point pour un attaquant (pirate, robots/scripts), c'est de trouver un point d'entrée sur la machine. Les scripts naviguent sur toutes les adresses internet, un peu au hasard, mais passeront plus de temps quand un service répondra sur un port donné. Ce peut donc être via l'exploitation d'une faille, sur un serveur Apache, sur un vieux démon SSH, ou même du brute force pour trouver votre mot de passe (qui n'aurait que 8 caractères par ex). Une fois la faille trouvée, l'installation du rootkit est elle aussi souvent automatisée. Le but étant la rapidité, et surtout de savoir s'installer sur n'importe quel Linux. Donc en quelques secondes, des fois via l'utilisation de certains exploit pour gagner des privilges supérieurs, le rootkit est posé. Souvent il y a même compilation de binaires, histoire d'être sûr de bien tourner sur l'architecture et l'OS de la machine en question !

Certains rootkits, les plus évolués, essayeront tout de suite de se repliquer sur les autres machines accessibles via le réseau de la 1ere machine infectée. Si vous avez des machines à peu près identiques, vous aurez droit à un rootkit sur chacunes. Merci aux outils modernes qui permettent tel que puppet, Ansible pour l'homogénéisation des configurations.

Comment tracer un rootkit ?

Tout comportement qui semblerait suspect, peut venir d'un rootkit. Par ex votre connexion SSH ne passe plus du premier coup, quelques commandes shell sont plus lentes que d'habitude. Ou alors des pics de charge à des horaires plutôt inhabituels.

Comme le rootkit est une espèce très discrète, ce sera très difficile de le voir tourner. L'installation du rootkit a pu remplacer la commande ps pour l'exclure de la liste des process. Il y a aussi quelques humoristes qui appellent leur démon rootkit "sshd " ou "crontab", bref vous ne verrez jamais un "rootkitd".

Rechercher les fichiers créés ou modifiées récemment est une bonne idée. Les rootkits ont souvent besoin de déposer des binaires, en compiler certains, et même s'ils pensent à nettoyer les logs, leurs fichiers doivent bien exister quelque part. La grosse partie du fonctionnement de rkhunter est basée la dessus.

Le point commun à une grosse partie des rootkits est qu'ils modifient des fichiers sur l'OS. Ils déposent ou modifient certains binaires. Je ferais sûrement un billet spécifique sur la recherche de modifications sur Fedora/CentOS, car avec RPM c'est assez efficace.

Heureusement il existe des outils dédiés à la recherche de rootkits. Revenons donc à rkhunter.

Comment installer rkhunter ?

Son installation est très simple vu qu'il est fournit dans les dépôts EPEL.

Si vous n'avez pas encore EPEL :

# yum install epel-release

Ensuite, tout simplement :

# yum install rkhunter

Et voilà !

Comment utiliser rkhunter ?

Pour lancer un scan complet :

# rkhunter --checkall

Le scan peut prendre un certain temps, et il faudra valider pour chaque categorie le passage à la suivante.

Nous verrons sûrement dans un autre billet les utilisations un peu plus poussées de rkhunter.

Bascule sous CentOS 6.5

Remi Collet

Jusqu'à présent mon serveur fonctionnait sous RHEL 6.5

# wget http://ftp-stud.fht-esslingen.de/pub/Mirrors/centos/6/os/x86_64/Packages/centos-release-6-5.el6.centos.11.1.x86_64.rpm
# yum shell
Setting up Yum Shell
> remove redhat-release
Setting up Remove Process
> install centos-release-6-5.el6.centos.11.1.x86_64.rpm
> run
===============================================================================================================================================================================
Package Arch Version Repository Size
===============================================================================================================================================================================
Installing:
centos-release x86_64 6-5.el6.centos.11.1 /centos-release-6-5.el6.centos.11.1.x86_64 32 k
Removing:
redhat-release-server x86_64 6Server-6.5.0.1.el6 @rhel-x86_64-server-6 119 k

Transaction Summary
===============================================================================================================================================================================
Install 1 Package(s)
Remove 1 Package(s)

Total size: 32 k
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : centos-release-6-5.el6.centos.11.1.x86_64 1/2
Erasing : redhat-release-server-6Server-6.5.0.1.el6.x86_64 2/2
Verifying : centos-release-6-5.el6.centos.11.1.x86_64 1/2
Verifying : redhat-release-server-6Server-6.5.0.1.el6.x86_64 2/2

Removed:
redhat-release-server.x86_64 0:6Server-6.5.0.1.el6

Installed:
centos-release.x86_64 0:6-5.el6.centos.11.1

Finished Transaction
> Leaving Shell

# cat /etc/redhat-release
CentOS release 6.5 (Final)

# yum remove rhn\*
...
# yum update

Bascule sous CentOS 6.5

Remi Collet

Jusqu'à hier mon serveur fonctionnait sous RHEL 6.5

# wget http://ftp-stud.fht-esslingen.de/pub/Mirrors/centos/6/os/x86_64/Packages/centos-release-6-5.el6.centos.11.1.x86_64.rpm
# yum shell
Setting up Yum Shell
> remove redhat-release
Setting up Remove Process
> install centos-release-6-5.el6.centos.11.1.x86_64.rpm
> run
===============================================================================================================================================================================
Package Arch Version Repository Size
===============================================================================================================================================================================
Installing:
centos-release x86_64 6-5.el6.centos.11.1 /centos-release-6-5.el6.centos.11.1.x86_64 32 k
Removing:
redhat-release-server x86_64 6Server-6.5.0.1.el6 @rhel-x86_64-server-6 119 k

Transaction Summary
===============================================================================================================================================================================
Install 1 Package(s)
Remove 1 Package(s)

Total size: 32 k
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : centos-release-6-5.el6.centos.11.1.x86_64 1/2
Erasing : redhat-release-server-6Server-6.5.0.1.el6.x86_64 2/2
Verifying : centos-release-6-5.el6.centos.11.1.x86_64 1/2
Verifying : redhat-release-server-6Server-6.5.0.1.el6.x86_64 2/2

Removed:
redhat-release-server.x86_64 0:6Server-6.5.0.1.el6

Installed:
centos-release.x86_64 0:6-5.el6.centos.11.1

Finished Transaction
> Leaving Shell

# cat /etc/redhat-release
CentOS release 6.5 (Final)

# yum remove rhn\*
...

# yum update
...

Installer un serveur MPD sous CentOS avec un client sous Android

Antoine Wallon Hier, je me suis penché sur une installation d’un serveur MPD pour pouvoir contrôler ma musique de mon smartphone sous Android.grâce au WIFI et que le son sorte sur mon amplis.   Prérequis Avoir le dépôt RPMFORGE d’installé Sous CentOS 5 rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm Sous CentOS 6 rpm -Uvh http://apt.sw.be/redhat/el6/en/i386/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.i686.rpm Avoir une carte son sur le [...]

Installer un Windows 2008 sur KVM avec Virtio sous CentOS

Antoine Wallon Aujourd’hui je vais vous montrer comment installer Windows 2008 avec un disque dur Virtio sous Une machine virtuelle KVM sous CentOS Car si on lance une installation de Windows 2008 sans avoir au préalable les drivers, Windows ne reconnait pas notre disque 1) Dans un premier temps  Il faut se diriger vers le site http://www.linux-kvm.com/ pour récupérer les [...]

Faire cohabiter sur un même serveur physique OpenVZ et KVM sur CentOS

Antoine Wallon j’ai réussi à mettre en place sur un même noyaux OpenVZ et KVM. Ce qui peux permettre de faire tourner aussi bien des containers que des machines virtuels KVM sur centos 5 en même temps.   1) installer le dépot OpenNode et epel # wget http://opennode.activesys.org/CentOS/5/opennode/x86_64/RPMS/opennode-repo-1.1-1.asys.x86_64.rpm # wget http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm # rpm -Uvh opennode-repo-1.1-1.asys.x86_64.rpm # rpm [...]

Quand MySQL WorkBench cherche ses tables ...

Alexandre Frandemiche

MySQL WorkBenchDepuis hier, je me suis rendu compte que MySQL Workbench n'arrivait plus à lister les tables de mes schémas MySQL.

Dès que je voulais afficher les tables, "Fetching" apparaissait de manière interminable et systématique ... Serait-ce parce que le paquet fourni par Fedora est corrompu ???

# yum reinstall mysql-workbench ne change rien ...

Je passe alors par le dépôt de Remi, mais rien n'y fait ... Cela doit alors provenir de mes données ... seulement voilà, avec un bon vieux MySQL Query, cela fonctionne ... Il m'aura fallu chercher 2 secondes pour tomber sur cet incident ouvert chez MySQL, lire quelques réponses et tester ce qui suit :

$ mysql-upgrade -u myuser -pmypassword -P myport -h myhost

Je relance MySQL WorkBench et ... tadaaa ! Voilà mes tables !!!

Je pensais que partager cette astuce pourrait servir ou me servir à nouveau ;) !

CentOS + Tomcat + beaucoup d'ouvertures de fichiers = java.net.SocketException: Too many open files

Alexandre Frandemiche

ExceptionTout est dans le titre !!! Comme d'habitude, c'est plus un pense-bête qu'un véritable article ... si ça peut aider ...

J'ai eu une surprise ce matin sur un serveur client de constater cette erreur :

java.net.SocketException: Too many open files


C'est un serveur sous CentOS 5.5 hébergeant un serveur MySQL, un serveur tomcat avec plusieurs Webapps, un serveur Apache et enfin un serveur propriétaire qui utilise pas mal de socket et a une base de donnée en interne ...

Cocktail génial pour visiblement dépasser la limite par défaut du système s'élevant à 1024 que l'on obtient en faisant un :

ulimit -n

Il y a 2 valeurs possibles à modifier, celle présente dans le fichier /proc/sys/fs/file-max par défaut, celle-ci est assez élevée (plus de 64000). Au besoin il faut modifier la ligne suivante :

...

fs.file-max = 64000

...

Si (comme tel était mon cas) la valeur de ce fichier est plus élevée, il reste à ajouter une entrée au fichier /etc/security/limits.conf :

user         -          nofile          8192

ou

@group         -          nofile          8192

La première colonne désigne l'utilisateur ou le groupe (grâce à @) ou encore n'importe qui grâce à *.
La seconde colonne, on détermine si la limite est soft ou hard, ou les 2 grâce à -.
La troisième colonne indique sur quel paramètre cette configuration s'exécute, ici nofile correspond au paramètre open files retourné par ulimit.
Enfin la dernière colonne indique la valeur.
Dans mon cas, j'ai rajouté :

@tomcat         -          nofile          8192
optitime           -          nofile          8192

Il est indiqué sur la documentation Red Hat de redémarrer le serveur pour que cela prenne effet. La solution peut consister à relancer le ou les services concernés ainsi que les sessions utilisateurs.

Voilà, en espérant que ça puisse aider et surtout m'éviter de rechercher cette information à nouveau ;) !

Migrer de CentOS vers Scientific Linux

Marc Bessière Dans mon dernier billet, je vous expliquais que j'avais pris la décision de changer la distribution de mon serveur principal qui tournait sous CentOS pour Scientific Linux. Voici la méthode que j'ai employé. Je me suis appuyé sur la méthode décrite par redman qui est l'administrateur du Forum Scientific Linux. Je vais vous donner ici ...continuer la lecture de "Migrer de CentOS vers Scientific Linux"

Migrer de CentOS vers Scientific Linux

Marc Bessière Dans mon dernier billet, je vous expliquais que j’avais pris la décision de changer la distribution de mon serveur principal qui tournait sous CentOS pour Scientific Linux. Voici la méthode que j’ai employé. Je me suis appuyé sur la méthode décrite par redman qui est l’administrateur du Forum Scientific Linux. Je vais vous donner ici [...]

De CentOS à Scientific Linux

Marc Bessière Voici plusieurs semaines que je m'interrogeais sur l'opportunité d'un changement de distribution pour mes serveurs. Si CentOS, qui est un clone de RedHat Enterprise Linux, me donnait entière satisfaction depuis des années, ces derniers temps ce n'était plus le cas. Les délais de publications des correctifs de sécurité ainsi que des nouvelles versions m'ont incité ...continuer la lecture de "De CentOS à Scientific Linux"

De CentOS à Scientific Linux

Marc Bessière Voici plusieurs semaines que je m’interrogeais sur l’opportunité d’un changement de distribution pour mes serveurs. Si CentOS, qui est un clone de RedHat Enterprise Linux, me donnait entière satisfaction depuis des années, ces derniers temps ce n’était plus le cas. Les délais de publications des correctifs de sécurité ainsi que des nouvelles versions m’ont incité [...]

Création d'un dépôt RPM à base de Fedora

Alexandre Frandemiche

Introduction

Je vais partir du principe que nous allons créer un dépôt RPM pour Fedora 14 et CentOS/RHEL 5 dans /var/www/html/linux/. Voici l'arborescence :

/var/www/html/linux/fedora/14/i386/
/var/www/html/linux/fedora/14/x86_64/
/var/www/html/linux/el5/5/i386/
/var/www/html/linux/el5/5/x86_64/

Chacun des chemins cités ci-dessus est un dépôt. Ainsi, dans ce qui suit on remplacera /path/myrepo par /var/www/html/linux/fedora/14/i386/ puis pour l'ensemble des commandes par /var/www/html/linux/fedora/14/x86_64/ et ainsi de suite pour chacune des architecture des distributions que concerne notre dépôt.

Vos rpm seront donc présents avant la génération de createrepo et repoview ;)
MyRepo

Préparation des chemins contenant les RPM

su -lc 'mkdir -p /var/www/html/linux/fedora/14/i386/'
su -lc 'mkdir -p /var/www/html/linux/fedora/14/x86_64/'
su -lc 'mkdir -p /var/www/html/linux/el5/5/i386/'
su -lc 'mkdir -p /var/www/html/linux/el5/5/x86_64/'


Pour el5, on peut installer des pré-configuration lors de l'installation de l'OS, du coup, $releaseversion n'est pas forcément 5, mais peut être 5Workstation, 5client ou 5Server. Dans ce cas on en profite pour créer des liens symboliques :
su -lc 'ln -s /var/www/html/linux/el5/5/ /var/www/html/linux/el5/5Workstation'
su -lc 'ln -s /var/www/html/linux/el5/5/ /var/www/html/linux/el5/5Client'
su -lc 'ln -s /var/www/html/linux/el5/5/ /var/www/html/linux/el5/5Server
'

Installer un dépôt RPM

Installation d'un serveur web

Tout d'abord commençons par installer un serveur Apache :
su -lc 'yum install httpd'

Configuration du dépôt

Pour configurer notre dépôt, nous allons utiliser l'outil createrepo :
su -lc 'yum install createrepo'

Créons dans /etc/httpd/conf.d/ un fichier de configuration pour notre dépôt dans Apache :
su -lc 'vi /etc/httpd/conf.d/repository.conf'

Voici le contenu du fichier :

<Directory /var/www/html/>
    Options Indexes
    Options Indexes FollowSymLinks
    Order allow, deny
    Allow from all
</Directory>

Création du dépôt

La commande de base pour créer une dépôt est createrepo :
createrepo /path/monrepo

Le plus souvent, on crée un dépôt en générant une base sqlite (cela nous sera utile pour repoview), pour cela, il faut utiliser l'option -d :
createrepo -d  /path/monrepo

L'option -g permet de prendre en compte un groupe de RPM définit dans un fichier comps.xml :
createrepo -d -g /path/comps.xml /path/monrepo

Ainsi, nous pourrons utiliser les commandes yum grouptruc avec notre dépôt !

L'option --unique-md-filenames semble utile, notamment lorsque 'lon a plusieurs mirroir, permet ede donner un nom unique aux metadatas.
L'option --checksum sha est indispensable pour le dépôt EL-5 (la valeur par défaut, sha256, est ok pour fedora >= 11 et EL >= 6)

Donc au final on se retrouve avec :

createrepo --unique-md-filenames --checksum sha -d -g /path/comps.xml /path/monrepo

Génération de repoview

Un dépôt, c'est bien, de quoi le parcourir avec un design sympa, c'est mieux !

Installation de Repoview

su -lc 'yum install repoview'

Utiliser l'option -d sur la commande createrepo afin de créer la base sqlite qui sera utilisée par repoview.

Création des page html via repoview

Ensuite, c'est très simple on demande à repoview de créer les pages qui permettront de naviguer dans notre dépôt !
repoview /path/monrepo

Pour terminer, assurons-nous de disposer des droits pour l'utilisateur apache :
su -lc 'chmod o+rX /path/monrepo'

Exemple de fichier Comps.xml afin de créer des groupes de rpm

Si vous désirez installer l'ensemble de vos rpm dans votre repo, ou un sous-ensemble spécifique, vous devrez créer un fichier de groupes : comps.xml. Pour notre exemple, si nous voulions que myrpm.noarch.rpm soit installé par défaut et mybinrpm.i386.rpm soit une option, nous créerions un fichier de comps.xml comme ceci :

    <comps>
    <!--  <meta> -->
    <!-- Meta information will go here eventually -->
    <!--  </meta> -->
      <group>
        <id>mygroup</id>
        <name>MyGroup</name>
        <default>true</default>
        <description>Default RPMS from MyRepo</description>
        <uservisible>true</uservisible>
        <packagelist>
          <packagereq type="default">myrpm</packagereq>
          <packagereq type="optional">mybinrpm</packagereq>
        </packagelist>
      </group>
    </comps>

Pensez à relancer createrepo afin que vos groupes soient accessibles par les personnes ayant votre dépôt de configuré !

Ajout de pages manquantes

Cette opération est effectuée qu'un seule fois à la création de l'arborescence, puis à l'ajout d'un release ou d'une distribution.

Index principal dans /var/www/html/

Notre dépôt est prêt, reste à y ajouter quelques pages et feuilles de style !
su -lc 'vi /var/www/html/index.html
Voici le contenu :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
   
<meta http-equiv="content-type" content="text/html;charset=UTF-8">
<head>
        <meta content="text/html; charset=utf-8" http-equiv="content-type" />
        <title>RepoView: MyRpo</title>
        <link href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/css/repostyle.css" type="text/css" rel="stylesheet" />
        <meta content="index,follow" name="robots" />
        <link rel="shortcut icon" href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/favicon.ico" />
</head>
<body>
    <div id="page">
        <div id="top">
            <h1><span><a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/index.html">My - Packages</a></span></h1>
        </div>
        <p id="prelude"><a href="http://www.opti-time.com/">Site</a> | <a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/index.html">Dépôt</a></p>
        <div id="wrapper">
            <div id="main">
                <div id="content">
                    <h2>Download mirrors</h2>
                    <ul class="pkglist">
                        <li><a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/index.html" class="inpage">http://monurl/linux/</a> - <strong>primary</strong></li>
                    </ul>
                    <h2>Distribution choice</h2>
                    <h3>Fedora - Maintained version</h3>
                    <ul class="pkglist">
                        <li>
                            <a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/linux/fedora/14/index.html" class="inpage">Fedora 14 (Laughlin)</a> -
                                                        repository auto-configuration package : <a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/linux/fedora/14/x86_64/my-repo-fedora-2.0-0.0.fc14.noarch.rpm">My-repository-fc-14.rpm</a>
                        </li>
                    </ul>
                    <h3>Enterprise Linux (RHEL / CentOS / Other clones)</h3>
                    <ul class="pkglist">
                        <li>
                            <a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/linux/el5/5/index.html" class="inpage">Enterprise Linux 5.5</a> -
                            repository auto-configuration package : <a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/linux/el5/5/x86_64/my-repo-el5-2.0-0.0.el5.noarch.rpm">My-repository-el-5.rpm</a>
                        </li>

                    </ul>
                    <h2>Other resources</h2>
                    <ul class="pkglist">
                        <li>
                            <a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/linux/RPM-GPG-KEY-MyRepo.gpg" class="inpage">RPM-GPG-KEY-MyRepo</a>: the GnuPG public key of the key pair used to sign MyRepo's packages
                        </li>
                    </ul>
                </div>
            </div>
        </div>
        <div id="footer">
            <ul id="w3c">
                <li>
                    <a id="vxhtml" href="http://validator.w3.org/check/referer">XHTML 1.1 valide</a>
                </li>
                <li>
                    <a id="vcss" href="http://jigsaw.w3.org/css-validator/check/referer">CSS 2.0 valide</a>
                </li>
            </ul>
            <p>
                by <a href="http://mricon.com/trac/wiki/Repoview">Repoview</a> | Designed for <a href="http://www.myRepo.org/">MyRepo</a>
            </p>
        </div>
    </div>
</body>
<meta http-equiv="content-type" content="text/html;charset=UTF-8">
</html>

su -lc 'vi /var/www/html/css/repostyle.css
Voici le contenu :

ul, ul li {
    list-style: none;
    }
a:link, a:visited {
    color: #000;
    text-decoration: underline;
    }
a:hover {
    color: #000;
    text-decoration: none;
    }
.nav {
    text-align: right;
    color: gray;
    font-size: small;
    }
.nactive {
    border-bottom: 1px dotted blue;
    background-color: lavender;
    color: blue;
    font-size: small;
    text-decoration: none;
    }
.ninactive {
    color: gray;
    font-size: small;
    }
.nlink {
    text-decoration: none;
    color: blue;
    font-size: small;
    }
.nlink:hover {
    background-color: lavender;
    border-bottom: 1px dotted blue;
    font-size: small;
    }
.inpage {
    text-decoration: none;
    color: blue;
    }
.inpage:hover {
    background-color: mistyrose;
    color: red;
    border-bottom: 1px dotted red;
    }
.levbar {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 11em;
    height: 100%;
    border-right: 4px dotted gray;
    border-bottom: 4px dotted gray;
    background-color: gainsboro;
    }
.main {
    position: absolute;
    left: 13em;
    width: 75%;
    }
h1,h2,h3,h4,h5 {
    border-bottom: 1px dotted gray;
    border-top: 1px dotted gray;
    background-color: whitesmoke;
    font-weight: normal;
    }
.pagetitle {
    border-top: 1px dotted gray;
    border-bottom: 1px dotted gray;
    padding-top: 5%;
    padding-bottom: 5%;
    margin-top: 5%;
    margin-bottom: 5%;
    text-align: center;
    width: 100%;
    color: gray;
    background-color: white;
    }
dt  {
    font-weight: bold;
    margin-top: 1%;
    }
th  {
    background-color: whitesmoke;
    text-align: left;
    }
.field  {
    background-color: whitesmoke;
    text-align: right;
    }
.levbarlist {
    list-style-type: none;
    padding: 5%;
    border-top: 1px dotted gray;
    border-bottom: 1px dotted gray;
    background-color: whitesmoke;
    }
.pkglist {
    padding-top: 2%;
    padding-bottom: 2%;
    list-style-type: circle;
    }
.letterlist {
    background-color: whitesmoke;
    }
.letterlist a {
    padding-left: 0.2em;
    padding-right: 0.2em;
    }
.footernote {
    text-align: right;
    font-size: small;
    background-color: whitesmoke;
    border-top: 1px dotted gray;
    color: gray;
    }
.repoview {
    text-decoration: none;
    color: gray;
    border-bottom: 1px dotted gray;
    font-size: small;
    }
.repoview:hover {
    background-color: lavender;
    border-bottom: 1px dotted blue;
    color: blue;
    font-size: small;
    }

NB : Ce style est très fortement/probablement inspiré de celui qu'utilise Remi pour ses dépôts !

Index de redirection dans /var/www/html/linux/

su -lc 'vi /var/www/html/linux/index.html'
Voici le contenu :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta http-equiv="refresh" content="0; url=../index.html" />
<title>Repository MyRepo</title>
<meta name="robots" content="noindex,follow" />
<link href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/../css/repostyle.css" type="text/css" rel="stylesheet" />
</head>

<body>
<p><a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/../index.html">Packages MyRepo</a></p>
</body>
</html>

Index dans chacun des dépôts

Ici placez cet index autant de fois que de distributions supportée par votre dépôt
su -lc 'vi /var/www/html/linux/fedora/14/index.html'
Voici le contenu :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
    <meta content="text/html; charset=utf-8" http-equiv="content-type" />
    <title>Opti-Time - Fedora 14</title>
    <link href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/i386/repoview/layout/repostyle.css" type="text/css" rel="stylesheet" />
    <meta content="index,follow" name="robots" />
    <link rel="shortcut icon" href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/../../favicon.ico" />
</head>
<body>
    <div id="page">
        <div id="top">
            <h1><span><a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/../../../index.html">MyRepo- Packages</a></span></h1>
        </div>
        <p id="prelude"><a href="http://www.myrepo.com/">Site</a> | <a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/index.html">Dépôt</a></p>
        <div id="wrapper">
            <div id="main">
                <div id="content">
                        <h2>Fedora 14 (Laughlin)</h2>
                    <h3>MyRepo</h3>
                    <ul class="pkglist">
                        <li>
                            <a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/i386/repoview/index.html" class="inpage">i386</a>
                        </li>
                        <li>
                            <a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/x86_64/repoview/index.html" class="inpage">x86_64</a>
                        </li>
                    </ul>
                    <!--<h3>MyRepo-test</h3>
                    <ul class="pkglist">
                        <li>
                            <a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/test/i386/repoview/index.html" class="inpage">i386</a>
                        </li>
                        <li>
                            <a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/test/x86_64/repoview/index.html" class="inpage">x86_64</a>
                        </li>
                    </ul>-->
                </div>
            </div>
            <div id="sidebar">
                <h2>fedora 14</h2>
                <ul class="levbarlist">
                    <li>
                        <a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/../../../index.html" class="nlink" title="Back to distribution choice">Back to distribution choice</a>
                    </li>
                </ul>
            </div>
        </div>
        <div id="footer">
            <ul id="w3c">
                <li>
                    <a id="vxhtml" href="http://validator.w3.org/check/referer">XHTML 1.1 valide</a>
                </li>
                <li>
                    <a id="vcss" href="http://jigsaw.w3.org/css-validator/check/referer">CSS 2.0 valide</a>
                </li>
            </ul>
            <p>
                by <a href="http://mricon.com/trac/wiki/Repoview">Repoview</a> | Designed for <a href="http://www.myrepo.com/">MyRepo</a>
            </p>
        </div>
    </div>
</body>

<meta http-equiv="content-type" content="text/html;charset=UTF-8">
</html>

NB : changez donc fedora et 14 par el5 et 5 pour CentOS et RHEL.

Terminons par redonner la propriété du répertoire /var/www/html/ à apache :
su -lc 'chown -Rf apache:apache /var/www/html/'Merci Remi !
su -lc 'chmod o+rX /path/monrepo'

Scripts de régénération automatique des dépôts

Tâche que vous allez vous trouvez à faire souvent, voici donc un script pour le dépôt el5.5 (effectué avec les droits root) :

#!/bin/sh

chown -R apache:apache /var/www/html/linux/el5/
createrepo -g ~/comps.xml -d /var/www/html/linux/el5/5/i386/
createrepo -g ~/comps.xml -d /var/www/html/linux/el5/5/x86_64/
repoview /var/www/html/linux/el5/5/i386/
repoview /var/www/html/linux/el5/5/x86_64/
#permet d'avoir le même style que l'index.html
cp -f /var/www/html/css/repostyle.css /var/www/html/linux/el5/5/i386/repoview/layout/
cp -f /var/www/html/css/repostyle.css /var/www/html/linux/el5/5/x86_64/repoview/layout/
/etc/init.d/httpd reload

Et pour Fedora 14 :

#!/bin/sh

chown -R apache:apache /var/www/html/linux/fedora/
createrepo -g ~/comps.xml -d /var/www/html/linux/fedora/14/i386/
createrepo -g ~/comps.xml -d /var/www/html/linux/fedora/14/x86_64/
repoview /var/www/html/linux/fedora/14/i386/
repoview /var/www/html/linux/fedora/14/x86_64/
#permet d'avoir le même style que l'index.html
cp -f /var/www/html/css/repostyle.css /var/www/html/linux/fedora/14/i386/repoview/layout/
cp -f /var/www/html/css/repostyle.css /var/www/html/linux/fedora/14/x86_64/repoview/layout/
/etc/init.d/httpd reload

Génération de la clé GPG et du fichier myrepo.repo

Pour finaliser votre dépôt, il vous faut une clé GPG qui va authentifier vos rpm présents sur le dépôt, je vous invite à lire GnuPG : Signature et Chiffrement afin de créer votre propre clé GPG.
Ensuite, il va falloir ajouter la définition de votre dépôt et la clé GPG à chacun de vos "clients" de votre dépôt.
Voici le fichier qui sera dans /etc/yum.repo.d/
su -lc 'vi /etc/yum.repo.d/myrepo.repo'

[MyRepo]
name=MyRepo Repository for Enterprise Linux $releasever - $basearch
baseurl=http://repository.opti-time.net:81/linux/el5/$releasever/$basearch/
enabled=1
#failovermethod=priority
metadata_expire=7d
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-MyRepo.gpg

Et comme un exemple est toujours mieux qu'un beau discours, voici le contenu de mon fichier myrepo.spec qui me permet de générer un rpm pour ajouter MyRepo !

Name:           myrepo-repo-el5
Version:        1.0
Release:        0.0%{?dist}
Summary:        This package is the repository of MyRepo

Group:          Applications/ProjectManagement
License:        GPL
URL:            http://www.myrepo.org/linux/
Vendor:        Slobberbone
Source0:        %{name}.tar.gz
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch:    noarch

%description
Repository RHEL / Centos for MyRepo

%prep

%setup -q

%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{_sysconfdir}/yum.repos.d/
mkdir -p %{buildroot}%{_sysconfdir}/pki/rpm-gpg/
install -c -m 755  optitime.repo %{buildroot}%{_sysconfdir}/yum.repos.d/
install -c -m 755 RPM-GPG-KEY-Opti-TimeSA.gpg %{buildroot}%{_sysconfdir}/pki/rpm-gpg/

%clean
rm -rf %{buildroot}

%files
%defattr(-,root,root,-)
%{_sysconfdir}/yum.repos.d/optitime.repo
%{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-Opti-TimeSA.gpg

%changelog
* Wed  Aug 17 2011 MyRepo <slobberbone@myrepo.org> 1.0-1.1
- initial release

Bien-sur, il faudra en faire un pour Fedora 14, en remplaçant el5 par fc ;)
Il ne faut pas oublier que lorsque vous mettez vos RPM sur le dépôt que ceux-ci soient signés grâce à la commande :
rpmsign --addsign monrpm.rpm

Conclusion

Vous voilà fin prêt ! La technique n'est peut-être pas orthodoxe, mais ça a le mérite de fonctionner ! Comme d'habitude, je vous invite à me laisser des commentaires afin de l'améliorer !

Bienvenue sur Dotclear ! - Slobberbone V4

Alexandre Frandemiche

Slobberbone V4

Ceci est votre premier billet. Quand vous serez prêt à bloguer, connectez-vous pour le modifier ou le supprimer.

Alors oui, j'étais déjà sous Dotclear avant ... mais ce message de bienvenue existe car j'ai enfin migrer mon blog qui était hébergé chez Free http://slobberbone.free.fr/ vers mon serveur dédié chez OVH et du coup installation de Dotclear tout fraiche !!!
Après avoir lancé Communauté-SLA.org en ayant installé la totalité des outils sur ce serveur dédié chez OVH, il était temps d'y mettre mon blog personnel ! Cela faisait 2 ans que Free n'avait pas écraser l'ensemble de ma base de données, il ne fallait donc pas trop attendre ...

J'espère que le thème vous plaira, moi c'est le cas et ça me donne un peu plus envie de bloguer ! :D

Allé pour la route, une petite procédure pour installer Dotclear !

Dotclear 2

Installation des prérequis

Sous CentOS/Fedora : yum install httpd mysql-server mysql php

Configuration de MySQL


/etc/init.d/mysqld start
/usr/bin/mysql_secure_installation

Préparation de MySQL


Ici l'option "-proot" où "root" est mon mot de passe pour l'utilisateur root ... il va sans dire que ce n'est qu'un exemple :-) et on part du principe que tout est en local
mysql -u root -proot

Résultats :

#Welcome to the MySQL monitor.  Commands end with ; or \g.
#Your MySQL connection id is 7
#Server version: 5.0.77 Source distribution
#
#Type 'help;' or '\h' for help. Type '\c' to clear the buffer

On crée la base de donnée du blog :
mysqlcreate database blog;

#Query OK, 1 row affected (0.01 sec)


Ici on va créer un utilisateur dotclear avec un mot de passe dotclear ( à changer bien évidemment !
mysqlgrant all on blog.* to 'dotclear'@'localhost' identified by 'dotclear';

#Query OK, 0 rows affected (0.00 sec)

On réinitialise les droits
mysqlflush privileges;

#Query OK, 0 rows affected (0.00 sec)

Et on quitte mysql !
mysqlquit

#Bye

Configuration d'Apache

Pour ajouter la configuration, il vous suffit d'ajouter dans /etc/httpd/conf.d un repertoire monpseudo

cd /etc/httpd/conf.d/
mkdir monpseudo
cd monpseudo touch blog.conf

Ensuit on édite blog.conf vi blog.conf et on réalise une configuration comme telle :

ServerName blog.mondnomdedomaine.net
<LocationMatch "^/monpseudo/dotclear/+$">
    Options -Indexes
    ErrorDocument 403 /error/noindex.html
</LocationMatch>

Ici on part du principe que Dotclear à été installé à la racine de mon répertoire monpseudo, par défaut présent dans /var/www/.
cd /var/www/
mkdir monpseudo
chown apache:apache monpseudo

On recharge la configuration d'apache :
service httpd reload
Maintenant, il ne reste plus qu'à préparer l'installation de Dotclear !

Installation de Dotclear

cd /var/www/monpseudo
wget http://download.dotclear.net/loader/dotclear2-loader.php
chown apache:apache dotclear2-loader.php
Et voilà ! Pour terminer l'installation allez sur l'url d'installation de Dotclear : http://monsite/monpseudo/dotclear2-loader.php ! Là vous sera demandé des identifiants de connexion à la base de données MySQL que l'on a crée plus haut !
A vous de bloguer !

@ très bientôt !

Installation de Nagios sur CentOS sans RPM

Alexandre Frandemiche

Depuis le temps que j'en parlais ... voilà enfin ma procédure d'installation de Nagios 3.2 sous CentOS 5.CentOS
Alors tout d'abord, à l'époque il n'y avait pas de rpm (j'ai trouvé il y a peu un dépôt ... j'y reviendrais dans un autre billet). Donc compilation à la main !

Ensuite, les puristes crierons lorsqu'ils verront où j'installe Nagios ... le but était d'avoir quelque chose d'opérationnel assez rapidement. Faire mieux étant remis à plus tard. Si vous avez des modifications à apporter à cette procédure, je vous invite à laisser un commentaire ! Je la compléterai avec joie ! :)

Préparation de la machine

Avant toute chose, penser à bien configurer votre parefeu et SELinux. Pour un premier test, il faut désactiver le tout ! Pour le parefeu :
service iptables stop

Pour SELinux : vi /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted

Installation des pré-requis

Passage en root
su -

Installation prérequis
yum install gcc httpd mysql-server mysql-devel openssl

Téléchargement des sources Nagios
cd /usr/local/
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz
wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.14.tar.gz
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz
wget http://prdownloads.sourceforge.net/sourceforge/nagios/ndoutils-1.4b9.tar.gz

Décompression de Nagios Core
tar xfvz nagios-3.2.1.tar.gz
cd nagios-3.2.1/

Création du groupe et utilisateur nagios
groupadd nagios
groupadd nagcmd
useradd nagios -g nagios,nagcmd

Installation de Nagios

Nagios

Compilation de Nagios Core
./configure --prefix=/usr/local/nagios --enable-mysql --disable-pgsql --with-ndo2db-user=nagios --with-ndo2db-group=nagios --with-command-group=nagcmd

Résultats :

#*** Configuration summary for nagios 3.2.1 03-09-2010 ***:
#
# General Options:
# -
# Nagios executable: nagios
# Nagios user/group: nagios,nagios
# Command user/group: nagios,nagcmd
# Embedded Perl: no
# Event Broker: yes
# Install ${prefix}: /usr/local/nagios/
# Lock file: ${prefix}/var/nagios.lock
# Check result directory: ${prefix}/var/spool/checkresults
# Init directory: /etc/rc.d/init.d
# Apache conf.d directory: /etc/httpd/conf.d
# Mail program: /bin/mail
# Host OS: linux-gnu
#
# Web Interface Options:
#
# HTML URL: http://localhost/nagios/
# CGI URL: http://localhost/nagios/cgi-bin/
# Traceroute (used by WAP): /bin/traceroute
#
#
#Review the options above for accuracy. If they look okay,
#type 'make all' to compile the main program and CGIs.

make all

Résultats :

#*** Compile finished ***
#
#If the main program and CGIs compiled without any errors, you
#can continue with installing Nagios as follows (type 'make'
#without any arguments for a list of all possible options):
#
# make install
# - This installs the main program, CGIs, and HTML files
#
# make install-init
# - This installs the init script in /etc/rc.d/init.d
#
# make install-commandmode
# - This installs and configures permissions on the
# directory for holding the external command file
#
# make install-config
# - This installs *SAMPLE* config files in /usr/local/nagios//etc
# You'll have to modify these sample files before you can
# use Nagios. Read the HTML documentation for more info
# on doing this. Pay particular attention to the docs on
# object configuration files, as they determine what/how
# things get monitored!
#
# make install-webconf
# - This installs the Apache config file for the Nagios
# web interface
#
#
#*** Support Notes *******************************************
#
#If you have questions about configuring or running Nagios,
#please make sure that you:
#
# - Look at the sample config files
# - Read the HTML documentation
# - Read the FAQs online at http://www.nagios.org/faqs
#
#before you post a question to one of the mailing lists.
#Also make sure to include pertinent information that could
#help others help you. This might include:
#
# - What version of Nagios you are using
# - What version of the plugins you are using
# - Relevant snippets from your config files
# - Relevant error messages from the Nagios log file
#
#For more information on obtaining support for Nagios, visit:
#
# http://www.nagios.org/support/
#
#*************************************************************

make install
make install-init
make install-commandmode
make install-config
make install-webconf

Démarrage à  vide de Nagios
/etc/init.d/nagios start

Résultat :

#Starting nagios: done.

Installation et Configuration de MySQL si non installée

yum install mysql-server mysql
/etc/init.d/mysqld start
/usr/bin/mysql_secure_installation

Préparation de MySQL

Ici l'option "-proot" où "root" est mon mot de passe pour l'utilisateur root ... il va sans dire que ce n'est qu'un exemple :-) mysql -u root -proot

Résultats :

#Welcome to the MySQL monitor. Commands end with ; or \g.
#Your MySQL connection id is 7
#Server version: 5.0.77 Source distribution
#
#Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> create database nagios;

#Query OK, 1 row affected (0.01 sec)

mysql> grant all on nagios.* to 'nagios'@'localhost' identified by 'nagios';

#Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;

#Query OK, 0 rows affected (0.00 sec)

mysql> quit

#Bye

Installation du module base de données NDO
architecture_ndo.jpg

Décompression de NDO
cd /usr/local/
tar xvfz ndoutils-1.4b9.tar.gz
cd ndoutils-1.4b9

Compilation NDO
./configure

Résultats :

#*** Configuration summary for ndoutils 1.4b9 10-27-2009 ***:
#
# General Options:
# -
# NDO2DB user: nagios
# NDO2DB group: nagios
#
#
#Review the options above for accuracy. If they look okay,
#type 'make' to compile the NDO utilities.

make

Mise en place de la librairie NDO dans Nagios
cp src/ndomod-3x.o /usr/local/nagios/bin/ndomod.o
cp src/ndo2db-3x /usr/local/nagios/bin/ndo2db

Création base Nagios
cd db
./installdb -u nagios -p nagios -h localhost -d nagios

Résultats :

#DBD::mysql::db do failed: Table 'nagios.nagios_dbversion' doesn't exist at ./installdb line 51.
#** Creating tables for version 1.4b9
# Using mysql.sql for installation...
#** Updating table nagios_dbversion
#Done!

cp /usr/local/ndoutils-1.4b9/config/ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfg
cp /usr/local/ndoutils-1.4b9/config/ndomod.cfg-sample /usr/local/nagios/etc/ndomod.cfg

Éditer les fichiers de configuration
cd /usr/local/nagios/etc/
vi ndo2db.cfg

Dans ce fichier vous renseignerez l'utilisateur de mysql :

# SOCKET TYPE
# This option determines what type of socket the daemon will create
# an accept connections from.
# Value:
# unix = Unix domain socket (default)
# tcp = TCP socket

#socket_type=unix
socket_type=tcp
...
# DATABASE USERNAME/PASSWORD
# This is the username/password that will be used to authenticate to the DB.
# The user needs at least SELECT, INSERT, UPDATE, and DELETE privileges on
# the database.

db_user=nagios
db_pass=nagios

vi ndomod.cfg
Modifier le type socket :

...
#output_type=file
output_type=tcpsocket
#output_type=unixsocket
...
#output=/usr/local/nagios/var/ndo.dat
output=127.0.0.1
#output=/usr/local/nagios/var/ndo.sock

vi nagios.cfg

Modifier le partie event_broker (/event_broker pour rechercher sous Vi)
-
# EVENT BROKER OPTIONS
# Accepte des datas de l'extérieur (dont NDO)
# Controls what (if any) data gets sent to the event broker.
# Values: 0 = Broker nothing
# -1 = Broker everything
# <other> = See documentation
event_broker_options=-1
broker_module=/usr/local/nagios/bin/ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfg
-

Arrêt de Nagios
/etc/init.d/nagios stop

Démarrage du deamon NDO2DB
/usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg

Démarrage de Nagios
/etc/init.d/nagios start

Vérification du démarrage de Nagios
vi /usr/local/nagios/var/nagios.log
NB : Si Code 127 : Nagios Plugin non compilé

Installation des plugins Nagios

Décompression de Nagios Plugin
cd /usr/local
tar xvfz nagios-plugins-1.4.14.tar.gz

Compilation de Nagios Plugin
cd nagios-plugins-1.4.14
./configure

Résultats :

# --with-apt-get-command:
# --with-ping6-command: /bin/ping6 -n -U -w %d -c %d %s
# --with-ping-command: /bin/ping -n -U -w %d -c %d %s
# --with-ipv6: yes
# --with-mysql: /usr/bin/mysql_config
# --with-openssl: yes
# --with-gnutls: no
# --enable-extra-opts: no
# --with-perl: /usr/bin/perl
# --enable-perl-modules: no
# --with-cgiurl: /nagios/cgi-bin
# --with-trusted-path: /bin:/sbin:/usr/bin:/usr/sbin
# --enable-libtap: no

make
make install

Vérification des modules
ls /usr/local/nagios/libexec/
/etc/init.d/nagios restart

Changer authentification
vi /usr/local/nagios/etc/cgi.cfg
Exemple de configuration :

...
use_authentication=1
use_ssl_authentication=0
...

Pour le reste voici une brève explication :

  • authorized_for_system_information : indiquent quels sont les utilisateurs pouvant voir l'état des services
  • authorized_for_configuration_information : indiquent quels sont les utilisateurs pouvant voir la configuration de serveur Nagios
  • authorized_for_system_commands : indiquent quels sont les utilisateurs pouvant exécuter des commandes systèmes au travers de l'interface de Nagios
  • authorized_for_all_services : indiquent quels sont les utilisateurs pouvant voir l'état de tout les services (par défaut, on voit uniquement les services pour lesquels l'utilisateur est une personne de contact)
  • authorized_for_all_hosts : idem que ci-dessus mais pour les hôtes (les machines)
  • authorized_for_all_service_commands : indiquent quels sont les utilisateurs pouvant exécuter des commandes pour tous les services (par défaut, on peut exécuter des commandes uniquement sur les services pour lesquels l'utilisateur est une personne de contact)
  • authorized_for_all_host_commands : idem que ci-dessus mais pour les hôtes (les machines)

Je vous laisse le soin de compléter la configuration des personnes autorisées ou non à agir sur l'interface de Nagios !

Déclarer le user nagiosadmin
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

NB :Pour ajouter un utilisateur
htpasswd /usr/local/nagios/etc/htpasswd.users <username>

Changer le propriétaire du répertoire Nagios
chown -Rf nagios:nagios /usr/local/nagios/

Redemarrer le module NDO et Nagios
ps -e | grep ndo2db
kill PID
/usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg
/etc/init.d/nagios restart

Modification du script de démarrage de nagios pour prendre en compte ndo2db
vi /etc/init.d/nagios

-
...
start) echo -n "Starting nagios:"
$NagiosBin -v $NagiosCfgFile > /dev/null 2>&1;
if $? -eq 0; then
########################################################################
###############################A Ajouter################################
su - $NagiosUser -c "/usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg"
########################################################################
su - $NagiosUser -c "touch $NagiosVarDir/nagios.log $NagiosRetentionFile"
...
stop)
echo -n "Stopping nagios: "
pid_nagios
killproc_nagios nagios
########################################################################
###############################A Ajouter################################
su - $NagiosUser -c "skill ndo2db"
########################################################################
...
-

Installation du skin Vautour
J'utilise un skin très agréable nommé Vautour car il faut avouer que l'interface de base de Nagios est repoussante ... Comme tout projet il faut savoir le vendre et celà passe par l'esthétique !
wget http://www.be-root.com/downloads/nagios/vautour/vautour_style.zip
unzip vautour_style.zip -d /usr/local/nagios/share/

Merci à l'équipe de Be-Root !

Voici un exemple :
Vautour

Et voilà votre installation de Nagios doit être prête ! Il ne reste plus qu'à configurer notre nagios pour qu'il surveille nos serveurs ! Mais ça c'est dans un prochain billet ;) !

Rappel

Vérifier la configuration
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Faire des propositions d'optimisation (juste pour avoir la commande ;) )
/usr/local/nagios/bin/nagios -s /usr/local/nagios/etc/nagios.cfg

Erreur lors de l'installation d'Eclipse sous CentOS 5

Alexandre Frandemiche

Bonjour à tous,

Ce matin en voulant rejouer un bug de notre solution d'optimisation et de planification de techniciens mobiles (Opti-Time RMS et GOS). J'ai eu besoin d'installer un environnement de debug sur une CentOS 5 Server. D'ailleurs, vous aurez remarqué (ou pas) que le site Internet d'Opti-Time est flambant neuf !! Et sous Drupal ! Le libre s'installe de plus en plus chez nous et ce n'est pas pour me déplaire !

J'ai d'abord dû installer une interface graphique :
su -lc 'yum groupinstall "X Window System" "Environnement de bureau GNOME"'

Puis vient le moment d'installer Eclipse : su -lc 'yum install eclipse-platform' Hors en voulant installer le paquet 'eclipse-platform' j'ai obtenu l'erreur suivante :

Missing Dependency: /usr/bin/rebuild-security-providers is needed by package java-1.4.2-gcj-compat-1.4.2.0-40jpp.115.x86_64 (installed)

En effet, il se peut qu'au niveau de mes dépôts, entre EPEL, CentOS Plus et surtout ceux d'Opti-Time, il y ait des petits soucis au niveau de java ... même si je ne vois pas trop où ... par soucis d'efficacité, je n'ai pas chercher à comprendre !

Voici la solution détaillée : JPackage jpackage-utils compatibility for CentOS 5.x , sinon vous pouvez tout simplement faire ce qui suit :
su -lc 'rpm ivh http://plone.lucidsolutions.co.nz/linux/centos/images/jpackage-utils-compat-el5-0.0.1-1.noarch.rpm/at_download/file'

Attention à bien autoriser l'installation malgré la clé gpg inconnue !

Une fois fait, on peut reprendre l'installation d'Eclipse :
su -lc 'yum install eclipse-platform'

Et voilà, maintenant, je n'ai plus qu'à récupérer mes sources ... mais là, ça ne vous intéresse plus ;) !

Erreur lors de l'installation d'Eclipse sous CentOS 5

Alexandre Frandemiche

Bonjour à tous,

Ce matin en voulant rejouer un bug de notre solution d'optimisation et de planification de techniciens mobiles (Opti-Time RMS et GOS). J'ai eu besoin d'installer un environnement de debug sur une CentOS 5 Server. D'ailleurs, vous aurez remarqué (ou pas) que le site Internet d'Opti-Time est flambant neuf !! Et sous Drupal ! Le libre s'installe de plus en plus chez nous et ce n'est pas pour me déplaire !

J'ai d'abord dû installer une interface graphique :
su -lc 'yum groupinstall "X Window System" "Environnement de bureau GNOME"'

Puis vient le moment d'installer Eclipse : su -lc 'yum install eclipse-platform' Hors en voulant installer le paquet 'eclipse-platform' j'ai obtenu l'erreur suivante :

Missing Dependency: /usr/bin/rebuild-security-providers is needed by package java-1.4.2-gcj-compat-1.4.2.0-40jpp.115.x86_64 (installed)

En effet, il se peut qu'au niveau de mes dépôts, entre EPEL, CentOS Plus et surtout ceux d'Opti-Time, il y ait des petits soucis au niveau de java ... même si je ne vois pas trop où ... par soucis d'efficacité, je n'ai pas chercher à comprendre !

Voici la solution détaillée : JPackage jpackage-utils compatibility for CentOS 5.x , sinon vous pouvez tout simplement faire ce qui suit :
su -lc 'rpm ivh http://plone.lucidsolutions.co.nz/linux/centos/images/jpackage-utils-compat-el5-0.0.1-1.noarch.rpm/at_download/file'

Attention à bien autoriser l'installation malgré la clé gpg inconnue !

Une fois fait, on peut reprendre l'installation d'Eclipse :
su -lc 'yum install eclipse-platform'

Et voilà, maintenant, je n'ai plus qu'à récupérer mes sources ... mais là, ça ne vous intéresse plus ;) !

Fin de vie pour la Fedora 13

Edouard Bourguignon

Un bref rappel pour ceux qui seraient encore en Fedora 13, celle-ci est arrivée au terme de son cycle de maintenance (End of Life). Les cycles des Fedora se terminent en général 1 mois après la sortie de la version N+2.

Depuis le 24 juin 2011, 1 mois après la sortie de la Fedora 15, la Fedora 13 ne reçoit donc plus aucune mise à jour, il est de ce fait très important de passer à une version plus récente et encore maintenue comme la Fedora 14, voire mieux, la Fedora 15.

Annonce officielle

Instructions de mise à niveau

Pour info, la Fedora 14 est sortie le 02/11/2010 et devrait voir sa fin de vie après l'arrivée de la Fedora 16, grosso modo pour la fin de cette année. Quant à la Fedora 15, sortie le 24/05/2011, elle a encore de beaux jours devant elle. La Fedora 17 ne devrait sortir que dans 1 an...

Calendrier de la Fedora 16

Si le cycle Fedora de 6 mois vous semble trop court, il y a la distribution RedHat (il faut payer une souscription) et ses clones (gratuits), comme la Scientific Linux 6. Là le cycle de vie est de 10 ans, comme expliqué ici.

Nouveau serveur dédié pour llaumgui.com

Guillaume Kulakowski

Après 4 années de bons et loyaux services, la vieille Dedibox V1 qui hébergeait, entre autres, llaumgui.com fait place à un serveur tout neuf : un Kimsufi 16G.

Au programme :

  • 16 Go de RAM (contre 1Go)
  • Un processeur Intel Core I5 (contre un vieux VIA C7)
  • 2To de disque dur (contre 250Go)
  • etc...

La distribution Linux change elle aussi puisque je passe de CentOS 5.6 à Red Hat EL 6.1.

Linstallation de la RHEL6 fut dailleurs très sportive via le vKVM d'OVH. Une fois l'install achevée, j'ai eu tout le mal du monde à relancer le réseau avant de découvrir que les drivers e1000E (Intel® 82563/6/7, 82571/2/3/4/7/8/9 and 82583 PCI-E based Ethernet NICs) ne semblaient pas supportés par la RHEL 6.1... Heureusement que j'ai trouvé un dépôt non officiel proposant ces drivers !

Bref, maintenant on aura plus de performances ! On va enfin pouvoir réactiver les services coupés au fil du temps sur Scénario-Paintball et en rajouter de nouveaux !

Si vous voyez ce billet c'est que les DNS sont propagés.