rasberry pi aab 1.0

22
9 de Agosto de 2012 Raspberry Pi AAB Versión 1.0 Documentos Técnicos

Upload: salaca

Post on 18-Jul-2016

61 views

Category:

Documents


2 download

DESCRIPTION

Raspberry.

TRANSCRIPT

Page 1: Rasberry Pi AAB 1.0

9 de Agosto de 2012

Raspberry Pi AAB

Versión 1.0

Documentos Técnicos

Page 2: Rasberry Pi AAB 1.0

Raspberry Pi AAB

Documentos Técnicos

Índice

1. Introducción ...................................................................................................................................................................... 3

2. Instalar el Sistema Operativo ........................................................................................................................................... 3

3. Conectarse desde Windows 7 mediante SSH ................................................................................................................ 3

3.1. Transferencia de archivos mediante SFTP ............................................................................................................. 4

4. Configurar el Sistema ....................................................................................................................................................... 5

5. Repositorio de aplicaciones ............................................................................................................................................ 6

5.1. Actualizar el repositorio de aplicaciones ................................................................................................................. 6 5.2. Obtener una lista de las aplicaciones instaladas en el Sistema ............................................................................. 6 5.3. Instalar una aplicación ............................................................................................................................................ 6 5.4. Desinstalar una aplicación ...................................................................................................................................... 6

6. Conexión remota mediante VNC ..................................................................................................................................... 7

6.1. Instalar el servidor VNC mediante la conexión SSH ............................................................................................... 7 6.2. Activar manualmente el servidor VNC .................................................................................................................... 8 6.3. Activar el servidor VNC desde un script.................................................................................................................. 9 6.4. Activar el servidor VNC en el inicio del sistema .................................................................................................... 10 6.5. Conectarse desde Windows 7 mediante VNC ...................................................................................................... 11

7. Servidor Samba ............................................................................................................................................................... 12

7.1. Instalar el software del servidor ............................................................................................................................ 12 7.2. Activar la seguridad............................................................................................................................................... 12 7.3. Configurar áreas de almacenamiento privadas y usuarios ................................................................................... 13 7.4. Configurar un área de almacenamiento pública ................................................................................................... 14 7.5. Conectarse desde Windows 7 a Samba ............................................................................................................... 15

8. Cliente bittorrent Transmission ..................................................................................................................................... 17

8.1. Instalar el software del servicio ............................................................................................................................. 17 8.2. Configurar las carpetas para descarga en la tarjeta SD ....................................................................................... 17 8.3. Configurar las carpetas para descarga en el Pendrive ......................................................................................... 18

9. Servidor Web ................................................................................................................................................................... 18

9.1. Instalación de Apache2 ......................................................................................................................................... 18 9.2. Modificar el puerto de conexión de Apache2 ........................................................................................................ 19 9.3. Reiniciar Apache2 ................................................................................................................................................. 20 9.4. Ficheros log de Apache2 ...................................................................................................................................... 20

10. Crear imagen de la tarjeta SD de la Raspberry Pi ........................................................................................................ 20

11. Reiniciar por software la Raspberry Pi ......................................................................................................................... 20

12. Fundamentos Linux ........................................................................................................................................................ 21

12.1. Ejecutar sesión con privilegios de root.................................................................................................................. 21 12.2. Identificar los procesos en ejecución .................................................................................................................... 21 12.3. Conocer el espacio disponible en la tarjeta SD .................................................................................................... 21 12.4. Identificar los dispositivos de almacenamiento montados y sus particiones ........................................................ 21 12.5. Obtener información sobre la conexión de red ..................................................................................................... 22

Page 3: Rasberry Pi AAB 1.0

Raspberry Pi AAB

Documentos Técnicos Página 3 de 22

1. Introducción

Este documento se ha desarrollado tomando como base la distribución Raspbian instalada en una tarjeta de memoria SD de 8GB. y conectada a la Raspberry. La imagen del sistema se puede descargar del siguiente enlace:

2012-07-15-wheezy-raspbian.zip

2. Instalar el Sistema Operativo

Conectar la tarjeta SD al PC. A continuación con la utilidad Win32 Disk Imager (se puede descargar desde el siguiente enlace: Win32DiskImager), seleccionar la imagen del sistema operativo y pulsar el botón “Write” para volcarlo sobre la tarjeta SD.

3. Conectarse desde Windows 7 mediante SSH

