Catégories
Open-source Systeme

Création d’un serveur chez Gandi

Je connaissais surtout Gandi pour la qualité de son service de réservation de noms de domaines Internet. Depuis maintenant plusieurs mois, ils se sont lancés dans l’hébergement de serveurs virtualisés. J’ai donc décidé de tester ce nouveau service.

Création du serveur

Basée sur la technologie XEN (logiciel libre de virtualisation), l’hébergement est flexible. Il faut donc choisir un nombre de part (valeur allant de 1 à 16) d’un serveur comportant 64 parts. Il est bien sûr possible de faire évoluer le nombre de parts de son serveur sur simple demande.

Ainsi, si vous choisissez l’entrée de gamme à 12 Euros (soit 1 seule part), vous avez les caractéristiques suivantes:

  • 1/64ème des capacités globales du serveur (CPU, …)
  • 1/64ème des 16 Go de mémoire du serveur, soit 256 Mo de RAM garantie (+512 Mo de Swap)
  • 1/64ème des capacités réseau, soit 5 Mbits dédiés
  • 1/64ème du disque réservé au serveur, soit 5 Go de disque data (+3 Go pour le système)

Bref ce n’est pas une bête de course, mais largement suffisant pour héberger un site Web (blog ou autres), un serveur FTP, SVN, Nagios…

Vient ensuite le choix du système. Les OS suivants sont disponibles:

  • Ubuntu 8.04
  • Ubuntu 9.04
  • Debian 4
  • Debian 5
  • OpenSuse 10.3
  • Fedora Core 8
  • Mandriva 2008.0
  • Mandriva 2008.1
  • CentOS 5

Je trouve qu’il manque des OS de type BSD (FreeBSD ou autres) mais ces derniers ne devraient pas tarder à être disponibles.

Je suis pour ma part partie sur une Ubuntu 8.04 et moins de 10 minutes après la validation de la demande, le serveur était prêt à être utilisé avec un bel accès SSH.

Premiers tests

Au niveau réseau, les caractéristiques sont conformes:

  • Premier test IPerf: 4 Mbps.
  • Delaie de transit moyen (depuis la france): 20ms

Localisation du serveur (source). Comme on peut le voir mon serveur est hébérgé dans Paris.

CPU:

$ cat /proc/cpuinfo
processor    : 0
vendor_id    : AuthenticAMD
cpu family    : 15
model        : 65
model name    : Dual-Core AMD Opteron(tm) Processor 8218
stepping    : 3
cpu MHz        : 2593.498
cache size    : 1024 KB
fdiv_bug    : no
hlt_bug        : no
f00f_bug    : no
coma_bug    : no
fpu        : yes
fpu_exception    : yes
cpuid level    : 1
wp        : yes
flags        : fpu de tsc msr pae cx8 apic cmov pat clflush mmx fxsr sse sse2 ht nx mmxext fxsr_opt 3dnowext 3dnow up pni cmp_legacy cr8legacy ts fid vid ttp tm stc
bogomips    : 5188.66

Mémoire:

$ free
             total       used       free     shared    buffers     cached
Mem:        262288     200888      61400          0      38408     116648
-/+ buffers/cache:      45832     216456
Swap:       634556         64     634492

Espace disque:

$ df -k
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/xvda1             2466700    825500   1641196  34% /
varrun                  131144        56    131088   1% /var/run
varlock                 131144         0    131144   0% /var/lock
udev                    131144        20    131124   1% /dev
devshm                  131144         0    131144   0% /dev/shm
/dev/xvdb              5160576    141440   4756992   3% /srv/

Quelques installations plus tard, j’ai mes services SVN et FTP qui sont opérationnels.

Après 15 jours…

15 jours plus tard, le serveur est fiable (aucune coupure de service, uptime de 15 jours…).


Disponibilité du serveur

A partir de l’interface d’administration Web de Gandi on a accès à des graphes pour la l’occupation CPU, l’utilisation du disque et du réseau:

Conclusion

