Get Adobe Flash player

Mes développements

/* À copier dans userChrome.css */
/* === Barre de menu === */
/* Règle la hauteur de la barre */
#toolbar-menubar {
    height: 33px !important;
}
/* Boutons suivant et précédent */
#back-button[disabled=« true »],
#forward-button[disabled=« true »] {
    display: none;
}
/* Fais disparaitre le menu « Historique » et le menu « Aide » */
#navigator-toolbox menu[label=« Historique »],
#navigator-toolbox menu[label=« Aide »] {
    display: none !important;
}
/* === Barre de menu === */
/* Par exemple, vous ne verrez plus « précédente » dans le menu contextuel
s’il n’y a pas de page précédente dans l’onglet*/
menuitem[disabled=« true »] {
   display: none;
}
/*  Si vous ne voulez AUCUN dropmarker */
.tabbrowser-arrowscrollbox + stack,
.toolbarbutton-menubutton-dropmarker {
    display: none !important;

}

Petit hack sur VMWare Workstation 8.0 pour utiliser le « | » :

Sous linux :

– Fermer toutes les VM et VMWare Workstation
– echo « xkeymap.usekeycodeMap = true » > /etc/vmware/config
– service vmware restart

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1022454

Ci-dessous un script de monitoring FTP permettant de pouvoir superviser n’importe quel serveur FTP .  Celui-ci ce veux autonome en cas d’un échec détecté, permettant de pouvoir exécuter des commandes PHP CLI avec exec() par exemple .

Celui-ci nécessite :

– Création d’un dossier :

mkdir -p /home/automate/ftpmonit/alerte
chmod o+x /home/automate/ftpmonit/alerte

– Création d’un fichier  connect.txt dans /home/automate/ftpmonit du format suivant :

<SERVEUR>|<UTILISATEUR>|<PASSWORD>

– Copie du code suivant dans le fichier : /home/automate/ftpmonit/monit.php