En la distribución Raspbian la conexión SSH viene activada por defecto, por lo que es posible conectarse a la Raspbian mediante un ordenador con Windows, sin necesidad de utilizar pantalla, monitor, teclado y ratón.

Para conectarse a la Raspberry desde Windows 7 mediante SSH utilizaremos la aplicación portable kitty, que se puede descargar desde el siguiente enlace:

http://www.9bis.net/kitty/?file=kitty_portable.exe

Para realizar la conexión es necesario conocer la dirección IP que tiene asignada la Raspberry, en este caso, la IP es 192.168.1.109. El puerto de conexión a utilizar es el 22.

Page 4: Rasberry Pi AAB 1.0

Raspberry Pi AAB

Documentos Técnicos Página 4 de 22

3.1. Transferencia de archivos mediante SFTP

El protocolo SFTP permite conexiones seguras a través de SSH para la transferencia de ficheros. Para permitir su uso es necesario que esté operativa la conexión SSH en la Raspberry.

El acceso mediante SFTP se puede realizar con el programa portable WinSCP, que se puede

descargar desde el siguiente enlace:

http://winscp.net/download/winscp439.zip

Page 5: Rasberry Pi AAB 1.0

Raspberry Pi AAB

Documentos Técnicos Página 5 de 22

4. Configurar el Sistema

Ejecutar el siguiente comando:

$ sudo raspi-config

Page 6: Rasberry Pi AAB 1.0

Raspberry Pi AAB

Documentos Técnicos Página 6 de 22

Ejecutar la opción expands_rootfs que hace que se extienda la partición del sistema al tamaño total

de la tarjeta SD (Necesita reboot).

5. Repositorio de aplicaciones

5.1. Actualizar el repositorio de aplicaciones

Ejecutar el siguiente comando:

$ sudo apt-get update

5.2. Obtener una lista de las aplicaciones instaladas en el Sistema

Ejecutar el siguiente comando:

$ dpkg --get-selections | grep -v deinstall > archivos

Y para ver la lista:

$ nano archivos

5.3. Instalar una aplicación

Ejecutar el siguiente comando:

$ apt-get install <nombre de aplicación>

5.4. Desinstalar una aplicación

Ejecutar el siguiente comando:

$ apt-get remove <nombre de aplicación>

Page 7: Rasberry Pi AAB 1.0

Raspberry Pi AAB

Documentos Técnicos Página 7 de 22

6. Conexión remota mediante VNC

El servidor VNC permite realizar conexiones remotas a la Raspberry, por ejemplo desde Windows.

6.1. Instalar el servidor VNC mediante la conexión SSH

Abrir una sesión mediante SSH:

login as: pi

password: raspberry

Instalar el software del servidor:

$ sudo apt-get install tightvncserver

Si durante la instalación aparece la siguiente pregunta, se contestará con “y”:

Install these packages without verification [y/N]? y

Page 8: Rasberry Pi AAB 1.0

Raspberry Pi AAB

Documentos Técnicos Página 8 de 22

6.2. Activar manualmente el servidor VNC

La resolución 1366x768 corresponde con la resolución de un ordenador portátil.

$ /usr/bin/vncserver :1 -geometry 1366x768 -depth 16 -pixelformat rgb565:

La primera vez que se ejecute el VNCServer, solicitará la definición de una contraseña y también opcionalmente otra contraseña para acceso en modo lectura:

Page 9: Rasberry Pi AAB 1.0

Raspberry Pi AAB

Documentos Técnicos Página 9 de 22

6.3. Activar el servidor VNC desde un script

Crear con el editor un script, por ejemplo: svnc.sh

$ nano svnc.sh

Page 10: Rasberry Pi AAB 1.0

Raspberry Pi AAB

Documentos Técnicos Página 10 de 22

Añadir las siguientes líneas:

#!/bin/sh

/usr/bin/vncserver :1 -geometry 1366x768 -depth 16 -pixelformat rgb565:

Grabar el fichero y salir del editor. Convertir el script en ejecutable:

$ chmod +x svnc.sh

Ejecutar el script:

$ ./svnc.sh

6.4. Activar el servidor VNC en el inicio del sistema

Iniciar una sesión como root

$ sudo bash

Crear un fichero en /etc/init.d con el siguiente nombre vncboot, añadiéndole el siguiente contenido:

### BEGIN INIT INFO

# Provides: vncboot

# Required-Start: $remote_fs $syslog

