Contact Me

Evocatio - Solutions Technologiques

514.667.0559

Archive for the ‘Tutoriel’ Category

Installer un serveur DNS(bind) avec un backend MySQL sous Ubuntu 10.04

Thursday, June 10th, 2010

But

Installation d’un serveur DNS(bind9) avec un backend MySQL sous Ubuntu 10.04

Pré-requis

  1. Préparer l’environement en exécutant :
    mkdir -p /usr/local/src/bind9
    cd /usr/local/src/bind9
  2. Installer les pacquets nessécaires :
    apt-get update -y
    apt-get install -y build-essential mysql-server fakeroot bison libmysqlclient15-dev \
     libkrb5-dev libkrb5-dev libssl-dev libtool libdb-dev libldap2-dev libldap2-dev libcap2-dev \
     hardening-wrapper debhelper libxml2-dev libgeoip-dev
    apt-get source -y bind9

BIND

Préparation

  1. Récupurer le nom du répertoire (varie selon la version)
    ls -1
    Voici un exemple de résultat, le nom recherché est marqué en gras
    bind9-9.5.1.dfsg.P2 bind9_9.5.1.dfsg.P2-1.diff.gz bind9_9.5.1.dfsg.P2-1.dsc bind9_9.5.1.dfsg.P2.orig.tar.gz
  2. Entrer dans le répertoire
    cd bind9-9.5.1.dfsg.P2
  3. Éditer le fichier des règles de compilation
    vi debian/rules
    Et changer la ligne –with-dlz-mysql=no par –with-dlz-mysql=yes ou vous pouvez exécuter la commande suivante dans vi :
    :%s/dlz-mysql=no/dlz-mysql=yes/g
    Enregistrer le fichier et quitter
    :wq

Compilation

Pour compiler l’application exécuter la commande suivante :

dpkg-buildpackage -rfakeroot -b
Si dpkg-buildpackage vous spécifie qu’il manque des dépendances (unmet dependencies) Installer les dépendances avec la commande apt-get install et réessailler.

Installation

  1. Reculer d’un répertoire :
    cd ..
    ls -l
    bind9-9.5.1.dfsg.P2 bind9_9.5.1.dfsg.P2-1_amd64.changes bind9_9.5.1.dfsg.P2-1_amd64.deb bind9_9.5.1.dfsg.P2-1.diff.gz bind9_9.5.1.dfsg.P2-1.dsc bind9_9.5.1.dfsg.P2.orig.tar.gz bind9-doc_9.5.1.dfsg.P2-1_all.deb bind9-host_9.5.1.dfsg.P2-1_amd64.deb bind9utils_9.5.1.dfsg.P2-1_amd64.deb dnsutils_9.5.1.dfsg.P2-1_amd64.de libbind9-40_9.5.1.dfsg.P2-1_amd64.deb libbind-dev_9.5.1.dfsg.P2-1_amd64.deb libdns45_9.5.1.dfsg.P2-1_amd64.deb libisc45_9.5.1.dfsg.P2-1_amd64.deb libisccc40_9.5.1.dfsg.P2-1_amd64.deb libisccfg40_9.5.1.dfsg.P2-1_amd64.deb liblwres40_9.5.1.dfsg.P2-1_amd64.deb lwresd_9.5.1.dfsg.P2-1_amd64.deb
  2. Installer les pacquets sur votre système.
    dpkg -i *.deb

Configuration

  1. Forcer bind a être exécuter en un seul thread. Éditier le fichier /etc/default/bind9/etc/default/bind9
    1. run resolvconf? RESOLVCONF=yes
    2. startup options for the server OPTIONS=”-u bind -n 1
      Bind semble avoir un problème lorsque qu’il est exécuter en multithread. L’erreur “mysql driver unable to return result set for findzone query” apparait dans les fichier de log et bind fini par arrêter.

  2. Voici un exemple pour le fichier /etc/bind/named.conf.localcat /etc/bind/named.conf.local

    dlz "Mysql zone" {
       database "mysql
       {host=localhost dbname=Nom_de_la_Base_de_Donnee user=Nom_d_utilisateur pass=Mot_de_passe ssl=false}
       {select zone from dns_records where zone = '$zone$'}
       {select ttl, type, mx_priority, case when lower(type)='txt' then concat('\"', data, '\"')
            when lower(type) = 'soa' then concat_ws(' ', data, resp_person, serial, refresh, retry, expire, minimum)
            else data end from dns_records where zone = '$zone$' and host = '$record$'}";
    };