– Création d’un cron pour qui soit répétitif ( http://fr.wikipedia.org/wiki/Crontab )

 

<?php
function restore($user,$server){


$file = "/home/automate/ftpmonit/alerte/$user.$server.txt";
$num = file_get_contents($file);
$numc = trim($num)+1;
file_put_contents($file,$numc);

if ($numc > 2 ){

if ($numc < 4 ){
        echo "Trop de tentative : echec des relances\n";
        $daten = date("d/m/Y H:i:s");
        $message = "Panne du serveur : $user@$server a $daten \n ECHEC DES 3 TENTATIVES :  \n\n Status : en attente d'une OPERATION MANUELLE";

                mail("< VOTRE EMAIL >","[URGENT ALERTE FTP : $user]",$message,"From:< VOTRE EMAIL >");

}else{
        echo "Trop de tentative - Message deja effectif\n";
}

}else{

    < VOS EXÉCUTIONS >

}



}

function alerte($user,$server){

$file = "/home/automate/ftpmonit/alerte/$user.$server.txt";

        if (! file_exists($file)){
                file_put_contents($file,"ALERTE");
                $daten = date("d/m/Y H:i:s");
                $message = "Panne du serveur : $user@$server a $daten \n\n Status : en attente d'un RECOVERY";

                mail("< VOTRE EMAIL >","[ALERTE FTP : $user]",$message,"From:< VOTRE EMAIL >");

                restore($user,$server);
        }else{

                echo "\nFile Lock d<E9>ja present pour $user \n";

                restore($user,$server);

        }


}

function recovery($user,$server){

$file = "/home/automate/ftpmonit/alerte/$user.$server.txt";

        if (file_exists($file)){

                unlink($file);
                $daten = date("d/m/Y H:i:s");
                $message = "Restauration du serveur : $user@$server a $daten";
                mail("< VOTRE EMAIL >","[RECOVERY FTP : $user]",$message,"From:< VOTRE EMAIL >");


        }


}

// Mise en place d'une connexion basique

$lines = file('/home/automate/ftpmonit/connect.txt');
/*On parcourt le tableau $lines et on affiche le contenu de chaque ligne pr<E9>c<E9>d<E9>e de son num<E9>ro*/
foreach ($lines as $lineContent)
{

list($ftpd,$user,$passwd)=explode("|",$lineContent);

$ftp_server = $ftpd;
$ftp_user = $user;
$ftp_pass = $passwd;

echo "CONNEXION : $ftpd - AVEC $user \n";


if (@ftp_connect(trim($ftpd))){

$conn_id = @ftp_connect(trim($ftpd)) or die("Couldn't connect to $ftp_server");

}else{
echo "\nEchec de connexion $ftpd\n";
$no = 1;
alerte($ftpd,$user);


}

if ($no != 1){
// Tentative d'identification
if (@ftp_login($conn_id, trim($ftp_user), trim($passwd))) {

echo "OK";

$file = "/home/automate/ftpmonit/alerte/$ftp_user.$ftp_server.txt";

   if (file_exists($file)){
                echo " Recovery : $ftp_user@$ftp_server\n";
                recovery($user,$ftpd);
        }else{

                 echo " Connect $ftp_user@$ftp_server\n";

        }

} else {
    echo "NOK $ftp_user\n";
    alerte($user,$ftpd);

}

}

// Fermeture de la connexion
@ftp_close($conn_id);


unset($ftpd);
unset($user);
unset($passwd);
unset($no);

sleep("10");

echo "\n\n=========================================\n\n";

}


?>






 

Le script suivant permet de surveiller le contenu d’un site par un mot clé insérer dans la source du site . Le script suivant utilise CURL (apt-get install curl) pour effectuer des requêtes HTTP permettant de récupérer la source du site dans une liste et vérifier que le mot clé existe bien .

Le script est très utile si celui-ci est hacké ou si celui-ci ne répond plus

 

 

Etape 1 : Préparation de l’environnement 

mkdir /home/automates
cd /home/automates && mkdir alert index param

Etape 2 : Mise en place du script bash 

vim monitsite.sh

Copier coller le script suivant :

#!/bin/sh
BASEDIR="/home/automates"
FILE="$BASEDIR/liste.txt"
GETPARAM="$BASEDIR/param"
GETAL="$BASEDIR/alert"
MAILD="VOTRE EMAIL"
while read ligne
do
SITE=$(echo $ligne|awk -F"|" '{print($1)}')
KEY=$(echo $ligne|awk -F"|" '{print($2)}')
PRM=$(echo $ligne|awk -F"|" '{print($3)}')
echo "=== SITE $SITE ==="


if test -z $PRM; then
 DATA=$(curl -s http://$SITE)
else
if test -e $GETPARAM/$SITE.txt; then
 MPARAM=$(less $GETPARAM/$SITE.txt)
 echo "curl --request $PRM 'http://$SITE' --data '$MPARAM'"
 DATA=$(curl --request $PRM 'http://$SITE' --data '$MPARAM' )
 fi
fi

if echo $DATA | grep $KEY > /dev/null; then
 echo "$SITE = OK"
 if test -e "$GETAL/$SITE"; then
 rm -f $GETAL/$SITE
 fi
else
if test -e "$GETAL/$SITE"; then
 echo "Flag exist"
else
 SUBJECT="[ALERT] $SITE NOK"
 EMAIL=$MAILD
 EMAILMESSAGE="/tmp/email$SITE.txt"
 DATEEX=$(date '+%d/%m/%y %H:%M')
 echo "Site $SITE inaccessible le $DATEEX" > $EMAILMESSAGE
 echo "$SITE = NOK"
mail -s "$SUBJECT" "$EMAIL" < $EMAILMESSAGE
 touch $GETAL/$SITE
 rm -f $EMAILMESSAGE
fi
fi
echo ""
echo "----------------"
echo ""
done < $FILE

Etape 3 : 

Créer un fichier texte : liste.txt avec le listing des sites et le mot clé a rechercher

Exemple :

site1.fr|key1
site2.fr|key2

Etape 4 : Créer un cron toutes les minutes de monitsite.sh

Le script suivant permet de pourvoir :

– Installer proxmox de manière automatique

– Définir un master et un node

– Supprimer un node



#!/bin/bash
# KDE 2011 - kilian@desroches.net

# Script d'installation automatique de proxmox





function menu() {

clear

echo "####################################################"
echo "#                                                  #" 
echo "# Script d’installation PROXMOX / v1.xx            #"
echo "# KDE - kilian@desroches.net                       #"
echo "####################################################"


echo "1 – Installation de PROXMOX"
echo "2 – Definir un MASTER"
echo "3 – Definir un NODE et joindre le MASTER"
echo "4 – Supprimer un NODE"
echo "0 – Quitter"
echo ""
echo "Choix : "
read CHOIX


case $CHOIX in

1) install_central && menu;;
2) define_master && menu;;
3) define_node && menu;;
4) del_node && menu;;
0) exit;;

esac
}


function install_central() {

echo "INSTALLATION DE PROXMOX : "

echo "Vérification support VT"

SUPPORTVT=$(egrep '(vmx|svm)' /proc/cpuinfo)

if test -z '$SUPPORTVT'; then

echo "/!\ Le processeur de ne supporte pas KVM"
echo "Voulez vous installer OpenVZ ? [y]"
read OPENVZ
case $OPENVZ in
  [yYoO]*) install_ovz ;;
  [nN]*)  menu;;
esac

else
clear 
echo "Vérification support VT : OK"
install_proxmox

fi


}


function install_ovz(){

echo "INSTALLATION OPENVZ"

echo "Ajout des paramètres sources.list"

mv /etc/apt/sources.list /etc/apt/sources.list.bak

echo  "deb http://ftp.fr.debian.org/debian/ lenny main
deb-src http://ftp.fr.debian.org/debian/ lenny main

deb http://security.debian.org/ lenny/updates main
deb-src http://security.debian.org/ lenny/updates main

deb http://volatile.debian.org/debian-volatile lenny/volatile main
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main" >> /etc/apt/sources.list

echo "Installation OpenVZ"

aptitude install linux-image-openvz-686

echo "Installation de Proxmox"

install_proxmox


}



