in node.js A20-OLinuXino nodeBB redis ~ read.

Serveur dev A20-OLinuXino

J'ai tout récemment reçu ma carte A20-OLinuXino. Je souhaite explorer plusieurs hacks et réalisations avec celle-ci, à commencer par l'utiliser comme un petit serveur de dev.
A20-OLinuXino-MICRO-4GB

Mon objectif premier avec ce petit serveur, c'est de faire tourner un forum NodeBB.
logo nodeBB

OlinuXino - premiers pas.

J'ai commandé la carte avec une batterie, une alim secteur, l'écran tactile 10" et la petite nappe pour le brancher sur la carte.

J'ai voulu vérifier le bon fonctionnement de l'écran. Je branche celui-ci sur la carte, et cette dernière sur le secteur. Un peu de lumière mais rien qui ne fonctionne.
Pas une réelle surprise, comme expliquée sur le site Olimex il va falloir flasher la mémoire NAND avec une autre image Android. Mais ça je verrai plus tard...

Je branche sur la télé via le HDMI. Change la résolution (petits déboires pour comprendre comment lancer le script en question... je reviendrai là-dessus).
Je finis par y parvenir et vérifie donc le bon fonctionnement de l'écran. All is good :-).

Je reparamètre pour que cela fonctionne sur la télé.

Next step - accès SSH

J'applique les indications du site Olimex.

Malheureusement, je n'obtiens pas un résultat immédiat :-/.

Je bidouille je ne sais pas vraiment quoi au niveau du bureau et cela se met à fonctionner.
Il va falloir que je revienne là-dessus, je ne comprends pas pourquoi ca ne marche pas d'entrée de jeu.
...

Edit du 12 juin :
En fait le périphérique ethernet n'est pas actif. En suivant la manip indiquée sur le site Olimex ça fonctionne. Petit soucis il faut le faire à chaque relance du serveur. Il faut que je trouve un moyen de faire exécuter ces commandes systématiquement au démarrage.
ifconfig eth0 up dhclient eth0

Step 3 - Installation de Node.js

Un petit peu incrédule, j'applique l'installation de Node.js comme je l'ai fait sur mon Ubuntu.
Oups... error...

sudo apt-get install nodejs

Cette dernière commande me renvoit ceci :

Reading package lists... Done Building dependency tree
Reading state information... Done
E: Unable to locate package nodejs

Après quelques recherches cette page web m'a bien aidé.
J'ai donc appliqué les commandes suivantes pour installer la V0.10.28.
$ sudo apt-get install build-essential $ wget http://nodejs.org/dist/v0.10.28/node-v0.10.28.tar.gz $ tar -xzf node-v0.10.28.tar.gz $ cd node-v0.10.28 $ ./configure $ make $ sudo make install

Le make est long... mais ça abouti !

Enfin presque...
C'est bon pour node. En revanche le check de version de npm me renvoit :

Segmentation fault

Je cherche, je cherche...
Dans ces échanges je comprends que le problème vient de node.js lui-même.
Et c'est ici que j'apprends la problématique liée à l'architecture ARM. Une compilation sans la fonctionnalité "snapshot" devrait marcher.
$ ./configure --without-snapshot $ make $ sudo make install

Et ca fonctionne. Cette fois les checks de versions de node et de npm me renvoit les versions, y compris pour npm :-).

Step 4 - un peu d'optimisation ?

Dans mes recherches sur l'utilisation de l'OLinuXino en serveur je suis tombé sur cet article de GuiGui.

Je décide alors d'appliquer les modifications décrites au paragraphe "un load average toujours supérieur à 1".

Bon, en fait, j'ai décroché à l'étape où il faut trouver "le script.bin sur la première partition de la carte SD"...

Je reviendrai là-dessus, plus tard...

Edit du 12 juin :
Je suis revenu là-dessus. J'ai trouvé la partition évoquée. On la trouve simplement en passant par le répertoir /media. On trouve alors le fameux fichier script.bin.
J'ai appliqué les indications de GuiGui et le résultat est au rendez-vous, le load average est bien tombé à quelque chose qui oscille entre 5 et 10%.
En revanche, la désinstallation de paquet ne s'est pas déroulée comme attendu et j'ai notamment perdu la commande dhclient.
J'ai alors décidé de repartir de zéro, ce qui sera l'occasion de travailler sur un nouvel article un peu plus propre.

Step 5 - installation NodeBB

J'ai suivi le standard. Après installation de Redis, NodeBB...

Pas de difficulté particulière sur le paramètrage.

Mais...
Ca marche oui, enfin presque, là aussi, snif.
C'est un peu lent, et pas possible de me connecter.
Je regarde le log et là je constate que ça plante. En même temps une indication m'invite à désactiver un plugin, ce que je fais avec la commande suggérée.
./nodebb reset plugin="nodebb-plugin-mentions"

Ca aide effectivement, mais pas à la connection, d'autant que ca me dit que le compte est provisoirement verrouillé O_o.

Petite recherche sur NodeBB. Il y a une clé à effacer pour accélérer la manoeuvre.
Ce que je fais.
Je n'arrive toujours pas à me connecter, et je n'ai plus rien d'indiqué dans le log...

Va falloir creuser.
Mon NodeBB, c'est pas gagné !

Edit de tard dans la nuit noire...
Cf. le sujet de la clé à effacer. Avec une compilation du dernier Redis, ca marche beaucoup mieux ! Voire même, maintenant, je peux dire que ca marche, presque tout court :-) - même que ca dépote.
Un tuto qui va bien pour installer Redis.

comments powered by Disqus