vendredi 27 mars 2009

[Debian] Upgrade de etch à lenny

Lenny est sortie ! Et comme beaucoup j'ai voulu upgrader ma Debian etch vers cette nouvelle mouture qui m'a l'aire très intéressante ! Voici comment j'ai procédé :

Premièrement éditer votre fichier sources.list
nano /etc/apt/sources.list


Ce fichier configure la liste des dépôts que doit gérer apt-get/aptitude. Ainsi pour upgrader vers lenny il ne vous faut que changer tout les terme etch par lenny (il en est de même pour sid mais je n'ai pas testé).

Une foi le fichier sauvegardé on fait un petit
aptitude update

qui remet à jours la liste interne des paquets disponibles sur les serveurs.
Nous mettons ensuite à jours les logiciels d'installation comme ceci
aptitude install apt dpkg aptitude

Pour enfin mettre tout le système à jours avec cette commande
aptitude full-upgrade

jeudi 26 mars 2009

[IRC] Créer un channel sur freenode

Pour enregistrer un channel sur freenode il faut tout d'abord avoir un nom d'utilisateur enregistré.

Pour enregistrer son nom d'utilisateur on procède comme ceci

--> Enregistrer le login

/msg nickserv register mon_mot_de_passe mon_email@qqch.com


--> Vous pouvez cacher votre adresse mail avec cette commande

/msg nickserv set hidemail on


--> Pour s'identifier

/msg nickserv indentify mon_mot_de_passe


Le nom de votre channel doit respecter une convention :

- Si votre channel est officiel il doit commencer par #

- Si votre channel n'est pas officiel il doit commencer pas ##

Tout d'abord connectons nous à notre channel

/JOIN #mon_channel


Si vous êtes le seul sur ce channel vous serrez op sinon il vous faudra demander les droit op à un autre op !

Nous allons enfin pouvoir enregistrer notre channel. Pour ceci nous utilisons cette commande :

/msg ChanServ register #mon_channel


A ce moment là votre channel vous est lié et il est donc créé !!

mercredi 21 janvier 2009

[Linux] Tenir son serveur à l'heure !

Suite au commentaire de Ghislain sur mon post sur le même thème j'ai décidé de rectifier le tir avec celui ci.

Comme proposé par Ghislain il faut donc installer le paquet ntp

aptitude install ntp

Celui ci lance un démon (ntpd) qui tien le serveur à l'heure mais à la différence de mettre un ntpdate dans une crontab celui ci ne "saute" pas directement à la nouvelle heure dans un retard est détecté. Il accélère l'horloge de la machine !

Pourquoi ? C'est très simple. Admettons que nous utilisons un programme qui se base sur le timestamp Unix pour rafraichir ses informations et que dans la procédure de rafraichissement il se base sur les informations du dernier rafraichissement (vous me suivez oO ?).

Si on utilise ntpdate il sautera directement à l'heure actuelle. On n’effectuera donc pas certain rafraîchissement. Alors qu'avec le démon ntpd tous les rafraîchissements seront effectués.


Pour finir voici mon fichier /etc/ntp.conf qui n'a rien de compliqué.


# Ou est stocker les informations de décalage
driftfile /var/lib/ntp/ntp.drift

statsdir /var/log/ntpstats/
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable

# Serveur ntp
# Par defaut
server ntp.univ-lyon1.fr default
# Autre
server 0.debian.pool.ntp.org
server 1.debian.pool.ntp.org
server 2.debian.pool.ntp.org
server 3.debian.pool.ntp.org

# Autorise les utilisateurs de réseau à ce servir de cette machine comme serveur de temps
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap


lundi 12 janvier 2009

[Apache2] Décoposition du resultat d'une regex

Enfaite ce post ne vas pas vraiment parler de comment décomposer le résultat d'un regex dans apache2 pour la simple et bonne raison que je n'ai pas trouvé comment faire et encore moins si c'était possible. Je vais donc plutôt vous parler de la méthode que j'ai employée pour contourner mon problème.

J'ai des utilisateurs que nous nommerons romain, tintin et milou.
Ils ont chacun un dossier personnel du type : /home/"première lettre"/"première et deuxième lettre"/"nom".

Exemple :
pour tintin : /home/t/ti/tintin
Pour milou : /home/m/mi/milou


Dans leur dossier personnel ils ont un dossier public_html où ils peuvent mettre leur site web.

Mon but est de ne pas à avoir à créer un alias pour chacun d'eux. (Vous aurez reconnu mes aptitudes [d'Informaticien|de faignant] !)

La première solution que j'ai trouvée est de faire un lien symbolique depuis le DocumentRoot d’apache vers le dossier de l'utilisateur. Mais ceci n'est pas ce que je cherchais car il me faut toujours configurer ce lien à la main !

J'ai donc décidé d'utiliser la directive AliasMatch d’apache2 comme ceci.
AliasMatch "^/(.)(.)(.*)/(.*)" "/home/$1/$1$2/$1$2$3/public_html/$4"
AliasMatch "^/(.))(.*)" "/home/$1/$2/$1$2$3/public_html"
La deuxième ligne permet de rediriger l'utilisateur même s'il ne met pas le / après le nom.
De cette façon je n'ai pas à traiter la chaine récupérée pour en extraire la première, puis la deuxième lettre mais simplement à concaténer les chaines récupérées.

Il vous faudra peux être aussi revoir les droits de visibilité. Je vous laisse ce que j'ai fait mais ne m'y attarderai pas dessus.
<DirectoryMatch "^/home/(.)/(.){2}/(.*)/public_html/">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
allow from all
</DirectoryMatch>



Toujours est-il que si quelqu'un sait s’il est possible, ou mieux, comment faire pour décomposer une chaine récupéré depuis AliasMatch je suis preneur !

Sur ce ...

jeudi 18 décembre 2008

[PHP] Hacher un mot de pass pour stockage LDAP.

Si vous souhaitez comme moi modifier un mot de passe utilisateur LDAP via un script PHP il vous faudra calculer le hach de son mot de passe. Un simple md5() ne suffisant voici la syntaxe à employer :

$newPassword = '{md5}' . base64_encode(pack('H*', md5($password)));

mercredi 3 décembre 2008

[MySQL] Exporter et Importer une base de données MySQL

Il existe un outil intégré dans MySQL (sous Linux et sous Windows) nommé mysqldump. Il nous permet de faire une sauvegarde totale de notre base de données. Pour ce faire :
mysqldump -u admin -p --all-databases > dump.sql
admin étant le nom de votre compte administrateur ayant accès à toute votre base.

L'importation est toute aussi simple. Il suffit d'utiliser l'outil mysql en lui redirigeant le flux d'entré comme suit :
mysql -u admin -p < dump.sql

dump.sql étant le fichier précédemment généré avec mysqldump.

lundi 1 décembre 2008

[Visual Studio] Utiliser SVN avec Visual Studio




Il existe un petit add-in pour Visual Studio permettant de se connecter à un dépot SVN. Son nom ? AnkhSvn !
Vous pouvez le télécharger ici : http://ankhsvn.open.collab.net/
Une fois installé vous aurez de nouvelles options quand vous ferrez un clique droit dans l'explorateur de solution vous permettant d'utiliser les fonctionnalités de SVN que je ne détaillerai pas ici.

Il vous est aussi possible de faire un ajout à un dépôt directement à la création du projet en sélectionnant l'option "Add To Subversion" ou encore d'ouvrir un projet directement sur SVN (File->Open->Subversion Project).