PostHeaderIcon KornShell | Rappel de commande avec les flèches sous Ksh

Article publiée le 19 Février 2014

 

Une petite astuce que l'on vient de me faire découvrir.

Qui n'a jamais galéré avec KornShell qui n'accepte pas les rappels de commandes avec les flèches directionnelles mais uniquement avec des raccourcis obscures??? (utilisateurs de HPUX notamment ;-))

Aujourd'hui on vient de me filer LA solution.

- Editez le .profile du user concerné

- Rajoutez les lignes suivantes:

set -o emacs

alias __A=`echo "\020"`     # up arrow = ^p = back a command
alias __B=`echo "\016"`     # down arrow = ^n = down a command
alias __C=`echo "\006"`     # right arrow = ^f = forward a character
alias __D=`echo "\002"`     # left arrow = ^b = back a character
alias __H=`echo "\001"`     # home = ^a = start of line
alias __F=`echo "\005"`     # end = ^e = end of line

Reconnectez vous et testez...

Vous ne vous énerverez plus jamais sur du kornshell !

 

 

PostHeaderIcon tutoriel | sauvegardez un serveur entier avec Mondo

Article publiée le 2 Février 2014

 

J'ai remarqué que la sauvegarde est un élément particulièrement négligé. Et pourtant il n'y a rien de plus important.

Outre le fait de faire des sauvegardes de vos fichiers, je trouve qu'il est d'autant plus vital de faire des sauvegardes de votre système. Que se passerait-il si demain, vous ou l'un de vos collègues commettait une erreur critique sur l'un de vos serveurs?

C'est pourquoi je vais vous présenter aujourd'hui un outil nommé MONDO.

Cette outil permet de créer une image ISO à chaud de l'intégralité de votre système (comme un ghost) et vous permettra de le restaurer rapidement si un événement critique se produit!

 

1) Installation

1.1) Sous Debian/Ubuntu :

- Rendez vous via votre navigateur sur le lien: ftp://ftp.mondorescue.org/debian/

- Sélectionnez la version de votre distribution ainsi que l'architecture (32/64bits) en naviguant dans l'arborescence.

- Ouvrez le fichier mondorescue.sources.list et copier le contenu dans votre fichier /etc/apt/sources.list

- Installez mondo : apt-get update && apt-get install mondo

 2.2) Sous RedHat/Centos/Fedora

- Rendez vous via votre navigateur sur le lien: ftp://ftp.mondorescue.org/rhel/

- Sélectionnez la version de votre distribution ainsi que l'architecture (32/64bits) en naviguant dans l'arborescence.

- Récupérer le fichier mondo.repo et copiez le dans le répertoire /etc/yum.repos.d/

- Installez mondo: yum install mondo

2) Fonctionnement

2-) Sauvegarde

- Lancez la commande "mondoarchive"

- L'écran ci-dessous vous permet de sélectionner le support de sauvegarde

-  Entrez le répertoire qui stockera votre image ISO

- Sélectionnez le type de compression désiré:

- Sélectionnez le taux de compression (plus la configuration de la machine est modeste plus le taux de compression doit-être bas)

- Sélectionnez la taille maximum que l'image ISO devra faire (taille de découpage)

- Entrez le prefixe du nom de l'iso

- Entrez le chemin du répertoire que vous voulez sauvegarder (si vous laissez / le système entier sera sauvegardé)

- Entrez ici les répertoires à exclure de la sauvegarde

- Entrez ici le chemin de votre répertoire temporaire:

- Entrez le chemin du répertoire scratch

- L'écran ci dessous vous permet de conserver les attributs des fichiers et répertoires sauvegardés (droits et propriétaires). Pour ma part je vous conseille de sélectionner "yes"

- Permet de procéder à la vérification de l'ISO une fois la sauvegarde terminée

- L'écran suivant vous demande de répondre en fonction de la version du kernel que vous possédez

- Au prochaine écran confirmez la mise en route de la sauvegarde

- C'est parti!

 2.2) Restauration

Si vous avez choisis  la méthode de restauration par CD ou DVD vous devez juste booter dessus et suivre les instructions à l'écran.

Si votre méthode de sauvegarde est plus traditionnelle je vous invite à suivre la méthode suivante:

- Avec le user root tapez la commande "mondorestore"

Un écran vous demande d'insérer un cd ou un média USB si c'est le  cas échéant. Appuyez sur entrée.

- A l'écran suivant sélectionnez la méthode par laquelle vous êtes passé pour effectuer vos sauvegardes

 

Vous n'aurez plus qu'à indiquer le chemin du répertoire où sont stocké vos sauvegardes!

 

2.3) Ligne de commande

Bien entendu les méthodes expliquées lors de mon tutoriel sont extrêmement contraignantes. Le mode interactif n'est pas la méthode préféré de l'administrateur.

Mais heuresement Mondo peut également être utilisé en ligne de commande!

Exemple de commande pour sauvegarder:

mondoarchive -O -p sauvegarde -i -d  /save

