36
Instalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona Raspberry en su web para hacernos más sencilla la elección y la instalación del sistema operativo. Su utilización en muy simple ya que solo necesitaremos descargarlo y descomprimirlo en la tarjeta SD que vayamos a usar en la Raspberry. En la sección de resolución de errores podemos ver los problemas que se han tenido. El sistema que vamos a instalar es Raspbian un Debian adaptado a Raspberry. Para hacerlo más ligero y nos consuma menos recursos, ya que lo vamos a usar como servidor, desactivaremos el entorno gráfico. Aquí podemos ver el selector de sistemas operativos que nos da NOOBS, seleccionamos Raspbian, como se observa nos lo da como recomendado.

Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona

  • Upload
    others

  • View
    17

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona

Instalación y configuración de las herramientas necesarias

NOOBS

NOOBS es un sistema de instalación que nos proporciona Raspberry en su web para hacernosmás sencilla la elección y la instalación del sistema operativo. Su utilización en muy simple ya quesolo necesitaremos descargarlo y descomprimirlo en la tarjeta SD que vayamos a usar en laRaspberry. En la sección de resolución de errores podemos ver los problemas que se han tenido.

El sistema que vamos a instalar es Raspbian un Debian adaptado a Raspberry. Para hacerlo másligero y nos consuma menos recursos, ya que lo vamos a usar como servidor, desactivaremos elentorno gráfico.

Aquí podemos ver el selector de sistemas operativos que nos da NOOBS, seleccionamosRaspbian, como se observa nos lo da como recomendado.

Page 2: Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona

Después de unos minutos la instalación se completa correctamente:

Accedemos con el comando raspi-config en la terminal para acceder a las configuraciones deRaspbian.

Conlas

siguientes opciones desactivamos el escritorio:

En las configuraciones, Raspbian nos permite activar el ssh sin necesidad de instalar open ssh porlo que lo activamos.

Ponemos la ip estática para no tener problemas para conectarnos remotamente:

Page 3: Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona

Putty

Descargamos Putty para conectarnos desde nuestra máquina, Windows, y poder acceder a laRaspberry sin necesidad de tenerla conectada a pantalla.

La primera vez que accedemos nos da este mensaje:

Este mensaje aparece preguntándonos si es segura la conexión ya que nunca hemos accedido yes un sistema de seguridad para que no se permiten conexiones sin conocimiento del usuario. Ledamos a Sí, y continuamos.

Ya dentro podremos seguir realizando todo desde nuestro equipo sin preocuparnos de que laRaspberry esté conectada a pantalla y periféricos.

Page 4: Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona

Instalación de un dominio gratuito usando www.noip.com

Para empezar necesitamos una cuenta en la página de noip.

Podemos observar que al crear la cuenta nos da la opción ya de crear nuestro dominio, lo hemosllamado lanubeencasa.ddns.net.

Descargamos la herramienta noip en la raspberry y la instalamos.

Page 5: Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona

A diferencia de otros programas en este no podemos ir al archivo de .conf para cambiar losvalores porque lleva los datos de inicio de sesión y del servidor encriptados. Pero nos proporcionaeste comando para poder modificar cualquier dato si es necesario:

Lo iniciamos:

Y probamos:

Page 6: Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona

Para que noip inicie en el arranque y así pueda actualizar la ip en caso de algún cambio añadimosel siguiente script a init.d:

#! /bin/sh

# /etc/init.d/noip2

DAEMON=/usr/local/bin/noip2

NAME=noip2

test -x $DAEMON || exit 0

case "$1" in

start)

echo -n "Starting dynamic address update: "

start-stop-daemon --start --exec $DAEMON

echo "noip2."

;;

stop)

echo -n "Shutting down dynamic address update:"

start-stop-daemon --stop --oknodo --retry 30 --exec $DAEMON

echo "noip2."

;;

restart)

Page 7: Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona

echo -n "Restarting dynamic address update: "

