Seedbox "complète" sous Debian 10 avec Rtorrent, Rutorrent, Emby, Couchpotato

Rédigé par citizenz - - 4 commentaires
SEEDBOX COMPLETE SOUS DEBIAN 10

Pourquoi créer une seedbox ?
- partager facilement les médias libres (films, animés, OS, etc.)

Cette seedbox sera composée de :
- Debian 10
- Rtorrent
- Rutorrent
- Emby
- Couchpotato
- phpsysinfo


Il reprend l'installation sur un serveur de type VPS Hetzner (https://hetzner.com/ ) + un volume monté en /home


Serveur VPS Hetzner CX21 (2 cpu, 4 GB RAM, 40 GB SSD, 1 Gbps): 5.88 €/M
+ volume supplémentaire de 200 GB monté en /home/seedbox pour fichiers médias : 9,60 €/M

AVANTAGES
- proc performant
- connexion 1 Gbps
- volume à la dimension voulue
- payable à l'heure

INCONVÉNIENTS
- VPS (ressource théoriquement partagées)
- Petit espace de stockage
- Trafic (Out) limité à... 20 TB
- Plus cher qu'un "petit" serveur Dédié Kimsufi ou Online

Postulats de départ :
- J'utilise la même annotation que le tuto de ex-rat : <username> signifie qu'il faut remplacer par son véritable nom d'utilisateur, <votre.domaine.com> signifie qu'il faut remplacer par son véritable nom de domaine, etc.
- Installation "fraîche" d'une Debian 10.
- Le Volume de 200 GB est monté en /home/<username>

--------------------------------------------
AVERTISSSEMENT :
Cet article n'a pas pour but de décrire la mise en place d'un "système" servant à "pirater" des oeuvre sous droit(s) d'auteur.
La seedbox devra être utilisée à des fins de test ou de partage de médias sous licences libres ou licences de libre diffusion (GPL, Creative commons, etc.).
--------------------------------------------


TUTORIEL : Go !
Une fois le serveur installé avec une Debian 10, on met à jour et on installe quelques applis :
sudo apt update && apt upgrade -y
sudo apt install -y sudo nano vim-nox htop git mc screen ntp rkhunter fail2ban ufw curl


On crée un utilisateur qui aura les droits sudo (il ne s'agit pas de l'utilisateur de la seedbox. Il s'agit d'un "vrai" utilisateur avec les droits sudo) :
sudo adduser citizenz
sudo adduser citizenz sudo


On crée le /home de l'utilisateur <username> (fichiers multimédia) :
sudo mkdir /home/<username>

On configure le fstab pour "monter" le volume à chaque redémarrage.
Pour trouver la config exacte de ce volume, dans votre Panel Hetzner, pour votre serveur :
- menu Volumes
- Trois petits points au bout de la ligne de votre volume puis Configuration

Sur mon serveur, ça donne ça :
sudo echo "/dev/disk/by-id/scsi-0HC_Volume_2942248 /home/<username> ext4 discard,nofail,defaults 0 0" >> /etc/fstab

Redémarrage nécessaire :
sudo reboot

L'essentielle de la config de base du système est prête, on va désormais suivre le tutoriel de ex_rat :
https://mondedie.fr/d/10831-tuto-installer-rutorrent-sur-debian-10-nginx-php-fpm


Après un reboot, on a accès à :
ruTorrent Webui
URL : XXX.XXX.XXX.XXX/rutorrent

SFTP
IP : XXX.XXX.XXX.XXX
Port : 22

Pour obtenir de l'aide plus facilement, un script de debug est dispo, qui permet d'obtenir un lien vers un récap' complet de vos fichiers de conf en rapport avec le tuto.
cd /tmp
git clone https://github.com/exrat/Script-Debug-MonDedie
cd Script-Debug-MonDedie
chmod a+x Script-Debug-Mondedie.sh && ./Script-Debug-Mondedie.sh


Vous aurez accès à un lien sur Pastebin. En ouvrant le lien dans votre navigateur vous verrez une "copie" des infos de votre système concernant votre seedbox.
En fin de fichier, il peut y avoir des erreurs qui s'affichent. Elles permettront certainement de voir où se situe votre problème de config et cela permettra d'y remédier rapidement.

