AmuleForse non tutti lo sanno, ma sia Amule che Amule Adunanza (da ora solo “Adunanza”) hanno a disposizione una comoda interfaccia via web, tale Amuleweb, e una gui per connettersi ad un qualsiasi muletto (un computer predisposto per far girare Amule/Adunanza), tale Amulegui. Questo perché entrambe le versioni hanno a disposizione un demone, Amuled, che non richiede un desktop environment per essere eseguito.

Questa guida all’installazione e alla configurazione è stata scritta specificatamente per Debian, ma dovrebbe andare benissimo anche per qualsiasi altra distribuzione GNU/Linux: dovrebbero cambiare soltanto i comandi per installare i vari pacchetti.

Ho testato il tutto con Adunanza (versione 2.2.6) su Debian Squeeze, sul mio serverino domestico che, tra le tante, fa anche da muletto e che ho assemblato personalmente.

I pacchetti

Per Adunanza è innanzitutto necessario configurare il relativo repository: potete seguire questa guida dal sito ufficiale.
Vediamo subito quali sono i pacchetti disponibili. Per Amule:

p   amule                           - client for the eD2k and Kad networks, like
p   amule-common                    - common files for the rest of aMule package
p   amule-daemon                    - non-graphic version of aMule, a client for
p   amule-emc                       - lists ed2k links inside emulecollection fi
p   amule-gnome-support             - ed2k links handling support for GNOME web
p   amule-utils                     - utilities for aMule (command-line version)
p   amule-utils-gui                 - graphic utilities for aMule

Per Adunanza:

