====== Comment transformer un Raspberry Pi en une machine Usenet toujours allumée ====== Cf : [[http://www.howtogeek.com/142249/how-to-turn-a-raspberry-pi-into-an-always-on-usenet-machine/]] {{http://cdn.howtogeek.com/wp-content/uploads/2013/03/2013-03-26_143723.jpg}} Nous allons transformer un Raspberry Pi en un client usenet fonctionnant 24h/24 et 7j/7 en faisant des économies d'énergie. De plus, le Raspberry Pi étant toujours prêt, le PC est moins chargé et peut même être éteint. C'est particulièrement intéressant la nuit ou pour de gros téléchargements. Pour la même chose avec BitTorrent en gardant les ratios tracker à un niveau élevé, voir l'article [[http://www.howtogeek.com/142044/how-to-turn-a-raspberry-pi-into-an-always-on-bittorrent-box/]]. ===== Pré-requis ===== {{http://cdn.howtogeek.com/wp-content/uploads/2013/02/2013-02-28_093803.jpg}} Ce tutoriel nécéssite : - un Raspberry Pi (Raspbian installé) accessible soit directement via un moniteur et un clavier, soit à distance via SSH ou VNC - un disque ou une clé raccordé au Raspberry Pi. Relire dans l'ordre les guides suivants (le premier est essentiel) : * Guide de mise en route HTG avec Raspberry Pi : [[http://www.howtogeek.com/138281/the-htg-guide-to-getting-started-with-raspberry-pi/|The HTG Guide to Getting Started with Raspberry Pi]] * Accès à distance et transfert de fichiers : [[http://www.howtogeek.com/141157/how-to-configure-your-raspberry-pi-for-remote-shell-desktop-and-file-transfer/|How to Configure Your Raspberry Pi for Remote Shell, Desktop, and File Transfer]] * mise en place (avec montage automatique au démarrage) d'un périphérique de stockage réseau économe en énergie : [[http://www.howtogeek.com/139433/how-to-turn-a-raspberry-pi-into-a-low-power-network-storage-device/|How to Turn a Raspberry Pi into a Low-Power Network Storage Device]] * Usenet : [[http://www.howtogeek.com/71315/the-how-to-geek-guide-to-getting-started-with-usenet/|The How-To Geek Guide to Getting Started with Usenet]]. Contrairement aux torrents où on peut télécharger en passant d'un traqueur public à un autre, il n'y a pas de serveur Usenet public fiable et gratuit. Il faut un compte auprès d'un fournisseur (voir le guide pour des informations générales sur Usenet et les fournisseurs). //A lire absolument si on n'a pas de compte Usenet//. ===== Installation de SABnzbd ===== - **Placez-vous sur le Raspberry Pi** :...@...:~ $ ssh framboise - installer SABnzbd et ses dépendances :pi@framboise:~ $ sudo apt update pi@framboise:~ $ sudo apt upgrade pi@framboise:~ $ sudo apt install sabnzbdplusCela installe aussi plusieurs outils Python ainsi que les thèmes de base de SABnzbd. Un warning rappelle que SABnzbd n'a pas encore été configuré, ce qui est normal puisque nous l'installons. ===== Exécution de l'Assistant de configuration SABnzbd ===== Lancer SABnzbd pour la première fois en tapant : * sabnzbdplus --server 0.0.0.0 Cette commande démarre le démon SABnzbd sur l'interface utilisateur Web. Après quelques messages, il ne se passe plus rien : SABnzbd vient de prendre le contrôle du terminal. Ouvrir un nouveau terminal. Sur un PC du réseau, ouvrir dans le navigateur web l'adresse suivante : [[http://[adresse_IP_du_Raspberry Pi]:8080/wizard/]] {{materiel:nanopc:raspi:internet:sabnzbd_langue.png|}} Sélectionner la langue et Start Wizard. Première étape : renseigner les informations du fournisseur Usenet. {{materiel:nanopc:raspi:internet:nzbd_fournisseur_usenet.png|}} Saisir l'hôte, le port, nom d'utilisateur / mot de passe, et définir le nombre de connexions (5 est un bon choix pour commencer). Cliquer sur Tester le serveur pour voir si le login est le bon. Si c'est la cas, cliquer sur Suiv. >> pour passer à la deuxième étape de l'assistant, le contrôle d'accès : {{materiel:nanopc:raspi:internet:sabnzbd_config_2.png|}} * cocher //Je veux que SABnzbd soit accessible à partir de tous les ordinateurs de mon réseau.// * décocher la case //Lancer mon navigateur internet avec l'adresse de SABnzbd au démarrage de l'application.// * Protéger par nom d'utilisateur/mot de passe (à fournir) * cocher //Activer l'accès à SABnzbd via HTTPS.// L'étape 3 de l'assistant de démarrage rapide est facultative et peut etre sautée. Cliquer sur Suiv. >> pour passer à l'étape 4. La quatrième étape est automatique : le démon SABnzbd redémarre et l'assistant affiche les adresses Web pour accéder à l'interface utilisateur Web comme ceci : {{materiel:nanopc:raspi:internet:sabnzbd_config_4.png|}} ===== Installation de unrar pour décompactage automatique ===== Sur l'interface, une mise en garde signale qu'aucun programme unrar n'est trouvé. Donc SABnzbd pourra télécharger des fichiers à partir de Usenet, mais ils ne seront pas automatiquement décompressés. Pour automatiser la décompression, nous allons construire une copie de l'application libre nommée (mal à propos...) unrar-nonfree. La méthode pour Raspian est décrite dans l'article [[http://raspberrypi.stackexchange.com/questions/3617/how-to-install-unrar-nonfree|RaspberryPi.StackExchange]]. [[tutoriel:mini-tutoriels:ficedit#Modifier un fichier avec les droits d'administration|Ouvrir avec les droits d'administration]] le fichier **/etc/apt/sources.list** pour y ajouter la ligne : deb-src http://archive.raspbian.org/raspbian wheezy main contrib non-free rpi De retour à l'invite de commande, mettre à jour la liste de sources pour que le changement prenne effet : sudo apt-get update La mise à jour est terminée, créer un répertoire de travail et s'y rendre : mkdir ~/unrar-nonfree && cd ~/unrar-nonfree Télécharger les dépendances de unrar-nonfree : sudo apt-get build-dep unrar-nonfree Lorsque le processus se termine, de retour à l'invite, entrer la commande suivante pour télécharger le code source et construire le package d'installation : sudo apt-get source -b unrar-nonfree Pour installer le paquet, vérifier d'abord le numéro de version en tapant "ls" et lancer la commande : sudo dpkg -i unrar_4.1.4-1_armhf.deb en mettant le numéro de version correct (s'aider de l'autocomplétion). L'installation terminée, faire un test rapide en tapant "unrar" à l'invite de commande. Si elle est correctement installée, l'application unrar va afficher une liste de tous les commutateurs disponibles et leurs descriptions. Si le paquet installé sans erreur, on peut nettoyer avec la commande suivante : cd && rm -r ~/unrar-nonfree Pour effacer l'erreur dans SABnzbd, redémarrer sabnzbd dans l'interface utilisateur Web en cliquant sur Options -> Redémarrer. Le message d'erreur en haut à gauche devrait avoir disparu. On peut vérifier que le journal d'erreur est vide en cliquant sur le lien d'état dans le coin supérieur gauche de l'écran : {{http://cdn.howtogeek.com/wp-content/uploads/2013/03/2013-03-27_192710.jpg}} ===== Configuration des répertoires de SABnzbd ===== Par défaut, tous les fichiers téléchargés vont dans le répertoire ///home/pi/downloads//. Si on laisse les choses ainsi, la carte SD sera rapidement remplie, ce qui arrêtera le téléchargement et arrêtera le Raspberry Pi. Pour éviter cela, il faut déplacer les répertoires importants sur le disque dur externe qui doit donc être relié selon le tutoriel [[fr:tutoriel:raspi:disque:start]] Nous allons créer les répertoires pour SABnzbd : * sudo mkdir /media/Reservoirs/shares/SABnzbd/downloading sudo mkdir /media/Reservoirs/shares/SABnzbd/completed sudo mkdir /media/Reservoirs/shares/SABnzbd/watch sudo mkdir /media/Reservoirs/shares/SABnzbd/watch/nzb-backup sudo mkdir /media/Reservoirs/shares/SABnzbd/scripts Une fois ces répertoires créés, revenir à l'interface utilisateur Web de SABnzbd pour changer les répertoires par défaut. Dans l'interface utilisateur Web, accédez à Configuration -> Répertoires. Il y a deux sections, * dossiers de l'utilisateur * dossiers du système. Dans ces deux articles, modifier les entrées suivantes en utilisant les dossiers que nous venons de créer. Il faut utiliser des chemins absolus pour forcer SABnzbd à utiliser ces dossiers à la place de la valeur par défaut. ^ entrée ^ répertoire ^ |Dossier de téléchargement temporaire|/media/Reservoirs/shares/SABnzbd/downloading| |Dossier de téléchargement terminé|/media/Reservoirs/shares/SABnzbd/completed| |Dossier à surveiller|/media/Reservoirs/shares/SABnzbd/watch| |Dossier des scripts de post-traitement|/media/Reservoirs/shares/SABnzbd/scripts| |Dossier de sauvegarde NZB|/media/Reservoirs/shares/SABnzbd/watch/nzb-backup| On peut aussi définir l'"Espace disque minimum pour le Dossier téléchargement temporaire" en utilisant des désignations telles que 900M de 900 Mo ou 20G pour 20 gigaoctets. Il est bon de laisser 10 à 20 Go libres sur le disque pour avoir un beau tampon. Ces modifications faites, cliquer sur Enregistrer les modifications au bas du menu. Les changements faits exigent un redémarrage, donc cliquer sur **Téléchargements** pour revenir à l'interface utilisateur Web principal, puis cliquer sur **Options -> Redémarrer** dans le coin supérieur droit de l'écran. ===== Test de l'installation de SABnzbd ===== Après le redémarrage de SABnzbd, il est temps de le tester. Pour notre test, nous sommes dirigés vers [[http://binsearch.info/?q=Linux+Mint+14+Nadia&max=250&adv_age=1100&server=|Binsearch.info et trouvé une copie de Linux Mint à télécharger]]. Pour commencer le téléchargement, téléchargeons le fichier .NZB dans le dossier SABnzbd /watch/ où SABnzbd le cherche. Il apparaît dans la file d'attente, puis est transféré à la section historique de l'interface utilisateur Web : téléchargement, vérification et décompression, comme dans la capture d'écran ci-dessus. ===== Réglage de SABnzbd pour qu'il soit lancé au démarrage ===== Le package d'installation déjà créé un script /init.d/. La seule chose à faire est d'indiquer l'utilisateur qui exécute le démon. Pour ce faire, [[tutoriel:mini-tutoriels:ficedit#Modifier un fichier avec les droits d'administration|Ouvrir avec les droits d'administration]] le fichier **/etc/default/sabnzbdplus** pour modifier la variable USER =pi; Nous utilisons le compte utilisateur par défaut pi (et sous lequel nous avons installé sabnzbd). On peut tester si les modifications sont prises en compte : * soit en redémarrant le Raspberry Pi * soit en vérifiant que l'on peut démarrer SABnzbd comme un service avec la commande suivante :sudo service sabnzbdplus start Si les modifications sont entrées en vigueur, il s'affiche : [....] Starting SABnzbd+ binary newsgrabber: [ ok ] Starting SABnzbd+ binary newsgrabber:. si on exécute la commande de démarrage du service pendant que SABnzbd est en marche, il s'affichera "fail" au lieu de "ok", car elle a échoué parce qu'elle avait déjà commencé. ===== Améliorations de configuration et accélération ===== {{http://cdn.howtogeek.com/wp-content/uploads/2013/03/2013-03-28_113328.jpg}} Quelques réglages permettent d'améliorer significativement les performances. Sur l'interface utilisateur Web principal, cliquer sur Config. Nous allons passer en revue les réglages par ordre d'utilité décroissante. * section **Configuration -> Serveurs** ;? SSL :: à désactiver si le serveur le permet !! * section **Configuration -> Paramètres** ;? Détecter les Téléchargements dupliqués :: l'activer en choisissant **Pause** pour examiner la file d'attente et décider si on veut vraiment re-télécharger le fichier. !! ;? Mettre en pause les téléchargement lors du post-traitement :: l'activer !! * section **Configuration -> Général** ;? Limite d'Article en cache :: bons résultats en mettant cette option à **32M** ou **64M**. !!