start-stop-daemon --stop --oknodo --retry 30 --exec $DAEMON

start-stop-daemon --start --exec $DAEMON

echo "noip2."

;;

*)

echo "Usage: $0 {start|stop|restart}"

exit 1

esac

exit 0

Lo creamos, damos permisos y lo añadimos al inicio.

Comprobación de que funciona correctamente.

Programa de gestión de los datos en la nube Seafile

Descargamos la última versión de Seafile:

En la página de seafile podemos encontrar una versión para raspberry, así que optamos por estapara descargar.

Page 8: Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona

Creamos con mkdir un directorio para meter el seafile.

Descomprimimos e instalamos las dependencias necesarias.

Usa la base de datos sqlite con instalarla es suficiente ya que lo demás te lo gestiona Seafile sinnecesidad de que tu hagas nada.

Page 9: Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona

Instalación

Ejecutamos el script de instalación con root:

En el caso de no haber instalado alguna de las dependencias necesarias seafile nos avisará y nonos dejará continuar hasta instalarlas.

Ahora nos pedirá que rellenemos algunos campos, da igual si nos equivocamos ya que másadelante en los archivos de configuración podremos modificarlos.

Los puertos los hemos dejado por defecto, los cambiaremos más adelante si fuese necesario.

Seahub es la interfaz web que nos proporciona Seafile y que usaremos si queremos conectarnosy configurar las cosas desde el navegador.

Iniciamos los dos servicios:

Seahub interfaz Web

En el caso de Seahub nos pedirá crear el usuario admin, al que le hemos dado la contraseñaadmin. Más adelante podremos poner contraseñas más seguras.

Page 10: Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona

Entramos desde el navegador a Seahub:

Page 11: Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona

Al entrar nos salta este mensaje:

Configuraciones

Para que nuestra nube sea viable se tendrá que hacer algunas configuraciones en Seafile.

-Disco duro externo para el almacenamiento de los archivos y carpetas sincronizadas

El servidor solo dispone de los 16GB que tiene la sd con el SO, por lo que para las bibliotecas deSeafile y tener las copias y los dispositivos sincronizados subiendo le conectaremos un disco durodel tamaño que queramos, en mi caso usaremos uno de 1TB. Para ello no solo vale conconectarlo si no que tendremos que montarlo y luego ponerlo en los archivos de configuración deSeafile.

Con el siguiente comando encontramos los posibles discos duros, particiones etc.. que tienenuestro servidor.

Y aquí observamos el disco duro que se ha conectado.

Page 12: Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona

Ahora que ya sabemos donde esta podemos seguir los pasos para montarlo de forma permanenteen el servidor.

Creamos una carpeta en /var para el.

Añadimos en /etc/fstab el disco duro.

Reiniciamos el servidor y comprobamos que este montado.

Creamos una carpeta y dentro un archivo, seguidamente lo desmontamos y para asegurarnos quetodo ha ido correctamente lo conectamos a nuestro ordenador para ver si se ha creado la carpeta,estas comprobaciones nos confirmaran que el montaje ha sido el correcto

Ahora que lo tenemos montado correctamente le diremos a Seafile que sea aquí donde almacenelos datos y las bibliotecas.

Page 13: Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona

Copiamos la carpeta seafile-data en el disco duro

Para comprobar que los archivos se están copiando al disco duro y no a la anterior carpeta queestaba en la SD, con el cliente de escritorio añadimos una carpeta de 2GB a la biblioteca.

Utilizando el comando df -h vemos que el disco duro actualmente tiene 916GB de espacio 17GBusados.

Y después de subir la carpeta tiene 19GB usados 913GB de espacio:

Page 14: Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona

-Inicio de Seafile y Seahub al encender/reiniciar el servidor

Para que en el caso de cortes de luz, reinicios… Es necesario que Seafile y Seahub se inicienautomáticamente al encender el servidor. Para ello se realizará lo siguiente.

En /etc/init.d creamos un script.

