# -- OpenNodos v1.1 # -- Por Juan Miguel Taboada Godoy # -- http://www.fibranet.org - webmaster@fibranet.org # # -- Descripción: # Este fichero genera las tablas necesarias para que OpenNodos v1.1 # funcione correctamente. También creará una configuración estándar # para que el usuario pueda comenzar a usar OpenNodos. # # -- Actualizaciones: # Si estás actualizando tu Base de Datos, te recomendamos que # revises este documento y realizes las modificaciones manualmente. # Para su información le indicamos que se han eliminado auquellas # entradas que corresponden a NodosTK y se han introducido nuevos # campos en las tablas de socios y usuarios para mejorar la # administración. # # -- Este código ha sido generado con: # phpMyAdmin MySQL-Dump # version 2.4.0 # http://www.phpmyadmin.net/ (download page) # # Servidor: localhost # Tiempo de generación: 27-06-2003 a las 00:27:28 # Versión del servidor: 3.23.52 # Versión de PHP: 4.1.2 # Base de datos : `opennodos` # -------------------------------------------------------- # # Estructura de tabla para la tabla `almacenados` # # D: contiene la lista de nodos que se encuentran almacenados en la Base de Datos. CREATE TABLE almacenados ( apodo varchar(15) NOT NULL default '', # Apodo del nodo tipo varchar(15) NOT NULL default '', # Tipo de nodo: # Nodo : Punto de acceso a la red (PA) # Servidor : Ofrece servicios + PA # Repetidor : No es PA, sólo comunica 2 PA # Interesado : Nodo de persona interesada en montar # Interesante : Lugar geográfico interesante para montar un nodo # Sin asignar : Alguien que tiene un PA y no le ha asignado un uso # Privado : Red privada o no definida. idsocio int(11) NOT NULL default '0', # Número de socio del propietario del nodo web varchar(50) NOT NULL default '', # Dirección web del nodo dirip varchar(15) NOT NULL default '', # Dirección IP asignada al nodo dns1 varchar(30) NOT NULL default '', # Dirección DNS fácil de recordar (esperanza, gallir, ..., aversipue) dns2 varchar(30) NOT NULL default '', # Dirección DNS numérica (nodo1, nodo2, ..., nodo634 nclientes int(11) NOT NULL default '0', # Número de clientes máximo que habrá en esa red (clientes declarados) internet char(1) NOT NULL default '', # S/N si comparte o no Internet cobertura int(11) NOT NULL default '0', # Distancia en metros de la cobertura máxima cubierta por ese nodo forma mediumtext NOT NULL, # Descripción de la cobertura: # angulo_inicio angulo_abertura distancia[#AI AC D] x float NOT NULL default '0', # Coordenada X dentro del callejero y float NOT NULL default '0', # Coordenada Y dentro del callejero zona varchar(15) NOT NULL default '', # Zona en la que se situa el nodo (A,B,C,.....,M) PRIMARY KEY (apodo,dirip,dns1,dns2) ) TYPE=MyISAM COMMENT='Nodos almacenados'; # -------------------------------------------------------- # # Estructura de tabla para la tabla `configuracion` # # D: Almacena la configuración del programa CREATE TABLE configuracion ( actualizar char(1) NOT NULL default '', # S/N indica si hay cambios pendientes de ser publicados o no controldns int(11) NOT NULL default '0', # Lleva la cuenta del número que describe al DNS númerico registrado varchar(150) NOT NULL default '', # Almacena una cadena indicando quién fue el último registrado en el prog acceso1 varchar(100) NOT NULL default '', # Último acceso acceso2 varchar(100) NOT NULL default '', # Penúltimo acceso acceso3 varchar(100) NOT NULL default '', # Antepenúltimo acceso acceso4 varchar(100) NOT NULL default '', # Anteantepenúltimo acceso PRIMARY KEY (actualizar) ) TYPE=MyISAM COMMENT='Configuraciones'; # -------------------------------------------------------- # # Estructura de tabla para la tabla `interconexiones` # # D: Almacena las conexiones entre nodos CREATE TABLE interconexiones ( id int(11) NOT NULL auto_increment, # Identifica numéricamente a la interconexión nodo1 varchar(15) NOT NULL default '', # Apodo nodo1 implicado en la interconexión nodo2 varchar(15) NOT NULL default '', # Apodo nodo2 implicado en la interconexión calidad int(11) NOT NULL default '0', # Calidad del enlace entre ambos nodos KEY id (id) ) TYPE=MyISAM COMMENT='Nodos interconectados'; # -------------------------------------------------------- # # Estructura de tabla para la tabla `interesados` # # D: Almacena una lista de los nodos interesados para poder eliminarlos pasado un tiempo prudencial # si no pasan a ser nodos de otra clase CREATE TABLE interesados ( apodo varchar(15) NOT NULL default '', # Apodo del nodo fecha int(11) NOT NULL default '0', # Fecha en la que entró en la tabla PRIMARY KEY (apodo) ) TYPE=MyISAM COMMENT='Mantiene una lista de los nodos interesados almacenados'; # -------------------------------------------------------- # # Estructura de tabla para la tabla `mensajes` # # D: Permite transferir mensajes entre usuarios de OpenNodos CREATE TABLE mensajes ( id int(11) NOT NULL auto_increment, # Identifica numéricamente al mensaje origen varchar(15) NOT NULL default '', # Usuario origen del mensaje destino varchar(15) NOT NULL default '', # Usuario destino del mensaje fecha varchar(100) NOT NULL default '', # Fecha en la que envió el mensaje contenido tinytext NOT NULL, # Contenido del mensaje notificado char(1) NOT NULL default '0', # Bit que indica si el usuario leyó el mensaje o no KEY id (id) ) TYPE=MyISAM COMMENT='Mensajería'; # -------------------------------------------------------- # # Estructura de tabla para la tabla `pendientes` # # D: Almacena los nodos que han solicitado ser integrados en la base de datos y que están pendientes # de ser aceptados por un administrador. CREATE TABLE pendientes ( apodo varchar(15) NOT NULL default '', # Apodo del nodo tipo varchar(15) NOT NULL default '', # Tipo de nodo: (igual que en almacenados) idsocio int(11) NOT NULL default '0', # Número de socio del propietario del nodo web varchar(50) NOT NULL default '', # Dirección web del nodo email tinytext NOT NULL, # Dirección email a la que responder con los resultados dirip varchar(15) NOT NULL default '', # Dirección IP asignada dns1 varchar(30) NOT NULL default '', # Dirección DNS fácil de recordar dns2 varchar(30) NOT NULL default '', # Dirección DNS numérica nclientes int(11) NOT NULL default '0', # Número de clientes máximos declarados que habrá en ese nodo internet char(1) NOT NULL default '', # S/N si comparte o no Internet cobertura int(11) NOT NULL default '0', # Distancia máxima de la cobertura cubierta por ese nodo forma mediumtext NOT NULL, # Forma de la cobertura: (igual que en almacenados) x float NOT NULL default '0', # Coordenada X en el callejero y float NOT NULL default '0', # Coordenada Y en el callejero zona varchar(15) NOT NULL default '', # Zona de la ciudad en la que está ese nodo PRIMARY KEY (apodo) ) TYPE=MyISAM COMMENT='Nodos pendientes'; # -------------------------------------------------------- # # Estructura de tabla para la tabla `socios` # # D: Almacena la lista de socios CREATE TABLE socios ( numero int(11) NOT NULL auto_increment, # Número del socio anuri char(1) NOT NULL default '', # Si desea o no ser incluido en ANURI nombre varchar(30) NOT NULL default '', # Nombre del socio apellidos varchar(50) NOT NULL default '', # Apellidos del socio nick varchar(15) NOT NULL default '', # Nick del socio correo tinytext NOT NULL, # Dirección de correo del socio otros tinytext NOT NULL, # Otros aspectos a tener en cuenta sobre el socio (teléfono, direccion,...) PRIMARY KEY (numero,nick) ) TYPE=MyISAM COMMENT='Tabla de socios'; # -------------------------------------------------------- # # Estructura de tabla para la tabla `usuarios` # # D: Almacena la lista de usuarios de OpenNodos CREATE TABLE usuarios ( nombre varchar(15) NOT NULL default '', # Nombre o login del usuario de OpenNodos correo tinytext NOT NULL, # Dirección de correo del usuario clave varchar(50) NOT NULL default '', # Clave de acceso cifrada según el siguiente algoritmo: # clave*=md5(nombre++clave) nivel int(1) NOT NULL default '0', # Nivel de acceso a OpenNodos zona char(1) NOT NULL default '', # Zona de acceso a OpenNodos (depende del nivel) PRIMARY KEY (nombre) ) TYPE=MyISAM COMMENT='Usuarios con acceso'; # -------------------------------------------------------- # # Estructura de tabla para la tabla `zonas` # # D: Describe las zonas de la ciudad y los rangos de IPs usados en cada una de ellas # NOTA: Esta tabla me he estado planteando eliminarla o modificarla de cierto modo para que OpenNodos # no sea el encargado de realizar la asignación de IPs, dejando total libertad a los administradores # para ello. Siempre que se añade un socio, OpenNodos asigna una IP a este que el administrador puede # modificar en el momento de insertar el nodo o a posteriori. Pero creo haber detectado algunas carencias # en este aspecto. CREATE TABLE zonas ( zona varchar(15) NOT NULL default '', # Nombre de la zona ipinicio varchar(15) NOT NULL default '', # IP de inicio para esa zona ipfin varchar(15) NOT NULL default '', # IP de finalización para esa zona tamano int(11) NOT NULL default '0', # Tamaño de cada subred dentro de esa zona (30,29,28,...22) descripcion varchar(40) NOT NULL default '', # Descripción de esa zona PRIMARY KEY (zona,ipinicio,ipfin) ) TYPE=MyISAM COMMENT='Zonas activas'; # # Inserta al usuario Admin con clave god para primera gestión # # D: Añade a un usuario Admin, con clave god, con nivel 5 y acceso a todas las zonas para poder # comenzar a trabajar con OpenNodos la primera vez. INSERT INTO `usuarios` ( `nombre` , `clave` , `nivel` , `zona` ) VALUES ( 'Admin', '6e9f3884c40b8a014a4da381790e73f2', '5', '*' ); # # Crea la única entrada que vamos a necesitar para controlar # los accesos y demás configuraciones # # D: Inserta el único registro que va a necesitar OpenNodos para almacenar las configuraciones. INSERT INTO `configuracion` ( `actualizar` , `controldns` , `registrado` , `acceso1` , `acceso2` , `acceso3` , `acceso4` ) VALUES ( 'N', '1', '', '', '', '', '' );