rasberry pi aab 1.0
DESCRIPTION
Raspberry.TRANSCRIPT
9 de Agosto de 2012
Raspberry Pi AAB
Versión 1.0
Documentos Técnicos
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
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.
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
Raspberry Pi AAB
Documentos Técnicos Página 5 de 22
4. Configurar el Sistema
Ejecutar el siguiente comando:
$ sudo raspi-config
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>
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
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:
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
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
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
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:
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:
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
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:
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”:
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
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
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 />¿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
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
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
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