(la commande ci dessus sauvegardera l'intégralité de votre système  dans le répertoire /save en utilisant le préfixe "sauvegarde" pour nommer le fichier ISO)

Exemple de commande pour restaurer:

mondorestore <prefixe de votre ISO>

 

L'administration en ligne de commande de mondo est extrêmement vaste et je ne peux malheureusement pas tout détailler dans ce tutoriel. C'est pourquoi je vous met ci-dessous une copie du man en français  en espérant que cela puisse vous aider!

 

  • mondoarchive -O [ options ] : sauvegarde du PC.
  • mondoarchive -V [ options ] : vérification des sauvegardes.
  • -c speed: permet de forcer la vitesse de gravure quand on backup sur CD-R.
  • -w speed: permet de forcer la vitesse de gravure quand on backup sur CD-RW.
  • -p prefix: permet de fixer un préfixe pour le nom de nos fichiers de backup (dans le cas où la sauvegarde tient sur plusieurs CD par exemple, les noms seront du type <prefix><n° du media>.iso).
  • -i: force l'utilisation du format ISO pour la sauvegarde (à remplacer par -n ou -t si on souhaite utiliser un montage NFS ou un lecteur de bande).
  • -D: permet un backup différentiel. Utile si on souhaite faire des sauvegardes incrémentales quotidiennes.
  • -E path1 ...pathN: permet d'exclure des répertoires du système de la sauvegarde. Il est à noter que mondoarchive exclu déjà par défaut les médias amovibles (/mnt/floppy, /mnt/cdrom, /proc, /sys, /tmp). Attention de ne pas mettre de / en fin de path à exclure.
  • -I path1 ...pathN: permet d'inclure de force des dossiers à embarquer dans la sauvegarde, sachant que les dossiers par défaut sont /, /home et /etc.
  • -N: permet d'exclure explicitement tous les montages réseau quel que soit leur type.
  • -d dev|dir: permet de désigner le périphérique de sauvegarde, ou le chemin de stockage des images générées.
  • -s size: permet de préciser la taille maximale de chaque fichier image généré.
  • -x: permet de pointer des partitions non-linux à backuper (notamment NTFS).

Enjoy 🙂

PostHeaderIcon Désactiver « BAD Password: it is Based on Dictionary Word »

Article publiée le 29 Janvier 2014

Une petite astuce qui pourrait s'avérer utile. La politique de mot de passe par défaut des distributions RedHat/ CentOS/ Fedora empêche tout les users non root de s'attribuer un mot de passe basé sur le dictionnaire.

Bien que je vous déconseille fortement de changer cette politique je vous donne malgré tout la marche à suivre afin de désactiver cette sécurité si besoin:

- Editez le fichier /etc/pam.d/system-auth

- Commentez la ligne password    requisite     pam_cracklib.so try_first_pass retry=3

- Repérer la ligne password    sufficient    pam_unix.so md5 shadow nullok try_first_pass use_authtok

- Enlever "use_authtok"

- Votre ligne devrez ressembler à ça :

password    sufficient    pam_unix.so md5 shadow nullok try_first_pass

- Retenter de modifier un mot de passe via la commande passwd.

Enjoy 🙂

PostHeaderIcon Comparateur distribution Linux/UNIX

Article publiée le 23 Janvier 2014

 

Je viens de découvrir un petit site extrêmement génial:

http://bhami.com/rosetta.html#security

Ce site offre un comparateur des commandes Shell ainsi que des architectures systèmes de toutes les distributions Linux/Unix existantes.

Pour ma part je pense que je vais l'imprimer et l'accrocher 😉

 

 

 

PostHeaderIcon MOTDStat (Message Of The Day – System Status)

Article publiée le 09 Janvier 2014

Article mis à jour le 10 Février 2016

 

MOTDstat est un petit outil qui pourra vous être bien utile!

Il génère dynamique le motd avec les informations systèmes de votre machine (Message qui s'affiche lorsque vous ouvrez un terminal).

Un petit exemple:

 Installation:

- Téléchargez le tar.gz d'installation sur le site officiel (http://www.gelogic.net/download/)

- Téléchargez la dernière version et décompresser la via la commande:

tar -xvf <votre archive>

- Placez vous dans le répertoire qui où vous avez décompresser motdstat puis procédez à l'installation:

cd <repertoire des sources> && make install

- Pour procéder à la génération du motd utilisez la commande suivante:

motdstat --generate

- Afin que les informations soient mises à jour régulièrement pensez à la cronner

crontab -e  puis rajouter la ligne suivante:

*/5 * * * *   /usr/bin/motdstat --generate
Configuration:
Les fichiers de configuration de motdstat se situe dans le répertoire /etc/motdstat.
Ils sont extrêmement simples:
motdstat.conf: Fichier de configuration principal
fstab_limits: Contient la liste des file system à surveiller avec les seuils d'alertes Warning et Critical
process:  Contient la liste des ports d'écoute à surveiller
netservice: Contient la liste des processus à surveiller
Enjoy 🙂

PostHeaderIcon Mesurer la consommation mémoire sous Linux

Article publiée le 8 Janvier 2014

 

Après un long moment d'absence je me permet d'écrire ce mini article sur comment checker la consommation RAM d'une machine Linux.

J'ai pu m'apercevoir tout au long de ma carrière que les admin débutants  check la consommation mémoire de leur machine uniquement avec la commande top ou htop!

Et la je crie oh sacrilège!!!

Eh oui il arrive  que ce type de commandes puisse induire en erreur les jeunes admins car  celle ci indique très souvent  une consommation quasi à 100% de la mémoire alors qu'il n'en est rien!

Pour être sur de votre coup je vous invite à checker la mémoire de votre machine avec la commande free!

Ci dessous un exemple d'interprétation de cette commande:

La commande free -m retourne normalement ceci:

 

Dans un premier temps vous pouvez voir que votre machine ne SWAP pas ce qui est déjà bon signe!

Ensuite la colonne free indique 321 MO de mémoire libre et pourtant, en réalité, la mémoire disponible est  bien plus élevée!

La marche à suivre:

Ce qui nous fait 321+90+202 = 613 Mo de libre!

Pour info le Buffer/cache stock les information lu et écrites afin de réduire les accès disques et augmenter les performances! (directement géré par le kernel)

PostHeaderIcon Afficher la liste des connexions utilisateurs

Article publiée le 16 Novembre 2013

Une petite astuces en passant:

Souvent lors de nos petites investigations Linuxienne il peut arriver que l'on est besoin de savoir qui s'est connecté quand est ou et sur quelle machine!

Une petite commande fort bien sympathique existe:  last

Disponible nativement sur la plupart des distribs connues last vous permet d'avoir la liste des dernière connexions effectuées sur un serveur.

PostHeaderIcon tutoriel installation et configuration de Munin

Article publiée le 14 Novembre 2013

Munin est un outil de monitoring, simple léger et très facile à mettre en place.

En plus de ça Munin est un outil de monitoring extrêmement précis concernant les graphes.

Un client Munin est installé sur chaque machine à surveiller. Les informations sont directement envoyées sur le serveur qui restitue les infos via une interface WEB.

Capture d'écran de l'interface de Munin

 

Ce tutoriel explique comment mettre en place MUNIN sous Debian/Ubuntu

Prérequis: Un serveur apache (apt-get install apache2)

 

 1) Installation

Partie serveur

apt-get install munin

Editez le fichier /etc/munin/munin.conf

Nous allons ensuite ajouter un nouveau client. Pour cela trouvez les lignes suivantes:

[localhost.localdomain]    # Correspond au nom de la machine qui sera afficher sur l'interface Web

address 127.0.0.1                # Son adresse IP
use_node_name yes          # Munin utilisera le nom du noeud plutôt que l'adresse IP

 

Il suffit de copier les lignes ci-dessus et d'adapter en fonction de la machine à monitorer:

[machinevince.localdomain] 

address 192.168.2.50
use_node_name yes

 

Il ne reste plus qu'à créer un lien symbolique du répertoire contenant l'interface Web de Munin vers le répertoire par défaut d'apache2 afin que l'interface de Munin soit disponible:

ln -s /var/cache/munin/www /var/www/munin

 

Partie cliente

apt-get install munin-node

Editez le fichier /etc/munin/munin-node.conf

Chercher la ligne allow ^127\.0\.0\.1$ et remplacez la par l'ip de votre machine ^192\.168\.0\.38$

Redémarrer munin: /etc/munin-node restart

Enfin connectez vous à l'interface web via l'URL: http://<ip ou DNS>/munin

Enjoy 🙂

 

 

 

 

 

PostHeaderIcon tutoriel | installer et configurer squid avec authentification

Article publiée le 3 Novembre

Un proxy ou serveur mandataire permet entre autre une maîtrise de  votre sortie internet.

Les avantages sont:

- Mise en cache pour réduire l'utilisation de votre bande passante

- Trace de l'activité de vos utilisations sur le net

- filtrage de contenu

- Renforcement de la sécurité.

 

Ci dessous un tutoriel complet sur l'installation et la configuration d'un proxy SQUID avec Webmin. (Comme d'habitude ce tutoriel sera adapté aussi bien pour les distributions Debian/ Ubuntu Server et Centos/RedHat)

Si vous ne connaissez pas webmin un article présentant cette solution est disponible:

http://journaldunadminlinux.fr/webmin-une-plateforme-web-pour-gerer-votre-machine-linux/

Webmin vous permettra de paramétrer très facilement votre Proxy et d'effectuer les tâches quotidiennes d'administration de manière rapide (création user etc).

 

1/ Installation

 

- Installez Squid:

apt-get install squid (sous debian/ubuntu)

yum install squid (sous Centos/RedHat)

-Installez Webmin

Pour récupérer les packages rendez vous sur le site (suivant la distribution que vous utilisez):

http://www.webmin.com/download.html

Puis installez les:

dpkg -i <package Webmin> (sous debian/ubuntu)

rpm -i <package Webmin>  (sous Centos/RedHat)

- Connectez vous à l'interface Web de Webmin via l'url <IP ou DNS de votre machine>:9000

- Une fois connectez utilisez les identifiants root pour vous connecter.

- A gauche de votre écran cliquez sur le menu "server" puis "Squid Proxy Server"

2/ Configuration de SQUID

- Initialisez le cache de Squid en cliquant sur le bouton "Initialize Cache"

Etape 1: Mettons maintenant en place le système d'authentification (chaque user devra saisir son login et son mot de passe pour accéder à internet)

Cliquez sur "Access Control

Sélectionnez "External Auth" via le menu déroulant situé en dessous du tableau puis cliquez sur "Create New ACL"

Renseignez le nom de votre ACL dans le champs "ACL Name" puis cliquez sur save.

De retour dans le menu des ACL, cliquez sur l'onglet Proxy Restriction:

 

 

Cliquez sur Add proxy restriction

Sélectionnez le nom de l'ACL que vous venez de créer puis cliquez sur Save. (Assurez vous que l'action soit bien sur "Deny")

Cliquez sur la flèche pointant vers le haut pour remonter votre ACL au dessus de "All"

Retournez ensuite au menu principal puis sélectionnez "Authentification Programs"

Cochez "Webmin default" puis cliquez sur "save"

Ci tout c'est bien passez une icone "Proxy Authentification" vient d’apparaître.

Cliquez sur ce bouton puis cliquez sur le lien Add a new proxy user:

Créez votre utilisateur puis cliquez sur "create"

Etape 2: Il ne reste plus qu'à autorisez votre sous réseau (ou sous réseau) à  se connecter sur votre proxy.

Pour cela créons une nouvelle ACL:

Via le menu déroulant en bas du tableau selectionnez "Client Address" puis cliquez sur "Create new ACL":

 

Une fois les informations sur votre sous réseau cliquez sur "save"

Cliquez ensuite sur l'onglet "proxy restriction" puis sur add proxy restriction

Sélectionnez votre ACL puis cochez "allow" et cliquez sur Save.

Remontez votre ACL au dessus de ALL via la flèche.

Etape 3 : Il ne vous reste plus qu'à redémarrer le service squid.

/etc/init.d/squid restart ou service squid restart

 

Il ne vous reste plus qu'à tester!! (sans oublier de paramétrer votre navigateur pour qu'il utilise votre proxy)

 

