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.

martes, 18 de diciembre de 2012

Puesta a punto.

  Hace unos días que mi Raspi llegó pero debido a unos asuntos no había podido probarla, así que hoy decidí ponerla en funcionamiento, pero me surgió un pequeño contratiempo no dispongo de televisor ya que vivo en una Residencia Universitaria, por lo tanto el tema de la pantalla estaba algo jodido, entonces decidí googlear un poco y pensé algo.

 Si puedo entrar por ssh a la Raspi la manejo de ahí le instaló el VCN y la veo en mi PC, mmm teoría perfecta ahora en la práctica tenemos un problema porque resulta que la conección SSH viene cerrada en el OS de RASPIAN.

 En las versiones viejas esto tiene solución más fácil puesto que solo hay que ir a la tarjeta de memoria donde guardamos el OS y lo instalamos podemos acceder y quitar renombrar el archivo boot_enable_ssh.rc por boot.rc pero como he podido comprobar en la ultima versión rasbian esto no se puede hacer, así que me voy a instalar un emulador "qemu" para así después dentro de este configurar la conección para la ip estática que yo quiero que tenga la raspi en la red y activar el shell para poder conectarme a ella, una vez hecho esto volcaremos todo el contenido de la imagen en la memoria SD y veremos que pasa.

 Empezamos (todos los pasos estarán hechos para Windows): 

1º Descargamos el emulador qemu necesitaremos el winrar para poder descomprimirlo.

2º Copiamos la carpeta de qemu a nuestro disco C:/ por ejemplo.

3º Buscamos el archivo run.bat y pulsando con el botón derecho abrir con bloc de notas.

4º Lo modificamos tal que quede así:

 qemu-system-arm.exe -M versatilepb -cpu arm1176 -hda 2012-08-08-wheezy-armel.img -kernel zImage -m 192  -append "root=/dev/sda2" -redir tcp:2222::22 

 *Nos aseguramos que no lo guardamos como texto sino como archivo .bat

Ahora vamos a descargar la imagen  del kernel  para el qemu y la imagen debian de la raspberry, y las guardamos cada una dentro de la carpeta qemu.

6º Bien una vez hecho esto abrimos como administrador el run.bat, esperamos y nos encontraremos con esto:
7º Ahora introducimos el usuario: pi       y la pass: raspberry
si te ha salido una pantalla azul no te asuste ahora llegamos pero para los que como yo el qemu  les arranca directamente aquí tecleamos el comando "sudo -i" ( sin comillas) y ahora si que si manos a la obra:

Ponemos "raspi-config" y pulsamos enter. Nos encontraremos con esta pantalla:





Nos desplazamos con el teclado hasta configure_keyboard y pulsamos enter, esperamos que tarda lo suyo y elegimos la siguiente conbinacion:

PC generico de 105 teclas/other/spanish/spanish/pulsamos enter/pulsamos enter/cambiamos a yes y enter/

Luego bajamos hasta change_pass y tecleamos nuestro nuevo pass y luego a locale ahi desmarcamos con el espacio el En_en y buscamos para abajo el ES_es UTF8_UTF8 aceptamos todos y nos desplazamos hasta ssh y la ponemos enable luego pulsamos finish

En consola tecleamos shutdown -r now



8º Nos logueamos de nuevo y tenemos nuestra raspi configuradita en español.

9º Para poder conectarnos a nuestra Raspi necesitamos saber la ip que va a tener en mi red local así que vamos a modificar /etc/network/interfaces para hacerlo tecleamos en console "nano /etc/network/interfaces", lo dejamos así:




para salir de este menú pulsamos "control derecho + X" nos dice si queremos guardar pulsamos "S + Enter" y listo

10º Tal y como hemos dejado el /etc/network/interfaces a mi al menos no me va puesto que mi router no asigna las DNS así que hay que dárselas nosotros mismo o mas bien decirle de donde tiene que cogerlas

Para ello tenemos que modificar el archivo con un "nano /etc/resolv.conf" ahí borramos lo que haya y escribimos en su lugar nameserver "NUESTRO SERVIDOR DHCP" (sin comillas). Guardamos y listo.

11º Estamos preparados ya para que nuestra pequeña Raspi funcione a la perfección por si solita, así que hacemos un "shutdown -h now" esperamos que se apague y cerramos el qemu. Lo siguiente sera
introducir la tarjeta SD en el pc y descargarnos este programita.

12º Los descomprimimos en el mismo escritorio y lo ejecutamos, comprobamos que esta cogiendo la unidad de la SD y no de otro elemento ( a ver si lo vamos a borrar ), buscamos la imagen de "2012-08-08-wheezy-armel.img" que la habíamos dejado en la carpeta del qemu (que este este apagado), y le pulsamos en Write, esperamos que el proceso termine, la conectamos a la Raspberry pi colocamos todas las conecciones y a la corriente.

13º Y SE HIZO LA PI !! ahora esperamos unos segundos,  nos vamos a nuestro pc ejecutamos el PUTTY ponemos en Hostname la dirección de la PI en mi caso "10.13.21.154" y enter, esperamos y PERFECTOOO !! nos logueamos con user: pi    y la pass que metimos antes en el qemu y ¿que mas se puede pedir?  tenemos un miniminipc que no hace falta ni teclado ni monitor ni nada, mmm ¿pero tendremos Internet ?

Tecleamos "sudo apt-get update" ------>>>> y !Bingo! descargando de los servidores de Raspberry.



Hasta aquí llega el post de hoy, a medida que vaya probando cosas en este aparatejo las hiré comentando y intentare resolver las dudas que tenga la gente que me visite, eh intentado dejar todo muy detallado para que no tengáis ningún problema ya que toda la información esta aquí, (me vuelve loco ir de googleo en googleo buscando la info), no obstante si tenéis algún problema o algo esta mal hacérmelo saber. Intentaré en el próximo post configuraciones básicas para nuestra Raspi y tal vez alguna cosilla interesante como VNC.














            

Presentación

Buenas a todos los internautas que han dado con mi blog, en este espacion me voy a proponer escribir todas mis andares con la Raspberry Pi y todos los problemas que vayan surgiendo, al igual que ideas.