Aujourd’hui je vais me mettre en quête de vous apprendre comment créer entièrement une Seedbox sur votre propre serveur privé.

Bien entendu, je ne soutiens aucunement le piratage, et mon tuto est purement à titre indicatif ou pour partager vos vidéos de vacance avec votre famille :D

Nous allons déjà commencer par une question que surement beaucoup se pose:

Qu’est ce qu’une SeedBox et à quoi ça sert ?

Alors une SeedBox est un serveur informatique privé qui est dédié au téléchargement et à l’émission de fichiers numériques le plus souvent en utilisant le protocole « BitTorrent« .

En gros, vous avez un fichier en « .torrent » que vous installez dans votre Seedbox. Celle-ci va alors le télécharger et le partager aux personnes qui ont pris le même « .torrent » que vous.

Donc si vous voulez partager votre vidéo de vacance avec votre famille, vous allez créer un fichier « .torrent » et le rendre privé. Vous l’uploader sur votre serveur et partager votre « .torrent » avec votre famille.

Ils pourront ainsi être les seuls à télécharger chez vous. Une espèce de « DropBox » ou « Megaupload » (paix à son âme) en plus rapide en fait :)

Quel est l’avantage, dans ce cas, de prendre un serveur privé ?

Alors il existe des tas de service de Seedbox plus ou moins performante, cependant , pour une question de fiabilité, vitesse, taille du disque dur, sécurité et tarif, j’ai préféré créer ma propre SeedBox privée.

L’avantage est qu’en prenant un serveur privé, vous êtes le seul à vous connecter dessus, pas de soucis de confidentialité de vos informations et en plus une bande passante hallucinante : 100 Mo/s

Alors avec un débit pareil, imaginez la vitesse de transfert de vos fichiers ? :) et pas besoin de compte premium :D Cependant il faut retenir une chose, le téléchargement sera bridé en fonction de votre connexion internet pour le téléchargement bien évidement.

Exemple si vous avez une connexion 30 Méga avec 3 Mo/s pour le téléchargement, vous serez loin d’atteindre les 100 Mo/s vu que vous êtes bridé à 3 (on est bien d’accord ;))

Alors vers qui ou quoi me tourner ?

Alors pour ma part j’ai testé plusieurs fournisseurs d’hébergement internet et j’ai trouvé OVH vraiment excellent jusqu’à maintenant. Du coup je me suis tourné vers leurs serveurs privés « lowcost » de la gamme Kimsufi

Voici le détail de leur offre:

Comme vous pouvez le voir, 17,93€ / mois TTC vous avez un serveur d’une très bonne qualité avec un débit excellent et surtout 1 To de stockage. Inutile de prendre les gammes au-dessus pour ce que nous voulons faire.

Alors que choisir maintenant chez Kimsufi ?

Nous allons décider de configurer le serveur et de prendre le 2G qui est le meilleur rapport qualité-prix.

Donc nous cliquons sur commander et nous avons à choisir un système d’exploitation qui va tourner sur le serveur.

Comme vous pouvez le voir, le choix est vraiment large. Donc nous allons nous rendre dans la section « Linux » et nous allons prendre la dernière version Stable de Ubuntu Server, j’ai nommé la 12.04 version 64 Bits.

Et il ne nous reste plus qu’à renseigner nos informations, payer (attention de bien choisir la durée d’engagement de 1 mois) et attendre que le serveur soit mis en place.

Une fois le serveur installé, nous recevrons un mail de confirmation avec les différentes informations sur le serveur:

L’adresse IP du serveur est : 11.22.33.44
Le nom du serveur est : xxxxxxxx.kimsufi.com
(jusqu’à 48h peuvent être nécessaires pour que ce nom soit actif)

Le compte administrateur suivant a été configuré sur le serveur :
Nom d’utilisateur : Utilisateur
Mot de passe :      Password

Personnellement je conseille de prendre des locations de 1 mois à renouveler chaque fin de mois au cas où un problème surviendrait et que vous voulez annuler votre abonnement , ça sera plus simple pour vous.

