Sauver ma conférence avec un Raspberry Pi

3 avr. 2014
Si comme moi vous intervenez en entreprise pour des conférences ou des formations, vous avez sans doute, à moins d'utiliser de faibles ressources IT, besoin que vous ou votre assistance puisses se connecter à internet pour charger une ressource, voir une vidéo ou accéder à une application. Seulement voilà, ceux qui vous ont commandité ne savent pas toujours si le wifi passe, si le DSI a un VPN ou un firewall très conservateur, qui bloque tout, ou si votre lien n'est pas tout simplement blacklisté car l'adresse en est confidentielle. Cela vous conduit à passer en mode dégradé, à vous excuser de ce dont vous n'êtes que peu responsable.
L'idéal serait de pouvoir emmener avec soi un petit morceau d'internet comprenant les ressources nécessaires et consultables pour ceux qui sont connectés dans un réseau isolé.

Un mini-internet en bouteille
Je vous propose de sauver votre conférence pour 35 Euros, avec une carte Raspberry PI. Un exemple d'innovation frugale.... Ainsi votre assistance pourra:
  • Se connecter à un site local, des ressources, déposer ou lire des fichiers : http://raspberrypi.local (soit sur la carte mémoire soit dans le répertoire www que vous aurez mis au préalable sur une clef usb)
  • Lancer des applications
  • Télécharger des présentations lors de la conférence
Je vais vous décrire ci-après les étapes, mais une version image prête à graver sur carte mémoire (environ 1Go compressée) est disponible avec toutes les options préinstallées.



Quelques informations sur l'image Linux:
  • Elle est installable sur une carte 4Go. Sur une carte plus grande, il suffira de taper sudo raspi-config et de choisir "Expand Root Partition to Fill SD Card"
  • Le login est pi et le mot de passe raspberry
  • pour la base de donnée le login est root et le mot de passe root
  • L'écran VNC est sur l'id 1, le port est 5901 et le mot de passe raspberr
  • ssh -X pi@raspberrypi.local mathematica lance le logiciel de calcul dans une fenêtre X11
  • http://raspberrypi.local vous fournira un lien sur les deux sites web hébérgés ainsi que l'IP de la carte
  • Il suffit de connecter la carte à un hotspot portable (par exemple DIR-505) pour se connecter à plusieurs en wifi.
  • Les fichiers du site web interne sont dans /home/pi/www, ceux de la clef USB externe sont dans un sous-répertoire www
Vous voici avec quelques grammes d'internet en bouteille, indépendant de votre environnement et ne nécessitant que deux prises de courant, voire d'une seule avec le DIR-505 dont vous pouvez utiliser le port USB pour alimenter le Raspberry !

Ipad connecté par vnc via le hotspot DIR-505

Quelques commandes utiles:
  • sudo raspi-config : permet de changer le nom du site web, par défaut http://raspberrypi.local, ainsi que le mot de passe super-utilisateur (par défaut raspberry)
  • df -h : affiche l'espace utilisé sur chaque disque
  • vncserver stop : arrête le serveur VNC
  • vncserver :1 : démarre le VNC sur l'écran 1
  • sudo apt-get update : met à jour les paquets d'installation (la carte doit être sur un réseau connecté à internet, pas sur le réseau local)

 Vos questions? Remarques?


Lancement à distance de Mathematica
La réalisation d'une carte SD bootable ne nécessite que peu de connaissances une fois que l'on peut se connecter en SSH.
Si vous voulez réaliser vous-même une carte bootable de même type, voici les étapes et
la liste des commandes, à partir de la distribution linux standard Raspbian:

ssh pi@raspberrypi.localaccès au terminal, mot de passe: raspberry. SSH est disponible sur mac et linux. Pour windows, vous pouvez utiliser PuTTY.
sudo bashpasser super-utilisateur
apt-get install usbmountafin que les clef usb se montent automatiquement
apt-get install apache2 php5 libapache2-mod-php5installation du serveur web
apt-get install mysql-server mysql-clientinstallation de la base de donnée
apt-get install avahi-daemoninstallation du serveur zéro configuration (optionnel si votre distribution l'a déjà)
sudo insserv avahi-daemonlancement du service (éventuellement modifier /etc/hosts). Autre option: /etc/init.d/hostname.sh
service apache2 restartredémarrage apache
apt-get install phpmyadmininstaller une interface à la base de données accessible à http://raspberrypi.local/phpmyadmin
nano /etc/apache2/apache2.confajouter la ligne
Include /etc/phpmyadmin/apache.conf
à la fin du fichier
service apache2 restartredémarrer
rebootredémarrer la carte
ssh pi@raspberrypi.localse relogger
mkdir www1 
cd /var/www
créer les sites web
sudo ln -s /home/pi/www www1
sudo ln -s /media/usb0/www www2
créer les liens symboliques
sudo nano /etc/avahi/services/multiple.serviceentrer:
<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
        <name replace-wildcards="yes">%h</name>
        <service>
                <type>_device-info._tcp</type>
                <port>0</port>
                <txt-record>model=RackMac</txt-record>
        </service>
        <service>
                <type>_ssh._tcp</type>
                <port>22</port>
        </service>
</service-group>
sudo apt-get install tightvncserverinstalle un serveur VNC
sudo nano /etc/init.d/tightvncserverpour que le VNC démarre au boot:
#!/bin/sh
### BEGIN INIT INFO
# Provides:          tightvncserver
# Required-Start:    $local_fs
# Required-Stop:     $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start/stop tightvncserver
### END INIT INFO
  
# More details see:
# http://www.penguintutor.com/linux/tightvnc
### Customize this entry
# Set the USER variable to the name of the user to start tightvncserver under
export USER='pi'
### End customization required  
eval cd ~$USER
  
case "$1" in
start)
su $USER -c '/usr/bin/tightvncserver :1'
echo "Starting TightVNC server for $USER "
;;
stop)
pkill Xtightvnc
echo "Tightvncserver stopped"
;;
*)
echo "Usage: /etc/init.d/tightvncserver {start|stop}"
exit 1
;;
esac
exit 0
sudo chown root:root /etc/init.d/tightvncserverPour changer de propriétaire
sudo chmod 755 /etc/init.d/tightvncserverrendre exécutable
sudo update-rc.d tightvncserver defaultsexécuter au démarrage

Il vous reste à redémarrer le tout: sudo reboot

Aucun commentaire:

Enregistrer un commentaire

Remarque : Seul un membre de ce blog est autorisé à enregistrer un commentaire.