Enjoy!

 

 

PostHeaderIcon tutoriel | installer websphere application server 8.5

Article publiée le 2 Novembre 2013

 

WAS est un serveur d'application IBM (similaire à Oracle Weblogic ou RedHat Jboss).

Il y a quelque mois on m'a demandé d'installer ce produit  sur une machine de test en vue de procéder à une éventuelle migration.

Ayant eu du mal à trouver des tutos fiables je me suis permis d'en rédiger un sur l'installation de Websphère.

Pour vous procurer les sources de Websphere vous devez vous rendre sur le site d'IBM est posséder un IBM ID (pour cela il suffit de vous inscrire).

http://www.ibm.com/developerworks/downloads/ws/wasnetwork/index.html

Je vous rappelle que WAS est une solution propriétaire. Il est nécessaire que vous soyez en règle coté licence. Cependant IBM propose une version d'évaluation limitée à 30 jours.

RedHat 5 ou 6 (pi CentOS) est nécessaire pour l'installation de WebSphère avec de préférence un environnement de bureau type Gnome d'installé.

 

Tutoriel d'installation

-  Dans un premier temps téléchargez  le manager d'installation de IBM (Installation Manager) ainsi que les packages was.repo.8500.expresstrial

- Décompresser l'archive zip avec un petit unzip

