SheevaPlug
Thursday, 04 August 2011
|
Écrit par
Grégory Soutadé

Il y a un an était posté le premier billet sur ce blog. Je ne me suis jamais fixé un quelconque objectif concernant le contenu ou la fréquence de mise à jour, juste quelques idées et l'envie de faire découvrir des choses. Il y a eu des semaines un peu vide par manque d'envie ou parce que je travaillais sur d'autres projets (dont KissCount), mais au final il est toujours là ! L'objectif innavoué virtuel est de un article par semaine, mais sans jamais me forcer.

Si on regarde les statistiques c'est plutôt positif : ceci constitue le 60ème article, soit 5 articles par mois en moyenne. Au niveau de la fréquentation on atteint les 9000 visites et 2,7Go de données envoyées. Pendant les 8 premiers mois il y avait entre 100 et 200 visites / mois, avec un pic de 900 au mois de décembre dernier grâce à l'annonce de la v0.1 de KissCount sur linuxfr, puis cet article a boosté la fréquentation jusqu'à 1200 puis 1600 visites mensuelles. Il représente aujourd'hui (à la louche) 90% du trafic. C'est un moyen détourné d'attirer des visiteurs, les curieux iront se balader sur les autres publications.

Les autres articles populaires sont ceux sur le SheevaPlug et l'auto hébergement, tandis que ceux sur les films sont finalement peu consultés (même s'ils représentent 50% des billets).

Concernant le SheevaPlug justement, j'en suis très content. Je n'ai eu AUCUN problème matériel en un an, il ne chauffe presque pas et, à part au début, je n'ai plus eu à faire d'intervention physique. La migration vers Debian 6 (Squeeze) a nécessité de remettre de l'ordre dans quelques fichiers de config (notamment le mail), mais ça reste correct. Ce n'est peut être pas une foudre de guerre, mais il fait ce qu'on lui demande ! Le seul point bloquant reste la bande passante qui est un peu faible.

Voilà, malgré mon petit soucis avec OVH, c'est reparti pour un an !


Petite réflexion annexe concernant l'auto hébergement : Qu'adviendra-t-il des articles si le serveur doit être arrêté définitivement ?
Soit il n'y a rien d'important et alors tant pis. Soit on aimerait laisser certaines ressources en ligne et à ce moment il faudra pouvoir les exporter vers un autre site : soit le site d'un particulier, soit le site d'une entreprise qui garantie (normalement) une plus longue pérennité des données.

Sunday, 20 March 2011
|
Écrit par
Grégory Soutadé

Présentation

Un petit article pour présenter plus généralement le SheevaPlug. En effet les articles précédents se sont focalisés sur l'utilité d'un serveur de manière générale, mais il y a pas mal de questions sur le SheevaPlug en lui même. Le SheevaPlug c'est donc cette petite bête :


Il comporte (pour simplifier) :

  • Une mémoire interne (flash) de 512Mo
  • Une mémoire vive de 512Mo
  • Un processeur ARM de 1Ghz.

C'est l'équivalent d'une configuration de PC d'il y a 7 ans à peu près A défaut que celui-ci ne consomme que 5 Watts, ce qui est largement inférieur à n'importe quel PC, même basse consommation. Avec si peu de puissance il est évident qu'on ne peut pas faire tourner Crysis dessus, et c'est normal car sa fonction principale est d'être un serveur.

Un serveur c'est une machine qui va répondre à des requêtes externes pour, par exemple, servir des pages web, échanger des mails, stocker des données, et pour tout cela, point besoin de puissance. Personnellement je l'utilise, entre autre, pour faire de la compilation (voir ici un petit bench) automatique de KissCount, avoir un serveur SSH, un serveur mail, héberger mon blog, héberger une forge logicielle, accèder à mes comptes. Pour information la compilation de KissCount prend 15 minutes par version/architecture (soit 1h en tout) contre 1 minutes sur un PC de dernière génération. Elle est réalisée à 1h du matin pour ne pas peturber les autres services.

A l'intérieur du Sheeva


