Un servicio de directorio es un servicio de red que identifica y proporciona información sobre los recursos de la red como usuarios, grupos, equipos, etc. Active Directory es el servicio de directorio de Windows que además de estas funciones agrega otras como integración con DNS y administración centralizada. LDAP es un protocolo ligero para acceder a servicios de directorio de forma remota. OpenLDAP es una implementación de código abierto de LDAP ampliamente usada.
1. 1. ¿Qué es un servicio de directorio?
Un servicio de directorio es un servicio de red que nos identifica todos y cada uno de los
recursos que la misma nos ofrece y los hace disponibles para usuarios y aplicaciones. Es
un servicio muy importante que nos proporciona una vía de información sobre el nombre,
descripción, localización, acceso, gestión y seguridad sobre dichos recursos.
Así cuando un usuario busque un recurso en la red, será el servicio de directorio el que
identificará el recurso y le dé la información al usuario.
En Windows Server 2003 el servicio de directorio se llama Active Directory, conocido
como AD, que además de las funcionalidades conocidas de un servicio de directorio
añade otras muy interesantes y beneficiosas, como:
su integración con el Servidor de Nombres de Dominio (DNS), al usarlo para su
estructura jerárquica.
su organización en secciones capaces de albergar un gran número de objetos.
Como resultado puede expandirse al mismo ritmo que crece la organización.
su facilidad de administración centralizada, donde permite a los
administradores a distribuir escritorios, servicios de red o aplicaciones desde
un lugar central, mientras se usa un interfaz de administración estable.
También ofrece el control centralizado de accesos a los recursos de la red.
su facilidad de delegar la administración dentro de su estructura jerárquica a
aquellos segmentos específicos de la jerarquía que se quiera.
2. Realice un mapa mental que le permita comprender el funcionamiento de LDAP
2. LDAP: ("Lightweight Directory Acces Protocol", en español Protocolo Ligero de Acceso a
Directorios) es un protocolo de tipo cliente-servidor para acceder a un servicio de
directorio.
Se usó inicialmente como un Front-end o interfaz final para x.500, pero también puede
usarse con servidores de directorio únicos y con otros tipos de servidores de directorio.
Funcionamiento de LDAP
El servicio de directorio LDAP se basa en un modelo cliente-servidor.
Uno o más servidores LDAP contienen los datos que conforman el árbol de directorio
LDAP o base de datos troncal, el cliente LDAP se conecta con el servidor LDAP y le hace
una consulta. El servidor contesta con la respuesta correspondiente, o bien con una
indicación de donde puede el cliente hallar más información. No importa con que servidor
LDAP se conecte el cliente ya que siempre observará la misma vista del directorio; el
nombre que se le presenta a un servidor LDAP hace referencia a la misma entrada a la
que haría referencia en otro servidor LDAP.
Ventajas en el uso de LDAP
Un directorio LDAP destaca sobre los demás tipos de bases de datos por las siguientes
características:
es muy rápido en la lectura de registros
permite replicar el servidor de forma muy sencilla y económica
muchas aplicaciones de todo tipo tienen interfaces de conexión a LDAP y se
pueden integrar fácilmente
Dispone de un modelo de nombres globales que asegura que todas las
entradas son únicas
Usa un sistema jerárquico de almacenamiento de información.
Permite múltiples directorios independientes
Funciona sobre TCP/IP y SSL
La mayoría de aplicaciones disponen de soporte para LDAP
La mayoría de servidores LDAP son fáciles de instalar, mantener y optimizar.
3. Defina los siguientes términos en el contexto de LDAP
Árbol
Atributo
Esquema
Entrada
Dominio
3. Dominio: (Domain). La unidad central o núcleo de la estructura del Directorio Activo es el
dominio. Una colección de equipos, definido por un administrador, que comparte la base
de datos de directorio común. Un dominio tiene un nombre único y provee acceso a las
cuentas de usuario y grupos mantenidos por el administrador del dominio.
Unidad Organizativa: (Organizational Unit, OU). Una Unidad organizativa es un tipo de
contenedor de objetos que se utiliza para organizarlos dentro del dominio. Puede contener
objetos como cuentas de usuario, de grupos, equipos, impresoras, y otras OU's.
Bosque: (Forest). Un bosque se compone de uno o más dominios, los cuales comparten
una configuración común, esquema y Catálogo Global.
Árbol: (Tree). El árbol consiste en dominios de un bosque que comparten un espacio de
nombres DNS contiguo.
4. ¿Qué es Active Directory?
Active Directory (AD): es el término utilizado por para referirse a su implementación de
en una de computadores. Utiliza distintos (principalmente,).
Su estructura jerárquica permite mantener una serie de objetos relacionados con
componentes de una red, como usuarios, grupos de usuarios, permisos y asignación de
recursos y políticas de acceso.
Estructura
Active Directory está basado en una serie de estándares llamados (X.500), aquí se
encuentra una definición lógica a modo jerárquico.
Dominios y subdominios se identifican utilizando la misma notación de las zonas , razón
por la cual Active Directory requiere uno o más servidores DNS que permitan el
direccionamiento de los elementos pertenecientes a la red, como por ejemplo el listado de
equipos conectados; y los componentes lógicos de la red, como el listado de usuarios.
Un ejemplo de la estructura descendente (o herencia), es que si un usuario pertenece a
un dominio, será reconocido en todo el árbol generado a partir de ese dominio, sin
necesidad de pertenecer a cada uno de los subdominios.
A su vez, los árboles pueden integrarse en un espacio común denominado bosque (que
por lo tanto no comparten el mismo nombre de zona DNS entre ellos) y establecer una
relación de «trust» o confianza entre ellos. De este modo los usuarios y recursos de los
distintos árboles serán visibles entre ellos, manteniendo cada estructura de árbol el propio
Active Directory.
5. ¿Qué es openLDAP?
OpenLDAP: es una implementación libre y de del protocolo Lightweight Directory Access
Protocol () desarrollada por el proyecto OpenLDAP. Está liberada bajo su propia licencia
OpenLDAP Public License. es un protocolo de comunicación independiente de la
plataforma. Muchas distribuciones GNU/Linux incluyen el software OpenLDAP para el
soporte. Este software también corre en plataformas BSD, AIX, HP-UX, Mac OS X,
Solaris, Microsoft Windows (NT y derivados, incluyendo 2000, XP, Vista), y z/OS.
4. 6. Definición de RAID
El RAID (Redundant Array of Inexpensive Disks) consiste en organizar varios discos como
si de uno solo se tratara pero haciendo que trabajen en paralelo para aumentar la
velocidad de acceso o la seguridad frente a fallos del hardware o ambas cosas. Para el
sistema operativo, un RAID aparenta ser un sólo disco duro lógico. Hablaremos del RAID
en este documento ya que podemos entender un RAID como un “clúster de discos” .
Por una parte el RAID permite balancear las operaciones de entrada/salida entre los
distintos discos físicos, lo que permite un acceso más rápido a los datos. Por otra, el RAID
puede almacenar los mismos datos en distintos lugares (por tanto de modo redundante)
en múltiples discos duros. Al colocar los datos en discos múltiples, las operaciones de
entrada/salida pueden superponerse de un modo equilibrado, mejorando el rendimiento
del sistema y, dado que los discos múltiples incrementan el tiempo medio entre errores, el
almacenamiento redundante de datos incrementa la tolerancia a fallos.
7. Por qué es útil RAID en servidores
Las operaciones de entrada/salida a disco son relativamente lentas debido a su carácter
mecánico. Una lectura o una escritura involucran, normalmente, dos operaciones. La
primera es el posicionamiento de la cabeza lectora/grabadora y la segunda es la
transferencia desde o hacia el propio disco5. Una forma de mejorar el rendimiento de la
transferencia es el uso de varios discos en paralelo, esto se basa en el hecho de que si un
disco solitario es capaz de entregar una tasa de transferencia dada, entonces dos discos
serían capaces, teóricamente6, de ofrecer el doble de la tasa anterior. La adición de
varios discos debería extender el fenómeno hasta un punto a partir del cual algún otro
componente empezará a ser el factor limitante.
Por lo tanto Una forma bastante más efectiva de conseguir este objetivo es el uso de un
RAID. El RAID dividirá en forma automática los requerimientos de lectura/escritura entre
los discos. Ante una operación de lectura/escritura, un RAID de 4 discos podría,
teóricamente, entregar cuatro veces la tasa de operación de un disco único. En la
práctica, sin embargo, esto no es cierto debido, principalmente, a la carga de trabajo
inherente al control del propio RAID. Además el uso de varios discos se suele emplear
también para mantener cierto nivel de redundancia de los datos, lo que también puede
producir un cierto retardo añadido.
8. Cuál es la diferencia de implementar RAID por hardware o por software
Existen dos posibilidades de realizar un sistema basado en la tecnología RAID: RAID
Hardware o RAID Software.
Las soluciones hardware gestionan el subsistema RAID independientemente del host,
presentándole a este un solo disco. Un ejemplo de RAID hardware podría ser el
conectado al controlador SCSI que presenta al sistema un único disco SCSI. Un sistema
RAID externo se encarga de la gestión del RAID con el controlador localizado en el
subsistema externo de los discos. Existen también controladores RAID en forma de
5. tarjetas que se comportan como un controlador SCSI con el sistema operativo, pero
gestionan todas las comunicaciones reales entre los discos de manera autónoma.
El RAID software implementa, en el código del kernel, la gestión del disco para los
distintos niveles de RAID. Ofrece además la solución menos costosa: el RAID software
funciona, además de con discos SCSI, con discos IDE, menos costosos. La potencia de
una CPU común actual permite que las prestaciones de un RAID software puedan
competir con las de un RAID hardware. El driver MD del kernel de Linux es un ejemplo de
que la solución RAID es completamente independiente del hardware. Las prestaciones de
un RAID basado en el software dependen a su vez de las prestaciones de la CPU y de la
carga que ésta soporta.
9. Cuál es la función de una controladora RAID
10. Explique los principales niveles de RAID. Utilice imágenes.
RAID 0
También es conocido como modo “s tripe”. Los dispositivos deberían tener la misma
capacidad (aunque no es una restricción). Las operaciones sobre el disco virtual se
dividirán sobre dos discos físicos: por ejemplo una escritura de gran tamaño se puede
dividir en trozos que se escribirán cada uno en un disco físico. Si uno de los discos es
más grande que el otro, aún se puede utilizar este espacio pero esto implica hacer
lecturas/escrituras de forma independiente en uno de los discos, con lo que se pierde
eficiencia.
6. RAID1
Este nivel de RAID, mantiene un imagen exacta de la información de un disco en el otro.
Por supuesto, los discos deben tener el mismo tamaño. Si un dispositivo es más grande
que el otro, el RAID será del tamaño del más pequeño.
RAID 4
Este nivel de RAID no es muy usado. Puede realizarse con tres o más discos. En lugar de
copiar completamente la imagen de la información, en este caso se mantiene en un disco
una información de códigos de error y en los discos restantes se construye un RAID0. Si
se tienen N discos y S es el tamaño del más pequeño, el dispositivo virtual tendrá un
tamaño de (N1)* S.
7. Esta configuración tiene como ventaja que si un dispositivo falla, se puede usar la
información de control de errores para restaurar los datos. Pero un fallo que afecte a un
disco del RAID0 y al disco con la información para restaurar, dejará inservible el conjunto.
M
RAID5
Quizá este sea el RAID más útil cuando se quiere combinar un gran número de discos
físicos y mantener alguna redundancia. RAID5 puede usarse con tres o más discos y con
discos de repuesto. El tamaño resultante se calcula del mismo modo que en RAID4 (N1)*
S). La diferencia principal entre RAID5 y RAID4 es que la información copiada es
distribuida entre varios dispositivos de los participantes. Con esto, se evita el cuello de
botella que podía producirse en RAID4.
11. Describa cómo se realiza una implementación de RAID por software en los
sistemas operativos Windows y Linux.
8. Montaje de un disco RAID 0 en windows
Debemos despues de montar iniciar los discos y ponerlos en dinamicos para que nos deje crear un
nuevo volumen.luego damos clic derecho y seleccionamos crear nuevo volumen.
Damos clic en siguiente.
9. Seleccionamos Seccionado que es aquella opción que nos permite almacenar datos en bandas de
dos o más discos dinámicos.
Aquí debemos agregar los discos dinámicos disponibles para que el RAID los sume a su capacidad
después de agregarlo damos clic en siguiente.
10. Le asignamos a nuestro RAID 0 la letra de unidad.
Escogemos el sistema de archivos y seleccionamos dar formato rápido después siguiente.
11. Como podemos observar en discos seleccionados vemos que es el disco 1 y disco2 y que el tamaño
del volumen ahora es 4094 MB que en GB son 4.
Vemos que tienen el mismo volumen la misma letra de unidad el mismo sistema de ficheros y que
están formateados correctamente.
12. Vemos que hay un nuevo volumen de 4 GB y listo para trabajar.
Como instalar RAID0 por software en Linux
Como lo vamos hacer de forma virtual, primero les mostraremos la configuración del virtual box.
1. Creamos un disco duro que es donde vamos a montar el sistema operativo Linux.
Este es la pantalla de bienvenida para la creación de una nueva maquina virtual.
13. Aquí seleccionamos el nombre de la maquina virtual y el tipo de SO que vamos a utilizar. Nuestra
maquina se va a llamar “arreglo de disco” y el tipo se sistema es “Ubuntu de GNU/Linux”
En este paso escogemos la memoria, en mi caso solamente le asigne 652MB de RAM ya que no
considero necesario más.
14. En este pantallazo nos pregunta que si queremos crear un disco duro nuevo o uno ya existente, yo
lo estoy haciendo desde cero le damos disco duro nuevo y siguiente.
Aquí tenemos el asistente para la creación de un disco virtual nuevo, solo damos siguiente.
15. Aquí escogemos el tipo de almacenamiento, si es dinámico o fijo, en mi caso le doy dinámico.
Aquí en tamaño y en ubicación, pusimos lo siguiente la ubicación la dejamos como venia, y el
tamaña lo modificamos a solo 5GB por que como solo estamos haciendo una prueba no
necesitamos más.
16. Aquí vemos un breve resumen de las características del disco virtual y su ubicación.
Y este es el resumen completo de la maquina virtual y el disco virtual.
17. Aquí vemos en el virtual box que si quedo creada la maquina “arreglo de disco”.
Ahora creamos los otros dos discos que necesitamos para el “raid0”, esto no se hace de la misma
forma en que hicimos el anterior.
Primero seleccionamos en el virtual box la maquina “arreglo de disco” y en su configuración nos
paramos en “discos duros”, aquí nos muestra que el IDE primario es el que nosotros creamos, pero
nosotros queremos agregar otros dos discos para poder hacer el “RAID”. Para esto le damos en la
carpetica que esta seleccionada con rojo en el lado derecho.
18. Aquí le damos en nuevo para crear uno de los dos discos que necesitamos.
19. Aquí vemos que nos sale el mismo asistente para la creación del disco duro virtual, como lo
hicimos anteriormente.
Escogemos el tipo de almacenamiento dinámico y siguiente.
20. Aquí escogemos tamaño y el nombre, de nombre le colocamos “arraid.vdi”, el .vdi es la extensión
y el tamaño de solo 4GB eso ya es a gusto de cada uno.
Aquí tenemos el resumen y ya se crea nuestro disco.
21. Para probar que nuestro disco esta creado, ahora tenemos que crear el otro pero el
procedimiento ya lo saben así que solo les mostraremos el pantallazo mostrando les los dos discos
virtuales listos, como en efecto se ve en el pantallazo. Nos salimos del manejador de medios
virtuales.
Volvemos a la configuración de discos duros y al lado derecho hay una opción que es la que esta
seleccionada en rojo, esta es para agregar discos duros, entonces agregamos los dos que creamos,
como se ve en la imagen, y damos aceptar.
22. En la imagen se puede ver que ya en esta máquina tenemos tres discos duros uno ques para
montar el sistema operativo “el primario” y tenemos otros dos para hacer el arreglo de disco
“RAID” que son “esclavo primario” y “esclavo secundario”. También podemos ver que ya se a
montado la imagen con el SO.
Ahora para formatear las particiones, nos descargamos un programita que se llama “gparted” con
el comando: apt-get install gparted, recordemos que el formato que se le da a estas particiones es
“sin formato”.
23. Ahora vamos a ejecutar el “gparted” para darles el formato a las particiones, recuerden que se
debe utilizar el formato “sin formato”.
Este es el entorno grafico del “gparted” al lado derecho donde está señalando el cursor vemos que
podemos escoger los discos, aquí escogemos los discos a los cuales les vamos a dar el formato.
24. Bueno aquí nos paramos en la partición y damos clic derecho, y después en nuevo.
Ya aquí nos sale esta ventanita para crear la partición nueva, le damos el formato “sin formatear”
dejamos el tamaño por el total y damos añadir.
25. Aquí vemos que en la parte inferiror nos salio un letrero, este sale despues de que añadimos la
particion. Despues de esta observacion, damos en aplicar, para que guarde los cambios.
Después de darle aplicar nos sale esta advertencia, le damos aplicar ya que de todas formas los
discos no tienen ninguna información.
26. Aquí es cuando realiza las operación que el hemos ordenado, como lo son crear las particiones etc.
Aquí nos muestra que fueron completadas las operaciones, damos cerrar.
27. Aquí vemos que la partición nos aparece como desconocida, pero eso no importa pues esto se
debe a que esta sin formato, hacemos el mismo procedimiento en la otra partición. Serramos el
gparted.
Ahora ya tenemos nuestro SO Linux instalado, el paso que sigue es comprobar que no hayan
ninguna otra matriz RAID en nuestro equipo, lo hacemos con el comando: cat /proc/mdstat
28. Ahora verificamos que las particiones estén vacías y sin formato, esta es la forma en la que deben
estar para proceder, esto se hace con el comando: sudo fdisk –l, el sudo es para modo root, en el
pantallazo no lo coloco porque ya estoy como root.
Por medio del comando mknod creamos el archivo /dev/md0 necesario para soportar la matriz
RAID.
29. Ahora instalamos el “mdadm” que es una utilidad de Linux que se utiliza para administrar el RAID
por software, también puede eliminar o controlar los dispositivos RAID.
Esta pantalla azul nos sale en el proceso de la instalación, que es para la configuración del servidor,
le damos aceptar.
30. Después de darle enter nos sale esta otra ventana donde escogemos el tipo genérico de
configuración le damos desde internet y enter.
Aquí dejamos todo como esta por defecto.
31. Montamos la matriz RAID, nosotros optamos por montar un RAID 0, puesto que el RAID 5 requiere
al menos 3 discos, y el RAID 1 está enfocado a espejos y como lo que necesitamos es aumento en
el tamaño y buen rendimiento por eso escogemos RAID0, es necesario saber que este no es
tolerante a fallos, esto se hace con este comando: mdadm –create /dev/md0 –level=raid0 –raid-
devices=2 /dev/sdb /dev/sdc
La línea que está señalada en la parte de abajo es la que nos debe de salir para saber que esta bien
montada la matriz RAID.
32. Ahora volvemos a ver el contenido de /proc/mdstat y vemos que ya cambio en comparación al
que nos mostraba antes, de hacer esta configuración, esta información que nos sale nos indica que
está bien. Como podemos ver antes de los blocks nos muestra el total de lo que quedo el disco
que es de más o menos 8.7GB eso nos dice que se fusionaron las dos partes de 4GB, y ya las
muestra como una sola.
Ahora vamos a ver los detalles del raid.
33. Ahora procedemos a darle formato a la matriz RAID con el comando “mkfs” el sistema de archivos
ya es de escogencia personal, en este caso vamos a optar por “ext3” que trae el journaling.
Ahora vamos a modificar el archivo /etc/fstab, agregándole solamente esta línea.
34. La línea es:
/dev/md0/raid ext3 defaults, user 0 0
Creamos un directorio que se llame raid que quede ubicado en la raíz.
35. Ahora tenemos que cambiarle los permisos a el directorio “/raid”, por los apropiados que son
“754”, de la siguiente forma.
Después montamos el directorio “/raid” para poder que nos coja los permisos.
36. Ahora con el comando “ls –l” miramos a ver si están los permisos correctamente, debe estar tal y
como se ve en el pantallazo.
Ahora vamos a ver si nos reconoció el directorio “raid” como un disco, para hacer esto tenemos
que navegar en las carpetas de modo “root” se hace de la siguiente forma, ejecutando el comando
nautilus, pero para ejecutarlo la consola no debe estar en modo “root”, entonces le damos “sudo
nautilus”.
37. Después de ejecutar el nautilus nos sale esta ventana donde podemos navegar por los diferentes
directorios como modo “root”.
Subrayado en rojo vemos que esta el directorio “raid” pero si detallamos nos lo reconoce como un
disco extraíble, y más abajo subrayado con azul esta el espacio libre de este dispositivo y vemos
que es de 7.6GB ósea que es más o menos el espacio que le asignamos a nuestros dos discos
unidos.
38. Aquí tenemos subrayado en rojo el sistema de archivos que es el disco donde tenemos montado
nuestro Ubuntu, debemos recordar este tiene un total de 5GB. En la parte inferior tenemos
subrayado con azul el espacio libre, nos muestra solo 2.5GB por que el sistema ocupa la mitad de
esas 5GB.
Todo esto para probar que el raid está trabajando aparte del disco especificado para el sistema. Y
que la capacidad si es aproximada a las que asignamos inicialmente.
12. Diseñe uno o varios gráficos en los que se muestre todo el proceso de
comunicación usando el modelo OSI, de la interacción cliente servidor de una
petición Web.
Comience desde que el usuario ingresa la URL en el navegador Web y tenga en
cuenta las consultas a los servidores DNS. Suponga dirección IP privada para el
cliente (Dentro de una LAN) y dirección IP pública para el servidor Web. Puede usar
Packet Tracer como ayuda y analizar la PDU de cada capa del modelo OSI.
39. En esta venta se introduce el nombre que resuelve el servidor DNS.
Como pueden ver esta ventana muestra los saltos que da el paquete al hacer la petición
http desde el cliente hacia el servidor.
40. 13. Cuáles son los puertos bien conocidos del modelo TCP/IP
Puertos bien conocidos ("Well known ports"), comprendidos entre 0 y 1023. Estos 1024
(210) puertos pueden ser representados con 10 bits y son reservados para servicios
conocidos.
14. Cuáles son los puertos registrados del modelo TCP/IP
Puertos registrados ("Registered ports"). 48127 puertos comprendidos entre 1024 y
49151.
15. Defina HTTP
HTTP de HyperText Transfer Protocol (Protocolo de transferencia de hipertexto) es el
método más común de intercambio de información en la world wide web, el método
mediante el cual se transfieren las páginas web a un ordenador.
Todas las páginas web están escritas en lenguaje de hypertexto (hyper-text markup
language (HTML)), por lo que el hipertexto es el contenido de las páginas web.
El protocolo de transferencia es el sistema mediante el cual se transfiere información
entre los servidores y los clientes (por ejemplo los navegadores).
41. Hay una versión de http para la transferencia segura de información llamada https que
puede utilizar cualquier método de cifrado siempre que sea entendido tanto por el servidor
como por el cliente.
16. Dé un ejemplo real de un diálogo HTTP, mostrando los encabezados de la
solicitud y la respuesta. Utilice Wireshark u otro software capturado de tráfico
Tabla: Encabezados HTTP de solicitud
Encabezado Significado
Accept Listado de tipos MIME que el cliente
soporta. Hay otros encabezados
relacionados como Accept-Charset,
Accept-Encoding, Accept-Language.
Authorization Indica las credenciales de acceso a un
recurso que presenta el usuario.
Expect Indica que comportamiento del servidor
necesita el cliente.
From Dirección de correo que controla el
cliente (navegador).
Host Nombre o IP del host desde donde se
conecta el cliente.
If-Match Un cliente que tiene recursos en cache
puede verificar si están actualizados
incluyendo este encabezado. Hay otros
encabezados que también tienen que
ver con la caché. If-Modified-Since, If-
None-Match, If-Range, If-Unmodified-
Since.
Max- Cuantas veces la petición del cliente
Forwards puede ser reenviada por proxys.
Proxy- Indica las credenciales de acceso a un
Authoritation proxy que presenta el usuario.
Range Indica que porción de recurso (rango de
bytes) recuperar.
Referer Es el URI del recurso desde donde la
petición se ha realizado (generalmente
por provenir de un enlace HTML).
TE Que codificaciones de transferencia está
dispuesto a recibir el cliente.
User-Agent Información sobre el agente de usuario
(generalmente navegador) que origina
la petición.
42. Tabla: Encabezados HTTP de respuesta
Encabezado Significado
Accept- Indica las unidades en las que el
Ranges servidor acepta peticiones de rangos.
Age Tiempo estimado por el servidor para
cumplir la petición.
Etag Valor actual de la etiqueta de entidad
solicitada.
Location Contiene un URI al que el cliente debe
ser re direccionado.
Proxy- Indica el esquema de autentificación
Authenticate que acepta un servidor proxy.
Retry-After Cuanto tiempo se espera que el servicio
no esté disponible.
Server Información del software servidor.
Vary Indica que un recurso tiene múltiples
fuentes que pueden variar de acuerdo a
la lista de encabezados de petición.
WWW- Indica que el recurso solicitado necesita
Authenticate de credenciales de autorización.
17. ¿Cuáles son los códigos de estado HTTP?
Códigos de Estado de HTTP
Si habrán observado, muchas veces cuando nos encontramos navegando vemos algunas
páginas que arroja un error 404. El error 404 forma parte de una lista de códigos de
estado de respuesta y sus frases asociadas; que pretenden dar una corta descripción
textual. Todos son especificados por el estándar HTTP/1.1 que se define en RFC 2616
Uno de los aspectos fundamentales del HTTP es el permitir a los navegadores obtener
información en un formato muy simple (HTML) de un servidor. Sin embargo, para poder
desplegar esta información, el navegador o el cliente necesita saber qué tipo de
información es la que va a recibir, si una imagen, un texto, un documento de alguna
aplicación, etcétera. También necesita saber si va a recibir la información, o si hubo algún
error durante la realización del proceso. Para esto, el estándar HTTP cuenta con ciertos
códigos de respuesta estándar.
Algunos códigos interesantes son:
Conexión rechazada
100 Continue
El cliente (navegador) debe seguir con la solicitud.
Operación exitosa
200 OK
La solicitud se llevó a cabo de manera correcta
43. 201 Created
Sigue a un comando POST e indica el éxito, la parte restante del cuerpo indica la
dirección URL donde se ubicará el documento creado recientemente.
203 Non-Authoritative Information
Cuando se recibe este código en respuesta a un comando de GET indica que la
respuesta no está completa.
204 No Content
El servidor ha recibido la solicitud, pero no hay información de respuesta
205 Reset Content
El servidor le indica al navegador que borre el contenido en los campos de un formulario
206 Partial Content
Es una respuesta a una solicitud que consiste en el encabezado range. El servidor debe
indicar el encabezado content-Range
Redirección hacia otro URL
300 Multiple Choices
El pedido de datos corresponde a un conjunto de representaciones, cada una con su
ubicación específica, el usuario o el (cliente) navegador puede seleccionar la ubicacion
preferida y redireccionar su pedido a esa ubicación.
301 Moved Permanently
Los datos solicitados han sido transferidos a una nueva dirección
302 Moved Temporarily
Los datos solicitados se encuentran en una nueva dirección URL, pero, no obstante,
pueden haber sido trasladados
¿De qué nos sirve todo esto? Pues para el usuario común a lo mejor no resulte para nada
interesante; pero bajo ciertos entornos, conocer que significan estos códigos puede ser
más que importante.
Si puedes notar en aWEBa, contamos con una página de error 404. Por ejemplo, puedes
dirigirte a No Encontrado
Para mas információn sobre el error 404 pueden visitar este artículo: Crear paginas 404
que me pareció muy bien trabajado
44. 18. ¿Qué son las cookies?
Las cookies son pequeños archivos que los sitios web colocan en el disco duro del equipo
cuando los visita por primera vez.
Se puede imaginar una cookie como una tarjeta de identificación que es suya de forma
exclusiva. Su tarea es notificar al sitio cuando vuelva a él. Las cookies no se deben
confundir con virus. Aunque es posible que una cookie se pueda usar incorrectamente en
los casos en que contienen datos personales, por sí mismas no son malintencionadas.
Muchos sitios web, incluidos los de Microsoft, usan cookies. Las cookies nos informan de
la frecuencia con la que visita las páginas, lo que nos ayuda a averiguar la información
que le interesa. De este modo, podemos ofrecer más contenido del que le gusta y menos
del que no.
Las cookies permiten almacenar preferencias y nombres de usuario, registrar productos y
servicios, así como personalizar páginas.
Pero si nunca registra o deja información personal en un sitio, el servidor sólo sabrá que
alguien con su cookie ha vuelto al sitio web. No sabrá nada más.
Es decisión suya el facilitarnos información acerca de usted.
19. ¿Cuál es la diferencia entre una aplicación en el lado del cliente una aplicación
en el lado del servidor? Dé ejemplos.
Aplicación del lado cliente: Los programas residen juntos la página web en el servidor
pero son transferidos al cliente para que este los ejecute. Java, java Script, vbscript son
lenguajes de programación del lado del cliente.
Aplicaciones del lado del servidor: los programas son ejecutados por el servidor y lo
que se envía al cliente es la respuesta o resultado de dicha ejecución. Lenguaje como
PHP o perl perecen a esta categoría.
45. Tabla de las aplicaciones tanto del servidor como del cliente.
20. Explique la diferencia entre una página Web dinámica y una página Web estática
Una página Web estática es aquella que es básicamente informativa, el visitante y
administrador Web no pueden interactuar con la página para modificar su contenido. NO
se utilizan bases de datos ni se requiere programación. Para desarrollar una página web
estática es suficiente utilizar código HTML. A continuación mostramos la estructura que
podría tener un sitio web que pretende dar a conocer sus productos o servicios:
Página principal con encabezado en Flash
Pagina “quiénes somos”
Pagina de política de envíos
Pagina de preguntas frecuentes
Pagina de contacto (Dirección teléfonos y correo electrónicos)
Pagina de formas de pago: Giro, depósito o transferencia bancaria
46. Catálogo de productos estático: categorías, subcategorías y artículos
Página de servicios complementarios
Una página Web dinámica es aquella que puede interactuar con el visitante y/o
administrador Web, pudiéndose modificar el contenido de la página. Ejemplos de esto
son: cuando el usuario puede escribir un comentario, escoger los productos y ponerlos en
un carrito de compras, subir archivos o fotografías, etc. En este caso SI se utilizan bases
de datos y se requiere programación Web. El lenguaje utilizado puede ser alguno de los
siguientes: PHP, ASP, ASP.NET o Java. A continuación mostramos la estructura que
podría tener un sitio web que pretende vender sus productos o servicios:
Página principal con encabezado en Flash
Páginas: Quienes somos, preguntas frecuentes y política de envíos
Página de contacto (Formulario de contacto)
Página de formas de pago: Tarjeta de crédito, giro, depósito o transferencia
bancaria
Catálogo de productos dinámico: categorías, subcategorías y artículos
Programa de Carrito de compras
Registro de clientes para comprar en línea
Panel de administración para consultar y actualizar productos, clientes y fletes
Panel de seguimiento de pedidos para uso del cliente
Conexión a pasarela de pagos (2CheckOut o la que se elija) para pagos en línea
21. ¿Cuáles son los elementos y atributos de una estructura HTML?
<html> inicio de la pagina
<head> cabecera de la pagina
Dentro de esta principalmente se coloca el titulo de la pagina con la siguiete linea
<title>titulo de la pagina </title> cierra el titulo de la pagina
</head> cierra la cabecera
<body>parte visible de la pagina
<P> hola mama
</body> cierra el cuerpo de la pagina
</html> cierra pagina
22. Cree una tabla en la que muestre las etiquetas y atributos correspondientes a
los siguientes elementos de un documento HTML (Dé ejemplos):
Inicio y final de un documento HTML
Cabecera de un documento HTML
Título de la página Web
47. Cuerpo de la página Web
Tabla
Fila
Columna
Hipervínculo
División de la página
Texto en negrita
Texto en cursiva
Texto subrayado
Formulario y elementos del formulario
Código de un script
Insertar una imagen
Fuentes
Salto de línea
Marcos
ETIQUETA CIERRE ATRIBUTO EXPLICACION
<html> </html> Inicio y final de un documento html
<head> </head> Cabecero de un documento html
<title> </title> Titulo de la pagina web
<table> </table> Tabla
<tr> </tr> Fila
<td> </td> Columna o celda
aling Alineación del texto dentro de la
celda(lef,center,right)
bgcolor Color de fondo de la celda
colspan Extiende la celda en varias columnas
height Altura
rowspan Extiende la celda en varias filas
valign Alineacion vertical (top, middle,
bottom)
width Ancho de la celda
<a> </a> Href Donde href es donde se especifica la
pagina a la que esta asociado el enlace
<b> </b> Texto en negrita
<i> </i> Texto en cursiva
<u> </u> Texto subrayado
<form> </form> Formulario
action Indica una dirección de correo
enctype Modo de cifrado de la información
method Transferencia de las variables del
formulario puede ser get (no puede el
usuario realizar cambios al documento
) y post (si se pueden realizar cambios)
48. <script> </script> Codigo de un script
type Texto del script
src Puedes poner un URL
<imag> </imag> Insertar una imagen
alt Texto alternativo
border Establese si va a tener bordo o no
cuando sirva de enlace.
height Altura de la imagen
width Ancho de la imagen
src Imagen a insertar
<font> </font> Fuente
<br> Salto de linea
<frame> Marco
name Nombre que se le da para referirse a el
src Documento que se carga inicialmente
frameborder Determina si habra borde entre ellos
23. Ingrese al sitio Web http://www.ayddiseno.com/web.html, obtenga el código
fuente de la página Web e identifique todas las etiquetas del documento HTML.
<html> inicio del documento html
<head> abre cabecera del documento
<title> abre Desarrollo web</title> titulo de la pagina web
<style type="text/css"> tipo y/o estilo de las hojas
<body abre parte visible en la pantalla del documento
</style> cierra estilo y espacio para el texto de un script
<script language="JavaScript" type="text/JavaScript"> abre language de un script
</script> cierra lenguaje de un script
</head> cierra cabecera de la pagina
<table abre tabla
<tr> abre espacio para texto en negrita
<td abre espacio para texto en cursiva
</table></td> cierra tabla cursiva y negrita
49. </tr>
</body> cierra parte visible en la pantalla del documento
</html> final Del documento
24. Consulte la tabla de colores RGB con su correspondiente código hexadecimal
Colores HTML o web
・
・ cyan: #00FFFF
・ gray: #808080
・ navy: #000080
・ silver:#C0C0C0
・ black: #000000
・ green: #008000
・ olive: #808000
・ teal: #008080
・ blue: #0000FF
・ lime: #00FF00
・ purple: #800080
・ fuchsia: #FF00FF
・ maroon: #800000
・ red: #FF0000
・ yellow: #FFFF00
・ white: #FFFFFF
50. 25. ¿Qué son las hojas de estilo (CSS)?
26. ¿Qué es una aplicación Web? Realice una lista de 20 aplicaciones Web.
Aplicación web
En la ingeniería software se denomina aplicación web a aquellas aplicaciones que los
usuarios pueden utilizar accediendo a un a través de o de una mediante un . En otras
palabras, es una aplicación software que se codifica en un lenguaje soportado por los
navegadores web (HTML, JavaScript, Java, asp.net,php, etc.) en la que se confía la
ejecución al navegador.
Las aplicaciones web son populares debido a lo práctico del como , así como a la
facilidad para actualizar y mantener aplicaciones web sin distribuir e instalar software a
miles de usuarios potenciales. Existen aplicaciones como los , , , y la propia que son
ejemplos bien conocidos de aplicaciones web.
Es importante mencionar que una página Web puede contener elementos que permiten
una comunicación activa entre el usuario y la información. Esto permite que el usuario
acceda a los datos de modo interactivo, gracias a que la página responderá a cada una
de sus acciones, como por ejemplo rellenar y enviar formularios, participar en juegos
diversos y acceder a gestores de base de datos de todo tipo.
Lista de 20 aplicaciones Web.
Wikis
Pbwiki: http://www.pbwiki.com/
Wikispaces: http://www.wikispaces.com
Wetpaint: http://www.wetpaint.com
Xwiki: http://www.xwiki.com/xwiki/bin/view/Main/WebHome
Wiki.mailxmail.com: http://wiki.mailxmail.com/
Vídeos
You Tube: http://www.youtube.com
Google Video: http://video.google.com
vidiLife: http://www.vidilife.com
vimeo: http://www.vimeo.com
current: http://www.current.tv
Discos duros online
openomy: http://www.openomy.com
box.net: http://www.box.net
Streamload: http://www.streamload.com
inbox.com: http://www.inbox.com (más que disco duro)
omni drive: http://omnidrive.com.au
51. Correo electrónico
Gmail: http://gmail.google.com
Laszlo Mail: http://www.laszlomail.com
Zimbra: http://www.zimbra.com
goowy: http://www.goowy.com
PookMail.com: http://www.pookmail.com
Blogs: creación
La Coctelera : http://www.lacoctelera.com
Blogger : http://www.blogger.com
Blogsome : http://www.blogsome.com
Zoomblog : http://www.zoomblog.com
Blogalia : http://www.blogalia.com
27. Explique los siguientes lenguajes de programación y conceptos relacionados
con las aplicaciones Web:
PHP
PHP es un lenguaje de programación interpretado, diseñado originalmente para la
creación de páginas web dinámicas. Es usado principalmente en interpretación del lado
del servidor (server-side scripting) pero actualmente puede ser utilizado desde una
interfaz de línea de comandos o en la creación de otros tipos de programas incluyendo
aplicaciones con interfaz gráfica usando las bibliotecas Qt o GTK+.
PHP es un acrónimo recursivo que significa PHP Hypertext Pre-processor (inicialmente
PHP Tools, o, Personal Home Page Tools). Fue creado originalmente por Rasmus Lerdorf
en 1994; sin embargo la implementación principal de PHP es producida ahora por The
PHP Group y sirve como el estándar de facto para PHP al no haber una especificación
formal. Publicado bajo la PHP License, la Free Software Foundation considera esta
licencia como software libre.
ASP
Active Server Pages (ASP) es una tecnología de Microsoft del tipo "lado del servidor"
para páginas web generadas dinámicamente, que ha sido comercializada como un anexo
a Internet Information Services (IIS).
La tecnología ASP está estrechamente relacionada con el modelo tecnológico de su
fabricante. Intenta ser solución para un modelo de programación rápida ya que programar
en ASP es como programar en Visual Basic, por supuesto con muchas limitaciones y
algunas ventajas específicas en entornos web.
Lo interesante de este modelo tecnológico es poder utilizar diversos componentes ya
desarrollados como algunos controles ActiveX así como componentes del lado del
servidor, tales como CDONTS, por ejemplo, que permite la interacción de los scripts con
el servidor SMTP que integra IIS.
52. Se facilita la programación de sitios web mediante varios objetos integrados, como por
ejemplo un objeto de sesión basada en cookies, que mantiene las variables mientras se
pasa de página a página.
Perl
Perl es un lenguaje de programación diseñado por Larry Wall en 1987. Perl toma
características del lenguaje C, del lenguaje interpretado shell (sh), AWK, sed, Lisp y, en
un grado inferior, de muchos otros lenguajes de programación.
Estructuralmente, Perl está basado en un estilo de bloques como los del C o AWK, y fue
ampliamente adoptado por su destreza en el procesador de texto y no tener ninguna de
las limitaciones de los otros lenguajes de script.
Python
Python es uno de esos lenguajes de programación que te permiten crear un código limpio
y elegante, es comparado habitualmente con TCL, Perl, Scheme, Java y Ruby, Python es
un lenguaje interpretado, lo que ahorra un tiempo considerable en el desarrollo del
programa, pues no es necesario compilar ni enlazar. El intérprete se puede utilizar de
modo interactivo, lo que facilita experimentar con características del lenguaje, escribir
programas desechables o probar funciones durante el desarrollo del programa. También
es una calculadora muy útil.
CGI
CGI (en inglés Common Gateway Interface, abreviado CGI) es una importante tecnología
de la World Wide Web que permite a un cliente (navegador web) solicitar datos de un
programa ejecutado en un servidor web. CGI especifica un estándar para transferir datos
entre el cliente y el programa. Es un mecanismo de comunicación entre el servidor web y
una aplicación externa cuyo resultado final de la ejecución son objetos MIME. Las
aplicaciones que se ejecutan en el servidor reciben el nombre de CGIs.
Las aplicaciones CGI fueron una de las primeras maneras prácticas de crear contenido
dinámico para las páginas web. En una aplicación CGI, el servidor web pasa las
solicitudes del cliente a un programa externo. Este programa puede estar escrito en
cualquier lenguaje que soporte el servidor, aunque por razones de portabilidad se suelen
usar lenguajes de script. La salida de dicho programa es enviada al cliente en lugar del
archivo estático tradicional.
CGI ha hecho posible la implementación de funciones nuevas y variadas en las páginas
web, de tal manera que esta interfaz rápidamente se volvió un estándar, siendo
implementada en todo tipo de servidores web.
.NET
.NET es un proyecto de Microsoft para crear una nueva plataforma de desarrollo de
software con énfasis en transparencia de redes, con independencia de plataforma de
hardware y que permita un rápido desarrollo de aplicaciones. Basado en ella, la empresa
intenta desarrollar una estrategia horizontal que integre todos sus productos, desde el
sistema operativo hasta las herramientas de mercado.
53. .NET podría considerarse una respuesta de Microsoft al creciente mercado de los
negocios en entornos Web, como competencia a la plataforma Java de Sun Microsystems
y a los diversos framework de desarrollo web basados en PHP. Su propuesta es ofrecer
una manera rápida y económica, a la vez que segura y robusta, de desarrollar
aplicaciones –o como la misma plataforma las denomina, soluciones– permitiendo una
integración más rápida y ágil entre empresas y un acceso más simple y universal a todo
tipo de información desde cualquier tipo de dispositivo.
JSP
JSP es un acrónimo de Java Server Pages, que en castellano vendría a decir algo como
Páginas de Servidor Java. Es, pues, una tecnología orientada a crear páginas web con
programación en Java.
Con JSP podemos crear aplicaciones web que se ejecuten en variados servidores web,
de múltiples plataformas, ya que Java es en esencia un lenguaje multiplataforma. Las
páginas JSP están compuestas de código HTML/XML mezclado con etiquetas especiales
para programar scripts de servidor en sintaxis Java. Por tanto, las JSP podremos
escribirlas con nuestro editor HTML/XML habitual.
28. Defina WAMP, LAMP y XAMPP
WAMP es el acrónimo usado para describir un sistema de infraestructura de internet que
usa las siguientes herramientas:
Windows, como sistema operativo;
Apache, como servidor web;
Mysql, como gestor de bases de datos;
PHP (generalmente), Perl, o Python, como lenguajes de programación.
El uso de un WAMP permite servir páginas HTML a internet, además de poder gestionar
datos en ellas, al mismo tiempo un WAMP, proporciona lenguajes de programación para
desarrollar aplicaciones web.
LAMP es el sistema análogo que corre bajo ambiente Linux
MAMP es el sistema análogo que corre bajo ambiente Mac
LAMP
El acrónimo LAMP se refiere a un conjunto de subsistemas de software necesarios para
alcanzar una solución global, en este caso configurar sitios web o Servidores dinámicos con
un esfuerzo reducido.
En las tecnologías LAMP esto se consigue mediante la unión de las siguientes tecnologías:
54. Linux, el sistema operativo;
Apache, el servidor web;
Mysql, el gestor de bases de datos;
Perl, PHP, o Python, lenguajes de programación.
La combinación de estas tecnologías es usada primariamente para definir la infraestructura
de un servidor web, utilizando un paradigma de programación para desarrollo.
XAMPP es un servidor independiente de plataforma, software libre, que consiste principalmente
en la base de datos MySQL, el servidor Web Apache y los intérpretes para lenguajes de script: PHP
y Perl. El nombre proviene del acrónimo de X (para cualquiera de los diferentes sistemas
operativos), Apache, MySQL, PHP, Perl. El programa está liberado bajo la licencia GNU y actúa
como un servidor Web libre, fácil de usar y capaz de interpretar páginas dinámicas. Actualmente
XAMPP está disponible para Microsoft Windows, GNU/Linux, Solaris, y MacOS X.
29. ¿Qué es una base de datos?
Una base de datos es un “almacén” que nos permite guardar grandes cantidades de
información de forma organizada para que luego podamos encontrar y utilizar fácilmente.
A continuación te presentamos una guía que te explicará el concepto y características de
las bases de datos.
Cada base de datos se compone de una o más tablas que guarda un conjunto de datos.
Cada tabla tiene una o más columnas y filas. Las columnas guardan una parte de la
información sobre cada elemento que queramos guardar en la tabla, cada fila de la tabla
conforma un registro.
Características
Entre las principales características de los sistemas de base de datos podemos
mencionar:
Independencia lógica y física de los datos.
Redundancia mínima.
Acceso concurrente por parte de múltiples usuarios.
Integridad de los datos.
Consultas complejas optimizadas.
Seguridad de acceso y auditoria.
Respaldo y recuperación.
Acceso a través de lenguajes de programación estándar.
30. ¿Cuáles son las principales características de SQL?
55. La siguiente lista describe algunas de las características más importantes del software de
base de datos MySQL. Consulte Sección 1.5, “Mapa de desarrollo de Mysql” para más
información acerca de las características actuales y próximas.
Interioridades y portabilidad
Escrito en C y en C++
Probado con un amplio rango de compiladores diferentes
Funciona en diferentes plataformas. Consulte Sección 2.1.1, “Sistemas
operativos que Mysql soporta”.
Usa GNU Automake, Autoconf, y Libtool para portabilidad.
APIs disponibles para C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, y Tcl.
Consulte Capítulo 24, APIs de Mysql.
Uso completo de multi-threaded mediante threads del kernel. Pueden
usarse fácilmente multiple CPUs si están disponibles.
Proporciona sistemas de almacenamiento transaccionales y no
transaccionales.
Usa tablas en disco B-tree (MyISAM) muy rápidas con compresión de
índice.
Relativamente sencillo de añadir otro sistema de almacenamiento. Esto es
útil si desea añadir una interfaz SQL para una base de datos propia.
Un sistema de reserva de memoria muy rápido basado en threads.
Joins muy rápidos usando un multi-join de un paso optimizado.
Tablas hash en memoria, que son usadas como tablas temporales.
Las funciones SQL están implementadas usando una librería altamente
optimizada y deben ser tan rápidas como sea posible. Normalmente no hay
reserva de memoria tras toda la inicialización para consultas.
El código MySQL se prueba con Purify (un detector de memoria perdida
comercial) así como con Valgrind, una herramienta GPL
(http://developer.kde.org/~sewardj/).
El servidor está disponible como un programa separado para usar en un
entorno de red cliente/servidor. También está disponible como biblioteca y
puede ser incrustado (linkado) en aplicaciones autónomas. Dichas
aplicaciones pueden usarse por sí mismas o en entornos donde no hay red
disponible..
31. Cuáles son los principales sistemas de gestión de bases de datos (Explique
brevemente cada uno de ellos)
FileMaker Pro es una aplicación multiplataforma (Windows y Mac) de base de datos
relacional de FileMaker Inc. (una subsidiaria de Apple Inc.). FileMaker integra el motor de
la base de datos con la interfaz, lo que permite a los usuarios modificar la base de datos al
arrastrar elementos (campos, pestañas, botones...) a las pantallas o formas que provee la
interfaz.
FileMaker evolucionó de una aplicación de MS-DOS, que se desarrolló primariamente para
Apple Macintosh. Desde 1992 está disponible para Microsoft Windows y se puede utilizar
56. como un ambiente heterogéneo. FileMaker está disponible para desktop, servidor y
configuraciones web.
Visual FoxPro es un lenguaje de programación orientado a objetos y procedural, un
Sistema Gestor de Bases de datos o Database Management System (DBMS), y desde la
versión 7.0, un Sistema administrador de bases de datos relacionales, producido por
Microsoft.
Microsoft Access es un programa Sistema de gestión de base de datos relacional creado y
modificado por Microsoft para uso personal de pequeñas organizaciones. Es un
componente de la suite Microsoft Office aunque no se incluye en el paquete "básico". Una
posibilidad adicional es la de crear ficheros con bases de datos que pueden ser
consultados por otros programas. Dentro de un sistema de información entraría dentro de
la categoria de Gestion y no en la de Ofimática como algunos creen.
MySQL es un sistema de gestión de base de datos relacional, multihilo y multiusuario con
más de seis millones de instalaciones.1 Mysql AB —desde enero de 2008 una subsidiaria
de Sun Microsystems y ésta a su vez de Oracle Corporation desde abril de 2009—
desarrolla Mysql como software libre en un esquema de licenciamiento dual.
Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia,
pero para aquellas empresas que quieran incorporarlo en productos privativos deben
comprar a la empresa una licencia específica que les permita este uso. Está desarrollado
en su mayor parte en ANSI C.
Oracle es un sistema de gestión de base de datos relacional (o RDBMS por el acrónimo en
inglés de Relational Data Base Management System), desarrollado por Oracle Corporation.
Se considera a Oracle como uno de los sistemas de bases de datos más completos,
destacando:
soporte de transacciones,
estabilidad,
escalabilidad y
Soporte multiplataforma.
Ha sido criticada por algunos especialistas la seguridad de la plataforma, y las políticas de
suministro de parches de seguridad, modificadas a comienzos de 2005 y que incrementan
el nivel de exposición de los usuarios. En los parches de actualización provistos durante el
primer semestre de 2005 fueron corregidas 22 vulnerabilidades públicamente conocidas,
algunas de ellas con una antigüedad de más de 2 años.
32. Instale un gestor de base de datos MYSQL en Windows y un gestor de base de
datos MYSQL en Linux. Cree una base de datos y diferentes tablas y campos,
57. mediante un software de administración gráfica y mediante línea de comandos. Use
máquinas virtuales y evidencie el proceso.
CÓMO INSTALAR MYSQL SERVER EN WINDOWS
1. Lo primero que tenemos que hacer es disponer del archivo de instalación de mysql, el cual
lo podemos descargas gratuitamente desde la siguiente página:
http://mysql.softonic.com/descargar. al tener el instalador lo ejecutamos.
2. Luego en la ventana que nos sale pulsamos next
58. 3. Luego en la ventana que nos aparece seleccionamos la opción custom , la cual nos permite
seleccionar los programas que deseamos instalar.
Damos next.
59. 4. En nuestro caso seleccionamos todo menos "C Include Files / Lib Files", esta opción
instala las librerías necesarias para el acceso a MySQL mediante C++: luego damos en
next.
NOTA: si queremos cambiar de carpeta donde se instalara el programa solo debemos selecciona
change y darle la nueva ruta de instalación.
60. 5. Anted de instalar el programa nos arroja una ventana la cual muestra la configuración y
nuetras opciones seleccionados, verificamos nuetra configuración y damos en install.
61. Proceso de instalación
6. A continuación nos sale dos ventas de publicidad del mysql para continuar solo pisamos
next en ambas ventanas.
62. 7. Luego de haber instalado nos aparece el asistente de configuración de mysql server, esta
configuración se puede hacer en otro momento, pero si lo queremos hacer solo debemos
dejar marcada la opción Configure the MySQL Server now y pulsaremos Finish.
63. 8. Se iniciará el asistente de configuración de la instancia de mysql. Pulsaremos next para
continuar:
9. Acá podemos seleccionar la opción Standart Configuration la cual nos pedirá menos
parámetros de configuración. En nuestro caso seleccionamos Detailled Configuration.
Debido a que esta opción permite más configuración para ajustarlo a nuestras
necesidades. Damos next
64. 10. Luego seleccionamos el servidor según el uso que queremos darle:
Developer Machine: este tipo de uso del servidor de MySQL Server se utiliza como
testeo y desarrollo de aplicaciones que utilicen MySQL Server. Se creará la
instancia de MySQL Server consumiendo los mínimos requisitos posibles. Esto es
útil sólo para servidores de bases de datos de pruebas, no es recomendable para
servidores de MySQL Server en producción con conexión de varios usuarios a la
vez.
Server Machine: este modo de uso de MySQL Server se usa en situaciones de
necesidades "medias", sirve para pruebas y para el uso de varios usuarios
conectados a la vez (no más de 10, aunque esto depende del volumen de
transacciones que se necesiten). Con este modo SQL Server necesitará un uso de
memoria medio, más alto que el anterior tipo y más bajo que el siguiente.
Dedicated MySQL Server Machine: este tipo de instalación sólo es recomendable
cuando el servidor donde se instala va a ser un servidor dedicado, es decir, cuando
el equipo sólo servirá como servidor de bases de datos MySQL Server. Así pues, en
este caso, MySQL Server utilizará toda la memoria disponible.
En nuestro caso, puesto que msql Server sólo lo utilizaremos para pruebas y desarrollo de
aplicaciones, marcaremos la opción Developer Machine y pulsaremos next para
continuar:
65. 11. A continuación deberemos indicar el tipo de transacciones que se ejecutarán en el
servidor de SQL Server:
Multifuncional Database: este tipo de configuración de la instancia de SQL Server
se usa para bases de datos de propósito general, sirve para pruebas y para base de
datos en producción. Se podrán utilizar tanto el motor InnoDB (admite gestión de
transacciónes, más lento que MyISAM) como el motor MyISAM (no admite gestión
de transacciones, más rápido que InnoDB. Esta opción suele ser la más habitual,
pues servirá para aplicaciónes que hagan inserciones, modificaciones y consultas
de datos.
Transactional Database Only: este tipo de instancia de SQL Server sólo sirve y está
optimizada para realizar transacciones. Sólo admite InnoDB, no admite MyISAM. Es
recomendable sólo para aplicaciones con varios usuarios concurrentes que puedan
realizar eliminaciones, modificaciones e inserciones de datos, pues habrá control
de transacciones y de bloqueos. En cambio no es recomendable para, por ejemplo,
gestores de contenidos web como PHP-Nuke ó PostNuke, pues éstos a penas
permiten modificaciones e inserciones, sólo para usuarios administradores, en
cambio sí necesitan bastante velocudad en la consulta.
Non-Transactional Database Only: este tipo sólo admite el motor MyISAM, por lo
que sólo será útil para aplicaciones que no requieran de transacciones
(monitorización, logeo, aplicaciones web de consulta, análisis de programas, etc).
Lo más sencillo, para poder disponer de los dos motores: InnoDB (transaccional) y
MyISAM (no transaccional), marcaremos "Multifuncional Database", de esta forma, al
crear las tablas en MySQL Server, podremos indicar el tipo de motor (engine) a utilizar:
66. 12. En la siguiente ventana indicaremos la ruta en donde serán guardados los ficheros de la
base de datos, es recomendable que los ficheros de datos se encuentren en un disco duro
diferente del sistema.
En nuestro caso, como se trata de una base de datos de prueba dejaremos el directorio
por defecto. Damos next para continuar.
13. Acá se configura el número de usuarios concurrentes que estimaremos en atacan
nuestra base de datos.
Decision Support (DSS)/OLAP: esta opción es recomendable para unos 20
usuarios concurrentes (conectados a la base de datos a la vez).
Online Transaction Processing (OLTP): para unos 500 usuarios concurrentes.
Manual Setting: en esta opción podremos indicar al asistente de configuración que
configure MySQL Server para el número de usuarios que indiquemos.
En nuestro caso solo atacara la base de datos unos 5 usuarios por lo tanto
seleccionaremos Manual Setting e introducimos este número en Concurren
Connetions, y damos next.
67. 14. Acá se configura el servidor para que permita las conexiones de externas desde otros
equipos de la red, para ello marcaremos Enable TCP/IP Networking, también se debe
indicar el puerto que utilizara mysql, Port Number, por defecto viene el 3306 el cual si
queremos lo podemos cambiar o simplemente se deja así. También seleccionamos Add
fiewall exeption for this port este permite agregar la excepción al firewall para que pueda
permitir la conexiones entrantes por ese puerto.
Nota: Si el antivirus o cortafuegos no aparecen no olvidéis abrir el puerto para permitir conexiones
de otros equipos de la LAN o de Internet a nuestro servidor mysql.
68. 15. En esta ventana seleccionaremos el juego de caracteres que se utilizara por defecto en
mysql, para nuestro caso Standard Character Set y damos next para continuar.
16. Acá dejamos la opción que viene por defecto y damos next.
"Install As Windows Service", pues podremos indicar el modo de inicio: manual,
automático, etc. también podremos deshabilitarlo o reiniciarlo desde otras aplicaciones en
caso necesario.
"Include Bin Directory in Windows PATH" el asistente creará varios ficheros de proceso
por lotes (.bat), ejecutables, para iniciar, detener SQL Server 6, la carpeta donde se creen
será añadida a la variable de entorno PATH, para que se pueda iniciar o detener MySQL
Server desde cualquier carpeta en modo MS-DOS:
69. 17. Acá se indica la contraseña para el superususario root, la cual será la que tenga acceso a
todos los esquemas. Su se marca la opción Enable root access from remote machines,
indicaremos a mysql que permita el acceso desde otros equipos.
70. En esta venta nos muestra lo que va hacer en la configuración, a continuación le damos ejecute.
71. Installacion de una base de datos MYSQL en linux
lo primero que debemos hacer es instalar el paquete de LAMP para hacer toda la instalacion de
una manera mas faci.
Instalacion del LAMP
Nos vamos a sistema,admministracion, gestor de paquetes de Synaptic.
72. Vemos que nos pide una autenticación a la cual le damos la clave de nuestro usuario
ADMINISTRADOR.
Vamos a editar, marcar paquetes por tarea.
73. Marcamos la opción LAMP server y aceptar.
Marcamos los cambios adicionales este caso son todos así que solo le damos marcar.
74. Despues nos pide una contraseña para el usuario root.
Confirmamos la contraseña.
75. Debemos instalar phpmyadmin como lo muestra la siguiente imagen.
Dice que cual quiere que se configure le damos apache2 y aceptar.
76. Le damos que si para que configure la base de datos para phpmyadmin.
Pide una contraseña para el administrador.
78. Editamos el siguiente archivo agregando la última línea que se muestra en la imagen.
Después abrimos nuestro explorador y escribimos el URL que se ve en la imagen y metemos el
usuario y la contraseña.
79. Aquí ya entramos ahora es solo crear la base de datos es muy fácil le damos nombre y damos clic
en crear.
Aquí nos dice que se creó correctamente luego creamos la tabla le damos nombre y el numero de
campos y continuar.
80. Llenamos los campos le damos el tipo en nuestro caso es varchar que nos permite ingresar todo
tipo de carácter, también la cantidad máxima de caracteres lo otro es opcional.
Vemos que se ha creado correctamente nuestra tabla.
81. Instalación de una base de datos por comandos en Linux
Instalar una base de datos por consola es supremamente sencillo solo debemos ejecutar la línea
que se muestra en la figura para tener conexión con el servidor nos pedirá la contraseña y entrara
la base de datos creada anteriormente.
82. luego para ver las bases que tenemos creadas le damos show database; NOTA: no olvidemos
cerrar la database con ; para que el se identifique.vemos que esta la base que creamos
anteriormente en el modo grafico.
Para ver nuestra tabla de la base de datos le damos use dbprueba; que en este caso es el nombre
de la base de datos, luego le damos show tables; que se utiliza para ver las tablas creadas y si
queremos ver lo que tienen las tablas le damos describe tablaprueba; que viene siendo el nombre
que se le dio a la tabla.
83. Si lo que quieres es crear una base de datos por consola sigue la siguiente imagen.
33. Realice una lista de comandos para administrar una base de datos MYSQL
Comandos básicos de Mysql
Esto es una agrupación de comandos basicos de MySQL que hizo Trukulo, y que va
muy bien para cuando estas trabajando y no te acuerdas de algo.
Información:
show databases; - Listar todas las bases de datos.
connect [database]; - Conectarse a esa base de datos.
show tables; - Listar todas las tablas de una base de datos.
show table status; - Muestra información sobre las tablas.
describe [table]; - Muestra la estructura de una tabla.
Manipulación:
84. drop table [table]; - Elimina la tabla, incluyendo registros y estructura.
drop table if exists [table]; - Elimina la tabla, pero verifica que exista.
truncate table [table]; - Elimina los registros, pero mantiene la esrtuctura de la
tabla.
rename table [table] to [nuevo nombre de tabla]; - Renombra una tabla.
Algunos comandos útiles:
select * from [table] limit [numero]; - Muestra los registros desde el 1 hasta el
número.
Ej. select * from tabla limit 10; - Muestra los 10 primeros registros.
select * from [table] limit [numero inicio],[numero]; - Muestra los registros
desde el número de inicio hasta número inicio + número.
Ej. select * from tabla limit 11,10; - Muestra desde registro 11 hasta el 20.
Bases de datos en consola
$ mysqladmin -u -p create - crear base de datos.
$ mysqladmin -u -p drop - borrar la base de datos.
$ mysqladmin -u root -p proc - listar procesos en ejecución.
$ mysqladmin -u root -p -i 5 status - verificar status cada 5 segundos.
$ mysqldump --opt -u -h -p > /path/to/file - Exportar base de datos a fichero.
$ mysqldump --opt -u -h --all-databases -p > /path/to/file - Exportar TODAS
las bases de datos a fichero.
$ mysql -h -u -p
$ mysqlcheck -o -u root -p --all-databases - Optimizar las bases de datos.
Verificación y reparación de bases de datos erroneas:
check table [table]; - Verificar tabla.
repair table [table]; - Reparar tabla rota.
34. Cree una página dinámica en PHP que procese la información de un formulario y
se envíe a una base de datos en MYSQL. Ingrese la información de varios usuarios
y luego muestre los campos usando una interfaz gráfica (GUI). Ejemplo:
Pantallazo que muestra el ingreso de los datos en el formulario creado en php.
85. El siguiente pantallazo muestra el resultado arrojado por la pagina al ser ingresados los
datos en el formulario.
Acá se muestra que en la base de datos se ha ingresados 3 registros.
86. 35. ¿Qué es un servidor AAA?
La tupla “autenticación, autorización y registro” es más conocida como AAA, al ser éste su
acrónimo de su denominación original inglesa “Authentication, Authorization, and
Accounting”. Veamos a continuación a qué se refiere cada uno de estos términos:
Autenticación (authentication) hace referencia al proceso por el cual se determina si un
usuario tiene permiso para acceder a un determinado servicio de red del que quiere hacer
uso. El proceso de autenticación se realiza mediante la presentación de una identidad y
unos credenciales por parte del usuario que demanda acceso.
Autorización (authorization) se refiere a conceder servicios específicos (entre los que se
incluye la “negación de servicio”) a un determinado usuario, basándose para ello en su
propia autenticación, los servicios que está solicitando, y el estado actual del sistema. Es
posible configurar restricciones a la autorización de determinados servicios en función de
aspectos como, por ejemplo, la hora del día, la localización del usuario, o incluso la
posibilidad o imposibilidad de realizar múltiples “logins” de un mismo usuario.
Registro (accounting, a menudo traducido también como contabilidad) se refiere a realizar
un registro del consumo de recursos que realizan los usuarios. El registro suele incluir
aspectos como la identidad del usuario, la naturaleza del servicio prestado, y cuándo
empezó y terminó el uso de dicho servicio.
87. 36. Explique las características de un servidor RADIUS y sus principales
aplicaciones
Es un protocolo de autenticación y autorización para aplicaciones de acceso a la red o movilidad IP.
Utiliza el puerto 1813 UDP para establecer sus conexiones. Una de las características de un servidor
RADIUS es su capacidad de manejar sesiones, notificando cuando comienza y termina una
conexión, así que al usuario se le podrá determinar su consumo y facturar en consecuencia; los
datos se pueden utilizar con propósitos estadísticos.
Características clave de RADIUS son:
Modelo cliente/servidor
Un servidor de acceso de red (NAS) funciona como un cliente de RADIUS. El cliente es responsable
de pasar información de usuario a RADIUS designado servidores y actuar a continuación, en la
respuesta que se devuelve.
Un servidor RADIUS puede actuar como un cliente de proxy para otros servidores RADIUS u otros
tipos de servidores de autenticación.
Seguridad de red
Las transacciones entre el cliente y el servidor RADIUS se autentican mediante el uso de un secreto
compartido, que nunca se envía a través de la red. Además, las contraseñas de usuario se envían
cifradas entre el cliente y servidor RADIUS, para eliminar la posibilidad de que alguien búsqueda
en una red insegura puede determinar la contraseña del usuario.
Mecanismos de autenticación flexible
El servidor RADIUS puede admitir una variedad de métodos para autenticar a un usuario. Cuando
se proporciona con el nombre de usuario y la contraseña original proporcionada por el usuario,
puede admitir PPP PAP, CHAP, inicio de sesión de UNIX y otros mecanismos de autenticación.
Protocolo extensible
Todas las transacciones están formadas por valor de longitud de atributo de longitud variable 3-
tuplas. Se pueden agregar nuevos valores de atributo sin perturbar las implementaciones
existentes del protocolo.
37. Mencione algunos servidores RADIUS conocidos