Archives par mot-clé : p2p

Créer une seedbox avec qBittorrent sous Debian Wheezy

(Dernière mise à jour : 12 mai 2014)

Présentation de qBittorrent

qBittorrent est un client bittorrent très léger développé en C++ avec la bibliothèque Qt4. Il est libre, multiplateforme et dispose d’une interface web en Ajax, il peut donc fonctionner sans serveur X. Nous allons voir comment l’installer en ligne de commande sur un serveur ne disposant pas d’interface graphique.
Ce guide fonctionne pour Debian, Ubuntu et ses dérivés.

qBittorrent
Capture d’écran de l’interface web de qBittorrent

Installation des dépendances

La compilation de qBittorrent nécessite l’installation de plusieurs dépendances.

On installe les outils de base :

apt-get install build-essential libtool automake autoconf subversion git wget pkg-config python

Les librairies SSL et Boost :

apt-get install libboost-date-time-dev libboost-dev libboost-filesystem-dev \
libboost-iostreams-dev libboost-program-options-dev libboost-regex-dev \
libboost-serialization-dev libboost-signals-dev libboost-test-dev \
libboost-thread-dev libssl-dev

La librairie Qt4 :

apt-get install libqt4-dev

Compilation de Libtorrent

qBittorrent utilise la librairie libtorrent, il est donc nécessaire de la compiler et de l’installer avant de pouvoir faire de même avec qBittorrent.

Nous allons donc commencer par récupérer la dernière version de la librairie depuis le svn :

mkdir -p qBittorrent_compiling
cd qBittorrent_compiling
svn co https://svn.code.sf.net/p/libtorrent/code/branches/RC_0_16 libtorrent

Vous devriez à présent disposer de la dernière branche svn de libtorrent dans le répertoire du même nom. Comme le fichier de configuration n’est pas fourni, nous allons le créer nous-mêmes :

cd libtorrent
./autotool.sh

Nous pouvons à présent compiler la librairie :

./configure --disable-debug --prefix=/usr && make clean && make

Il ne nous reste plus qu’à l’installer :

make uninstall
make install-strip

Compilation de qBittorrent

On récupère la dernière version de qBittorrent depuis git :

cd ..
git clone https://github.com/qbittorrent/qBittorrent.git

On la compile en désactivant l’interface graphique :

cd qBittorrent
./configure --prefix=/usr --disable-gui
make

On installe qBittorrent :

make install

Lancer qBittorrent au démarrage du serveur

Donner les droits root à une application de ce type étant une très mauvaise idée, nous allons créer un utilisateur spécifique :

adduser qbittorrent

Un utilisateur de qBittorrent (Jesper Smith) a créé un script d’initialisation. Nous allons donc le récupérer :

wget -P /etc/init.d http://blaisethirard.fr/partage/blog/qbittorrent-nox-daemon

(Si vous n’avez pas nommé le nouvel utilisateur “qbittorrent”, pensez à remplacer “qbittorrent” à la ligne 25 du script /etc/init.d/qbittorrent-nox-daemon par le nom de l’utilisateur que vous avez créé.)

On lui donne les bons droits :

chmod 755 /etc/init.d/qbittorrent-nox-daemon

On exécute le script d’initialisation au démarrage du système :

update-rc.d qbittorrent-nox-daemon defaults

Au premier démarrage de qBittorrent, un message d’avertissement s’affiche et vous demande de taper “y” afin de pouvoir continuer. Pour cette raison, nous allons nous connecter avec l’utilisateur qbittorrent et lancer le programme manuellement :

su qbittorrent
qbittorrent-nox
******** Informations ********
 Pour contrôler qBittorrent, accéder à l'interface Web via http://localhost:8080
 Le nom d'utilisateur de l'administrateur de l'interface Web est : admin
 Le mot de passe de l'administrateur de l'interface Web est toujours celui par défaut : adminadmin
 Ceci peut être dangereux, veuillez penser à changer votre mot de passe dans les options.
 15/09/2013 04:59:57 - L'interface Web est associée au port 8080

Au prochain démarrage de votre serveur, le service qbittorrent-nox sera automatiquement lancé en arrière-plan.

Un peu de ménage :

rm -r ~/qBittorrent_compiling

L’installation est terminée, pensez à changer l’utilisateur et le mot de passe par défaut de qBittorent : Outils > Options… > Interface Web > Authentification