unzip -e <nom de l'archive>

- Lancer le script install

./install

L'écran suivant devrait apparaitre:

Cliquez sur next

Cochez "I accept the terms in the license agreement" puis cliquez sur le bouton next

Sélectionnez votre répertoire d'installation puis cliquez sur next

Cliquez sur "install"

Cliquez sur "Restart Installation Manager"

Cliquez sur install

Cliquez sur le lien "Repositories"

(Procéder à la décompression de vos 3 archives was.repo.8500.expresstrial)

Cliquez sur "add Repositories" et sélectionnez le fichier repository.config de la 1er archive que vous venez de décompresser (dans disk1).

Cliquez sur OK.

 

- Sélectionnez "IBM WebSphere Application Server - Express Trial" puis cliquez sur next

- Acceptez les accords de licence en cochant la case "I accept the terms in the license agreement" puis cliquez sur "next"

Laissez le répertoire par défaut et cliquez sur "next"

Créer votre répertoire d'installation de WAS puis sélectionnez le avant de cliquez sur "next"

Cochez la langue puis cliquez sur "next"

Cliquez sur next

 

Sélectionnez le répertoire disk2 (il doit être à l'endroit où vous avez décompressé les archives des sources d'installation tout à l'heure)

Faites de même lorsqu'il vous demander pour le disk3

Cliquez sur "install"

Cliquez sur finish

Cliquez sur le bouton "create"

Cliquez sur next

Cochez "Advanced profile creation" puis cliquez sur "next"

Laissez tout coché puis cliquez sur "next"

Sélectionnez le menu déroulant et cliquez sur "Development" puis cliquez sur Next

Renseignez les champs en spécifiant bien le hostname dans le champs "Host Name" puis cliquez sur next

Vérifiez que votre machine possède un DNS correctement configuré (ou fichier hosts)

Indiquez le login et le mot de passe qui vous permettra de vous connecter à l'interface d'administration de WebSphere puis cliquez sur Next

Cliquez sur next

Cliquez sur next

Cliquez sur next

Cliquez sur next

Cliquez sur next

Cliquez sur "create"

Cliquez sur Finish

Cliquez sur "Installation verification".

 

Une fois la vérification terminée il ne vous reste plus qu'à vous connecter sur l'interface d'administration via l'URL:

http://<ip serveur>:9061/

 

PostHeaderIcon tutoriel | installer et configurer varnish avec apache

Article publiée le 23 Octobre 2013

Ayant beaucoup travaillé dans sur des environnements Web (LAMP) je me suis vite aperçu que soulager le plus possible les serveurs Web était ma principal préoccupation.

J'entends de plus en plus parler d'un projet du nom de Varnish qui est un reverse Proxy HTTP. Grâce à ça vous pourrez faire de la mise en cache pour soulager vos serveurs Web.

Voici un petit schéma explicatif:

Ce qui m'a le plus attiré dans cette outil est sa simplicité d'installation et son efficacité.

Les gens qui suivent mon blog ou me connaissent savent que je suis partisan des solution les plus simples à mettre en place.

Ci-dessous un tuto sur l'installation et la configuration de Varnish.

Votre environnement Lamp est déjà installé et configuré. Si vous avez besoin d'un tutoriel sur l'installation d'un tel environnement rendez vous ici:

http://journaldunadminlinux.fr/tutoriel-installation-dun-environnement-lamp-apache-php-mysql/

 

Installation sur une Debian/Ubuntu Server:

- Installez Varnish

apt-get install varnish

- Modifiez le port d'écoute de votre service apache

vi /etc/apache2/ports.conf (Et remplacez la ligne NameVirtualHost *:80  et Listen 80 par NameVirtualHost *:8080 et  Listen 8080)

- Editez le fichier /etc/varnish/default.vcl et checker:

backend default {
.host = "127.0.0.1";
.port = "8080";
}

- Editez le fichier de configuration /etc/default/varnish puis modifiez les lignes suivantes:

 

DAEMON_OPTS="-a :6081 \
             -T localhost:6082 \
             -f /etc/varnish/default.vcl \
             -u varnish -g varnish \
             -S /etc/varnish/secret \
             -s file,/var/lib/varnish/varnish_storage.bin,1G"

par

DAEMON_OPTS="-a :80 \
             -T localhost:8000 \
             -f /etc/varnish/default.vcl \
             -u varnish -g varnish \
             -S /etc/varnish/secret \
             -s file,/var/lib/varnish/varnish_storage.bin,1G"

(Situé au niveau du commentaire "Alternative 2")

puis modifiez VARNISH_LISTEN_PORT=6081 par VARNISH_LISTEN_PORT=80 et VARNISH_ADMIN_LISTEN_PORT=6082 par VARNISH_ADMIN_LISTEN_PORT=8000

 

Installation sur une Centos/RedHat:

 

- Installez Varnish

yum install varnish

- Modifiez le port d'écoute de votre service apache

vi /etc/httpd/conf/httpd.conf (Et remplacez la ligne Listen 80 par Listen 8080)

- Éditez le fichier /etc/varnish/default.vcl et checker:

backend default {
.host = "127.0.0.1";
.port = "8080";
}

- Éditez le fichier de configuration /etc/sysconfig/varnish puis modifiez les lignes suivantes:

DAEMON_OPTS="-a :6081 \
             -T localhost:6082 \
             -f /etc/varnish/default.vcl \
             -u varnish -g varnish \
             -S /etc/varnish/secret \
             -s file,/var/lib/varnish/varnish_storage.bin,1G"

par

DAEMON_OPTS="-a :80 \
             -T localhost:8000 \
             -f /etc/varnish/default.vcl \
             -u varnish -g varnish \
             -S /etc/varnish/secret \
             -s file,/var/lib/varnish/varnish_storage.bin,1G"

(Situé au niveau du commentaire "Alternative 2")

puis modifiez VARNISH_LISTEN_PORT=6081 par VARNISH_LISTEN_PORT=80 et VARNISH_ADMIN_LISTEN_PORT=6082 par VARNISH_ADMIN_LISTEN_PORT=8000

 

 Enjoy 😉

PostHeaderIcon Créer une interface virtuelle sous Debian et CentOS

Article publiée le 22 Octobre 2013

Ce petit article vous explique la marche à suivre pour créer des interfaces virtuelles sous Linux.

L’intérêt de cette procédure réside dans le fait que vous pouvez ajouter plusieurs IP sur une même interface.

 

Sous RedHat/Centos:

- Rendez vous dans le répertoire /etc/sysconfig/network-scripts

cd /etc/sysconfig/network-scripts

- Créez un nouveau fichier de configuration d'interface

touch eth0:1

Le "0" avant le ":" correspond au numéro de l'interface physique sur laquelle votre interface virtuel va passer
- Editez votre fichier de configuration et rajoutez les lignes suivantes

GATEWAY=<adresse de votre passerelle>
TYPE=Ethernet
DEVICE=<nom de votre interface réseau>
BOOTPROTO=none
NETMASK=<votre masque de sous réseau>
IPADDR=<votre adresse IP>
USERCTL=no
IPV6INIT=no
ONPARENT=yes

 

Exemple:

- Activer votre interface réseau:

ifup  <nom de votre interface>

 

Si vous obtenez ce message "RTNETLINK answers: File exists":  Redémarrez le service network

service network restart

(C'est ce que j'ai fais quand j'ai obtenus cette erreur)

 

Sous Debian/Ubuntu Server

- Editez le fichier /etc/network/interface

- Rajoutez votre nouvelle interface virtuelle:

 

auto eth0:1
iface eth0:1 inet static
address <adresse ip>
netmask <masque de sous réseau>
gateway <votre passerelle>

Le "0" avant le ":" correspond au numéro de l'interface physique sur laquelle votre interface virtuel va passer

- Montez votre interface

ifup <nom de votre interface>

 

PostHeaderIcon Réduire la taille du Swap

Article publiée le 21 Octobre 2013

 

Il peut arriver qu'un jour vous vous soyez enflammer sur la taille du swap lors de la mise en place d'une de vos machine 😉

Ci dessous une petite astuce pour réduire la taille de celle ci (toutes ces opérations doivent-être effectuées en tant que root):

 

- Tous d'abord checkez la taille de votre swap:

free -m

- Ensuite afficher la liste de vos lv pour avoir le nom de votre lv swap:

lvdisplay

- Désactiver votre swap (en vous assurant que votre machine ne soit pas en train de swaper):

swapoff -a

- Réduisez la taille du lv de votre swap:

lvreduce -L <la nouvelle taille de votre swap> <le chemin de votre LV>

Exemple:

- Récréez votre swap

mkswap <chemin du LV de votre Swap>

 

- Et enfin réactivez votre Swap

swapon -a

- Checkez la nouvelle taille de votre swap

free -m

 

 

 

PostHeaderIcon Afficher la liste des processus qui utilisent le SWAP

Article publiée le 9 Octobre 2013

Il y a quelque jour j'ai eu un gros problème de SWAP sur une de mes machines Linux. Mon collègue a trouvé un script très utile qui permet d'afficher tous les processus utilisant le SWAP:

 

 

#!/bin/bash
# Get current swap usage for all running processes
# Usage: ./getswap.sh | sort -n -k 5
# Erik Ljungstrom 27/05/2011
SUM=0
OVERALL=0
for DIR in `find /proc/ -maxdepth 1 -type d | egrep "^/proc/[0-9]"` ; do
PID=`echo $DIR | cut -d / -f 3`
PROGNAME=`ps -p $PID -o comm --no-headers`
PROGPATH=`cat /proc/$PID/cmdline`
for SWAP in `grep Swap $DIR/smaps 2&gt;/dev/null| awk '{ print $2 }'`
do
let SUM=$SUM+$SWAP
done
echo "PID=$PID - Swap used: $SUM - ($PROGNAME - $PROGPATH)"
let OVERALL=$OVERALL+$SUM
SUM=0

done
echo "Overall swap used: $OVERALL"

 

 

Si vous voulez connaitre les processus qui SWAP le plus:

./getswap.sh | sort -n -k 5

 

Exemple de résultat du scripts.:

Enjoy 🙂

Ce script ne fonctionne que pour les distributions RedHat/Centos/Fedora. Une petite modif sera certainement nécessaire si vous êtes utilisateurs d'une autre distrib 😉

 

PostHeaderIcon Activer ou désactiver SELinux

Article publiée le 4 Octobre 2013

 

SELinux est un module permettant une gestion très fine de la sécurité de votre système d'exploitation.

Il est installé et activé par défaut sur les distributions de la famille de RedHat.

Ce module peut très vite vous causer des problèmes.

Je conseille à tous de le désactiver dés que vous installer un nouveau serveur RedHat/Centos/etc...

Pour cela éditez le fichier /etc/selinux/config

vi /etc/selinux/config

Puis modifier le champs "SELINUX=enforcing" par "SELINUX=disabled"

PostHeaderIcon Tutoriel | Installation d’un environnement LAMP (Apache, PHP, Mysql)

Article publiée le 4 Octobre 2013

Mise à jour le 5 Octobre 2013

 

En parcourant une fois de plus les forums je me suis aperçus que beaucoup d'admins débutants avaient des difficultés pour installer un environnement LAMP (Apache, PHP, Mysql).

Ci-dessous un tutoriel complet sur l'installation d'un environnement LAMP avec quelques astuces en plus!

Ce tutoriel est adapté aussi bien pour les utilisateurs de Centos/RedHat que pour les utilisateurs de Debian/Ubuntu Server

 

1) Installation Apache

Sous Debian:

apt-get install apache2

Sous Redhat/Centos:

yum install httpd

service httpd start

Attention sous RedHat/Centos, n'oubliez pas de désactiver le firewall ou de le paramétrer en conséquence. (service iptables stop && chkconfig iptables off)

Vérifiez que les services apaches fonctionnement correctement en vous connectant via votre navigateur ) à l'ip ou le dns de votre machine.

