Ahora que tenemos perfectamente configurado nuestro servidor ciego, vamos a darle un uso más interesante que el de servirnos de almacén de archivos de nuestra red. Uno de los usos más interesantes que le podemos dar es usarlo para conectarse a las redes P2P, y así utilizar nuestro servidor en vez de nuestro PC del día a día, que además de dejarlo descansar, el servidor consume menos y seguramente haga menos ruido. El primer cliente P2P que instalaremos será Torrentflux, básicamente por que es la red que más uso para hacer mis descargas, bittorrent, y por que su funcionamiento sinceramente es muy bueno, y no hace falta tener ningún entorno de escritorio instalado pues es una interfaz gráfica multiusuario para BitTornado, escrita en PHP, con una base de datos y corriendo en un servidor web.
Aunque la versión que instalaremos no será la oficial de Torrentflux, pues obliga a pasar por MySQL y Apache2, sino una adaptación llamada Torrentflux-b4rt, que como mejoras permite instalarlo con Lighttpd y Sqlite, reduciendo bastante el consumo respecto a la versión oficial, además de añadir nuevas características que veremos más adelante. Instalarlo me ha dado un par de problemas que aquí intentaré explicar detalladamente para que todo el mundo pueda solventarlos y la instalación no se convierta en un suplicio. No tengáis miedo que si hacemos todo bien debería funcionarnos perfectamente a la primera, pero empecemos preparando el sistema.
Lo primero tenemos que instalar todas las dependencias de Torrentflux-b4rt que son alguna más que las que requiere el oficial Torrentflux, debido a sus funciones añadidas. Básicamente lo que instalaremos será un servidor web, lighttpd, soporte para PHP, PHP5-cgi y PHP5-cli, soporte para Sqlite, sqlite y php5-sqlite y finalmente python que será el encargado de controlar bittornado, también instalaremos varias herramientas que extenderán las funcionalidades del programa (unrar, unzip, ckfsv, etc...). Así que utilizando el soccorrido aptitude instalaremos todos los paquetes, recordad que tenemos que usar una terminal como root de nuestro ordenador actual yo al usar KDE utilizo Konsole, y conectar vía SSH con el servidor ciego, como ya hicimos en entradas anteriores. Como mi servidor ciego está tras la IP 192.168.1.2, me conectaré a esa IP y me pedirá el password de root, tras introducirlo ya estaremos dentro de nuestro servidor ciego y podremos comenzar con la instalación:
En este punto me encontré con el primer problema, hay que activar el soporte de PHP5 en lighttpd, no es complicado pero la instalación de PHP5 ya podría hacer esto por mi. Solo hay que editar dos archivos "/etc/php5/cgi/php.ini" y "/etc/lighttpd/lighttpd.conf", para añadir el soporte para PHP5, empezaremos con el primero:
En este archivo tenemos que añadir la siguiente línea al final del archivo, "cgi.fix_pathinfo = 1", quedándonos exactamente así, el final de nuestro archivo:
Tras modificar el archivo salimos con CTRL+X, le decimos que queremos guardar los cambios y sobrescribimos el archivo original. Ahora tocará editar el segundo archivo "/etc/lighttpd/lighttpd.conf", a este archivo tendremos que añadirle dos líneas, la primera "mod_fastcgi" en la sección "server.modules", al principio de todo el archivo.
Tras esto, tenemos que añadir unas líneas al final del archivo, exactamente estas:
De nuevo salimos y guardamos el archivo, sobrescribiendo el original, como siempre. Ahora para que lighttpd adopte los cambios que le hemos introducido, tenemos que reiniciar el servidor web, con esta línea en terminal:
Ahora comprobaremos, que lighttpd funciona y tiene soporte para PHP, así que crearemos un archivo, "/var/www/info.php", en el que introduciremos unas sencillas líneas en PHP, que nos mostrará muchos detalles de nuestra instalación de PHP, como la versión instalada. Si se muestra correctamente significará que hemos configurado correctamente tanto lighttpd como PHP, y ya podríamos comenzar a instalar Torrentflux-b4rt, pero antes crearemos dicho archivo:
En este archivo tendremos que escribir lo siguiente:
Como siempre salimos y guardamos el archivo, ahora tenemos que ir a nuestro navegador web favorito, yo uso IceWeasel, y escribir la siguiente dirección, "http://192.168.1.2/info.php", recordad que yo tengo mi servidor ciego bajo la IP 192.168.1.2, por eso pongo esa dirección, si vosotros tenéis otra dirección deberéis escribir esa misma. Y deberíais ver algo así:
Tras descargar el archivo, debería tardar poco, tenemos que descomprimirlo usando el comando tar, de la siguiente manera:
Ahora que tenemos los archivos descomprimidos, crearemos la carpeta de Torrentflux en el directorio de trabajo de lightppd, /var/www/torrentflux/ y moveremos ahí los archivos que necesitemos y por supuesto les daremos los permisos necesarios para que lighttpd pueda manejarlos, asegurándonos de que puedan ser manejados por www-data, el usuario que usa lighttpd.
En este momento ya podíamos ejecutar el script de instalación en nuestro navegador, pues el solo nos creará la base de datos, la configurará y hará lo mismo con los archivos del programa, pero debido a un problema con esta beta, hay un problema al crear la base de datos con sqlite, tenemos que crear la base de datos de sqlite nosotros mismos, antes de proceder con la instalación. Lo podemos hacer fácilmente con el siguiente comando:
Tras esto entraremos en la línea de comandos de sqlite, donde podríamos dar forma a nuestra base de datos, pero esto y alo hace perfectamente el script de instalación de torrentflux-b4rt, así que solo tenemos que salir escribiendo "exit." y pulsando enter. Recordad bien el nombre que le habéis dado a la base de datos, pues durante la instalación nos lo pedirán. Ahora si que tenemos todo listo, y solo nos queda ir al navegador que usemos, por ejemplo Iceweasel, e introduciremos la siguiente dirección, "http://192.168.1.2/torrentflux/", recordad que 192.168.1.2 es la IP que he asignado a mi servidor ciego, y que /torrentflux/ fue el nombre de la carpeta que hemos creado en el directorio de trabajo de lighttpd, /var/www/, si pusisteis otro nombre o usáis otra IP para vuestro servidor ciego, deberéis escribir otra dirección que se ajuste a vuestra configuración. Tras introducir la dirección entraremos en el proceso de instalación, donde tendremos que ir pasando páginas e ir configurando el programa. Tras varios "continue" donde nos avisa de como será el proceso de instalación llegamos al primer punto importante, donde elegiremos que base de datos usaremos, por supuesto, sqlite, que para eso la hemos instalado y creado. La elegimos como vemos en la captura:
Tras elegir la base de datos con sqlite, comprobará que nuestro sistema soporta sqlite y luego nos preguntará si ya tenemos creada una base de datos o queremos crear una en ese momento, como comentaba antes hay un problema con la creación de bases de datos con sqlite, en este script de instalación, y por eso la hemos creado manualmente, así que desmarcamos la casilla de "Create Database" y escribimos el nombre de la base de datos que hemos creado anteriormente, yo había elegido "torrentflux.db", y pulsamos en Continue.
Tras este paso, comprobará que está bien la base de datos y luego creará las tablas, de nuevo pasaremos por varios Continue, hasta que llegamos al siguiente punto importante, donde elegiremos la ruta donde guardará los archivos, aunque esa ruta será relativa pues en esa carpeta creará una carpeta por cada usuario que use y descargue algo con torrentflux-b4rt, pero lo que si es importante es que esa ruta tenga los permisos correctos, es decir que www-data el usuario de lighttpd pueda escribir en ella. Yo guardo todo en mi partición "/media/Archivos", para no tener problemas de permisos le he pasado el comando chmod con la opción 777, como veis a continuación, luego he indicado la ruta en el script de instalación del programa como veis en la captura:
Pasado este punto, comprobará, de nuevo tras varios Continue, que tenemos todos los ejecutables que necesita para aprovechar todas las funciones, correctamente instalados, como veis en la captura a mi solo me falta uno, VLC, que solo se usa para hacer Streaming a través de la red directamente desde el propio programa, pero yo no necesito esa opción y me parece excesivo instalar VLC así que no lo instalo. Pero si os parece una función necesaria solo tenéis que instalarlo antes de este paso y lo detectará automáticamente. Podéis verlo en la captura:
Una vez superado este punto hemos llegado al punto final del script de instalación, donde como podéis ver en la captura, nos comenta un detalle importante, cuando nos salga por primera vez la ventana de login, el usuario y la contraseña que introduzcamos serán las que el programa guardará como las del usuario SuperAdmin, así que fijaros bien que escribís que luego necesitaréis esa clave y user.
Tras este paso veremos la ventana de Login, como veis en la captura, y como os comentaba antes, el usuario y la contraseña que introduzcáis ahora serán las que se guardarán como las del usuario SuperAdmin, así que aseguraos bien que ponéis y recordadlo claro.
Una vez puestos Username y Password, veremos la pantalla de configuración de Torrentflux-b4rt, y podremos configurar todos los aspectos del programa pero eso lo dejaremos para una entrada posterior, que por hoy llega. Aquí os dejo una del programa en acción para que veáis como es funcionando:
Aunque la versión que instalaremos no será la oficial de Torrentflux, pues obliga a pasar por MySQL y Apache2, sino una adaptación llamada Torrentflux-b4rt, que como mejoras permite instalarlo con Lighttpd y Sqlite, reduciendo bastante el consumo respecto a la versión oficial, además de añadir nuevas características que veremos más adelante. Instalarlo me ha dado un par de problemas que aquí intentaré explicar detalladamente para que todo el mundo pueda solventarlos y la instalación no se convierta en un suplicio. No tengáis miedo que si hacemos todo bien debería funcionarnos perfectamente a la primera, pero empecemos preparando el sistema.
Lo primero tenemos que instalar todas las dependencias de Torrentflux-b4rt que son alguna más que las que requiere el oficial Torrentflux, debido a sus funciones añadidas. Básicamente lo que instalaremos será un servidor web, lighttpd, soporte para PHP, PHP5-cgi y PHP5-cli, soporte para Sqlite, sqlite y php5-sqlite y finalmente python que será el encargado de controlar bittornado, también instalaremos varias herramientas que extenderán las funcionalidades del programa (unrar, unzip, ckfsv, etc...). Así que utilizando el soccorrido aptitude instalaremos todos los paquetes, recordad que tenemos que usar una terminal como root de nuestro ordenador actual yo al usar KDE utilizo Konsole, y conectar vía SSH con el servidor ciego, como ya hicimos en entradas anteriores. Como mi servidor ciego está tras la IP 192.168.1.2, me conectaré a esa IP y me pedirá el password de root, tras introducirlo ya estaremos dentro de nuestro servidor ciego y podremos comenzar con la instalación:
ssh 192.168.1.2
aptitude install lighttpd sqlite php5-cgi php5-cli php5-sqlite python bzip2 unrar unzip uudeview cksfv
En este punto me encontré con el primer problema, hay que activar el soporte de PHP5 en lighttpd, no es complicado pero la instalación de PHP5 ya podría hacer esto por mi. Solo hay que editar dos archivos "/etc/php5/cgi/php.ini" y "/etc/lighttpd/lighttpd.conf", para añadir el soporte para PHP5, empezaremos con el primero:
nano /etc/php5/cgi/php.ini
En este archivo tenemos que añadir la siguiente línea al final del archivo, "cgi.fix_pathinfo = 1", quedándonos exactamente así, el final de nuestro archivo:
; Local Variables: ; tab-width: 4 ; End: cgi.fix_pathinfo = 1
Tras modificar el archivo salimos con CTRL+X, le decimos que queremos guardar los cambios y sobrescribimos el archivo original. Ahora tocará editar el segundo archivo "/etc/lighttpd/lighttpd.conf", a este archivo tendremos que añadirle dos líneas, la primera "mod_fastcgi" en la sección "server.modules", al principio de todo el archivo.
nano /etc/lighttpd/lighttpd.conf
server.modules = ( "mod_access", "mod_alias", "mod_accesslog", "mod_fastcgi", # "mod_rewrite", # "mod_redirect", # "mod_status",
Tras esto, tenemos que añadir unas líneas al final del archivo, exactamente estas:
fastcgi.server = ( “.php” => (( “bin-path” => “/usr/bin/php5-cgi”, “socket” => “/tmp/php.socket” )))
De nuevo salimos y guardamos el archivo, sobrescribiendo el original, como siempre. Ahora para que lighttpd adopte los cambios que le hemos introducido, tenemos que reiniciar el servidor web, con esta línea en terminal:
/etc/init.d/lighttpd restart
Ahora comprobaremos, que lighttpd funciona y tiene soporte para PHP, así que crearemos un archivo, "/var/www/info.php", en el que introduciremos unas sencillas líneas en PHP, que nos mostrará muchos detalles de nuestra instalación de PHP, como la versión instalada. Si se muestra correctamente significará que hemos configurado correctamente tanto lighttpd como PHP, y ya podríamos comenzar a instalar Torrentflux-b4rt, pero antes crearemos dicho archivo:
nano /var/www/info.php
En este archivo tendremos que escribir lo siguiente:
<?php phpinfo(); ?>
Como siempre salimos y guardamos el archivo, ahora tenemos que ir a nuestro navegador web favorito, yo uso IceWeasel, y escribir la siguiente dirección, "http://192.168.1.2/info.php", recordad que yo tengo mi servidor ciego bajo la IP 192.168.1.2, por eso pongo esa dirección, si vosotros tenéis otra dirección deberéis escribir esa misma. Y deberíais ver algo así:

cd /root/ wget http://download2.berlios.de/tf-b4rt/torrentflux-b4rt_1.0-beta1.tar.bz2
Tras descargar el archivo, debería tardar poco, tenemos que descomprimirlo usando el comando tar, de la siguiente manera:
tar -jxvf torrentflux-b4rt_1.0-beta1.tar.bz2
Ahora que tenemos los archivos descomprimidos, crearemos la carpeta de Torrentflux en el directorio de trabajo de lightppd, /var/www/torrentflux/ y moveremos ahí los archivos que necesitemos y por supuesto les daremos los permisos necesarios para que lighttpd pueda manejarlos, asegurándonos de que puedan ser manejados por www-data, el usuario que usa lighttpd.
mkdir /var/www/torrentflux cd torrentflux-b4rt_1.0-beta1/ cp -r html/* /var/www/torrentflux chown -R www-data:www-data /var/www/torrentflux
En este momento ya podíamos ejecutar el script de instalación en nuestro navegador, pues el solo nos creará la base de datos, la configurará y hará lo mismo con los archivos del programa, pero debido a un problema con esta beta, hay un problema al crear la base de datos con sqlite, tenemos que crear la base de datos de sqlite nosotros mismos, antes de proceder con la instalación. Lo podemos hacer fácilmente con el siguiente comando:
sqlite torrentflux.db
Tras esto entraremos en la línea de comandos de sqlite, donde podríamos dar forma a nuestra base de datos, pero esto y alo hace perfectamente el script de instalación de torrentflux-b4rt, así que solo tenemos que salir escribiendo "exit." y pulsando enter. Recordad bien el nombre que le habéis dado a la base de datos, pues durante la instalación nos lo pedirán. Ahora si que tenemos todo listo, y solo nos queda ir al navegador que usemos, por ejemplo Iceweasel, e introduciremos la siguiente dirección, "http://192.168.1.2/torrentflux/", recordad que 192.168.1.2 es la IP que he asignado a mi servidor ciego, y que /torrentflux/ fue el nombre de la carpeta que hemos creado en el directorio de trabajo de lighttpd, /var/www/, si pusisteis otro nombre o usáis otra IP para vuestro servidor ciego, deberéis escribir otra dirección que se ajuste a vuestra configuración. Tras introducir la dirección entraremos en el proceso de instalación, donde tendremos que ir pasando páginas e ir configurando el programa. Tras varios "continue" donde nos avisa de como será el proceso de instalación llegamos al primer punto importante, donde elegiremos que base de datos usaremos, por supuesto, sqlite, que para eso la hemos instalado y creado. La elegimos como vemos en la captura:

Tras elegir la base de datos con sqlite, comprobará que nuestro sistema soporta sqlite y luego nos preguntará si ya tenemos creada una base de datos o queremos crear una en ese momento, como comentaba antes hay un problema con la creación de bases de datos con sqlite, en este script de instalación, y por eso la hemos creado manualmente, así que desmarcamos la casilla de "Create Database" y escribimos el nombre de la base de datos que hemos creado anteriormente, yo había elegido "torrentflux.db", y pulsamos en Continue.

Tras este paso, comprobará que está bien la base de datos y luego creará las tablas, de nuevo pasaremos por varios Continue, hasta que llegamos al siguiente punto importante, donde elegiremos la ruta donde guardará los archivos, aunque esa ruta será relativa pues en esa carpeta creará una carpeta por cada usuario que use y descargue algo con torrentflux-b4rt, pero lo que si es importante es que esa ruta tenga los permisos correctos, es decir que www-data el usuario de lighttpd pueda escribir en ella. Yo guardo todo en mi partición "/media/Archivos", para no tener problemas de permisos le he pasado el comando chmod con la opción 777, como veis a continuación, luego he indicado la ruta en el script de instalación del programa como veis en la captura:
chmod 777 /media/Archivos/

Pasado este punto, comprobará, de nuevo tras varios Continue, que tenemos todos los ejecutables que necesita para aprovechar todas las funciones, correctamente instalados, como veis en la captura a mi solo me falta uno, VLC, que solo se usa para hacer Streaming a través de la red directamente desde el propio programa, pero yo no necesito esa opción y me parece excesivo instalar VLC así que no lo instalo. Pero si os parece una función necesaria solo tenéis que instalarlo antes de este paso y lo detectará automáticamente. Podéis verlo en la captura:
Una vez superado este punto hemos llegado al punto final del script de instalación, donde como podéis ver en la captura, nos comenta un detalle importante, cuando nos salga por primera vez la ventana de login, el usuario y la contraseña que introduzcamos serán las que el programa guardará como las del usuario SuperAdmin, así que fijaros bien que escribís que luego necesitaréis esa clave y user.

Tras este paso veremos la ventana de Login, como veis en la captura, y como os comentaba antes, el usuario y la contraseña que introduzcáis ahora serán las que se guardarán como las del usuario SuperAdmin, así que aseguraos bien que ponéis y recordadlo claro.

Una vez puestos Username y Password, veremos la pantalla de configuración de Torrentflux-b4rt, y podremos configurar todos los aspectos del programa pero eso lo dejaremos para una entrada posterior, que por hoy llega. Aquí os dejo una del programa en acción para que veáis como es funcionando:















