Installer le client BitTorrent Torrentflux sur Debian
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 :
- Le script a2tools disponible dans le guide Installer Apache 2 sur Debian.
- Le script lighty-tools disponible dans le guide Installer Lighttpd et PHP 5 sur Debian.
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
- Merci aux développeurs de Torrentflux.