Cette page devrait être affichée (pour les utilisateurs de Debian):

Pour les utilisateurs de Centos/RedHat:

 

2) Installation de PHP

Sous Debian

apt-get install php5 php5-mysql

Sous Centos/RedHat:

yum install php*

Redémarrez votre service apache:

/etc/init.d/apache2 restart (Sous Debian)

service httpd restart (Sous RedHat)

Sous debian j'ai déjà remarqué que le module php d'apache pouvait ne pas s'activer automatiquement ce qui fait que vos pages PHP ne seront pas interprétées!

Pour résoudre ce problème: a2enmod php && /etc/init.d/apache2 restart

 

3) Installation de Mysql

Sous Debian:

apt-get install mysql-server

Une interface peut apparaître afin de vous demander d'entrer le mot de passe root de Mysql

Sous Redhat/Centos

yum install mysql-server

Démarrer le service Mysql: service mysqld start

 

Petite parenthèse:

Certain voudrons certainement changer l'emplacement du  tablespace (la ou sont stocké vos datas), pour cela:

- Créez le répertoire qui contiendra les tablespace de Mysql : mkdir <votre repertoire>

- Changez les droits de ce répertoire chown mysql:mysql <repertoire>

- Modifiez le fichier my.cnf en modifiant "datadir=/var/lib/mysql" par votre nouveau répertoire.