Para ellos usamos el script que nos proporciona la página del manual cambiando los valores usery server-dir a los nuestros para que funcione correctamente:

#!/bin/sh

### BEGIN INIT INFO

# Provides: seafile-server

# Required-Start: $local_fs $remote_fs $network

# Required-Stop: $local_fs

# Default-Start: 2 3 4 5

# Default-Stop: 0 1 6

# Short-Description: Starts Seafile Server

# Description: starts Seafile Server

### END INIT INFO

# Change the value of "user" to linux user name who runs seafile

user=pi

# Change the value of "seafile_dir" to your path of seafile installation

# usually the home directory of $user

seafile_dir=/home/pi/Seafile

script_path=${seafile_dir}/seafile-server-latest

seafile_init_log=${seafile_dir}/logs/seafile.init.log

seahub_init_log=${seafile_dir}/logs/seahub.init.log

# Change the value of fastcgi to true if fastcgi is to be used

fastcgi=false

# Set the port of fastcgi, default is 8000. Change it if you need different.

fastcgi_port=8000

#

# Write a polite log message with date and time

Page 15: Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona

#

echo -e "\n \n About to perform $1 for seafile at `date -Iseconds` \n " >> ${seafile_init_log}

echo -e "\n \n About to perform $1 for seahub at `date -Iseconds` \n " >> ${seahub_init_log}

case "$1" in

start)

sudo -u ${user} ${script_path}/seafile.sh ${1} >> ${seafile_init_log}

if [ $fastcgi = true ];

then

sudo -u ${user} ${script_path}/seahub.sh ${1}-fastcgi ${fastcgi_port} >> ${seahub_init_log}

else

sudo -u ${user} ${script_path}/seahub.sh ${1} >> ${seahub_init_log}

fi

;;

restart)

sudo -u ${user} ${script_path}/seafile.sh ${1} >> ${seafile_init_log}

if [ $fastcgi = true ];

then

sudo -u ${user} ${script_path}/seahub.sh ${1}-fastcgi ${fastcgi_port} >> ${seahub_init_log}

else

sudo -u ${user} ${script_path}/seahub.sh ${1} >> ${seahub_init_log}

fi

;;

stop)

sudo -u ${user} ${script_path}/seahub.sh ${1} >> ${seahub_init_log}

sudo -u ${user} ${script_path}/seafile.sh ${1} >> ${seafile_init_log}

;;

*)

echo "Usage: /etc/init.d/seafile-server {start|stop|restart}"

exit 1

;;

esac

Page 16: Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona

Le damos los permisos necesarios.

Configuración SSL

Para ello utilizamos el servidor web NGINX, y lo configuramos con la ayuda del manual de Seafile.

Creación de certificados autofirmados.

Page 17: Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona

Creamos en sites-available de nginx un archivo seafile.conf con el siguiente contenido:

server {

listen 80;

server_name lanubeencasa.ddns.net;

rewrite ^ https://$http_host$request_uri? permanent; # force redirect http to https

}

server {

listen 443;

ssl on;

ssl_certificate /home/pi/certs/cacert.pem; # path to your cacert.pem

ssl_certificate_key /home/pi/certs/privkey.pem; # path to your privkey.pem

server_name lanubeencasa.ddns.net;

proxy_set_header X-Forwarded-For $remote_addr;

add_header Strict-Transport-Security "max-age=31536000; includeSubdomains";

server_tokens off;

location / {

fastcgi_pass 127.0.0.1:8000;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_param PATH_INFO $fastcgi_script_name;

fastcgi_param SERVER_PROTOCOL $server_protocol;

fastcgi_param QUERY_STRING $query_string;

fastcgi_param REQUEST_METHOD $request_method;

fastcgi_param CONTENT_TYPE $content_type;

fastcgi_param CONTENT_LENGTH $content_length;

fastcgi_param SERVER_ADDR $server_addr;

fastcgi_param SERVER_PORT $server_port;

fastcgi_param SERVER_NAME $server_name;

fastcgi_param HTTPS on;

fastcgi_param HTTP_SCHEME https;

Page 18: Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona

access_log /var/log/nginx/seahub.access.log;

error_log /var/log/nginx/seahub.error.log;

fastcgi_read_timeout 36000;

}

location /seafhttp {

rewrite ^/seafhttp(.*)$ $1 break;

proxy_pass http://127.0.0.1:8082;

client_max_body_size 0;

proxy_connect_timeout 36000s;

proxy_read_timeout 36000s;

proxy_send_timeout 36000s;

send_timeout 36000s;

}

location /media {

root /home/pi/Seafile/seafile-server-latest/seahub;

}

}

