[debian etch] Configurer ma carte wifi ipw2200 pour un AP Freebox WPA2

La carte est reconnue et les pilotes déjà installés !


shell# lspci | grep -i wireless
02:03.0 Network controller: Intel Corporation PRO/Wireless 2200BG Network Connection (rev 05)

Téléchargement du firmware (non libre) ici :http://ipw2200.sourceforge.net/firmware.php (la version 3.0)
Et installation des fichiers dans /lib/firmware

Quelques outils indispensables :


shell# aptitude install wireless-tools
shell# aptitude install wpa_supplicant

Tout est chargé?


shell# lsmod | grep ipw2200
ipw2200               126084  0
ieee80211              29416  1 ipw2200
firmware_class          9600  2 pcmcia,ipw2200

Dans /etc/network/interfaces :


# The loopback network interface
auto lo
iface lo inet loopback

iface eth2 inet dhcp
pre-up /sbin/wpa_supplicant -i eth2 -c "/etc/wpa_supplicant.conf" -Dwext -B -w
post-down /sbin/wpa_cli -i eth2 terminate
auto eth2

Dans /etc/wpa_supplicant.conf :


# WPA-PSK/TKIP
ap_scan=1
dot11RSNAConfigSATimeout=10
update_config=1
ctrl_interface=/var/run/wpa_supplicant
network={
    ssid="canard"
    mode=managed
    priority=1
    scan_ssid=1
    key_mgmt=WPA-PSK
    proto=WPA2
    pairwise=TKIP
    group=TKIP
    key_mgmt=WPA-PSK
    psk="ma clef WPA2"
}

Publié dans Système | Commentaires fermés

[debian] installation de virtualbox

Rajouter à /etc/apt/sources.list :


deb http://www.virtualbox.org/debian etch non-free

Importer et ajouter la clé :


# wget -q http://www.virtualbox.org/debian/innotek.asc -O- | apt-key add -

Mettre à jour et installer :


# aptitude update
# aptitude install virtualbox

Pour finir :


# adduser arnaud vboxusers
# chmod 666 /dev/vboxdrv

Publié dans Système | Commentaires fermés

[debian] Installer Apache 2, PHP5 et Mysql5

Installation d’Apache version 2, PHP5 et Mysql5 :


# aptitude install apache2 php5 libapache2-mod-php5 mysql-server php5-mysql

Pour sécuriser (un minimum) le serveur mysql, on s’y connecte (en chosissant la base de données préexsitante s’appelant « mysql ») :

# mysql mysql

On supprime les utilisateurs qui ne servent pas…Je garde seulement root@localhost et debian-sys-maint@localhost…

mysql> DELETE FROM user WHERE user='root' AND host<>'localhost';

Ensuite on met un mot de passe pour root!!!
1) Soit :

mysql> UPDATE user SET password=PASSWORD("mon_mot_de_passe") WHERE user='root';

2) ou bien :

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('mon_mot_de_passe');
mysql> FLUSH PRIVILEGES;

Afin de gérer les bases de données mysql, on peut installer phpmyadmin afin de le faire via une interface web…

Installation de phpmyadmin :

Pré-requis :

# aptitude install mcrypt php5-mcrypt

On continue :
1) soit avec aptitude :

# aptitude install phpmyadmin

Et voilà !!! Pour vérifier que « phpmyadmin » fonctionne, il suffit de saisir l’url suivante dans un navigateur :

http://localhost/phpmyadmin

2) soit en téléchargeant l’archive .zip sur le site officiel de phpmyadmin. Ensuite, on peut l’extraire, au plus simple, à la racine du serveur web /var/www/, et, l’on renomme le répertoire extrait avec un nom plus court.. par exemple « phpmyadmin » (au lieu de PhpMyAdmin-versionX.Y.Z). Puis on édite le fichier /var/www/phpmyadmin/config.sample.inc.php et on donne une valeur à l’attribut « blowfish_secret ».

Par exemple :

$cfg['blowfish_secret'] = 'tourterellemagique'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

Enfin on renomme ce fichier en config.inc.php.. et voilà.. on peut tester phpmyadmin dans un navigateur..

Publié dans Système, web | 2 commentaires

[debian] Changer la date

Voici la syntaxe :
date mmjjhhmmaaaa

Ainsi pour le 3 juillet 2007 à 17h14, saisir :