(Ce fichier se situe dans le répertoire /etc/ sous Centos/RedHat et dans /etc/mysql sous Debian).

 

Pour initialiser le mot de passe root de Mysql (ce que je recommande fortement pour des raisons évidentes de sécurité)

On vérifie:

 3) PHPMyadmin

Si vous n'êtes pas très bon en base de donnée ou que vous avez tout simplement un client allergique à la ligne de commande je vous suggère d'installer PHPMyAdmin.

Pour ceux qui ne connaissent pas PHPMyadmin est une interface Web d'administration de Mysql.

Pour l'installer sous debian:

apt-get install phpmyadmin

Ce message devrait apparaître

Avec la barre d'espace sélectionnez apache2 puis sélectionnez OK

Sélectionnez "oui" et valider avec la touche entrer

Entrez le mot de passe root de mysql puis validez.

 

Sous RedHat/Centos ou installation manuelle:

Téléchargez phpmyadmin depuis le site: http://www.phpmyadmin.net/home_page/index.php

- Dezippez l'archive: unzip -e <archive>

- Créez un répertoire dans le répertoire web par défaut d'apache (/var/www ou /var/www/html suivant les distributions)

mkdir <répertoire web d'apache>/phpmyadmin

- Copiez tout le contenu dans ce répertoire

 

Se connecter à PHPMyAdmin

Une fois l'installation terminée connectez vous via votre navigateur à l'url: <IP ou DNS de votre serveur>/phpmyadmin

Connectez vous en indiquant les identifiant root de Mysql

 

Petite  aperçu de phpmyadmin:

 

 

4) Quelque petits tuyaux!

Cette partie de ce tutoriel donne des réponses en vrac à des question récurrentes que je retrouve sur la plupart des forums:

Comment modifier le port d'écoute d'apache?

Sous RedHat Centos: modifiez le fichier /etc/httpd/conf/httpd.conf puis cherchez "Listen 80" et modifiez la valeur 80 par le port de votre choix.

Sous Debian/Ubuntu: modifiez le fichier /etc/apache2/ports.conf puis cherchez "Listen 80" et modifiez la valeur 80 par le port de votre choix.

 

Exemple de virtualhost:

 

<VirtualHost 1.1.1.3:80>
ServerName monsite.com
ServerAdmin [email protected]

DocumentRoot /monsite
DirectoryIndex index.php index.html index.htm

ErrorLog /var/log/apache2/monsitelog
CustomLog /var/log/apache2/monsite.log combined

<Directory /home/monsite/monsite/>
Options -Indexes
AllowOverride All
Order allow,deny

# Restriction par sous réseau pour plus de securité!

Allow from 192.168.0.0/24

</Directory>

php_value error_log /home/site/log/php/monsite.log
php_value warning_log /home/site/log/monsite.log
php_value log_errors On
php_value register_globals Off

RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
</VirtualHost>

 

 

Exemple de virtualhost avec SSL:
<VirtualHost 1.1.2..2:443>
ServerName monsite.com
ServerAdmin [email protected]
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem

DocumentRoot /home/monsite/site

DirectoryIndex index.php index.html

LogLevel info

ErrorLog /var/log/apache2/error.log

CustomLog /var/log/apache2/access.log combined

 

<Directory /home/monsite/site/>

ErrorDocument 404 /index.php?currentPage=pageUnfound
Options FollowSymLinks Indexes MultiViews

AllowOverride All

Order allow,deny

allow from all

</Directory>

 

php_value error_log /home/monsite/log/php/error.php.log

php_value warning_log /home/monsite/log/php/warning.php.log

php_value log_errors On

php_value register_globals Off

ServerSignature On

Options FollowSymLinks
</VirtualHost>

 

 

Si vous avez d'autres questions n'hésitez pas à me les envoyer via mon mail dans la rubrique "me contacter" ou  en commentant cette article.

PostHeaderIcon iftop monitorer votre trafic réseau en temps réel

Article publiée le 26 Septembre 2013

 

