Ceci est une ancienne révision du document !
Clutch
Clutch est une interface Web pour le client BitTorrent Transmission. Elle permet de gérer vos torrents depuis n'importe quel poste connecté à Internet.
Clutch est écrit en PHP, HTML et Javascript (AJAX).
Sous Ubuntu 8.10
Depuis Ubuntu 8.10, Clutch est intégré à Transmission: plus besoin d'installer Apache et autres, il suffit de l'activer à partir des préférences de Transmission.
Pré-requis
- Il faut au préalable avoir installé un serveur web Apache.
- L'installation d'une solution LAMP est toute indiquée.
Installation
Clutch est disponible sous Hardy dans les dépôts. Il suffit donc d'installer le paquet clutch. Clutch sera alors installé dans le répertoire « /usr/share/clutch/www ».
Utilisation
L'interface Clutch est visible à l'adresse http://localhost/clutch.
Les problèmes
Problème : Connection Failed
En allant à l'adresse http://localhost/clutch, un message dit :
Connection Failed
Could not connect to the server. You may need to reload the page to reconnect.
En cliquant sur Details, on obtient les avertissements suivants :
Warning: touch() [function.touch]: Unable to create file data/prefs.txt because Permission denied in /usr/share/clutch/www/remote/lib/Preferences.class.php on line 19
Warning: file_get_contents(data/prefs.txt) [function.file-get-contents]: failed to open stream: No such file or directory in /usr/share/clutch/www/remote/lib/Preferences.class.php on line 24
Warning: file_put_contents(data/prefs.txt) [function.file-put-contents]: failed to open stream: Permission denied in /usr/share/clutch/www/remote/lib/Preferences.class.php on line 37
Warning: Cannot modify header information - headers already sent by (output started at /usr/share/clutch/www/remote/lib/Preferences.class.php:19) in /usr/share/clutch/www/remote/index.php on line 227
transmission.initializeSettings({"auto_start":1,"download_location":"\/var\/cache\/clutch\/downloads\/","port":51413,"encryption":"preferred","filter":"all","sort_method":"queue_order","sort_direction":"ascending","show_inspector":false,"show_filter":true,"limit_download":false,"limit_upload":false,"download_rate":10,"upload_rate":10,"refresh_rate":5});
Résolution
Il suffit de changer les droits d'accès du répertoire remote/data et de son contenu (-R
) afin que tous les utilisateurs y ait tous les droits (777
) :
sudo chmod -R 777 /usr/share/clutch/www/remote/data
Il faut également modifier le fichier /etc/init.d/clutch tel qu'indiqué ci-dessous.
- Repérez la ligne (ligne 201) :
case "1" in start
- Juste avant la ligne
;;
- Rajoutez :
chmod -R 777 /var/cache/clutch/daemon
- Vous obtenez ainsi :
case "$1" in start) log_daemon_msg "Starting $DESC " "$NAME" # Check if it's running first if running ; then log_progress_msg "apparently already running" log_end_msg 0 exit 0 fi if start_server && running ; then # It's ok, the server started and is running log_end_msg 0 else # Either we could not start it or it is not running # after we did # NOTE: Some servers might die some time after they start, # this code does not try to detect this and might give # a false positive (use 'status' for that) log_end_msg 1 fi chmod -R 777 /var/cache/clutch/daemon ;;
- Répétez la procédure pour l'instruction (ligne 246) :
restart|force-reload
- Vous obtenez alors :
restart|force-reload) log_daemon_msg "Restarting $DESC" "$NAME" stop_server start_server running log_end_msg $? chmod -R 777 /var/cache/clutch/daemon ;;
- Enfin redémarrez Clutch :
sudo /etc/init.d/clutch restart
Sécurité
Pour le moment, l'accès à l'interface Clutch n'est pas protégé. Nous allons le sécuriser grâce à un fichier « .htaccess ».
On crée un fichier .htpasswd (veillez à bien remplacer nomUtilisateur par votre un identifiant de votre choix).
sudo htpasswd -c /usr/share/clutch/www/.htpasswd nomUtilisateur
Créez le fichier /usr/share/clutch/www/.htaccess et collez-y ceci :
AuthUserFile /usr/share/clutch/www/.htpasswd AuthName "Acces Clutch" AuthType Basic <Limit GET POST> Require valid-user </Limit>
Ouvrez ensuite le fichier /etc/clutch/clutch.conf et modifiez-le comme ceci :
Alias /clutch /usr/share/clutch/www <Directory /usr/share/clutch/www> Options FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory>
Redémarrez le serveur Apache :
sudo /etc/init.d/apache2 restart
Voilà, en allant à l'adresse http://localhost/clutch, votre login et votre mot de passe devraient vous être demandé.
Note : Il y a plus simple et plus propre (enfin je trouve) en modifiant le fichier /etc/apache2/conf.d/clutch.conf. Il faut décommenter les dernières lignes(celles avec AuthType…). Pour donner :
## You shoud probably set up authentication to keep others from messing with ## your torrents. ## Uncomment this section to set up HTTP Basic authentication. ## Use htpasswd from apache2-utils to generate the password file ## /etc/clutch/htpasswd. Refer to its manpage for relevant examples. AuthType Basic AuthName "davyg" AuthUserFile /etc/clutch/htpasswd Require valid-user </Directory>
Puis on creer le fichier « .htpasswd » :
sudo htpasswd -c /etc/clutch/htpasswd username
Et on redemarre le tout :
sudo /etc/init.d/apache2 restart sudo /etc/init.d/clutch restart
Désinstallation
Supprimez le paquet clutch.