Catégories
Open-source

Compilation de GStreamer sous Windows

Lorenzo Cammilleri, stagiaire ingénieur, vient de finaliser une procédure pour compiler GStreamer (le framework multimédia) sous Microsoft Windows. Avant de lui laisser le clavier, je vous donne l’adresse de son blog ou il trace sont travail:

http://lorenzocam.wordpress.com/

Ce billet est largement inspiré de cette page ici. Ayant rencontré de nombreux problèmes, Andoni Morales Alastruey a modifié sa page puisqu’il manquait certaines étapes qui sont aussi décrites ici.

Voici la marche à suivre pour pouvoir compiler Gstreamer Winbuilds avec Visual Studio.

Gstreamer

– Télécharger et installer Tortoise SVN: ICI

Dans le menu du click droit de la souris apparaît maintenant “SVN Checkout”.

– Dans un dossier vide, faire SVN Checkout de cette adresse : https://forja.rediris.es/svn/csl-longomatch/GStreamer-WinBuild/trunk

Les fichiers et dossiers vont être progressivement téléchargés.

Outils externes

– Installer Python
– Installer Perl

DirectX SDK

– Télécharger et installer le DirectX SDK

– Ouvrir le fichier C:\Program Files\Microsoft SDKs\Windows\v6.1\Samples\Multimedia\DirectShow\BaseClasses\baseclasses.sln avec Visual Studio

– Compiler en mode Debug_MBCS et Release_MBCS

– Ouvrir le fichier build\vsprops\common.vsprops de l’environnement Gstreamer et changer les macros MicrosoftSDK et DirectX pour spécifier les bons chemins

– Ouvrir le fichier build\GStreamer.sln et compiler en mode ReleaseWdkCrt sans se soucier des erreurs

– Compiler ensuite en mode Release : à ce moment il ne devrait plus y avoir d’erreurs !

Voilà tout !

Catégories
Open-source Systeme

Transferts de gros fichiers avec SMB sous GNU/Linux

Je ne sais pas si vous avez déjà essayé de transferer un gros fichier (à partir de 300 Mo) sur un partage Windows (SMB) à partir de Nautilus sous GNU/Linux mais il y a de forte chance que ce dernier n’arrive jamais à destination… Comme on peut le lire sur ce forum, il semble y avoir un problème de « time out » sur les transferts de fichiers.

La solution proposée passe par « un montage à la mimine » des partages Windows. Voici la procédure à suivre pour accèder au partage « share » (protégé par un login/password) sur un serveur nommé « windaube » (\\windaube\share) et ce à partir d’une distribution GNU/Linux Ubuntu.

Installation des pré-requis

Pour accèder au partage Windows, nous allons utiliser le protocole SMB, pour celà, il faut installer le package smbfs:

sudo apt-get install smbfs

Ensuite nous allons créer un répertoire local ou se fera le montage:

mkdir /media/share

Configuration du point de montage

Notre partage est protégé par un mot de passe, nous devons créer un fichier contenant ces informations:

sudo vim /root/.share-credentials

username=login
password=password

Enfin, il reste à modifier le fichier centralisant les « montages » réseau (/etc/fstab):

sudo vim /etc/fstab

//windaube/share /media/share cifs    credentials=/root/.share-credentials,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0

Tester le point de montage

On lance la commande:

sudo mount -a

Et voili, vous devriez voir le contenu de votre partage Windows dans le répertoire /media/share. Des transferts de fichiers de plusieurs Giga ne devraient plus poser problèmes…

Source utilisée pour ce billet: http://ubuntuforums.org/showthread.php?t=288534

Catégories
Open-source Systeme

Emulateur Windows sous Mac OS X

Je pense qu’il vous ai déjà arrivé de devoir utiliser un logiciel qui ne tournait pas sur votre « operating system ». C’est ce qui m’est arrivé ce matin lorsque que j’ai voulu administrer un boîtier Wifi depuis mon Mac. Le constructeur (le fourbe) ne fournissait qu’un pauvre logiciel sous Windows.

Je me suis donc lancé à la recherche d’un émulateur Windows pour Mac OS X. Encore une fois le monde du libre m’a apporté la solution sur un plateau: Wine !

Compilation de Wine

Il faut d’abord se rendre sur la page suivante pour récupérer les derniers sources disponibles (format tar.bz2).

Une fois les sources téléchargées sur votre disque, il faut lancer la compilation (elle nécessite l’installation préalable de Xcode et du pack X11 disponibles sur votre DVD d’installation de Mac OS X).

# ./configure
# make depend && make
# sudo make install

Exécution d’un programme Windows sous Mac OS X avec Wine