[root@localhost root]# date 070317142007

Publié dans Système | Commentaires fermés

[debian] Upgrade sarge vers etch

Remplacer « sarge » par « etch » dans « /etc/apt/sources.list »,

Puis, récupèrer les listes de packages Etch :


[ root@localhost root] # apt-get update

Il reste à mettre à jour la distribution :


[ root@localhost root] # apt-get dist-upgrade

Publié dans Système | Commentaires fermés

[debian] Configurer le proxy pour apt-get

Rajouter, la ligne suivante dans le fichier /etc/apt/apt.conf (s’il n’existe pas le créer) :

Acquire::http::Proxy « http://192.168.0.1:3128″;

192.168.0.1 est votre serveur proxy
3128 le port d’écoute http du proxy.

EDIT:
On peut également généraliser la config du proxy pour toutes les applis avec des « exports »:

export http_proxy=http://ip:port
export ftp_proxy=ftp://ip:port

Publié dans Système | Commentaires fermés

Synchronisation avec Rsync

Objectif: Synchroniser le répertoire /home de la machine B.lenorcy.fr avec celui de A.lenorcy.fr (le /home de B.lenorcy.fr va évoluer et devenir la copie conforme du /home de la machine A.lenorcy.fr).

Sur A.lenorcy.fr :


[root@A ~]# more /etc/rsyncd.conf
# fichier de configuration pour rsync
        motd file = /etc/motd
        max connexions = 1
        syslog facility = local3
        uid = root
        gid = root
        hosts allow = B.lenorcy.fr
#
        [home]
           comment  = arborescence des home a synchroniser
           path = /home
           read only = yes
           list = yes

La section [home] est en read only pour plus de sécurité…

Lancement du démon :


[root@A ~]# /etc/init.d/rsync start

Sur B.lenorcy.fr, on peut indiquer à rsync d’exlure quelques fichiers en créant par exemple le fichier /tmp/exlude suivant :


[root@B ~]# more /tmp/exclude
toto.txt
titi.pdf

Sur B.lenorcy.fr, on lance rsync :


[root@B ~]# /usr/bin/rsync -ravz A.lenorcy.fr::home /home  --delete --exclude-from=/tmp/exclude

Publié dans Système | Commentaires fermés

Plugin Nagios pour vérifier la charge CPU

Ce plugin est écrit en Perl et utilise la commande sar. Cette commande donne le pourcentage moyen d’idle des 10 dernières minutes.

Problèmes :
- Il est inutile de faire des vérifications (check) avec un intervalle inférieur à 10 minutes…
- Entre minuit et 0h10 la commande sar n’affiche pas de moyenne -> on utilise la comme top qui donne une valeur quasi-instantamnée (moyenne sur un court intervalle)

check_cpu.pl :


#!/usr/bin/perl
# check_cpu.pl [warn] [critical]
sub print_help ();
sub print_usage ();
$PROG = "check_cpu";
if  ( @ARGV[0] eq "" || @ARGV[1] eq "" )
{
    print_usage ();
    exit 0;
}
$idle = `sar | /usr/bin/tail -n 2 | /usr/bin/head -n 1 | /bin/sed \'s/\ \ */ /g\' | cut -d\' \' -f7 | /bin/sed \'s/,/./g\'`;
if ($idle eq "\n")
{
# entre 0h00 et 0h10 la commande 'sar' n'est pas a jour...
$idle = `top -b -n 1 | grep \"Cpu(s)\" | cut -d\' \' -f11 | sed s/\%//g`;
}
$warning = @ARGV[0];
$critical = @ARGV[1];
$STATE_CRITICAL = 2;
$STATE_OK = 0;
$STATE_WARNING = 1;
$cpu = 100-$idle;

if ( $cpu >= $critical ){
        printf "Charge CPU CRITICAL - use : %g%",$cpu;
        printf " idle : %g%\n",$idle;
        exit $STATE_CRITICAL
        ;;
}

if ( $cpu >= $warning ){
        printf "Charge CPU WARNING - use : %g%",$cpu;
        printf " idle : %g%\n",$idle;
        exit $STATE_WARNING
        ;;
}else{
        printf "Charge CPU OK - use : %g%",$cpu;
        printf " idle : %g%\n",$idle;
        exit $STATE_OK
        ;;
}

sub print_help ()

{
        print($PROG,': 1.0');
}

sub print_usage ()

