Comment mon blog s’est retrouvé en sous domaine de mon serveur ? Les étapes pour créer un hôte virtuel sur le serveur Apache.
How my blog ended up as a subdomain on my server? This post describes the step to create a virtual host on Apache.


La procédure s’effectue en 5 étapes, décrites ci-dessous :

  1. Faire pointer le sous-domaine vers l’adresse IP du serveur : mon serveur est un serveur OVH et j’utilise le serveur de nom de domaine d’OVH. Pour que le sous domaine tuxette.servername.org soit renvoyé sur mon serveur, je me connecte au manager OVH et dans « Domaine & DNS » / « Zone DNS », je crée un un champ A pointant vers l’adresse IP personnalisée de mon serveur ;
  2. Référencer le sous domaine tuxette.nathalievialaneix.eu dans les hôtes du serveur. Pour cela, on edite le fichier /etc/hostset on complète la ligne
    XX.XX.XX.XX     name.servername.org name tuxette.servername.org

    XX.XX.XX.XX est l’IP du serveur, servername.org le nom de domaine utilisé et name le nom du serveur.</li>

  3. Créer le répertoire des fichiers web qui seront interprétés par le serveur. Je conseille de les placer dans le répertoire personnel, par exemple /home/moi/web-files/tuxetteet de correctement régler les utilisateurs et les droits :
    chown -R moi:www-data /home/moi/web-files/tuxette
    chmod -R o-rxw moi:www-data /home/moi/web-files/tuxette
    chmod -R g-w moi:www-data /home/moi/web-files/tuxette

    moi est l’utilisateur possesseur du sous-domaine, seul admis à accéder en écriture aux fichiers (il est possible que certains dossiers doivent être accessibles en écriture au serveur apache : rétablir le droit « w » pour ces cas-ci).</li>

  4. Créer le fichier de configuration de l’hôte virtuel sur le serveur Apache. Dans le répertoire /etc/apache2/site-available, copier le fichier default vers un fichier tuxette. “Éditer les premières lignes pour avoir
            ServerAdmin postmaster@servername.org
            ServerName tuxette.servername.org
    
            DocumentRoot /home/moi/web-files/tuxette/
    
                    Options FollowSymLinks
                    AllowOverride All
    
                    Options Indexes FollowSymLinks MultiViews
                    AllowOverride All
                    Order allow,deny
                    allow from all
  5. Activer l’hôte virtuel et redémarrer le serveur Apache:
    sudo a2ensite tuxette
    sudo /etc/init.d/apache2 reload
  6. </ol>

    Si tout s’est bien passé, le nouveau site, dont le fichiers sont contenus dans /home/moi/web-files/tuxette/ devrait être accessible à http://tuxette.servername.org (et si vous lisez ce post, c’est que ça fonctionne pour moi 😉 ). Pour un accès en https, la même manipulation doit être effectuée avec le fichier default-ssl commençant par : < VirtualHost *:443> comme décrit à la fin de ce post.

     
    Coming soon…

    </div>


À la demande de mes petits (étudiants), un tutoriel résumant le principe général de l’encryptage asymétrique avec GnuPG (fichiers et emails). Le tuto est principalement écrit pour OS Linux mais les utilisateurs de Windows, ou plus encore, de Mac OS X devraient pouvoir y trouver des informations utiles.

Gnu Privacy Guard (GnuPG) est un utilitaire libre permettant l’encryptage et le décryptage de données. Il est basé sur un principe asymétrique qui repose sur une paire de clés :

  • une clé publique permet l’encryptage des données ;
  • une clé privée, associée à la clé publique, permet le décryptage.

Ce principe permet d’utiliser la méthode pour l’échange d’emails cryptés : le destinataire publie sa clé publique qui est utilisée par ses correspondants pour encrypter les emails. Le destinataire seul, à l’aide de sa clé privée, peut alors les décrypter.

Le tutoriel ci-dessous décrit comment générer une paire de clés, la manipuler et se servir des clés pour encrypter et décrypter des données. Il est conçu pour les utilisateurs de Linux mais les utilisateurs des OS Unix-like (type Mac OS X) devraient pouvoir en utiliser la majorité et les principes généraux sont applicables à Windows (pour plus de détails sur la manière d’utiliser GnuPG sous Windows, nous renvoyons à Gpg4Win). Dans le tutoriel, les parties pouvant être utilisées sous Mac OS X et Windows sont respectivement indiquées par [MAC] et [Win].

Générer une paire de clés

GnuPG doit être installé sur le système. Sous Ubuntu, il est installé de base (présent dans le paquet gnupg). [MAC] Une paire de clés (publique et privée) peut alors être générée par la commande suivante :

gpg --gen-key