Imaginons que l’on veuille lancer le programme toto.exe (binaire Windows). Il suffit de taper la ligne de commande suivante:

# wine toto.exe

 

Et le programme devrait se lancer automatiquement ! C’est pas beau ça !

Catégories
Open-source Reseau

Installation de Zabbix sur Linux

Zabbix un un outil de monitoring système et réseau. Contrairement à des systèmes comme Nagios ou Cacti, il fonctionne seulement en mode client/serveur. C’est à dire que l’architecture se base sur un serveur (zabbix_server) qui va demander des informations à des clients (zabbix_agent). Nous allons dans ce billet détailler l’installation de Zabbix sur une distribution Linux Ubuntu.

Installation de Zabbix serveur

J’ai ici choisi de faire une installation depuis les sources, histoire d’avoir plus rapidement la dernière version, mais si vous préférez, il existe des versions pré-compilée pour Ubuntu 6.10.

Pré-requis au niveau des librairies de developpement:

# sudo apt-get install libsnmp-dev libcurl4-gnutls-dev libmysqlclient15-dev

Récupération des sources sur la page suivante puis compilation:

# tar zxvf zabbix-1.4.2.tar.gz
# cd zabbix-1.4.2
# ./configure –enable-server –with-mysql –with-net-snmp –with-libcurl
# sudo make install

Configuration de la base de donnée MySQL locale (il vous faut donc un serveur MySQL installé accessible avec le login/password: username/password).

# mysql -u -p

mysql> create database zabbix;
mysql> quit;
# cd create/schema
# cat mysql.sql | mysql -u root -p zabbix
# cd ../data
# cat data.sql | mysql -u
root -p zabbix # cat images_mysql.sql | mysql -u root -p zabbix

Création des fichiers de configuration:

# sudo mkdir /etc/zabbix
# sudo cp misc/conf/*.conf /etc/zabbix/
# vi /etc/zabbix/zabbix_server.conf

DBHost=localhost
DBUser=username
DBPassword=password

Création de l’interface Web:

# sudo mkdir /var/www/zabbix
# sudo cp -rf ./frontends/php/* /var/www/zabbix/
# vi /etc/php5/apache2/php.ini
max_execution_time = 300
date.timezone = Europe/Paris
# apache2ctl restart

Lancement du serveur:

# /usr/local/sbin/zabbix_server

En cas de problème, le serveur génère des logs dans le fichier /tmp/zabbix_server.log.

Se connecter à l’interface Web: http://localhost/zabbix/

Puis suivre le wizard de configuration:
Introduction – Next
Licence – I agree / Next
Pre-requisites – Verifier que tout est OK puis Next
Configure DB – Saisir username/password MySQL, test OK puis Next
Pre-installation summary – Next
Install – Cliquer sur le bouton « Save configuration file » et télécharger manuellement le fichier zabbix.conf.php dans le répertoire /var/www/zabbix/conf puis cliquez sur Next

Si l’installation se passe sans problème vous devriez être redirigé vers la page d’authentification du serveur Zabbix (login: admin / password: ).

Installation du client Zabbix

Cette installation est à faire sur toutes les machines à surveiller. L’agent (le client) Zabbix existe pré-compilé sur de nombreux OS (Linux Ubuntu / Fedora, FreeBSD, Windows…).

Par exemple pour installer l’agent Zabbix sur une machine Linux Ubuntu, il suffit de faire:

# sudo apt-get install zabbix_agent

Il faut ensuite configurer les fichiers zabbix_agent.conf et zabbix_agentd.conf:

# sudo vi /etc/zabbix/zabbix_agent.conf

Server=adresse IP du serveur Zabbix

# sudo vi /etc/zabbix/zabbix_agentd.conf

Server=adresse IP du serveur Zabbix

Puis lancer le client:

# sudo /etc/init.d/zabbix-agent start

Pour installer un agent Zabbix sous Windows, il suffit de récupérer le binaire sur le site, de décompresser l’archive (via WinRAR) à la racine de votre disque c: et de créer un fichier c:\zabbix_agent.conf contenant la ligne suivante:

Server=adresse IP du serveur Zabbix

Puis de lancer l’exécutable c:\bin\win32\zabbix_agentd.exe

Configuration initiale de Zabbix

La première chose à faire une fois logué dans l’interface Web du serveur est de cliquer sur le lien Profile (en haut à droite) afin de modifier le mot de passe et la langue (Zabbix est traduit en Français).

Ensuite il faut ajouter des machines à surveiller (les machines ou l’on a installé le client Zabbix). Il faut donc se rendre dans le menu Configuration/Hôtes et cliquer sur le bouton Create Host (comme quoi il reste des choses à traduire…). Saisir les informations sur la machine (nom, adresse, …).

