GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer le client Usenet SABnzbd sur le serveur/bureau Debian

SABnzbd est un client Usenet gratuit et open-source basé sur le Web pour télécharger du contenu binaire (image, audio, vidéo, e-book, etc.) sur Usenet. Il est multiplateforme, disponible pour Linux, BSD, macOS, UNIX, Windows, Synology, QNAP, etc. Ce tutoriel va vous montrer comment installer SABnzbd sur Debian.

Fonctionnalités SABnzbd

  • Vous pouvez y accéder de n'importe où avec un navigateur Web.
  • Une interface Web réactive.
  • Plusieurs serveurs Usenet (fournisseurs) sont pris en charge.
  • Les applications mobiles sont disponibles pour Android et iOS
  • Des applications telles que Sonarr, Sickrage, CouchPotato et Headphones peuvent s'intégrer à SABnzbd et automatiser votre processus de téléchargement .
  • SABnzbd peut également lire et traiter les flux RSS, activer des scripts personnalisés et vous avertir par e-mail, growl, prowl, pushover et pushbullet.
  • Intégration de l'indexeur NZB (Newz Binary). Un fichier NZB est comme un fichier torrent et un indexeur NZB est comme un site torrent.
  • Et bien d'autres

Comment installer le client Usenet SABnzbd sur Debian

SABnzbd est disponible depuis le référentiel Debian par défaut. Vous devez activer la contrib composant afin de l'installer.

sudo apt install software-properties-common
sudo add-apt-repository contrib
sudo apt update
sudo apt install sabnzbdplus python-sabyenc par2

Le module SABYenc peut aider à augmenter la vitesse de téléchargement sur les appareils à processeur limité.

Créer une unité de service Systemd pour SABnzbd

Bien que le sabnzbdplus package fournit un script Init traditionnel (/etc/init.d/sabnzbdplus ), j'ai trouvé que ça ne marcherait pas. J'ai exécuté la commande suivante pour démarrer le service.

sudo service sabnzbdplus start

Si je liste les ports d'écoute sur mon système Debian avec la commande suivante, le port 8080 est introuvable (SABnzbd écoute par défaut sur le port 8080.), ce qui indique qu'il ne fonctionne pas.

sudo ss -lnpt | grep 8080

La meilleure façon de démarrer SABnzbd est d'utiliser l'unité de service Systemd. Nous pouvons utiliser un éditeur de texte en ligne de commande tel que Nano pour créer un service Systemd pour SABnzbd.

sudo nano /etc/systemd/system/sabnzbd.service

Mettez le texte suivant dans le fichier.

[Unit]
Description=SABnzbd Usenet Client
After=network.target

[Service]
Type=simple
User=sabnzbd
Group=sabnzbd
ExecStart=/usr/bin/python -OO /usr/bin/sabnzbdplus --browser 0 
ExecStop=/usr/bin/pkill sabnzbdplus
Restart=always
SyslogIdentifier=SABnzbd Usenet Client

[Install]
WantedBy=multi-user.target

SABnzbd écoute sur le port 8080 par défaut. Si ce port est utilisé par un autre processus sur votre système, alors SABnzbd choisira automatiquement un port différent. Je recommande de choisir un port directement dans le ExecStart paramètre comme ci-dessous, qui fera écouter SABnzbd sur le port 8081.

ExecStart=/usr/bin/python -OO /usr/bin/sabnzbdplus -s 127.0.0.1:8081 --browser 0

