Vous êtes ici : Accueil / Debian GNU/Linux / Applications Web / Téléchargement BitTorrent / Installer le client BitTorrent ruTorrent sur Debian

Installer le client BitTorrent ruTorrent sur Debian

Par Pierre-Yves Landuré Dernière modification 16/05/2019 13:52

ruTorrent est une interface Web au client BitTorrent rTorrent inspirée du client Windows µTorrent. Bien que pouvant gérer plusieurs utilisateurs, il n'y a pas de séparation des téléchargements.

Ce guide est testé sur:

  • Debian 6.0 Squeeze
  • Debian 7.0 Wheezy

Pré-requis

Ce guide nécessite:

Ce guide recommande l'installation de la protection Peer 2 Peer PeerGuardian sur Debian.

Paramètres

Renseignez le nom de domaine ou sera disponible l'application :

DOMAIN="bt.domaine-exemple.fr"

Installation

Déterminez le chemin d'installation:

INSTALL_PATH="/opt/rutorrent/${DOMAIN}"

Déterminez le chemin des données:

DATA_PATH="/var/lib/rutorrent/${DOMAIN}"

Assurez-vous que les dossiers existent:

command mkdir -p "$(command dirname "${INSTALL_PATH}")"
command mkdir -p "${DATA_PATH}"

Préparation de l'environnement

Installez les logiciels nécessaires:

command apt-get install php-cli curl libapache2-mod-scgi apache2-utils apg \
git unrar unzip mediainfo ffmpeg php-geoip curl sox python

Mise en place de l'application

Téléchargez les sources de l'application:

command git clone "https://github.com/Novik/ruTorrent" "${INSTALL_PATH}"

Supprimez le fichier .htaccess:

command rm "${INSTALL_PATH}/.htaccess"

Adaptation à la LSB

Adaptez l'application aux recommandations de la Linux Standard Base:

unset DATA_PATHS
declare -a DATA_PATHS
DATA_PATHS[0]="share/torrents"
DATA_PATHS[1]="share/settings"
DATA_PATHS[2]="share/users"
command mkdir --parent "${DATA_PATH}/share"
for CURRENT_PATH in ${DATA_PATHS[@]}; do
COMPLETE_PATH="${INSTALL_PATH}/${CURRENT_PATH}"
LSB_PATH="${DATA_PATH}/${CURRENT_PATH}"
if [ -e "${COMPLETE_PATH}" -a ! -h "${COMPLETE_PATH}" ]; then
command mv "${COMPLETE_PATH}" "${LSB_PATH}"
command ln -s "${LSB_PATH}" "${COMPLETE_PATH}"
command chown -R www-data:www-data "${LSB_PATH}"
fi
done

Mise en place de l'hôte virtuel

Activez le module scgi d'Apache:

command a2enmod scgi

Créez le fichier des mots de passes:

command touch "${DATA_PATH}/${DOMAIN}.pwd"

Créez la configuration du serveur HTTP pour votre domaine:

command a2tools add-custom "${DOMAIN}" "
# The root folder of this virtual host.
DocumentRoot ${INSTALL_PATH}

<IfModule mod_scgi.c>
SCGIMount /RPC2 127.0.0.1:5000
</IfModule>

# Some options for the root folder.
# Read Apache 2 documentation to know exactly what is done.
<Directory ${INSTALL_PATH}>
Options Indexes FollowSymLinks MultiViews

# If you want to enable overrides, you should read:
# http://httpd.apache.org/docs/2.0/mod/core.html#allowoverride
AllowOverride Limit

Order deny,allow
Allow from all
</Directory>

<Location />
Order deny,allow
Allow from all

# We enable password authentication
AuthType Basic
AuthName \"ruTorrent on ${DOMAIN}\"
AuthUserFile ${DATA_PATH}/${DOMAIN}.pwd
Require valid-user
</Location>"

L'application devrait maintenant être disponible sur le nom de domaine spécifié.

Création des utilisateurs

Pour ajouter un utilisateur, renseignez son identifiant:

USERNAME='pierre-yves'

Générez un mot de passe:

PASSWORD="$(command apg -q -a 0 -n 1 -M NCL)"

Créez le dossier approprié, et initialisez sa configuration:

command mkdir --parent "${INSTALL_PATH}/users/${USERNAME}"
command cp "${INSTALL_PATH}/conf/config.php" "${INSTALL_PATH}/users/${USERNAME}/config.php"

Ajoutez l'utilisateur au fichier des mots de passes du domaine:

command htpasswd -b "${DATA_PATH}/${DOMAIN}.pwd" "${USERNAME}" "${PASSWORD}"

Affichez les informations pour le nouvel utilisateur:

command echo "Le mot de passe de l'utilisateur '${USERNAME}' est '${PASSWORD}'."

Mise à jour automatique

Mettez en place un script de mise à jour automatique quotidienne du code de l'outil:

echo "#"'!'"/bin/bash
# Update ${DOMAIN} source code from Git.
test -x '/usr/bin/git' -a -d '${INSTALL_PATH}' && {
pushd '${INSTALL_PATH}' > '/dev/null'
/usr/bin/git pull --quiet > '/dev/null'
popd > '/dev/null'
}" \
  > "/etc/cron.daily/rutorrent-${DOMAIN//./-}-update"
command chmod +x "/etc/cron.daily/rutorrent-${DOMAIN//./-}-update"

Sauvegardes

Sauvegardez l'installation avec Backup Manager (voir Installer et configurer Backup Manager sur Debian):

command backup-manager-tools add "${INSTALL_PATH}"
command backup-manager-tools add "${DATA_PATH}" 

Remerciements