Vous pouvez consulter la documentation , le wiki ou le forum pour aller plus loin.

Catégories
Open-source Reseau

Surveiller vos serveurs Windows avec Nagios

Dans la longue série des billets sur Nagios, en voici un tout spécialement dédié aux lecteurs qui ont à administrer des machines sous Windows. Nous allons décrire l’installation de NSClient, un plugin permettant de récupérer un nombre important de d’informations à surveiller sur une machine Windows.

Comme les plugins NRPE et NSCA (disponible seulement sous Linux et Mac OS X), NSClient se base sur une architecture client/serveur. La partie cliente (nommée check_nt), doit être disponible sur le serveur Nagios. La partie serveur (NSClient++) est à installer sur chacune des machines Windows à surveiller.

Installation de check_nt

Il y a de forte chance que le plugin check_nt soit installé par défaut sur votre serveur Nagios. Pour le vérifier, il faut se rendre dans le répertoire Nagios ou se trouve vos plugins (/usr/lib/nagios/plugins sur Fedora).

# cd /usr/lib/nagios/plugins
# ls check_nt
check_nt

Si ce n’est pas le cas, il suffit de l’installer grâce aux commandes suivantes:

Fedora:
# sudo yum install nagios-plugins-nt

Ubuntu:
# sudo apt-get install nagios-plugins-nt

Installation de NSClient++

Remarque: cette opération est à faire sur l’ensemble des PC Windows à surveiller.

La première chose à faire est de télécharger la dernière version (0.2.5e ou supérieure) à l’adresse suivante: Sourceforge de NSClient++.

Ensuite il faut:

  • « dézipper » le client dans le répertoire c:\nsclient
  • ouvrir une commande DOS (cmd.exe)
  • puis entrer les commandes suivantes:
    • cd \nsclient
    • nsclient++ /install
  • Ouvrir le gestionnaire des services et vérifier que le service est autorisé à « Interagir avec le bureau »
  • Editer le fichier c:\nsclient\NSC.INI en:
    • décommentant tous les modules listé dans la section [modules] sauf CheckWMI.dll et RemoteConfiguration.dll
    • décommentant la ligne allowed_hosts dans la section [Settings] et en y ajoutant l’adresse du serveur Nagios.
  • puis entrer les commandes suivantes dans votre fenêtres DOS:
    • cd \nsclient
    • nsclient++ /start

Pour tester que l’installation à bien marché, le plus simple est de faire un test depuis le serveur Nagios. Pour cela, il faut:

# cd /usr/lib/nagios/plugins

# ./check_nt -H IPMACHINEWINDOWS -v CLIENTVERSION -p  12489

Si tout ce passe bien, le client doit envoyer la version de NSClient (0.2.5e)

Si cela ne fonctionne pas, il faut peut être vérifier que la requête (TCP sur port 12489) n’est pas bloqué par un Firewall.

Configuration de Nagios pour surveiller vos machines Windows

Une fois le client et le serveur installé, il faut configurer Nagios de la manière suivantes. Il faut dans un premier temps éditer votre fichier de configuration des hosts (hosts.cfg par défaut) et y ajouter votre machine Windows:

define host {
use generic-host
host_name billgates
alias Ma machine Win
address 192.168.6.66
}

Puis ajouter les services offerts par NSClient (dans le fichier services.cfg):

# Affiche la version du NSClient
define service {
use generic-service
host_name billgates
service_description VERSION
check_command check_nt!CLIENTVERSION
}

# Temps écoulé depuis le dernier reboot (uptime)
define service {
use generic-service
host_name billgates
service_description UPTIME
check_command check_nt!UPTIME
}

# Charge CPU
# WARNING si charge > 80% pendant plus de 5 minutes
# CRITICAL si charge > 90% pendant plus de 5 minutes
define service {
use generic-service
host_name billgates
service_description CPU
check_command check_nt!CPULOAD!-l 5,80,90
}

# Etat de la mémoire vive libre
# WARNING si mémoire > 80%
# CRITICAL si mémoire > 90%
define service {
use generic-service
host_name billgates
service_description MEM
check_command check_nt!MEMUSE!-w 80 -c 90
}

# Etat de la mémoire disque libre (sur disque c:)
# WARNING si mémoire > 80%
# CRITICAL si mémoire > 90%
define service {
use generic-service
host_name billgates
service_description DISK
check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90
}

Il est également possible de surveiller l’état d’un service (SERVICESTATE) ou d’un processus (PROCSTATE).