Tout ceux qui sont habitués à lire mes articles  savent que je suis très friand des petits outils de monitoring. Et aujourd'hui encore je me permet d'en rajouter un à la liste: iftop.

iftop vous permet d'avoir en temps réel votre trafic réseau (bande passante, connexion etc...)

En cas de problème réseau sur l'une de vos machine, cette outil pourra se révéler extrêmement utile.

Pour l'installer:

apt-get install iftop (sous debian/Ubuntu) yum install iftop (sous RedHat)

Pour la distribution Centos le paquet n'est pas présent dans les dépots, je vous invite donc à faire un wget sur un des packages présents sur ce site http://pkgs.repoforge.org/iftop/

Exemple: wget http://pkgs.repoforge.org/iftop/<nom du package>

Capture d'écran de iftop:

Les parties floutées correspondent aux ip des machines.

Si votre machine possède plusieurs interfaces réseau vous pouvez faire un iftop -i <nom de l'interface> afin de voir le trafic uniquement sur cette interface.

Enjoy

 

PostHeaderIcon Tutoriel | Consolidation des logs avec Rsylog, Mysql et Loganalyzer

Article publié le 23 Septembre 2013

Le tutoriel ci-dessous vous propose une solution permettant de centraliser et de consolider vos logs.

Grâce à ce petit tuto vous pourrez stocker tout les logs de vos serveurs dans une seule base MySQL. Cette solution ne pourra que vous faciliter la vie!

 

1) Configuration du serveur de logs

- Dans un premier temps installez Rsyslog:

yum install rsyslog rsyslog-mysql

Rsyslog est le daemon de journalisation par défaut de Debian 7 donc inutile de tenter de l'installer par contre n'oubliez pas d'installer rsyslog-mysql : apt-get install rsyslog-mysql / yum install

Afin que Rsyslog fonctionne sous Red-Hat/Centos n'oubliez pas de stopper syslog-ng et de démarrer rsyslog:

service syslog stop && service rsylog start

Puis de désactiver le lancement automatique de syslog au démarrage de la machine et d'activer celui de rsyslog:

chkconfig syslog off

chkconfig rsylog on

 

- Installez Mysql-server et démarrez le:

yum install mysql-server (sous Red-Hat/CentOS) ou apt-get install mysql-server (sous Debian/Ubuntu)

/etc/init.d/mysql-server start

- Démarrer Mysql

/etc/init.d/mysqld start

- Création de la base:

Sous debian la création de la base donnée se fait automatiquement grâce à l'outil DB-config. Renseignez juste le mot de passe mysql du user user de MySQL

Pour les utilisateurs de Red-Hat/Centos, vous devez exécuter un script de création de base:

cd /usr/share/doc/rsyslog-mysql-<version>

mysql -u root -p[votre mot de passe] < createDB.sql

(Rien ne vous empêche de modifier le script afin de modifier le nom de la base de donnée!)

- Checker que votre base ait bien été créée:

mysql -u root -p

Je vous conseille d'initialiser un mot de passe pour l'utilisateur root de votre base mysql:

mysqladmin -u root password '<votre password>';
- Donnez les privilèges au user mysql rsyslog:

La partie flouté correspond au mot de passe que vous voulez attribuer au user Syslog

- Editez le fichier /etc/rsyslog.conf

Décommentez ces lignes:

$ModLoad ommysql

$ModLoad imudp
$UDPServerRun 514

$ModLoad imtcp
$InputTCPServerRun 514

Ajoutez ces lignes qui correspondent aux paramètres de connexions de la base de donnée ainsi qu'à la restriction de connexion par sous réseau (pour plus de sécurité):
*.*           😮 mmysql:127.00.1,<nom de la base>,<login>,<mot de passe>

le 😮 sans les guillemets
$AllowedSender UDP, 127.0.0.1, 192.168.1.0/24   #liste des sous réseaux autorisés à se connecter
$AllowedSender TCP, 127.0.0.1, 192.168.1.0/24    #liste des sous réseaux autorisés à se connecter

 

Redémarrez rsyslog en vous assurant qu'aucun autre daemon de journalisation est en cours d’exécution:

service rsyslog restart

 2) Parti client

Ajoutez juste la ligne suivante à la fin du fichier /etc/rsyslog.conf

*.*       @<ip du serveur>:514

Si vous voulez que rsyslog gère d'autre log (par exemple apache, mysql etc...)

Ajoutez cette ligne

$InputFileName <chemin du log a géré>

3) Installation de logAnalyzer

- Installez  apache et PHP5

yum install httpd php php-mysql (sous Centos/RedHat)  ou apt-get install apache php php-mysql  (sous debian)

- Telechargez le package d'installation:

http://loganalyzer.adiscon.com/downloads

- Decompressez l'archive

tar -xvf <package>

- Copier les sources vers votre répertoire apache:

mkdir /var/www/loganalyzer/ (pour debian)

