Forum des Objets Communicants et Solutions pour les Libérer...


 
AccueilAccueil  GalerieGalerie  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  

Partagez | 
 

 [tuto] Installer openjabnab sur un RPI sous linux

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
laurent207
Bronze Nabz
Bronze Nabz


Age : 38
Localisation : derrière mon écran
Nabaztag : Nabaztag:tag v2 ; Mir:ror
Nbr de messages : 108
Carottes : 1176

MessageSujet: [tuto] Installer openjabnab sur un RPI sous linux   Ven 17 Avr 2015 - 11:55

Voici un petit tuto qui vous permettra de redonné vie à votre NabazTag:tag grâce à OpenJabNab (ne fonctionne pas avec les NabazTag v1, sans nombril)

1. Pré-requis
- Un raspberry pi avec son alimentation
- Une carde SD de 4Go ou plus
- L'image d'un raspbian et d'un logiciel pour transférer l'image sur la SD (http://www.raspberrypi.org/downloads/)
- un logiciel de prise de main à distance en SSH, j'utilise putty (le clique droit de la souris permet de coller se que l'on a copier).
- 1h à 2h (temps de compilation en fonction de la puissance de la machine)

2. Étapes préalables à faire sur le raspberry pi
Une fois connecté au raspberry pi (rpi), si c'est la première fois que vous le démarrez raspberry pi un petit utilitaire se lance automatiquement qui vous permet de gérer quelques points de la framboise (rpi).

I. Configuration du rpi
Si vous êtes déjà connecté en SSH, lancez la commande suivante :

Code:
sudo raspi-config

Puis dans l'écran suivant, choisir en ce déplaçant avec les flèches haut et bas et en validant par entrer :
- "1 Expand Filesystem", pour tirer parti des 4 Go de mémoire.
- "2 Change User Password", pour changer le mot de passe de l'utilisateur "pi".
- "3 Enable Boot to Desktop/Scratch", "Console Text console", pour le lancement de l'interface graphique au boot.
- "4 Internationalisation Options", pour régler les variables locale (I1) et l'heure (timezone,, I2).
- "8 Advanced Options", puis "A3 Memory Split" afin de changer la taille de la mémoire vidéo en mettant 16 (pour 16Mo). OpenJabNab n'a pas besoin d'une interface graphique.
- "8 Advanced Options", puis "A4 SSH" activer l'accès SSH, si ce n'est pas déjà fait ^^

Avant d’installer OpenJabNab, il faut attribuer une adresse IP fixe au rpi, au NabazTag et éventuellement à un ordinateur de votre réseau pour la configuration via navigateur.
Vous avec deux solutions, soit vous modifiez les fichiers de configuration de l'interface réseau de votre rpi pour qu'il utilise une IP fixe, soit vous le faite via votre routeur en attribuant un baux static à l'adresse MAC du rpi. Choix plus judicieux car cela permet, en plus de ne pas a avoir à modifier les fichiers de conf à chaque réinstallation du rpi, et d'en attribuer une aussi au NabazTag.

Voici ma configuration réseau (bien sûr à modifier selon votre propre configuration réseau dans les fichiers suivants) :
Routeur : 192.168.0.254
Ordinateur : 192.168.0.1
Raspberry pi : 192.168.0.199
NabazTag : 192.168.0.190

Si vous voulez quand même mettre une IP fixe :

Code:
sudo nano /etc/network/interfaces

Contenu du fichier :
Code:

auto lo

iface lo inet loopback
#iface eth0 inet dhcp
iface eth0 inet static
address 192.168.0.199
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.254
dns-nameservers 192.168.0.199 192.168.0.254

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

Code:
sudo nano /etc/resolv.conf

Contenu du fichier :
Code:
nameserver 192.168.0.199
nameserver 192.168.0.254

II. Installation du serveur DNS bind9
1) Lancement de l'installation de bind9

Code:
sudo apt-get install bind9

2) Configuration de bind9

Code:
sudo nano /etc/bind/named.conf.local

Contenu du fichier :
Code:
zone "raspberry.pi"{
type master;
file "/etc/bind/db.raspberry.pi";
};

zone "0.168.192.in-addr.arpa"{
type master;
file "/etc/bind/db.192.168.0.inv";
};

Dans le fichier précédent, on a fait mention à deux fichiers : db.raspberry.pi et db.192.168.0.inv, on va donc les créer.

Code:
sudo nano /etc/bind/db.raspberry.pi

Contenu du fichier :
Code:
$TTL 604800
@ IN SOA ojn.raspberry.pi. root.raspberry.pi. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ojn.raspberry.pi.
ojn IN A 192.168.0.199
192.168.0.199 IN A 192.168.0.199