Le service d’hébergement de Gandi est très simple à installé, quelques minutes suffisent pour disposer de son propre serveur. Je trouve le système de « parts » très flexible et conjugué avec les graphes de supervision, il permet de faire évoluer finement les caractéristiques de son serveur en fonction des besoins.

Catégories
Gstreamer Open-source Web

Mes marques ta-pages de la semaine

Personnalisation de Pidgin | Jonathan Ernst

Comment ajouter des fonctions (notamment Facebook) à Pidgin, le logiciel libre de messagerie instantanée.

25 Magento Templates For Your E-Commerce Business | Developer’s Toolbox | Smashing Magazine

Une liste de 25 templates pour votre prochain commerce sur le Web !

Over 35 Free, Essential Open Source Resources and Apps

Une liste de 35 logiciels libres à découvrir ! (en)

7.2R fois plus de rouge sur ton écran ! | Anapivirtua’s Blog

La version 7.2 de FreeBSD est bien là, à vos updates…

Unix Toolbox

Une liste de commandes bien utiles pour Unix…

9 Ways to Make Your WordPress Blog “Smart” | Weblog Tools Collection

9 trucs por rendre son blog plus… "smart"…

GStreamer Application Development Manual (0.10.21.3)

La doc officielle du développeur pour GStreamer

GTK Reference Manual

Le manuel de référence de GTK

GtkFr – Cours Gtk -2:LeTutorial

Un tuto sur le framework GTK (en Français)

Coherence – a DLNA/UPnP Framework for the Digital Living – Trac

A suivre, un serveur DLNA UPnP sous licence libre et proposant un framework Python

Installation rapide d’un serveur PXE

Installation automatique d’une machine sous Linux après boot en PXR

UNR – Ubuntu Wiki

Distribution Ubuntu pour mini portable… (Ubuntu Netbook Remix)

A110 1Tb (1000Gb) (Western Digital Caviar Green): Amazon.fr: High-tech

Popcorn hour 110 avec disque dûr

Popcorn Hour A-110 – Achat / Vente Lecteur multimédia de salon sur LDLC.com

Popcorn Hour, un serveur multimédia compatible UPNP et avec sortie HDMI
Attention, livré sans disque dur…

BUFFALO serveur multimédia linkstation live – nas – 500 go 7200 tr/min – sata – gigaethernet – compatible apple iphone – achat/vente BUFFALO serveur multimédia linkstation live – nas – 500 go 7200 tr/min – sata – gigaethernet – compatible apple iphone –

Serveur NAS multimédia compatible DLNA

SyncPlaces :: Modules pour Firefox

Pour synchroniser ces bookmarks Firefox entre plusieurs machines en utilisant son propre serveur FTP !

Gestion dual screen enfin simple grâce à ARandR – Le blog de jp.fox…

Utilitaire pour gérer de manière simple une configuration de Xorg avec un double écran.

Catégories
Open-source

Actualité open-source de la semaine #60

L’actualité open-source de la semaine…

La vidéo de la semaine

Tout le monde en parle, sauf moi…

L’actualité du libre et de l’open source en vrac:

  • Hadopi, le retour de la vengeance… en vidéo
  • Firefox arrive en couple: 3.0.10 pour la version stable / 3.5.Bêta 4 pour la version en développement
  • Test de Jaunty (Ubuntu 9.04)
  • Sortie de NetBSD 5.0
  • Mandriva 2009 Spring est là

Autres choses ?

Catégories
Blog Open-source

Backup complet de votre blog WordPress

J’imagine que vous faites des sauvegardes régulières de votre blog… Si ce n’est pas le cas, voici la méthode que j’utilise pour sauvegarder mon bébé.

Un blog WordPress est composé d’une base de donnée (SQL) et d’un ensemble de fichiers stockés sur un serveur (HTTP/FTP). Il faut donc penser à sauvegarder ces deux éléments.

Sauvegarde de la base de donnée

Le plus simple est d’utiliser le plugins WordPress DB Backup disponible ici. Il suffit ensuite de selectionner les tables à sauvegarder (le plus simple est de toutes les sélectionner) et de programmer backup automatique (toutes les heures, jours ou semaines). Le backup peut être stocké directement sur votre serveur (un peu risqué si celui-ci plante) ou envoyé sous la forme
d’une archive Sql.Gz sur une adresse mail.