(more…)

Ubuntu : Changer les boutons de côté dans la barre de titre

Monday, May 3rd, 2010

Plusieurs personnes sont insatisfaite du changement, vers la gauche, des boutons dans Lucid

Voici une procédure simple pour remettre les boutons à Droite

gconftool-2 --set "/apps/metacity/general/button_layout" --type string ":minimize,maximize,close"

C’est aussi simple pour les remettre à Gauche

gconftool-2 --set "/apps/metacity/general/button_layout" --type string "maximize,minimize,close:"

Et voilà !! =)

Installation d’OpenLDAP sous Ubuntu 9.10 ou 10.4

Wednesday, March 31st, 2010

Description

La configuration d’OpenLDAP c’est un peu compliquer. cn=config est toujours utilisé, par contre lors de l’installation du paquet, uniquement un squelette de la configuration est installé.

On ne vous demande plus de mot de passe lors de l’installation du paquet et “dpkg-reconfigure slapd” ne fait que restaurer le squelette de la configuration initial.  Vous devez utiliser le compte root (ou sudo) pour configurer la base de donnée, dn et acl.

Voici une procédure sur comment installer OpenLDAP sous Ubuntu 9.10 ou 10.4.

Le guide officiel sur help.ubuntu.com n’est pas à jour et ne spécifie pas comment installer OpenLDAP sous Karmic ou Lucid.

Dans ce tutoriel nous utiliserons dc=example,dc=com comme arbre LDAP.  Ajuster en conséquence.

(more…)

Comment réinitialisé un mot de passe pour Atlassian Fisheye

Friday, March 26th, 2010

Symptômes

Si vous avez oublié ou perdu le mot de passe admin, vous devez le réinitialiser manuellement.

Résolution

Pour réinitialiser le mot de passe admin, éditer le fichier FISHEYE_INST/config.xml (faire une copie de sauvegarde avant, bien-sur).

Vous allez voir quelques chose comme :

cd7a5b7a060bc8c1ddb069c4bcf5c113

Changer le “admin-hash” pour admin-hash="21232F297A57A5A743894A0E4A801FC3"

1813a7cb35446559d4598d2294462941

Redémarrer Fisheye pour que cela prend effet. Vous pouvez maintenant vous identifier dans la section Administration de Fisheye avec le mot de passe : admin. Prenez note de changer le mot de passe dans l’interface.

Référence

Conversion d’un fichier vidéo vers un fichier flv

Thursday, March 25th, 2010
  1. Démarrer le logiciel WinFF (http://winff.org)
  2. Cliquer sur ajouter pour ajouter des vidéo à convertir.
  3. Sélectionner le profil de sortie tel que spécifier.
  4. Attendre la convertion …
  5. Si vous avez de besoin de paramètre avancé, vous pouvez consulter la documentation pour le programme ffmpeg (logiciel utilisé en arrière plan) http://ffmpeg.org/documentation.html

Asterisk 1.6 : Installation, compilation et configuration du CDR via MySQL

Friday, November 20th, 2009

Introduction

Pour continuer la série d’article sur asterisk, celuis-ci vous expliquera comment compiler et installer les modules complémentaire (addons) d’asterisk. Ainsi comment configurer le CDR (Call Detail Record, registre des appels en français). Bonne lecture. Veuiller prendre note que les versions spécifier dans cet artricle sont les derniers versions stables disponible lors de la création de celui-ci.

(more…)

Compilation et Installation d’Asterisk 1.6.1.9 sous debian lenny

Friday, November 20th, 2009

Introduction

Ceci est le premier post d’une série sur l’installation et la configuration du PBX open source Asterisk. Vive l’open source !! =) Dans ce tutoriel je vais démontre comment installer Asterisk 1.6.1.9 (version stable de la branche 1.6 lors de la création de ce post).

Pré-requis

Avoir installé une Debian de Base

Paquet à installer :

25afbf64b8b8f955e4d373eb4b767c8b

Télécharger asterisk :

# wget http://downloads.asterisk.org/pub/telephony/asterisk/\
releases/asterisk-1.6.1.9.tar.gz