Concernant le système d'exploitation, le SheevaPlug est livré avec une Ubuntu toute prête. En effet on est sur un processeur ARM, donc Linux est tout choisi pour faire fonctionner le système. Bien sûr on aurait pu prendre un BSD, mais le portage n'est pas top, voir même un eCos si certains ont du temps ... MacOS on oublie tout de suite et les seuls Windows qui supportent ARM sont WindowsCE et WindowsPhone 7, mais là encore rien n'est fait pour les acceuillir. Avec Ubuntu on dispose de toute la logithèque GNU/Linux !

De plus le Sheeva ne possède pas d'écran et aucun connecteur pour en brancher un. Ce n'est évidement pas un problème car dans le monde GNU/Linux on peut parfaitement administrer une machine en ligne de commande via SSH (console à distance) en téléchargeant les logiciels et en éditant les fichiers de configuration via un éditeur en mode texte (nano, vi, emacs ...). mais une fois les bon paquets on peut aussi faire l'administration courante via des interfaces web. Les plus téméraires pourront installer un environnement graphique et/ou faire un affichage déporté via SSH, mais c'est complètement inutile et consommateur de ressources.

MAJ : NewIT propose quand même des écrans tactiles via USB (moniteurs MIMO)

Pour les bidouilleurs il faudra de toutes façons passer au moins par la sortie série (en micro USB) du Sheeva afin de modifier la séquence de lancement pour pouvoir booter sur un périphérique autre que la flash ou la carte SD. C'est très pratique pour récupérer la main sur le système quand celui-ci est cassé (comme décrit dans ce billet lorsque le SheevaPlug ne démarre plus).

512Mo de flash c'est suffisant pour le système d'exploitation, mais on se retrouve vite limité. Personnellement j'ai opté pour installer une Debian sur une clé USB 16Go, et tant qu'on ne veut pas stocker sa collection de DivX, c'est largement suffisant ! Il faut cependant faire attention avec ce port USB. Si le périphérique que vous branchez ne possède pas sa propre alimentation, le courant va être récupéré depuis le SheevaPlug, ce qui peut causer des dégâts si la demande est trop importante. Donc pour une clé USB ça passe, mais si vous branchez un disque dur ou un hub il faut faire attention à ce que ceux-ci possèdent leurs propre alimentation !!

Il y a un port eSata sur la version que j'ai acheté, mais je ne l'ai jamais utilisé, je suppose que le problème d'alimentation est le même.

Bref je possède le SheevaPlug depuis 8 mois et je n'ai eu aucun problème, une fois configuré on l'oublie, il ne chauffe pas et me permet d'héberger mes propres services sans soucis (il ne faut pas oublier de faire des sauvegardes régulières). Je ne voulais pas prendre de GuruPlug car il n'est pas plus puissant mais consomme plus à cause du Wifi et du Bluetooth. Il est aussi réputé pour des problèmes d'alimentation. Le double ethernet est bien si on veut faire une passerelle ou un pare-feu.

Le prix

La première année : 130€ chez NewIt + 4€ pour le nom de domaine (certificat SSL offert) + 5€ pour l'électricité. Donc 139€/an soit 11,58€/mois
A partir de la seconde année : 7€ pour un nom de domaine OVH + 15€ pour un certificat SSL + 5€ pour l'électricité. Donc 27€/an soit 2,25€/mois

C'est donc tout à fait raisonable (surtout à partir d'un an). On avait annoncé une baisse rapide du prix de ces joujous, mais je ne pense pas que ça arrivera un jour car les quantités vendues sont trop faibles.

Conclusion

En conclusion le SheevaPlug est l'appareil parfait pour tout ceux qui veulent un petit serveur chez eux ou se lancer dans de l'auto-hébergement !

Monday, 06 December 2010
|
Écrit par
Grégory Soutadé