p   amule-adunanza                  - client for the eD2k and Kadu networks for
p   amule-adunanza-daemon           - non-graphic version of aMule-AdunanzA, a c
p   amule-adunanza-utils            - utilities for aMule-AdunanzA (command-line
p   amule-adunanza-utils-gui        - graphic utilities for aMule-AdunanzA

Senza entrare troppo nei dettagli, una breve descrizione:

  1. i pacchetti principali, ovvero amule e amule-adunanza contengono l’applicazione in sé, quella che tutti conosciamo, comprensiva di gui;
  2. i pacchetti *-daemon contengono il demone Amuled, eseguibile anche senza la gui, e l’interfaccia web Amuleweb;
  3. i pacchetti *-utils contengono varie utility, tra cui Ed2k, necessaria per aprire i link ed2k://, nonché Amulecmd, un client da riga di comando per controllare il demone;
  4. i pacchetti *-utils-gui contengono varie utilità per la gui, tra cui Amulegui, un client con interfaccia per controllare il demone.

Attenzione, perché molte guide reperibili sul web indicano erroneamente che Amuleweb è contenuto neipacchetti *-utils. Non ho l’occasione per verificare su altre distribuzioni, ma certamente in Debian si trova – come ho appena indicato – nel pacchetto *-daemon. È sufficiente controllare la lista dei file installati per quel pacchetto e, ad installare terminata del pacchetto, verificare l’esistenza del binario.

Per avere maggiori informazioni su questi pacchetti, potete ovviamente usare aptitude con l’opzione show. Ad esempio:

# aptitude show amule-daemon
Pacchetto: amule-daemon
Stato: non installato
Versione: 2.2.6+debian0-8
Priorità: opzionale
Sezione: net
Responsabile: Debian aMule Team
Dimensione pacchetto installato: 2933 k
Dipende: amule-common (= 2.2.6+debian0-8), libc6 (>= 2.10), libcrypto++8,
 libgcc1 (>= 1:4.1.1), libpng12-0 (>= 1.2.13-4), libreadline6 (>= 6.0),
 libstdc++6 (>= 4.4.0), libupnp3 (>= 1.4.3), libwxbase2.8-0 (>=
 2.8.10.1), zlib1g (>= 1:1.1.4)
Raccomanda: amule-utils, unzip
Descrizione: non-graphic version of aMule, a client for the eD2k and Kad networks
 This package contains a daemonized version of aMule, amuled, that does not need
 a graphic environment to run, and can run in the background as well. It is
 normally used to be run in a machine 24/7, since the application continues to
 run if the X11 session closes.

 Included in the package is a webserver that provides an interface to control
 the daemon. Remote connections are supported, and the daemon can be configured
 to start the webserver automatically at startup. It is also possible to control
 amuled via amulecmd, from the amule-utils package, and amulegui, available in
 the amule-utils-gui package.

L’installazione

L’unico pacchetto davvero necessario è quindi *-daemon. Volendo, potremmo installare anche *-utils per avere Amulecmd (che non tratteremo in questa guida. Se volete approfondire, guardate qui) oppure *-utils-gui per avere Amulegui (che vedremo solo alla fine della guida).

Per Amule:

aptitude install amule-daemon

Per Adunanza:

aptitude install amule-adunanza-daemon

Al termine dell’installazione ci verrà richiesto quanto segue:

Not starting aMule AdunanzA daemon, AMULED_USER not set in /etc/default/amule-adunanza-daemon. ... (warning).

È necessario (traduco) indicare in /etc/default/amule-adunanza-daemon il nome dell’utente che eseguirà il demone Amuled. Se stiamo realizzando un server muletto, potrebbe essere utile creare un utente ad-hoc, da utilizzare anche per eseguire altri processi/demoni (nel mio caso lo chiamerò “server”):

# adduser server

A questo punto, il demone è installato. Al termine di tutto, magari, modificate l’utente creato disabilitandogli il login: è meglio da un punto di vista della sicurezza.

La configurazione

Passiamo ora alla creazione della configurazione. Sarà necessario creare la configurazione di Amule/Adunanza e di Amuleweb, con questi due comandi:

$ amuled -f
$ amuleweb -w

Questi due comandi devono essere eseguiti con l’utente che poi eseguirà il demone e la configurazione verrà creata nella home di questo utente. Se utilizziamo Amule, la cartella creata sarà .aMule, altrimenti per Adunanza sarà .aMuleAdunanzA.

Verificate che sia tutto corretto, così:

# ls -a -l /home/server/

Nell’output dovrà apparire questa riga, con i permessi e i proprietari impostati così come qui riportati:

drwxr-xr-x 4 server nogroup 4096 31 gen 11.54 .aMuleAdunanzA

Veniamo ora alla configurazione. I file che ci interessano sono due: amule.conf e remote.conf, simili per Amule e Adunanza e che troviamo all’interno della cartella nascosta appena creata. Vi riporto, di seguito, le impostazioni più importanti, con relativa spiegazione. Se avete già installato Amule o Adunanza nella versione standard (il pacchetto principale con la gui standard) e li avete già configurati, potrebbe essere una buona idea confrontare i relativi file (vi sconsiglio invece di riutilizzare li stessi…).

È importante chiarire un aspetto riguardante questi due file: amule.conf contiene sia la configurazione del demone Amuled, sia quella di Amuleweb (quest’ultima la troverete sotto la sezione chiamata [WebServer]), mentre remote.conf contiene solo la configurazione di Amuleweb.
Non vi saprei dire esattamente il perché di questa doppia configurazione: mi pare di capire che Amuled, se è lui stesso a lanciare Amuleweb, legge tutta la configurazione necessaria da amule.conf. Mentre se Amuled non lancia Amuleweb, ma siamo noi a farlo partire manualmente, allora verrà usato remote.conf. Ad ogni modo, è importante che le impostazioni in amule.conf riguardanti Amuleweb siano le stesse presenti in remote.conf.

Vedrete anche che oltre le comuni porte usate da Amule/Adunanza (4662 e 4672) qui entrano in gioco altre due porte: la 4712 è utilizzata da Amuled per accettare connessioni, e quindi utilizzata da Amuleweb per connettersi ad Amuled; mentre la 4711 è utilizzata dall’utente finale, da noi, per connetterci ad Amuleweb. Occhio a non fare confusione.

Amule.conf

Le righe più importanti di amule.conf:

Nick=[MI] - Mirko
MaxUpload=60
MaxDownload=0
Port=4662
UDPPort=4672
AddServerListFromServer=1
AddServerListFromClient=1
UPnPEnabled=0
UPnPTCPPort=50000
TempDir=/home/server/.aMuleAdunanzA/Temp
IncomingDir=/home/server/.aMuleAdunanzA/Incoming
OSDirectory=/home/server/.aMuleAdunanzA/
AddNewFilesPaused=0
StartNextFile=1
StartNextFileSameCat=0
AcceptExternalConnections=1
ECPort=4712
ECPassword=cd3e0a0700045ed656f1f561801b134f
Enabled=1
Password=21232f297a57a5a743894a0e4a801fc3
PasswordLow=084e0343a0486ff05530df6c705c8bb4
Port=4711
UseGzip=1
UseLowRightsUser=1
Template=php-default
  • alla riga 1 è indicato il nickname che verrà utilizzato;
  • alle righe 2 e 3 sono indicate le velocità massime di (rispettivamente) upload e download;
  • alle righe 4 e 5 sono indicate le porte utilizzate da Amule/Adunanza (quelle standard, come ho spiegato prima);
  • alla righe 6 e 7 viene indicato se si vuole ricevere la lista dei server dai server (riga 6) e/o dai un client (riga 7);
  • alle righe 8 e 9 viene indicato se utilizzare l’UPnP (riga 7) e, in caso affermativo, su quale porta (riga 8);
  • alle righe 10, 11 e 12 sono indicate le directory che Amule/Adunanza utilizzerà. Fate in modo che siano nella home dell’utente che eseguirà il demone;
  • alla riga 13 viene indicato se i nuovi file aggiunti per il download debbano essere aggiunti in pausa;
  • alle righe 14 e 15 viene indicato se avviare il download di un nuovo file quando un download è stato completato (riga 13) e se questo deve essere della stessa categoria (riga 14);
  • alla riga 16 viene indicato al demone se accettare o meno le connessioni esterne (dovrà essere necessariamente impostata a 1, così che Amuleweb possa connettersi correttamente al demone);
  • alla riga 17 è indicata la porta utilizzata per connettersi al demone;
  • alla riga 18 è indicata la password (come hash md5) che verrà utilizzata per connettersi al demone;
  • alla riga 19 (si trova nella sezione [WebServer]) viene indicato se si vuole avviare Amuleweb insieme al demone Amuled (è bene impostarla a 1);
  • le ultime 6 righe (si trovano tutte sotto la sezione [WebServer]) devono combaciare con le analoghe righe di remote.conf, che fra poco vedremo. In particolare, alla riga 20 è indicata la password per connettersi a Amuleweb, alla 21 la stessa ma per l’utente con privilegi limitati, alla riga 22 la porta utilizzata da Amuleweb, alla 23 viene abilitata la compressione Gzip, alla 24 viene abilitato l’utente con privilegi limitati (per il quale è stata impostata la password alla riga 21) e alla riga 25 il nome del template da utilizzare.

Note:

  • per quanto riguarda le velocità (vedi righe 2 e 3), 0 (zero) equivale a nessun limite e per la velocità deve essere espressa solo l’unità numerica, senza la rispettiva unità di misura, che è intesa in kB/s. Nel precedente esempio, quindi, “60” equivale a 60 kB/s;
  • per tutte le porte, se si hanno reali necessità è sufficiente lasciare quelle di default (4662 e 4672 per Amule/Adunanza, 50000 per l’UPnP se utilizzato, 4712 per il demone e – come vedremo più in là – 4711 per Amuleweb). Ricordate di configurare a dovere il firewall, se ne possedete uno;
  • per calcolare l’hash md5 delle password, potete utilizzare questo sito oppure la riga di comando:
    echo -n passwordCheVoglio | md5sum
  • come avrete modo di vedere, la password per connettersi al demone (e che abbiamo impostato in questo file) non sarà mai utilizzata da noi, non dovremo mai immetterla, ma sarà utilizzata solo da Amuleweb per connettersi automaticamente.

Remote.conf

Le righe più importanti di remote.conf:

Port=4712
Password=cd3e0a0700045ed656f1f561801b134f
Port=4711
Template=php-default
UseGzip=1
AllowGuest=1
AdminPassword=21232f297a57a5a743894a0e4a801fc3
GuestPassword=084e0343a0486ff05530df6c705c8bb4
  • alla riga 1 (sotto la sezione [EC], come la successiva riga) è indicata la porta del demone a cui connettersi;
  • alla riga 2 è indicata la password (sempre come hash md5) per connettersi al demone;
  • alla riga 3 (sotto la sezione [Webserver], come le successive) è indicata la porta utilizzata da Amuleweb;
  • alla riga 4 è indicato il nome del template utilizzato da Amuleweb;
  • alla riga 5 viene indicato se utilizzare la compressione Gzip;
  • alla riga 6 viene indicato se attivare un account guest per Amuleweb con permessi limitati;
  • alla riga 7 è indicata la password (come hash md5) per connettersi a Amuleweb;
  • alla riga 8 è indicata la password (come hash  md5) per connettersi a Amuleweb come utente guest.

Note:

  • la porta (riga 1) e la password per connettersi al demone (riga 2) devono essere, ovviamente, le stesse impostate in amule.conf. In altri termini, in questo file (remote.conf) impostiamo la porta e la password con le quali Amuleweb deve connettersi al demone, mentre in amule.conf stabiliamo la porta e la password che il demone si aspetterà quando Amuleweb (o altre interfacce) tenteranno di connettersi;
  • i template dovrebbero trovarsi in /usr/share/amule/webserver per Amule e in /usr/share/amuleadunanza/webserver per Adunanza:
    # ls /usr/share/amuleadunanza/webserver/
    chicane  default  litoral  php-default

    In rete sono disponibili per il download altri template. In questo caso, scaricate e scompattate in questa cartella. Resta inteso che i file del template sono liberamente modificabili secondo le proprio esigenze (ma abbiate l’accortezza di fare anticipatamente una copia);

  • le ultime due password (righe 7 e 8) possono essere scelte liberamente e saranno quelle che utilizzeremo per fare il login in Amuleweb. Generalmente qui con “Admin” (riga 7) si intende un normale utente, che può fare ricerche e mettere file in download, mentre per “Guest” (riga 8) si intende appunto un utente con diritti limitati (nello specifico può solo visualizzare), se abilitato (riga 6).

Il test

A questo punto siamo pronti per testare il tutto. In un terminale avviamo il demone Amuled e Amuleweb:

$ amuled -f

Notare che, se abbiamo fatto in modo che Amuled si occupi dell’avvio di Amuleweb (come indicato sopra), non c’è bisogno di lanciare Amuleweb. Come sempre, il tutto va eseguito con l’utente con cui abbiamo creato la configurazione. Se tutto funziona correttamente, l’output dovrebbe essere simile a questo:

amuled: OnInit - starting timer
Initialising aMuled 2.2.6 using wxGTK2 v2.8.10 AdunanzA 2010.1
Checking if there is an instance already running...
No other instances are running.
ListenSocket: Ok.
amuled: forking to background - see you

A questo punto, nel nostro browser, andiamo all’indirizzo:

http://localhost:4711

Se come me avete seguito la procedura su un muletto, sostituite “localhost” con l’ip della macchina e vi si presenterà la schermata del login:

Amuleweb

Fatto il login, ecco l’interfaccia di amministrazione di Amuleweb:

Amuleweb - Schermata

Amulegui

Oltre ad Amuleweb, abbiamo a disposizione anche Amulegui. Per Amule:

aptitude install amule-daemon-utils-gui

Per Adunanza:

aptitude install amule-adunanza-daemon-utils-gui

Lanciamo Amulegui, apparirà una finestra di connessione da riempire opportunatamente:

Amulegui

La porta è quella del demone e non quella di Amuleweb, fate attenzione. Lanciata la connessione ci ritroveremo davanti alla “classica” interfaccia di Amule/Adunanza… con la differenza che siamo connessi, magari, al demone di Amule/Adunanza che gira sul nostro muletto!

Conclusioni

Un demone è un demone. Banale a dirsi, ma questo ci permette, d’ora in avanti, di gestire Amuled così:

# /etc/init.d/amule-adunanza-daemon restart
Restarting aMule AdunanzA daemon: amuled.
# /etc/init.d/amule-adunanza-daemon stop
# /etc/init.d/amule-adunanza-daemon start

Questa guida, ovviamente, è a puro scopo didattico. Vi ricordo, infatti, che un uso legittimo di questi strumenti dipende solo da voi. Buon download! :-)

Espandi/comprimi Commenti

[…] A questo punto possiamo procedere con la configurazione come da guida. […]

[…] Revisione – un ringraziamento speciale a friwer, ]Fl3gI4s[, Mirko Pagliai e il thread del Raspberry PI su […]

Manuele
(10/03/2014, 18:50)

Ciao, sapresti spiegarmi perchè via amulegui, via app su android va tutto ok, mentre se vado sul webserver all’indirizzo localhost:4711 inizia ad impazzire?

“Processing request [redirected]: stats.php
Processing request [original]: stats.php
Session ok, logged in
Processing request [redirected]: stats.php
Processing request [original]: stats.php
Session ok, logged in
Processing request [redirected]: stats.php
Processing request [original]: stats.php
Session ok, logged in
Processing request [redirected]: stats.php

Grazie

XHTML - Puoi usare questi tag: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>