From c021db6b1477833cbe7720ec96f8bb015c87b02c Mon Sep 17 00:00:00 2001 From: kleper Date: Thu, 25 Oct 2018 09:56:19 -0500 Subject: [PATCH] =?UTF-8?q?Backup=20de=20documentaci=C3=B3n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/Configuración Servidor Local.md | 73 +++++++++++++++++++ docs/Instalar Kiwix-Server.md | 36 +++++++++ ...MESH+pfsense.md => LibreMesh y PfSense.md} | 29 +++++++- 3 files changed, 137 insertions(+), 1 deletion(-) create mode 100644 docs/Configuración Servidor Local.md create mode 100644 docs/Instalar Kiwix-Server.md rename docs/{LibreMESH+pfsense.md => LibreMesh y PfSense.md} (83%) diff --git a/docs/Configuración Servidor Local.md b/docs/Configuración Servidor Local.md new file mode 100644 index 0000000..51f1e88 --- /dev/null +++ b/docs/Configuración Servidor Local.md @@ -0,0 +1,73 @@ +# Configuración Servidor Local + +El servidor de contenidos Local es una maquina Linux Debian 9 instalado de forma basica con un NetInstall. + +Los paquetes que se deben instalar son los siguientes como usuarios root: + +- apt install htop screen mc nginx-full php-fpm build-essential git +- apt install php7.0-curl php7.0-gd php7.0-mbstring +- apt install rsync openssh-server + +Los paquetes anteriores son los basicos para tener un servidor web sencillo que vamos a configurar más adelante como herramienta para proveer los servicios locales. + +Adicional a este paquete se deben instalar todos los paquetes que aparecen en la carpeta de docs del repositorio en https://code.tupale.co/kleper/redcauca + +Para instalar los paquetes de la lista se puede usar el siguiente comando: + +` +cat paquetesinstaladosdebian.txt | xargs sudo apt-get install +` + +# Dominio RedInc.org + +Este dominio fue comprado en Dreamhost y costo 0USD, se compro este dominio para poder generar los certificados SSL y usarlo como dominio de la red local. + +El dominio puede ser administrado de forma idependiente. + +# Nginx + php7 + +El servidor web que utilizamos es Nginx + Php7, optamos por este paquete especifico por ser muy ligero y configurable, toda la configuración de nginx se puede encontrar en la carpeta /etc/nginx/sites-enable del servidor, en terminos generales lo que hacemos es crear un archivo de configuración para cada servicio que vamos a instalar de esta forma tenemos un arblos de la siguiente forma: + + - /etc/nginx/sites-enable/ + - default / default-ssl (Para el portal local) + - wiki / para el wiki + - matrix / para el servicio de chat + - conversemos / para el chat web + - wikipedia / para hacer proxy reverso al servicio de wikipedia + + +Los archivose de configuración podran encontrarse en el repositorio de codigo. + +- Algunos ejemplos de configuraciones de Nginx se pueden encontrar en el siguiente enlace: https://github.com/kleper/NuestraRED/tree/master/Servidor/nginx + + +# Servicios Locales Instaldos + +1. Portal con enlaces a los contenidos locales como Wikipedia: https://redinc.org +2. Wiki comunitario instalado con Dokuwiki: https://wiki.redinc.rg +3. Sistema de mensajeria instantanea: + 4. Direccion servidor para usar con aplicacion RIOT.im https://conversar.redinc.org + 5. Dirección WEB para acceder al chat desde el computador: https://conversemos.redinc.org + +- Los servicios desde el numeral 2 en adelante permiten que los usuarios se registren de forma sencilla con nombre o contraseña. + +## Portal de contenidos + +El portal de contenidos esta en el repositorio de codigo en la carpeta que se llama web local. + +## Wiki + +El wiki se instaló utilizando [Dokuwiki](https://www.dokuwiki.org/dokuwiki), la instalación de dokuwiki es realmente sencialla basta con descargar el paquete, descomprimirlo copiarlo en la carpeta del servidor en donde queremos que quede y listo, desde el navegador previamente configurado en Nginx se llama el dominio elegido para el wiki llamando el archivo install.php + +## Matrix::Synapse (Herramienta de chat) + +[Matrix::Synapse](https://github.com/matrix-org/synapse) es un nuevo y ambicioso ecosistema para mensajería instantánea federada abierta y VoIP. Los conceptos básicos que debes saber para ponerte en marcha son: + +- Todo en Matrix pasa en una habitación (room). Los rooms son distribuidas y no existen en ningún servidor único. +- Los rooms se pueden ubicar utilizando alias de conveniencia como #matrix: matrix.org o #test: localhost: 8448. +- Los ID de usuario de Matrix se parecen a @matthew: matrix.org (aunque en el futuro normalmente se referirá a usted y a otros con un identificador de terceros (3PID): dirección de correo electrónico, número de teléfono, etc. en lugar de manipular los ID de usuario de Matrix) + +En debian la instalación de Matrix::Synapse es relativamente sencilla, para instalarlo siguiendo una guia paso a paso recomiendo la url: https://www.howtoforge.com/tutorial/how-to-install-matrix-synapse-on-ubuntu-1804/ + +En la guia anterior podemos ver como se configuraron los servicios que corren en **conversar/conversemos/.redinc.org** + diff --git a/docs/Instalar Kiwix-Server.md b/docs/Instalar Kiwix-Server.md new file mode 100644 index 0000000..0ff91b4 --- /dev/null +++ b/docs/Instalar Kiwix-Server.md @@ -0,0 +1,36 @@ +# Instalar Kiwix-Server + +En uan red inalambrica comunitaria es importante tener contenidos locales que se puedan acceder sin ternet internet, uno de los recursos más importante es tener la wikipedia de forma local, pero eso se puede utilizar el proyecto Kiwix.org que permite tener una copia local de la wikipedia. + +Aunque se puede instalar el paquete completo de Kiwix con interfaz grafica en algunas instalaciones y dependiendo de los recursos disponibles es mejor tener un servicio más compacto y por eso es importante instalar solo lo necesario, en este caso instalar solo la parte que crear un servicio web con wikipedia local es la mejor opción, para eso se utiliza kiwix-serve y para instalarlo en una maquina con Linux Debian se debe hacer lo siguiente: + +1. Instalar toda las dependencias que indica cada uno de los paquetes necesarios, para poderlos compilar, es fundamental tener la libreria Libzim y kiwix-lib para luedo poder correr el paquete kiwix-server que viene en uno de los precompilados de kiwix-tool: + - https://github.com/openzim/libzim + - https://github.com/kiwix/kiwix-lib + - https://download.kiwix.org/release/kiwix-tools/ + - Se puede descargar cualquiera de las versiones desde la 0.4 en adelante, estos archivos se descomprimen y se copain a a la carpeta /usr/local/bin para poder ser utilizados como comandos del sistema + - En debian en necesario instalar los paquetes de build-essentials + - Se debe instalar pip3: apt install python3-pip + - La libreria aria: apt-get install libaria-dev + - Instalar meson para compilar: pip3 install meson + +1. Descargar los paquetes de wikipedia que quieras tener en local, en total pueden ser entre 40GB o 60GB, se puede descargar del siguiente enlace: http://www.kiwix.org/downloads/ + +1. En la carpeta wikipedia del repositorio se encuentra el archivo **wikidownload.txt** que sirver para tener una lista de los paquetes a descargar y el archivo **library.xml** con el listado de paquetes zim y la configuración para poder que kiwix-serve pueda correrlos en un servidor web. + +1. Los paquetes de wikipedia se almacenan en la carpeta del servidor local /home/Servidor/wikipedia + +1. Para arrancar el servicio de wikipedia debe crearse un Script que vaya al directorio donde estan los contenidos de la wikipedia y ejecute el comando de Kiwix-serve + +``` +#!/bin/bash +#Aqui Arrancamos el servicio de Wikipedia +cd /home/nosred/wikipedia/library +kiwix-serve --port=85 --daemon --library library.xml & +``` +- El script anterior es como debe quedar el script, puede tener el nombre wikipedia.sh y ubicarse en la carpeta /usr/local/bin + +- Para que el script arranque de manera automatica utilizamos el rc.local, en debian9 ya no viene activado por defecto, entonces utilizo esta guia para crear el rc.local y tenerlo como un servicio: https://www.itechlounge.net/2017/10/linux-how-to-add-rc-local-in-debian-9/ +Luego solo hay que agregar la linea: **wikipedia.sh** en el archivo **/etc/rc.local** de esta forma cada que se reinicia el servidor de forma automatica el servicio arranca. + + diff --git a/docs/LibreMESH+pfsense.md b/docs/LibreMesh y PfSense.md similarity index 83% rename from docs/LibreMESH+pfsense.md rename to docs/LibreMesh y PfSense.md index e3181c4..11fc6bc 100644 --- a/docs/LibreMESH+pfsense.md +++ b/docs/LibreMesh y PfSense.md @@ -64,7 +64,7 @@ Para poder que el Firmware LibreMesh que compilamos para la RedINC fuera compati En la seccion **config interface 'lan'** del archivo: - /etc/config/network - - option netmask '255.255.255.0' + - option gateway '10.17.95.1' Captura de la pantalla de como queda la configuración en un nodo: @@ -93,6 +93,25 @@ La configuración anterior lo que hace es decirle a cada nodo que tiene Internet Y que el servidor DHCP de cada uno de los nodos entregue a los clientes la puerta de enlace la ip de nuestro PfSense y que defina unas rutas estaticas necesarias para que los clientes puedan ver el resto de la red, tambien agregamos un par de lineas que permiten que a nivel de dns se definan las ip del dominio redinc.org +Los firmware compilados para la RedINC se pueden descargar del siguiente enlace: + +https://tms.openstreetmap.co/lime/ + +En esta carpeta se puede encontrar 2 compilados del firware: + +1. lime_default: Se utiliza para routers con mas de 5MB de memoria flash disponible. +2. lime_mini: Se utiliza para routers con menos de 4MB de memoria flahs disponible + +Para saber que routers son adecuados para cada firmware visite la pagina de libremesh y revise el hardware soportado y el tamaño de firmware que recomiendan. + +# Actualización generación automatica del Firmware + +La ultima configuración realizada en el profile de la RedINC en el [repositorio de LibreMESH](https://github.com/libremesh/network-profiles/tree/master/RedINC-Comunitaria) permite que se compile el firmware y ya quede configurado con las opciones que necesita la red para hacer que todos los clientes vean al PfSense como gateway. + +Esto ademas permite que podamos utilizar [el CHEF de LibreMesh para generar el Firmware](https://chef.libremesh.org/) el profile que se debe usar para generar el Firmware es el que se llama **hacklime**. + + + # PfSense La configuración del PfSense para agregarlo a la red creada con LibreMesh no es diferente a la que se explica en el siguiente enlace: @@ -101,4 +120,12 @@ https://docutopia.tupale.co/qmp+pfsense Solo hay que tener en cuenta el direccionamiento IP y que ya no es necesario agregar ninguna ruta estatica adicional en el Firewall. +### RedINC.org + +La IP de la WAN quedo configurada con la IP: 192.168.40.254/24 + + + + +