Article tagué serveur
Démarrer et utiliser Apache et MySQL uniquement à la demande
21/02/11
Avoir un environnement de travail et de développement sous la main sur son ordinateur portable c’est bien pratique, aussi j’ai Apache2/MySQL/PHP5/PhpMyAdmin (et moult autres joyeusetés) sur mon fidèle Thinkpad tournant avec Ubuntu.
J’ai aussi installé cet environnement sur le Netbook jouet « Playskool » (eMachines 350*) qui me sert comme machine d’appoint, en cas de déplacements non-professionnels.
Néanmoins, lorsque l’on utilise que ponctuellement cet environnement de travail, avoir ces lourds processus qui tournent pour rien ça peut être gênant car ça consomme son petit paquet de ressources (surtout si la machine est limitée et c’est bien le cas d’un netbook) et encore plus lorsque l’on est sur batterie car cela vient réduire l’autonomie.
Nous allons voir comment faire pour n’avoir Apache et MySQL qui ne tournent pas inutilement, mais seulement lorsque l’on en a besoin.
Arrêter le lancement automatique d’Apache et de MySQL au démarrage de la machine
Note: je n’ai fait cette procédure que sur mon Netbook où je n’y utilise Apache/MySQL qu’occasionnellement, alors que sur mon Thinkpad c’est mon environnement de travail quotidien: quasi tout le temps sur secteur, bien plus puissant, et j’y ai très souvent besoin de ces serveurs.
Ouvrez un terminal et lancez-y ces commandes:
sudo update-rc.d -f apache2 remove
sudo update-rc.d -f mysql remove
j’utilise l’option -f car ils pouvaient être récalcitrants à dégager.
Ça enlève leur lancement de la séquence de démarrage des processus de la machine.
Mais bon, ce n’est pas suffisant pour le serveur MySQL qui a aussi une procédure de lancement lorsque votre interface réseau émerge. Il faut alors éditer le fichier /etc/init/mysql.conf avec la commande:
gksudo gedit /etc/init/mysql.conf
puis commenter ces lignes:
start on (net-device-up
and local-filesystems
and runlevel [2345])
ce qui donne:
#start on (net-device-up
# and local-filesystems
# and runlevel [2345])
et enregistrer le fichier.
Au redémarrage de la machine, ils ne se lanceront plus automatiquement!
Commandes pour les démarrer et arrêter manuellement
Il y a surement plus malin, plus élégant, plus efficace, mais je me suis simplement fait deux petits scripts bash tout simples
.lamp-start , avec dedans:
#!/bin/bash
# by Tof www.galipe.net
# lamp start
sudo service apache2 start
sudo service mysql start
et .lamp-stop , avec dedans:
#!/bin/bash
# by Tof www.galipe.net
# lamp stop
sudo service apache2 stop
sudo service mysql stop
Rendre ces deux scripts exécutables par un « chmod +x » ou en mode graphique: clic-droit sur le fichier > Propriétés > Permissions, puis cocher « Autoriser l’exécution du fichier comme un programme »
Puis j’ai ajouté le lancement de ces deux scripts depuis le menu « Applications » de Gnome (clic-droit sur le menu « Applications » > Éditer les menus):

C’est ainsi plus accessible en clic depuis le menu que d’aller faire ça à chaque fois en console.
Conclusion
Voilà, sur mon Netbook: Apache et MySQL ne se lancent jamais sauf si j’en ai besoin, auquel cas je peux les lancer et les arrêter d’un simple clic. Et sur mon Thinkpad (qui est ma station de travail principale et plutôt sédentaire) ils restent lancés au démarrage mais je peux facilement les arrêter (et relancer) manuellement si jamais je l’emporte dans le train.
* eMachine 350: une concession que j’ai du faire à l’informatique plébéienne, ayant eu un besoin urgent d’un laptop pour une journée (donc budget minimum) afin de réaliser une intervention imprévue pour un client lors de mes vacances cet été. Le Windows 7 Starter (32bits et bloqué en un seul thread processeur, donc le processeur 64bits/dual-thread est sous-utilisé) installé en standard est déjà une vraie ramasse, avec en plus toute la couche de pourriciels made-in Acer/Norton/etc… en font une machine qui ne sert pas à grand chose tellement la couche OS et logicielle est lourde, inappropriée et inutile.
Je lui ai augmenté sa RAM à 2Go et changé sa carte wifi par une Intel. Mais bon le problème n’est pas la RAM sur cet ordi mais bel et bien Windows. (Au passage un conseil pour générer et graver les DVD de restauration de windows afin de mettre l’installe Winwin d’usine sur DVD dans un placard et d’ensuite dégager Windows pour de bon de votre machine et y installer un vrai OS)
Avec Ubuntu en version Desktop c’est déjà bien mieux: 64bits et plusieurs threads (le processeur de cette machine étant dual-thread, autant en profiter), cette machine est déjà 100 fois plus utilisable.

Un petit coup de Newrez (+ d’infos) pour extrapoler à la volée le bureau au-delà de sa pauvre résolution (et le mettre en 1280 pixel, par exemple quand il y a besoin) et là il y a moyen de faire des choses! Mais bon… ça ne vaut pas un bon Thinkpad!
Test du client linux pour le NAS MyDitto
8/12/10
MyDitto est un NAS amélioré, auto-configuré autant pour une utilisation locale que distante et dans une optique « foolproof »: donc très orienté grand public. J’ai participé à la présentation de ce produit le 2 décembre dernier et l’intrigue portait pour moi sur quatre axes:
- quel procédé permet d’accéder à son NAS de l’extérieur sans s’occuper de paramétrage du routeur, des règles NAT ou du firewall?
- qu’apporte concrètement cette clef USB fournie avec le NAS?
- Y-a-t-il des possibilités d’intégration d’applications?
- et le fameux support Linux annoncé, qu’en est-il réellement?