Enregistrez et fermez le fichier. (Pour enregistrer un fichier dans l'éditeur de texte Nano, appuyez sur Ctrl+O , puis appuyez sur Enter confirmer. Pour fermer le fichier, appuyez sur Ctrl+X .)

Rechargez ensuite Systemd.

sudo systemctl daemon-reload

Notez que SABnzbd ne nécessite pas de privilège root pour s'exécuter. nous avons donc spécifié dans le fichier .service que SABnzbd doit s'exécuter en tant que sabnzbd utilisateur et groupe, qui n'ont pas de privilèges root. Créez le sabnzbd utilisateur et groupe système avec la commande suivante. Le répertoire personnel sera utilisé pour enregistrer le fichier de configuration (/home/sabnzbd/.sabnzbd/sabnzbd.ini).

sudo adduser --system --home /home/sabnzbd --group sabnzbd

Nous pouvons maintenant utiliser le service systemd pour démarrer sabnzbd.

sudo systemctl start sabnzbd

Activer le démarrage automatique au démarrage.

sudo systemctl enable sabnzbd

Vérifiez maintenant le statut de sabnzbd.

systemctl status sabnzbd

Exemple de sortie :

Lancer l'assistant de configuration

Vous pouvez saisir 127.0.0.1:8080/sabnzbd/wizard dans n'importe quel navigateur Web pour lancer l'assistant de démarrage rapide. Si vous avez installé SABnzbd sur un serveur Debian distant, vous devez configurer un proxy inverse avec Nginx ou Apache afin d'accéder à l'interface utilisateur Web, ce qui est expliqué plus loin dans ce didacticiel.

Sélectionnez une langue. Dans l'écran suivant, entrez les détails du serveur de votre fournisseur Usenet. J'utilise NewsDemon, qui offre 15 jours d'essai gratuit. Ces détails de serveur peuvent être obtenus auprès de votre fournisseur Usenet. Si votre Usenet prend en charge SSL, assurez-vous de cocher SSL.

Pour télécharger du contenu (image, audio, vidéo, e-book, etc.) depuis Usenet, vous devez alimenter un NZB fichier à SABnzbd. Le fichier NZB, qui est similaire au fichier .torrent, peut être téléchargé à partir de sites d'index Usenet tels que nzbfinder.ws. La plupart de ces sites sont basés sur un modèle freemium. Vous avez la possibilité de créer votre propre indexeur Usenet gratuit, mais maintenant, pour un débutant Usenet, c'est une bonne idée d'enregistrer des comptes gratuits avec ces sites d'indexation Usenet pour voir ce qui est disponible pour vous. Comme vous pouvez le voir sur la capture d'écran, la vitesse de téléchargement est assez rapide. (16,8 Mo/s =134,4 Mbit/s)

Comment changer le dossier de destination de téléchargement

Le dossier de téléchargement par défaut est /home/sabnzbd/Downloads . Si vous souhaitez le déplacer vers un autre répertoire, par exemple, votre disque dur externe, cliquez sur le Folder menu dans l'interface Web de SABnzbd. Cliquez ensuite sur le bouton Navigateur pour le modifier.

Notez que le sabnzbd l'utilisateur doit avoir une autorisation de lecture et d'écriture sur votre dossier de destination de téléchargement. Si vous utilisez un disque dur USB externe, vous pouvez exécuter la commande suivante pour accorder l'autorisation.

sudo setfacl -R -m u:sabnzbd:rwx /media/linuxbabe/

Mon disque dur USB externe est monté sur /media/linuxbabe/ , modifiez-le comme il convient.

Configuration du proxy inverse

Pour accéder à l'interface Web SABnzbd à partir d'une connexion à distance (par exemple, en dehors de votre réseau local) à l'aide d'un nom de domaine, vous pouvez configurer un proxy inverse avec Nginx ou Apache.

Si vous n'avez pas de vrai nom de domaine, je vous recommande d'aller sur NameCheap pour en acheter un. Le prix est bas et ils offrent une protection de la confidentialité whois gratuite à vie.

Nginx

Installez Nginx sur Debian.

sudo apt install nginx

Démarrez le serveur Web Nginx.

sudo systemctl start nginx

Créez ensuite un nouveau fichier de bloc de serveur dans /etc/nginx/conf.d/ répertoire.

sudo nano /etc/nginx/conf.d/sabnzbd.conf

Collez le texte suivant dans le fichier. Remplacez sabnzbd.your-domain.com avec votre nom de domaine préféré et n'oubliez pas de créer un enregistrement DNS A pour celui-ci. Si vous utilisez un autre port, remplacez 8080 par votre propre numéro de port.

server {
       listen 80;
       listen [::]:80;
       server_name sabnzbd.your-domain.com;

       location / {
              proxy_pass http://127.0.0.1:8080;
              proxy_set_header Host $http_host;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_set_header X-Forwarded-Proto $scheme;
        }
}

Enregistrez et fermez le fichier. Testez ensuite la configuration de Nginx.

sudo nginx -t

Si le test réussit, rechargez Nginx.

sudo systemctl reload nginx

Vous pouvez maintenant accéder à l'interface Web de SABnzbd via sabnzbd.your-domain.com . Si vous voyez l'erreur suivante :

Access denied - Hostname verification failed

Ensuite, vous devez modifier le fichier de configuration (/home/sabnzbd/.sabnzbd/sabnzbd.ini ) et ajoutez sabnzbd.your-domain.com à la liste blanche.

host_whitelist = sabnzbd.your-domain.com

Redémarrez ensuite SABnzbd.

sudo systemctl restart sabnzbd

Apache

Si vous utilisez le serveur Web Apache plutôt que Nginx, suivez les instructions ci-dessous pour configurer le proxy inverse.

Installez le serveur Web Apache.

sudo apt install apache2

Pour utiliser Apache comme proxy inverse, nous devons activer le proxy modules et nous activerons également la rewrite module.

sudo a2enmod proxy proxy_http rewrite

Créez ensuite un fichier d'hôte virtuel pour SABnzbd.

sudo nano /etc/apache2/sites-available/sabnzbd.conf

Mettez les textes suivants dans le fichier. Remplacez sabnzbd.your-domain.com avec votre nom de domaine réel et n'oubliez pas de créer un enregistrement DNS A pour celui-ci. Si vous utilisez un autre port, remplacez 8080 par votre propre numéro de port.

<VirtualHost *:80>
    ServerName sabnzbd.your-domain.com

    ProxyPass / http://127.0.0.1:8080/
    ProxyPassReverse / http://127.0.0.1:8080/
</VirtualHost>

Enregistrez et fermez le fichier. Activez ensuite cet hôte virtuel.

sudo a2ensite sabnzbd.conf

Rechargez Apache pour que les modifications prennent effet.

sudo systemctl reload apache2

Vous pouvez désormais accéder à distance à SABnzbd en saisissant le nom de domaine (sabnzbd.your-domain.com ) dans la barre d'adresse du navigateur. Si vous voyez l'erreur suivante :

Access denied - Hostname verification failed

Ensuite, vous devez modifier le fichier de configuration (/home/sabnzbd/.sabnzbd/sabnzbd.ini ) et ajoutez sabnzbd.your-domain.com à la liste blanche.

host_whitelist = sabnzbd.your-domain.com

Redémarrez ensuite SABnzbd.

sudo systemctl restart sabnzbd

Activer HTTPS

Pour chiffrer le trafic HTTP lorsque vous visitez l'interface Web SABnzbd de l'extérieur, nous pouvons activer HTTPS en installant un certificat TLS gratuit émis par Let's Encrypt. Exécutez la commande suivante pour installer le client Let's Encrypt (certbot) sur Debian.

sudo apt install certbot

Si vous utilisez Nginx, vous devez également installer le plugin Certbot Nginx.

sudo apt install python3-certbot-nginx

Ensuite, exécutez la commande suivante pour obtenir et installer le certificat TLS.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d sabnzbd.your-domain.com

Si vous utilisez Apache, vous devez installer le plugin Certbot Apache.

sudo apt install python3-certbot-apache

Ensuite, exécutez la commande suivante pour obtenir et installer le certificat TLS.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d sabnzbd.your-domain.com

Où :

  • --nginx  :Utilisez le plug-in nginx.
  • --apache :Utilisez le plug-in Apache.
  • --agree-tos  :acceptez les conditions d'utilisation.
  • --redirect  :Forcer HTTPS par redirection 301.
  • --hsts :Ajoutez l'en-tête Strict-Transport-Security à chaque réponse HTTP. Forcer le navigateur à toujours utiliser TLS pour le domaine. Protège contre le SSL/TLS Stripping.
  • --staple-ocsp :active l'agrafage OCSP. Une réponse OCSP valide est agrafée au certificat que le serveur propose pendant TLS.

Le certificat devrait maintenant être obtenu et installé automatiquement.

Restreindre l'accès

Si SABnzbd est accessible depuis l'Internet public, il est très important de définir un nom d'utilisateur et un mot de passe, ce qui peut être fait dans Config> Général> Sécurité rubrique.


Debian
  1. Comment installer le serveur Xrdp (bureau à distance) sur Debian 10

  2. Comment installer le serveur RabbitMQ sur Debian 9/8

  3. Comment installer le client REST Postman dans Debian 11

  4. Comment installer le serveur Xrdp sur Debian 10

  5. Comment installer le serveur Xrdp sur Debian 11

Comment installer Discourse sur le serveur Debian 11 Bullseye

Comment installer un serveur FTP sur Debian 10

Comment installer Go sur Debian 11

Comment installer Plex Media Server sur Debian 11

Comment installer un serveur FTP sur Debian 11

Comment installer Plex Media Server sur Debian 10