Code:
sudo nano /etc/bind/db.192.168.0.inv

Contenu du fichier :
Code:
$TTL 604800
@ IN SOA ojn.raspberry.pi. root.localhost. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ojn.raspberry.pi.
199 IN PTR ojn.raspberry.pi.

Le 199 de la dernière ligne correspond au dernier digit de l'adresse IP de mon rpi (à modifier selon votre config réseau).

3) On lance le serveur

Code:
sudo /etc/init.d/bind9 start

Il se lancera ensuite automatiquement au démarrage

4) On redémarre le rpi

Code:
sudo reboot

On va tester le bon fonctionnement du serveur DNS :

Code:
ping ojn.raspberry.pi

Attention, ce n'est pas comme sous Windows, ça ne s'arrête pas tout seul au bout de la 4ème
requête. Terminer avec un Ctrl+C.

On peut tester le ping depuis votre PC (le mien est sous Windows), ne pas oublier de modifier les DNS de l'interface réseau. On ping l'IP du rpi pour voir si la liaison entre les deux fonctionne et après on ping le serveur DNS du rpi (ojn.raspberry.pi). Si ça ne fonctionne pas, il y a un problème de configuration de bind9 sur le rpi.

3. Installation d' OpenJabNab
Personnellement, pour bien séparer les sites web sur le rpi et s'y retrouver plus facilement, j'ai préféré créer un utilisateur nommé 'ojn', bien sûr c'est facultatif.

I. Création de l'utilisateur 'ojn' (facultatif)
1) On passe en administrateur

Code:
su

2) Création de l'utilisateur 'ojn'
On crée l'utilisateur 'ojn', on le rajoute dans des groupes (propre à raspbian, à modifier si vous utilisez une autre distribution) et on édite le fichier des utilisateurs de la commande 'sudo'.

Code:
adduser ojn
Code:
usermod -G adm,dialout,sudo,plugdev,users,input,spi,gpio ojn
Code:
nano /etc/sudoers

Rajoutez "ojn ALL=(ALL) NOPASSWD: ALL" à la fin du fichier, cela permettra de ne pas taper le mot de passe de l'utilisateur 'ojn' à chaque fois que l'on fait appel à la commande 'sudo'.

II. Installation de l'environnement d'OpenJabNab
1) On se connecte avec l'utilisateur 'ojn'

Code:
su ojn

2) Installation du serveur web et configuration de ce dernier
On installe le serveur web (ici apache v2), on active le mode rewrite d'apache et on le redémarre pour que le mode rewrite soit prit en compte.

Code:
sudo apt-get install apache2 php5 libapache2-mod-php5
Code:
sudo a2enmod rewrite
Code:
sudo service apache2 restart

3) Installation de quelques packages supplémentaire
On installe quelques packages ou on les met à jour pour la compilation d'OpenJabNab (s'ils sont déjà présent sur la distribution, ça le détectera et ça ne les téléchargera pas).

Code:
sudo apt-get install git qt-sdk qt4-qmake qt4-qtconfig qt4-designer qt4-dev-tools libqwt5-qt4-dev build-essential build-essential g++

4) Téléchargement d'OpenJabNab
On télécharge les sources d'OpenJabNab à la racine du dossier de l'utilisateur courant.

Code:
cd
Code:
sudo git clone https://github.com/OpenJabNab/OpenJabNab.git

Optionnel, ajouter les voix des Nabaztag/tag pour les humeurs.

Code:
cd ~/OpenJabNab/http-wrapper/ojn_local/plugins/
Code:
sudo wget http://down.dandu.be/nabaz-lang-mp3-fr.tar.gz
Code:
sudo wget http://down.dandu.be/nabaz-ojn-mp3-fr.tar.gz
Code:
sudo tar xvfz nabaz-lang-mp3-fr.tar.gz
Code:
sudo tar xvfz nabaz-ojn-mp3-fr.tar.gz

5) On redonne la propriété du dossier à l'utilisateur 'ojn'

Code:
sudo chown -R ojn:ojn ~/OpenJabNab/

6) Préparation à l'exécution d'OpenJabNab
On donne les droits de lecture-écriture au répertoire 'ojn_include' qui sera utilisé par le service web pendant le fonctionnement du serveur OpenJabNab.

Code:
sudo chmod 0777 ~/OpenJabNab/http-wrapper/ojn_admin/include

7) Ajout dans apache le site d'OpenJabNab
On commence par créer un fichier de configuration d'ojn dans le dossier d'apache des sites disponible.