Pour la description publi-rédactionnelle de ce produit, les specs et le fonctionnement général je vous laisse aller lire ça chez les blogueurs invétérés, ils le feront mieux que moi. Mais bon, allez hop en vrac, vite-fait: 1 ou 2 baies (donc possibilité de RAID), un co-processeur pour appuyer le processeur ARM dans les transferts de fichiers via le réseau (vitesse de transfert accrue), fonctionnalité DLNA, accès via protocole Samba depuis le réseau local (il doit y avoir à mon avis Avahi-Zeroconf qui tourne aussi), et une application qui vous permet d’y accéder de façon sécurisée, transparente et auto-adaptée niveau réseau(=versatile, mais dans le sens anglais) depuis l’extérieur sur l’internet, ce depuis Win/MacOS/Linux/IOS et bientôt Android. Accès en direct depuis votre machine à votre myDitto chez vous (en P2P), ou bien de façon relayée si pas d’autre possibilité.
On nous a donné lors de la présentation des clefs USB nous permettant d’accéder pendant un certain laps de temps à des MyDitto distants (localisés dans les locaux de Dane-Elec), donc je ne parlerais ici que de la partie client, dans une utilisation distante et sur Linux.
Quel procédé utilise-t-il pour accéder au NAS depuis l’extérieur?
Pas trop de détail sur les technologies et procédés utilisés… « Cela a demandé beaucoup de développements et de brevets ». Néanmoins pour que le MyDitto puisse être accessible depuis l’extérieur et de manière sécurisée, on devine vite que c’est le MyDitto qui en fait initie la connexion, l’autre solution aurait été qu’il utilise l’ouverture de ports et la génération des règles NAT à la volée via la fonctionnalité UPnP des routeurs (mais ils ne en sont pas tous équipés).
Pour pouvoir fonctionner partout et se de passer de règles NAT, il doit ouvirir la connexion de son côté, et pour cela le MyDitto doit logiquement être connecté à un serveur d’intermédiation distant, qui lui déclenche l’ordre.
Côté client il faut que la personne connectée puisse être identifiée comme l’utilisateur autorisé et qu’il puisse accéder au MyDitto sans en connaitre son IP, donc passage aussi par un serveur d’intermédiation. Les échanges sont ensuite réalisés en direct de paire à paire (P2P) si la connexion de votre client (PC/Smartphone) le permet ou bien relayée via les serveurs de Dane-Elec si votre connexion internet est insuffisante ou limitée. Je l’ai testé avec succès depuis un pauvre Hotspot NeufWiFi où les ports sont complétement bridés et le débit y est limité.

