Instalar mldonkey para modo consola en un Ubuntu 6.06
18 de Enero de 2007 en Sistemas, Linux
Lecturas: 9,799

mldonkeyTengo 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!


 Enviar a Fresqui

Leer los Comentarios

[ # 1211 ] Comment desde Miguel [25 de Mayo de 2007, 07:38]

Genial!. Solo añadir que puedes configurar los directorios de descarga y el compartido en el fichero downloads.ini

Gracias por tu trabajo, me ha ayudado mucho

[ # 2554 ] Comment desde Nauj [10 de Julio de 2007, 01:44]

Hola, tengo un par de preguntas:

1º: Para hacer la instalación del mldonkey-server, tienes que ser root, o tienes que loguearte como el usuario mldonkey?

2º: Una ves instalado y configurado, para arrancarlo tienes que loguearte como el usuario mldonkey, o tambien lo puedes arrancar siendo root?

Muchas gracias, tienes una web estupenda. Animo!

[ # 2565 ] Comment desde Xavi [10 de Julio de 2007, 07:52]

Hola!
Para la instalación yo siempre me logo como root, pues a priori nunca sabes lo que se va a necesitar.
Una vez instalado, se crea un script de arranque en /etc/init.d y en principio da igual con qué usuario lo ejecutes (debe tener permiso para ejecutar programas). Puedes arrancarlo con el usuario root o con el usuario que te crea el sistema en los primeros pasos de la instalación del ubuntu.

Saludos y gracias por el comentario!

Escribe un Comentario





Estadísticas