De plus, il est tout à fait envisageable de prendre la location du serveur à plusieurs vu la taille du disque dur, les frais seront divisés comme ça ;)

Et maintenant on fait comment ?

I) La connexion :

Alors pour ma part, je préviens de suite que je suis sur MAC, donc je vais faire les manipulations via le Terminal, les windowsiens devront passer par un utilitaire au doux nom de Putty

Donc on va se connecter à notre serveur Kimsufi via le terminal. On lance par conséquent l’application terminal et on entre les commandes suivantes pour se connecter à son serveur (regarder bien les informations plus haut pour comprendre)

ssh Utilisateur@11.22.33.44

On va alors nous demander notre mot de passe qui ne sera pas visible à l’écran puis appuyer sur Entrer

Nous allons obtenir quelque chose du genre:

Welcome to Ubuntu 12.04 (GNU/Linux 3.2.13-grsec-xxxx-grs-ipv6-64 x86_64)

* Documentation:  https://help.ubuntu.com/
Ubuntu 11.10

server    : 11223344
ip        : 11.22.33.44
hostname  : xxxxxxxxxxx.kimsufi.com

System information as of Wed May  2 14:57:31 CEST 2012

System load:    0.06                                   Processes:           102
Usage of /home: 4.0% of 920.54GB      Users logged in:     0
Memory usage:   52%                              IP address for eth0: 00.00.00.00
Swap usage:     0%

Graph this data and manage this system at https://landscape.canonical.com/

0 packages can be updated.
0 updates are security updates.

Last login: Wed May  2 00:57:20 2012 from eXpérience²Geek.com

Utilisateur@xxxxxxxx:~#

Nous voilà donc connectés en SSH sur notre serveur Kimsufi :)

II) La mise à jour:

Maintenant, nous allons faire une petite mise à jour du système histoire d’avoir un serveur stable. Comme vous pouvez déjà le voir plus haut, la dernière version stable d’Ubuntu aurait pu être installée avec la commande Do-Release-Upgrade mais j’ai décidé de rester sur notre version actuelle.

Donc nous allons vérifier la présence de mise à jour avec la commande suivante:

sudo apt-get update

Puis nous allons faire l’installation de ces mises à jour

sudo apt-get upgrade

Voilà pour la partie mise à jour

III) L’installation:

Maintenant nous allons installer notre client BitTorrent sur notre serveur, car sans lui, le serveur ne saurait pas télécharger et partager les fichiers.

Pour cela, j’ai décidé d’utiliser le très célèbre client Transmission qui est pour mois simple d’utilisation et rapide.

Nous allons lancer la commande:

sudo apt-get install transmission-daemon

IV) La configuration:

Nous voilà dans la phase finale de notre tuto et la plus compliquée pour les novices c’est pourquoi je vais vous expliquer la procédure pas à pas.

Comme vous pouvez le voir plus haut, on a déjà mis à jour le serveur et installé Transmission, notre client BitTorrent. Mais maintenant il va falloir configurer et ordonner un peu tout ça.

Donc la première étape est de créer un utilisateur pour Transmission qui pourra créer et télécharger les fichiers que nous allons appeler Downloader

useradd -d /home/downloader -m downloader (on crée l’utilisateur et son dossier par la même occasion)
usermod -a -G debian-transmission downloader (Debian-Transmission est le groupe de base de transmission qui a l’autorisation de télécharger et nous incluons downloader dans le groupe)
passwd downloader (on change le mot de passe de l’utilisateur)

Puis on va créer un dossier qui nous permettra de stocker nos fichiers temporaires et lui donner les permissions adéquates:

mkdir /home/downloader/incomplete (création du dossier)
chown -R downloader:debian-transmission /home/downloader (changement des droits du dossier)

Maintenant on passe à la configuration du client torrent directement mais avant il faut couper Transmission avec la commande:

sudo /etc/init.d/transmission-daemon stop

Vérifier qu’il est correctement désactivé avec la commande:

sudo /etc/init.d/transmission-daemon status