Sauvegarde des fichiers

J’utilise un méthode automatique pour effectuer cette sauvegarde (sur ma machine Linux Ubuntu).

Après avoir installé l’utilitaire lftp (le meilleur client FTP en ligne de commande):

sudo apt-get install lftp

J’utilise la commande suivante:

lftp -f blog.lftp

Avec comme fichier blog.lftp:

[shell]

set ftp:list-options -a
set cmd:fail-exit true
set ftp:ssl-allow false
set ftp:passive-mode on
set net:timeout 10
set net:max-retries 2
set net:reconnect-interval-base 5
set net:reconnect-interval-multiplier 1

open -p 21 logindublog:passworddublog@ftpdublog.com
lcd ~/backup/blog/
mirror -e -x public_html/blog/avatars/

quit

[/shell]

Cette commande va:

  1. Ouvrir une connection FTP vers mon serveur ftpdublog.com en utilisant le login logindublog et le mot de passe passworddublog
  2. Faire un mirroir du répertoire /blog de mon serveur vers le répertoire local ~/backup/blog/ (à créer)
  3. Lors du mirroir, on supprime du répertoire local les fichiers qui n’existent plus sur le serveur
  4. On ne backup pas les avatars qui sont dans le répertoire public_html/blog/avatars/

La première sauvegarde risque de prendre un bon bout de temps (surtout si votre blog date un peu). Mais en suite, comme seul le différentiel entre votre serveur et votre répertoire local sera transféré cela ira beaucoup plus vite.

Pour automatiser le lancement de cette commande tout les jours à 1 heure du matin:

# crontab -e

1 0 * * * /usr/bin/lftp -f blog.lftp > /dev/null 2>&1

Et voila, vous pouvez attendre le crach de votre serveur hébergé de manière plus sereine…

Catégories
Developpement Open-source Systeme

Installation d’un serveur SVN sous Ubuntu

Le but de ce billet est de mettre en place un serveur de gestion de versions basée sur SVN+SSH.

On commence par installer le package subversion qui comprend à la fois le client et le serveur SVN.

# sudo svn update
# sudo apt-get install subversion

on créé un utilisateur et un groupe générique svn.

# sudo adduser svn
Adding user `svn’ …
Adding new group `svn’ (1000) …
Adding new user `svn’ (1001) with group `svn’ …
Creating home directory `/home/svn’ …
Copying files from `/etc/skel’ …
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for svn
Enter the new value, or press ENTER for the default
Full Name []: SVN
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [y/N] y

Pour des questions de sécurité, je vous conseille de désactiver le SHELL pour cet utilisateur:

# sudo vipw
svn:x:1001:1000:SVN,,,:/home/svn:/usr/sbin/nologin

Si vous souhaitez accéder à votre serveur SVN avec un compte unix bien précis, il faut ajouter le login de ce compte au groupe svn:

# sudo vigr
svn:x:1000:nicolargo

Puis on créé un répertoire ou seront stockées les sources de vos programmes.

# sudo mkdir /var/svn

Il faut ensuite demander à SVN de créer un répertoire SVN pour notre projet:

# sudo svnadmin create /var/svn/projet

Puis de changer les droits:

# sudo chown -R svn:svn /var/svn
# sudo chmod -R 775 /var/svn

Il ne reste plus qu’a tester votre serveur à partir d’une machine distante en « important » votre projet (dont les sources sont localisées dans le répertoire ~/projet pour illustrer ce billet).

Avant l’importation, on va créer la structure classique de SVN:

projet
– trunk
– branches
– tags

client# svn mkdir –parents  svn+ssh://nicolargo@monserveur/var/svn/projet/trunk -m «  »
client# svn mkdir –parents  svn+ssh://nicolargo@monserveur/var/svn/projet/tags -m «  »
client# svn mkdir –parents  svn+ssh://nicolargo@monserveur/var/svn/projet/branches -m «  »

Puis on importe les sources:

client# cd ~/projet
client# svn import . svn+ssh://nicolargo@monserveur/var/svn/projet/trunk -m « Premiere importation »
nicolargo@monserveur’s password:

Révision 0 propagée.

Il ne reste plus qu’a tester l’exportation des sources:

client# cd ~
client# mv projet projet.init
client# svn co svn+ssh://nicolargo@monserveur/var/svn/projet/trunk projet

Révision 0 extraite.

Pour aller plus loin dans l’utilisation de votre nouveau serveur SVN, je vous conseille le très bon article de Ulhume sur son non-blog…(remplacer juste http:// par svn+ssh://)

Catégories
Developpement Gstreamer Open-source

Compilation d’une application GStreamer

Voici la procédure à suivre pour compiler un programme C utilisant le framework GStreamer sur une distribution GNU/Linux Ubuntu.

Installation des librairies

On commence par installer les packages suivants:

sudo apt-get install libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libxml2-dev

Puis on créer les liens symboliques suivants:

sudo ln -s /usr/include/gstreamer-0.10/gst /usr/include/gst
sudo ln -s /usr/include/libxml2/libxml /usr/include/libxml

Compilation de HelloGStreamer.c

Prenons en exemple le fichier hellogstreamer.c contenant le code ci-dessous (source ici):

#include <gst/gst.h>

int
main (int   argc,
      char *argv[])
{
  const gchar *nano_str;
  guint major, minor, micro, nano;

  gst_init (&argc, &argv);

  gst_version (&major, &minor, &micro, &nano);

  if (nano == 1)
    nano_str = « (CVS) »;
  else if (nano == 2)
    nano_str = « (Prerelease) »;
  else
    nano_str = «  »;

  printf (« This program is linked against GStreamer %d.%d.%d %s\n »,
          major, minor, micro, nano_str);

  return 0;
}

La compilation devra se faire via la commande suivante:

gcc `pkg-config –cflags –libs gstreamer-0.10` hellogstreamer.c -o hellogstreamer

Le résultat de l’exécution du programme hellogstreamer devrait alors donner:

# ./hellogstreamer
GStreamer version 0.10.22

A vous les beaux programmes utilisant ce superbe framework multimedia.

Catégories
Open-source Web

Mise à jour de PunBB

J’utilise le moteur PHP PunBB pour le forum du blog. Voici une procédure simple et rapide pour upgrader PunBB dans sa dernière version (1.3.3 au moment de l’écriture de ce billet). Attention, cette procédure est seulement valable lors d’une upgrade d’une version 1.3.x vers 1.3.y (ou y > x…).

On commence par télécharger la dernière version disponible sur le site:

wget http://punbb.informer.com/download/punbb-1.3.3.tar.gz

Puis on décompresse:

tar zxvf punbb-1.3.3.tar.gz

On obtient alors un répertoire punbb-1.3.3

Il faut ensuite se rendre sur l’interface Web d’administration de PunBB pour passer le forum en mode de maintenance:

http://adresse/admin/settings.php?section=maintenance

Puis télécharger le contenu du répertoire punbb-1.3.3 vers votre hébergeur (via FTP ou autre) en écrasant les anciens fichiers contenus sur votre serveur. Il faut ensuite, sur ce même serveur vérifier les droits (777) des répertoires  cache, img et extensions puis effacer le contenu du répertoire cache.

Il ne reste plus qu’a mettre à jour la base de donnée en lancant le script suivant:

http://adresse/admin/db_update.php

Puis enfin sortir du mode de maintenance:

http://adresse/admin/settings.php?section=maintenance

Il se peut que le message suivant s’affiche lors de cette dernière étape:

« Incapacité de confirmer la connexion sécurisée. La raison peut être que trop de temps a passé entre le moment de votre entrée à cette page et l’envoi d’u formulaire ou clique d’un lien. Si c’est le cas et que vous souhaitez continuer votre action, veuillez cliquer le bouton confirmer. Sinon, veuillez cliquer sur le bouton Annuler pour retourner où vous étiez.« 

Il suffit de cliquer sur le bouton Confirmer pour finaliser l’upgrade…

Catégories
Musique Open-source

Ripper ses CD en MP3,OGG,FLAC avec GRip

GRip est un petit utilitaire pour ripper ces CD dans un environnement Gnome. Il permet de piloter via une interface graphique un ensemble d’utilitaires permettant d’effectuer les taches suivantes:

  • RIP du CD
  • Récupération des informations sur les musiques et écriture des ID3
  • Encodage des fichiers dans des formats compressés: MP3, OGG, FLAC

Installation de GRip sous Ubuntu

Le logiciel est disponible dans les repos. Il suffit donc de saisir la commande suivante:

sudo apt-get install lame vorbis-tools grip

Remarque: lame permet l’encodage en MP3 et vorbis-tools en OGG.

Première configuration

On commence par configurer le répertoire ou le RIP sera effectué (~/Musique/ sous Ubuntu):

Puis le type d’encodage (lame pour du MP3) et le répertoire ou les fichiers encodés seront stockés (sous la forme ~/Musique/ARTISTE/ALBUM/TITRE):

On peut augmenter la qualité par défaut des MP3 générés en augmentant le débit de 128 Kbps à 192 Kbps (ou plus…):

Utilisation de GRip

Un fois votre CD à ripper inséré dans votre lecteur, les noms des pistes devraient apparaître:

Pour lancer l’encodage, il suffit de se rendre dans l’onglet Extraction et de cliquer sur le bouton Extraction+codage:

Pour une qualité optimale, notamment pour une écoute sur une chaine HIFI digne de ce nom, je vous conseille un encodage au format FLAC…

Catégories
Open-source

Actualité open-source de la semaine #59

L’actualité open-source de la semaine…

L’image de la semaine

La France au top de l’open-source…

Tout le monde en parle, sauf moi…

L’actualité du libre et de l’open source en vrac:

Autres choses ?

Catégories
Gstreamer Open-source Systeme

Tu fais quoi après l’installation d’Ubuntu ?

C’est en lisant le billet de SckyzO ce matin que je me suis rendu compte que je n’avais jamais mis sur le papier (sic) la liste des logiciels que j’installais systématiquement sur mes machines GNU/Linux Ubuntu.

Je vais essayer de mettre régulièrement ce billet à jour.

Voici donc ma commande magique (validée sur Ubuntu 9.04):

sudo apt-get install compizconfig-settings-manager gstreamer0.10-plugins-bad gstreamer0.10-plugins-ugly gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-ugly-multiverse vlc ffmpeg ffmpeg2theora banshee music-applet liferea gwibber build-essential rxvt-unicode checkgmail gtk-recordmydesktop pidgin-facebookchat pidgin-plugin-pack drapes gnome-do gnome-do-plugins conky hardinfo flashplugin-installer sun-java6-plugin gthumb moovida

qui va installer:

  • la totale pour le FrameWork GStreamer
  • VideoLAN, le seul, l’unique, le meilleur logiciel pour regarder ses vidéos
  • Pour l’encodage/decodage FFmpeg et FFmpeg2theora
  • Banshee, mon lecteur audio préféré sous GNU/Linux (et son applet music-applet)
  • Liferea, comment vivre sans un lecteur de flux RSS de nos jours ? Celui-ci est simple, libre et efficace… (petit rappel, pour vous abonner au flux RSS de ce blog, c’est par ici)
  • Besoin de Twitter ? alors Gwibber est là…
  • un environnement de développement minimal (build-essential) puis suivre ce tuto pour installer Eclipse)
  • Urxvt est un terminal, plus rapide que gnome-terminal (voir ici pour une configuration aux petits oignons).
  • CheckGmail, un petit icone bien pratique qui se positionne dans la barre des taches pour me prévenir des nouveaux mail (Gmail). On peut même lire le contenu des mails. Il est même possible de gérer plusieurs comptes (option -profile=boulot) et les domaines hébergés chez Google (-hosted=mondomaine.com).
  • gtk-recordmydesktop permet de faire un screencast de son écran et d’une entrée audio. Idéal pour les tutos vidéos.
  • pidgin-facebookchat et pidgin-plugin-pack sont des plugins pour Pidgin, le client de messagerie instantané.
  • drapes est un utilitaire pour changer automatiquement de fond d’écran.
  • Gnome Do, un lanceur d’application libre et très bien.
  • Conky apporte une touche geek à votre bureau avec une supervision temps réel de votre machine (CPU / Memoire / T° …). Personnellement, j’utilise ce fichier .conkyrc (à mettre à la racine de votre compte). Si vous voulez le charger au démarrage : Système préférences → Application au démarrage.
  • Hardinfo permet d’avoir des informations systèmes et hardware de votre machine
  • Gthumb pour retoucher simplement mes images
  • Moovida: le media center ultime et libre !