Creamos un enlace lógico a sites-enable y borramos el archivo default de sites-enable.

Page 19: Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona

Añadimos las últimas tres líneas al archivo /conf/seafile.conf.

Añadimos en ccnet.conf el https.

Y añadimos la siguiente linea al archivo seahub_settings.py:

Arrancamos seahub con el siguiente comando, es necesario añadir el fastcgi a partir de ahora yaque usamos nginx.

Page 20: Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona

Al añadir ssl, el script que anteriormente hemos hecho para iniciar el Seafile al arrancar elservidor, tendremos que modificarlo ya que necesitamos que el seahub.sh se inicie con elcomando start-fastcgi y no start a secas.

Cambiamos la variable fastcgi a true:

# Change the value of fastcgi to true if fastcgi is to be used

fastcgi=true

Page 21: Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona

Aplicaciones clientes y utilidades de Seafile

Cliente de escritorio

Los usuarios deberán ser creados en la interfaz web por el administrador previamente. También sepueden crear desde consola pero la interfaz gráfica nos permite más comodidad y opcionessencillas para el manejo a nivel usuario.

Nos descargamos el cliente Seafile para Windows y lo instalamos.

Creamos un usuario en Seafile y lo agregamos al cliente de escritorio:

Contraseña dragon1

Page 22: Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona

Configuramos el cliente de escritorio:

El panel de usuario de escritorio es muy sencillo y fácil de manejar. Nos permite la creación debibliotecas o simplemente arrastrar archivos y carpetas estas segundas creando bibliotecasautomáticamente. La sincronización en caso de añadir archivos a dichas carpetas/bibliotecas esautomática:

Como vemos en la imagen se nos permite la encriptación y poner contraseña a nuestrasbibliotecas cosa que añade seguridad a nuestros archivos.

Si lo preferimos podemos acceder el navegador con cualquiera de nuestras cuentas y realizartodo desde la interfaz web. Tanto archivos como bibliotecas se pueden compartir entre usuarios o

Page 23: Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona

grupos que hayamos creado previamente. Y podemos tener en los clientes y en la web tantosusuarios conectados y dispositivos asociados como queramos.

Interfaz web

En el caso de que un usuario realice alguna acción con otro usuario en la interfaz web nos notificade ello:

Aquí podemos observar como nos permite compartir eligiendo permisos, a usuarios o grupos,además de darnos opciones para crear directamente links de descarga o de subida de archivos.

Page 24: Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona

También nos permite la creación de grupos.

Los grupos nos permiten tener Bibliotecas para el grupo aparte de las nuestras propias que sepueden compartir como ya se ha dicho, entre usuarios y grupos a placer con permisos de lectura olectura y escritura. Además los grupos permiten tener un chat, y configuraciones sobre este grupo.

En las Opciones de personalización encontramos que Seafile te permite personalizar tu cuenta, eincluso la interfaz web cambiándole su logo y aspecto en los archivos de consola.

Page 25: Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona

Cliente móvil

Page 26: Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona
Page 27: Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona

Streaming con Seafile

Si queremos escuchar música en streaming desde la interfaz web nos lo permite, mientras que sies un video no nos lo permite por tamaño pero podemos cambiar el tamaño en los archivos deconfiguración. En todo caso como vemos nos permite la descarga e incluso compartirlo.

