jueves, 20 de diciembre de 2012

¿La raspberry como central de descargas?





No sé si conocéis Owncloud, yo hasta hace unos días no, pero puesto que tengo una Raspi y quiero darle uso me parece una buena manera aprovechar y instalar en ella este sistema, similar a la nube icloud de apple, pero con una sola limitación de espacio, el que tenga mi disco duro.
 Para empezar vamos a hacer unas cuantas cosas en nuestra pequeña raspi:

sudo -i
apt-get update  
apt-get upgrade

Realizamos pasito a pasito el update llevará unos minutos  y cuando acabe el upgrade algo más.
Una vez todo esté terminado tendremos que descargar una serie de paquetes:

apt-get install apache2
apt-get install php5
apt-get install php-xmlparser
apt-get install php5-sqlite
apt-get install php5-json
apt-get install sqlite
apt-get install php5-mysql
apt-get install mp3info
apt-get install curl
apt-get install libcurl3
apt-get install libcurl3-dev
apt-get install php5-curl
apt-get install zip
apt-get install php5-gd
apt-get install bzip2

Vayan instalando uno a uno y con tranquilidad comprobando que todos se instalan correctamente para que no hay errores ( ¿a que es maravilloso estar por ssh y pegar con el botón izquierdo? recuerda como se hace aquí). Cuando esté terminado tecleamos el siguiente comando:

wget  http://mirrors.owncloud.org/releases/owncloud-4.5.4.tar.bz2 mkdir /home/pi/descargar
mv owncloud-4.5.4.tar.bz2 // /home/pi/descargar
cd /home/pi/descargar/
tar -xvf owncloud-4.5.4.tar.bz2
mv owncloud /var/www/
rm  owncloud-4.5.4.tar.bz2 (para que no ocupe espacio)
chown -R www-data:www-data /var/www/owncloud

Ok ahora procederemos a instalar un editor más potente que el nano para poder editar el siguiente archivo.

apt-get install vim