Si ce n’est pas le cas, lancer la commande:

sudo service transmission-daemon stop

puis entrer la ligne ci-dessous pour passer à la configuration :

nano /etc/transmission-daemon/settings.json

Et on va modifier les paramètres suivants (Attention de bien quitter Transmission pour éditer le fichier):

  • « download-dir »: « /home/downloader » => Chemin dans lequel les fichiers terminés seront enregistrés.
  • « incomplete-dir »: « /home/downloader/incomplete » => Chemin dans lequel les fichiers  temporaires seront stockés.
  • « incomplete-dir-enabled »: true => Permet d’activer la séparation des fichiers téléchargés et incomplets.
  • « rpc-authentication-required »: true => Active l’authentification pour le contrôle distant.
  • « rpc-enabled »: true => Active le contrôle à distance.
  • « rpc-password »: « MONMOTDEPASSE » => Choisir le mot de passe pour l’accès distant (remplacer par ce que vous voulez).
  • « rpc-port »: 9091 => Port pour l’accès distant.
  • « rpc-username »: « MONLOGIN » => Choisir le login pour l’accès distant (remplacer par ce que vous voulez).
  • « rpc-whitelist-enabled »:false => Desactiver la liste blanche pour se connecter de partout.

Puis on enregistre le fichier avec Ctrl+O et on quitte avec Ctrl+X

On va maintenant lancer Transmission avec la commande

sudo /etc/init.d/transmission-daemon start

ou

sudo service transmission-daemon start

et on test que tout fonctionne bien en lançant votre navigateur internet (Firefox :P) en en entrant dans la barre d’url:

http://MONIP:9091/transmission/web

On va alors vous demander votre nom d’utilisateur et votre mot de passe, ceux inscrits plus haut dans le fichier de configuration ouvert avec l’éditeur Nano

Et vous voilà connecté.

Maintenant, j’ai encore une chose, j’ai été confronté à des petits bugs donc on va les corriger en même temps au cas ou.

V) Configuration Annexe:

On va se rendre sur son client FTP (Moi je conseille vraiment Transmit sur Mac et vous verrez pourquoi après, mais sinon vous pouvez prendre FileZilla gratuit) et on rentre les données de notre serveur reçu par mail.

Ensuite on retourne à la racine du serveur avec « ./ » et on se rend dans le dossier Home

On clique sur le dossier Downloader avec Transmit et on fait information (clic droit/Permission sur Filezilla) et on rentre 777 comme valeur puis on enregistre.

Maintenant on se reconnecte sur son serveur via votre navigateur et on va configurer celui-ci comme sur les images suivantes:

Et vous voilà prêt à mettre des torrents en route :D

Si vous rencontrez une erreur de ce genre:

409: Conflict

Your request had an invalid session-id header.

To fix this, follow these steps:

When reading a response, get its X-Transmission-Session-Id header and remember it
Add the updated header to your outgoing requests
When you get this 409 error message, resend your request with the updated header

X-transmission: afzefezf6q-ef4q6ze7f6e8f47+zq84fq94f6qz »7f3″z4fqz6″8f4″9z7fqz6

Copier la chaine de caractère dans votre barre URL comme ceci:

http://MONIP:9091/afzefezf6q-ef4q6ze7f6e8f47+zq84fq94f6qz »7f3″z4fqz6″8f4″9z7fqz6

Puis faites Entrer cela devrait, régler votre problème.

Et pourquoi avoir choisi Transmit ?

Parce que transmit a une fonctionnalité que j’adore et qui permet de créer une App directement sur votre bureau et qu’on peu modifier comme bon nous semble. Cela permet d’accéder directement à notre serveur et dans le dossier « Downloader »

Faites une connexion SFTP avec vos identifiants et choisissez le chemin d’accès suivant:

../home/downloader/

Puis enregistrer comme droplet

 

 

 

 

 

 

 

 

 

 

Conclusion finale:

Vous voilà enfin prêt à faire vos propres Torrent et les partager sur votre serveur privé ;)

Il ne vous reste plus qu’à profiter tranquillement