Vous pouvez choisir une clé DSA and ElGamal, de 1024 bits au moins (2048 pour plus de sécurité). Choisissez alors dans combien de temps votre clef expirera (si vous entrez “0”, la clé n’expirera jamais, ce qui est plus simple mais en diminue la sécurité).
Ensuite, l’identifiant de la clé sera créé ; pour cela, donnez vos prénom et nom puis votre adresse de courriel. Enfin, un mot de passe vous sera demandé : choisissez un mot de passe relativement long et sécurisé (au moins 8 caractères, des majuscules, des minuscules, des caractères spéciaux et CONSERVEZ LE PRÉCIEUSEMENT) : c’est lui seul qui vous permettra de récupérer vos données cryptées. En cas de perte de la clé privée ou du mot de passe, le décryptage devient absolument impossible.

Une fois cette opération effectuée, on peut vérifier que la clé a bien été générée en listant les clés disponibles par :

gpg --list-keys

qui doit répondre quelque chose ressemblant à :

pub   1024D/3726611E 2008-09-05
uid                  Nathalie Villa-Vialaneix
sub   2048g/29F53AD2 2008-09-05

Pour exporter sa clé publique afin de la publier pour que d’autres personnes puissent l’utiliser pour crypter les emails qu’ils vous envoient (par exemple), utiliser la commande :

gpg –armor –export 372661E > ma-cle-publique.pub
où “372661E” correspond à l’identifiant de la clé, qui apparaît dans la liste à la première ligne.
[/MAC]

Manipuler ses clés


[MAC] Dans cette partie, nous allons voir comment importer une clé publique, ajouter des identités à une paire de clés et signer une clé publique pour certifier l’identité de son possesseur.

Lorsqu’une des personnes avec qui vous voulez communiquer un document crypté vous envoie sa clé publique ou que vous la récupérez sur un site web (comme ici pour ma clé personnelle), vous l’importer en sauvant la clé dans un fichier texte, par exemple une-cle-publique.pub et en l’important dans votre trousseau de clés par :

gpg --import une-cle-publique.pub

La commande pour lister les clés

gpg --list-keys

doit alors répondre

pub   1024D/3726611E 2008-09-05
uid                  Nathalie Villa-Vialaneix
sub   2048g/29F53AD2 2008-09-05

pub   1024D/69F1E288 2004-06-23
uid                  Fabrice Rossi
uid                  Fabrice Rossi
sub   2048g/A5F8CA43 2004-06-23

Dans l’exemple ci-dessous, j’ai importé la clé publique de Fabrice Rossi, qui a deux identités (deux adresses emails). Pour vérifier l’authenticité de sa clé, j’en extrait le “fingerprint” :

gpg --fingerpint 69F1E288

que je compare au fingerprint publié par le propriétaire (ici dans l’exemple).

Une fois l’authenticité de la clé et de son propriétaire établis avec certitude, vous pouvez signer la clé publique de votre interlocuteur pour la certifier avec votre propre identité (et la lui renvoyer pour qu’il la réimporte, mise à jour, dans son propre trousseau) :

gpg --sign-key 69F1E288

puis pour exporter la clé signée dans un fichier texte et la renvoyer à Fabrice Rossi :
gpg –armor –export 69F1E288 > cle-fab-sign.pub
Enfin, on peut ajouter à sa propre paire de clés des identités si on possède plusieurs adresses emails. Pour cela, il faut éditer la clé :

gpg --edit-key 3726611E

renvoie :

gpg (GnuPG) 1.4.11; Copyright (C) 2010 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

La clé secrète est disponible.

pub  1024D/3726611E  créé: 2008-09-05  expire: jamais       utilisation: SC
                     confiance: ultime        validité: ultime
sub  2048g/29F53AD2  créé: 2008-09-05  expire: jamais       utilisation: E
[  ultime ] (1). Nathalie Villa-Vialaneix

On ajoute une identité en tapant adduid, on en enlève une en tapant deluid, on vérifie les signatures en tapant check (dans mon cas, cela renvoie, par exemple :

uid  Nathalie Villa-Vialaneix
sig!3        3726611E 2011-10-02  [auto-signature]
sig!         C44ECCEC 2012-02-07  Nicolas Edwards

). Enfin, on peut passer à l’édition de la clé privée par toggle (et revenir à la clé publique par la même commande).

[/MAC]

Crypter/décrypter un fichier

[MAC] La clé publique peut être utilisée pour crypter un fichier que vous décrypterez ensuite avec la clé privée. Pour crypter un fichier exemple.txt, taper

gpg --encrypt exemple.txt

L’identité du destinataire (qui doit avoir la clé privée correspondante) est alors rentrée, par exemple sous la forme d’une adresse email qui correspond à une des identités de la clé. Le fichier exemple.txt.gpg est généré qui est le fichier exemple.txt crypté avec la clé publique demandée. On peut alors (si on le souhaite) supprimer le fichier exemple.txt.

Pour décrypter un fichier qui a été encrypté avec notre propre clé publique, le fichier exemple2.gpg, par exemple, on tape :
gpg –decrypt exemple2.gpg > exemple2.txt
Le contenu décrypté de exemple2.gpg est inscrit dans exemple2.txt.

[/MAC]

Crypter/décrypter des emails