Code:
sudo nano /etc/apache2/sites-available/ojn

Contenu du fichier :
Code:

DocumentRoot /home/ojn/OpenJabNab/http-wrapper/
ServerName ojn.raspberry.pi

Options FollowSymLinks
AllowOverride None

Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all


ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit, alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

Maintenant, on ajoute la configuration du site d'ojn dans apache et on relance apache pour que la modification soit prise en compte.

Code:
sudo a2ensite ojn
Code:
sudo service apache2 reload

Si vous avez un message d'erreur qui ressemble à ceci :
"Reloading web server config: apache2apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName"

Tapez ceci pour résoudre le problème :
Code:
sudo sh -c 'echo "ServerName localhost" >> /etc/apache2/conf.d/name' && sudo service apache2 restart

Cool Compilation d'OpenJabNab
On va dans le dossier d'OpenJabNab, on demande la génération des makefiles pour la compilation et on compile. Sur un rpi modèle B révision 2 (donc ethernet + 512Mo de RAM), ça prends environs 1 heure.

Code:
cd ~/OpenJabNab/server
Code:
qmake -r
Code:
make

9) Configuration d'OpenJabNab
On va créer un fichier 'ini' sur lequel le serveur s’appuiera. A modifier si vous avez créé un autre nom de domaine.

Code:
sudo nano ~/OpenJabNab/server/bin/openjabnab.ini

Contenu du fichier :
Code:
[Config]
httpListener = true
httpApi = true
httpVioletApi = true
xmppListener = true
RealHttpRoot = ../../http-wrapper/ojn_local/
HttpRoot = ojn_local
HttpPluginsFolder = plugins
StandAloneAuthBypass = true
AllowAnonymousRegistration = true
AllowUserManageBunny = true
AllowUserManageZtamp = true
SessionTimeout = 500
TTS = acapela
MaxNumberOfBunnies = 64
MaxBurstNumberOfBunnies = 72

[OpenJabNabServers]
PingServer = ojn.raspberry.pi
BroadServer = ojn.raspberry.pi
XmppServer = ojn.raspberry.pi
ListeningHttpPort = 8080
ListeningXmppPort = 5222

[Log]
LogFile = openjabnab.log
LogFileLevel = Debug
LogScreenLevel = Warning
DisplayCronLog = false


Ajoutez cette ligne au fichier hosts (sous windows, il faut le faire avec un éditeur en tant qu’administrateur, et le fichier est dans ce répertoire :  C:\Windows\System32\drivers\etc)
Code:
192.168.0.199 ojn.raspberry.pi

Se rendre à l'adresse suivante avec votre navigateur :
Code:
http://ojn.raspberry.pi/ojn_admin/install.php
Normalement, il n'y a rien à modifier puis validez.

10 ) On lance le serveur OpenJabNab
On se connecte au rpi avec l'utilisateur 'ojn' ou 'pi', selon votre configuration de votre rpi. On va dans le dossier d'OpenJabNab et on démarre le service.

Code:
cd ~/OpenJabNab/server/bin
Code:
./openjabnab

Le serveur doit se lancer sans erreur.

Retour sur l'ordinateur, on clique sur le lien (vers http://ojn.raspberry.pi/ojn_admin/index.php). Les statistiques doivent être affichées en bas, preuve que le serveur fonctionne.

'Bunnies » 0/1 • Ztamps » 0 • Plugins » 28/28 '

11) Configuration de NabazTag
Pour accéder à la configuration du lapin, on appui sur le bouton du NabazTag avant de mettre son alimentation, puis quand les led clignote en bleu, relâcher le bouton, puis connectez vous en wifi dessus (192.168.0.1) avec un appareil. Personnellement j'ai utilisé mon smartphone pour accéder au réseau wifi du NabazTag.

Voici la configuration à mettre dans « advanced » (lien en bas à droite) :

DHCP enabled : no
Local IP : 192.168.0.190
Local Mask : 255.255.255.0
Local gateway : 192.168.0.254
DNS server : 192.168.0.199

Violet Platform : ojn.raspberry.pi/vl

Une dernière information : le serveur ojn sur le rpi s’arrête avec un Ctrl + C
4. Lancement automatique
I. transforme un programme en service
Le but de la manœuvre est de faire démarre le service OpenJabNab précédemment créer à chaque démarrage du rpi.

1) On crée le fichier correspondant au service.
On commence par créer un fichier 'openjabnab' dans le dossier de l'utilisateur.

Code:
sudo nano ~/openjabnab

Contenu du fichier :
Code:
#! /bin/sh -e