Configuration du système

Pour le thèmes, je suis un fan de ceux proposées par Francois. Il faut d’abord installer des repos en suivant cette procédure. Puis séléctionner un des thèmes proposées.

Autres logiciels nécessitant des repos non standards…

Update: mon fichier /etc/apt/sources.list se trouve ici.

Si nécessaire, j’installe aussi Handbrake, il permet de riper les DVD et de convertir une vidéo dans un autre format. Pour cela, il faut ajouter les entrées suivants au fichier /etc/apt/sources.list:

## Medibuntu
deb http://packages.medibuntu.org/ jaunty free non-free

## Handbrake
# sudo apt-key adv –keyserver keyserver.ubuntu.com –recv-keys 62D38753
deb http://ppa.launchpad.net/handbrake-ubuntu/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/handbrake-ubuntu/ppa/ubuntu jaunty main

Puis installer les packages:

sudo apt-get update

sudo aptitude install libdvdcss2 handbrake

Pour faire les captures d’écran qui illustre mes billets, j’utilise le logiciel Shutter. Pour l’installer, il faut:

Ajouter la lignes suivantes à votre fichier /etc/apt/sources.list:

## Shutter (capture ecran)
# sudo apt-key adv –keyserver keyserver.ubuntu.com –recv-keys 009ED615
deb http://ppa.launchpad.net/shutter/ppa/ubuntu jaunty main

