Monitorer son RPI avec Munin

Munin est un logiciel de supervision basé sur
RRDTools permettant de centraliser la gestion des graphes de données. Il permet de générer des graphiques complexes pour surveiller des machines et les processus.
Munin est constitué d'un serveur principal appelé
Munin-master, récupérant les informations à intervalles réguliers et de plusieurs noeuds appelés
Munin-node.
Munin est capable d'envoyer des notifications par mail lorsqu'une donnée d'un des plugins dépasse une limite définie par l'administrateur.
La communication entre le serveur maître et les machines noeuds utilise, par défaut le protocole
TCP/4949.
Installation de Munin-master
Le serveur maître doit disposer d'un serveur Web configuré avec le répertoire root par défaut :
/var/www.
Munin est présent dans les dépôts, il suffit donc de saisir la commande suivante :
$ sudo apt-get install munin munin-node munin-plugins-extra
$ sudo a2disconf munin
|
Il faut maintenant créer le lien symbolique :
$ sudo ln -s /var/cache/munin/www /var/www/munin
|
La configuration de Munin sur les machines noeuds est centralisée dans le fichier
/etc/munin/munin-node.conf. Il faut éditer ce fichier pour y configurer l'adresse IP de votre serveur maître :
Attention à la syntaxe !
Relancer le service Munin-node pour faire prendre en compte la nouvelle configuration :
$ sudo /etc/init.d/munin-node restart
|
La périodicité des mises à jour des graphes est déterminée par le programme munin-cron qui (par défaut) se lance toutes les 5 minutes.
A l'installation, le fichier /etc/cron.d/munin a été créé. En éditant ce dernier, vous pourrez modifier la périodicité des mises à jour des graphes.
Les statistiques sont disponibles à l'adresse suivante :
Pour accéder aux stats à partir du NET ou d'une autre machine du réseau, modifiez le fichier de configuration d'Apache :
$ sudo nano /etc/apache2/sites-available/default
|
et ajoutez une entrée
Directory
N'oubliez pas de relancer Apache !
$ sudo /etc/init.d/apache2 restart
|
Si besoin, changer aussi les droits sur les répertoires de munin :
$ sudo chown -R munin:munin /var/cache/munin/www
$ sudo chown -R munin:munin /var/cache/munin/www/localdomain
|
Si munin envoi plusieurs emails dont l'objet est
"Cron job warn about "not a reference at"
et le contenu
"not a reference at /usr/share/perl5/Munin/Master/Utils.pm line 908"
en root, tapez :
$ sudo rm -f /var/lib/munin/{datafile,datafile.storable,htmlconf.storable}
|
▉
Monitorer Apache avec Munin

Certains plugins d'Apache requièrent l'activation des modules
mod_info et
mod_status dans le serveur web. Pour vérifier les plugins installés, vérifier la présence de leurs liens symboliques (
.conf et
.load ) dans
/etc/apache2/mods-enabled/
$ ls /etc/apache2/mods-enabled/
|
S'ils n'y sont pas, les activer, ils vont récupérer les données qui serviront pour les graphiques.
$ sudo a2enmod status
$ sudo a2enmod info
|
Puis activer les plugins dans munin-node :
$ sudo ln -s /usr/share/munin/plugins/apache_accesses /etc/munin/plugins/apache_accesses
$ sudo ln -s /usr/share/munin/plugins/apache_processes /etc/munin/plugins/apache_processes
$ sudo ln -s /usr/share/munin/plugins/apache_volume /etc/munin/plugins/apache_volume
|
Editez le fichier de configuration /etc/munin/plugin-conf.d/munin-node puis ajoutez les lignes suivantes en fin de fichier :
et on relance
$ /etc/init.d/munin-node restart
|
Editez le fichier de configuration
/etc/apache2/apache2.conf puis décommentez ou ajoutez les lignes suivantes en fin de fichier :
On vérifie si la syntaxe est correcte :
Si pas d'erreurs, on relance Apache pour prendre en compte les modifications
$ /etc/init.d/apache2 reload
|
Si vous avez des erreurs ou si vos graphiques ne se peuplent pas, installer la librairie Perl suivante !
$ apt-get install libwww-perl
▉
|
Ajouter un plugin à Munin

Pour ajouter un plugin à Munin, rien de plus facile...
Les plugins se trouvent dans
/usr/share/munin/plugins/. Ils ne sont pas tous actifs par défaut. Pour qu'un plug-in soit actif, un lien symbolique vers
/etc/munin/plugins/ doit être créé.
Nous allons donc travailler aujourd'hui sur un plugin pour le Raspberry PI qui va nous faire de jolis stats sur la température et la vitesse d'horloge de notre merveilleuse petite machine.
Tout d'abord, il nous faut un script et par chance celui-ci est disponible
ici !
Copier le dans le dossier ou ce trouvent les plug-in
/usr/share/munin/plugins/ puis faite :
$ cd /usr/share/munin/plugins
$ sudo chmod +x pisense_
$ cd /etc/munin/plugins
$ sudo ln -s /usr/share/munin/plugins/pisense_ /etc/munin/plugins/pisense_temp
$ sudo ln -s /usr/share/munin/plugins/pisense_ /etc/munin/plugins/pisense_clock
$ sudo ln -s /usr/share/munin/plugins/pisense_ /etc/munin/plugins/pisense_volt
|
et on modifie le fichier de conf
$ sudo nano ../plugin-conf.d/munin-node
|
Insérer à la fin du fichier :
Pour prendre en compte les modifs :
$ sudo munin-node-configure --suggest --shell
|
Puis enfin, redémarrez le munin-node
$ sudo /etc/init.d/munin-node restart
|
Après quelques minutes, vous devriez voir vos jolis graphiques s'afficher dans votre butineur WEB à l'adresse suivante : xx.xx.XX.XX/munin/index.html.
▉
Notification par email avec Munin

Lorsque certains capteurs de votre monitoring atteignent un seuil critique, Munin a la possibilité de vous le notifier par mail.
Pour cela vous aurez besoin que
sendmail soit installé et fonctionnel.
Vérifions cela grâce à la commande suivante :
$ echo 'Petit test de sendmail pour Munin' | mail -s 'test sendmail' monmailamoi@fai.com
|
Editons le fichier /etc/munin/munin.conf sur le serveur :
Les seuils pour les notifications sont définis par warning et critical.
Ce qui veut dire que lorsque la température du CPU aura dépassé les 60°, Munin nous envera une notification par email.
On redémarre munin pour prendre en compte les modif :
$root@teleinfo:~# su - munin --shell=/bin/bash
$munin@teleinfo:~$ /usr/share/munin/munin-update
▉
|
Monitorer votre switch ou votre routeur via le protocol SNMP

Il suffit d'installer un munin-node sur une machine ayant accès à votre snmp.. (voir sur le serveur munin lui même)
Un petit coup de "munin-node-configure -snmp
-snmpversion -snmpcommunity "
Puis on rajoute un hôte virtuel dans la config de munin et ça roule...
Il est également intéressant de pouvoir superviser plusieurs machines qui sont derrières un routeur.
Pour se faire, nous allons effectuer du NAT sur le routeur afin de rediriger les différents ports extérieurs vers le port du munin-client sur la box du réseau local.
Il suffit donc de modifier le fichier de config de Munin et d'en préciser les ports :
# nano /etc/munin/munin.conf
|
Trop façile...
▉
Monitorer MySQL avec Munin

Les plugins mysql sont normalement activé à l'installation, pour le vérifier, vous pouvez taper :
Cette commande vous donnera une liste des mods en précisant s'ils sont installés et s'ils peuvent fonctionner.
Si vous avez l'erreur ci-dessous pour les plugins mysql
Vous pouvez corriger ce problème et réactiver manuellement les plugins en installant ce paquet :
# apt-get install libcache-cache-perl
|
Une fois installé, vérifier que votre problème est bien corrigé avec " munin-node-configure ". Vous pouvez ensuite réactiver les plugins mysql en créant les liens symboliques
# ln -s /usr/share/munin/plugins/mysql_* /etc/munin/plugins/
|
Rechargez la configuration de munin pour que la nouvelle config soit pris en compte
# /etc/init.d/munin-node restart
|
▉
Installation et configuration de Raspbian "wheezy" sur Raspberry PI

Tout d’abord, il nous faut télécharger le fichier image de Raspbian pour processeur de type ARM sur le serveur de Raspberrypi et le décompresser dans le dossier de votre choix sur votre PC sous Linux.
Les utilisateurs de Linux utiliseront l’outil dd et les utilisateurs de Windows utiliseront Win32DiskImager. Le logiciel sous Windows ne sera pas abordé ici.
Installation du système
Insérez la carte mémoire dans le lecteur du PC et recherchez le nom système de la carte SD à l’aide de cette commande
Dans notre exemple la carte SD porte le nom /dev/sdc (/dev/sdc1 représente l’unique partition).
Nous allons maintenant démonter le disque /dev/sdc
Nous copions l’image sur la carte mémoire avec la commande dd.
ATTENTION : Toute les données sur la carte SD seront supprimées.
$ dd if=/home/bidule/Desktop/2012-08-16-wheezy-raspbian.img of=/dev/sdc
|
Démontez la carte SD proprement et insérez la dans le port SD du Raspberry PI puis mettez le sous tension pour lancer le démarrage du système.
Si vous n'êtes pas trop à l'aise avec la ligne de commande, il est possible d'utilser Etcher, logiciel basé sur le framework Electron qui vous protègera contre l'écriture accidentelle sur vos disques durs et garantira que chaque octet de données a été écrit correctement sur la carte SD.

Configuration du système
Pour connaître l'adresse IP attribuée à votre machine sans être dessus, vous pouvez scanner votre réseau à la recherche d'une nouvelle adresse IP grâce à la commande suivante :
$ nmap -sP 192.168.0.0/24
|
Connecter vous en SSH grâce à la commande suivante :
ou xx est le numéro de la machine sur votre réseau...
Un écran de connexion apparaît, le compte utilisateur et le mot de passe par défaut sont ( attention le clavier est en qwerty )
Login : pi
Password : raspberry
Une fois la session ouverte, saisissez
pour exécuter le script de configuration du système.

Prenons l’option expand_rootfs qui va étendre cette partition car elle ne fait que 2 Go par défaut, puis ensuite, ces quelques options peuvent être intéressantes à modifier :
- expand_rootfs : vous permettra d'utiliser tout l'espace de votre carte SD.
- configure_keyboard : vous permet de mettre le clavier en français.
- change_pass : modifier le mot de passe de l'utilisateur "pi" (par défaut : raspberry).
- change_locale : changer la langue du système.
- change_timezone : changer l'heure locale.
- ssh : activer le SSH (nous servira certainement).
- boot_behavior : vous permet d'atterrir directement sur le bureau, pas sur une console.
- Update : permet de faire la mise à jour de ce menu via internet.
▉
Installation et configuration de Raspbian "wheezy" sur Raspberry PI v2

Le Raspberry Pi 2, d'apres son concepteur, Eben Upton, est 6 fois plus performant que les Pi 1 Model B en multithread, et 3 fois plus en monothread.
Ce nouveau modèle adopte un nouveau jeu d'instructions, et il passe au multi-coeurs.
Une nouvelle puce Broadcom BCM2836 comportant quatre coeurs ARMv7 Cortex-A7 à 900 MHz, développée spécifiquement pour lui remplace la BCM2835 qui n'à qu'un seul coeur ARMv6 à 700 MHz.
La quantité de mémoire vive LPDDR2 est quant à elle doublée et passe à 1 Go. On retrouve en revanche strictement le même GPU double coeur VideoCore IV, " le seul GPU ouvert pour puce ARM ".
Cette seconde génération maintient la compatibilité avec le soft mais aussi avec le matériel dont elle reprend la disposition et la connectique du Pi 1 Model B+.
Dans cet article, nous allons donc remplacer un serveur WEB, un RPI model B de première génération (256Mo de RAM) par le tout nouveau Raspberry Pi 2 qui semble des plus prometteur...
Comme je suis une grosse feignasse, nous allons nous référer à différents articles déjà postés sur ce site et qui devraient, au delta prêt, être communs à tous les RPI's.
La première étape consiste donc à installer l'OS et vous trouverez toutes les explications utiles sur cette page.
Pour libérer de la place sur la carte SD, vous pouvez supprimer quelques paquets inutiles comme les jeux par exemple, ils n'ont rien à faire sur un serveur.
$ sudo apt-get --purge remove wolfram-engine minecraft-pi sonic-pi scratch
$ sudo apt-get autoremove
|
Comme il s'agit d'un serveur web ouvert sur le monde, on va le baptiser en lui donnant une adresse IP statique. Cela se configure simplement en utilisant cette page.
Il est aussi fortement recommandé de modifier le port SSH par défaut ! Cela ce configure très simplement comme démontré ici.
Après le redémarrage, vous vous connecterez par ssh en utilisant cette commande :
$ ssh pi@192.168.1.xx -p1234
|
Nous allons à présent installer logwatch ce qui nous évitera de se palucher régulièrement le contenu de /var/log.
et pour sécuriser les accès à notre précieux, on installe fail2ban en s'aidant de cette procédure.
Etant donnée que l'utilisateur " pi " est connu comme le loup blanc et qu'un certain nombre d'attaques auront lieu avec ce compte, supprimons le !
Mettez un mot de passe "compliqué" à root
Connectez vous sous ce compte et tapez cette commande :
# deluser --remove-all-files pi
|
Si la connexion au compte root n’est pas permise, ce qui est le cas par défaut de Debian Jessie, il faudra modifier le fichier de configuration /etc/ssh/sshd_config comme cela :
On en profitera pour modifier le port SSH grâce à cette procédure.
Rendez-vous maintenant sur cette page afin d'installer le serveur LAMP.
et dans la foulée, installons Munin, histoire d'avoir quelques statistiques sur les nouvelles performances de notre serveur.
Vous pouvez installer des plugins à Munin, comme par exemple :
- le plugin pour Apache.
- le plugin pour mySQL.
- le plugin pour suivre les attaques DDOS.
- le plugin pour suivre la tempétature du RPI.
Il ne nous reste plus qu'à installer Piwik, ce qui va nous permettre de nous débarrasser de Google Analytics...
En effet, ce n'est un secret pour personne, Google récupère et utilise à son profit tout ce que vous faites sur leur réseau.
Ainsi, toutes les statistiques de votre site web sont pompées par Google Analytics qui alimente les bases de données de Google avec les informations de vos visiteurs.
Le scandale autour de PRISM et de la NSA, m'ont décidé à installer Piwik, une solution libre qui remplacera avantageusement l'usine à gaz qu'est Google Analytics.
Votre nouveau serveur est prêt à recevoir ses premiers visiteurs...
▉
Installation et configuration de Raspbmc sur Raspberry PI

Vous disposez d'un Rasberry PI et vous rêvez de posséder un Média center digne de ce nom ?
Et bien, rien de plus facile avec Raspbmc, une distribution Linux basée sur Debian et pré-configuré et optimisé pour RPI.
Il existe au moment ou j'écris ces lignes, 3 distro très stables pour le RPI qui sont optimisées en Média Center, il s'agit de :
- Openelec : Je n'aborderais pas cette distro car ce système est "fermé" ! Très bien pour ceux qui ne veulent pas mettre les mains dans le cambouis...
- XBian : Une version un peu plus "lite" et qui fonctionne parfaitement.
- Raspbmc : Pour moi, la meilleur, et c'est celle dont nous allons justement parler dans cet article, ça tombe bien !
Afin d'avoir une expérience utilisateur acceptable, il va vous falloir investir dans une carte mémoire SDHC Class 10 8Go !
Télécharger Raspbmc et décompresser l'ensemble des fichiers à la racine de la carte SD puis lancer l'exécutable. Le logiciel devrait se lancer automatiquement, Vous devriez ensuite avoir la fenêtre suivante à l'écran :

Vous avez également la possibilité de configurer directement les paramètres réseau de Raspbmc en cochant la case " Manually configure Networking ". (IP, Subnet, Gateway, DNS)
Une fois l'installation de la carte SD terminé, connecter la au Raspberry-pi et démarrer celui-ci. L'installation va maintenant se terminer sur le RPI. Il suffit maintenant d'attendre pour arriver à l'écran d'accueil d'XBMC. S'en est terminé pour la partie installation !
Modifier les paramètres réseau : Programmes | Raspbmc settings | Network configuration si ce n'est pas déjà fait.
Il se peut que le clavier soit en QWERTY. Pour mettre votre clavier en AZERTY connecter vous en SSH sur votre RPI et taper la commande suivante :
$ sudo dpkg-reconfigure keyboard-configuration
|
ou pour modifier directement le fichier en ligne de commande taper :
$ sudo nano /etc/default/keyboard
|
Puis rechercher la ligne suivante :
Et la modifier par celle-ci :
Pour éviter des problèmes de chauffe, je vous conseille d'intégrer des dissipateurs à votre Raspberry-Pi. Ils sont très simples à mettre en place !
▉
Configurer une IP static sur le RPI

Connectez vous en local sur votre raspberry ou par ssh.
Tapez dans le terminal :
$ sudo nano /etc/network/interfaces
|
Remplacez :
par :
adapter les valeurs selon votre besoin
Enregistrez puis modifiez le fichier de résolution DNS suivant :
$ sudo nano /etc/resolv.conf
|
Remplacez son contenu par : ( DNS du FAI Free )
Enregistrez puis redémarrez le réseau
$ sudo /etc/init.d/networking restart
|
▉
Configurer le watchdog du Raspberry PI

Le watchdog permet de surveiller le circuit BCM2708 du rapsberry Pi.
Pour activer celui-ci, on procède de la manière suivante :
Chargement du module
$ sudo modprobe bcm2708_wdog
|
Edition du module...
...et ajout de la ligne suivante en fin de fichier :
Définition du démon du watchdog (installation et configuration au démarrage du raspberry Pi ) :
$ sudo apt-get install watchdog chkconfig
$ sudo chkconfig watchdog on
$ sudo /etc/init.d/watchdog start
|
Configuration du fichier de config du watchdog :
$ sudo nano /etc/watchdog.conf
|
Décommenter la ligne
Voila le watchdog est démarré et scrute toute les 10 secondes.
Si la commande /dev/watchdog ne reçoit pas de signal au bout de 10 sec, le raspberry pi redémarre.
Enfin de tester votre chien de garde en plantant le système avec un Forkbomb taper la commande ci dessous
Note importante : le redémarrage du rapsberry pi est violent et peut dans certain cas peut corrompre les fichiers de démarrage.
▉
Mise à jour firmware

La procédure de mise à jour du RPI ne prend pas en compte la mise à jour du firmware !
Pour y remédier, procédez comme suit :
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update && sudo chmod +x /usr/bin/rpi-update
$ sudo apt-get install git-core
$ sudo rpi-update
|
les fois suivantes, faites juste :
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo rpi-update
|
▉
Installer un serveur web LAMP sur RPI

Connectez-vous sur votre raspberry et faite les mises à jours du système.
$ sudo apt-get update && sudo apt-get -y upgrade && sudo apt-get -y dist-upgrade
|
Installation des différents paquets
$ sudo apt-get install apache2 php5 mysql-server phpmyadmin
|
Pendant l'installation de mysql-server, on nous demande quelques informations :
Configuration de phpmyadmin
Serveur web à reconfigurer automatiquement : apache2
Faut-il configurer la base de données de phpmyadmin avec dbconfig-common ? : Oui
Mot de passe de l'administrateur de la base de données : VotreMotDePasse
Mettez le même mot de passe que celui de la configuration Mysql-server
Mot de passe de connexion MySQL pour phpmyadmin :
Nota : Laissez vide pour un mot de passe généré aléatoirement, ou tapez votre propre mot de passe.
Maintenant que tout est correctement installé, nous allons vérifier que tout fonctionne en ouvrant notre navigateur web préféré et rentrant dans la barre d'adresse l'ip de votre raspberry.
Vous devriez voir une page avec écrit dedans
A la fin du fichier /etc/apache2/apache2.conf, il faut ajouter à la fin suivante :
ceci évite d'avoir le message : Apache could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for servername
A toute fin utile, si vous rencontrez des problémes de configurations avec Apache, vous devez tester le fichier de configuration /etc/apache2/apache2.conf grâce à la commande suivante :
$ sudo apachectl configtest
|
si tous ce passe bien, vous aurez un beau
L'interface de gestion " phpmyadmin " de votre serveur se trouve à cette adresse : http://IPduRaspberry/phpmyadmin
▉
Sauvegarde intégral de la carte SD du RPI

Commencez par insérer la carte SD dans le lecteur du PC Linux sur lequel on veut faire la sauvegarde.
Identifiez le périphérique correspondant à la carte SD à sauvegarder sur son système, il suffit de saisir la commande suivante et de regarder le device qui correspond à sa carte SD:

J'ai donc deux disques détectés sur ma machine
le device /dev/sda (disque de 250 Go) qui est mon disque dur système sur mon PC portable.
le device /dev/sdb (disque de 8 Go) qui est ma carte SD que je souhaite sauvegarder.
On lance la sauvegarde avec la commande suivante
$ sudo umount /dev/sdb
$ sudo dd if=/dev/sdb | gzip -9 > ./backupRPI.img.gz
|
Pour restaurer cette sauvegarde sur une autre carte SD IDENTIQUE !! (même marque, même model), il suffit d'insérer une carte SD dans le lecteur du PC, d'identifier le périphérique comme précédement (/dev/sdb dans mon cas), puis, saisir la ligne de commande
Attention ! la carte SD sera effacée !
$ sudo umount /dev/sdb
$ gunzip ./backupRPI.img.gz | sudo dd of=/dev/sdb
|
▉
Une seedbox dans le raspberry PI !

Transformer le Raspberry pi en seedbox est très simple, nous n'aurons besoin que d'un client torrent disponible via une interface web sécurisée, d'un gros disque dur externe et d'un peut de courage pour mettre les mains dans le cambouis...
Premièrement, nous allons lancer la mise à jour du système parce que ça ne fait jamais de mal...
On installe le paquet qui nous sera indispensable pour accéder au disque externe formaté en NTFS.
$ sudo apt-get install ntfs-3g
|
Il est temps de connecter un disque dur balèze de 2To par exemple sur un port USB du raspberry PI.
On va maintenant créer un "lecteur permanent" dans le dossier "media" sur lequel pointera le client torrents.
$ sudo mkdir -p /media/disque2To
|
On configure les droits pour que le client torrent puisse écrire dans ce lecteur.
$ sudo chmod -R 777 /media/disque2To
|
On attend quelques secondes, le temps que le rpi détecte le disque puis on affiche la liste des périphériques.
Retenez le champ UUID pour le périphérique ayant le label qui correspond à votre disque dur.

Maintenant que nous connaissons l'identifiant unique de notre disque dur, nous allons spécifier au rpi de lier à chaque démarrage cette id au dossier que l'on a créé précédemment (/media/disque2To).
On édite le fichier /etc/fstab.
et on ajoute la ligne
Le paramètre nofail évite d'avoir des problèmes lorsque vous démarrez le serveur sans que le disque externe ne soit connecté !
évidemment, l'UUID doit être modifié en fonction de votre UUID à vous.

On sauvegarde et on reboot
Vérifiez que votre disque dur est monté et qu'il soit disponible via le dossier /media/disque2To.
$ cd /media/disque2To && ls
|
Il se peut que le disque dur ne soit pas monté. Dans ce cas, vérifiez que votre disque dur est bien connecté au port USB du raspberry, démarré et alimenté (en externe) lors du démarrage.
Vérifiez aussi que le disque dur soit bien formaté au format NTFS et que l'UUID entrée dans le /etc/fstab corresponde bien à l'UUID de votre disque dur.
Le plus dur est fait et comme vous avez super bien bossé, vous pouvez vous faire un p'tit café...
Vous êtes encore là ? parfait, nous allons donc installer maintenant le client torrent !
J'aurai pu choisir Transmission qui est un excellent client torrent, simple, léger et facilement configurable mais je préfère Deluge qui a les mêmes qualités et qui en plus est sécurisé.
Deluge va utiliser 2 dossiers sur votre disque dur externe, un dossier pour stocker les fichiers en cours de téléchargements, et un dossier pour stocker les fichiers finaux, on va donc créer ces deux dossiers.
$ sudo mkdir /media/disque2To/pending /media/disque2To/downloaded
|
Enfin, on donne les droits 770 sur les deux dossiers
$ sudo chmod -R 770 /media/disque2To/downloaded /media/disque2To/pending
|
L'installation de Deluge et du GUI sont d'une facilité éléphantesque car tous deux sont disponibles dans les dépôts.
$ sudo apt-get install deluged deluge-webui
|
Pour éviter tout problèmes de sécurité, il nous faut créer un utilisateur.
Normalement, le répertoire de configuration de Deluge se trouve dans le /home de l'utilisateur l'ayant installé. Nous allons déplacer ce dossier vers le /home de notre nouvel utilisateur.
$ sudo cp -R ~/.config /home/deluge
|
On change ensuite d'utilisateur pour lancer le daemon
Deluge tourne maintenant sur votre serveur. Vous pouvez vous connectez à l'interface...
A partir d'un PC de votre réseau, rendez-vous à l'adresse de votre serveur, le port par défaut est 8112.
Par exemple : http://192.168.1.24:8112
Un mot de passe vous est alors demandé, celui par défaut est " deluge ". Je vous conseille vivement de le changer.

Selectionnez la ligne ou figure l'adresse IP de votre PC et cliquez sur le bouton " Connect ".

Ouvrez les paramétres et configurez le chemin des dossiers de téléchargements créés plus haut.

Pour aller plus loin, je vous conseil de lire cet excellent post Installation et configuration de Deluge
▉
Modification du port SSH

Il est très fortement recommandé de modifier le numéro de port SSH de votre RPI si celui-ci est vu de l'extérieur !
Cela vous évitera les éternels attaques de robots de toutes sortes...
La procédure est des plus simple et ne demande que quelques minutes ! Alors pourquoi ne pas l'appliquer ?
Connectez vous en local sur votre raspberry ou par ssh.
Tapez dans le terminal :
$ sudo nano /etc/ssh/sshd_config
|
Remplacez le port 22 par le port de votre choix, par exemple : 5689 puis sauvegardez
Rechargez la configuration SSH à l'aide de la commande :
$ sudo /etc/init.d/ssh reload
|
A partir de cette instant, pour vous connecter en SSH sur votre RPI vous devrez impérativement spécifier le numéro de port 5689 dans la commande comme ci-dessous :
$ ssh pi@192.168…. -p 5689
|
Afin d'améliorer un peu plus la sécu, nous allons changer les clés SSH puis créer un nouveau jeu de clés qui seront uniques.
Suppression des anciennes clés :
$ sudo rm /etc/ssh/ssh_host_*
|
Création d'un nouveau jeu de clés :
$ sudo dpkg-reconfigure openssh-server
|
Sur les clients, supprimer les clés SSH périmées :
$ ssh-keygen -R ip.du.RPI
|
par exemple :
$ sudo ssh-keygen -R 192.168.1.50
|
Déconnecter vous après vos modifications !
▉
Allonger la durée de vie de ses cartes SD

La durée de vie d'une carte SD dépend du nombre d'écritures effectuez sur celle-ci.
Le Raspberry Pi qui ne fonctionne que sur carte SD, écrit pas mal de logs dessus toute la journée.
Il existe quelques softs pour créer un disque RAM dont Ramlogs, qui peut être utilisé sur tous les systèmes Linux et particulièrement sur les systèmes ayant un disque SSD.
Les fichiers logs de notre RPI y seront stockés et mis à jour et ce n'est qu'à l'arrêt du systeme qu'ils seront écrits sur la SD ce qui limitera grandement les accès en écritures et qui prolongera d'autant plus la durée de vie de notre précieux.
- Ca a l'air super ton truc, mais comment ca s'installe ?
- Ben c'est comme d'habitude mon gars, faut mettre les mains dans le cambouis mais tu verras, rien de bien compliqué...
Allez, on suit le guide
Commençons comme d'habitude à mettre le système à jours
$ sudo apt-get update && sudo apt-get -y upgrade && sudo apt-get -y dist-upgrade
|
Puis installons les deux paquets suivants
$ sudo apt-get install rsync
$ sudo apt-get install lsof
|
Allons chercher la dernière version de Ramlogs
$ wget http://www.tremende.com/ramlog/download/ramlog_x.x.x_all.deb
|
Puis on lance l'installation
$ sudo dpkg -i ramlog_x.x.x_all.deb
|
On modifie ensuite le fichier suivant
$ sudo nano /etc/init.d/ramlog
|
Pour y ajouter les 2 lignes suivantes dans la section #BEGIN INIT INFO
Important : n'oubliez pas de mettre les #
Enfin, éditez le fichier suivant
$ sudo nano /etc/init.d/rsyslog
|
et ajoutez ramlog aux 2 lignes suivantes pour le lancer au démarrage et l'arrêter lors du démontage
Entrer ensuite la commande suivante pour activer le script au lancement
Et rebootez le Raspberry
Allez faire un tour ici pour vérifier que tout se passe bien
$ sudo cat /var/log/ramlog
|
Si vous y voyez des erreurs, il s'agit certainement que d'autres programmes écrivent dans les logs avant que Ramlogs n'ai démarré.
Cela peut être le cas pour Cups et Samba ! Pour corriger ça, il faut indiquer dans les fichiers de confs de ces programmes que ramlog doit être lancé avant qu'ils ne commencent à écrire dans les logs.
Pour Cups, éditez le fichier suivant
$ sudo nano /etc/init.d/cups
|
Ajoutez ramlog à la fin de ces 2 lignes
Même punition pour Samba
$ sudo nano /etc/init.d/samba
|
Et ajoutez ramlog à la fin des 2 lignes suivantes
Refaites un petit insserv et redémarrez
Il va de soit que vous devez faire cette manip pour tous les programmes qui empêcheraient le démarrage de Ramlogs.
▉
Liste des processus qui utilisent la swap

Sur un RPI model B équipé de 256 Mo de RAM, il est fréquent d'arriver à saturation et le système se met alors à swapper faisant dégringoler les performances du serveur.
Il est donc intéressant de connaître quels processus utilisent la swap pour éventuellement faire un peut de tuning...
Avec la commande free, on se concentre sur la dernière ligne, intitulée Swap :
Ceci permet d'avoir une première idée de l'utilisation du swap.
Pour avoir la liste des processus qui utilisent la swap, triés par taille croissante, on peut utiliser la commande suivante :
# for file in /proc/*/status ; do awk '/Tgid|VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | grep kB | sort -k 3 -n
|
Cette commande nous donne le nom du process, son PID et la taille mémoire en swap.
▉
Répéteur Wi-Fi sur Raspberry PI

Avec un minimum de matériel nous allons configurer un répéteur Wi-Fi sur une base de Raspberry PI model 3 puisque celui dispose d'une interface Wi-Fi onboard.
Nous aurons donc besoin :
- un Raspberry model 3
- une carte microSD d'au moins 2 Go
- une alimentation de 1A pour le PI
- un dongle Wi-Fi
La première étape conciste à installer la version lite de Raspbian sur le Raspberry pi. Vous trouverez la derniere version ici.
Une fois l’installation de Raspbian effectuée, la première chose à faire va être de brancher notre Raspberry pi à notre box internet en utilisant un câble Ethernet.
Je vous laisse le choix des armes pour prendre le contrôle de votre raspberry, soit directement avec un clavier/écran, soit par SSH.
Comme je suis une grosse feignasse, nous allons installer une interface web qui nous permettra de configurer et de contrôler notre répéteur, RaspAP disponible gracieusement sur Github.
$ wget -q https://git.io/voEUQ -O /tmp/raspap && bash /tmp/raspap
|
Une fois la commande lancée, vous n’avez plus qu’à répondre aux quelques questions qui vous seront posées, et l’installation de tous les composants va se faire toute seule.
Pendant l'installation, je vous conseil de lire le readme en fin de page sur Github.
Lorsque l’installation est terminée, le Raspberry pi redémarre, connectez vous à l'aide de votre butineur favori sur son adresse IP qui doit être : 10.141.3.1.
Vous devriez avoir un écran semblable à celui-ci :

A ce stade, vous disposez d'un hotspot Wi-Fi opérationnel que nous allons transformer en répéteur afin de prolonger la portée de notre réseau Wi-Fi domestique.
Dans le frontal RaspAP, commencez par modifier les paramètres comme montré ci-dessous.








A l'étape suivante, nous allons être obligé de mettre les mains dans le cambouis mais rien de bien méchant rassurez-vous...
On commence par modifier le fichier de configuration du DHCP
$ sudo nano /etc/dhcpcd.conf
|
puis c'est au tour du fichier wpa_supplicant.conf d'être modifié.
$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
|
puis on crée un nouveau fichier.
$ sudo nano /etc/wpa_supplicant/wpa_supplicant-wlan1.conf
|
et on continu avec le fichier config.php ou on va modifier 2 lignes.
$ sudo nano /var/www/html/includes/config.php
|
on enchaîne avec le fichier hostapd.conf ou on va vérifier le contenu.
$ sudo nano /etc/hostapd/hostapd.conf
|
courage, ça se termine. On continu avec le fichier dnsmasq.conf ou on va là encore vérifier le contenu.
$ sudo nano /etc/dnsmasq.conf
|
nous allons maintenant figer le nom des interfaces réseaux pour éviter leur changement de nom après un redémarrage.
Consultez cette page, paragraphe 2.2 très intéressante sur le pourquoi...
créer le fichier 10-network.rules et copier/coller les 2 lignes suivantes
$ sudo nano /etc/udev/rules.d/10-network.rules
|
remplacer les 'xx' et les 'yy' par les adresses MAC des cartes ! (la saisie doit OBLIGATOIREMENT être en MAJUSCULES !)
un dernier effort avec le fichier rc.local ou on va ajouter 3 lignes.
$ sudo nano /etc/rc.local
|
allez, cette fois c'est vraiment fini avec le fichier sysctl.conf ou on va ajouter quelques lignes à la fin du fichier afin de désactiver l'IPv6.
$ sudo nano /etc/sysctl.conf
|
puis on lance la commande suivante afin de modifier dynamiquement les paramètres du système d'exploitation.
Rebooter la machine et allez boire un café, vous l'avez bien mérité...
Vous n'avez plus qu'à vous connecter sur votre AP
▉
allow ^192\.168\.1\.37$