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

Installer le client BitTorrent Torrentflux sur Debian

Par Pierre-Yves Landuré Dernière modification 02/11/2012 17:31

Torrentflux est une interface Web pour différents clients BitTorrent.

Ce guide est testé sur:

  • Debian 5.0 Lenny
  • Debian 6.0 Squeeze

Pré-requis

Ce guide nécessite un serveur MySQL disposant du script mysql-tools disponible dans le guide Installer et configurer MySQL sur Debian.

Ce guide nécessite un serveur HTTP avec support du PHP disposant au choix d'un des scripts suivant :

Ce guide recommande l'utilisation de PeerGuardian dont l'installation est détaillée dans le guide Installer la protection Peer 2 Peer PeerGuardian sur Debian.

Paramètres

Renseignez le nom de domaine où sera disponible l'application :

DOMAIN="torrent.domaine-exemple.fr"

Renseignez le nom d'hôte de votre serveur MySQL (si vous ne savez pas de quoi il s'agit, ne modifiez pas cette valeur):

MYSQL_HOST="localhost"

Si votre serveur MySQL n'est pas local, ce guide effectuera une connexion SSH pour y créer la base de données.

Installation

Installez les logiciels nécessaires au bon fonctionnement de l'application:

command apt-get install php5-mysql php5-curl zip tar \
mysql-client apg python

Récupérez l'URL de téléchargement des sources de l'application:

SOURCE_URL="$(command wget --quiet --output-document=- \
    'http://sourceforge.net/projects/torrentflux/' \
    | command grep 'title="Download' \
    | command sed -e 's|.*href="\([^"]*\)".*|\1|')"
VERSION="$(echo "${SOURCE_URL}" \
    | command sed -e 's/.*torrentflux_\(.*\).tar.*/\1/g')"

Téléchargez les sources:

command wget "${SOURCE_URL}" \
    --output-document="/tmp/torrentflux_${VERSION}.tar.gz"

Décompressez l'archive:

command tar --directory "/tmp" -xzf "/tmp/torrentflux_${VERSION}.tar.gz"

Déplacez le dossier obtenu vers son emplacement définitif:

command mv "/tmp/torrentflux_${VERSION}" "/opt/${DOMAIN}"

Configuration

Créez la base de données:

if [ "${MYSQL_HOST}" = "localhost" ]; then
  MYSQL_PARAMS=$(command mysql-tools create-domain-db "${DOMAIN}")
else
  command echo "Saisissez le mot de passe de l'utilisateur root MySQL :"
  command read PASSWORD
  MYSQL_PARAMS=$(command ssh "root@${MYSQL_HOST}" "command mysql-tools create-domain-db '${DOMAIN}' '$(command cat /etc/mailname)' '${PASSWORD}'")
fi

Récupérez les paramètres de la nouvelle base de données:

MYSQL_DB="$(echo "${MYSQL_PARAMS}" | command grep -e "^MYSQL_DB" \
    | cut --delimiter="=" --fields="2-")"
MYSQL_USER="$(echo "${MYSQL_PARAMS}" | command grep -e "^MYSQL_USER" \
    | cut --delimiter="=" --fields="2-")"
MYSQL_PASSWORD="$(echo "${MYSQL_PARAMS}" | command grep -e "^MYSQL_PASSWORD" \
    | cut --delimiter="=" --fields="2-")"
echo "${MYSQL_PARAMS}"

Initialisez le contenu de la base de données:

command mysql --user="${MYSQL_USER}" --password="${MYSQL_PASSWORD}" \
   --host="${MYSQL_HOST}" "${MYSQL_DB}" \
  < "/opt/${DOMAIN}/sql/mysql_torrentflux.sql"

Paramétrez la connexion à la base de données MySQL de l'application:

command sed -i \
-e "s/^\(\$cfg\[\"db_type\"\] =\)[^;]*\(;.*\)$/\1 \"mysql\"\2/" \
-e "s/^\(\$cfg\[\"db_host\"\] =\)[^;]*\(;.*\)$/\1 \"${MYSQL_HOST}\"\2/" \
-e "s/^\(\$cfg\[\"db_name\"\] =\)[^;]*\(;.*\)$/\1 \"${MYSQL_DB}\"\2/" \
-e "s/^\(\$cfg\[\"db_user\"\] =\)[^;]*\(;.*\)$/\1 \"${MYSQL_USER}\"\2/" \
-e "s/^\(\$cfg\[\"db_pass\"\] =\)[^;]*\(;.*\)$/\1 \"${MYSQL_PASSWORD}\"\2/" \
"/opt/${DOMAIN}/html/config.php"

Créez le dossier de destination des téléchargements Torrent:

command mkdir --parent "/var/lib/torrentflux/${DOMAIN}"
command mv "/opt/${DOMAIN}/html/downloads" "/var/lib/torrentflux/${DOMAIN}/downloads"
command ln -s "/var/lib/torrentflux/${DOMAIN}/downloads" "/opt/${DOMAIN}/html/downloads"
command chown -R www-data:www-data "/var/lib/torrentflux/${DOMAIN}"

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

if [ -x "/usr/bin/a2tools" ]; then
  command a2tools add-vhost "${DOMAIN}" "/opt/${DOMAIN}/html"
  /etc/init.d/apache2 force-reload
fi
if [ -x "/usr/bin/lighty-tools" ]; then
  command lighty-tools add-vhost "${DOMAIN}" "/opt/${DOMAIN}/html"
fi

L'application devrait être disponible sur le nom de domaine que vous avez choisi.

Important : Le premier identifiant et mot de passe saisi devient le compte d'administration.

À la première connexion, une page de configuration s'affiche. Modifiez les options selon vos besoins (langues, ports, taux maximum d'upload, etc...).

Remerciements