Con el tamaño modificado en el archivos seahub_settings.py ya podremos ver lo que queramos,en el caso de ser archivos más grandes no hay problema solo habrá que cambiar el tamaño en elarchivo.

Page 28: Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona

Quotas

Seafile nos permite asignar quotas a los usuarios para así controlar el volumen de archivossubidos y no tener problemas de espacio.

Seguridad

Contraseñas para los usuarios, al interfaz nos permite configurar el tipo de contraseñasaceptadas:

Page 29: Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona

Envío de correos electrónicos

Para ello nos creamos una cuenta de gmail.

En el archivo de configuración de Seahub tendremos que añadir las lineas de configuración delCorreo.

Page 30: Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona

Añadimos a lanubeencasa como administrador.

Creamos un nuevo usuario y vemos que ahora le manda un correo de aviso:

Hemos recibido este correo para ingresar:

Ahora en el caso de restablecer contraseñas o pérdida de estas, se enviará correos a los usuarioscon al nueva o los pasos a seguir.

Page 31: Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona

Configuraciones del router:

Para poder realizar todo lo anteriormente explicado será necesario que en el router tengamos puesto nuestro servidor como DMZ. DMZ o zona desmilitarizada es una zona en la cual el servidor esta expuesto completamente a Internet.

Page 32: Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona

Copias de seguridad

Instalamos backupninja

Configuración

Tipo de archivo que se creará

Page 33: Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona

Elegimos la frecuencia de la copia

Nombre

Ruta donde almacenarlas

Compresión

Directorios que incluye la copia

A continuación nos abre el menú principal de nuevo, donde aparece nuestras copias de seguridad programadas y nos deja acceder por si queremos modificar algo

Page 34: Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona
Page 35: Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona

Resolución de errores

-En la instalación del sistema operativo hemos encontrado los siguientes problemas:

Al insertar una sd 32 GB que estaba por casa, con el sistema NOOBS.

Ejemplo de uno de los errores dados:

Después de el uso de diferentes programas para formatearla y distintos intentos, concluimos enque la tarjeta no funciona correctamente y se opta por la compra de una de menor tamaño, 16 GB,por recomendación de algunas páginas ya que además las tarjetas de más de 32 pueden darproblemas por el tamaño.

En Seafile:

Problemas de ejecución de Seafile al arrancar el servidor.

Después de añadir el script a init.d no nos funcionaba correctamente y después de muchasrevisiones e intentos estos son los errores que hemos encontrado y las soluciones al problema.

Los problemas que hemos encontrado han sido:

Errores en el script:

-Script copiado no válido para Debian.

Page 36: Instalación y configuración de las herramientas necesariasInstalación y configuración de las herramientas necesarias NOOBS NOOBS es un sistema de instalación que nos proporciona

-Errores de sintaxis

Solución: revisión y corrección.

Errores en los permisos:

Al intentar iniciar el script nos daba error seafile.ini Not found.

Después de cambiar permisos hemos llegado a la conclusión de que el problema era que ladescompresión de la carpeta la hicimos con el comando sudo, por lo que el dueño era root y no pi,lo que hacía que no funcionase el script escrito en init.d ya que el usuario que habíamos puestoera oi y no root.

Las soluciones serian cambiar el nombre del usuario de pi a root en el script o cambiar lospermisos de todo el directorio Seafile y subdirectorios.

Se opto por la segunda opción.

Errores tipográficos:

Si añadimos al archivo de seahub_settings.py caracteres tipográficos como acentos o la letra ñtanto en comentarios como valores no funcionará, por lo que debemos no añadirlos ya que estacodificado en (en_US.UTF8).

Error en los permisos de acces.log de seahub al inicar con fastcgi:

Solución:

Después de la realización del proyecto hemos llegado a la conclusión que hay que prestarespecial detenimiento a lo que escribimos en los archivos de configuración, y en la lectura de loserrores dados al iniciar servicios y en los errores almacenados en los archivos de logs de losservicios usados.