{
print_help();
printf "\n\nUsage : check_cpu.pl [warn] [critical]\n";
}

Publié dans Supervision | Commentaires fermés

Ncftp pour échanger des fichiers entre 2 serveurs

Pour transférer des fichiers d’un serveur A vers un serveur B, je n’ai, parfois, pas d’autre alternative que d’utiliser ftp.
Voici un exemple de scripts shell (un sur A et l’autre sur B) permettant simplement le transfert automatisé de fichiers.

/usr/local/scripts/envoi-fichiers.sh sur le serveur A :


#!/bin/sh
#  toutes les nuits on va envoyer des fichiers via ncftp sur ftp anonymous
cd /home/moi/mesfichiers
tar cvf monarchive.tar *
/usr/bin/ncftp monftp.mondomaine.fr << EOF
cd echange
bin
put -f monarchive.tar
quit
EOF

Dans le cron du serveur A :

######## On envoie les fichiers a 6h0 ################
0 6 * * * /usr/local/scripts/envoi-fichiers.sh > /dev/null 2>&1

/usr/local/scripts/recup-fichiers.sh sur le serveur B :


#!/bin/sh
#  toutes les nuits on recupere via ncftp sur ftp anonymous
cd  /home/moi/mesfichiers
/usr/bin/ncftp monftp.mondomaine.fr << EOF
cd echange
bin
get  monarchive.tar
quit
EOF
tar xvf  monarchive.tar

Dans le cron du serveur B :


######## On recupere les fichiers a 6h15 ################
15 6 * * * /usr/local/scripts/recup-fichiers.sh > /dev/null 2>&1

Publié dans Shell, Système | Commentaires fermés

Comment détecter la distribution Linux sur laquelle on est…

Voici le script suivant (adapté d’après ce site) :


#!/bin/sh
# Detects which OS and if it is Linux then it will detect which Linux Distribution.

OS=`uname -s`
REV=`uname -r`
MACH=`uname -m`

GetVersionFromFile()
{
        VERSION=`cat $1 | tr "\n" ' ' | sed s/.*VERSION.*=\ // `
}

if [ "${OS}" = "SunOS" ] ; then
        OS=Solaris
        ARCH=`uname -p`
        OSSTR="${OS} ${REV}(${ARCH} `uname -v`)"
elif [ "${OS}" = "AIX" ] ; then
        OSSTR="${OS} `oslevel` (`oslevel -r`)"
elif [ "${OS}" = "Linux" ] ; then
        KERNEL=`uname -r`
        if [ -f /etc/fedora-release ] ; then
                DIST='Fedora'
                PSUEDONAME=`cat /etc/fedora-release | sed s/.*\(// | sed s/\)//`
                REV=`cat /etc/fedora-release | sed s/.*release\ // | sed s/\ .*//`
        elif [ -f /etc/redhat-release ] ; then
                DIST='RedHat'
                PSUEDONAME=`cat /etc/redhat-release | sed s/.*\(// | sed s/\)//`
                REV=`cat /etc/redhat-release | sed s/.*release\ // | sed s/\ .*//`
        elif [ -f /etc/SuSE-release ] ; then
                DIST=`cat /etc/SuSE-release | tr "\n" ' '| sed s/VERSION.*//`
                REV=`cat /etc/SuSE-release | tr "\n" ' ' | sed s/.*=\ //`
        elif [ -f /etc/mandrake-release ] ; then
                DIST='Mandrake'
                PSUEDONAME=`cat /etc/mandrake-release | sed s/.*\(// | sed s/\)//`
                REV=`cat /etc/mandrake-release | sed s/.*release\ // | sed s/\ .*//`
        elif [ -f /etc/debian_version ] ; then
                DIST="Debian `cat /etc/debian_version`"
                REV=""

        fi
        if [ -f /etc/UnitedLinux-release ] ; then
                DIST="${DIST}[`cat /etc/UnitedLinux-release | tr "\n" ' ' | sed s/VERSION.*//`]"
        fi

        OSSTR="${OS} ${DIST} ${REV} (${PSUEDONAME} ${KERNEL} ${MACH})"

fi

Exemple d’utilisation :


[root@menthe lenorcy]# sh detect_distro.sh
Linux Fedora 3 (Heidelberg 2.6.12-1.1381_FC3smp i686)

Publié dans Shell, Système | Commentaires fermés