L'auto hébergement, qu'est ce que c'est ? Et bien tout d'abord, ce n'est pas l'hébergement de voitures ! C'est tout simplement le fait d'héberger des données chez soi et de les rendre accessible depuis l'Internet. En fait c'est le but premier d'Internet : interconnecter des machines sur un réseau mondial. L'auto hébergement, donc l'Internet, est pourtant quelque chose qui se perd. En effet les internautes choisissent la plupart du temps de confier leurs données à des sites tiers (mails, photos, blogs ...). Pourquoi donc ? Les principales raisons sont techniques : jusqu'à présent un internaute avec une connexion moyenne n'avait ni la bande passante nécessaire ni les connaissances techniques pour la création d'un "serveur", du coup il est plus simple de confier ses données à un tiers qui possède les compétences et le matériel permettant un hébergement efficace.


Oui, mais ! Les choses ont évoluées depuis l'ère du 56k limité à 50h. D'une part la bande passante des utilisateurs a énormément augmentée, de nos jours même une connexion de mauvaise qualité est suffisante. D'autre part les connaissances techniques nécessaires pour la création d'un "serveur" sont bien moins importantes. Il existe des solutions prêtes à fonctionner en dehors de la boîte (Apache, Joomla! ...). Dans l'esprit commun un "serveur" reste une grosse machine très puissante, alors qu'en réalité un serveur est juste un ordinateur qui va répondre à des requêtes. Les requêtes les plus connues sont les requêtes HTTP (http://...), mais il y a aussi le mail, l'accès distant comme SSH, des serveurs de jeu ... Il suffit donc d'un simple PC connecté au réseau pour pouvoir répondre aux requêtes de l'Internet.


Vous me direz : quel est l'intérêt de posséder ses données chez soi plutôt que dans un gros serveur ? Et bien l'intérêt principal est de conserver une partie de sa vie privée. Les photos, vidéos, écrits sont et restent la propriété de la personne qui les héberge (et dont il est l'auteur). Elles sont disponibles et peuvent être modifiées à n'importe quel moment par l'administrateur du serveur. Si je choisis de confier ces données à un tiers, il peut potentiellement en faire ce qu'il veut. Bien sûr il ne faut pas être trop paranoïaque, la plupart des fournisseurs de support respectent un minimum de confidentialité quant à ces données. Et c'est tout dans leurs intérêts car cela génère de la publicité (ciblée ou non) donc des revenus. Un service qui ne le respecterait pas suffisamment se verrait déserté rapidement.

Néanmoins il ne faut pas se leurrer, réaliser un serveur n'est pas trivial du moment qu'on dépasse le simple serveur web. Mais il y a plein de personnes qui ont eu cette problématique et tout le monde (informaticien ou non) possède un ami qui s'appelle Google qui lui connait toutes les personnes qui ont eu des problèmes et qui ont des solutions à apporter. Il suffit d'être un tout petit peu curieux. Les utilisateurs de GNU/Linux seront naturellement avantagés car l'installation et la configuration d'un serveur Apache sur ce dernier système est vraiment aisée. Reste l'aspect consommation : avoir un PC qui tourne 24h/24h, 7j/7j ça coûte. Personnellement j'ai adopté la solution d'un SheevaPlug qui est un "mini PC" à très faible consommation (5W), ce qui représente une consommation d'environ 5€/an (allumé 24h/24 7j/7). Il suffit donc de le brancher à la *box,(FreeBox, LiveBox, NeufBox, AliceBox ...), de le configurer une première fois, puis on l'oublie, on se contente juste d'ajouter des données (photos, vidéos ...) le moment voulu par l'interface web (et aussi de faire les mises à jours logicielles).

Seuls deux points peuvent être bloquant :

  • La sauvegarde des données n'est de base pas assurée. On peut utiliser le réseau, le port eSata ou USB, mais il faut mettre en place une solution de sauvegarde (manuelle ou automatique).
  • Si le serveur ou la connexion internet tombe, les services hébergés ne sont plus accessibles (ce qui peut être gênant pour le mail, mais reste acceptable pour un serveur web).


Parmi les outils permettant de monter un serveur on trouve :

  • Serveur web : Apache2 ou IIS
  • Gestionnaire de contenus (CMS, le site web pour résumer) : Wordpress, Joomla!
  • Serveur FTP
  • Serveur mail : Postfix, Dovecot
  • Serveur SSH (accès distant)
  • Serveur de base de données : MySQL, PostgreSQL
  • Serveur de gestion de version : Subversion, Mercurial, Git
  • Forges logicielle : Trac, inDefero, Redmine ...
  • Serveur de chat : IRC, Jabber
  • Serveur de jeu : Quake, Counter-Strike, Unreal, Wow


Le composant fondamental est le serveur web. A partir de là on peut héberger les services web classiques : photos, vidéos, blog ... Le reste étant réservé à une utilisation avancée.

Pour ceux qui auraient un peu de temps, il y a une conférence de Benjamin Bayart aux RM2L de 2007 qui est la conférence référence : Internet ou Minitel 2.0.
Ici un wiki en français sur la marche à suivre pour l'installation et la configuration du serveur : http://wiki.auto-hebergement.fr/

Wednesday, 27 October 2010
|
Écrit par
Grégory Soutadé

C'est rare mais les gars du projet Debian se sont planté. Peut être que j'ai loupé un truc, mais après avoir redémarrer suite à la mise à jour de mon SheevaPlug vers le noyau 2.6.32-5-kirkwood, le système sortait en kernel panic lors de l'initialisation du réseau. Pas pratique ...

Une petite recherche sur le web m'indique le liens suivant : http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=597302#35
Le problème vient du fait que la commande flash-kernel n'est pas appellée après la mise à jour du noyau. La marche à suivre est de rajouter l'option ipv6.disable=1 à la ligne de commande (setenv bootargs ipv6.disable=1) lors du boot. Evidement chez moi ça ne fonctionne pas.

Bref un système inutilisable (puisqu'il plante avant le boot). Ma configuration est la suivante :
- Ubuntu d'origine dans la mémoire flash intégrée
- Debian installée sur la clé USB avec les partitions suivantes :
/dev/sda1    /boot
/dev/sda2    /
/dev/sda3    swap
/dev/sda4    /home

Heureusement on a accès à la clé USB depuis l'Ubuntu d'origine, cela va permettre de remettre en marche tout ça. Il faut d'abord démarrer sous Ubuntu (sortir le cable USB pour accéder à l'interface RS232 via putty ou screen), monter la clé, se chrooter (c'est donc "comme" si on avait booté sur la clé). Hélàs /dev/sdaX n'est pas automatiquement détecté par udev (les événements ne lui sont pas envoyé pour qu'il crée les périphériques), on va donc le faire à la main avec mknod. Puis on monte /boot et /proc avant de pouvoir lancer flash-kernel. On revient sous Ubuntu, un petit fsck sur les partitions modifiées et on peut enfin redémarrer normalement sur notre ancien système !

mount -t ext2 /dev/sda2 /media chroot /media mknod /dev/sda1 b 8 1            # 8 2 pour /dev/sda2, 8 3 pour /dev/sda3 ... mount -t ext2 /dev/sda1 /boot mount -t proc /proc /proc flash-kernel exit reboot

redémarrer sous Ubuntu

fsck /dev/sda1 fsck /dev/sda2 reboot

J'ai remarqué que lorsqu'on débranche brutalement l'alimentation, il ne boote plus sur la clé USB. L'astuce consiste à démarrer sur l'Ubuntu d'origine, monter la partition, faire un ls, démonter la partition, faire les fsck sur les partitions modifiées (sinon il va le faire au boot de la clé et comme le système a été modifié va redémarrer ...), puis redémarrer le Sheeva (via un reboot).

mount -t ext2 /dev/sda2 /media ls /media umount /media fsck /dev/sda2 reboot

L'idéal est de créer un script et de le rajouter dans le crontab d'Ubuntu pour qu'il s'exécute toutes les 10 minutes. Comme ça si le redémarrage intervient pendant la nuit ou quand on n'a pas accès au SheevaPlug il revient tout seul sur Debian. Les 10 minutes permettent de désactiver le crontab quand on a des choses à faire sous Ubuntu (comme un flash-kernel par exemple ...).