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
Blog

Note de service…

Je pars me ressourcer dans le Tyrol pendant un bonne dizaine de jours. Pas ou peu de présence de ma part sur le blog et le forum !

Va me faire un bien fou 🙂

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 ?