Ohh my GOD !! mi raspberry se a quedado sin espacio me lo temía que con una tarjetita de 4 gb no iba a dar para mucho así que vamos a hacer algo que tenía pendiente, eliminar el entorno grafico de mi raspi que no me gusta demasiado: (script hecho por el coleguita Juanmol os recomiendo seguir su blog muy interesante http://rsppi.blogspot.com.es)

aptitude remove $(echo $(dpkg -l | grep ^ii | grep -e x11 -e xserver | awk '{ print $2 }'))

Una vez este esto terminado seguimos

   vi /etc/php5/apache2/php.ini

buscamos la linea "upload_max_filesize" y la editamos para  el tamaño máximo de los archivos que podemos subir, como quiero subir una peli de vez en cuando pues pondré unos 5000MB para ir sobrados xD, y lo mismo para "post_max_size" pulsamos la tecla "a"  y los modificamos. Para cerrar pulsamos escape y tecleamos :wq! para guardarlo y listo.
Bien ahora reiniciamos el apache2 con :

 /etc/init.d/apache2 restart

y entramos a nuestro navegador tecleamos la direccion ip de nuestra rasp en mi caso "10.13.21.154/owncloud" y UPPPPSSSSSS al aplicar el truco de nuestro amigo juanmol se nos a jodido la dependencia php5-gp volvemos a instalarla con:

apt-get install php5-gp

Y reiniciamos de nuevo con:

 /etc/init.d/apache2 restart

Ahora sí que si, ya podemos subir todo lo que queramos. ¿Seguro? creo recordar que me paso algo la  última vez que me puse a subir todo lo que quería a la Raspi, así que voy a configurar el owncloud para que me guarde los archivos en un disco externo a la Raspi. Veamos:

Como ahora mismo no tengo a mano un disco externo y me sobra un pendrive de 16 Gb por aquí me lo apañare para este post con él, ya en un futuro lo cambiare y os daré cuenta de ello.

Conectamos el pendrive a la Raspi escribimos "fdisk -l" pulsamos enter y vuala!
aparece nuestro pendrive como /dev/sda1 ( si no tienes nada mas conectado a las Raspi), pero tenemos un problema mi pen esta en fat32 y para que rule esto lo necesitamos en ext3 así que vamos a formatearlo con nuestra Raspi, con lo siguiente:

mkfs.ext3 /dev/sda1   (tarda lo suyo)
fdisk -l

Y ahora sí que nuestro pendrive  está listo para la Raspi, creamos un directorio donde lo vamos a montar:

mkdir /media/pendrive

Bueno pues ahora podriamos montar directamente el pendrive en el directorio pero eso de estar montandolo y desmontandolo cada vez que lo coloco no va conmigo así que vamos a editar siguiente fichero:

vi /etc/fstab

Y como antes pulsamos "a" y debajo de las líneas ponemos

/dev/sda1       /media/pendrive ext3    defaults          0       0

Separando cada cosa que tiene espacios con un tabulador, a continuación guardamos con "crtl + X" le decimos que si con "S"  ponemos en consola:

mount -a
cd /media/pendrive/
mkdir owncloud/
cd owncloud/
mkdir data/
chown -R www-data:www-data /media/pendrive/owncloud/data
service apache2 restart

Entramos en el navegador, escribimos "Nuestra ip/owncloud" Ya tenemos la pantalla inicial de nuestro owncloud, nos registramos con el user y pass que queramos, !!Y PULSAMOS EN OPCIONES AVANZADAS!! ahi le decimos la ruta para la que configuramos el pendrive:

/media/pendrive/owncloud/data

y pulsamos finalizar .... YuhUU! va perfecto!, ojeamos un poco la web y ufff que pereza, estar subiendo archivos uno a uno  ¿no?, ¿no habrá un programilla para subirlos todos de golpe? mmm quizás este valga clientSync.

Lo instalamos  y vemos que nos crea una carpeta ahí ordenamos o llenamos de todo lo que queramos subir al server y él se encargara de hacerlo solito, eso si tener paciencia que tarda su ratito en subirlo todo, por cierto si tenéis un linux por ahi o  un mac y queréis sincronizarlos también aquí tenéis el link para encontrar sus clientes.




Bueno ya tenemos nuestro servidor owncloud funcionando en nuestra red lan, pero y si quiero coger archivos desde mi iphone cuando vaya por ahí o en la red wifi del campus, mm para ello vamos a usar no-ip, hacemos lo siguiente:



cd /media/pendrive/
wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz

¿y lo instalamos en el pendrive? pues si para algo esta ahí no, la Raspi no es que brille por el espacio de su memoria SD así que vamos a aprovechar nuestro pen que tenemos montado para las futuras 
instalaciones:
 
 tar xvzf noip-duc-linux.tar.gz
rm noip-duc-linux.tar.gz
cd noip-2.1.9-1
apt-get install make
apt-get install gcc
make  install noip2.c

Vale ahora dejamos esto aparcado por un momento, vamos a la página de "www.no-ip.com" y nos registramos, activamos la cuenta en el correo  y  nos logueamos en la pagina, buscamos el boton de "host/redirects" y pulsamos en "add host" rellenamos los campos de nombre del dominio y dirección con     "miraspberry.no-ip.org" en  mi caso y aceptamos.

Volvemos al ssh de la raspberry pi vemos que nuestro make install noip2.c nos dejo aquí:

"Please enter the login/email string for no-ip.com"

Introducimos el correo con el que nos registramos en no-ip.com y la contraseña después de pulsar enter cuando pregunte por el tiempo "30" simplemente pulsamos enter  y a la pregunta de si queremos configurarla le decimos que "N". Bueno y ya tenemos nuestra Raspberry instalada con no-ip pero hay que encender el servidor para ello ejecutamos el siguiente comando.

/usr/local/bin/noip2

Y ya la tenemos accedemos a "mirapsberry.no-ip.org/owncloud/" ( edítalo para tu caso) y ahí está 
perfectísimo,  eso sí para subir archivos grandes hacerlo siempre en lan que van mucho mas rápido.

Lista de comando para noip2:

/usr/local/bin/noip2 -C                  Configurar un cliente
/usr/local/bin/noip2                       Ejecutar un cliente
/usr/local/bin/noip2 -S                  Mostrar información de los clientes
                                                           que se están ejecutando
/usr/local/bin/noip2 -D pid           Cambiar el estado de verif. (debug)
                                                           para un (pid) cliente
/usr/local/bin/noip2 -K pid           Terminar un cliente por (pid)


Pero me surge una pregunta, ¿cada vez que apague y encienda la raspberry pi tendré ejecutar /usr/local/bin/noip2 ?,  pues sí, pero vamos a ver si podemos arreglar eso:

vim /etc/init.d/noip2.sh

Añadimos   /usr/local/bin/noip2  y guardamos, seguimos:

chmod +x /etc/init.d/noip2.sh
cd /etc/rc2.d/
ln -s /etc/init.d/noip2.sh S99noip2.sh
  
Reiniciamos y comprobamos con:


/usr/local/bin/noip2 -S

y ....

1 noip2 process active.
Process 1812, started as noip2, (version 2.1.9)
Using configuration from /usr/local/etc/no-ip2.conf



Bingoo!! ya tendremos activo nuestra no-ip siempre que encendamos nuestra Raspi, asi que ahora voy al navegador pongo mi direcion "miraspberry.no-ip.org" y ..





Uppss, se me olvido añadir después de mi dirección  /owncloud ¿pero qué es esto? y más interesante aun ¿qué podemos hacer con él? Lo veremos en futuros post.

Espero que os haya sido de total ayuda sin tenéis algún problema avisarme, auf wiedersehen.

4 comentarios:

  1. Un tutorial muy interesante, me ha servido de gran ayuda. Yo tambien ando salseando con la raspi y ahora ando peleandome con XBMC, en el que las pelis se cortan y en raspbmc las mismas funcionan correctamente. Se te ocurre alguna idea?

    Gracias

    ResponderEliminar
  2. Hace como unos dias, que le instale el raspbmc a mi raspi y iba bastante bien, con un XBMC sin ser adaptado la verdad que no he probado, pero puedes ejecutar un top en consola, ver aparte de tu xbmc que mas esta consumiendo CPU, con el comando "nice"(prioridad), darle mas recursos al XBMC y delimitar los otros. Prueba y me cuentas.

    ResponderEliminar
  3. Buenas, gracias por tu respuesta. El proceso xbmc no baja del 90% entiendo que será normal. Los videos que intento reproducir son 1080p y ocupan alrededor de 6GB, no se si hay que convertir estos videos para que xbmc puedo reproducirlo fluidamente.
    Saludos

    ResponderEliminar
  4. Hola.
    Muchas gracias por el tutorial, gracias a el tengo owncloud funcionando, pero no consigo realizar el último paso, no inicia el servicio al arrancar la rpi. Uso raspbian weezy actualizado.
    En mi caso el archivo /etc/init.d/noip2.sh no existe, lo que hago es crearlo y escribir dentro /usr/local/bin/noip2 , realizo los últimos pasos y no me funciona ¿alguna idea de que estoy haciendo mal?
    un saludo

    ResponderEliminar