#########################################
AJOUTS PERSOS
#########################################

-----------------------------------------
1/ Letsencrypt (HTTPS)
-----------------------------------------
Votre fichier Nginx de configuration pour votre seedbox (vhost) ne comporte pas de nom de domaine.
Si vous souhaitez en configurer un, il va falloir légèrement modifier le fichier.
Par contre, même si la connexion sur l’adresse IP + SSL restera possible, votre seedbox sera associée à un nom de domaine. A vous de voir si vous voulez faire ça (anonymat, etc.).

sudo nano /etc/nginx/sites-enable/seedbox.conf

Début du fichier :
server {   
listen 80 default_server;   
server_name _;

On va remplacer par : <votre.domaine.com> à remplacer par votre vrai nom de domaine ou sous-domaine... par exemple : seedbox.mondmaine.com
server {   
listen 80;   
server_name <votre.domaine.com>;

Vérifiez toujours que votre configuration Nginx ne comporte pas d'erreur - avant de relancer Nginx - avec la commande :
sudo nginx -t

Vous devriez avoir quelque chose comme ça si tout va bien :
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

On va ajouter le plugin Nginx de Letsencrypt (certbot). Très pratique pour Nginx, cela permettra de générer "tout ce qu'il faut" et de configurer automatiquement votre fichier Nginx vhost pour HTTPS.
On installe quelques dépendances :
sudo apt install python3-acme python3-certbot python3-mock python3-openssl python3-pkg-resources python3-pyparsing python3-zope.interface

Puis on installe le plugin Nginx pour certbot (letsencrypt) :
sudo apt install python3-certbot-nginx

On va demander un certificat SSL Letsencrypt avec la commande suivante :
* évidemment <www.your_domain> et <your_domain> sont à adapter avec votre VRAI domaine
** vous n'êtes pas obligé de déclarer un www. et vous pouvez juste faire : certbot --nginx -d <your_domain>
sudo certbot --nginx -d www.<votre.domaine.com>-d <votre.domaine.com>

1/ Vous devrez ensuite rentrer une adresse E-mail qui servira à vous envoyer des infos de renouvellement du certificat - valable 90 jours mais renouvelable - ou des infos de sécurité.
2/ Acceptez les termes du service.
3/ Vous pouvez répondre non à la question d'après qui consiste à donner votre e-mail.
4/ Enfin vous choisirez la manière dont le HTTPS sera configuré :
- soit en entrant l'URL HTTPS directement dans le navigateur, à savoir que vous aurez aussi le choix de rester en HTTP (choix 1)
- soit en redirigeant toutes les demandes sur HTTPS (choix 2)
Moi je prends le 2ème choix.

Une fois fait, vous aurez votre certificat Letsencrypt installé pour votre domaine et votre fichier vhost Nginx aura été reconfiguré automatiquement pour tenir compte de la nouvelle configuration.
En vous reconnectant sur votre seedbox, vous pourrez voir que le cadenas vert est apparu (sous Firefox). Votre seedbox est désormais accessible en HTTPS.

Petit ajout pour HTTP2 :
Vers la fin du fichier vhost Nginx seedbox.conf, vous verrez cette ligne :
listen 443 ssl; # managed by Certbot

Ajoutez http2 en fin de ligne, juste avant le point-virgule :
listen 443 ssl http2; # managed by Certbot

Redémarrez Nginx :
sudo /etc/init.d/nginx restart

HTTP2 va permettre d'apporter certaines fonctionnalités. Vous retrouvez toutes les infos ici : https://blog.eleven-labs.com/fr/http2-nest-pas-le-futur-cest-le-present/


-----------------------------------------------
2/ Emby
-----------------------------------------------
Emby (anciennement Media Browser) est un serveur multimédia conçu pour organiser, lire et diffuser du contenu audio et vidéo sur une variété de périphériques.
Très pratique (à mon goût...), il va permettre d'organiser tous les fichiers multimédia, les lire, etc.

On va prendre le lien pour Debian 9, Debian 10 n'existe pas... encore :
wget -nv http://download.opensuse.org/repositories/home:emby/Debian_9.0/Release.key -O Release.key
sudo apt-key add - < Release.key
sudo apt-get update
sudo echo 'deb http://download.opensuse.org/repositories/home:/emby/Debian_9.0/ /' > /etc/apt/sources.list.d/emby-server.list
sudo apt-get update
sudo apt-get install emby-server

Pour permettre à Emby de démarrer automatiquement à chaque reboot :
systemctl enable embyserver.service
systemctl start emby-server.service

Vous devriez pourvoir accéder à Emby sur le port 8096 de votre serveur/seedbox.
Exemple : http://<your_domain>:8096

(Attention pas d'accès en HTTPS, ca ne fonctionne pas chez moi...)
Lors de votre première connexion, plusieurs options de configuration vous seront proposées. Rien de compliqué.


--------------------------------------------
3/ Couchpotato
--------------------------------------------
CouchPotato est un téléchargeur automatique NZB et torrent.
Vous pouvez garder une liste de "films que je veux" et il recherchera les NZBs/torrents de ces films toutes les X heures.
Une fois qu'un film est trouvé, il téléchargera le torrent dans un répertoire spécifié.
Il correspond à la version "films" de SickRage.

J'ai choisi de mettre les fichier de Couchpotato dans /opt

sudo apt install git-core python python-cheetah
cd /opt
sudo git clone https://github.com/CouchPotato/CouchPotatoServer.git couchpotato
sudo cp couchpotato/init/ubuntu.default /etc/default/couchpotato
sudo nano /etc/default/couchpotato

Adaptez le fichier /etc/default/couchpotato comme ceci :
CP_USER=<username>
CP_HOME=/opt/couchpotato
CP_DATA=/opt/couchpotato
CP_PIDFILE=/var/run/couchpotato/couchpotato.pid
PYTHON_BIN=/usr/bin/python

Création d'un fichier service systemd :
sudo cp couchpotato/init/couchpotato.service /etc/systemd/system/couchpotato.service
sudo nano /etc/systemd/system/couchpotato.service

On adapte le path du ExecStart dans /etc/systemd/system/couchpotato.service :
ExecStart=/opt/couchpotato/CouchPotato.py

Pour permettre à Couchpotato de démarrer automatiquement à chaque reboot :
sudo systemctl enable couchpotato
sudo systemctl start couchpotato

Vous devriez pourvoir accéder à Couchpotato sur le port 5050 de votre serveur/seedbox.
Exemple : http://<your_domain>:5050

P.S. : Couchpotato c'est bien, mais on y trouve surtout des médias en langue anglaise (GB/US)... Il y a peu de médias FR.
La faute au "Searchers", c'est à dire aux sites de torrents référencés. Dommage qu'il ne soit pas possible d'en ajouter.

--------------------------------------------
4/ phpsysinfo
--------------------------------------------
PhpSysInfo (PSI) est une interface web, écrite avec le langage PHP, qui permet d'afficher des informations concernant le système et le matériel sur lequel elle est installée.
phpSysInfo est distribué sous GNU GPL version 2.

On télécharge la dernière version de phpsysinfo dans /var/www :
cd /var/www
wget https://github.com/phpsysinfo/phpsysinfo/archive/v3.3.1.tar.gz
tar xvfz v3.3.1.tar.gz
mv phpsysinfo-3.3.1/ phpsysinfo
chown -R www-data:www-data phpsysinfo
cd phpsysinfo
cp phpsysinfo.ini.new phpsysinfo.ini

Tout devrait fonctionner "tel quel".
Si vous voulez mettre phpsysinfo en FR :
nano phpsysinfo.ini
DEFAULT_LANG="fr"

--------------------------------------------
Résumé des accès :
--------------------------------------------
PAGE D'ACCUEIL : https://<your_domain> : y'a rien ! A vous de voir pour y mettre une page d'accueil, une "plateforme" type muximux (https://github.com/mescon/Muximux), etc.

RUTORRENT : https://<your_domain>/rutorrent - Connectez vous avec votre nom d’utilisateur <username> + mot de passe créés grâce au tuto de ex_rat

EMBY :  http://<your_domain>:8096 - Connectez vous avec votre nom d’utilisateur <username> + mot de passe créés grâce au tuto de ex_rat

COUCHPOTATO : http://<your_domain>:5050 - Connectez vous avec votre nom d’utilisateur <username> + mot de passe créés grâce au tuto de ex_rat

PHPSYSINFO : http://<your_domain>/phpsysinfo

PS : si vous avez installé un firewall (type UFW), pensez à ouvrir les ports suivants :
80 + 443 : HTTP + HTTPS
5050 : Couchpotato
8096 : Emby
Pensez aussi à SSH (généralement sur le port 22) et votre ou vos port(s) Rtorrent !

OneProvider : la Dacia des serveurs dédiés !

Rédigé par citizenz - - 1 commentaire
Je viens de découvrir Oneprovider .
OneProvider est une compagnie Canadienne qui offre une gamme complète de solutions en ligne : serveurs dédiés, virtuels, colocation dans plus 145 villes à travers le monde.
C'est en fait une filiale de Online... et des serveurs Online "reconditionnés"... ou "qui ont fait leur temps", etc.
Il y a notamment une gamme de serveurs dédiés impressionnante dans une bonne trentaine de villes d'Europe, d'Amérique du Nord et du sud, d'Asie, d'Afrique et d'Océanie. La gamme de serveur est très étendue (niveau proc, RAM, DD, etc.).

Avec les "Summer sell " vous pouvez trouver un dédié basé en France pour 6.99 €/m TTC !  C'est pas cher... mais certaine chose sont minimalistes.
Le panel de gestion client est plutôt pas mal fait, la gestion du serveur est plutôt pratique.
Mais première surprise lors de l'install ou de la reinstall de l'OS du serveur dédié, pas possible de choisir autre chose que des versions "anciennes" des OS (Debian v8, Ubuntu 14.04, ...) Ça commence à dater un peu.
Pourtant, sur l'annonce au moment de l'achat il est bien noté que Debian 9 fait partie des OS disponibles tout comme Ubuntu 18.04.
Par contre, sur simple demande au support, ils vous l'installent (Debian 9) après que vous leur ayez affirmé que vous êtes au courant que la réinstall va effacer toutes les données du serveur.

 

Mais à 6.99 €/mois, le serveur dédié que j'ai choisi (Intel Atom C2350 - 1.7 GHz, 4GB Ram DDR3, 1 TB HDD SATA et surtout une connexion à 1 Gb/s unmetered) est quand même pas mal !
Le processeur est assez limité mais pour un "petit" serveur web ou une seedbox, c'est parfait ! La connexion à 1 GB/s est parfaite !

Mais moi, je voulais me faire un serveur avec une Debian 10 O_o !!!

Donc pas d'autre alternative que d'upgrader à la main l'OS installé.
Plutôt que de passer de Jessie à Buster directement (je pense que ce n'est pas indiqué : vous confirmez ?), j'ai préféré upgrader vers Strech dans un premier temps, puis vers Buster dans un deuxième temps.
Voila comment je m'y suis pris et c'est en fait très simple.

Première chose à faire : s’assurer qu’on est bien à jour sur Jessie :
$ su
# apt update
# apt full-upgrade
# reboot


Puis on met à jour le fichier /etc/apt/sources.list en remplaçant jessie par stretch :
$ su
# sed -i 's|jessie|stretch|' /etc/apt/sources.list

Vérifiez aussi les dépôts dans /etc/apt/sources.list.d/

Puis on met à jour vers Stretch (v9) :
# apt update
# apt full-upgrade
# reboot

Bingo ! On est sous Debian Strech (9).

 

Vérifiez avec :
$ lsb_release -a

Vous aurez peut-être quelques fichiers à supprimer :
#apt autoremove
#reboot

Si tout est bon, on passe de Strech (9) à Buster (10) avec la même procédure :
$ su
# sed -i 's|stretch|buster|' /etc/apt/sources.list
# apt update
# apt full-upgrade
# reboot

Bingo (2) ! On est sous Debian Buster (10).

Vérifiez avec :
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 10 (buster)
Release:        10
Codename:       buster

$ uname -a
Linux AMS-144116 4.19.0-5-amd64 #1 SMP Debian 4.19.37-5 (2019-06-19) x86_64 GNU/Linux

Bien que vous soyez en Debian 10 (Buster), vous garderez la version Debian 8 sur votre panel d'administration client OneProvider.

 

Upgrader son système sans mettre à jour le noyau

Rédigé par citizenz - - Aucun commentaire
Il peut être très utile de vouloir upgrader sons système (pour des raisons de sécurité) sans pour autant mettre à jour le noyau Linux (surtout sit out fonctionne bien). C'est très simple sous Debian/Ubuntu.

On marque les fichiers linux-image-generic et linux-header-generic en "hold"
sudo apt-mark hold linux-image-generic linux-headers-generic

On met à jour
sudo apt update

On upgrade
sudo apt upgrade

Si jamais on veut enlever le "hold" et mettre à jour le noyaux :
sudo apt-mark unhold linux-image-generic linux-headers-generic

Mariadb (Mysql) : connexion root avec phpMyAdmin sous Ubuntu 16.04

Rédigé par citizenz - - 5 commentaires
Profitant de vacances bien méritées (si si !), je viens re-installer un ou deux serveurs. Un sous Debian 9 et un sous Ubuntu 16.04 server.
Pour ces 2 distributions, l'installation de MySQL (ou plutôt la version Mariadb) diffère un tant soit peu en raison de la méthode "connexion" désormais différente.
En effet, il faut désormais configurer "à la mano" un ou deux fichiers afin de ne pas devenir une fois sur la page de phpMyAdmin où, si on ne fait pas cette configuration, on peut pas se connecter en root avec le mot entré à l'installation.
Je pensais que cette manip était réservée à Debian 9 mais elle est indispensable sous Ubuntu 16.04 aussi.

Voici les différentes étapes pour retrouver une connexion normale en root pour MySQL :
 
nano /etc/mysql/mariadb.conf.d/50-server.cnf
[...]
bind-address           = 127.0.0.1
sql-mode="NO_ENGINE_SUBSTITUTION"
[...]

Il faut maintenant régler la méthode d'authentification par mot de passe à "native" pour mariadb afin de pouvoir se connecter en root à phpMyAdmin. On rentre la commande suivante en console :
 
echo "update mysql.user set plugin = 'mysql_native_password' where user='root';" | mysql -u root

Il faut aussi éditer le fichier suivant afin de rentrer le mot de passe root Mysql :
 
nano /etc/mysql/debian.cnf
[client]
host = localhost
user = root
password = MOTDEPASSE
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = root
password = MOTDEPASSE
socket = /var/run/mysqld/mysqld.sock
basedir = /usr

On sauvegarde et on redémarre mysql :
 
service mysql restart

Voila : vous pouvez désormais vous connecter normalement sur phpmyadmin avec root.

Distribution Gnu/Linux : Netrunner (Rolling) 2017.07 64bit

Rédigé par citizenz - - 7 commentaires

Je vous présente : Netrunner !

Netrunner est depuis quelques mois... une distribution basée sur Debian dotée d'un bureau KDE hautement personnalisé avec des applications supplémentaires, des codecs multimédias, des plugins Flash et Java et un aspect unique. Les modifications sont conçues pour améliorer la convivialité de l'environnement de bureau tout en conservant la liberté de modifier.

Une édition séparée "Rolling", basée sur Manjaro Linux, a été lancée en 2014, a été interrompue et a été relancée en 2017. Voici donc ici la nouvelle version Rolling-release de cette Netrunner qui, pour peu que l'on apprécie l'environnement KDE (ça n'est pas mon cas ...), est une distribution très attirante avec ses nombreuses applications et "Tweaks".

A tester !

A télécharger librement sur : http://www.freetorrent.fr/netrunner-rolling-2017-07-64bit-iso

VERSION : Rolling Release basée sur Arch/Manjaro

KDE Plasma 5.10.3
KDE Frameworks 5.35
KDE Applications 17.04.2
Qt5.9.0
Linux Kernel 4.11.8
Firefox 54.0.1
Thunderbird 52.2.1
LibreOffice 5.2.7
etc.

SOURCES : http://www.netrunner.com/

Fil RSS des articles de ce mot clé