### BEGIN INIT INFO
# Provides: openjabnab
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Démarrage OJN automatique
# Description: Lance le serveur OpenJabNab au démarrage du RPi.
### END INIT INFO

DAEMON="/home/ojn/OpenJabNab/server/bin/openjabnab" #ligne de commande du programme
DIR="/home/ojn/OpenJabNab/server/bin/"
DEAMON_OPT="" #argument à utiliser par le programme
DAEMONUSER="ojn" #utilisateur du programme
DEAMON_NAME="openjabnab" #nom du programme (doit être identique à l'exécutable)

PATH="/sbin:/bin:/usr/sbin:/usr/bin" #ne pas toucher

test -x $DAEMON || exit 0

. /lib/lsb/init-functions

d_start () {
log_daemon_msg "Démarrage du service OpenJabNab"
start-stop-daemon -background --chdir $DIR --name $DEAMON_NAME --start --quiet --user $DAEMONUSER --exec $DAEMON -
log_end_msg $?
}

d_stop () {
log_daemon_msg "Arrêt du service OpenJabNab"
start-stop-daemon --chuid ojn:ojn --name $DEAMON_NAME --stop --retry 5 --quiet --name $DEAMON_NAME
log_end_msg $?
}

case "$1" in
start|stop)
d_${1}
;;

restart|reload|force-reload)
d_stop
d_start
;;

force-stop)
d_stop
killall -q $DEAMON_NAME || true
sleep 2
killall -q -9 $DEAMON_NAME || true
;;

status)
status_of_proc "$DEAMON_NAME" "$DAEMON" "system-wide $DEAMON_NAME" && exit 0 || exit $?
;;

*)
echo "Utilisation :
/etc/init.d/$DEAMON_NAME {start|stop|force-stop|restart|reload|force-reload|status}"
exit 1
;;

esac
exit 0

2) On le teste
Pour le tester, il faut le rendre exécutable.

Code:
sudo chmod 0755 ~/openjabnab
Code:
./openjabnab start

Vérifier que le serveur fonctionne en allant sur http://ojn.raspberry.pi/ojn_admin avec votre navigateur.
On arrête le service sur le rpi.

Code:
./openjabnab stop

3) On l'ajoute au démarrage du rpi
Pour automatiser son lancement automatique, il faut copier le fichier 'openjabnab' dans le dossier '/etc/init.d/', lui rajouter les options d'exécution (ici celles par défaut de l'outil update-rc.d), puis on redémarre le rpi.

Code:
sudo cp openjabnab /etc/init.d/openjabnab
Code:
sudo update-rc.d openjabnab defaults
Code:
sudo reboot

Au redémarrage, vérification :

Code:
/etc/init.d/openjabnab status

Qui doit retourner :

[ ok ] /home/ojn/OpenJabNab/server/bin/openjabnab is running.

A vous de joué !
Revenir en haut Aller en bas
Speacraft
Lapin nain
Lapin nain


Localisation : Versailles
Nbr de messages : 16
Carottes : 672

MessageSujet: Re: [tuto] Installer openjabnab sur un RPI sous linux   Ven 4 Sep 2015 - 17:55

Bonjour,
Je viens d'installer OpenJabNab, le problème est que lorsque je tente de m'inscrire (depuis le navigateur), il me marque "Error :". J'ai tenté de réinstaller OJN mais rien à faire ca reste. Je voudrai savoir donc si c'est possible de s'inscrire manuellement dans les fichiers du serveur.

Speacraft
Revenir en haut Aller en bas
piloulx
Lapin nain
Lapin nain


Localisation : Lisbonne
Nbr de messages : 2
Carottes : 518

MessageSujet: Re: [tuto] Installer openjabnab sur un RPI sous linux   Jeu 3 Déc 2015 - 15:19

Bonjour,

J'ai exactement le même problème que Speacraft.
Une idée de l'erreur possible ?

Merci
Revenir en haut Aller en bas
Contenu sponsorisé




MessageSujet: Re: [tuto] Installer openjabnab sur un RPI sous linux   

Revenir en haut Aller en bas
 
[tuto] Installer openjabnab sur un RPI sous linux
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [tuto] Installer openjabnab sur un RPI sous linux
» [TuTo] Installer un Custom Firmware sur votre PSP
» [Tuto] Installer et configurer Mumble
» [Pas de réponse / Résolu] Jouer a GTA sous linux.
» Mumble sous linux

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum des Objets Communicants et Solutions pour les Libérer... :: II. Nabaztag, Karotz, mir:ror, Dal:Dal (Violet Object Operating System) :: Les Nabaztags sont sauvés ! Les solutions... :: [OJN] OpenJabNab-
Sauter vers: