J’ai deux imprimantes chez moi qui ne sont pas réseau, j’ai donc voulu tester de faire un serveur d’impression avec ma Raspberry Pi.

Comme vous allez pouvoir le voir, ce n’est pas sorcier, je m’attendais à bien pire, surtout au niveau des pilotes.

Le schéma est simple, les imprimantes sont connectées en USB sur la Raspberry qui est elle-même connectée au réseau.

IMG_20141023_111026

Pour faire ce test, je vais utiliser Raspbian (Debian pour Raspberry), on commence par lui attribuer une IP, on fait les mises à jour, etc.

Le paquet à installer s’appelle CUPS, donc

apt-get install cups

Il va en profiter pour installer une série de dépendances (notamment les pilotes :D)

Il faut ensuite ajouter notre utilisateur (pi) dans le groupe

sudo adduser pi lpadmin

Nous allons maintenant éditer le fichier de configuration de CUPS pour que l’on puisse administrer via l’interface web (oui car il y a une interface web :p) à distance le service.

sudo nano /etc/cups/cupsd.conf

Il faut modifier la ligne qui contient Listen localhost:631 et mettre à la place

Port 631

Et dans ce même fichier il faut ajouter Allow all entre chaque balise <Location>
Ce qui donne:

<Location />
# Restrict access to the server...
Order allow,deny
Allow all
</Location>
<Location /admin>
# Restrict access to the admin pages...
Order allow,deny
Allow all
</Location>
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
# Restrict access to the configuration files...
Order allow,deny
Allow all
</Location>

On redémarre le service cups

sudo service cups restart

À partir de maintenant on devrait avoir accès à l’interface web depuis http://ip-de-la-raspberry:631

À présent il faut rajouter l’imprimante, il va vous demander un mot de passe et vous devez rentrer les informations de connexion de l’utilisateur pi.

On paramètre ensuite les options par défaut et le tour est joué, on peut maintenant ajouter notre imprimante partagée sur nos clients.

Pour atteindre l’imprimante depuis un client l’adresse est la suivante: http://ip-de-la-raspberry:631/printers/nom-de-l-imprimante

Cela devrait fonctionner plus ou moins de la même manière avec un autre système Linux (en espérant que vos pilotes sont disponibles directement 😀 ).

 

Source:

Si vous êtes curieux de savoir quand un site web est hors ligne sans pour autant devoir installer un service de monitoring, voici un petit script bash (Linux) qui vérifie la connexion au service web des sites inscrits dans la ligne HOSTS et qui vous prévient par mail et inscrit dans un fichier de log lors d’un incident.

Pour le faire fonctionner, il faut simplement indiquer les sites web à vérifier dans la variable HOSTS (séparés par des espaces), indiquer votre adresse email (en ayant pris soin de configurer mailutils).

Le script :

#!/bin/bash
HOSTS="yahoo.fr perdu.com https://google.be"
SUBJECT="Site web Hors ligne"
EMAIL="toto@exemple.com" # votre email ici
TIMEOUT=2

for myHost in $HOSTS
do
result=$(wget -T $TIMEOUT -t 1 $myHost -O /dev/null -o /dev/stdout | grep "Connecting to")
connected=$(echo $result | grep failed);
if [ "$connected" != "" ]; then
echo -e "$(date) - $myHost est down" >> check.log
for myEMAIL in $EMAIL
do
echo -e "$(date) - $myHost est down! \n Ceci est un message automatique." | mail -s "$SUBJECT" $myEMAIL
done
fi
done

 

Placez le script là où vous pouvez l’exécuter, puis rendez-le exécutable :

chmod +x check.sh

Puis ajoutez la tâche cron :

crontab -e

Et ajoutez à la fin (par exemple ici toutes les heures)
@hourly check.sh

Pour faire une seedbox, il faut tout d’abord :

  • Un serveur (qu’il soit dédié ou un vieux PC transformé en serveur pour la cause)
  • Une connaissance minimale en Linux (prenez la distribution que vous souhaitez, ici je prends Debian)

Quoi qu’il en soit, voici les instructions :

Installation :

apt-get install transmission-daemon

Configuration :

Important : la configuration du fichier se fait service éteint !

service transmission-daemon stop
nano /etc/transmission-daemon/settings.json

Maintenant nous pouvons configurer les options 😉

« download-dir » : « /home//Downloads », // le répertoire qui contiendra les fichiers téléchargés
« ratio-limit » : 2, //Stopper le torrent quand il a atteint un certain ratio (>1, sinon aucune utilité de la seedbox)
« ratio-limit-enabled » : false, //Activer le ratio
« rpc-authentication-required » : true, //laisser à true
« rpc-enabled » : true,
« rpc-password » : « Azerty123 », //votre mot de passe, il sera chiffré lors du démarrage du service
« rpc-port » : 9091, //Vous pouvez modifier le port si vous voulez
« rpc-username » : « transmission », //Vous pouvez modifier l’utilisateur pour vous connecter au webui
« rpc-whitelist-enabled » : false, //Mettre sur false pour autoriser toutes les IPs à se connecter au webui

Je pense avoir fait le tour de toutes les options intéressantes pour une seedbox.

Il ne vous reste plus qu’à démarrer le service et à vous connecter au webui.

service transmission-daemon start

Allez sur http://votreip:9091 authentifiez-vous avec l’utilisateur et le mot de passe que vous avez configurés plus haut.

transmission-web-interface

Et vous êtes prêts à télécharger des torrents sur votre seedbox.