Tengo un ordenador con Ubuntu 6.06 actuando como servidor de casa y lo quiero usar para centralizar todas las descargas del tipo eMule de la casa.
En este artículo pretendo explicar cómo instalar el cliente mldonkey en modo servicio, desde modo consola, accediendo a él via http.
Primero de todo, debemos actualizar la lista de paquetes del apt:
$ apt-get update
Seguidamente instalamos el paquete mldonkey-server, que es el cliente que actuará en modo servicio en nuestro servidor:
$ apt-get install mldonkey-server
En mi caso, obtuve un error que me impedía ejecutar el programa:
Starting MLDonkey: mlnetinstall: opción inválida — f
Pruebe `install –help’ para más información.
Googleando un poco, encontré esta página dónde explican la solución. Resulta que se debe editar el script que lanza el programa (/etc/init.d/mldonkey-server) sustituyendo la linia siguiente:
install -o mldonkey -g mldoney -m 755 -f $PIDFILE
por ésta otra:
install -o mldonkey -g mldonkey -m 755 -d $(dirname $PIDFILE)
Una vez realizado ésto, debemos modificar la configuración del mldonkey para adaptarla a nuestras necesidades. Para ello, editamos el archivo /var/lib/mldonkey/downloads.ini y hacemos los siguentes ajustes:
1.- Introducimos el nombre del cliente que será mostrado:
client_name = pepe
2.- Especificamos qué direcciones IP tienen permitido el acceso a mldonkey. Puede ser una lista de IPs, o usar 255 como comodín. Cuidado con el formato: cada elemento en la lista está encerrado entre comillas dobles y acaba con un punto y coma.
allowed_ips = [
“192.168.1.255″;
“127.0.0.1″;]
3.- Especificar el puerto para la conexión http:
http_port = 4080
4.- Especificar el ancho de banda usado para la subida y la bajada en kiloBytes. Ésto depende directamente de tu conexión a internet. Para saber los valores máximos que podemos poner debemos saber qué capacidad tenemos de subida y bajada en nuestro acceso a internet. Como estos datos los sabremos normalmente en kbits, deberemos convertirlos en kBytes dividiéndolos entre 8. En mi caso (ADSL 20 Megas),
Bajada: 20000 kbits/s / 8 = 2500 kBytes
Subida: 1000kbits/s / 8 = 125 kBytes
Se debe tener en cuenta que pocas veces tenemos el ancho de banda que nos prometen, así que vale la pena identificar nuestra velocidad real con alguna herramienta de test de velocidad. Cuando tengamos el valor, calculamos los kBytes y ya tendremos el valor máximo.
Además, tampoco es aconsejable dedicar todo el ancho de banda al mldonkey… vale la pena dejarnos algo para nosotros, para poder navegar. Así que finalmente, yo obté por los siguientes valores:
max_hard_download_rate = 150
max_hard_upload_rate = 20
5.- Número máximo de conexiones abiertas. Éste es un parámetro delicado. Contra mayor sea el número, más conexiones se mantendrán abiertas para recuperar partes de archivo, pero demasiadas puede llegar a colgar el router y, por tanto, nuestra conexión a internet. Además, algunos routers no cierran bién las conexiones abiertas sin usar, con lo que se van acumulando al cabo del tiempo y hacen colgar el router al cabo de varios días. Es importante informarte de tu router y su capacidad. En ADSLAyuda tienen una buena colección de routers comentados. En mi caso dejo el valor por defecto:
max_opened_connections = 200
6.- Especificar el número máximo de archivos bajándose a la vez. No es aconsejale que sean demasiados, porque a más archivos bajándose concurrentemente, a menos velocidad se baja cada uno (el ancho de banda disponible se reparte entre los que se están bajándose). Yo seto el siguiente valor:
max_concurrent_downloads = 60
7.- Setamos que no queremos que nos pregunte si queremos arrancar el entorno gráfico:
ask_for_gui = false
8.- Setamos que no queremos que arranque automáticamente el entorno gráfico:
start_gui = false
9.- Especificamos el directorio temporal. Recordar que debemos crear el directorio y setarle permisos de escritura al usuario que usará el mldonkey!
temp_directory = “/dades/downloads/mldonkey/temporal”
10.- Especificamos los derechos de los archivos creados en el directorio temporal. En mi caso, todos los usuarios que tienen acceso al servidor estan en el mismo grupo, con lo que los derechos que setaré son 775 para que tengan control sobre los archivos creados:
create_dir_mask = 775
ATENCIÓN! El usuario que ejecuta el programa es mldonkey. Éste usuario debe ser del grupo de usuarios del sistema o ser el propietario del directorio temporal y del directorio incoming para que ésto funcione.
11.- Guardar el archivo y salir.
Debemos tener en cuenta que por defecto, cuando se hayan acabado de bajar los archivos, se copiaran al directorio incoming del mldonkey (/var/lib/mldonkey/incoming). No hay ningún archivo de configuración que permita especificar otro, con lo que si nuestro disco duro de sistema es pequeño (como es mi caso) puede que nos interese que el directorio incoming esté en otro disco duro diferente (aconsejable). Para hacer ésto, debemos crear una estructura de directorios parecida al incoming en nuestra ubicación preferida (un directorio files y otro llamado directories dentro de incoming) y luego crear un softlink desde la antigua ubicación hacia la nueva. No olvidar que en la nueva estructura de directorios deben haber permisos para que el usuario mldonkey pueda escribir!
$ rm -r /var/lib/mldonkey/incoming
$ mkdir /dades/downloads/mldonkey/incoming
$ mkdir /dades/downloads/mldonkey/incoming/files
$ mkdir /dades/downloads/mldonkey/incoming/directories
$ chown -R mldonkey:mldonkey /dades/downloads/mldonkey/incoming
$ ln -s /dades/downloads/mldonkey/incoming /var/lib/mldonkey/incoming
Ahora ya lo podemos ejecutar con:
$ /etc/init.d/mldonkey_server start
Por último deberíamos abrir los puertos necesarios al router dirigiéndo el tráfico hacia nuestro servidor.
| Network |
Type |
Historical default |
MLdonkey default |
Configuration file |
| eDonkey2000 |
TCP |
4662 |
port = random (before 2.8.0: 4662) |
donkey.ini |
| eDonkey2000 |
UDP |
4672 (eMule) |
TCP port + 4 (before 2.8.0: 4666) |
donkey.ini |
| Kad |
TCP |
6419 (eMule) |
Kademlia.port = random |
donkey.ini, Kademlia section |
| Kad1 |
UDP |
6429 (eMule) |
Same as TCP |
donkey.ini, Kademlia section |
| Overnet |
TCP |
4662 |
Overnet.port = random |
donkey.ini, Overnet section |
| Overnet |
UDP |
No default |
Same as TCP |
donkey.ini, Overnet section |
| Gnutella |
TCP |
6346 |
client_port = 6346 |
gnutella.ini |
| Gnutella |
UDP (??) |
Same as TCP |
client_port = 6346 |
gnutella.ini |
| Gnutella2 |
TCP |
No default |
client_port = 6347 |
gnutella2.ini |
| Gnutella2 |
UDP |
Same as TCP |
client_port = 6347 |
gnutella2.ini |
| BitTorrent |
TCP |
6881 |
client_port = 6882 |
bittorrent.ini |
| FastTrack |
TCP |
1214 |
client_port = 1214 |
fasttrack.ini |
| OpenNapster |
TCP |
6699 |
client_port = 9999 |
opennap.ini |
| DirectConnect |
TCP |
1412 |
client_port = 4444 |
directconnect.ini |
| Direct Connect |
UDP |
Same as TCP |
client_port = 4444 |
directconnect.ini |
| Soulseek |
TCP |
2234 |
client_port = 2234 |
soulseek.ini |
http://mldonkey.sourceforge.net/WhatFirewallPortsToOpen
Y ya podremos entrar via web, en la dirección http://ip_del_server:4080. Nos preguntará un usuario y un password. El usuario es admin y la contraseña será la introducida durante la instalación.
Nota: En los primeros intentos de ejecución tuve problemas… algunas cosas que me dejaba o problemas de permisos… Para poder debugar y saber qué le está pasando, podéis consultar el archivo de log, situado en /var/lib/mldonkey/mlnet.log:
$ tail -f /var/lib/mldonkey/mlnet.log
En éstos momentos, me está funcionando perfectamente, bajando a una media de 60 - 100 KB/s en una ADSL de 20 Mb (unos 5 Mb reales).
Saludos!
Escribe un Comentario