mkdir /var/www/loganalyser/ (pour Centos/Debian

cp <repertoire de loganalyser>/src/*<repertoire apache>

cp <repertoire de loganalyser>/contrib/* <repertoire apache>

- Exécutez le script configure.sh (sans oublier de le rendre executable via la commande chmod 700 configure.sh)

./configure.sh

- Connectez vous via votre navigateur à l'interface web de loganalyser (URL: <ip ou dns de la machine>/loganalyser):

Cliquez sur "here"

 

 

Cliquez sur next

Cliquez sur next

 

Cliquez sur "yes" à "enable user database" et remplissez les informations de connexion de votre base de donnée rsyslog. Cliquez sur "yes" à "require user to be logged in".

Cliquez sur next

Cliquez sur next

Créez le user avec lequel vous vous connecterez sur la gui de loganalyser puis cliquez sur next

Sélectionnez "MYSQL Native" via le menu déroulant de "Source Type" puis renseignez les informations de connexions de la base de donnée de rsyslog et cochez yes à "enable row counting"  puis cliquez sur next.

 

Cliquez sur finish.

Maintenant il ne vous reste plus qu'à vous connecter à loganalyser depuis votre navigateur et enjoy!!!!

PostHeaderIcon tutoriel | installer un domaine nis

 Article publiée le 14 Septembre 2013

 

La difficulté du métier d'admin système dépend toujours de la grandeur de son infrastructure. Plus il y a de serveurs à administrer plus il faut-être malin.

Prenons le simple exemple de l'administration des utilisateurs. Si vous avez 1000 serveurs à votre actif je vous vois mal faire des useradd pendant deux jours!

Soit vous faite un script SHELL de déploiement, soit ...

Vous utilisez NIS!

Si vous en avez jamais entendu parlé, NIS est un protocole client/serveur permettant la centralisation des informations sur un réseau UNIX.

En gros vous pouvez centraliser tout les fichiers de configuration de vos serveurs UNIX.

Pratique me direz vous!

Ci-dessous la procédure d'installation de NIS adaptée pour Debian/Ubuntu et RedHat/Centos:

 Faites très attention avec ce protocole, pensez à sécuriser votre infrastructure car une tel mise en place peut également représenter une faille de sécurité...

 

1) Installation partie serveur sous Centos/RedHat

- Installez les paquets:

yum install ypserv rpccind

 

- Initialisez votre domaine NIS

ypdomainname <nom de domaine>

- Editez le fichier /var/yp/Makefile

Remplacez "ALL =   passwd  group hosts rpc services netid protocols netgrp" par "ALL =   passwd shadow  group hosts rpc services netid protocols netgrp"

Exemple : ypdomainname vince.domain

- Ajoutez votre serveur NIS dans son propre domaine

vi /etc/sysconfig/network

 

 Verifiez bien que vos machines disposent bien d'un DNS (via les fichiers hosts ou serveurs DNS)

- On démarre les services:

/etc/init.d/rpcbind start

/etc/init.d/ypserv start

/etc/init.d/yppasswdd start

- On fait en sorte que ces services soient démarrés au démarrage de la machine

chkconfig rpcbind on

chkconfig ypserv on

chkconfig yppasswdd on

 

- On initialise la base nis avec la commande /usr/lib64/yp/ypinit -m

Comme vous pouvez le constater c'est ici que vous entrez le nom des autres serveurs NIS si vous voulez mettre en place des slave (utile uniquement si vous avez une grosse infrastructure)

2) Installation partie serveur sous Debian/Ubuntu

- Installez les paquets:

apt-get install nis

Si cette écran apparaît renseignez le nom de votre domaine NIS

- Éditez le fichier /etc/default/nis

Remplacez "NISSERVER=false" par "NISSERVER=master"

- Éditez le fichier /var/yp/Makefile

Remplacez "ALL =   passwd  group hosts rpc services netid protocols netgrp" par "ALL =   passwd shadow  group hosts rpc services netid protocols netgrp"

- Exécutez la commande /usr/lib/yp/ypinit -m

- Redémarrez NIS:

/etc/init.d/nis restart

 

3) Installation partie client

Sous Centos:

- Editez le fichier /etc/sysconfig/network et rajoutez la ligne:

NISDOMAIN=<votre domaine NIS>

- Editez le fichier /etc/sysconfig/authconfig et modifiez  "USENIS=no" par "USENIS=yes"

- Editez le fichier /etc/yp.conf et ajoutez la ligne

domain <nom de votre domaine NIS> server <Dns de votre serveur nis>

- Editez le fichier /etc/nsswitch.conf  (permet de choisir quelles élément seront centralisé par le NIS), pour cela ajoutez "nis" après "files" :

- Faites en sorte que le service NIS démarre bien au démarrage de la machine:

chkconfig rpcbind on

chkconfig ypbind on

reboot

 

Il ne vous reste plus qu'à checker en créant un user sur le serveur et essayer de vous loguer avec sur la machine cliente!

 Après la création d'un user n'oubliez pas de de faire un refresh de la base NIS. Pour cela:

cd /var/yp && make

Petite astuce: si vous voulez que le répertoire home de votre user se crée tout seul:

Ajouter cette ligne dans le fichier /etc/pam.d/system-auth

session optional pam_mkhomedir.so skel=/etc/skel umask=077

 

Sous Debian/Ubuntu

- Installez le paquet nis:

apt-get install nis

- Editez le fichier /etc/yp.conf

Rajouter la ligne :

domain <nom du domaine> server <nom du serveur NIS>

- Editez le fichier /etc/nsswitch.conf

Rajoutez "nis" après "compat" devant tout les éléments qui devront être centralisés

Exemple:

Il ne reste plus qu'à redémarrer.

Enjoy ! 🙂

PostHeaderIcon Sauvegarder ses données avec Rsync

Article publiée le 13 Septembre 2013

 

En parcourant pas mal de forums, j'ai pu remarquer que pas mal de jeunes admins ne connaissaient pas Rync.

Rsync est un petit outil de sauvegarde extrêmement puissant. Grâce à cette outil j'ai pu sauvegarder des centaines de  giga-octet de données sans problèmes.

Rsync se charge en plus de garder tous les droits et attributs de vos fichiers et gère en natif SSH pour faire une sauvegarde d'une machine vers une autre.

 

Installation:

apt-get install rsync (Pour debian) ou yum install rsync (pour Centos/RedHat)

 

Comment ça marche?

- En local

rsync -azv <fichier ou répertoire source> <répertoire de destination>

le -a conserve tout les attribut  et droits des fichiers

le -z compression au moment de la copie (fait gagner du temps et limite le trafic réseau si vous utilisez rsync via scp)

le -v active le mode verbeux pour voir en temps réel ce qui se passe!

 

- Vers une autre machine

rsync -azv <fichier ou répertoire source> login@<ip ou dns du serveur distant>:<répertoire de destination>

 

 Rsync est très intelligent, si le fichier existe déjà dans le répertoire de destination, alors il ne sera pas sauvegardé de nouveau! Très utile si votre commande est interrompu en cours de sauvegarde.

Si vous administrez une petite structure, je vous conseille de faire vos sauvegardes avec cette outil via un petit script shell. 😉

 

 

 

image_print