J’explique ici comment crypter/décrypter des emails avec notre paire de clés et les clés publiques de nos correspondants. Le principe est expliqué pour Thunderbird et donc applicable à [MAC] et [Win] ; d’autres approches sont possibles pour d’autres clients de messagerie (voir ici). Thunderbird dispose d’un pluggin, enigmail, permettant de gérer très simplement GnuPG. Sous Ubuntu, ce pluggin est disponible dans le package enigmail. Enigmail fonctionne très simplement en cryptant avec la clé dont l’identité est l’adresse email à laquelle le message est envoyé. En cas de doute, enigmail demande quelle clé utiliser. De manière similaire, lorsqu’un message arrive, enigmail demande le mot de passe d’accès à la clé privée pour le décrypter. Attention toutefois au bug décrit dans ce post, qui interfère avec l’agent GnuPG.
Mes étudiants sont autorisés à utiliser mon adresse email pour vérifier qu’ils arrivent à envoyer des emails cryptés correctement. Cela ne rapporte toutefois aucun point supplémentaire aux examens !


Coming soon…
Git est un logiciel de gestion de versions décentralisées disponible pour les trois OS Unix/Linux, Windows et Mac OS X. Pour ce dernier, la version disponible nécessite de posséder la version 10.05 de l’OS (Léopard). Voici comment procéder si vous êtes encore sous Tiger…

  1. La première étape consiste à récupérer les outils de compilation pour Mac OS X Tiger : il s’agit de X Code 2.5 (disponible ici une fois que vous vous êtes gratuitement enregistré comme développeur )
  2. La seconde étape consiste à installer et compiler expat-2.0.1 : récupérer l’archive expat-2.0.1.tar.gz sur sourceforge et effectuez les opérations suivantes :
      sudo mkdir /usr/src
      sudo mv expat-2.0.1.tar.gz /usr/src/.
      cd /usr/src
      sudo tar zxvf expat-2.0.1.tar.gz
      sudo rm expat-2.0.1.tar.gz
      cd expat-2.0.1
      sudo ./configure --prefix=/usr/
      sudo make
      sudo make install
      
  3. Récupérez ensuite une version de git sur les archives. J’ai choisi la version git-1.7.6.3.tar.gz puis compilez-la :
    sudo mv git-1.7.6.3.tar.gz /usr/src/.
    cd /usr/src
    sudo tar git-1.7.6.3.tar.gz
    sudo rm git-1.7.6.3.tar.gz
    cd git-1.7.6.3
    sudo ./configure --prefix=/usr/
    sudo make
    sudo make install
    

Maintenant, vous devriez pouvoir lancer git depuis un terminal. En cas de problème, pensez à vérifier que le programme git est bien présent dans le dossier des exécutables /usr/bin.


Coming soon…
En lançant la commande ssh-add .ssh/id_rsa sur un mac (Mac OS X Tiger), j’ai obtenu l’erreur

Could not open a connection to your authentification agent.


Pour résoudre ce problème, j’ai dû taper :

exec ssh-agent bash

avant de relancer la commande ssh-add .ssh/id_rsa. La solution ne vaut que pour le terminal en cours… 🙁


Coming soon… ( Pev is about to translate it)
Vous avez un ordinateur installé en double boot Linux/Windows et vous souhaitez que la partition Windows soit montée automatiquement au démarrage. Voici comment procéder…
(ce post est dédicacé à Pev qui me doit déjà deux tablettes de chocolat)

  1. La première étape consiste à récupérer l’identifiant de la partition Windows que vous souhaitez monter. Pour cela, tapez :
    ls -l /dev/disk/by-uuid

    qui renvoie un résultat de ce type :

    Ici, la partition Windows est la partition sda2 sur dont l’uuid est donc aff29da2-c73e-48a7-99a4-ada437b1ac23.

  2. Dans un deuxième temps, en mode super-utilisateur, éditez le fichier /etc/fstab :
    sudo nano /etc/fstab

    où vous ajoutez (ou modifiez) une ligne commençant par UUID=aff29da2-c73e-48a7-99a4-ada437b1ac23 (remplacez l’uuid par celui de votre partition windows) de la manière suivante :

    UUID=aff29da2-c73e-48a7-99a4-ada437b1ac23 /media/sda2 vfat rw,auto,exec,
                                            gid=100,uid=1000,umask=002 0 1

    si votre partition windows est formatée en FAT. Les options s’interprètent de la manière suivante :

    • rw : lecture et écriture sur la partition ;
    • auto : montage automatique au démarrage ;
    • gid=100 : la partition est affectée au groupe gid (user) ;
    • uid=1000 : la partition est affectée au premier utilisateur de l’ordinateur (celui dont l’UID est 1000) ;
    • umask=02 : donne l’option en lecture et exécution à tous et en écriture au propriétaire (celui dont l’UID est 1000).

    Si votre système de fichiers Windows est formaté en NTFS (probable sous Windows 7), la ligne doit être modifiée en :

    UUID=aff29da2-c73e-48a7-99a4-ada437b1ac23 /media/sda2 ntfs-3g rw,auto,exec,
                                              gid=100,uid=1000,umask=002 0 0