ACTIVIDAD 7 - ADMINISTRACIÓN DE APLICACIONES WEB

March 28, 2018 | Author: yilman22 | Category: Online Shopping, Web Application, Php, My Sql, World Wide Web


Comments



Description

ACTIVIDAD 7 ADMINISTRACIÓN DE APLICACIONES WEBYADFARY MONTOYA YILMAN FLOREZ ORTIZ CRISTIAN CAMILO PESCADOR GESTIÓN DE REDES DE COMPUTADORES ANDRÉS MAURICIO ORTIZ MORALES Grupo FYP FICHA 230490 SENA CENTRO DE SERVICIOS Y GESTIÓN EMPRESARIAL MEDELLÍN 2012 TABLA DE CONTENIDO INTRODUCCIÓN ........................................................................................................................................... 1 OBJETIVOS ................................................................................................................................................... 3 APLICACIONES WEB MÁS UTILIZADAS EN LOS DIFERENTES ÁMBITOS COMERCIAL, EDUCATIVO, Y TECNOLÓGICO ............................................................................................................................................. 4 TABLA COMPARATIVACON CARACTERÍSTICAS DE APLICACIONES WEB ...................................................... 11 INSTALACIÓN DE SISTEMAS OPERATOVOS 1.1 WINDOWS SERVER 2008 R2 ................................................................................................................. 12 1.2 CentOS ................................................................................................................................................ 16 METODOS Y TÉCNICAS QUE GARANTIZAN LA PROTECCIÓN Y CONFIABILIDAD DE LOS SISTEMAS DE COMPUTO.................................................................................................................................................. 27 MAPA CONCEPTUAL CON TIPOS DE RAID .................................................................................................. 29 IMPLEMENTACIÓN DE RAID 1.1 RAID EN S.O SERVER 2008 R2 ............................................................................................................... 31 1.2 RAID EN S.O CentOS ............................................................................................................................ 40 MAPA CONCEPTUAL DE LENGUAJES DE PROGRAMACIÓN .......................................................................... 45 TABLA COMPARATIVA DE GESTORES DE BASES DE DATOS (GBD) ............................................................... 46 CHEAT SHEET ............................................................................................................................................. 48 INSTALACIÓN Y CONFIGURACIÓN DEL SERVICIO DNS 1.1 S.O WINDOWS SERVER 2008 R2 ........................................................................................................... 49 1.2 S.O CentOS ......................................................................................................................................... 66 INSTALACIÓN Y CONFIGURACIÓN DEL SERVIDOR WEB WAMP ................................................................... 69 INSTALACIÓN DE APACHE,MYSQL Y PHP EN CentOS .................................................................................. 77 INSTALACIÓN DE APLICACIONES WEB 1.1 osCOMERCE ......................................................................................................................................... 78 1.2 MANTIS BUG TRACKER ....................................................................................................................... 84 1.3 SugarCRM ........................................................................................................................................... 86 ACTA .......................................................................................................................................................... 90 CONCLUSIONES ......................................................................................................................................... 94 GLOSARIO ................................................................................................................................................. 95 INTRODUCCIÓN En esta actividad profundizaremos y analizaremos cada una de las necesidades para la implementación de cada una de las aplicaciones web seleccionadas, pero para ello es necesario tener en claro algunos conceptos. Web application o Aplicación web es cualquier aplicación que es accedida vía web por una red como internet o una intranet. En general, el término también se utiliza para designar aquellos programas informáticos que son ejecutados en el entorno del navegador o codificado con algún lenguaje soportado por el navegador; confiándose en el navegador web para que reproduzca la aplicación. Una de las ventajas de las aplicaciones web cargadas desde internet u otra red es la facilidad de mantener y actualizar dichas aplicaciones sin la necesidad de distribuir e instalar un software en, potencialmente, miles de clientes. También la posibilidad de ser ejecutadas en múltiples plataformas. Las aplicaciones web son utilizadas para implementar webmail, ventas online, subastas online, wikis, foros de discusión, weblogs, MMORPGs, redes sociales, juegos, etc. Algunas de sus características son: El usuario puede acceder fácilmente a estas aplicaciones empleando un navegador web (cliente) o similar. Si es por internet, el usuario puede entrar desde cualquier lugar del mundo donde tenga un acceso a internet. Pueden existir miles de usuarios pero una única aplicación instalada en un servidor, por lo tanto se puede actualizar y mantener una única aplicación y todos sus usuarios verán los resultados inmediatamente. La interfaz gráfica de una aplicación web puede ser sumamente completa y funcional, gracias a las variadas tecnologías web que existen. Ventajas: Las aplicaciones web requieren poco o nada de espacio en disco. Además suelen ser livianas. No requieren que los usuarios las actualicen, eso es implementado del lado del servidor. Proveen gran compatibilidad entre plataformas (portabilidad), dado que operan en un navegador web. Desventajas: Las aplicaciones web requieren navegadores web totalmente compatibles para funcionar. Incluso muchas veces requieren las extensiones apropiadas y actualizadas para operar. 1 Muchas veces requieren una conexión a internet para funcionar, si la misma se interrumpe, no es posible utilizarla más. De todas maneras, en ocasiones, pueden ser descargadas e instaladas localmente para su uso offline. Muchas no son de código abierto, perdiendo flexibilidad. La aplicación web desaparece si así lo requiere el desarrollador o si el mismo se extingue. Las aplicaciones tradicionales, en general, pueden seguir usándose en esos casos. El usuario, en general, no tiene libertad de elegir la versión de la aplicación web que quiere usar. Un usuario podría preferir usar una versión más antigua, hasta que la nueva sea probada. En teoría, el desarrollador de la aplicación web puede rastrear cualquier actividad que el usuario haga. Esto puede traer problemas de privacidad. 2 OBJETIVOS Identificar los conceptos básicos necesarios para la implementación de aplicaciones Web. Conocer las arquitecturas más adecuadas para la implementación de aplicaciones Web. Fomentar nuestro proceso de investigación a través del análisis y la profundización de cada uno de los objetivos a alcanzar. 3 PLANTEAMIENTO DEL PROBLEMA Seleccione tres (3) aplicaciones WEB de su interés o basado en una necesidad que observe en su entorno, implemente un servidor web (apache, cherokee, lighttpd, IIS, etc) e instale la aplicación, luego haga las pruebas de funcionamiento respectivas. Aplicaciones web seleccionadas: 1. Sistema de compras Online 2. Sistema de Tickets (mesa de ayuda) 3. Plataforma para la gestión de proyectos (Colaborative) ACTIVIDADES Introducción a las Aplicaciones Web  Realice un documento con normas ICONTEC en el que incluya un análisis detallado de las diferentes aplicaciones web más utilizadas en los diferentes ámbitos comerciales, educativos, tecnológicos, etc. La temática que se debe desarrollar en el documento es la siguiente: Arquitectura Cliente-Servidor Protocolo de Transferencia de Hipertexto Componentes que intervienen en una comunicación con un plataforma web Lenguajes de programación orientados al web Componentes de una Base de Datos Gestores de Bases de Datos APLICACIONES WEB Cualquier proyecto que se quiera desarrollar en Internet, sea comercio electrónico, reservas on-line, registro de usuarios, etc, conlleva el desarrollo de una aplicación web. En definitiva, una aplicación web es una plataforma orientada a automatizar los procesos de servicios que la empresa quiera ofrecer a sus usuarios. Una vez decididos los servicios que se quieren ofrecer a los usuarios, se procede al diseño, desarrollo e implementación de la aplicación web; es decir, a desarrollar un software basado en web, a través del cual el usuario accede a la información alojada en el servidor mediante un navegador de Internet y a través de la interfaz diseñada para solicitar el servicio deseado. Entre las Aplicaciones Web más conocidas se encuentran: AMBITO COMERCIAL Sistema de compras Online: Una tienda en línea (también conocida como tienda online, tienda virtual o tienda electrónica) se refiere a un comercio convencional que usa como medio principal para realizar sus transacciones un sitio web de Internet. 4 Los vendedores de productos y servicios ponen a disposición de sus clientes un sitio web en el cual pueden observar imágenes de los productos, leer sus especificaciones y finalmente adquirirlos. Este servicio le da al cliente rapidez en la compra, la posibilidad de hacerlo desde cualquier lugar y a cualquier hora. Algunas tiendas en línea incluyen dentro de la propia página del producto los manuales de usuario de manera que el cliente puede darse una idea de antemano de lo que está adquiriendo; igualmente incluyen la facilidad para que compradores previos califiquen y evalúen el producto. Típicamente estos productos se pagan mediante tarjeta de crédito y se le envían al cliente por correo, aunque según el país y la tienda pueden haber otras opciones, como Paypal. La inmensa mayoría de tiendas en línea requieren la creación de un usuario en el sitio web a partir de datos como nombre, dirección y correo electrónico. Este último a veces es utilizado como medio de validación. Debido a las amenazas a la privacidad de los datos en Internet y la amenaza de robo de identidad es muy importante hacer compras en línea solamente en sitios reconocidos y de buena reputación. Igualmente es recomendable no proporcionar datos personales ni de tarjeta de crédito si no se está utilizando una conexión segura. APLICACIONES: osCommerce: Tienda online y solución de comercio electrónico que ofrece una amplia gama de funciones y permite a las tiendas online una configuración rápida y sencilla. Está disponible de forma gratuita como una solución basada en Open Source. Desarrollado en php por Harald Ponce de Leon, y requiere de una base de datos MySQL y un servidor Apache. Permite montar muy fácilmente una tienda online. Requisitos del servidor • PHP v4 + (PHP v5 + recomendado) • MySQL v3 + (MySQL v5 + recomendado) Oscommerce consta de dos partes: Parte publica: es la parte que ven los clientes, la tienda virtual. Administración: donde se puede actualizar la tienda virtual, editando productos, ofertas, categorías, idiomas, monedas, consultar los pedidos, los clientes. OsCommerce es un programa que permite crear tiendas virtuales en Internet. Posiblemente sea la aplicación más utilizada hoy en día para montar este tipo de webs. Su principal ventaja es que es software libre, gratuito, de código abierto, distribuido bajo la licencia pública general GNU, y que cuenta con una gran comunidad de usuarios habida cuenta su gran difusión. 5 Requerimientos Los requerimientos de osCommerce se podrían considerar como el "estándar de los requerimientos" de las aplicaciones web de hoy en día. Requiere un servidor de páginas web, preferiblemente Apache, soporte para PHP 4.0 o superior, y una Base de Datos MySQL. El sistema operativo se podría decir que es casi indiferente, ya que se ejecuta indistintamente en plataformas Linux, Unix, BSD, Mac OS X y Windows. La ventaja de soportar toda esta plétora de sistemas es que nos permite empezar instalándolo localmente en un portátil o un PC de sobremesa para hacer todas las pruebas que creamos necesarias con él hasta que decidamos llevarlo a un entorno de producción con conexión real a Internet. Además, prácticamente cualquier empresa que vende servicios de hosting hoy en día ofrece por un buen precio alojamiento con los requerimientos que solicita osCommerce, ya que son los típicos de un sistema englobado dentro de la generación LAMP (Linux Apache MySQL PHP). El número de productos es ilimitado, soporta cualquier idioma que se le quiera implementar. ZenCart: Tienda online libre, fácil de usar, software con cesta de la compra de código abierto. Esta web de comercio electrónico está siendo desarrollada por el grupo de propietarios de tiendas, programadores, diseñadores y consultores que piensan que el diseño de las webs de comercio electrónico puede y debe hacerse de manera diferente. Zen Cart es un Sistema de Comercio electrónico de código libre desarrollado con el asesoramiento de comerciantes y programadores con experiencia en venta de artículos a través de Internet. Utiliza PHP y MySQL y se proporciona gratuitamente bajo licencia GPL. Existen varios foros donde encontrar colaboraciones mejorando las distintas versiones existentes. Estas colaboraciones hacen de Zen Cart una de las aplicaciones más utilizadas para la venta de productos por Internet. Sistema operativo Multiplataforma. AMBITO EDUCATIVO Gestor de proyectos: Los gestores de proyectos nos ayudan a mantener un registro de cada uno de los proyectos de la empresa, clientes, trabajadores, tareas, etc. Es una herramienta imprescindible para el gestor o administrador de los proyectos. APLICACIONES: Mantis Bug Tracker: Popular sistema gratuito de control de errores basado en la web. Está escrito en el lenguaje de scripting PHP y trabaja con MySQL, MS SQL y bases de datos PostgreSQL en un servidor web. MantisBT se puede instalar en Windows, Linux, Mac OS, OS/2, y otros. Casi cualquier navegador web debe ser capaz de funcionar como un cliente. Tiene soporte para varios idiomas 6 REQUISITOS Paquete Versión minima MySQL Sistema operativo PostgreSQL (experimental) PHP Servidor web 7.0 5.1.2 4.1x 5.0.x, 6.0.x Windows, Mac OS, OS / 2, Linux, Solaris, BSD. Probado con 8.0 5.2x Apache 1.3.x, Apache 2.2.x, 1.4.x lighttpd, IIS 6.0 ProjectPier: Software web gratuito, Open-Sorce y que puedes alojar en servidor PHP. Gestión de tareas, proyectos y equipos a través de una interfaz web intuitiva. ProjectPier ayudará a su organización a comunicarse, colaborar y hacer las tareas. Su función es similar al trabajo en grupo comercial o a los productos de gestión de proyectos, pero permite la libertad y la escalabilidad de alojarlo en tu servidor. ProjectPier es una aplicación multiplataforma que está escrito en PHP, Javascript y requiere de una base de datos MySQL. Debido a esto a veces confunde a los recién llegados, por favor, tenga en cuenta que este sitio web (projectpier.org) es la organización de los esfuerzos de los desarrolladores y usuarios ProjectPier. Este sitio web no es "ProjectPier". ProjectPier es un software que descargar e instalar en tu propio servidor web. ProjectPier está libremente disponible y licenciado bajo la licencia GNU Affero General Public License (AGPL), lo que significa que le invitamos a usar y modificar el software, siempre y cuando los cambios se distribuyen bajo las mismas restricciones de la licencia. AMBITO TECNOLÓGICO Sistema de Tickets: El sistema de tickets es una forma sencilla y simple para mantener un registro del estado de fallas, errores o peticiones de mejora a un programa. Dicha herramienta posibilita una comunicación fluida entre los desarrolladores a la vez de sentar las bases para las soluciones. Las mesas de ayuda como tal hay muy pocas en PHP y MySQL, la mayoría estan hechas con CGI o son CRM. APLICACIONES: SugarCRM: Es una aplicación informática de Gestión de las Relaciones con Clientes (CRM). Esto significa que permite administrar todo lo que está relacionado con los clientes en una empresa. Tanto el diseño de las campañas de marketing como el proceso de venta y el servicio post-venta, pueden ser gestionados a través de esta herramienta. Desarrollada en PHP y MySQL, está diseñada para máxima facilidad de despliegue en la administración de manejo de ventas, sales leads, contactos de negocios, y más. SugarCRM es actualmente utilizado por varias grandes empresas como Honeywell, Yahoo, Starbucks, el estado de Oregon, el centro de investigación Ames de la NASA, AXA Rosenberg del grupo AXA y BDO Seidman. 7 La arquitectura de Código Abierto (Open Source) de SugarCRM permite fáciles adaptaciones de los procesos de negocios, lo cual permite construir y mantener relaciones más rentables con los clientes. SugarCRM posibilita el seguimiento de oportunidades, la administración de clientes y contactos, la coordinación de actividades de los equipos de ventas, el monitoreo de los diferentes estados del pipeline de ventas a través de tableros de comando, acceso móvil a la información e integración con Microsoft Outlook y otras aplicaciones de trabajo en grupo. Tiene 3 versiones la comunitaria, la profesional y la entreprise Funciona en servidores windows y Linux Funciona con bases de datos Mysql, Sql Server, Postgresql y Oracle Es desarrollada en el lenguaje de programación PHP Es facil de integrar con otros sistemas ya sea a nivel de base de datos o mediante servicios web. SugarCRM es una aplicacion basada en Apache, php y mysql. Trellis Desk: Completo sistema de mesa de ayuda para instalar en nuestro servidor. Trellis Desk es una aplicación web realizada en PHP que podemos instalar en nuestro servidor y que nos permite brindale a nuestros clientes una completa plataforma de soporte. Para esto cuenta con varias funcionalidades sumamente útiles como: Sistema de tickets Posibilidad de dividir las consultas por departamentos Aviso mediante correo electrónico Sistema de archivos adjuntos en los tickets Base de datos de conocimientos con manejo de categorías y calificación por parte de los usuarios Posibilidad de que los usuarios realicen la consulta a un correo electrónico (por ejemplo [email protected]) y esta consulta sea agregada automáticamente como un ticket al sistema Los requerimientos para instalar Trellis Desk son: PHP 4.3 o superior MySQL 4.1 o superior GD2 con soporte Free Type Trellis Desk es una excelente herramienta con la que podremos brindar una mejor atención a nuestros clientes, es muy fácil de instalar, de utilizar y además 100% gratis. Con Licencia Libre Servidor web al estilo de apache en ambientes wamp, lamp, mamp xamp. S.O Windows, Linux, Mac OS, BSD, Solaris. 8 En los primeros tiempos de la computación cliente-servidor, cada aplicación tenía su propio programa cliente que servía como interfaz de usuario que tenía que ser instalado por separado en cada ordenador personal de cada usuario. El cliente realizaba peticiones a otro programa (el servidor) que le daba respuesta. Una mejora en el servidor, como parte de la aplicación, requería normalmente una mejora de los clientes instalados en cada ordenador personal, añadiendo un coste de soporte técnico y disminuyendo la productividad. Utilizando una aplicación web, estos costes en las actualizaciones disminuyen, sólo se necesita actualizar la aplicación (en el servidor) y al instante los usuarios ya gozan de esas modificaciones. En una aplicación web las aplicaciones web generan dinámicamente una serie de páginas en un formato estándar, como HTML o XHTML, que soportan los navegadores web comunes que cumplen con los estándares. Se utilizan lenguajes interpretados en el lado del cliente, tales como JavaScript, para añadir elementos dinámicos a la interfaz de usuario. Generalmente cada página web en particular se envía al cliente como un documento estático, pero la secuencia de páginas ofrece al usuario una experiencia interactiva. Durante la sesión, el navegador web interpreta y muestra en pantalla las páginas, actuando como cliente para cualquier aplicación web. El navegador Internet Explorer siempre va un paso por detrás y no logra cumplir con los estándares, es por ello que para el buen manejo de una aplicación web se recomienda siempre un buen navegador: Firefox (disponible para los tres sistemas operativos más comunes), u otros navegadores populares dependiendo del Sistema Operativo utilizado: Safari (de Apple Macintosh), o Konqueror (d Linux). Aunque existen muchas variaciones posibles, una aplicación web está normalmente estructurada como una aplicación de tres-capas. En su forma más común, el navegador web ofrece la primera capa, y un motor capaz de usar alguna tecnología web dinámica (ejemplo: PHP, Java Servlets o ASP, ASP.NET, CGI, ColdFusion, embPerl, Python (programming language)) que constituye la capa intermedia. Por último, una base de datos constituye la tercera y última capa. El navegador web manda peticiones a la capa intermedia que ofrece servicios valiéndose de consultas y actualizaciones a la base de datos y a su vez proporciona una interfaz de usuario. La arquitectura de una aplicación define como se organizan los distintos módulos que la componen. En una aplicación web se suelen distinguir tres niveles: interfaz de usuario, lógica de negocio y datos. 9 Niveles de una aplicación Web El nivel de interfaz de usuario está compuesto por las páginas HTML que el usuario solicita a un servidor web y que visualiza en un cliente web (normalmente, un navegador web). El nivel de lógica de negocio está compuesto por los módulos que implementan la lógica de la aplicación y que se ejecutan en un servidor de aplicaciones. El nivel de datos está compuesto por los datos, normalmente gestionados por un sistema de gestión de bases de datos (servidor de datos), que maneja la aplicación web. Servidor de aplicaciones: Un servidor de aplicaciones es un servidor web con capacidad de procesamiento, por lo que suele ser a la vez servidor web y servidor de lógica de negocio. Procesamiento en el servidor de datos Integridad referencial. Procedimientos almacenados. Procesamiento en el servidor de aplicaciones: Lenguaje (HTML, XML, ASP, PHP, JSP, CGI….). La creación y la implantación de aplicaciones web deberían ser tan sencillas como su uso pues ofrece entornos de desarrollo LAMP, WAMP y XAMP o Gestores (MySQL, Oracle…). Procesamiento en el cliente Web JavaScript Activex (Microsoft) Flash (Macromedia) 10  Realice una tabla comparativa, con base en el análisis realizado en el punto anterior; en ella debe quedar consignado cuales son las características más importantes y relevantes de cada una de las plataformas web. La tabla debe de identificar tan claramente las características de los aplicativos Web, de tal forma que permita fácilmente determinar cuál de ellas sería más viable implementar en cualquier escenario que se plantee en un entorno productivo. APLICACIÓN TIPO DE LICENCIA SISTEMA OPERATIVO LENGUAJE DE PROGRAMACIÓN GESTOR DE BASE DE DATOS SERVIDOR WEB ARQUITECTURA osCommerce Mantis Bug Tracker GNU GNU Linux, Unix, BSD, Mac OS X y Windows Window, Linux, Mac OS, OS/2, Solaris, BSD. PHP MySQL Apache Open Source PHP Versión mínima 5.1.2 SugarCRM GUI Windows, Linux PHP 5.1.6 ZenCart ProjectPier Trellis Desk GPL GNU GNU Multiplatafor ma Multiplatafor ma S.O Windows, Linux, Mac OS, BSD, Solaris. PHP PHP, Javascript PHP 4.3 superior MySQL4.1.x ó 6.0.x, MS SQL PostgreSQL (experiment al) MySQL v.5.0.45, Sql Server, Postgresql y Oracle MySQL Apache 1.3.x, 2.2.x, IIS 6.0 Open Source Apache versión 2.2.3 Código Abierto (Open Source) Open Source Apache o MySQL 4.1 o superior Apache Open Source Open Source Instalación y configuración de sistemas operativos y configuración de los sistemas de tolerancia contra fallos por hardware o fallos lógicos de red  Realice la instalación de dos sistemas operativos que usted desee, recuerde que uno de ellos debe ser Microsoft Windows Server 2008 y el otro puede ser cualquier distribución GNU/Linux, es importante que tenga en cuenta los requerimientos de instalación de cada uno de ellos. SISTEMA OPERATIVO Windows Server 2008 R2 REQUERIMIENTOS MÍNIMOS Procesador 1 GHz RAM: 512 MB Disco Duro: 8 GB Video: Súper VGA Procesador 800 GHz RAM: 128 MB Disco Duro: 1.2 GB Video: VGA REQUISITOS RECOMENDADOS Procesador 2 GHz RAM: 1 GB Disco Duro: 40 GB Video: Súper VGA Procesador 1 GHz RAM: 512 MB Disco Duro: 2 GB Video: VGA CentOS 11 Instalación Windows Server 2008 R2 Elegimos el idioma y la configuración regional. 12 Vista de la pantalla inicial. Debemos aceptar los términos de la licencia. 13 Elegimos el modo de instalación. Elegimos el disco en el que queremos realizar la instalación 14 Esperamos mientras se realiza el proceso de instalación. Creamos el password del usuario administrador local. (Recordar que debe ser una contraseña segura de 8 caracteres: con números, letras, símbolos, mayúsculas y minúsculas. 15 Instalación del S.O CentOS Primero elegimos que tipo de instalación vamos a realizar, en modo gráfico (opción 1) o modo consola (opción 2), en nuestro caso elegiremos la opción 1. Disco de prueba (Puede omitir este o seleccione la prueba los medios de comunicación, si quieres poner a prueba los medios de instalación antes de la instalación) 16 Instalador gráfico de CentOS Inicia Elegimos el idioma en el que vamos a realizar la instalación, la realizaremos en español. 17 Seleccionamos la distribución del teclado, en nuestro caso español. Seleccionamos el tipo de almacenamiento básico, la primera opción indica que vamos a realizar la instalación en un disco local, si elegimos la 2ª opción sería si tuviésemos un almacenamiento externos tipo SAN, en nuestro caso elegimos la 1ª opción. 18 En esta pantalla nos indica que quiere reinicializar el disco al ser nuevo, como no hay datos se puede hacer sin riesgo de pérdida de información, pulsamos reinicializar todo. Ahora indicamos el nombre de host que tendrá la computadora en la red. 19 Seleccionamos la zona horaria. Ahora nos solicita la contraseña de root 20 Elegimos el tipo de Particionamiento, en nuestro caso vamos a usar todo el espacio. Escribimos los cambios en el disco, al hacer esto formateará la unidad. Este paso es importante, por defecto CentOS realiza una instalación mínima, como queremos que la instalación sea con entorno gráfico elegimos la opción Desktop. 21 Comienza el proceso de instalación, tardará un poco en función de lo que hayamos elegido a instalar. 22 Una vez terminado el proceso de instalación, reiniciamos. Al reiniciar después de realizar la instalación nos aparece la ventana de Arranque de CentOS. Pantalla de bienvenida 23 Aceptamos el acuerdo de licencia. Creamos un usuario para uso no administrativo. 24 Ingresamos la hora del sistema nuevamente. En la última opción nos solicita habilitar o no Kdump, Kdump es un mecanismo de volcado de fallos del kernel en caso de fallo, se encargará de recopilar la información del sistema para poder evaluar el fallo, en mi caso no voy a habilitarlo, 25 Vemos la pantalla de inicio de Centos 6.2. Una vez cargue ingresamos como usuario creado pasos atrás, ingresamos la contraseña y podemos ver el correcto funcionamiento del S.O CentOs modo gráfico (Desktop). 26  Investigue sobre los diferentes métodos y/o técnicas para garantizar la protección y confiabilidad de los sistemas de cómputo. Realice un breve informe donde describa detalladamente cada una de las características de estos métodos de tolerancia a fallos por hardware y fallos lógicos de red. MÉTODOS Y TECNICAS QUE GARANTIZAN LA PROTECCIÓN Y CONFIABILIDAD DE LOS SISTEMAS DE COMPUTO Prevención y tolerancia a fallos: Hay dos formas de aumentar la fiabilidad de un sistema: Prevención de fallos: se trata de evitar que se introduzcan fallos en el sistema antes de que entre en funcionamiento. Tolerancia de fallos: se trata de conseguir que el sistema continúa funcionando aunque se produzcan fallos. La prevención de fallos se realiza en dos etapas: Evitación de fallos: Se trata de impedir que se introduzcan fallos durante la construcción del sistema. Eliminación de fallos: Consiste en encontrar y eliminar los fallos que se producen en el sistema una vez construido. Técnicas para evitar fallos de Hardware: Utilización de componentes fiables Técnicas rigurosas de montaje de subsistemas Apantallamiento de hardware Técnicas para evitar fallos de Software: Especificación de requisitos rigurosa o formal Métodos de diseño comprobados Lenguajes con abstracción de datos y modularidad Utilización de entornos de desarrollo con computador (CASE) adecuados para gestionar los componentes Técnicas de eliminación de fallos Comprobaciones Revisiones de diseño Verificación de programas Inspección de código Pruebas (test): Son necesarias, pero tienen problemas: No pueden ser nunca exhaustivas Solo sirven para mostrar que hay errores, no que no los ha A menudo es imposible reproducir las condiciones reales Los errores de especificación no se detectan 27 Limitaciones de la prevención de fallos: Los componentes de hardware fallan, a pesar de las técnicas de prevención y esta es insuficiente si: La frecuencia o la duración de las reparaciones es inaceptable. No se puede detener el sistema para efectuar operaciones de mantenimiento Grados de tolerancia de fallos: Tolerancia completa: (fail operational) El sistema sigue funcionando, al menos durante un tiempo, sin perder funcionalidad ni prestaciones Degradación aceptable: (fail sft, graceful degradation) El sistemas sigue funcionando con una pérdida parcial de funcionalidad o prestaciones hasta la reparación dl fallos. Parada segura: (fail safe) El sistema se detiene en un estado que asegura la integridad del entorno hasta que se repare el fallo Redundancia: La tolerancia de fallos se basa en redundancia Se utilizan componentes adicionales para detectar los fallos y recuperar el comportamiento correcto Esto aumenta la complejidad del sistema y puede introducir fallos adicionales Es mejor separar los componentes tolerantes del resto del sistema Redundancia en hardware Redundancia estática: Los componentes redundantes están siempre activos y se utilizan para enmascarar los fallos. Redundancia dinámica: Los componentes redundantes se activan cuando se detectan fallos y se basa en la detección y posterior recuperación de los fallos ejemplo: sumas de comprobación, bits de paridad. Tolerancia a fallos de hardware: Técnicas para corregir y detectar errores de diseño. Redundancia estática: programación con N versiones Redundancia dinámica: Dos etapas. Detección y recuperación de fallos Bloques de recuperación Proporciona recuperación hacia atrás Excepciones Proporcionan recuperación hacia adelante Redundancia dinámica en software: Esta tiene cuatro etapas: 1. detención de errores No se puede hacer nada hasta que se detecta un error. 2. evaluación y confinamiento de los daños Averiguar hasta donde ha llegado la información errónea (diagnosis). 3. recuperación de errores Llevar el sistema a un estado correcto, desde el que pueda seguir funcionando tal vez con funcionalidad parcial). 4. reparación de fallos Aunque el sistema funcione, el fallo puede persistir y hay que repararlo. 28  Realice un mapa conceptual con los diferentes tipos de arreglos RAID. Consigne en este mapa conceptual las características y diferencias más relevantes de cada uno de los niveles; el mapa conceptual deberá de contener imágenes, gráficos y escritos de autoría de cada aprendiz.  Lleve a cabo la implementación de los sistemas de redundancia contra fallos de hardware y errores lógicos de red que más se adapten para dar solución a las necesidades de protección de datos de las plataformas web planteadas anteriormente. Documente todo el proceso de implementación en los dos Sistemas Operativos y los sistemas de tolerancia a fallos escogidos para el proyecto; dicha documentación deberá contener imágenes, gráficos o videos creados por cada aprendiz. IMPLEMENTACIÓN RAID (5) Ventajas de RAID RAID proporciona tolerancia a fallos, mejora el rendimiento del sistema y aumenta la productividad. Tolerancia a fallos: RAID protege contra la pérdida de datos y proporciona recuperación de datos en tiempo real con acceso interrumpido en caso de que falle un disco. 29 Mejora del Rendimiento/ Velocidad: Una matriz consta de dos o más discos duros que ante el sistema principal funcionan como un único dispositivo. Los datos se desglosan en fragmentos que se escriben en varias unidades de forma simultánea. Este proceso, denominado fraccionamiento de datos, incrementa notablemente la capacidad de almacenamiento y ofrece mejoras significativas de rendimiento. RAID permite a varias unidades trabajar en paralelo, lo que aumenta el rendimiento del sistema. Mayor Fiabilidad: Las soluciones RAID emplean dos técnicas para aumentar la fiabilidad: la redundancia de datos y la información de paridad. La redundancia implica el almacenamiento de los mismos datos en más de una unidad. De esta forma, si falla una unidad, todos los datos quedan disponibles en la otra unidad, de inmediato. Aunque este planteamiento es muy eficaz, también es muy costoso, ya que exige el uso de conjuntos de unidades duplicados. El segundo planteamiento para la protección de los datos consiste en el uso de la paridad de datos. La paridad utiliza un algoritmo matemático para describir los datos de una unidad. Cuando se produce un fallo en una unidad se leen los datos correctos que quedan y se comparan con los datos de paridad almacenados por la matriz. El uso de la paridad para obtener fiabilidad de los datos es menos costoso que la redundancia, ya que no requiere el uso de un conjunto redundante de unidades de disco. Alta Disponibilidad: RAID aumenta el tiempo de funcionamiento y la disponibilidad de la red. Para evitar los tiempos de inactividad, debe ser posible acceder a los datos en cualquier momento. La disponibilidad de los datos se divide en dos aspectos: la integridad de los datos y tolerancia a fallos. La integridad de los datos se refiere a la capacidad para obtener los datos adecuados en cualquier momento. La mayoría de las soluciones RAID ofrecen reparación dinámica de sectores, que repara sobre la marcha los sectores defectuosos debidos a errores de software. La tolerancia a fallos, el segundo aspecto de la disponibilidad, es la capacidad para mantener los datos disponibles en caso de que se produzcan uno o varios fallos en el sistema RAID 5: Acceso independiente con paridad distribuida. Este array ofrece tolerancia al fallo, pero además, optimiza la capacidad del sistema permitiendo una utilización de hasta el 80% de la capacidad del conjunto de discos. Esto lo consigue mediante el cálculo de información de paridad y su almacenamiento alternativo por bloques en todos los discos del conjunto. La información del usuario se 30 graba por bloques y de forma alternativa en todos ellos. De esta manera, si cualquiera de las unidades de disco falla, se puede recuperar la información entiempo real, sobre la marcha, mediante una simple operación de lógica de O exclusivo, sin que el servidor deje de funcionar .Así pues, para evitar el problema de cuello de botella que plantea el RAID 4 con el disco de comprobación, el RAID 5 no asigna un disco específico a esta misión sino que asigna un bloque alternativo de cada disco a esta misión de escritura. Al distribuir la función de comprobación entre todos los discos, se disminuye el cuello de botella y con una cantidad suficiente de discos puede llegar a eliminarse completamente, proporcionando una velocidad equivalente a un RAID 0.RAID 5 es el nivel de RAID más eficaz y el de uso preferente para las aplicaciones de servidor básicas para la empresa. Comparado con otros niveles RAID con tolerancia a fallos, RAID 5 ofrece la mejor relación rendimiento-coste en un entorno con varias unidades. Gracias a la combinación del fraccionamiento de datos y la paridad como método para recuperar los datos en caso de fallo, constituye una solución ideal para los entornos de servidores en los que gran parte del E/S es aleatoria, la protección y disponibilidad de los datos es fundamental y el coste es un factor importante. Este nivel de array es especialmente indicado para trabajar con sistemas operativos multiusuarios. Se necesita un mínimo de tres unidades para implementar una solución RAID 5. RAID 5 es la solución más económica por megabyte, que ofrece la mejor relación de precio, rendimiento y disponibilidad para la mayoría de los servidores. RAID 5 EN WINDOWS 2008 R2 Una vez situados en el VirtualBox nos posicionamos sobre la máquina a la cual implementaremos RAID y damos click en configuración. Vamos a la opción Almacenamiento, agregar conexión y damos click en la opción agregar disco duro. 31 Seleccionamos la opción Crear nuevo disco. Seleccionamos el tipo de disco a crear, damos click en siguiente. 32 Aquí de veremos elegir el tipo de almacenamiento que tendrá nuestro disco duro, damos click en siguiente. En estos campos le daremos nombre y la capacidad (en megas) que poseerá nuestro disco, damos click en siguiente. 33 Y por último veremos un resumen de los parámetros previamente configurados en nuestro disco, damos click en Crear. Iniciamos la máquina virtual en este caso Windows Server R2. 34 Damos click en inicio, administrative tools y seleccionamos server manager. Desplegamos la pestaña storage en la parte izquierda de la pantalla, y seleccionamos disk management, luego aparecerá la opción de inicializar los discos, damos click en OK. 35 Ahora procederemos a iniciar RAID 5, para ello damos click derecho en cualquiera de los discos recién creados. Ahora se iniciara el asistente de configuración de RAID, click en Next. 36 En la siguiente ventana debemos agregar las unidades que se asociaran a nuestro RAID 5, Agregamos los 2 discos restantes. Aquí se elige la denominación que tendrán los discos asociados al RAID 5 (cabe recalcar que el S.O reconoce los tres discos físicos como una sola unidad de almacenamiento), click en Next. 37 En esta ventana daremos formato a nuestra unidad de almacenamiento, en este caso elegimos el sistema de archivos NTFS, el siguiente parámetro se recomienda dejarlo por defecto (Default), y agregamos una etiqueta, click en Next. Ahora veremos un resumen de la configuración que se realizó previamente, click en Finish. 38 En esta ventana damos click en yes. Ahora podemos observar nuestro RAID 5 perfectamente funcional en la parte de arriba de la ventana. 39 RAID 5 EN CenTOS Estando en el VirtualBox posicionamos sobre Centos que en este caso es a quien vamos a implementarle el arreglo RAID y damos click sobre la opción configuración. En la opción Almacenamiento y damos click en la opción agregar disco duro. Aparece una ventana damos click en Crear nuevo disco. 40 Seleccionamos el tipo de disco que vamos a crear y damos click en siguiente. Elegimos el tipo de almacenamiento a utilizar, en este caso será dinámico. 41 Le damos un nombre y el tamaño al disco duro, en este caso voy a usar solo 2GB. Nos muestra el resumen de la instalación del disco y pulsamos el botón Crear una vez verifiquemos que los parámetros si son correctos. 42 Repetimos el proceso para la creación de los 2 discos faltantes y procedemos a la verificación de los discos creados. Iniciamos CentOs para crear nuestro conjunto RAID, para ello desplegamos el menú Aplicaciones > Herramientas del sistema > click sobre Utilidad de discos. 43 Nos posicionamos sobre cada uno de los discos ya creados vamos al menú Archivo > Crear > click sobre Cinjunto Raid. Configuramos el nivel del RAID en este caso (RAID-5), el nombre del conjunto (fyp), tamaño de la división que corresponde al tamaño mínimo de las divisiones de bloques del RAID y activamos la casilla que se encuentra del lado izquierdo del disco al que se está configurando y pulsamos el botón Crear. Repetimos el mismo proceso con los otros 2 discos faltantes. 44 En esta imagen podemos ver nuestro RAID 5 funcional. Instalación de plataformas para Servidores Web, Bases de Datos y Soporte para lenguajes de programación Web.  Investigue sobre los diferentes lenguajes de programación Web y realice un mapa conceptual donde determine las características más básicas e importantes de cada uno de estos lenguajes de programación Web. 45  Investigue sobre los diferentes gestores de bases de datos y realice una tabla comparativa donde se consignen las características y diferencias más relevantes entre cada uno de ellos. GESTOR Microsoft SQL Server Escalabilidad, estabilidad y seguridad, soporta procedimientos almacenados, Soporta replicación de bases de datos, Incluye un potente entorno gráfico de administración que permite el uso de comandos DDL y DML, denominado “Enterprise Manager” Permite administrar información de otros servidores, Soporte de transacciones. MYSQL Oracle PostgreSQL CARACTERISTICAS Está escrito en C y C++, Trabaja bajo diferentes plataformas, cuenta con un sistema de privilegios y contraseñas. Es una herramienta de administración grafica, intuitiva y fácil de usar, Analiza datos y notifica al usuario posibles recomendaciones de aumento del rendimiento en el manejo de los datos almacenado Soporta procedimientos almacenados, Posee soporte para vistas, Puede operar en diversas plataformas, puede usarse, modificarse y distribuirse libremente para cualquier propósito. VENTAJAS Es open source, posee un buen control de acceso de usuarios y seguridad en los datos, permite la replicación de bases de datos trabajando con servidores MySQL maestros y esclavos. Es el motor de bases de datos relacional más usado a nivel mundial, Puede ejecutarse en todas las plataformas, Permite el uso de particiones para la mejora de la eficiencia, La principal desventaja de Oracle es su precio en el mercado, el cual es excesivamente alto. Software de código abierto (Open source), Posee manejo y control de transacciones para asegurar la consistencia de los datos, Soporta replicación de bases de datos asíncrona, Posee una gran cantidad de almacenamiento. DESVENTAJAS No es multiplataforma, Solo está disponible para S.O de Microsoft (Windows), El costo de sus licencias es muy alto. Los privilegios para una tabla no se eliminan automáticamente cuando se borra una tabla. Debe usarse explícitamente un comando REVOKE para quitar los privilegios de una tabla. Consume más recursos de Hardware en comparación con MYSQL, Debido a su funcionamiento avanzado puede llegar a ser muy complejo para usuarios 46 47  Investigue acerca de buenas prácticas de seguridad para servidores Web y motores de bases de datos; una vez realizada la investigación diseñe un 'cheat sheet' (tabla trampa/pastel) donde se resuman a modo de tips las estrategias y/o procedimientos utilizadas para llevar a cabo el aseguramiento de estos dos componentes. CHEAT SHEET TIPS PARA TENER UNA BUENA SEGURIDAD EN LOS SERVIDORES WEB 1 2 3 4 5 6 7 8 LIMITAR EL TAMAÑO MAXIMO DE PETICIONES RESTRINGIR EL ACCESO POR IP OCULTAR LA VERSION Y OTRA INFORMACION DELICADA EL SERVIDOR DEBE FUNCIONAR BAJO SU PROPIA CUENTA Y GRUPO DE USUARIO ENMASCARAR LA IDENTIDAD DEL SERVIDOR DESABILITAR TODOS LOS PROTOCOLOS QUE NO SEAN NECESARIO DESACTIVAR LAS OBSIONES PARA EXPLORAR DIRECTORIOS REVISAR PERIODICAMENTE LOS FICHEROS DE LOGGINS DE LOS SERVIDORES Y EL FIREWALL TIPS PARA TENER UNA BUENA SEGURIDAD EN LOS MOTORES BASE DE DATOS 1 2 3 4 5 6 7 8 USAR LO MENOS POSIBLE EL USUARIO SA CADA UNO DEBE TENER SU PROPIO USUARIO DESABILITAR EL USUARIO ADMININISTRADOR YA QUE CUALQUIERA EN EL DOMINIO CON ACCESO PUEDE ACCEDER A LOS MOTORES BASE DE DATOS EL SERVICIO QUE SUBE AL MOTOR BASE DE DATOS SE INICIEN MEDIANTE LA CUENTA LOCAL DE SISTEMA Y NO CO EL ADMINISTRADOR DE L EQUIPO VERIFICAR EL LOG DE ERRORES PARA VER LOS INTENTOS FALLIDOSDE LOGIN, SI ES POSIBLE HABILITAR EL ERROR #229. UTILIZAR PROCEDIMIENTOSALMACENADOS PARA QUE NADIE ACCEDA A LAS TABLAS DIRECTAMENTE CONFIGURAR UN SISTEMA DE ARCHIVOS SEGURO AISLAR SEVICIOS ASIGNAR UNA CONTRASEÑA SEGURA Instalación, Configuración y Administración de Aplicaciones WEB PLATFORMAS ELEGIDAS Oscommerce (Compras en Línea) MantisBT (Gestión de Proyectos) SugarCRM (Atención por tickets) 48 INSTALACIÓN Y CONFIGURACIÓ DEL SERVICIO DNS S.O Windows Server 2008 R2 1. Start > Administrative Tools > Server Manager. 2. Seleccionamos el nodo de Roles y pulsamos en el enlace Add Roles. 49 3. En la siguiente ventana podemos seleccionar todos los roles que queramos instalar en el servidor. En este caso, simplemente haremos clic en “Servidor DNS”. 4. En esta ventana se muestra una introducción acerca del servidor DNS y a la vez podemos consultar información el mismo haciendo clic en alguno de los enlaces que nos llevarán a la documentación de la Web de Microsoft. Hacemos click en Next. 50 5. Le damos al botón Install (Instalar) en la página de confirmación. 6. El sistema procede a la instalación. 51 7. Finalmente se muestra una ventana con los “Resultados de la instalación” que si todo ha ido bien mostrará el mensaje “Instalación correcta”. 8. A partir de ahora, el servidor de DNS podrá ser accedido a través de las herramientas administrativas en: Start (Inicio) > Administrative tools (Herramientas Administrativas) > DNS. 52 9. Procedemos a la configuración de las zonas, primero configuraremos la zona directa para ello seguimos los siguientes pasos. 10. Click en Next. 53 11. El tipo de zona, aquí es la principal. 12. Elegimos la opción de zona directa. 54 13. Nombre de la Zona. 14. Siguiendo con la creación de la zona le decimos que cree el archivo de configuración. 55 15. Como se actualizarán los registros. 16. Resumen de configuración, si es correcto damos click en Next. 56 17. Ahora nos dispondremos a crear los tipos de registros, click derecho sobre la zona que creamos y seleccionamos New Host (“Host Nuevo) (A)”. 18. Configuramos el alias que asociaremos al nombre de dominio. 57 19. Ingresamos el alias para que al digitar www este nos redirija a un host previamente vinculado al servicio DNS. 20. Ingresamos al directorio SERVER. 58 21. Luego abrimos la siguiente carpeta. 22. Seguimos hasta llegar al host que se quiere asociar con el alias y pulsamos OK. 59 23. En este caso seleccionaremos el host server. Pulsamos OK. 24. Una vez seleccionado el host damos click en OK. 60 25. Zona Directa. 26. Creamos la zona Inversa. 27. Click en Next. 61 28. Al igual que con la zona directa, elegimos el tipo de zona, en este caso principal. 29. Qué tipo de zona, elegimos IPv4. 62 30. Introducimos el ID de red. 31. Siguiendo con la creación de la zona le decimos que cree el archivo de configuración de la misma. 63 32. Como se actualizarán los registros. Click en Next. 33. Resumen de configuración de la zona inversa, si es correcta damos click en Finish. 64 34. Zona inversa. 35. Reiniciamos el servicio. 65 S.O CentOS 2. Para empezar, procedemos a instalar el servidor DNS que se necesitará más adelante. Para ello accedemos a la consola y nos logueamos como root, y allí instalamos el paquete bind. # yum install bind Los archivos de configuración que modificaremos para nuestro DNS, se encuentran en el directorio “/etc/bind”, así que entraremos a él con el comando “cd”. cd /etc/bind 2. Lo primero que editaremos será el archivo “named.conf”, como es un documento en texto plano, lo editamos con el comando “nano” # nano /etc/bind/named.conf Aquí se define la zona para nuestro dominio y también la resolución inversa para nuestra IP. Al final nuestro archivo “named .conf” quedaría así: 66 3. Ahora pasemos a crear los archivos a los que estamos llamando en nuestro named.conf. Creamos la zona del dominio. Debemos de modificar este archivo, dependiendo de nuestras necesidades pues este archivo no existe originalmente, entonces para ello procedemos a copiar todas las líneas pertinentes. # nano /var/named/fyp.com Este archivo tendrá lo siguiente: $TTL: especifica el tiempo de vida de todos los registros en el archivo, especifica cuanto tiempo pueden tenerlo en cache otros servidores. @ IN SOA…………… IN: es una clase de data (Internet) SOA: indica Start of Authority, El dato después de SOA es el servidor primario, le dice a la red que este server es el más adecuado para buscar información acerca del dominio, importante poner el punto después del nombre del servidor. El siguiente dato es la dirección de correo electrónico del responsable del servidor. 100 ; serial 1H ; actualizar después de una horas 1H ; tiempo que debe esperar antes de intentar de nuevo 1W ; expire después de una semana 1D ; Negative caching TTL, es el tiempo que se debe almacenar en cache una respuesta negativa. @ IN NS ns1.ejemplo.com. Los registros NS definen los servidores de nombres de dominio para nuestra zona. ns1 IN A 192.168.10.2 A = address, relaciona una dirección IP con un nombre de servidor. 67 Ahora creamos el archivo para la resolución inversa de nuestra IP. # nano /var/named/fyp.com.inversa El archivo no existe, así de que se copia lo siguiente: PTR: Este registro me permite traducir la IP correspondiente a un host que este dentro de la zona, los registros PTR solo deben ir dentro de zonas inversas. Tenga cuidado al manipular las zonas, siempre debe tener claro cuáles son las inversas y cuáles son las directas. 4. Luego procedemos a editar el archivo que se encuentra en /etc/resolv.conf, allí colocamos el dominio principal y la dirección IP que estamos usando para traducir los dominios. # nano /etc/resolv.conf 5. Luego reiniciamos el servicio DNS con el comando “service named restart”. 6. Hacemos las pruebas de resolución de nombres verificando si el servidor está traduciendo los dominios, para ello procedemos a colocar el comando “nslookup”. 68 INSTALACIÓN DEL SERVIDOR WEB WAMP WampServer 2.1 reúne en un solo paquete las herramientas necesarias para poder realizar desarrollos de páginas o sitios WEB, WampServer son la iniciales de Windows, Apache, MySQL y PHP. WampServer 2.1e 32 bits incluye en el instalador estas tres herramientas. 1. Una vez tenemos descargado el software WampServer iniciamos la instalación ejecutando el archivo WampServer2.1e-x32.exe. 2. La primera ventana que obtenemos es la de bienvenida al Setup Wizard de la instalación, pulsamos el botón Next para continuar. 69 3. La siguiente ventana nos muestra el acuerdo de licencia, seleccionamos I accept the agreement y botón Next para continuar. 4. En esta ventana tenemos que determinar en qué directorio vamos realizar la instalación, por defecto nos muestra una ruta pero si deseamos instalar en otra localización pulsamos el botón Browse, una vez tengamos el directorio destino decidido pulsamos el botón Next para continuar. 70 5. En esta ventana seleccionar los iconos que queremos que nos cree el instalador automáticamente, icono en el inicio rápido y/o icono en el escritorio (Desktop), pulsamos el botón Next para continuar. 6. Finalmente obtenemos una ventana con el resumen de las tareas que va a realizar el Winzard de WampServer 2.1e, pulsamos el botón Install y la instalación comenzará. 71 Durante el proceso de instalación aparece el explorador de archivos para que seleccionemos el navegador que vamos a utilizar, por defecto utilizará el Internet Explorer de Microsoft, si deseamos utilizar otro debemos buscar el ejecutable y pulsamos el botón Abrir. 72 7. Si en el PC o servidor donde estamos instalando tenemos un servidor de correo (servidor SMTP) introduciremos el nombre del servidor de correo en campo SMTP y una cuenta valida en el campo Email, esto será usado por la función mail de PHP como remitente para correos de salida. Si no sabemos o no estamos seguros de tener un servidor de correo dejar los valores que aparecen por defecto. Pulsamos el botón Next para continuar. 73 Ya hemos terminado la instalación, si dejamos chequeado Launch WampServer 2 now WampServer 2.1e arrancará una vez pulsemos el botón Finish. Administración del Wampserver 2.1e WampSever incluye un menú emergente (panel de control) para poder realizar las tareas de administración, para acceder a él ponemos el puntero del ratón sobre el icono de la barra de notificaciones y pulsamos el botón izquierdo del ratón, aparece el panel de administración de WampServer que vemos en la siguiente imagen. 74 Desde aquí se administra todo el entorno de trabajo, podemos arrancar, parar los servicios de Apache y MySQL, podemos administrar MySQL con phpMyAdmin y muchas más tareas específicas de cada componente. 8. Una vez estemos dentro del directorio www agregamos las carpetas contenedoras de las aplicaciones a implementar. CONFIGURACIÓN DEL SERVIDOR WEB EN WINDOWS SERVER 2008 R2 1. 1. Nos ubicamos en Apache y seleccionamos httpd.conf que es el archivo de configuración de nuestro servidor Web. 75 2. Una vez adentro del él damos doble click sobre el archivo para configurar el siguiente parámetro descomentándolo. 3. Configuración del hosting virtual. Para ello ingresamos con la ruta C:\ProgramFiles\wamp\bin\apache\Apache2.2.2.1\conf\extra 76 INSTALACIÓN Y CONFIGURACIÓN DE UN SERVIDOR WEB EN CENTOS 1. Instalamos el servidor web (Apache) con el comando instalación se realizó correctamente debe terminar así: 2. Editamos y modificamos # nano /etc/httpd/conf/httpd.conf. Descomentamos NamevirtualHost *:80 Con Ctrl + W buscamos la línea NameVirtualHost o section 3, la descomentamos para activar la creación de los host virtuales. el # yum install httpd. Si la archivo de configuración 3. Reiniciamos el servicio con el comando # service httpd restart PHP Y MySQL Comenzamos con descargar el gestor de bases de datos con el comando: # yum –y install mysql.i686 Y para el PHP usamos: # yum –y install php.i686 Además de estos dos paquetes también debemos descargar una extensión de PHP para que se integre con MYSQL esto lo hacemos con: # yum –y install php-mysql.i686 77 INSTALACIÓN APLICACIONES WEB 1. Después de hacer la descarga de cada una de las aplicaciones desde la página oficial procedemos a descomprimir los paquetes (click derecho sobre el archivo y elegimos opción extraer aquí) 2. Abrimos oscomerce 2.3.1 y cambiamos el nombre catalogo por tienda. 3. Copiamos las carpetas extras y tienda al directorio var/www/html, dentro de esta carpeta se debió haber creado previamente el directorio que definimos como document root en el hosting virtual (Apache). 78 4. Una vez terminado el proceso procedemos a abrir el explorador de mayor preferencia y digitamos www.fyp.com/install. La aplicación para su correcta instalación, requiere que otorguemos permisos de lectura, escritura y ejecución (777). Esto se hace ingresando los comandos chmod 777 /var/www/html/tienda/includes/configure.php chmod 777 /var/www/html/tienda/admin/includes/configure.php 79 5. Luego debemos configurar el acceso a la base de datos, ingresar la dirección del servidor, el usuario, la contraseña y el nombre de la base de datos. 6. En este punto ya tenemos la estructura de la base de datos en nuestro servidor SQL. Ahora debemos indicarle a instalador cual es la ruta en donde se encuentran almacenados los archivos de osCommerce y desde que dirección web será posible acceder a ellos, por lo regular esta configuración es detectada por el instalador de osCommerce y no tendremos que modificar nada en este paso, veamos: 80 7. Ahora debemos configurar los parámetros de presentación de la administración de la tienda, debemos ingresar en la primera casilla el nombre de la tienda, luego el nombre de el dueño de la tienda, un correo electrónico, el nombre de usuario del administrador, el password del administrador y el nombre del directorio de administración, podría ser buen momento para cambiarlo y mejorar la seguridad. Este es el último paso de la instalación asistida, una vez completemos este paso la instalación quedara finalizada. Una vez terminemos este paso podremos hacer algunas operaciones más para mejorar la seguridad y la funcionalidad del sitio, aquí unos consejos. 1. Borrar el directorio de instalación /install 2. Renombrar la carpeta de administración /admin 3. Cambiar los permisos de los archivos admin/includes/configure.php a 664 includes/configure.php y 81 8. Podemos ver el catalogo y las herramientas administrativas, damos click sobre catalog y aparecerá nuestra tienda ya lista ahora si vamos a administración tenemos el panel de administración. 82 9. Desde aquí podemos administrar nuestra tienda. 83 Mantis Bug Tracker 1. Descargamos Mantis Bug Tracker http://www.mantisbt.org/download.php desde la siguiente ubicación. 2. Extraemos el contenido del archivo y obtendremos una carpeta llamada mantisbt1.2.10. 3. Movemos la carpeta mantisbt al directorio de contenido de Apache /var/www/html/ 4. Editamos el archivo /etc/httpd/conf/httpd.conf y agregamos las siguientes líneas al final. <Directory /var/www/html/mantisbt> AllowOverride All Options FollowSymlinks Order allow,deny Allow from all DirectoryIndex index.html index.php </Directory> 5. Iniciamos el servidor Apache. service httpd start 6. Ingresamos con el navegador a la dirección: gp.fyp.com/admin/Install.php 84 7. Configuramos los parámetros que nos piden 85 8. Tenemos MantisBT completamente funcional. SugarCRM 1. Despues de la descarga, descomprimimos el paquete y lo copiamos en el directorio var/www/html. 2. Ingresamos a at.fyp.com/Install.php y seleccionamos la opción resaltada, Debemos ver la siguiente página. Click en Next. 86 3. Apache necesita acceso para ciertos directorios y el archivo de configuración para funcionar correctamente. Hay que asignar los permisos del siguiente modo: 87 4. Click en Next. 5. Aceptamos los términos de la licencia. Click en Next. 88 6. Vamos al terminal y digitamos el siguiente comando. 7. Pantalla de Login. Si se llega a esta pantalla la instalación se ha completado con éxito. 89 ACTA Equipo 1 (FYP): Yilman Florez Yadfary Montoya Cristian Pescador Equipo 2(Alias): Andres Granada Deyanira Goyez Diana Hernandez Modelo de Acta de Reunión de actividad 7 Vía TeamViewer siendo las 2:45pm. horas del día 12 de Abril de 2012 se reúne los grupos FYP y los alias para socializar el tema desarrollado y plantear los problemas que se presentaron durante el desarrollo de la actividad y al mismo tiempo ver que estrategias e inconvenientes que se nos presentaron a la hora de la implementación de cada una de las aplicaciones web: Orden del Día Punto 1: configuración de raid por software en centos implementación de raid 5 para los dos S.O Punto 2: configuración del DNS Punto 3: implementación de las aplicaciones web para cada S.O. Desarrollo del Punto 1 (RAID): Elegimos la implementación de raid 5 por la paridad que maneja. El raid 6 también maneja doble paridad, pero su implementación es mas costosa que la 5. es la solución más económica por megabyte, que ofrece la mejor relación de precio, rendimiento y disponibilidad para la mayoría de los servidores. Problemas presentados: Equipo 1: Ninguno. Equipo 2: Después de crear el raid y hacer el posterior reinicio, la maquina virtual se tildaba. 90 Desarrollo del Punto 2 (DNS): Equipo 1 y 2: En centos elegimos el paquete named, este por que es el único que nos presta este servicio. Pero podríamos decir que es el encargado de resolver direcciones IP a nombres El Windows usamos el servicio DNS que el trae por defecto. Problemas presentados: Creación de la zona inversa. Al traducir los nombres de dominio por zona directa si daba, al traducir la inversa no daba. Equipo 1: N/A Equipo 2: N/A Desarrollo del Punto 3 (Instalacion de lamp y wamp) Equipo 1 y 2: En Windows la dificultad se presento en que los host virtuales había que configurarlos en una carpeta y archivo diferente a centos. En la implementación de las aplicaciones web se nos presentaron mas problemas en CentOS que en Windows Equipo 1: Creacion de bases de datos en MySQL Otorgando permisos al usuario de MySQL Se presentaron algunos inconvenientes a la hora de otorgar los permisos necesarios a los archivos y/o carpetas que las aplicaciones asi lo requieren. Solo hubo que activar la extensión mbstring para el sistema de atención por tickets. En la configuración del hosting virtual en centos se nos presento problema con la definición del document root de la tienda virtual. Equipo 2: 91 Contraseña vacía en MySQL, la cual es requerida en la instalación de las aplicaciones web, toco colocarle contraseña al MySQL posteriormente. En el momento de la instalación de las aplicaciones, había que dar permiso recursivo 777 al directorio www En centos cada una de las aplicaciones requería la instalación de extensiones php diferentes, estas no se encuentran en los repositorios que trae normalmente centos, surgió la necesidad de descargar el repositorio RPEL, el cual contiene las librerías y extenciones del php. En la configuración del hosting virtual al principio solo nos apuntaba al primer index que habíamos definido, des comentando una línea: “Name VirtualHost *80” en el httpd.conf se solucionó el problema. Desarrollo del Punto 4 (Instalación de las aplicaciones) Equipo 1 y 2: Se instalaron satisfactoriamente las aplicaciones por que se hizo bien el montaje de la infraestructura. Equipo 1: N/A Equipo 2: N/A Desarrollo del punto 5 (Selección de las aplicaciones) Equipo 1: Compras online: OsCommerce Se eligió esta aplicación por su fácil instalación y la amplia documentación disponible para sus usuarios. Gestion de proyectos: MantisBT Esta escrita en el lenguaje de programación PHP soporta como gestores de bases de datos: MySQL, MS SQL, and PostgreSQL y cualquier servidor web (Apache, ISS, entre otros). MantisBT puede ser instalado en Windows, Linux, Mac OS, OS/2, entre otros. Soporta cualquier navegador WEB, debido a las mencionadas características fue ele gida la aplicación MantisBT. Sistema de atención por tickets: SugarCRM SugarCRM es una aplicación informática de Gestión de las Relaciones con Clientes (CRM). Esto significa que permite administrar todo lo que está relacionado con los clientes 92 en una empresa. Es un sistema seguro y fácil de manejar basado totalmente en como el proceso de venta y el servicio post-venta, es económico. Equipo 2: Compras online: OpenCart es un completo sistema de tienda virtual gratuito y de código abierto realizado con PHP y Mysql, que nos permite montar fácilmente nuestro negocio en internet. Portal Web o sistema manejador de contenidos: Simple Machines Forum, abreviado SMF, es un gestor de contenidos CMS gratuito y bajo la licencia SMF.[1] Se encuentra orientado a la creación de comunidades on-line, teniendo como eje central la gestión de foros. Escrito enteramente en PHP utiliza MySQL cómo SGBD. Plataforma e-learning: Moodle es un Ambiente Educativo Virtual, sistema de gestión de cursos, de distribución libre, que ayuda a los educadores a crear comunidades de aprendizaje en línea. Este tipo de plataformas tecnológicas también se conoce como LMS (Learning Management System). Ponentes Equipo 1 Equipo 2 Yilman Florez Yadfary Montoya Cristian Pescador Andres Granada Sonia caratar Diana Hernandez 93 CONCLUSIONES Se llegó a una mayor comprensión acerca el funcionamiento de las diferentes aplicaciones Web. Pudimos ver las diferencias que existen entre aplicaciones web que nos ofrece internet, esto con el fin de saber cuáles son las necedades a la hora de realizar el montaje de cualquier aplicación. 94 GLOSARIO APACHE: El servidor HTTP Apache es un software (libre) servidor HTTP de código abierto para plataformas Unix (BSD, GNU/Linux, etc.), Windows, Macintosh y otras, que implementa el protocolo http Apache presenta entre otras características mensajes de error altamente configurables, bases de datos de autenticación y negociado de contenido, pero fue criticado por la falta de una interfaz gráfica que ayude en su configuración. La mayoría de las vulnerabilidades de la seguridad descubiertas y resueltas tan sólo pueden ser aprovechadas por usuarios locales y no remotamente. Sin embargo, algunas se pueden accionar remotamente en ciertas situaciones, o explotar por los usuarios locales malévolos en las disposiciones de recibimiento compartidas que utilizan PHP como módulo de Apache.El servidor Apache se desarrolla dentro del proyecto HTTP Server (httpd) de la Apache Software Foundation. Aplicación Web: es un sitio Web que implementa la lógica de algún negocio. La diferencia entre una aplicación Web y un sitio Web es que la aplicación Web afecta al estado del negocio. Base de Datos: conjunto de archivos interrelacionados creado y manejado por un sistema de gestión o administración de bases de datos. Cualquier conjunto de datos almacenados de forma electrónica o física. Es un conjunto de datos almacenados en tablas, cada fila de una tabla constituye un registro de datos, y cada columna constituye un campo del registro MySQL es un sistema de gestión de base de datos relacional y multiusuario con más de seis millones de instalaciones. MySQL AB desde enero de 2008 una subsidiaria de Sun Microsystems desarrolla MySQL como software libre en un esquema de licenciamiento dual. PHP: (Hypertext Pre-processores) 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+. RAID: es un acrónimo del inglés "Redundant Array of Independent Disks". Significa matriz redundante de discos independientes. RAID es un método de combinación de varios discos duros para formar una única unidad lógica en la que se almacenan los datos de forma redundante. Ofrece mayor tolerancia a fallos y más altos niveles de rendimiento que un sólo disco duro o un grupo de discos duros independientes. Servidor (Server): Ordenador conectado a Internet en el que se alojan los archivos que constituyen una página web. Servidores Web: Un servidor Web es un software que responde a las solicitudes de los navegadores (Browser's) de las máquinas clientes a través del envío de páginas Web. Entre los servidores Web más utilizados se encuentran el Apache HTTP Server, Microsoft Internet Information Server, Microsoft Personal Web Server, Netscape Enterprise Server y 95 Sun ONE Web Server. También se asocia a este término al hardware necesario para que funcione el sistema lógico. WAMPSERVER Es una plataforma para el desarrollo Web en Windows. Le permite desarrollar aplicaciones Web dinámicas utilizando el servidor Apache2, el lenguaje de scripting PHP y una base de datos MySQL. Asimismo, PhpMyAdmin y SQLite Manager para gestionar con mayor facilidad sus bases de datos. Wampserver se instala fácilmente y se utiliza muy intuitivamente, puede configurar muy rápidamente (sin tocar los archivos de configuración). A diferencia de otras soluciones, Wampserver puede reproducir fielmente su servidor de producción. Una vez instalada la base, puede añadir como muchas versiones de Apache, MySQL y PHP que quieras. Wampserver también tiene un "TrayIcon" lo que le permite simplemente gestionar y configurar sus servidores, pero no los archivos de configuración. 96
Copyright © 2024 DOKUMEN.SITE Inc.