Bon OK, une technologie de pointe, des brevets… mais ça ressemble énormément à la façon dont procède Hamachi depuis un bon nombre d’années (et racheté depuis un moment par LogMeIn): l’intermédiation, l’authentification centralisée, la traversée des routeurs et NAT sans aucune configuration, l’accès direct en P2P et même l’éventuel recours au relais! Oui ça se ressemble beaucoup même si les deux ne font pas le même usage applicatif, l’un est un VPN l’autre un NAS.
Néanmoins que les procédés et technologie soit nouveaux ou pas, cette méthode de fonctionnement est assez efficace pour permettre une connectivité quasi universelle à n’importe quel néophyte et/ou réfractaire aux problématiques réseau.
Il faut juste ne pas avoir peur de dépendre entièrement d’une « black-box » chez un tiers (ici Dane-Elec), certains stallmaniens vont en frémir, et avoir conscience que cette fonctionnalité durera le temps que le tiers voudra bien la faire fonctionner: donc une grande partie des fonctions pour le matériel que vous aurez acheté, son éventuelle obsolescence ou inutilité seront décidée non pas par vous mais par le bon vouloir, les préoccupations du moment ou la santé financière du constructeur…. Ce n’est pas du tout orienté contre Dane-Elec, c’est juste le regret de cette tendance où les produits hardware deviennent de plus en plus dépendants dans leur continuité de fonctionnement chez l’utilisateur, après achat, du bon vouloir des constructeurs… et puis il y a des exemple qui refroidissent: la tablette Archos 5 by SFR, les livres numériques achetés et effacés à distance après coup sur les Kindles des clients par Amazon, etc… combien de gens ont connu un constructeur qui les a laissés en plan avec leur matériel par arrêt du service distant dont il dépendait, par un abandon du support ou du développement d’un firmware ultra-buggué? Et bien désormais les constructeurs peuvent aussi potentiellement vous réduire ou couper les fonctionnalités de votre matériel, réviser vos données, etc…
Ce qu’apporte concrètement la clef USB
La clef permet d’identifier l’utilisateur via son hardware/vendor ID inscrit dans la ROM de la clef.
Lorsque vous appareillez votre clef au NAS MyDitto, ce dernier identifie l’ID de la clef comme un nouvel utilisateur, il informe le serveur central (d’authentification) de Dane-Elec que cet ID est associé à ce NAS précis.
Ensuite côté client lorsque vous voulez vous connecter de façon distante à votre NAS, l’application myDitto lit l’ID de votre clef et l’envoie au serveur d’authentification qui repère à quel NAS vous êtes associé, puis fait la médiation. Voilà, la clef (par son ID) n’est qu’un identifiant, il vous faudra bien-sûr saisir votre mot de passe, mais nul besoin de connaître l’IP de votre NAS si vous êtes en IP dynamique, et puis cela permet de gérer assez facilement les espaces utilisateurs de votre disque dur.
C’est plutôt intéressant l’utilisation de l’ID hardware de la clef USB, j’en avais déjà vu des implémentations sur le forum FR d’Ubuntu où selon l’ID d’un matériel USB branché cela permet de déclencher des évènements: du simple évènement comme lancer une tache ou une application, jusqu’à l’autorisation ou bien interdire telle ou telle chose si une clef avec un ID précis n’est pas branché sur la machine. Mais je n’avais pas encore vu d’implémentation à large échelle comme moyen d’identification.
Possibilités d’intégration d’applications et de fonctionnalités
Pas pour l’instant, hélas. Des API ou un SDK verront peut-être le jour pour développer des applications côté client.
Par contre côté serveur, il n’est pas prévu de pouvoir développer et y ajouter des fonctionnalités et services sous forme de modules comme c’est possible sur le Pogoplug ou sur d’autres NAS évolués comme les Synology ou bien ceux qui ont été ouverts à (ou par) la communauté (ex: NSLU2 et autres).
Dommage, car le MyDitto a du potentiel pour ça. Je pense que cela est dû à plusieurs motivations:
- les processeurs ARM sont vraiment excellents et amènent un peu de fraicheur par rapport au vieux monde du x86 et ses lourdeurs antiques, néanmoins s’ils sont redoutables pour certaines tâches, ils ont quelques faiblesses pour d’autres (les calculs en virgules flottantes notamment). Aussi si Dane-Elec laisse la porte ouverte à toutes application sur son MyDitto, il n’en maitrisera plus l’optimisation des performances et des ralentissements pourront se faire au détriment de certaines tâches vitales.
- En informatique la source majeure de problèmes se situe en général entre la chaise et le clavier. Et pour un matériel, si on laisse l’utilisateur la possibilité de pouvoir transformer ses applications logicielles cela augmente de façon exponentiel les possibilités de problèmes, donc l’insatisfaction du client et surtout le coût en terme de support. Rappelons que la cible commerciale ici c’est le grand public (un joli terme pour « noobies ») et pas forcément les geeks hackeurs.
- Justement pour que cela prenne commercialement, il faut que le produit soit simple d’utilisation, avec une bonne couche d’abstraction pour rendre pas mal de fonctionnalités transparentes. Stratégiquement la multitude d’options en induisant une notion (même imaginaire) de complexité d’utilisation pourrait refroidir ou déconcerter beaucoup d’acquéreurs… C’est bien sur la simplicité et souvent sur le « one app, one task » que les appliances créent leur niche.
- Je ne connais pas du tout la politique de Dane-Elec à ce sujet pour m’avancer à leur sujet, mais il existe encore chez pas mal de constructeurs une haine ou une peur viscérale que la lie des utilisateurs puisse utiliser son matériel autrement que ce qu’il a défini du haut de sa tour d’ivoire.
Le client Linux
Rentrons dans le vif du sujet!
Lorsque l’on apparie la clef USB sur le NAS, ce dernier transfère aussi sur la clef l’application MyDitto, avec ses versions Windows, MacOS et Linux. Il s’agit d’une application de type « portable », qui n’a pas besoin d’être installée depuis le système et peut-être lancé depuis la clef.
Lors de la présentation on m’annonce qu’elle a été testée et est certifiée fonctionnelle sur Ubuntu 10.04 seulement… Arf, on va bien voir.
Bon, je me lance dans un essai de l’application depuis Ubuntu 10.10: il y a le fichier myDitto.sh (qui n’est qu’un simple script bash qui exporte les librairies et lance le binaire « myDitto » situé dans le sous dossier « myDitto.app/Contents/LnxOS ». Le double-clic sur ce fichier ne lance rien, puisqu’il n’est pas associé comme exécutable, passage en mode console un « ./myDitto.sh » ou « sh myDitto.sh » n’y font rien: problème de droit, même constat en utilisant « sudo » ou « sudo » su pour l’exécuter en mode root: problème de droits.
Un essai pour lancé directement myDitto.app/Contents/LnxOS/myDitto, rien… enfin si des erreurs.
Donc je rends les fichiers exécutables via un « sudo chmod +x »… ça ne marche toujours pas.
Et là, mais ouais c’est con comme la lune! Il n’y a pas de gestion des droits sur une partition FAT!! Donc pas de notion qu’un fichier soit un exécutable ou pas, donc les fichiers exécutables situés sur la partiton FAT ne sont tout simplement pas exécutables!!!
Un petit coup dans GParted pour voir ce qu’il en ressort: mince une partition FAT16! Ça existe encore ça?? Wow! Rétro-projection instantanée dans le siècle précédent… ça me donne aussitôt envie d’écouter des vieux tubes des années 90, tiens un petit « Fight The Power » de Public Enemy, suivi de « Brother James » de Sonic Youth, ça fait toujours du bien. Fermons la parenthèse musicale et regardons s’il est possible d’utiliser MyDitto sur un bureau Linux.
Je transfère le contenu de la clef USB sur une partition Linux (ext3) de mon laptop, et tente de lancer l’application: elle se lance bien (donc c’est bien une simple question de type de partition), néanmoins l’application refuse de m’identifier: « Your myDitto key was removed ».

Un essai en lançant l’application myDitto pour windows depuis Wine, même résultat: « Your myDitto key was removed ».
Un essai sur une des machines en spare chez moi et qui dispose encore de Windows pour l’instant: tout fonctionne bien, je ne suis pas black-listé. Conclusion: l’application doit vérifier l’ID matériel uniquement du lecteur depuis lequel elle est lancée et l’utiliser comme « identifiant d’authentification », ce qui veut dire impossible de lancer l’application depuis autre chose que la clef USB… et dans l’état c’est donc inutilisable sur Linux. C’est ballot!
Mais il y-a-t-il un espoir de l’utiliser sur Linux, une solution?
Je vous rassure: oui! Mais il va falloir procéder de manière un peu barbare et faire du ménage.
D’abord copiez quelque part tout le contenu de la clef associée à votre MyDitto.
Puis rendez-vous dans GParted pour aller gérer les partitions de votre clef USB. On va réduire la partition FAT pour y ajouter une partition de type EXT2 à la suite, en seconde position (et surtout pas en première position car au cas où vous seriez amené à utiliser cette clef aussi sur un système windows, ce dernier ne sait détecter que la première partition présente sur une clef USB et donc s’il ne détecte que la EXT2 autant dire qu’il ne verra rien et même la FAT derrière ne lui sera pas visible).
Impossible de réduire la FAT16 présente sur la clef car elle est à un format invalide (nombre de secteurs invalide par rapport à la taille du volume). On va tout simplement dégager cette partition de m…. purement et simplement, en créer une nouvelle en FAT32 à la place mais qui ne fait pas tout la taille disponible de la clef, et créer derrière une partition au format EXT2 (avec assez d’espace, donc au moins 100Mo).
Voici ce que cela donne:

Il ne reste plus qu’à copier l’ancien contenu de la clef (dont vous avez fait une sauvegarde préalable) sur la partition EXT2.
Un petit clic-droit sur le fichier myDitto.sh > propriétés > Permissions > et cocher « Autorisez l’exécution du fichier comme un programme » (ou passer par un « sudo chmod +x myDitto.sh » pour les amoureux de la console, afin de pouvoir ensuite lancer l’application depuis la clef USB d’un simple double-clic.
Il est désormais possible de lancer l’application qui vous authentifie correctement et vous permet d’accèder à vos fichier distants. Enfin… ![]()


Évidemment en raison d’un développement assez statique de l’application, on se retrouve limité à une simple interface de transfert de fichier depuis le panel.
Un essai de drag’n'drop hors de l’appli vers le bureau:

Un aperçu sur les erreurs dans le terminal:

Quelques critiques à propos du client Linux
Même si j’apprécie grandement l’effort de consacrer du temps à une version Linux, je pense franchement que le développement pour Linux a été fait dans une mauvaise approche en voulant calquer telle quelle la logique du client pour Windows. Je vais étayer mon avis:
1. Pour rappel, Linux utilise des Environnements de Bureau (Gnome, KDE, etc…) et donc que l’utilisateur se choisisse un thème au design absolument étonnant ou bien horrible (chacun ses gouts), ce qui prime c’est homogénéité et l’harmonie: toutes les applications s’intègrent visuellement et fonctionnellement de la même façon à l’environnement de bureau. Autant pour les utilisateurs Windows l’interface de MyDitto (à la Spotify) pourra sembler innovante et visuellement attrayante, pour les utilisateurs Linux, elle fera tâche et sera limitante: donc une application frustrante!
2. Intégrer des fonctionnalités de lecture de média (audio/vidéo) en pseudo-streaming, de génération des vignettes à la volée pour les images, etc… non mais tout cela existe déjà en standard sur Linux. Donc un effort de développement pour rien. En plus pour faire cela vous intégrez quelques outils qui dépendent de la version dans laquelle il ont été compilés, sachant l’évolution rapide du noyau et des outils GNU/Linux votre application sera toujours obsolète et jamais pleinement fonctionnelle. Au mieux elle ne sera à jour et complétement utilisable que pendant quelques semaines après que vous en sortiez une nouvelle version, au-delà elle ne se résumera seulement qu’à une simple interface de transfert de fichiers dont je ne vois même pas l’intérêt (open/copy/rename/cut/delete), même avec Filezilla on fait plus de choses. -> c’est complétement gâcher votre effort (donc vos ressources, votre temps, votre budget) de développement!
3. Il y a un truc génial sur Linux qui s’appelle FUSE (File System in Userspace) et des choses merveilleuses pour l’abstraction des volumes comme Gvfs… Allez voir ce que font comme client Linux Dropbox, SpiderOak ou encore Ubuntu One pour leur stockage dans le Cloud: un simple client pour la connexion/authentification et gérer les transfert intelligemment en backend (le coeur applicatif et la valeur ajoutée de votre appli), tout le reste c’est FUSE, Gvfs et leurs copains qui s’en chargent. C’est plus souple, plus léger, plus élégant. Mes dossiers et fichiers distants sont complétement intégrés à mon bureau et mon système de fichier. Ainsi toutes mes applications peuvent utiliser naturellement les fichiers et dossiers en remote: mes notes Tomeboy, mes bookmarks Firefox s’y synchronisent, mon calendrier Thunderbird, mes backup automatiques (et avec versionning si je veux,monsieur) et même si je veux je peux utiliser une couche d’encryption à la volée avec EncFS ou Truecrypt… Et évidemment Totem et VLC n’ont pas besoin d’attendre que le fichier vidéo ou audio soit complétement transféré pour le lire, c’est naturel pour eux.
En plus udev permet d’interroger n’importe quel matériel, donc toutes clefs USB présentes et d’en obtenir l’ID matériel. Donc il est aisément possible de s’affranchir du fait de devoir lancer l’application uniquement depuis LA clef USB, du moment que la clef « appareillée » au MyDitto est simplement branchée sur l’un des ports USB de la machine cliente ça suffit pour l’identifier.
Donc autant utiliser ce qui existe déjà, qui se fait de bien, finalement coute beaucoup moins cher à développer et en plus ne vous rend pas dépendant de l’obsolescence des versions des autres couches logicielles.
Voilà ceci un plaidoyer, messieurs et dames de Dane-Elec, pour revoir votre approche, sinon vous allez directement dans le mur pour conquérir les utilisateurs Linux et vous allez en conclure qu’il n’y a pas de possibilité de marché pour un service ou une application avec technologie propriétaire sur Linux, que ce c’est un cout de développement trop important pour un retour commercial qui n’en vaut pas la peine. Je pense qu’il est encore temps de changer de cap…
Juste comme ça au passage, l’appli cliente de MyDitto est développée en QT… c’est le framework de prédilection de Meego (dans les véhicules, sur tablette, smartphone, netbook, télévision, etc…)
Conclusion personnelle, recommandation
Mon intérêt primaire pour ce matériel (dans une optique purement personnelle) était de seconder mon fidèle Dockstar (bidouillé à ma sauce). Mais aussi pour en placer un second, cette fois-ci un chez un ami qui dispose aussi de la fibre optique, ce qui me permettrait ainsi avec un backup externalisé de palier à ce qu’on appelle « le risque feu » en informatique, et ce sans devoir requérir à des services privés de stockage « dans le cloud ». Les aspects sécurité, gestion et identification utilisateurs, accès distant « tout-terrain » et aucune configuration réseau sont très intéressants. En plus cela revient moins cher qu’une solution Cloud « à-la Dropbox » pour du stockage/backup redondant de masse (jusqu’à 2To).
Ben en l’état, dans l’optique d’une utilisation sur Linux, et en bon geek, le client est trop pauvre et limitant pour moi (je sais, je suis exigeant et pas forcément l’utilisateur lamdba ciblé, par exemple: madame Michu sous Windows et/ou iPhone et qui l’achètera chez Auchan). Finalement pour l’instant mon « bricolage maison » sur le Dockstar est beaucoup plus utilisable pour moi, car complétement sécurisé, pas besoin d’une application cliente et d’une clef USB, donc plus portable, la méthode d’authentification c’est mon compte Facebook (je me suis concocté un truc perso bien tordu à base d’une utilisation de fail2ban inversée, d’un bot xmpp comme trigger et facteur d’intermédiation ainsi qu’une appli Facebook en php), ça passe partout et j’y ai accès en natif dans mon environnement de bureau et mon filesystem. Le fonctionnement du MyDitto va surement me donner des idées pour améliorer encore mon système.
Si vous êtes un utilisateur Linux lambda, ben déjà le client ne marche pas tel quel out-of-the-box depuis la clef USB, à moins d’y faire les modifications de partitions que j’ai indiquées plus haut.
Par contre si vous êtes dans la vraie cible de clientèle de masse (Windows et/ou iPhone, donc), je pense que c’est une solution très intéressante.
Utiliser le DevCloud OpenVPN d’OVH pour travailler depuis un hotspot
18/11/10
Panne de fibre optique hier: plus d’internet et des projets sous le coude à terminer, des clients qui attendent.
Le technicien support de SFR fibre m’annonce que c’est une panne locale et qu’un technicien passera… mais pas avant 10 jours.
Que faire? J’ai bien un Neuf Wifi/SFR Wifi à portée de signal, mais c’est de l’accès internet pour Télétubbies à la mode du parti communiste chinois, bridé et fermé de partout: pop, smtp, http, https et c’est tout, avec un serveur DNS quasi toujours à la rame. Donc impossible de travailler avec mes outils et protocoles usuels: ligne téléphonique SIP, FTP, SSH, NFS, XMPP, IMAP, SMTPS, et j’en passe…
Puis là je me rappelle qu’il y a les solutions de Cloud Computing de chez OVH, j’avais d’ailleurs participé au beta-test des miniCloud. Des machines virtuelles installables sur demande, payables à l’utilisation. Je n’en avais pas pris au final car j’avais le VPN chez moi sur mon Dockstar pour quand j’étais en déplacement. Mais cette fois-ci c’est la solution parfaite.
Ni une ni deux, je vais voir ce qu’il y a comme machines pré-configurées dans leur section DevCloud: parfait y un serveur OpenVPN tout prêt, je fonce sur l’interface du manager des clouds d’OVH.
Je précise que je suis déjà client chez OVH pour des noms de domaine, de la téléphonie sur IP, etc… donc j’ai déjà un compte client, et même un peu de crédit prépayé, les nouveaux clients devront eux s’affranchir de ces étapes.
Installation et configuration d’une machine virtuelle avec serveur OpenVPN opérationnel en quelques minutes à peine
Depuis la première page de l’interface du manager, on a le choix des distributions pour créer notre machine virtuelle. Je choisi ici la distribution Open VPN 0.3 et lance sa création.

Au bout de quelques dizaines de secondes la machine virtuelle est créée, lancée et prête à l’emploi. Il ne reste plus qu’à créer un ou des utilisateurs pour le VPN et adapter le port pour que ça passe au travers des quelques ports autorisés de Neuf WiFi.

Configurer OpenVPN sur le port 8080 en TCP (car c’est un port autorisé* pour le http pour Neuf Wifi, et puis au pire sur d’autres hotspots le 8080 passera quasiment depuis n’importe où)

*Liste des ports autorisés sur Neuf WiFi / SFR WiFi:
* HTTP TCP 80, 8080
* HTTPS TCP 443
* MAIL TCP 25,110,143,220
* SIP UDP 5060 (pas certain que ce soit encore d’actualité depuis que SFR a bloqué les offres TWIN)
* IPSEC TCP 50,51
* IPSEC UDP 500
* SSH TCP 22 Je viens de découvrir ça en testant après rédaction de l’article, excellent!!
Configuration de l’utilisateur:

En fait il n’y a pas vraiment à configurer, mais juste ajouter un ou des utilisateurs à votre guise. Puis ensuite télécharger le fichier zip (la flèche bleue à droite de l’utilisateur) pour la configuration de la connexion sur votre ordinateur (zip contenant certificats et clef, ainsi que fichier d’auto-configuration).
Configuration sur l’ordinateur local
Il suffit de dézipper le fichier téléchargé correspondant à la configuration pour votre utilisateur.
Puis sur Ubuntu c’est hyper-simple, j’utilise Network-Manager avec le paquet network-manager-openvpn, donc dans network-manager, dans le menu « Connexions VPN > Configurer le VPN », je n’ai eu qu’à choisir « Importer » et lui indiquer le fichier de conf .ovpn (fournis dans le fichier ZIP) pour que toutes les infos soient prises en compte.
Essai de connexion => Yes, ça marche.
Bon, en fait pas tout à fait… Pas de ping, pas de requête DNS, rien ne sort, rien… pourtant les routes sont bonnes.
Apparemment dans la conf en local ça a oublié de prendre en compte l’information sur la compression LZO, juste une case à cocher mais si on ne le sait pas on peut chercher d’où vient le problème pendant un bon moment…

Nouvelle connexion au VPN => là ça marche vraiment!! Je peux me connecter à mon compte XMPP et aller mettre à jour une machine en SSH
Conclusion
C’est rapide à installer, redoutable d’efficacité et de simplicité (j’ai déjà installé 2 serveurs OpenVPN sur Debian, je sais que faire cela à la main « from scratch » ça demande pas mal de temps et beaucoup de rigueur).
A ce tarif de 1.2 ct de l’heure, ça me revient à 28,8 centimes par jour. 2,8€ pour les 10 jours à attendre que l’on vienne me rétablir la fibre optique. Bref un coût très acceptable pour pouvoir continuer mon activité.
Pour les requêtes DNS, c’est le jour et la nuit par rapport à Neuf WiFI. Pour le web les sites qui étrangement rament*, par le VPN ils passent très bien. Ça semble même globalement plus rapide qu’en direct avec Neuf Wifi, je pense grâce à la compression LZO.
*J’avais déjà remarqué ça auparavant et en était arrivé à la conclusion que SFR doit appliquer une certaines prioritisation sur certains sites web, contraire à la neutralité du net.Des sites rament plus que d’autres, voire sont inaccessibles sur la connexion SFR WiFi de ma propre Neufbox, alors qu’aucun problème en direct sur cette même Neufbox au même moment… Ya de quoi se poser des question, non?
Si vous arrêtez votre machine virtuelle car vous le l’utilisez plus, elle passera alors en mode « archivage » et ne vous sera plus facturé. Seule ombre au tableau, lorsqu’elle ré-émerge de l’archivage (pour une nouvelle utilisation), la machine virtuelle change d’adresse IP: donc il ne faut pas oublier de changer l’adresse IP du serveur VPN dans la conf de votre client en local.
Bon évidemment, ce genre de solution n’est pas pour les petits leechers qui pensent avoir une solution permettant de les anonymiser et faire plein de conneries au regard de la loi: pour avoir un Cloud il faut déjà montrer patte blanche lors de la création de votre compte (on sait qui vous êtes) et vous tombez toujours sous le coup la loi française. C’est une solution pour travailler, dont je vous parle ici.
MiniDLNA: le serveur UPnP/DLNA léger
10/08/10
A la recherche d’un serveur UPnP à installer sur mon plug-computer Docktsar, on m’a conseillé MiniDLNA, un serveur UPnP qui répond enfin à mes attentes.
Un petit tour d’horizon
J’avais déjà fait il y a un moment un tour d’horizon de ce que je pouvais installer sur un serveur Debian.
Disponible dans les dépôts Debian Lenny:
Gmediaserver – UPnP Mediaserver
Mediatomb – UPnP MediaServer
uShare – Lightweight UPnP A/V Media Server
Que je connais aussi:
FUPPES
PyMeds
PS3 Media Server
Twonkyvision (aka TwonkyServer) License d’utilisation payante.
Mais aucun ne m’avais pleinement satisfait, soit trop lourds à gérer, trop gourmands en ressources, ne tenant pas forcément la charge d’une grosse collection, des incompatibilités diverses et variées (tant au niveau interne avec les fichiers, les tags, qu’avec certains clients UPnP), des classements farfelus de la médiathèque et/ou de l’ordre des pistes, parfois l’obligation d’un mode de navigation dans la médiathèque pas très ergonomique pour une collection conséquente, ou encore l’impossibilité de naviguer dans la bibliothèque lors que le serveur est en train de streamer un fichier…
Bref aucun ne répondait pleinement à ce que je cherchais, excepté peut-être Twonkyvision qui est payant.
MiniDLNA
MiniDLNA (anciennement ReadyDLNA) est un serveur dont l’objectif est d’être pleinement compatible avec les clients DLNA/UPnP-AV. Il a été développé par un employé de la société NETGEAR pour leur gamme de NAS « ReadyNAS ».
Donc dans sa conception MiniDLNA est pensé pour fonctionner sur de petites machines aux capacités restreintes (tel que les NAS), ce qui est idéal pour le Dockstar (CPU ARM, 128Mo de RAM).
Il est aussi réputé pour être plus compatible que certains autres serveurs UPnP/DLNA avec différents matériels un peu capricieux dans l’électronique grand public (ex: Téléviseurs avec fonctionnalité DLNA).
En téléchargement est disponible un binaire pré-compilé pour architecture x86 et son fichier de conf. Une simple extraction de l’archive en plaçant minidlna dans le répertoire /usr/sbin/ et minidlna.conf dans le répertoire /etc/. Puis quelques réglages dans le fichier de conf, lancer minidlna et hop ça a fonctionné direct sur mon portable sur Ubuntu.
Parfait rendu sur ma radio wifi Freecom MusicPal: navigation par artistes, albums, recherche de fichier, mais surtout possibilité de navigation dans l’arborescence du système de fichiers (ce que je préfère). Les pistes sont bien classées dans le bon ordre, lancez un morceau et il enchaine automatiquement ceux qui suivent dans le même dossier.
Le seul « désagrément » inévitable mais attendu c’est la durée du scan initial de la bibliothèque si celle-ci est conséquente. (Note: à partir de la version 1.0.22, l’utilisation de Inotify permet à la base de données de se mettre à jour toute seule lors de l’ajout de nouveaux médias).
Installation de MiniDLNA sur le Dockstar (Debian)
Étant donné que le Dockstar de Seagate (équivalent du PogoPlug, basé sur SheevaPlug) a une architecture processeur différente (ARM Marvell Kirkwood 1,2 GHz), il va falloir compiler MiniDLNA.
Un petit tutoriel? Allez…
Bon déjà ne pas oublier qu’on est avec l’utilisateur root.
On installe d’abord les dépendances requises pour la compilation:
aptitude install build-essential libexif-dev libjpeg-dev libid3tag0-dev libflac-dev libvorbis-dev libsqlite3-dev libavformat-dev libuuid1
Puis on va se placer dans le dossier temporaire:
cd /tmp/
On télécharge le fichier des sources (ici la dernière version en date était la 1.0.18):
wget http://downloads.sourceforge.net/project/minidlna/minidlna/1.0.18/minidlna_1.0.18_src.tar.gz
Et l'on décompresse l'archive:
tar -xzvf minidlna_1.0.18_src.tar.gz
On se met dans le dossier des sources décompressées "minidlna":
cd minidlna
Et on lance un "make"
make
Il n'y a plus qu'à copier les fichiers obtenus aux bons endroits:
cp minidlna /usr/sbin/
cp minidlna.conf /etc/
cat linux/minidlna.init.d.script > /etc/init.d/minidlna
chmod +X /etc/init.d/minidlna
chmod 755 /etc/init.d/minidlna
On peut faire un peu de ménage en désinstallant les paquets "dev" destinés à la compilation:
aptitude remove libexif-dev libjpeg-dev libid3tag0-dev libflac-dev libvorbis-dev libsqlite3-dev libavformat-dev
Voilà, vous n'avez plus qu'à faire les réglages de vos préférences (dossier où sont stockés vos medias, port d'écoute, pochettes d'albums, etc...) dans le /etc/minidlna.conf puis de lancer minidlna, soit par:
./usr/sbin/minidlna
ou plus propre:
/etc/init.d/minidlna start
Note: /etc/init.d/minidlna vous permet de l'ajouter en démarrage automatique à votre séquence de boot
update-rc.d minidlna defaults
Cas pratique et personnel sur le Dockstar:
MiniDLNA a mis 1h15 pour scanner 71815 fichiers, c'est très honorable en considérant le petit CPU du Dockstar, sa RAM et le fait que les medias soient sur un disque USB.
Néanmoins lors du scan/indexation il se gauffre complétement et passe un temps monstre dès qu'il trouve le moindre fichier de playlist de type m3u.
Le problème des fichiers de playlist:
Lors du scan il a passé ~ 2 minutes d'analyse par fichier m3u qu'il a trouvé, s'il en trouve tout un tas l'indexation ne finira jamais...
(il fait une comparaison récurrente de dingue dans une énorme base sqlite sur des valeurs sans index, je vous laisse imaginer le massacre pour ceux qui ont l'habitude des bases de données)
Comme je n'ai aucune utilité des fichiers m3u, ni pls, je les ai effacé de ma bibliothèque en me rendant dans le dossier où sont stockés mes medias et en utilisant ces commandes:
find . -name "*.m3u" -exec rm '{}' \;
find . -name "*.M3U" -exec rm '{}' \;
find . -name "*.pls" -exec rm '{}' \;
find . -name "*.PLS" -exec rm '{}' \;
Le cache de MiniDLNA mis dans le répertoire /tmp:
Par défaut MiniDLNA génère ses fichiers de cache (base de données, etc...) dans le dossier temporaire /tmp/ qui dégage à chaque reboot (ça veut dire rescanner tout à chaque démarrage de la machine).
Une option est disponible depuis des récentes version pour stocker ces données ailleurs (au choix de l'utilisateur).
Il suffit de renseigner la variable "db_dir" dans le fichier de configuration, ex:
db_dir=/var/cache/minidlna
note: je n'avais vu nulle part cette mention, on me l'a indiqué dans un forum.
Une fois le scan terminé, en fonctionnement normal il ne consomme que très peu de ressource:
4.5% de la mémoire (sur 128Mo de RAM) et quasi 0% de CPU (à peine quelques % en pointe)
Module Webmin: MiniDLNA Webmin Module permet de modifier la configuration de MiniDLNA, de le redémarrer ou de relancer un scan depuis Webmin.
Seagate Dockstar en déstockage, un Plug Computer très abordable.
27/07/10
C’est suite à une promotion repérée sur le topic d’un forum que je suis du coin de l’oeil, que j’ai décidé de passer enfin au Plug Computer (ordinateur de la taille d’une prise, ou intégré dans une prise): Seagate déstocke ses Dockstar, vendus à 15€ pièce (attention les commerçants en ligne ont vite fait de repérer l’agitation sur un de leurs produits et d’en remonter très vite le prix).
Le Dockstar, tel qu’il est présenté et commercialisé par Segate
C’est une base (dock) pour les disques durs externes Seagate FreeAgent Go 2.5″, qui permet la mise en partage des données via le service en ligne my.pogoplug.com de la société Cloud Engine.
Voici la présentation officielle: http://www.seagate.com/www/fr-fr/products/network_storage/freeagent_dockstar/
Ce service en ligne qui permet des utilisation très aisée a cependant trois gros inconvénients:
- il est gratuit la 1ere année de l’activation du service (car fournit avec le matériel) et payant les années suivantes (~30€/an).
- il ne faut pas avoir peur de confier à une société tierce les accès en ligne et la sécurité des données stockées sur votre disque dur, ainsi qu’un potentiel droit de regard sur vos données à leur propre discrétion…
- via un système privateur de mises à jour, ils peuvent se permettre de faire ce qu’ils veulent de votre matériel: l’upgrader, le révoquer ou le désactiver…
Bref, Seagate en a fait fabriquer une belle quantité, l’a commercialisé à 99$ et cela a du être un flop commercial (notamment à cause de la gestion en ligne tierce et payante et de mauvaises critiques de ce service lié) car ils liquident désormais les stocks à bas prix.
Ce que le Seagate Dockstar est en réalité
C’est un Sheevaplug sous-vitaminé, un mini-ordinateur avec comme spécifications:
- Processeur ARM Marvell Kirkwood 1,2 GHz
- 128Mo de RAM
- 256Mo de mémoire Flash NAND, dont ~32Mo occupés par le système/firmware
- 3 ports USB
- 1 port mini-USB (le port du haut du dock est en fait un mini-USB mâle standard)
- 1 port Ethernet Gigabit
- Consommation annoncée: entre 4 et 8W selon le fonctionnement (et en incluant la consommation d’un HDD 2.5″)
- 8,6 x 8,5 x 3,8, cm (long. x larg. x prof.) / Poids : 0,50 kg
Limites: pas de calcul CPU en virgule flottantes, pas de Real Time Clock (à contourner avec le service NTP).
Que peut-on faire du Dockstar ?
Il y est possible de se passer du système originel et d’en faire ce que l’on veut en y installant Debian, Plugbox Linux ( Arch Linux compilé pour Sheevaplug et Seagate Dockstar), OpenWRT… d’autres plus spécialisés comme FreeSwitch ou PlugBX, et fort probablement d’autres systèmes à venir étant donné la compatibilité de l’architecture ARM et l’intérêt de la communauté sur ce type de matériel.
La machine est capable de booter soit sur sa mémoire flash interne, soit (après légère adaptation du bootloader) sur un media USB (clef, disque dur externe,…)
Il y a donc de quoi faire un petit serveur très capable, sans bruit, discret et basse consommation, sa taille ridicule permet de le planquer n’importe où. C’est parfait pour une machine fonctionnant 24h/24!
Pour info mon petit serveur actuel (sous Voyage Linux, une Debian) est un client léger avec comme spécs: CPU Via C3 500Mhz / 128Mo RAM / 256Mo Flash et s’en sort déjà très bien.
Les 4 ports USB au total et la quantités d’accessoires existants en USB laisse libre-court à l’imagination quant à ce que l’on peut lui rajouter (clef wifi, webcam, carte son, etc…).
Pour voir la bête de l’intérieur, voici des photos de l’ouverture de ses entrailles.
On peut l’imaginer en petit serveur personnel, de mise en réseau de ressources (HDD, imprimante), des services web, serveur de media (upnp, itunes), en serveur VOIP, en serveur de gestion domotique, système de download autonome (torrents, newsgroups, … ), serveur de groupware, de messagerie instantanée, un point d’accès wifi sur mesure (avec portail captif ou sécurité VPN), etc… ça ne dépend que de vos envies.
Voici ce que je compte en faire:
- Serveur OpenVPN (pour me protéger des hotspots quand je suis en déplacement)
- Serveur XMMP/Jabber (Prosody), ainsi qu’un bot jabber (comme ça je n’embêterai plus le serveur jabber.fr avec mes expériences
)
- Serveur web léger (Lighttpd ou Nginx), accompagné de PHP et Sqlite
- Serveur UPnP (pour ma radio wifi Freecom MusicPal et le mediacenter de la Neufbox)
- Partage Samba et NFS
- Serveur de sauvegardes programmées
- Gardien de porte (en combinant IPtable, Fail2ban et le bot XMPP)
et peut-être:
- Relais Icecast
- Lecteur audio MPD (en ajoutant une carte son USB)
- Serveur de webcam avec détection de mouvement et système d’alerte
Au prix de 15€ la bestiole, on peut même imaginer plusieurs de ces petites machines avec un usage spécifique pour chacune.
Quelques ressources en vrac:
Plugapps, plugcomputer (son forum et son wiki), forum.hardware.fr (« Topic Unique »: Seagate Dockstar, le plug computer pas cher).
Petit clin d’oeil au passage à Benjamin Bayart: avoir des services en ligne hébergés chez soi sur une machine qui tourne 24h/24, ne coute quasi-rien et consomme que dalles, c’est désormais possible!
OVH répond à Dédibox avec les offres Reloaded
19/04/08
En réponse directe et rapide (à croire qu’ils ont senti venir le coup) aux nouvelles offres de serveurs dédié de dédibox, OVH renouvelle son offre 2008 et la rebaptise « 2008 Reloaded« .
Au programme: la gamme Kimsufi passent à 1Go de ram minimum (quel soulagement par rapport aux 256Mo…), et le stockage passe de 160 à 250Go.
Le Kimsufi 2008 XXL avec 3Go de ram et 500Go de stockage pour se positionner frontalement aux Dédibox XL.
Des Core2Duo à 4Go de ram et 750Go de stockage (2×750 et 2x1000Go dispo) pour la gamme Superplan.
La gamme Start, quant à elle, disparaît.
Et les serveurs en Xéon pour les plus exigents…
Nouvelle offre Dedibox
9/04/08
Dedibox agrandit sa gamme de serveurs dédiés pour se diversifier des serveurs d’entrée de gamme (architecture Via) qui l’ont fait connaître sur le marché et se placer en concurrence plus frontale avec les offres de dédiés d’OVH
Voici les spécs rapides des machines:
Processeur: Intel® Core® 2 Duo T7200
Architecture: Double coeur – 32 / 64 Bits – Intel® VT
Cache CPU: 4 Mo L2
Memoire vive: 3 Go DDR2
Disque dur: 1x 500Go ou 2x 500Go (raid) SATA2
et leur prix mensuel:
Standard: 49.99 € HT / mois (soit 59.79 € TTC)
Avec Raid: 59.98 € HT / mois (soit 71.74 € TTC)
Lien: Serveur Dedibox XL