# Required-Stop: $remote_fs $syslog

# Default-Start: 2 3 4 5

# Default-Stop: 0 1 6

# Short-Description: Start VNC Server at boot time

# Description: Start VNC Server at boot time.

### END INIT INFO

#! /bin/sh

# /etc/init.d/vncboot

USER=root

HOME=/root

export USER HOME

case "$1" in

start)

echo "Starting VNC Server"

#Insert your favoured settings for a VNC session

/usr/bin/vncserver :1 -geometry 1366x768 -depth 16 -pixelformat rgb565

;;

stop)

echo "Stopping VNC Server"

/usr/bin/vncserver -kill :1

;;

*)

echo "Usage: /etc/init.d/vncboot {start|stop}"

exit 1

;;

esac

exit 0

Page 11: Rasberry Pi AAB 1.0

Raspberry Pi AAB

Documentos Técnicos Página 11 de 22

Modificar los permisos del fichero para poder ejecutarlo:

$ chmod 755 /etc/init.d/vncboot

Actualizar el arranque del sistema con el fichero vncboot:

$ update-rc.d /etc/init.d/vncboot defaults

El sistema debe responder con lo siguiente:

$ update-rc.d: using dependency based boot sequencing

Pero si el sistema responde con lo siguiente:

$ update-rc.d: error: unable to read /etc/init.d//etc/init.d/vncboot

Entonces se debe teclear el siguiente comando:

$ update-rc.d vncboot defaults

6.5. Conectarse desde Windows 7 mediante VNC

Page 12: Rasberry Pi AAB 1.0

Raspberry Pi AAB

Documentos Técnicos Página 12 de 22

7. Servidor Samba

La información original sobre este tema está en: http://elinux.org/R-Pi_NAS

7.1. Instalar el software del servidor

Ejecutar el siguiente comando:

$ sudo apt-get install samba

El sistema puede realizar la siguiente pregunta. En ese caso se deberá responder con “y” + [enter]:

Do you want to continue? [Y/n]

A continuación es conveniente realizar una copia del fichero de configuración de Samba que se genera durante la instalación:

$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.old

7.2. Activar la seguridad

Esto es opcional pero muy recomendable, obliga al servidor Samba a pregunta por usuario y contraseña antes de permitir la conexión desde otro ordenador.

Editar el fichero de configuración de Samba:

$ sudo nano /etc/samba/smb.conf

Buscar en el fichero la sección que contiene el siguiente texto:

Page 13: Rasberry Pi AAB 1.0

Raspberry Pi AAB

Documentos Técnicos Página 13 de 22

##### Authentication #####

Cambiar el texto:

# security = user

Por el texto:

security = user

Grabar los cambios en el fichero y salir:

Pulsar Control-X

Teclear y

Pulsar [enter]

Reiniciar el servidor Samba para que cargue la nueva configuración

$ sudo /etc/init.d/samba restart

El sistema debe responder con lo siguiente:

Stopping Samba daemons: nmdb smdb

Starting Samba daemons: nmdb smdb

7.3. Configurar áreas de almacenamiento privadas y usuarios

Esta configuración permite que Samba asigne un directorio “home” a cada usuario.

Editar el fichero de configuración de Samba (smb.conf):

$ sudo nano /etc/samba/smb.conf

Buscar en el fichero la sección que contiene el siguiente texto:

[homes]

Cambiar el texto:

read only = yes

Por el texto:

read only = no

Grabar los cambios en el fichero y salir:

Pulsar Control-X

Teclear y

Pulsar [enter]

Reiniciar el servidor Samba para que cargue la nueva configuración

$ sudo /etc/init.d/samba restart

El sistema debe responder con lo siguiente:

Page 14: Rasberry Pi AAB 1.0

Raspberry Pi AAB

Documentos Técnicos Página 14 de 22

Stopping Samba daemons: nmdb smdb

Starting Samba daemons: nmdb smdb

Por defecto el usuario pi está ya definido. Para permitir a pi ser usuario de Samba, hacer lo siguiente:

$ sudo apt-get install samba-common-bin

$ sudo smbpasswd -a pi

Será solicitada una contraseña.

Para añadir nuevos usuarios a Samba se debe hacer lo siguiente.

Lo primero añadir el usuario al Sistema:

$ sudo useradd <nombre de usuario> -m -G users

$ sudo passwd <nombre de usuario>

Será solicitada una contraseña.

y a continuación permitir el acceso de ese usuario a Samba:

$ sudo smbpasswd -a <nombre de usuario>

Será solicitada una contraseña.

El área de almacenamiento para el usuario “pi” se comparte en Windows como: \\192.168.1.109\pi

7.4. Configurar un área de almacenamiento pública

En este caso se muestra como compartir un Pendrive conectado a la Raspberry.

Asignar los permisos de acceso a la carpeta (en este caso el pendrive):

$ sudo chown -R root:users /media/PENDRIVE

$ sudo chmod -R ug=rwx,o=rx /media/PENDRIVE

Editar el fichero de configuración de Samba:

$ sudo nano /etc/samba/smb.conf

Situarse en el final del fichero y añadir el texto siguiente:

[public]

comment = Public Storage

path = /media/PENDRIVE

valid users = @users

force group = users

create mask = 0660

directory mask = 0771

read only = no

Grabar los cambios en el fichero y salir:

Pulsar Control-X

Page 15: Rasberry Pi AAB 1.0

Raspberry Pi AAB

Documentos Técnicos Página 15 de 22

Teclear y

Pulsar [enter]

Reiniciar el servidor Samba para que cargue la nueva configuración

$ sudo /etc/init.d/samba restart

El sistema debe responder con lo siguiente:

Stopping Samba daemons: nmdb smdb

Starting Samba daemons: nmdb smdb

El área de almacenamiento pública se comparte en Windows como: \\192.168.1.109\public

7.5. Conectarse desde Windows 7 a Samba

Windows se conecta directamente a servidores Samba sin necesidad de instalar software adicional. Para ello solo es necesario ejecutar la opción de “Conectar unidad de red”

A continuación se muestra una ventana con las unidades ya conectadas en Windows 7:

Conexión de la unidad de red a la carpeta pública:

Page 16: Rasberry Pi AAB 1.0

Raspberry Pi AAB

Documentos Técnicos Página 16 de 22

Conexión de la unidad de red a la carpeta privada correspondiente al usuario “pi”:

Page 17: Rasberry Pi AAB 1.0

Raspberry Pi AAB

Documentos Técnicos Página 17 de 22

8. Cliente bittorrent Transmission

8.1. Instalar el software del servicio

Actualizar el repositorio del sistema

$ sudo apt-get update

Instalar del cliente Transmission:

$ sudo apt-get install transmission-daemon

$ sudo apt-get install transmission-common

$ sudo apt-get install transmission-cli

Configurar Transmission. Para ello, primero se debe parar el servicio:

$ sudo service transmission-daemon stop

Se accede al archivo de configuración en /etc/transmission-daemon, llamado "settings.json" y se abre con el editor:

$ cd /etc/transmission-daemon

$ sudo nano settings.json

Se deben cambiar las siguientes líneas:

"download-dir": "/home/pi/descargas",

"incomplete-dir": "/home/pi/descargas/incompletas",

"rpc-whitelist": "127.0.0.1,192.168.1.109", (después de 127.0.0.1 se incluye, con una

coma de por medio, la IP local de la Raspberry) "rpc-whitelist-enabled": false, (para habilitar el acceso por web)

"rpc-username": "admin",

"rpc-password": "cocodrilo",

Grabar los cambios en el fichero y salir:

Pulsar Control-X

Teclear y

Pulsar [enter]

8.2. Configurar las carpetas para descarga en la tarjeta SD

Crear las carpetas para las descargas que se han definido en el fichero de configuración de Transmission.

$ mkdir /home/pi/descargas

$ mkdir /home/pi/descargas/incompletas

Asignar permisos a las carpetas para que Transmission pueda escribir

$ chmod 777 /home/pi/descargas

$ chmod 777 /home/pi/descargas/incompletas

Page 18: Rasberry Pi AAB 1.0

Raspberry Pi AAB

Documentos Técnicos Página 18 de 22

8.3. Configurar las carpetas para descarga en el Pendrive

Crear las carpetas para las descargas que se han definido en el fichero de configuración de Transmission.

$ mkdir /media/PENDRIVE/descargas

$ mkdir /media/PENDRIVE/descargas/incompletas

Asignar permisos a las carpetas para que Transmission pueda escribir

$ chmod 777 /media/PENDRIVE/descargas

$ chmod 777 /media/PENDRIVE/descargas/incompletas

Importante: Para que se puedan asignar permisos de escritura a las carpetas en Linux, la partición no puede ser de tipo NTFS. Debe ser por ejemplo: EXT4.

