Tag Archives: raspbian

Installer JEEDOM sur Raspberry Pi

Alors voilà, vous avez maintenant une Raspberry toute prête, qui fonctionne, avec une version de Raspbian à jour. Nous allons maintenant installer JEEDOM sur Raspberry Pi.

Installation de Jeedom

Il faut tout d’abord télécharger le script d’installation disponible sur un dépôt GitHub  :

On exécute ensuite ce script :

Très simple, n’est ce pas… Il reste juste à répondre à quelques petites questions.
Le script d’installation demande tout d’abord une confirmation de l’installation (on est bien d’accord qu’on installe JEEDOM?).
JEEDOM fonctionnant avec une base MySQL, une étape vous demandera ainsi de saisir un mot de passe pour  d’administration du serveur. Celui-ci sera re-demandé pour créer l’utilisateur de JEEDOM et sa base associée.
Vous ne devriez rencontrer aucun problème particulier… si vous avez bien suivi mes pré-requis!!!

Première connexion à JEEDOM

A la fin de l’installation, le script affichera l’URL de connexion à votre interface JEEDOM.

 Le login et mot de passe par défaut sont admin .

Logon - Installer JEEDOM sur Raspberry PiBravo, vous arrivez maintenant sur le dashboard (Tableau de bord). Vous pouvez faire un tour sur le site de JEEDOM et vous régaler avec la documentation qui est (et c’est assez rare pour le préciser) plutôt de bonne qualité.

Prochainement, la découverte des protocoles RFXCOM et Z-Wave grace à notre partenaire Domadoo.

Préparer sa Raspberry pour Jeedom

Comme promis, un premier article rapide lié à JEEDOM, l’application domotique libre, donc totalement transparente, et made in France 🙂
Pour que cette dernière fonctionne bien, autant faire les choses correctement dès le début (hé oui, je me suis fait avoir…). Alors voici un petit tuto pratique:  préparer sa Raspberry pour Jeedom.

Raspbian : Préparer sa Raspberry pour JeedomInstaller Raspbian sur sa Raspberry

Il faudra tout d’abord trouver une carte SD, ou micro SD (SD pour la Raspberry Pi A ou B, et micro SD pour la Raspberry Pi B+ ou Pi 2). Ensuite, télécharger la dernière image officielle de Raspbian ici (ou une autre ) et l’utilitaire Win32DiskImager depuis la page du projet Sourceforge.
Insérez la carte SD, repérer la lettre attribuée par Windows.
Lancer l’utilitaire Win32DiskImager, sélectionner l’image Raspbian que vous avez téléchargé, et la lettre attribuée à votre carte SD. Soyez bien prudent, si vous sélectionnez le mauvais lecteur, vous perdrez toutes vos données. Cliquer sur Write et attendre la fin de l’opération. C’est fini pour cette partie!

Configurer un minimum Raspbian

Pour cela, utilisons la commande raspi-config :

 On reprend ensuite la même recette qui fonctionne très bien :

Parle moi français

Dans un premier temps, nous allons modifier ce que l’on nomme les locales.
Pour cela, il faudra naviguer dans Internationalisation Options, et appuyer sur Entrée. Vous arrivez sur un second menu et il vous faudra choisir Change Locale. Vous allez descendre jusqu’à la ligne en_GB.UTF-8 UTF-8, et la de-sélectionner en appuyant sur la touche Espace. L’astérisque devrait alors disparaître. Continuer de descendre, mais cette fois jusqu’à la ligne fr_FR.UTF-8 UTF-8, et répéter la même opération que précédemment pour cette fois obtenir l’astérisque. Valider par le OK (appuyez sur la touche tabulation pour vous déplacer entre les zone). Puis validez.
Une nouvelle fenêtre va apparaître vous demandant de choisir les locales par défaut. Déplacez-vous sur fr_FR.UTF-8, puis utilisez de nouveau la touche tabulation pour aller sur OK, et validez. Le système va modifier les locales (pas inquiétudes, cela prend un peu de temps). Une fois terminé, vous serez de nouveau devant le menu de configuration basique.

L’heure française

Pour avoir la bonne heure système, il faut définir le Timezone.
Pour cela, retourner dans le menu Internationalisation options et choisir l’option Change Timezone, puis le continent Europe, et la ville Paris.

Passer le clavier en AZERTY

Voilà, tout le système est maintenant entièrement français sauf notre clavier qui devrait toujours être configuré en QWERTY. Pour le passer en AZERTY, retourner dans le menu Internationalisation options. Choisissez cette fois Change Keyboard Layout puis le type de clavier que vous possédez. Pour ma part, je choisi PC générique 105 touches (intl), puis Français, Disposition par défaut pour le clavier, Pas de touche Compose, et à la question Utilser Control+Alt+Ret.Arr. pour arrêter le serveur X j’ai répondu Oui.
Voilà, votre Rapsberry Pi est configurée simplement.

Mettre à jour sa Raspbian (au cas où)

Tout d’abord, on met à jour son OS… toujours penser à faire ses mises à jour!!!

Ensuite, ce sont plus des petites manies. J’installe et configure l’indispensable vim et je le définit en tant qu’éditeur par défaut :

Enfin, j’utilise beaucoup vim donc j’aime bien mon petit confort. On va donc activer manuellement certaines options dans le fichier /etc/vim/vimrc. Commençons par la coloration syntaxique  en de-commentant la ligne :
Décommettez les lignes suivantes afin que vim vous repositionne à la ligne où vous étiez dans le fichier précédemment fermé :
Décommettez les lignes suivantes pour que la recherche et la visualisation dans le fichier soit plus aisée :
Si vous vous sentez l’âme d’un brave, vous pouvez aussi activer l’auto-complétion.

Ajoutons donc un vrai user (notreuser) et affectons le au groupe staff :

Maintenant, ajoutons la permission à cet utilisateur  d’être root via un sudo :

On peut ainsi supprimer en toute sécurité l’utilisateur pi mais avant cela, on le remplace par notre utilisateur dans tous les groupes. Pour cela, on édite le fichier  /etc/group et on remplace toutes les occurrences pi par notreuser. Ensuite nous pourrons le supprimé :

 Et enfin, par sécurité, on autorise uniquement les membres du groups staff à se connecter en ssh sur la machine. Pour cela, on ajoute AllowGroups staff dans le fichier /etc/ssh/sshd_config .

Configurer la partie réseau et Wifi

Je vous laisse relire mon article sur la configuration Wifi, il est clair, simple et rapide.

Afin que votre serveur mail fonctionne correctement, il est absolument nécessaire de faire en sorte que le EHLO (non, il n’y a pas d’erreur) présente un nom de domaine complètement qualifié (Full Qualified Domain Name, fqdn). Pour cela, il faut modifier le fichier /etc/hosts en y ajouter le nom de domaine (exemple, votre framboise s’appelle framboise.jardin.fr) :

Et maintenant, nous pouvons installer et configurer exim4, car une framboise qui envoie des mails, c’est beaucoup mieux.

Plusieurs scénarios communs vous sont proposés, mais pour ma part, je procède ainsi :

Vous pouvez redémarrer votre serveur Exim4 :

Vous pouvez maintenant envoyer des mails :

Et voilà pour les pré-requis à l’installation de JEEDOM!

Ma framboise va plus vite

Bon, ok, pour le moment, nous n’avons pas configurer ni Apache, ni MySQL. Avant cela, nous allons booster un peu plus notre Raspberry.

1. Remplacer OpenSSH  par DropBear

Le simple fait de remplacer OpenSSH par DropBear nous permettra de gagner environ 10Mb de mémoire.
On installe donc le client openssh et DropBear.

On configure Dropbear au travers du fichier /etc/default/dropbear :
On peut maintenant arrêter le serveur Ssh et lancer le serveur Dropbear :
puis on arrête le service SSH.
2. Modifier le Swap
Plusieurs tests ont révélés que notre Framboise est plus performant lorsqu’elle utilise plus de 512 Mb de swap. On va lui faire plaisir et ajouter 1 Go de swap en éditant le fichier /etc/dphys-swapfile
Ensuite nous l’activons :
3. Optimiser le montage de / avec le fichier /etc/fstab
Nous allons ajouter l'option nodiratime (nodiratime – Do not update directory inode access times on the filesystem. Can help performance).
Ensuite, une dernière optimisation dans le fichier /boot/cmdline.txt où on remplacera la valeur deadline par noop :
Ce qu’en dit la doc….

Ma Framboise devient un serveur

Voilà, une fois mon Wifi fonctionnel, je vais pouvoir passer à la suite.

1. Faire un peu de ménage dans les packages
On peut commencer par virer tout ce qui se rapporte au serveur X, puisqu’on n’en aura pas l’utilité, et surtout par sécurité :

Un dernier coup de ménage pour purger tous les paquets dont il ne reste plus que les fichiers de configuration.
Avec aptitude c’est très simple avec la commande aptitude purge ~c (ou aptitude purge ?config-files). Par sécurité, on remplacera purge par search avant pour visualiser uniquement la liste des paquets concernés :

On installe ensuite localepurge pour faire de la place dans les fichier de locales. Pour info, aptitude -R install est utilisé pour installer que les paquets absolument nécessaires :

2. Se mettre à la page

Dernière étape avant de passer aux choses sérieuses, redéfinir l’espace disque de votre Framboise avec raspi-config :

rootFS

Maintenant, on fait un peu de configuration de base.

3. Modification du hostname

4. Modification du fichier /etc/hosts

5. Modifier les locales (peut être réaliser avec raspi-config) et tzdata

Choisir fr_FR.UTF-8
Autre méthode :

Ensuite, on configure le timezone :

On peut aussi modifier l’éditeur par défaut :

Enfin, j’utilise beaucoup vim donc j’aime bien mon petit confort. On va donc activer manuellement certaines options dans le fichier /etc/vim/vimrc. Commençons par la coloration syntaxique  en de-commentant la linge :
Décommettez les lignes suivantes afin que vim vous repositionne à la ligne où vous étiez dans le fichier précédemment fermé :
Décommettez les lignes suivantes pour que la recherche et la visualisation dans le fichier soit plus aisée :
6. Petites modifications utiles
Ajoutons donc un vrai user (idem) et affectons le au groupe staff :
Maintenant, ajoutons la permission à cet utilisateur  d’être root via un sudo :
Un petit truc pratique que j’aime beaucoup, c’est avoir un joli prompt.
Pour cela, je modifie le fichier /etc/bash.bashrc :
7. Installer les packages de base + Apache/Php/MySQL

Ménager et protéger RaspBerry Pi

Vous n’utilisez pas le serveur X de votre framboise, et c’est normal pour un serveur domotique.
Je vous propose donc de supprimer tous les paquets qui ne servent pas :

Un dernier coup de balai s’impose dans les fichiers de configuration :

Enfin, on installe localepurge pour faire de la place dans les fichier de locales et on l’execute :

Voila pour la partie ménage. Attelons nous maintenant à la partie sécurité. Rien de bien terrible, mais cela fait partie de mes habitudes.
Tout d’abord, on serre un peu la vis du SSH avec le fichier /etc/ssh/sshd_config. Pour cela, on va interdire l’accès au root et autoriser que les membres d’un groupe à se connecter :

Maintenant, on installe fail2ban et créer des règles pour contrer les petits malins. Ce service va donc lire les fichiers logs, repérer les échecs d’identification et les adresses IP correspondantes, les bloquer avec une règle iptables et vous envoyer un mail pour vous avertir.

Maintenant, on passe à la configuration. Tout d’abord le fichier /etc/fail2ban/jail.conf . Je modifie l’action par défaut :

action = %(action_mwl)s

Qui correspond à :

Ensuite nous activons les régles pour les services ssh-ddos, apache, apache-noscript, et apache-overflows en positionnant la variable enable sur true :

Il faut redémarrer le service pour prendre en compte ces modifications :
 

RaspBerry, mon espion Webcam

Prochaine étape, tout aussi rapide que les précédentes, l’installation de la Webcam sur la RaspBerry. Pour cela, nous utiliserons Motion et ffmpeg.
Je dispose d’une Webcam Logitech Pro 5000, bien reconnue par ma Raspbian.

Ma webcam est bien détectée, avec aucune erreur.

On installe ensuite les packages nécessaires :

L’installation terminée, nous nous attaquons au fichier de configuration /etc/motion/motion.conf .
En gros, voici ce que j’ai modifié :

Ensuite, nous devons créer le répertoires ou seront stockées les images, dans le cas d’une détection de mouvements :

Et activer le mode Daemon dans le fichier /etc/default/motion :
Il ne nous reste plus qu’à démarrer notre navigateur sur l’adresse et le port configuré.

motion_browser

Ou mieux, essayer avec VLC :