CAPITULO II: MARCO TEORICO SOBRE EL DISEÑO DE LA IMPLEMENTACION Y CONFIGURACION DE UN SERVIDOR LINUX CON SERVICIOS FTP Y WEB QUE APORTE CONOCIMIENTOS SIGNIFICATIVOS A LOS ESTUDIANTES DE INGENIERIA EN CIENCIAS DE LA COMPUTACION DE LA UNIVERSIDAD FRANCISCO GAVIDIA DE LA CIUDAD DE SANTA ANA. Para el diseño de la implementación de un servidor Linux deben conocerse todos los aspectos involucrados como la versión más conveniente a instalar en el servidor, es decir aquella versión que brinde al administrador de la red las ventajas, herramientas y aplicaciones que sirvan en la resolución de problemas. En el marco teórico se presentan conceptos básicos propios al tema que brinden una explicación al estudiante de lo más general a lo más especifico en cuanto a la instalación y configuración de un servidor Linux, los cuales le permitan comprender fácilmente el manual de usuario desarrollada a lo largo del trabajo de graduación. El contenido de este capitulo es el siguiente: I. Definición de Sistema Operativo. II. Definición de servidores. III. Sistema Operativo de servidores. IV. Historia de Linux. V. Distribuciones de Linux. VI. Estudio de la selección de la versión de Linux utilizada en el proyecto de investigación. VII. Comparación entre servidor Linux y servidor Microsoft. 12 I. DEFINICION DE SISTEMA OPERATIVO Un sistema informático, es un conjunto de elementos relacionados entre si que tiene como finalidad el apoyar al usuario en el desarrollo de soluciones, para entender mejor esto puede dividirse en cuatro componentes básicos: el hardware, el Sistema Operativo, los programas de aplicación y los usuarios. El hardware (Unidad Central de Procesamiento (UCP), memoria y dispositivos de entrada/salida (E/S)) proporciona los recursos de computación básicos. Los programas de aplicación (compiladores, sistemas de bases de datos, juegos de video y programas para negocios) definen la forma en que estos recursos se emplean para resolver los problemas de computación de los usuarios. Existen diversas definiciones de Sistema Operativo, pero no hay una definición exacta, es decir una que sea estándar; a continuación se presentan algunas: Los Sistemas Operativos son “ante todo administradores de recursos; el principal recurso que administran es el hardware del computador; además de los procesadores, los medios de almacenamiento, los dispositivos de entrada/salida, los dispositivos de comunicación y los datos” 1. Un Sistema Operativo es “un conjunto de programas que controla la ejecución de programas de aplicación y actúa como una interfaz entre el usuario y el hardware de una computadora, es decir un Sistema Operativo explota y administra los recursos de hardware de la computadora con el objeto de proporcionar un conjunto de servicios a los usuarios del sistema”2. En resumen, se podría decir que los Sistemas Operativos son “un conjunto de programas que funcionan tras encender una computadora, su función es gestionar programas u aplicaciones, es decir administrar de forma eficiente los recursos de la 1 MONOGRAFIAS, tesis, documentos y publicaciones, concepto de Sistemas Operativos, Software [en línea] [bibliografía solamente] 2 MONOGRAFIAS, Ob, cit., p1 13 computadora, a la vez crean la interfaz entre hardware y usuario, lo cual facilita el trabajo del mismo”. Debido a su administración de usuarios y tareas así como también el manejo de recursos los Sistemas Operativos presentan las siguientes características: Conveniencia. Un Sistema Operativo hace más conveniente el uso de una computadora. Eficiencia. Un Sistema Operativo permite que los recursos de la computadora se usen de la manera más eficiente posible. Habilidad para evolucionar. Un Sistema Operativo deberá construirse de manera que permita el desarrollo, prueba o introducción efectiva de nuevas funciones del sistema sin interferir con el servicio. Encargado de administrar el hardware. El Sistema Operativo se encarga de manejar de una mejor manera los recursos de la computadora en cuanto a hardware se refiere, esto es, asignar a cada proceso una parte del procesador para poder compartir los recursos. Relacionar dispositivos (gestionar a través del kernel). El Sistema Operativo se debe encargar de comunicar a los dispositivos periféricos, cuando el usuario así lo requiera. Organizar datos para acceso rápido y seguro. Manejar las comunicaciones en red. El Sistema Operativo permite al usuario manejar con alta facilidad todo lo referente a la instalación y uso de las redes de computadoras. 14 Por todas las características con las que cuenta un Sistema Operativo, el usuario puede utilizar el mismo como plataforma de un servidor. Muchos Sistemas Operativos se utilizan como plataforma de servidor, sin importar su familia de distribución, algunos más populares que otros, utilizados en muchas instituciones de negocio o educación, entre los cuales se presentan una variedad de servidores de seguridad, Web, correo, FTP, etc. II. DEFINICION DE SERVIDORES En informática un servidor se define como una aplicación o programa que realiza diferentes tareas en beneficio del usuario. Un servidor, permite a los usuarios almacenar y acceder a los archivos de un ordenador y los servicios de aplicaciones, que realizan tareas en beneficio directo del usuario final. Es posible que un ordenador cumpla simultáneamente las funciones de cliente y de servidor. No es necesario que un servidor sea una máquina de última generación, puede ser desde una computadora Pentium 2 (Intel, procesador 266MHZ, caché 32KB) hasta una máquina sumamente potente (servidores Web, bases de datos grandes, procesadores especiales y hasta varios Gigas de memoria). Todo esto depende del uso que se le dé al servidor. Este puede ser un proceso que entrega información o sirve a otro proceso, el modelo cliente servidor no necesariamente implica tener dos ordenadores, ya que un proceso cliente puede solicitar algo como una impresión a un proceso servidor en un mismo ordenador. Este se utiliza generalmente para diferentes aplicaciones como: Reforzar la productividad: Mantener a sus empleados productivos y reducir sus costos de tecnología con una fuente centralizada para el almacenamiento de archivos, acceso a impresoras o bases de datos y una conexión compartida a Internet. 15 Proteger sistemas y datos.- Mantener múltiples copias de datos de manera automática, protección de intrusos y virus, a través de aplicaciones de software antivirus que pueden examinar archivos recibidos antes de que lleguen a sus sistemas de escritorio. Incrementar la velocidad y la eficiencia. Un servidor puede mejorar la velocidad, la eficiencia de sus aplicaciones y transacciones de datos basadas en servidores. Permitir acceso simultáneo. Un servidor ejecuta aplicaciones centrales como software contable, permitiendo con ello que múltiples empleados utilicen el software y tengan acceso al mismo archivo de manera simultánea. Pero si se requiere de darle un propósito propio, esto dependiendo de la empresa o institución donde se emplean ya que un servidor puede desarrollarse de forma específica utilizando para ello programas que permiten que el usuario utilice la computadora como servidor o terminal, además existe una gran variedad de servidores que ofrecen al usuario diferentes servicios: Plataformas de Servidor (Server Platforms): Un término usado a menudo como sinónimo de Sistema Operativo, la plataforma es el hardware o software subyacentes para un sistema, es decir, el motor que dirige el servidor. Servidores de Aplicaciones (Application Servers): Designados a veces como un tipo de middleware (software que conecta dos aplicaciones), los servidores de aplicaciones ocupan una gran parte del territorio entre los servidores de bases de datos y el usuario, y a menudo los conectan. Servidores de Audio/Video (Audio/Video Servers): Los servidores de Audio/Video añaden capacidades multimedia a los sitios Web permitiéndoles mostrar contenido multimedia en forma de flujo continuo 16 (streaming) desde el servidor. Servidores de Chat (Chat Servers): Los servidores de Chat permiten intercambiar información a una gran cantidad de usuarios ofreciendo la posibilidad de llevar a cabo discusiones en tiempo real. Servidores de Fax (Fax Servers): Un servidor de fax es una solución ideal para organizaciones que tratan de reducir el uso del teléfono pero necesitan enviar documentos por fax. Servidores FTP (FTP Servers): Uno de los servicios más antiguos de Internet, File Transfer Protocol permite mover uno o más archivos con seguridad entre distintos ordenadores proporcionando seguridad y organización de los archivos así como control de la transferencia. Servidores Groupware (Groupware Servers): Un servidor groupware es un software diseñado para permitir colaborar a los usuarios, sin importar la localización, vía Internet o vía Intranet corporativo y trabajar juntos en una atmósfera virtual. Servidores IRC (IRC Servers): Otra opción para usuarios que buscan la discusión en tiempo real, Internet Relay Chat consiste en varias redes de servidores separadas que permiten que los usuarios conecten el uno al otro vía una red IRC. Servidores de Listas (List Servers): Los servidores de listas ofrecen una mejor manera de manejar listas de correo electrónico, bien sean discusiones interactivas abiertas al público o listas unidireccionales de anuncios, boletines de noticias o publicidad. 17 Servidores de Correo (Mail Servers): Casi tan ubicuos y cruciales como los servidores Web, los servidores de correo mueven y almacenan el correo electrónico a través de las redes corporativas (vía LANs y WANs) y a través de Internet. Servidores de Noticias (News Servers): Los servidores de noticias actúan como fuente de distribución y entrega para los millares de grupos de noticias públicos actualmente accesibles a través de la red de noticias USENET. Servidores Proxy (Proxy Servers): Los servidores proxy se sitúan entre un programa del cliente (típicamente un navegador) y un servidor externo (típicamente otro servidor Web) para filtrar peticiones, mejorar el funcionamiento y compartir conexiones. Servidores Telnet (Telnet Servers): Un servidor telnet permite a los usuarios entrar en un ordenador huésped y realizar tareas como si estuviera trabajando directamente en ese ordenador. Servidores Web (Web Servers): Básicamente, un servidor Web sirve como contenido estático a un navegador, carga un archivo y lo sirve a través de la red al navegador de un usuario. La complejidad de los servidores depende de los usos que el usuario necesite en su empresa o institución. Para fines de estudio en este proyecto se realizara el diseño de dos tipos de servidores: Servidor Web: Para este servidor se utilizaran los software de aplicación Apache 2.0, PHP 5.0 y Bind 9.0 18 o Apache: es un servidor Web de código abierto. Su desarrollo comenzó en febrero de 1995, por Rob McCool. La primera versión apareció en enero de 1996, el apache 1.0. Hacia el 2000, el servidor Web apache era el más extendido en el mundo. El nombre «apache» es un acrónimo de “a patchy Server” (un servidor de remiendos), es decir un servidor construido con código preexistente, piezas y parches de código. Apache 2.0 es más seguro, ya que su configuración predeterminada viene de tal modo que deshabilita muchas cosas que podrán considerarse de cierto riesgo en su configuración. o PHP: es un lenguaje de programación usado generalmente para la creación de contenido para sitios Web. PHP es el (acrónimo recursivo de "PHP: Hypertext Preprocessor", inicialmente PHP Tools, o, Personal Home Page Tools) es un lenguaje interpretado usado para la creación de aplicaciones para servidores, o creación de contenido dinámico para sitios Web, y últimamente también para la creación de otro tipo de programas incluyendo aplicaciones con interfaz gráfica. Entre las mejoras de la versión PHP 5.0 están: 1. Una nueva extensión SOAP para trabajar con Web Services. 2. Nueva extensión MySQL denominada MySQLi para los desarrolladores que utilicen MySQL 4.1 y versiones posteriores. Esta extensión incluye una interfaz orientada a objetos como adición a la interfaz tradicional; así como soporte para las numerosas nuevas funciones de MySQL. o BIND 9.0 (Berkeley Internet Name Domain), anteriormente (Berkeley Internet Name Daemon) es el servidor de DNS más comúnmente usado en Internet. El Domain Name System (DNS) es una base de datos distribuida y jerárquica que almacena información asociada a nombres de dominio en 19 redes como Internet. Aunque como base de datos el DNS es capaz de asociar distintos tipos de información a cada nombre, los usos más comunes son la asignación de nombres de dominio a direcciones IP y la localización de los servidores de correo electrónico de cada dominio. La asignación de nombres a direcciones IP es ciertamente la función más conocida de los protocolos DNS. Es decir que es el encargado de transformar direcciones IP reales (200.72.13.52) a nombres IP (www.midominio.tld) y viceversa e informar de una serie de datos a otros DNS y servidores existentes en el mundo. Servidor FTP: Utilizando para este servidor el software de aplicación Vsftpd (Very Secure FTP Daemon): es un sustento lógico utilizado para implementar servidores de archivos a través del protocolo FTP. Se distingue principalmente porque sus valores por defecto son muy seguros y por su sencillez en la configuración, comparado con otras alternativas como Wu-ftpd. Actualmente se presume que VSFTPD es uno de los servidores FTP más seguros del mundo. Estos son los servidores a utilizar, basados en Suse Linux; pero en la actualidad se cuenta con varios Sistemas Operativos que ofrecen estabilidad en sus plataformas entre los cuales se puede mencionar: Sistema Operativo de servidores. 20 III. SISTEMAS OPERATIVOS DE SERVIDORES. Existen diferentes Sistemas Operativos utilizados, pero la selección de estos depende de los usuarios, es decir hacia cual será su uso. A continuación se presentan algunos ejemplos de servidores desarrollados por Microsoft: “Microsoft Windows Server 2003”3: Se basa en los sólidos fundamentos de Windows 2000 Server y, como en el caso de su predecesor, Microsoft hace un esfuerzo decidido por mejorar la fiabilidad, escalabilidad, rendimiento, facilidad de uso y administración. Entre sus beneficios se mencionan los siguientes: 1. Seguridad: Proporcionar una infraestructura integrada que ayuda y asegure la información de negocios. 2. Proporcionar fiabilidad, disponibilidad, y escalabilidad para ofrecer la infraestructura de red que los usuarios solicitan. 3. Productividad: Proporcionar herramientas flexibles que ayudan a ajustar el diseño e implementación de las necesidades organizativas y de red. 4. Administrar la red al reforzar las políticas, tareas automatizadas y simplificación de actualizaciones. 5. Conectividad: Proporcionar un servidor Web integrado y un servidor de transmisión de multimedia en tiempo real que ayude a crear más rápido, fácil y seguro una Intranet dinámica y sitios de Internet. 6. Proporcionar un servidor de aplicaciones integrado que ayude a desarrollar, 3 Microsoft, Microcomputer Software, Windowsserver2003, Software [en línea] [bibliografía solamente]. 21 implementar y administrar servicios Web en XML más fácilmente. 7. Brindar las herramientas que permitan conectar servicios Web a aplicaciones internas, proveedores y socios. 8. Valor de Negocio: Ayuda a consolidar servidores aprovechando lo último en metodologías, software y hardware para optimizar la implementación del servidor. 9. Bajar el costo total de propiedad (TCO) para recuperar rápido la inversión. “Windows Small Business Server (SBS) 2003”4: su principal ventaja es que ofrece seguridad y estabilidad en su uso; pero su elevado precio hace que muchas pequeñas empresas no se decidan a comprarlo. SBS 2003 es el Sistema Operativo de servidor más rápido y más seguro que ha existido, ofrece fiabilidad al proporcionar una infraestructura integrada que ayuda a asegurar que la información de negocios estará segura, proporcionar fiabilidad, disponibilidad, y escalabilidad para que pueda ofrecer la infraestructura de red que los usuarios solicitan. Actualmente ofrece dos versiones: SBS 2003 Standard Edition y SBS 2003 Premium Edition. La diferencia entre ambas reside en que SBS 2003 Premium Edition añade Microsoft SQL Server 2000 Service Pack 3 (SP3), Microsoft Front Page 2003 y Microsoft Internet Security and Acceleration (ISA) Server 2000. “ARC serve 2000 Workgroup”5: como beneficios ofrece más seguridad 4 CIAO, Comunidad Online, Software, Sistemas Operativos, Sistemas Operativos de Servidores, Software [en línea] [bibliografía solamente] 5 CIAO, Comunidad Online, Software, Sistemas Operativos, Sistemas Operativos de Servidores, Software [en línea] [bibliografía solamente] 22 a nuestra CPU y además es una alternativa a los solicitados de Microsoft, el único inconveniente que presenta no es muy conocido en el mercado informático. Este programa ofrece una nueva GUI basada en la Web, y almacena toda la información relacionada con el almacenamiento, incluidos los registros de tareas, registro de servidores múltiples que se ejecutan en un depósito central local o remoto. Proporciona soporte completo a Microsoft Cluster Service y protección de Windows 2000 ActiveDirectory. Además, incluye el antivirus Inoculate IT que explora de manera automática durante cualquier operación de copia de seguridad o de copia. También ofrece una nueva opción de copia de seguridad sin servidor, para aumentar la disponibilidad de la CPU. ARCserve 2000 se destaca también por el amplio soporte para dispositivos, por su programación avanzada y el caché dinámico de memoria. Este programa presenta dos versiones: Edición Workgroup para la pequeña y mediana empresa, y la edición Advance para entornos multiservidores. Otras empresas pioneras en la industria informática como DEC (Digital Equipment Corporation), también conocida como Digital y Hewlett Packard desarrollan y lanzan al mercado alternativas de Sistemas Operativos de servidores un ejemplo de ellos el OpenVMS. “Open VMS”6: es un sistema multiusuario y multiproceso diseñado por DIGITAL, ahora parte de Hewlett-Packard, entre sus ventajas proporciona seguridad y compatibilidad con frameworks antiguos y no es necesario poseer licencias autorizadas para su uso, la diferencia es 6 CIAO, Comunidad Online, Ob, cit., p1 23 que su uso es muy distinto a Linux o DOS/Windows. OpenVMS está diseñado para el clustering, y en este sentido es una alternativa a los sistemas profesionales de Windows, Solaris y las versiones más avanzadas de Linux. VMS no es un sistema nuevo, sino una nueva versión de un viejo Sistema Operativo utilizado en su día en las grandes bases de datos de los bancos y el mundo empresarial, ha sido renovado para eliminar los abundantes agujeros de seguridad existentes en las versiones más antiguas. Su manejo a nivel de intérprete de comandos es un tanto complicado, aunque incluye un entorno gráfico. Actualmente la familia del Sistema Operativo Unix desarrolla también para HewlettPackard el Sistema Operativo HP-UX, el cual es utilizado para servidores Web por mencionar servidores Java. “HP-UX”7: es la versión de Unix desarrollada y mantenida por HewlettPackard desde 1983, ejecutable típicamente sobre procesadores HP PA RISC. HP-UX es, como la mayor parte de Unix comerciales, un entorno de trabajo flexible, potente y estable, que soporta múltiples aplicaciones que van desde simples editores de texto a complicados programas de diseño gráfico o cálculo científico, pasando por sistemas de control industrial que incluyen planificaciones de tiempo real. Como sistema de detección de intrusos IDS/9000 para HP-UX 11.x corriendo sobre máquinas HP-9000 o la utilidad Security Patch Check, similar al PatchDiag de Sun Microsystems. También es importante destacar las grandes mejoras en cuanto a seguridad del sistema se refiere entre HP-UX 9.x, HP-UX 10.x y muy especialmente HP-UX 11.x. 7 Wikipedia, Enciclopedia Libre, Servidor HP-UX, Software [en línea] [bibliografía solamente] 24 Esto es solo una pequeña muestra de la variedad de Sistemas Operativos de servidores existentes en el mercado; y aunque son de gran rendimiento, en la actualidad los mas fuertes son Microsoft Windows y Linux, el primero siendo el mas popular a nivel mundial debido a su fácil manejo por medio de su interfaz grafica, el segundo es un Sistema Operativo que esta en crecimiento su fortaleza radica en que casi todas sus versiones son libres (free), tiene una gran estabilidad y administra mejor los recursos que Windows, también, permite la creación de código por parte de cualquier usuario por esto y más es el crecimiento de dicho Sistema Operativo, su historia esta ligada a que comenzó como un pasatiempo y terminó siendo un Sistema Operativo desarrollado con la cooperación de numerosos programadores de diferentes partes del mundo. IV. HISTORIA DE LINUX. “Nace bajo la idea de crear un SISTEMA CLON de Unix basado en GNU (Licencia General Pública) y el código fuente disponible gratuitamente” 8. Esta idea nació en 1991 cuando Linus Torvalds estudiaba la carrera de Ciencias Informáticas en la Universidad de Helsinki en Finlandia. Torvalds se encontraba especialmente interesado en Minix, el único sistema Unix disponible en aquél entonces de fácil acceso para los estudiantes y profesores. Este sistema fue creado por Andrew Tanenbaum con el propósito de facilitar a los alumnos de la universidad el estudio y diseño de Sistemas Operativos. Minix era un Unix más, tanto en apariencia como en el KERNEL (núcleo del Sistema Operativo), pero distaba mucho de ser comparable a uno de los grandes Sistemas Operativos. Es a partir de aquel momento que Torvalds decidió crear un sistema que excediera los estándares de Minix, poniendo en marcha el proyecto personal Linux. Linus Torvalds nunca anuncio la versión 0.01 de Linux (agosto 1991), esta versión no era ni siquiera ejecutable, solamente incluía los principios del núcleo del sistema, 8 WIKIPEDIA, LA ENCICLOPEDIA LIBRE, Historia de Linux , Software [en línea] [bibliografía solamente] 25 estaba escrita en Lenguaje Ensamblador y asumía que uno tenia acceso a un sistema Minix para su compilación. El 5 de octubre de 1991, Linus anuncio la primera versión "Oficial" de Linux, versión 0.02. Con esta versión Linus pudo ejecutar Bash (GNU Bourne Again Shell) y gcc (El compilador GNU de C) pero no mucho mas funcionaba. En este estado de desarrollo ni se pensaba en los términos soporte, documentación, distribución. Después de la versión 0.03, Linux salto en la numeración hasta la 0.10, y después de sucesivas revisiones, se incremento el número de versión hasta la 0.95 (Marzo 1992). Más de un año después (diciembre 1993) el núcleo del sistema estaba en la versión 0.99 y la versión 1.0 no llego hasta el 14 de marzo de 1994. Hasta la fecha el Sistema Operativo Linux ha sido desarrollado con la ayuda de muchos programadores, a través de Internet. Linux es un Sistema Operativo libremente distribuible e independiente. LINUX se define como “el Sistema Operativo libre más popular, donde su código fuente está disponible públicamente y cualquier persona puede libremente usarlo, modificarlo y/o redistribuirlo”10. La plataforma Linux plantea para los usuarios una solución para no quedar atrapados en un limite de aprendizaje establecidos por las empresas, en cambio en esta plataforma el usuario aprenderá hasta donde el desee porque es un Sistema Operativo de Código Abierto que permite desarrollar sus propias aplicaciones y así mejorar y realizar con mucha mas eficiencia las tareas que día a día se llevan a cabo, además su costo de pertenencia es gratuito ya que la mayoría de sus versiones son libres llevando un gran beneficio a los usuarios que no pueden pagar por tener una licencia de algún determinado Sistema Operativo o programa; por tal motivo se conoce como GNU/LINUX que significa el desarrollo de un Sistema 10 Wikipedia, La Enciclopedia Libre, LINUX, Software [En línea][en bibliografía solamente] 26 Operativo con la filosofía de software libre. Lo más novedoso de este sistema es que todavía no soporta virus, es decir que no se necesita un antivirus para proteger el sistema y además se pueden hacer instalaciones virtuales sin guardar el programa en el disco duro. A continuación se presentan algunas características de LINUX. Multitarea: La palabra multitarea describe la habilidad de ejecutar varios programas al mismo tiempo. Multiusuario: Muchos usuarios usando la misma maquina al mismo tiempo. Multiplataforma: Las plataformas en las que en un principio se puede utilizar Linux son 386-, 486-. Pentium, Pentium Pro, Pentium II, Amiga y Atari, también existen versiones para su utilización en otras plataformas, como Alpha, ARM, MIPS, PowerPC y SPARC. Multiprocesador: Soporte para sistemas con mas de un procesador esta disponible para Intel y SPARC Linux al ser un software libre proporciona muchos beneficios que permiten al programador o al administrador de la red una gran variedad de aplicaciones esto dependiendo del uso al cual este Sistema Operativo será orientado. Además de presentar varias características, Linux también muestra beneficios como los siguientes: 1. Es un Sistema Operativo Libre, es decir que su licencia es publica, porque su descarga en línea no presenta costo alguno. 2. Es capaz de correr en computadoras desde Pentium II hasta computadoras 27 sumamente potentes (procesadores especiales, varias gigas de memoria y gran espacio en disco duro). 3. Existen versiones Light que funcionan sin necesidad de utilizar disco duro, estas versiones utilizan la memoria RAM para iniciar su funcionamiento. 4. Es un Sistema Operativo eficiente, seguro y poderoso, es multiusuario, soporta tanto clientes como servidores. 5. Es bastante estable y con código de razonable calidad 6. Soporta buena cantidad de procesadores, dispositivos, es capaz de ejecutar programas y leer archivos de otros Sistemas Operativos como UNIX, DOS y Windows. 7. Seguridad debido a que es un sistema operacional diseñado con la idea de Cliente - Servidor con permisos de acceso y ejecución a cada usuario. Esto quiere decir que varios usuarios pueden utilizar una misma maquina al tiempo sin interferir en cada proceso. 8. Linux puede ser utilizado como una estación personal pero también como un potente servidor de red. 9. Posee el apoyo de miles de programadores a nivel mundial. Linux desde su creación y a lo largo de su desarrollo ha presentado diferentes versiones cada una con características particulares pero que brindan la misma funcionabilidad y garantía al ser empleadas como Sistema Operativo base o plataforma de un servidor. 28 V. DISTRIBUCIONES LINUX. Linux es un sistema de libre distribución por lo que se pueden encontrar todos los ficheros y programas necesarios para su funcionamiento en multitud de servidores conectados a Internet. La tarea de reunir todos los ficheros y programas necesarios, así como instalarlos en el sistema y configurarlo, puede ser una tarea bastante complicada y no apta para muchos. Por esto mismo, nacieron las llamadas distribuciones de Linux, empresas y organizaciones que se dedican a hacer el trabajo para nuestro beneficio y comodidad. Una distribución no es otra cosa, que una recopilación de programas y ficheros, organizados y preparados para su instalación. Estas distribuciones se pueden obtener a través de Internet, o comprando los Cd’s de las mismas, los cuales contendrán todo lo necesario para instalar un sistema Linux bastante completo y en la mayoría de los casos un programa de instalación que nos ayudara en la tarea de una primera instalación. Casi todos los principales distribuidores de Linux, ofrecen la posibilidad de descargar sus distribuciones, desde Internet, por esta razón cuenta con las siguientes distribuciones: A. DISTRIBUCION REDHAT ENTERPRISE. Red Hat es una distribución Linux creada por Red Hat, que fue una de las más populares en los entornos de usuarios domésticos. Es una de las distribuciones Linux de "mediana edad". La versión 1.0 fue presentada el 3 de noviembre 1994. Fue la primera distribución que usó RPM como su formato de paquete, y en un cierto plazo ha servido como el punto de partida para varias otras distribuciones, tales como la orientada hacia PCs de escritorio. Desde el 2003, Red Hat ha desplazado su enfoque hacia el mercado de los negocios con la distribución Red Hat Enterprise Linux y la versión no comercial Fedora Core. 29 Red Hat Linux 9, la versión final, llegó oficialmente al final de su vida útil el pasado 30 de abril de 2004, aunque el proyecto Fedora Legacy continuó publicando actualizaciones, hasta ser abandonado dicho proyecto a finales de 2006. Esta es una distribución que tiene muy buena calidad, contenidos y soporte a los usuarios por parte de la empresa que la distribuye. Es necesario el pago de una licencia de soporte cuando es enfocada a empresas. B. DISTRIBUCION FEDORA Originalmente el Red Hat Linux fue desarrollado exclusivamente dentro de Red Hat, con la sola realimentación de informes de usuarios que recuperaban de fallos y contribuciones a los paquetes de software incluidos; y no contribuciones a la distribución como tal. Esto cambió tardíamente en el 2003 cuando Red Hat Linux se fusionó con el Proyecto Fedora Linux orientado a la comunidad de usuarios. El nuevo plan es extraer el código base de Fedora para crear nuevas distribuciones de Red Hat Enterprise Linux. C. DISTRIBUCION DEBIAN. Es un Sistema Operativo libre basado en LINUX, La combinación de la filosofía y metodología de Debian, las herramientas GNU, el núcleo de Linux, y otro software libre importante, forma una distribución de software única llamada Debian GNU/Linux. Esta distribución está formada por un gran número de paquetes. Cada paquete en la distribución contiene ejecutables, scripts, documentación, e información de configuración y tiene un gestor principal responsable de mantener el paquete al día, seguir informes de error, y comunicar con los autores principales del software empaquetado. 30 La atención de Debian al detalle permite producir una distribución de alta calidad y estable. La instalación puede configurarse fácilmente para servir muchos perfiles, desde cortafuegos reducidos con el menor número de servicios imprescindible, pasando por estaciones de trabajo científicas a servidores de red. El sistema que distingue a Debian de otras distribuciones GNU/Linux es su sistema de gestión de paquetes. Estas herramientas dan al administrador de un sistema Debian control completo sobre los paquetes instalados en su sistema, incluyendo la capacidad de instalar un sólo paquete o actualizar el Sistema Operativo por completo. Los paquetes individuales también pueden protegerse para no ser actualizados. También se le puede preguntar al sistema de gestión de paquetes qué software se han compilado y qué dependencias cumple. El principal, y mejor, método para obtener soporte de un sistema Debian GNU/Linux y comunicarse con los Desarrolladores Debian es a través de las muchas listas de distribución mantenidas por el Proyecto Debian que su numero aproximado es un poco mas de noventa. D. DISTRIBUCION KNOPPIX Desarrollada por Klaus Knopper en Alemania, es seguro que esta distribución basada en Debian es una buena opción, especialmente con su detección automática de hardware que deja a otras distribuciones comerciales. Su arranque automático, gran cantidad de software, su sistema de compresión al vuelo y la posibilidad de instalarlo al disco duro han convertido a knoppix en una herramienta indispensable. Puede ser usada como un disco de rescate, una herramienta para enseñar Linux para aquellos que no lo han visto o una herramienta para probar una nueva computadora antes de comprarla. También puede ser usada como una completa distribución Linux para el uso diario. 31 Se realizan actualizaciones con frecuencia, pero una vez ha adquirido estabilidad, estas suelen distanciarse entre si por varios meses. Las actualizaciones incluyen parches de fallos así como el último software de la rama inestable de Debian. Actualmente se ha pasado a soporte DVD para poder incluir todos aquellos paquetes que no cabían en un CD-ROM. E. DISTRIBUCION SLACKWARE Slackware Linux es una distribución de Linux. Es una de las más antiguas distribuciones y la más antigua de las activamente mantenidas en la actualidad; Patrick Volkerding, el creador de esta distribución, lo describe como un avanzado Sistema Operativo Linux, diseñado con dos objetivos: facilidad para usar y estabilidad como meta prioritaria. Incluye software reciente y mantiene su entorno gráfico proporcionando simplicidad y facilidad de uso junto al poder y la flexibilidad. El Sistema Operativo Linux ahora se beneficia de la contribución de millones de usuarios y desarrolladores alrededor del mundo. Slackware Linux proporciona a los nuevos y a los experimentados usuarios por igual un sistema con todas las ventajas, equipado para servidores, puestos de trabajos y máquinas de escritorio, con compatibilidad de procesadores desde Intel 386 en adelante. Web, FTP, mail están listos para usarse al salir de la caja, así como una selección de los entornos de escritorio más populares. Una larga lista de herramientas para programación, editores, así como las librerías actuales son incluidas para aquellos usuarios que quieren desarrollar o compilar software adicional. Desde su primer lanzamiento en abril de 1993, el Proyecto Slackware Linux se ha esmerado en producir una distribución de Linux profesional. Slackware obedece a los estándares de Linux publicados, como el Linux File System Standard. Siempre se ha tomado en cuenta la simplicidad y la estabilidad como meta, dando como resultado 32 que Slackware se haya convertido en una de las distribuciones disponibles que prefieren muchos usuarios avanzados y administradores, ya que la consideran estable y amigable. La distribución de paquetes en Slackware se hace principalmente con archivos Tgz, si bien se puede utilizar también RPM. La interfaz del programa de instalación es por texto, y necesita un mayor conocimiento de Linux que la mayoría de las otras distribuciones. Esto puede ser una desventaja para usuarios principiantes, pero no representa mayor dificultad para usuarios intermedios o avanzados de Linux. F. DISTRIBUCION GENTOO Gentoo da nombre a una de las distribuciones mas recientes, aunque debido a su alto nivel de personalización, algunos lo denominan meta distribución. Gentoo es una distribución que sigue la política de las antiguas distribuciones BSD, su comportamiento es similar a otras distribuciones como Debian, aunque se consigue algo más de optimización ya que la filosofía del proyecto de Gentoo es hacer que el software sea específicamente compilado para tu máquina. Obviamente eso deriva en tener que compilar los paquetes con el consiguiente tiempo de compilación (llegando a ser verdaderamente grande). Se recomienda ser un usuario muy avanzado para poder utilizar esta distribución. G. DISTRIBUCION UBUNTU Es una distribución Linux que ofrece un Sistema Operativo predominantemente enfocado a ordenadores de escritorio aunque también proporciona soporte para servidores. Basada en Debian GNU/Linux, Ubuntu concentra su objetivo en la facilidad de uso, la libertad en la restricción de uso, los lanzamientos regulares (cada 6 meses) y la facilidad en la instalación. 33 El nombre de la distribución proviene del concepto zulú y xhosa de Ubuntu, que significa "humanidad hacia otros" o "yo soy porque nosotros somos". Ubuntu es un movimiento sudafricano encabezado por el obispo Desmond Tute, Los desarrolladores de Ubuntu se basan en gran medida en el trabajo de las comunidades de Debian y GNOME; el sistema incluye funciones avanzadas de seguridad y entre sus políticas se encuentra el no activar, de forma predeterminada, procesos latentes al momento de instalarse. Por eso mismo, no hay un firewall predeterminado, ya que no existen servicios que puedan atentar a la seguridad del sistema; para tareas administrativas en terminal incluye una herramienta llamada sudo (similar al Mac OS X), con la que se evita el uso del usuario root (administrador) y todos los lanzamientos de Ubuntu se proporcionan sin costo alguno. Los cd`s de la distribución se envían de forma gratuita a cualquier persona que los solicite. H. DISTRIBUCION MANDRAKE Mandrake Linux (antiguo nombre de Mandriva), creada por Gaël Duval, es una distribución que ha experimentado un enorme aumento de popularidad desde su primera versión de julio de 1998. Los desarrolladores partieron de la distribución de Red Hat, cambiaron el entorno de escritorio predeterminado por KDE, y añadieron un instalador fácil de usar rompiendo el mito de que Linux es difícil de instalar. Las herramientas de detección de hardware de Mandrake y sus programas para el particionamiento de discos son consideradas por muchos como las mejores de la industria, y muchos usuarios se encontraron usando Mandrake allí donde otras distribuciones no habían conseguido entregar la usabilidad necesaria. Desde entonces Mandrake Linux ha madurado y se ha convertido en una distribución popular entre los nuevos usuarios de Linux y aquellos hogares que buscan un Sistema Operativo alternativo. 34 En el 2005 Mandrake compra conectiva Linux, distribución muy extendida por Sudamérica, y se cambia el nombre para reflejar el cambio en la distribución a Mandriva. El desarrollo de Mandriva es completamente abierto y transparente, con paquetes nuevos que se añaden al directorio “cooker”; cuando una nueva versión entra en fase beta, la primera beta se crea a partir de los paquetes que se encuentran en "cooker" en ese momento. El proceso de pruebas de la beta solía ser corto e intensivo, pero desde la versión 9.0 ha pasado ha ser más largo y exigente. Las listas de correo sobre la versión beta suelen estar saturadas, pero sigue siendo posible recibir una respuesta rápida sobre cualquier fallo o duda que envíes. Como resultado de este tipo de desarrollo se obtiene una distribución puntera y altamente actualizada. Como contrapartida, los usuarios pueden encontrarse con más fallos que en otras distribuciones. I. DISTRIBUCION SUSE SUSE Linux es una de las más conocidas distribuciones Linux existentes a nivel mundial. Entre las principales virtudes de esta distribución se encuentra el que sea una de las más sencillas de instalar y administrar, ya que cuenta con varios asistentes gráficos para completar diversas tareas. Su nombre Suse “es el acrónimo del alemán Software- und System Entwicklung, el cual formaba parte del nombre original de la compañía y que se podría traducir como desarrollo de software y sistemas. El nombre actual de la compañía es Suse Linux, habiendo perdido el primer término su significado (al menos oficialmente)” 11. 11 WIKIPEDIA, LA ENCICLOPEDIA LIBRE, Suse Linux, Software [en línea] [bibliografía solamente] 35 El 4 de noviembre de 2003, la compañía multinacional estadounidense Novell anunció que iba a comprar Suse Linux. La adquisición se llevó a cabo en enero de 2004. En el año 2005, en la Linux World, Novell, siguiendo los pasos de RedHat Inc., ha anunciado la liberación de la distribución Suse Linux para que sea la comunidad la encargada del desarrollo de esta distribución, bajo el proyecto OpenSuse. Desde la creación de Suse Linux en 1992, un camaleón verde ha sido la mascota y el logo oficial de la compañía. "Un camaleón es un animal que se adapta a su entorno, igual que Linux. La vista del camaleón es aguda y está constantemente enfocada, y nuestro enfoque es el Software de Código Abierto. Todas las versiones Linux ofrecen estabilidad y rendimiento en su función, el usuario puede utilizar la que a su criterio sea más conveniente. VI. ESTUDIO DE LA SELECCIÓN DE LA VERSION DE LINUX UTILIZADA EN EL PROYECTO DE INVESTIGACION Para seleccionar la versión mas adecuada a utilizar en el proyecto de investigación se considera realizar un análisis de datos estadísticos de las versiones de Linux mas utilizadas: “Actualmente las 11 distribuciones más populares (en orden de popularidad)”12 son: 1 Ubuntu 2 SUSE 3 Mandriva 4 Fedora 5 MEPIS 6 Ret Hat 7 Debian 12 DistroWatch, noticias, enlaces, información y actualización, ranking de popularidad, Software [en línea] [bibliografía solamente] 36 8 KNOPPIX 9 Gentoo 10 Slackware. Hay dos distribuciones con un crecimiento increíble: Mepis y Ubuntu, ambas son distribuciones de escritorio para usuarios finales, ambas basadas en Debian, completamente libres instalables a partir de Live-CD, la primera tiene KDE como entorno por defecto, la segunda Gnome. El número diario de personas que buscan información de Mepis ha venido aumentando en cada mes durante el último año, y para Ubuntu ha aumentado (en el día de hoy, Ubuntu es la distribución sobre la que más gente busca información). Suse es la segunda distribución con mayor crecimiento: un aumento mensual, generadas muy probablemente por el lanzamiento del Suse Personal. Hay un crecimiento moderado para Knoppix y Gentoo. Después viene otra distribución con un crecimiento moderado Fedora, la versión "open" de Red Hat, muy difundida pero poco convincente. Las distribuciones "clásicas" se encuentran en un punto de estabilidad, Mandriva parece que va perdiendo un poco de terreno. Debian se ha mantenido prácticamente estable, aunque si se considera que las distribuciones con mayor auge están basadas en Debian es fácil entender su gran importancia. Gentoo también está en un punto de estabilidad. Marcando la ruta del retroceso en popularidad están Slackware y Red Hat. La primera porque la necesidad de distribuciones "serias" y estables está siendo llenado por distribuciones como Gentoo. Red Hat ya no es de libre acceso, pero persiste por la marca. Por lo tanto para la implantación masiva de Linux se recomienda Mepis o Ubuntu, para servidores las soluciones clásicas son Debian, Suse, Mandriva o Red Hat, 37 aunque existen solamente dos de estas distribuciones que poseen apoyo de empresas, tal es el caso de Red Hat, brinda soporte a su distribución Red Hat Enterprise Linux de igual forma Novell se responsabiliza de la distribución Suse a través del proyecto OpenSuse. De estas versiones Suse Linux es considerada de las distribuciones más fáciles de implementar, instalar y configurar, y no solo esto, si no que también le permiten al usuario tener un servidor con soluciones reales. Anteriormente, todo el trabajo desarrollado en Linux por la distribución Suse era realizado por la versión 10.0 por ser la primera con una beta pública. Como parte del cambio, el acceso en línea al servidor Yast de actualización sería complementario para los usuarios de Suse Linux, siguiendo la línea de la mayoría de distribuciones de código abierto, existiría tanto la descarga gratuita disponible mediante Web como la venta del Sistema Operativo en caja. Este cambio en la filosofía condujo al lanzamiento de Suse Linux 10.0 el 6 de octubre de 2005 en "OSS" (código completamente abierto). En la actualidad el proyecto OpenSuse, da iniciativa a la comunidad respaldada por Novell que promueve el uso de Linux, pone a disposición del usuario la versión Suse 10.1 el 28 de Mayo del 2006, la cual ha presentado cambios en comparación a su versión anterior; esta al igual que todas las versiones libres pueden descargarse directamente de Internet presentándose en cinco cd`s de instalación. De acuerdo a lo anterior para el desarrollo del proyecto de investigación se selecciono como plataforma de servidor la distribución Suse Linux 10.1, como se muestran las ventajas a continuación. 1. Suse Linux 10.1 incorpora más de 1.500 paquetes de software, que ayudan a la configuración del Sistema Operativo si se utiliza como plataforma de servidor evitando utilizar otros recursos como las descargas a través de Internet. 38 2. Suse Linux 10.1 ofrece aplicaciones dinámicas en cuanto al entorno grafico a través de la tecnología xgl. 3. El instalador de Suse está hecho de la forma más práctica para los usuarios, tanto así que permite identificar y configurar todo el hardware de una sola vez evitando problemas en la configuración de su hardware. 4. Posee la herramienta fundamental de configuración Yast, que prácticamente hace que la administración del software sea mucho más accesible que en cualquier otra distribución; este administrador también nos permite realizar actualizaciones, configurar la red, administrar los usuarios y muchas más opciones, todas ellas integradas en una sola interfaz. 5. Además incluye varios escritorios entre ellos los más conocidos que son KDE y GNOME siendo el primero el seleccionado como escritorio para el uso del proyecto. Suse desde su creación ha evolucionado, desarrollándose nuevas versiones, cada una de ellas ha mostrado avances en sus herramientas y aplicaciones; a continuación se muestra la siguiente tabla 2.1 que contiene el mes y año del lanzamiento de sus versiones hasta la fecha. Versión 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 Mes Marzo Septiembre Mayo Noviembre Noviembre Enero Septiembre Abril Octubre Septiembre Año 1994 1994 1995 1996 1997 1999 2000 2002 2003 2005 39 10.1 10.2 10.3 Mayo Diciembre Febrero Tabla 2.1 “Versiones publicadas de Suse” 2006 2006 2007 Antiguamente, Suse primero lanzaba las versiones personales y profesionales en paquetes que incluían una extensa documentación impresa y esperaba algunos meses antes de lanzar las versiones en sus servidores FTP. Bajo Novell y con la llegada de OpenSuse se ha invertido el proceso: Suse Linux 10.0 estaba disponible para transferencia directa antes del lanzamiento de Suse Linux 10.1. Además, Novell ha dejado de producir la versión personal, cambiando el nombre de la versión Professional a Suse Linux, y cambiando el precio de Suse Linux a casi como la versión personal obsoleta. Comenzando con la versión 9.2, una imagen ISO de un DVD de Suse Professional fue lanzada, así como una versión de evaluación del Live DVD arrancable. El servidor FRP continúa funcionando y tiene la ventaja de las instalaciones en línea: sólo se descargan los paquetes que el usuario cree que necesita. La ISO tiene ventajas en cuanto a facilidad de instalación de paquetes, la capacidad de funcionar incluso si la tarjeta de red del usuario no funciona y necesidad de menos experiencia. Las distribuciones de DVD en caja soportan instalaciones x86 y x86_64, pero los CDROM incluidos no disponen de soporte para x86_64. Distribuciones Linux basadas en Suse Linux: Novell Linux Desktop. Java Desktop System. Suse Linux Enterprise Edition. 40 Linux Suse como Sistema Operativo base en un servidor además de proporcionar al usuario una herramienta de trabajo, le facilita muchas tareas que en otro tipo de servidor puede resultarle complicado. En la actualidad el simple hecho de tomar la decisión de cual servidor utilizar origina un debate entre los desarrolladores de Windows y de Linux, muchos defienden según su experiencia cual de estos Sistemas Operativos da un mejor rendimiento en el uso como servidor. A continuación se presentan algunas de las diferencias mas comunes que se dan entre servidor Linux y servidor Windows. VII. SERVIDOR LINUX VRS. SERVIDOR MICROSOFT A. COSTO: Linux por ser un Sistema Operativo de licencia “libre” es más económico que Windows, y esta es una de las razones por las cuales muchos usuarios prefieren Linux para sus empresas; mas aun cuando se requiere de uso de un servidor de base de datos, en tal caso Linux ofrece muchas opciones de licencia gratuita y Windows. “El precio por terminal si el usuario utiliza Windows (Windows 2003 Server)” 13 en una red computadoras es de us $ 29.58 esto sin gastos de hardware. Para el caso de la UFG, CRO sus centros de computo cuentan en total con 45 computadoras y para la red del CRO el costo total de implementar Windows es de us $1331.10. 13 PrecioMania, comparación de precios, Costos de Windows 2003 Server, Software [en línea] [bibliografía solamente] 41 Pero cuando se habla de costo no solo se toman en cuenta factores como el precio de la licencia; también de ser implementado un servidor se considera en hardware apropiado que al igual que el software representa un costo. El hardware que puede ser utilizado como servidor, considerando que para este trabajo de investigación, sólo será utilizado para fines de estudio y no de trabajo continuo como es empleado en las empresas; podría ser algunos de los ejemplos que se muestran a continuación: Servidores Procesador Intel Celeron 3.20 mhz (Bion student 3200) Memoria RAM 1 GB DDR Disco duro 160GB Monitor Bion 17” CRT Precio $525 Procesador Intel Dual Core de doble núcleo 3.0 mhz (pro dual 3000) Memoria RAM 1 GB DDR Disco duro 200GB Monitor Bion 17” CRT Precio $650 Procesador Intel Core 2 Duo 1.86mhz(xtreme xt 200) Memoria RAM 1 GB DDR Disco duro 200GB Monitor Bion 17” CRT Precio $800 En resumen al hacer un cálculo del costo entre un servidor “libre” y un servidor Windows se puede afirmar lo siguiente: 42 Linux: solo el precio del servidor que usuario seleccione. Windows: precio del servidor que el usuario seleccione mas licencia. B. DESEMPEÑO: En términos de desempeño Linux es un poco mas rápido, esto debido a que Windows tiende a ofrecer mas facilidades gráficas lo cual consume mas recursos que Linux. C. FACILIDAD DE USO: Ambos son fáciles de usar solo es cuestión de practicar, para el manejo de los mismos; ambos ofrecen paneles de control lo que permite obtener el máximo de beneficios, de manera sencilla, con una interfaz grafica amigable al usuario. D. COMPATIBILIDAD: Los servidores Linux por lo general soportan páginas programadas en HTML y PHP, mientras que Windows soporta HTML y ASP. E. BASE DE DATOS: Linux soporta base de datos, MySQL y PostgreSQL mientras que Microsoft Windows soporta base de datos MS Access, SQL, Oracle y Mysql. En resumen, ambas plataformas son estables y con rendimiento similar. Todo depende de las necesidades del usuario y según el lenguaje de programación que utilice, si usa algún formato de base de datos específicos así como del presupuesto. 43