function install_proxmox() {

echo "Insérer la version du kernel proxmox :"
read kernprox


if test -z $kernprox; then

echo "Version invalide"
sleep 3
install_proxmox

else


echo "Renommage du sources.list"
mv /etc/apt/sources.list /etc/apt/sources.list.bak

echo "Mise en place du nouveau sources.list"

echo -e "\ndeb http://ftp.debian.org/debian lenny main
\ndeb http://download.proxmox.com/debian lenny pve
\ndeb http://security.debian.org/ lenny/updates main" >> /etc/apt/sources.list

echo "Recuperation de la cle proxmox"
wget -O- "http://download.proxmox.com/debian/key.asc" | apt-key add -

echo "Update et upgrade"
apt-get update && apt-get -y upgrade

echo "Installation DRBD - LVM2"
apt-get -y install drbd8-utils lvm2

echo "Mise en place du Kernel Proxmox $1"
aptitude safe-upgrade
aptitude install proxmox-ve-$1

echo "Mise en place d'openiscsi"
apt-get -y install open-iscsi iscsi-scst

echo "Relance du service PVEDAEMON et APACHE2"
/etc/init.d/pvedaemon restart && /etc/init.d/apache2 restart

echo "Update du grub"
update-grub

echo "Listing du boot"
echo "ls -l /boot"

echo "Rebooter la machine pour prise en compte du nouveau Kernel"

exit 0
fi

}



function define_master() {
echo "DEFINI LE MASTER : "
echo "Définition du master "
pveca -c

sleep 3


echo "Vérification de la definition du master "
pveca -l


sleep 3

menu

}





function define_node() {
echo "AJOUT NODE : "
echo "Insérer l'IP du serveur master :"
read IPMASTER

if test -z $IPMASTER; then
    echo "IP invalide"
    define_node

    else
    echo "Ajout de IP : $IPMASTER"
    pveca -a -h $IPMASTER
        echo "Vérification de synchro "
        pveca -l

sleep 3
#Retour au menu
menu


fi




}

function del_node() {
echo "SUPPRESSION NODE : "

echo "Affichage des nodes existantes : "
pveca -l


echo "Insérer le CTID du node à supprimer :"
read CTID

if test -z $CTID; then
    echo "CTID invalide"
    del_node

    else
    echo "Suppression : $CTID"
    pveca -d $CTID
        echo "Vérification des nodes "
        pveca -l

sleep 3
#Retour au menu
menu


fi


}


# Vérication du root
if [ "$(id -u)" != "0" ]; then
   echo "Le script doit etre execute en root"
   exit 1
    else
    menu
fi









Ssmtp permet à des applications d’envoyer des courriels via la commande /usr/sbin/sendmail. Contrairement à Postfix  il ne fait que rediriger les courriers vers un serveur SMTP externe. C’est donc un outil très léger et rapide, et qui ne demande que très peu de paramétrage.

A quoi cela peut servir ?

ssmtp peut permettre facilement :

  • à CRON, ou encore à la commande at, de publier leurs résultats ;
  • d’envoyer des mails via le terminal ;
  • aux CMS et LMS d’un environnement de développement lampp d’envoyer des courriels via sendmail (ex : tester les messages envoyés par Drupal).

Si vous voulez savoir si vous pouvez utiliser sendmail avant cette installation,  entrez : whereis sendmail

Si vous n’avez rien, l’installation et la configuration de ssmtp vous permettra d’utiliser sendmail.

Ordi Eclipse est aujourd’hui le spécialiste de la réparation et du   dépannage informatique ,

pour les professionnels et les particuliers.

Vous êtes une PME, particulier ou travaillant en libéral, Ordi Eclipse vous aide à optimiser le fonctionnement de votre informatique.

Logiciels à mettre à jour, machines à configurer, réseau à installer, performances à optimiser, données à récupérer, choix de matériel ou de logiciel …

Voir le site internet

Matériels :

– 2 machines physique (presta1.prestafute.net & presta2.prestafute.net)

– 1 IP load balancing (failover) permettant la bascule en redondance

– Synchronisation de copie de VM système (copie cluster sur la machine physique)

La mise en place d’une infrastructure en cloud computing permet de pouvoir synchronisé la même VM sur plusieurs serveur et permettre la redondance entre elle si jamais une  ne tiens pas au niveau système .

J’ai choisi proxmox pour son moteur cluster . La synchro s’effectue via un script bash .

A venir passage en IPv6

– Installation ubuntu 9.10 en support sur un serveur IBM thinkcentre .

– Mise en place de VM ware server : https://kikimath.net:8333/ui pour gérer les VM

– Mise en place des extensions Open Nebula cloud computing pour vmware : lien

Sur le serveur Video : interne  192.168.0.19

– Mise en place d’un serveur video UPnP pour la freebox : mediatomb

– NFS pour allez jusqu’au NAS du disque dur de stockage

Sur le serveur Dev : interne 192.168.0.20

– Mise en place d’un environnement LAMP

– Mise en place d’un serveur Proftpd pour la gestion des sauvegardes avec Cobian( sous windows )

En cours :

– Mise en place du serveur VPN (video)

– Mise en place d’un serveur Darwin pour le streaming ( lien )