Puis lancer les deux commandes suivantes:

sudo apt-get update

sudo apt-get install  shutter

La version d’OpenOffice fournie en standard date un peu, pour avoir une version toute fraiche, il faut ajouter la lignes suivantes à votre fichier /etc/apt/sources.list:

## OpenOffice
# sudo apt-key adv –keyserver keyserver.ubuntu.com –recv-keys 247D1CFF
deb http://ppa.launchpad.net/openoffice-pkgs/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/openoffice-pkgs/ppa/ubuntu jaunty main

Puis lancer les deux commandes suivantes:

sudo apt-get update

sudo aptitude safe-upgrade

J’ai (pour l’instant ) laissé tombé Firefox (devenu trop lourd, il faut maigrir un peu Mr…) pour Chromium (lire ce billet):

Ajouter la lignes suivantes à votre fichier /etc/apt/sources.list:

## Chromium beta

# sudo apt-key adv –keyserver keyserver.ubuntu.com –recv-keys 4E5E17B5

deb http://ppa.launchpad.net/chromium-daily/ppa/ubuntu jaunty main

deb-src http://ppa.launchpad.net/chromium-daily/ppa/ubuntu jaunty main

Puis on installe le bébé:

sudo aptitude update

sudo aptitude install chromium-browser

Pour toujours avoir mes fichiers sous la main quelque soit l’ordinateur ou je me trouve, j’utilise le répertoire partagé Dropbox.

Ajouter la lignes suivantes à votre fichier /etc/apt/sources.list:

## Dropbox
# sudo apt-key adv –keyserver keyserver.ubuntu.com –recv-keys 30A514BE
deb http://linux.getdropbox.com/ubuntu jaunty main
deb-src http://linux.getdropbox.com/ubuntu jaunty main
deb http://ppa.launchpad.net/nautilus-dropbox/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/nautilus-dropbox/ppa/ubuntu jaunty main

Puis lancer les deux commandes suivantes:

sudo apt-get update

sudo apt-get install nautilus-dropbox

Conclusion

Et vous c’est quoi votre ligne magique ???