Re-arrancar transmission:

$ sudo service transmission-daemon start

Ahora se podrá acceder mediante el navegador Web utilizando la siguiente dirección y puerto:

192.168.1.109:9091

9. Servidor Web

La información original sobre este tema está en: WEB original, en inglés

9.1. Instalación de Apache2

Crear el grupo de usuarios para el servidor Web:

$ sudo groupadd www-data

$ sudo usermod -a -G www-data www-data

El sistema mostrará un mensaje indicando que el grupo ya existe.

Actualizar el repositorio de aplicaciones para evitar fallos en la instalación:

$ sudo apt-get update

También es recomendable actualizar los programas ya instalados:

$ sudo apt-get upgrade

Instalar el software del servidor Apache:

$ sudo apt-get install apache2

Si la instalación ha sido correcta, desde el navegador se podrá visitar la página web de prueba, que se titulará “It works!” y que contiene un par de frases más. Para ello se introducirá en la dirección del navegador la dirección IP de la Raspberry, en este caso: http://192.168.1.109

Page 19: Rasberry Pi AAB 1.0

Raspberry Pi AAB

Documentos Técnicos Página 19 de 22

El archivo que contiene la página web de prueba está en el siguiente directorio: /var/www/ y se llama index.html

A continuación con el editor nano podemos escribir un fichero html para visualizar en el navegador.

$ sudo nano /var/www/holamundo.html

Incluir el siguiente texto:

<html>

<head>

<title>Titulo de la web</title>

<head>

<body>

<h1>Hola mundo</h1>

<p>Mi primera web en mi Raspberry Pi.<br />&iquest;Mola, no?</p>

</body>

</html>

Grabar los cambios en el fichero y salir:

Pulsar Control-X

Teclear y

Pulsar [enter]

Para visualizar la página web creada, introducir en el navegador lo siguiente:

http://192.168.1.109/holamundo.html

9.2. Modificar el puerto de conexión de Apache2

El puerto de comunicación por defecto de Apache2 es el 80

Se puede cambiar el puerto modificando la directiva Listen en el fichero de configuración:

/etc/apache2/ports.conf

El siguiente ejemplo muestra el cambio de la directiva al puerto 8888:

NameVirtualHost *:8888

Listen 8888

Una vez modificado el puerto de comunicación, si se desea acceder a la página de ejemplo creada en el apartado anterior, habría que introducir en el navegador web la siguiente dirección:

http://192.168.1.109:8888/holamundo.html

Page 20: Rasberry Pi AAB 1.0

Raspberry Pi AAB

Documentos Técnicos Página 20 de 22

9.3. Reiniciar Apache2

Ejecutar el siguiente comando:

$ sudo /etc/init.d/apache2 restart

9.4. Ficheros log de Apache2

En Apache2 existen dos ficheros en los que quedan registrados los accesos y los errores. Se encuentran ubicados en la carpeta /var/log/apache2 y son los siguientes:

Log de acceso:

/var/log/apache2/access.log

Log de errores:

/var/log/apache2/error.log

10. Crear imagen de la tarjeta SD de la Raspberry Pi

La utilidad Win32DiskImager sirve tanto para crear imágenes de la tarjeta como para volcarlas a ella.

11. Reiniciar por software la Raspberry Pi

Abrir una ventana de terminal y ejecutar:

$ sudo shutdown –r now

y para apagarla:

$ sudo shutdown –h now

Page 21: Rasberry Pi AAB 1.0

Raspberry Pi AAB

Documentos Técnicos Página 21 de 22

12. Fundamentos Linux

12.1. Ejecutar sesión con privilegios de root

Abrir una ventana de terminal y ejecutar:

$ sudo bash

12.2. Identificar los procesos en ejecución

Abrir una ventana de terminal y ejecutar:

$ ps aux

12.3. Conocer el espacio disponible en la tarjeta SD

Abrir una ventana de terminal y ejecutar:

$ df –h

12.4. Identificar los dispositivos de almacenamiento montados y sus particiones

Abrir una ventana de terminal y ejecutar:

$ sudo parted

A continuación teclear:

(parted) print all

Page 22: Rasberry Pi AAB 1.0

Raspberry Pi AAB

Documentos Técnicos Página 22 de 22

12.5. Obtener información sobre la conexión de red

Abrir una ventana de terminal y ejecutar:

$ ifconfig