(more…)

Comment générer un fichier XML valide à partir de PHP – version echo

Friday, November 20th, 2009

Introduction

Prenons par exemple que vous générez le tableau suivant, à partir d’un code PHP, et que vous voulez générer un fichier XML à partir des même données.

My CD Collection

Title Artist
Empire Burlesque Bob Dylan
Hide your heart Bonnie Tyler
Greatest Hits Dolly Parton
Still got the blues Gary Moore

Modification du code

Voici un exemple de code source :

<?php
// prendre note que le tableau(array) $catalog doit exister
// il peut être généré par programmation ou bien par une base de donnée
?>
 
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
	<tr bgcolor="#9acd32">
		<th>Title</th>
		<th>Artist</th>
	</tr>
	<?php
		foreach($catalog as $cd) {
		?><tr><td><?=$cd['title'];?></td><td><?=$cd['artist'];?></td></tr><?
		}
	?>
</table>
</body>
</html>

Maintenant modifions le code source pour générer un fichier XML :

<?php
// prendre note que le tableau(array) $catalog doit exister
// il peut être généré par programmation ou bien par une base de donnée
?>
header ("Content-Type:text/xml");			// spécifie à php d'envoyer l'en-tête XML
echo '<?xml version="1.0" encoding="ISO-8859-1"?>';	// voir plus bas
<catalog>
	<?php
		foreach($catalog as $cd) {
		?>
	<cd>
		<title><?=$cd['title'];?></title>
		<artist><?=$cd['artist'];?></artist>
	</cd>
		<? } ?>
</catalog>

Faire attention à ligne echo ‘‘; Ne pas utiliser la syntax :

<?php // code
?><?xml version="1.0" encoding="ISO-9959-1"?><?
// code suite
?>

Parce que cela va générer une erreur PHP.

Résultat

Voici finalement la résultante du script :

<?xmlversion="1.0" encoding="ISO-8859-1"?>
 
<catalog>
	<cd>
		<title>Empire Burlesque</title>
		<artist>Bob Dylan</artist>
 	</cd>
	<cd>
		<title>Hide your heart</title>
		<artist>Bonnie Tyler</artist>
 	</cd>
 	<cd>
		<title>Greatest Hits</title>
		<artist>Dolly Parton</artist>
	</cd>
	<cd>
		<title>Still got the blues</title>
		<artist>Gary Moore</artist>
	</cd>
</catalog>

Référence

Mise en page d’un fichier XML avec XSLT

Friday, November 20th, 2009

Introduction

Comme vous savez XML est un language de structuration de données et non de présentation. Ainsi XSL (eXtensible StyleSheet Language) est un language recommandé par le W3C pour effectuer la représentation des donnée d’un document XML.

XML est un language permettant de définir des feuille de style pour les document XML, au même titre que les CSS (Cascading StyleSheets) pour le language HTML. XSL est compatible avec les CSS.

Toutefois, contrairement aux CSS, XSL permet aussi de retraiter un document XML afin d’en modifier totalement sa structure, ce qui permet à partir d’un document XML d’être capable de générer d’autres types de documents (PostScript, HTML, Tex, RTF, …) ou bien un fichier XML de structure différente.

Ainsi la structuration des données (définie par XML) et leur représentation (définie par un langage tel que XSL) sont séparées. Cela signifie qu’il est possible à partir d’un document XML de créer des documents utilisant différentes représentations (HTML pour créer des pages web, WML pour les mobiles WAP, …).

XSLT

XSLT ou eXtensible Stylesheet Transformation permet de transformer la structure des éléments XML.

Un document XML peut être représenté comme une structure arborescente. Ainsi XSLT permet de transformer les documents XML à l’aide de feuilles de style contenant des règles appelées template rules (ou règles de gabarit en français).

Le processeur XSLT (composant logiciel chargé de la transformation) crée un structure logique arborescente (on parle d’arbre source) à partir du document XML et lui fait subir des transformations selon les template rules contenues dans la feuille XSL pour produire un arbre résultat représentant, par exemple, la structure d’un document HTML. Les composants de l’arbre résultat sont appelés objets de flux.

Chaque template rule définit des traitements à effectuer sur un élément (noeud ou feuille) de l’arbre source. On appelle “patterns” (en français motifs, parfois “éléments cibles“) les éléments de l’arbre source.

template rules et patterns

L’arbre source peut être entièrement remodelé et filtré ainsi qu’ajouter du contenu à l’arbre résultat, si bien que l’arbre résultat peut être radicalement différent de l’arbre source.

Structure d’un document XSL

Un document XSL étant un document XML, il commence obligatoirement par la balise suivante :

70205f3f977e2dcd6319bc2f747eb65d

D’autre part, toute feuille de style XSL est comprise entre les balises <xsl:stylesheet …> et </xsl:stylesheet>. La balise xsl:stylesheet encapsule des balises xsl:template définissant les transformations à faire subir à certains éléments du document XML.

3ba7a2ef3d38f0a6b7036e8c4d54197c
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template ... >
        <!-- traitements à effectuer -->
    </xsl:template>
</xsl:stylesheet>

Association d’une feuille XSL à un document XML

Une feuille de style XSL (enregistré dans un fichier dont l’extension est .xsl) peut être liée à un document XML (de telle manière à ce que le document XML utilise la feuille XSL) en insérant la balise suivante au début du document XML :

2cee1de5d62ac6afaf725a40ddc95eaa

Exemple de transformation

Les template rules sont des balises XSL permettant de définir des opérations à réaliser sur certains éléments du document XML utilisant la page XSL, c’est-à-dire généralement de transformer un tag XML en un tag HTML (généralement plusieurs).

Voici un exemple simple de transformation via XSLT :

Le fichier XML source (data.xml):

36211b4790c6064cfca83228f08b206b 84674794fe0392892ad43adb83118f40

Le fichier XSL (template.xsl):

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
ddd750512ee1e60b9427d2665827f9af

Voici la représentation de la résultante:

My CD Collection

Title Artist
Empire Burlesque Bob Dylan
Hide your heart Bonnie Tyler
Greatest Hits Dolly Parton
Still got the blues Gary Moore

Références

Configurer un serveur DHCP sous Debian

Wednesday, October 14th, 2009

Ce mémo a été écrit et testé pour Debian, mais il est possible de l’adapter facilement à d’autres distributions.

Pré-requis

Avoir installé une Debian de Base

Installation et Configuration du serveur DHCP

Paquet à installer :

5a108e63f312b1f6caa9fb28358713c1

Remarque : Par défaut le serveur DHCP n’écoutera pas sur aucune interface. Pour assigner une interface, modifier le fichier « /etc/default/dhcp3-server »

Configuration du serveur

Éditer le fichier « /etc/default/dhcp3-server » pour spécifier l’interface/les interfaces a utliser pour le serveur

ebdcd53832754700c60a71fb55faeb55

Le fichier de configuration du serveur dhcp est

43c925564d7480da583f8a6aa8b392c2

Je conseille pour commencer de faire une copie de sauvegarde de ce fichier. Ensuite, vous pouvez effacer ou commenter les lignes existantes et ajouter les lignes suivantes :

69608f0a84d4df99a795f075d5bb0aa1

Les options

  • authoritative : Permet d’indiquer que le serveur DHCP sera responsable de la zone concernée
  • option domain-name : Spécifie le nom du domaine local
  • option domain-name-servers : Spécifie les adresses des serveur DNS
  • option routers : Spécifie l’adresse du “default gateway”

Comment avoir des IP fixes avec un serveur DHCP

Pour cela, il faut ajouter dans le fichier « /etc/dhcp3/dhcpd.conf », de nouvelles lignes.

L’exemple suivant permet de fixer une adresse IP en fonction de son adresse MAC :

1e7696863eb0f5ccfd8d5c8c5794d340

Redémarrage et logs

Une fois la configuration terminée, il faut démarrer ou redémarrer le démon pour prendre en compte les modifications :

8d82c9dd981c6af52682a20d4d7d09d6

Si le démarrage retourne une erreur, il faut penser à consulter les logs :

9add33ce3ca5a70ec5c75f3f641e2493

Le fichier suivant donne la liste des adresses IP délivrées par le serveur. Pour chaque adresse IP l’on retrouve : son adresse mac, le nom de l’ordinateur, la date de début et de fin du bail :

8d623bb8d07d706776adf6311b0f5854

Etienne Lachance - Copyright © 2009 - Dragon Technologie - Tout droits réservés