Master en Software Libre



Documentos relacionados
Instituto Tecnológico Las Américas (ITLA) Sistemas Operativos 3 (SO3) Daniel Alejandro Moreno Martínez. Matrícula:

Instalación de Elastix

Cloud Builder Ejercicio práctico

No se requiere que los discos sean del mismo tamaño ya que el objetivo es solamente adjuntar discos.

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACIÓN

Almacenamiento en sistemas computacionales

RAID 0, 1 y 5. RAID 0 (Data Striping)

Agente local Aranda GNU/Linux. [Manual Instalación] Todos los derechos reservados Aranda Software [1]

PRACTICA 9 SERVIDOR WEB APACHE SERVIDOR WEB APACHE. JEAN CARLOS FAMILIA Página 1

CÓMO INSTALAR CentOS CON RAID1

Configuración de Apache

Configuración de los servidores de los institutos con raid (Institutos nuevos)

Version 3. Capítulo 9. Fundamentos de hardware avanzado para servidores

labs Linux para Administradores de Elastix Elastix Certification ELASTIX CERTIFICATION

INSTRUCTIVO DE INSTALACION ATOM 2.0.1

Manual de instalación Sistema S.I.S.E. Versión 1.0

Contents. 1 Instalacion de Observium

RAID software: mdadm. José Domingo Muñoz Rafael Luengo. Febrero Fundamentos de Hardware

Tutorial sobre sistemas de archivos con LVM en Linux

Resumen. DESlock+ Guía Básica de Configuración. Requerimientos del Sistema:

Tema: Configuración de arreglos redundantes de discos duros (RAID).

GUIA DE LABORATORIO # Nombre de la Practica: Antivirus Laboratorio de Redes Tiempo Estimado: 2 Horas y 30 Minutos

MANUAL DE INSTALACIÓN DEL SWGRH

Tema 2: El hardware del servidor Profesor: Julio Gómez López

Guía de instalación de LliureX 5.09

INSTALACIÓN DE UBUNTU SERVER 12.4 EN MÁQUINA VIRTUAL

Sistema Integral de Gestión y Evaluación SIGEVA. GUÍA PARA LA MIGRACION A APACHE TOMCAT 6.x

INSTRUCTIVO DE INSTALACIÓN DE OMEKA 2.1.4

Servidor Web Apache Knoppix Linux.-

Manual de Instalación del sistema administrativo PremiumSoft Extended 7

Instituto Tecnológico de Las Américas (ITLA)

Manual de instalación y configuración de hadoop en linux

Módulos: Módulo 1. El núcleo de Linux - 5 Horas

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

Implementación de una Solución Tecnológica para la Gestión y Control de la Planificación Institucional del Gobierno Regional de Los Lagos

CONFIGURACIÓN DEL SERVIDOR

INSTALACIÓN COYOTE LINUX. Índice

Instituto Tecnológico de Las Américas

Puesta en marcha de un SGBD local para Linux y máquinas virtuales

Guía Rápida de Puesta en Marcha de MailStore

Instituto Tecnológico de Las América. Materia Sistemas operativos III. Temas. Facilitador José Doñe. Sustentante Robín Bienvenido Disla Ramirez

PROYECTO INTEGRADO CLUSTER DE ALTA DISPONIBILIDAD CON HAPROXY Y KEEPALIVED. Antonio Madrena Lucenilla 21 de Diciembre de 2012 I.E.S.

RAID. Redundant Array of Independent Disks. Rafael Jurado Moreno Fuente: Wikipedia

SONARQUBE. Sandoval Lucas, Leutwyler Nicolás 1er cuatrimestre 2015

La Herramienta Redmine para la Administración de Proyectos Módulo I: Instalación, Configuración y Operación Redmine

INSTALACIÓN DE UBUNTU SERVER 12.4 EN MÁQUINA VIRTUAL

Guía de instalación v3.3.1

DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia.

Global File System (GFS)...

UNIDAD DIDACTICA 8 MONTAR Y DESMONTAR UNIDADES EN GNU/LINUX

La Herramienta Redmine para la Administración de Proyectos Módulo I: Instalación, Configuración y Operación Redmine

Apartado: BrutaliXL Versión: 3 Título: Cortafuegos - Iptables Fecha:

Actualizaciones de GateDefender Performa desde un servidor web local

REQUERIMIENTOS TÉCNICOS

INTRANET: MANUAL DE INSTALACIÓN

Instalación del sistema operativo Microsoft Windows Server 2008 Standard Edition x86

Servidore Web Apache. Inicio del servidor Apache. Iniciar. Comando apachectl

Instalación Redmine-Emergya

Primeros pasos con una PBX Asterisk utilizando el livecd de XORCOM (Elastix)

Presentación. Nombre. Matricula. Materia. Tema. Profesor. Marcos Rodríguez Javier Sistemas Operativos III. Central IP Elastix.

REQUISITOS DEL SISTEMA. Software Servidor. Cliente. Hardware Servidor. Cliente

Introducción. Pasos Previos a la Instalación. Requisitos Mínimos y Prácticos. Características Generales. Disposición del Disco.

Windows Server 2012: Infraestructura de Escritorio Virtual

Guía para la instalación de discos duro SATA y Configuración RAID

RAID= Redundant Array of Independent (or Inexpensive) Disks

Vielka Mari Utate Tineo Instituto Tecnológico de las Américas ITLA. Profesor José Doñé. En este caso Elastix. PRATICA NO.

Unidad 0. Preparación del material. Implantación y administración remota y centralizada de Sistemas Operativos. Manuel Morán Vaquero

Manual de utilización de Proxmox

Instalación Software Administrador de Videoclub

UT04 01 Máquinas virtuales (introducción)

PRACTICA NO.25: HOW TO INSTALL AND CONFIGURE ELASTIX CENTRAL IP

Módulos: Módulo 1. Hardware & Arquitectura de sistemas - 20 Horas

Si están trabajando en un computador real, lo primero que deben colocar los discos de manera SCSI, como mínimo deben de ser dos.

REQUISITOS MÍNIMOS RECOMENDADOS para Windows 7

Almacenamiento virtual de sitios web HOSTS VIRTUALES

Practica Extra: Creación de BACKUP+CRONTAB+NFS

Administración de sistemas UNIX/Linux Práctica Colección de scripts para la configuración de una infraestructura de máquinas UNIX

Como montar LVM en una máquina Debian

CAPÍTULO 4 ANÁLISIS DE IMPLEMENTACIONES

Guía de Instalación para clientes de WebAdmin

Gestión de discos duros en Linux

HOWTO: Cómo configurar SNAT

Instalación de XEN Información de XEN Qué es XEN? Componentes de XEN:... 2

Compartiendo conocimiento... Guía básica de instalación de Asterisk 11 en Centos6.5

Guía para la instalación de discos duro SATA y Configuración RAID

ANEXO 3 MANUAL PARA INSTALACION PERSONALIZADA DE ABIESWEB EN LINUX

Componentes de Integración entre Plataformas Información Detallada

#09 Apache Web Server

Acronis Universal Restore

ANÁLISIS DE HERRAMIENTAS PARA CLONAR DISCOS DUROS

Podemos descargar la distribucion de gnu/linux de los repositorios de Ubuntu

REQUERIMIENTOS HARDWARE Y SOFTWARE QWEBDOCUMENTS VERSION 4

virtual appliance guía de inicio rápido

CONFIGURACIÓN DEL ADAPTADOR DE RED EN LINUX

virtual appliance guía de inicio rápido

Configuración del firewall en Linux con IPtables

Elastix Smart Assistant

Requerimientos del Sistema para Oscar

Manual de utilización de Proxmox

Ubuntu Server HOW TO : SERVIDOR VPN. EN ESTE SE REALIZA LO SIGUIENTE: En este how to se le va a enseñar como usar vpn. Qué es una VPN?

Transcripción:

Master en Software Libre Creación de plataforma de desarrollo de software y implementación de gestor documental. 2009 / 2010 Autor Kirill Gordeev

CONTENIDOS Tecnologías utilizadas...3 Tecnología RAID... 3 LVM (Logical Volume Manager)... 4 XEN... 4 CentOS... 5 Instalación...5 Pruebas previas de HARDWARE... 5 Redundancia de datos fake RAID 5... 6 Instalación del sistema operativo... 7 Instalación de XEN... 9 Configuración de LVM... 9 Instalación y despliegue de las maquinas virtuales...11 Instalación y configuración de los servicios... 14 Base de datos MySQL...15 Subversion...16 Apache...17 Configuración de acceso a SVN por medio del protocolo WebDAV...20 Postfix...21 XVFB (Virtual Framebuffer X)...21 OpenOffice...21 Alfresco...22 Redmine...25 Configuración del FIREWALL (protección del servicio SSH contra brute force)...27 Bibliografía... 28 2

Tecnologías utilizadas Tecnología RAID RAID son las siglas de Redundant Array of Independent Disks - matriz redundante de discos independientes. Aunque originalmente, RAID significaba Redundant Array of Inexpensive Disks - matriz redundante de discos baratos. Las unidades de bajo coste fueron diseñadas para su uso en ordenadores personales, a diferencia, las unidades caras (SCSI) fueron diseñadas para mainframes. Pero como en RAID-matrices se empezó a utilizar las unidades SCSI, que fueron significativamente más caras que los discos IDE, la palabra "barato" se ha sustituido por "independientes". Definiciones Los conjuntos de discos RAID están compuestos de dos o más disco que sirven para mejorar el rendimiento y/o la seguridad de los datos. Las soluciones RAID más comunes son: RAID 0, permite unir un conjunto de discos en un único disco virtual. Esta solución se utiliza para mejorar el rendimiento del disco e incrementar la capacidad. RAID 1, permite configurar dos discos que son copias idénticas. Si un disco falla el segundo permite seguir trabajando previniendo así la perdida de datos y el tiempo de inactividad del equipo. RAID 5, que consiste en un mínimo de tres disco. Los datos están divididos en bloques, que están diseminados en dos discos. El tercer disco contiene información de paridad, que sirve para reconstruir los bloques de datos en caso de que un único disco falle. Esta solución se suele utilizar en entornos de servidores. Se usa para construir conjuntos de discos de alta capacidad con protección de datos. Matrix RAID - una tecnología implementada por Intel en sus chipsets comenzando desde la serie ICH6R. En rigor, esta tecnología no es un nuevo nivel de RAID, sino es una tecnología que permite el uso de un pequeño número de unidades en el mismo tiempo para organizar una o varias matrices, RAID 1, RAID 0 y RAID 5. Esto permite con relativamente poco dinero (sin gastos extra en controladoras) proporcionar los mismos datos más fiables, y brindar un acceso de alta velocidad. Esta tecnología esta orientada a usuarios domésticos y pequeñas empresas. Tipos de RAID RAID por Hardware. Hace uso de un controlador en el PC, que se encarga de como se escriben los datos en el disco. Esta solución es completamente transparente al sistema operativo, por ejemplo el sistema operativo verá el disco como si fuera un único dispositivo físico, mientras que el hardware subyacente puede haber un elevado número de discos. RAID por Software. Esta solución RAID se configura en el sistema operativo. No requiere controladoras especiales de disco pero es por supuesto dependiente del sistema operativo. Fake RAID. Esta es una solución híbrida. El controlador del disco añade cierta meta información a los discos y permite sincronizarlos cuando se construye el conjunto RAID (normalmente un 3

conjunto de dos discos). Requiere un controlador de dispositivo en el sistema operativo para mapear el conjunto de discos a un dispositivo virtual que es visto por el sistema operativo como uno solo. Normalmente se utiliza con discos SATA. En Linux, la herramienta para mapear el conjunto RAID para un dispositivo virtual en el sistema de archivos es dmraid. LVM (Logical Volume Manager) Logical Volume Manager, es un gestor de volúmenes lógicos - un sistema de control de espacio en los discos duros, que abstrae de los dispositivos físicos. Permite administrar fácil y efectivamente el espacio de los discos. LVM tiene una buena escalabilidad, y reduce la complejidad del sistema en general. En los volúmenes lógicos creados con LVM, se puede fácilmente agregar o reducir el tamaño de la unidad lógica. Logical Volume Management es un sistema especialmente útil para trabajar con los servidores, ya que proporciona la escalabilidad y facilidad de gestión del espacio en los discos. Agiliza la planificación del espacio de discos y previene los problemas que surgen con el crecimiento inesperadamente rápido del lugar ocupado en las secciones. LVM no está diseñado para proporcionar servicio de redundancia ni de alto rendimiento. Debido a que a menudo se utiliza en combinación con el sistema RAID. Conceptos básicos: PV (Physical volume - el volumen físico). Por lo general, es una sección en el disco o todo el disco. Incluye el software del dispositivo y RAID de hardware (que ya puede incluir varios discos físicos). Los volúmenes físicos son parte del grupo de volúmenes. VG (Volume group - el grupo de volumen). Este es el más alto nivel del sistema abstracto que se utiliza en LVM. Por un lado, el grupo de volúmenes se compone de volúmenes físicos, por el otro - de la lógica que proporcionan una sola unidad administrativa. LV (Logical volume - el volumen lógico). Es la sección del grupo de volúmenes, lo que equivale a una partición de disco en un no-lvm-sistema. Representa un dispositivo de bloque y puede contener un sistema de archivos. PE (Physical extent - la extensión física). Cada volumen físico se divide en fragmentos de datos, llamadas extensiones físicas. Sus dimensiones son las mismas que la de las extensiones lógicas. LE (Logical extent - la medida lógica). Cada volumen lógico está dividido en pedazos de datos llamados extensiones lógicas. El tamaño de las extensiones lógicas no se cambia dentro de un grupo de volúmenes. XEN Xen es una tecnología de virtualización (también llamada como monitor de máquina virtual) que apoya la ejecución simultánea de múltiples sistemas operativos invitados dentro de una maquina física con alto rendimiento y aislamiento de recursos. Xen es un producto con código abierto y se distribuye bajo la licencia GNU. 4

CentOS CentOS es la distribución de Linux, basada en la distribución comercial de Red Hat Enterprise Linux de la compañía Red Hat. Red Hat Enterprise Linux está basado en software libre de código abierto, pero está disponible en forma de discos para los paquetes binarios sólo para los suscriptores de pago. Según los requisitos de la licencia GPL y otros, Red Hat ofrece todo el código fuente. los desarrolladores de CentOS utilizan el código fuente para crear el producto final, muy cercano de Red Hat Enterprise Linux y está disponible para su libre descarga. Instalación Como servidor de aplicaciones se utiliza un ordenador con posibilidad de montarse en RACK y tiene las siguientes características: La placa base: Asus P5E3, (ICH7) Procesador: Intel(R) Core(TM)2 Duo CPU E6750 @ 2.66GHz Memoria: 4Gb DDR2, 667Mhz Discos duros: 3 x SATA II, con capacidad de 500 GB cada uno. Tarjetas de red: 2 x Gigabit Ethernet Controller (Marvell 88E8053) El centro de la plataforma es el sistema operativo Linux CentOS versión 5.4 de 64 bits, imagen iso (versión compacta de instalación por red) se descarga desde la pagina web de CentOS http://www.centos.org/ y se graba en CD. Se utiliza una plataforma de 64 bits debido a que el equipo tiene 4Gb de RAM y existe la posibilidad de incremento de la memoria en el futuro. Pruebas previas de HARDWARE Antes de comenzar la instalación del sistema operativo y de los servicios, se comprueba el funcionamiento normal de la memoria con herramienta memtest86. Durante el arranque del CD, en promt de la consola se ejecuta el comando: # memtest86 5

El proceso de comprobación tiene un tiempo estimado de 8-11 horas. Redundancia de datos fake RAID 5 Existen numerosos discursos en foros y blogs sobre ventajas / desventajas de fake RAID contra software RAID. Por si mismo fake RAID no garantiza el aumento de la velocidad en su funcionamiento, pero tiene una ventaja muy importante: reconstruir RAID sin la necesidad de arrancar el sistema operativo así, un usuario sin conocimiento del Linux, puede realizar la recuperación o la reconstrucción desde las opciones del BIOS. RAID 5 - una solución intermedia entre el RAID 0 y 1, es una matriz con tolerancia a fallos de los discos independientes con paridad distribuida de bloques. RAID-5 puede sobrevivir a un fallo de disco, pero no a dos o más (Es recomendable no comprar todos los discos del mismo modelo y mismo lote, ya que existe mayor probilidad de sufrir un fallo en el mismo período de tiempo). Ventajas Alto nivel de utilización de espacio en el disco (calculado por la fórmula (n-1) size *, donde n representa el número de discos de la matriz y size - el tamaño de un disco Alta velocidad de grabación de datos Relativamente alta velocidad de lectura de datos Alto rendimiento con alta intensidad de las solicitudes de lectura / escritura de datos Desventajas Baja velocidad de lectura / escritura de datos de pequeño volumen en la consulta única En caso de fallo la recuperación de datos es más complicada El arreglo de discos (RAID 5) previamente se configura con las herramientas de BIOS con nombre del grupo Volume0. La guía de configuración del RAID se encuentra en los manuales de la placa de la unidad. 6

Durante el arranque del ordenador, aparece la información de los discos y de los arreglos. RAID Volumnes: ID NAME Level Strip Size Status Bootable 0 Volume0 RAID5 N/A 1000.2GB Normal Yes Physical Disks: Port Drive Model Serial # Size Type/Status(Volume ID) 1 ST3500320AS 3RFY53YT 500.0 GB Member Disk (0) 2 ST3500320AS 9PA6Q3NM 500.0 GB Member Disk (0) 3 ST3500320AS 6RT3G8C2 500.0 GB Member Disk (0) Instalación del sistema operativo Durante de arranque de CD, en promt de la consola se ejecuta el comando: # linux text El sistema operativo se instala de la manera estándar, incluyendo los siguientes detalles: Installation Method : HTTP Configure TCP / IP (*) Enable IP v4support (*) Manual configuration En red local, no existe un servidor DHCP y se utilizara la siguiente configuración de red: IP: 10.0.0.254 / 24 Puerta de enlace: 10.0.0.2 Servidor DNS: 10.0.0.2 7

Sitio Web: mirror.centos.org Directorio: /centos/5.4/os/x86_64 Partition Type (*) Create custom layout En esta etapa se crea el sistema de archivos del sistema operativo principal (Domain0). Arreglo RAID debe aparecer como un solo dispositivo único en la lista de discos duros disponibles, con el siguiente nombre : /dev/mapper/isw_*_volume0 La suma total de espacio disponible de los 3 discos duros en la configuración RAID 5 es de 1000.2Gb. Se crean las siguientes particiones: Nombre (punto de montaje) Tamaño Sistema de archivos /boot 100Mb Ext3 / 25Gb Ext3 Swap 8Gb Swap Es recomendable que el tamaño del swap sea el doble de la memoria física. Se actualizara nombre del equipo (hostname) a APPXEN editando fichero /etc/sysconfig/network La instalación concluirá con el reiniciado del equipo. 8

Instalación de XEN # yum install kernel-xen xen Después de la instalación, en configuración del GRUB se añade el nuevo Kernel (con soporte de Xen) y se cambiara el orden de prioridad de inicio por defecto. Se edita el archivo /boot/grub/menu.lst y se remplaza default=1 por default=0. La instalación concluirá con el reiniciado del equipo. Si todo ha ido bien, se comprueba la nueva versión de kernel instalada (con soporte de Xen incluido) # uname r 2.6.18-164.el5xen # xm list Name ID Mem(MiB) VCPUs State Time(s) Domain-0 0 3995 r----- 11774.7 Configuración de LVM Antes de configurar LVM, se comprueba el estado del RAID # dmraid -s *** Group superset isw_bfdbigghai --> Active Subset name : isw_bfdbigghai_volume0 size : 1953535744 stride : 128 type : raid5_la status : ok subsets: 0 devs : 3 spares : 0 # dmraid r /dev/sda: isw, "isw_bfdbigghai", GROUP, ok, 976773165 sectors, data@ 0 /dev/sdb: isw, "isw_bfdbigghai", GROUP, ok, 976773165 sectors, data@ 0 /dev/sdc: isw, "isw_bfdbigghai", GROUP, ok, 976773165 sectors, data@ 0 Se instala el paquete de utilitarios de LVM # yum install -y lvm2 9

El arreglo de discos RAID Volume0 dispone ~968Gb libres lo cuales se ocuparan con volumen físico de LVM. Se crea la nueva partición de tipo LVM en arreglo de discos Volume0. # fdisk /dev/mapper/isw_bfdbigghai_volume0 La nueva partición se agrega con la letra n, luego se cambia el tipo de sistema de archivos (con la letra t) a 8e (Linux LVM). Por ultimo, se graban los cambios de fdisk (con la letra w). Se comprueba la creación de la partición. # fdisk -l /dev/mapper/isw_bfdbigghai_volume0 Device Boot Start End Blocks Id System /dev/mapper/isw_bfdbigghai_volume0p1 * 1 13 104391 83 Linux /dev/mapper/isw_bfdbigghai_volume0p2 14 650 5116702+ 82 Linux swap / Solaris /dev/mapper/isw_bfdbigghai_volume0p3 3838 121602 945947169+ 8e Linux LVM /dev/mapper/isw_bfdbigghai_volume0p4 651 3837 25599577+ 5 Extended /dev/mapper/isw_bfdbigghai_volume0p5 651 3837 25599546 83 Linux Se crea el volumen físico (PV) sobre la partición. # pvcreate VolGroupData1 /dev/mapper/isw_bfdbigghai_volume0p3 Finalmente se crea un grupo de volúmenes (VG). # vgcreate VolGroupData1 /dev/mapper/isw_bfdbigghai_volume0p3 Se comprueba la creación de grupo de volúmenes. # vgscan Reading all physical volumes. This may take a while... Found volume group "VolGroupData1" using metadata type lvm2 10

Instalación y despliegue de las maquinas virtuales Se crean los volúmenes lógicos para las maquinas virtuales (Ilustración 1) Ilustración 1: Distribución del espacio en arreglo RAID - Elaboración propia Servidor SRV01 (Alfresco) # lvcreate -L10g -nlvsrv01 VolGroupData1 # lvcreate -L150g -nlvapp01 VolGroupData1 Base de datos y SVN # lvcreate -L150g nlvdata01 VolGroupData1 # lvcreate L30g nlvsvn VolGroupData1 11

Servidor SRV02 (Redmine) # lvcreate L20g nlvsrv02 VolGroupData1 # lvcreate L40g nlvdata02 VolGroupData1 Instalación de las maquinas virtuales. En ambos servidores, los sistemas operativos se instalan con opciones por defecto. Al servidor SRV01 se asigna 1499Mb de la memoria RAM. # virt-install -n SRV01 -p -r 1499 --location=http://mirror.centos.org/centos/5.4/os/x86_64 --file /dev/mapper/volgroup00-lvsrv01 --vcpus=18 Al servidor SRV02 se asigna 1024Mb de la memoria RAM. # virt-install -n SRV02 -p -r 1024 --location=http://mirror.centos.org/centos/5.4/os/x86_64 --file /dev/mapper/volgroup00-lvsrv02 --vcpus=16 Detención de las maquinas virtuales. # xm shutdown SRV01 # xm shutdown SRV02 Para agregar la partición adicional a la maquina virtual (donde se instale el aplicativo) se edita el fichero de la configuración. Servidor SRV01 fichero /etc/xen/srv01 Se remplaza disk = [ "phy:/dev/mapper/volgrosupdata1-lvsrv01,xvda,w" ] por disk = [ "phy:/dev/mapper/volgrosupdata1-lvsrv01,xvda,w", "phy:/dev/mapper/volgroupdata1-lvapp01,xvdb,w" ] Servidor SRV02 fichero /etc/xen/srv02 Se remplaza disk = [ "phy:/dev/mapper/volgroupdata1-lvsrv02,xvda,w" ] por disk = [ "phy:/dev/mapper/volgroupdata1-lvsrv02,xvda,w", "phy:/dev/mapper/volgroupdata1-lvdata02,xvdb,w" ] Para autoarranque de las maquinas virtuales con sistema operativo principal (Domain0) se ejecutan los siguientes comandos. 12

(De esta manera no hay que iniciar cada maquina virtual a mano cada vez que se reinicia el equipo) # ln -s /etc/xen/srv01 /etc/xen/srv01 # ln -s /etc/xen/srv02 /etc/xen/srv02 Inicio de las maquinas virtuales # xm create SRV01 # xm create SRV02 Se comprueba que las maquinas virtuales están activas # xm list Name ID Mem(MiB) VCPUs State Time(s) Domain-0 0 1457 2 r----- 5434.9 SRV01 1 1499 18 -b---- 1975.6 SRV02 2 1023 16 -b---- 4533.6 A las maquinas virtuales se puede acceder por consola interna de XEN # xm console ID A cada maquina virtual: se asignará hostname idéntico al nombre de la maquina virtual se añaden los siguientes alias DNS en el fichero /etc/hosts 10.0.0.254 db.local 10.0.0.253 smtp.local se configura la interfase de red eth0 (se edita el fichero /etc/sysconfig/network-scripts/ifcfgeth0) DEVICE=eth0 BOOTPROTO=static IPADDR= Dirección IP correspondiente NETMASK=255.255.255.0 GATEWAY=10.0.0.2 ONBOOT=yes * Es importante especificar puerta de enlace para el funcionamiento normal del NAT Nombre del la maquina Dirección IP correspondiente SRV01 10.0.0.253 SRV02 10.0.0.249 Los cambios se aplican reiniciando interfaces de red # /sbin/service network restart 13

Instalación y configuración de los servicios Ilustración 2: Estructura de los servicios - Elaboración propia En las maquinas se instalan los siguientes servicios y aplicaciones: APPXEN MySQL Apache Subversion SRV01 Postfix XVFB (Virtual Framebuffer X) OpenOffice ImageMagick y SFT Tools Java JRE Alfresco 14

SRV02 Rubygems Rails Redmine Base de datos MySQL Los archivos de la base de datos se colocan en el volumen lógico dedicado para este fin, llamado lvdata01, con lo cual permitirá crear snapshots y extender el tamaño de la partición mediante herramientas de LVM. El Volumen lógico se formateara con el sistema de archivos Ext3 # mkfs.ext3 /dev/mapper/volgroupdata1-lvdata01 Instalación de la base de datos MySQL # yum install mysql-server mysql mysql-devel # mkdir /tmp/mysqltmp # mv /var/lib/mysql/* /tmp/mysqltmp Punto de montaje del volumen lógico lvdata01 es /var/lib/mysql # mount /dev/mapper/volgroupdata1-lvdata01 /var/lib/mysql # mv /tmp/mysqltmp/* /var/lib/mysql/ Automontaje del volumen lógico mediante archivo fstab # echo /dev/volgroupdata1/lvdata01 /var/lib/mysql ext3 defaults 1 2 >> /etc/fstab Arranque del servicio automáticamente con inicio del equipo # /sbin/chkconfig mysqld on Cambio de la contraseña root de la base de datos MySQL # /usr/bin/mysqladmin u root h localhost password claveroot Creación de las bases de datos y sus respetivos usuarios para los aplicativos: Alfresco, Redmine y SVN # mysql -u root pclaveroot drop database IF EXISTS alfresco; drop database IF EXISTS redmine; -- drop user alfresco; -- drop user redmine; -- drop user authsvn; 15

create database alfresco character set utf8; create database redmine character set utf8; create user alfresco identified by 'clavealfresco'; create user redmine identified by 'claveredmine'; create user authsvn identified by 'clavesvn'; grant SELECT,INSERT,UPDATE,DELETE,ALTER,ALTER ROUTINE,CREATE,CREATE VIEW on redmine.* to redmine@10.0.0.249; grant SELECT,INSERT,UPDATE,DELETE,ALTER,ALTER ROUTINE,CREATE,CREATE VIEW on alfresco.* to alfresco@10.0.0.253; grant SELECT on redmine.* to authsvn@localhost; flush privileges; Subversion Instalación del servicio subversión y del modulo WebDavSVN # yum install subversion Los datos del SVN(archivos de proyectos y los códigos fuentes) se colocan en el volumen lógico llamado lvsvn. Volumen lógico se formateara con el sistema de archivos Ext3. # mkfs.ext3 /dev/mapper/volgroupdata1-lvsvn Punto de montaje es /svn # mount /dev/mapper/volgroupdata1-lvsvn /svn Automontaje del volumen lógico mediante archivo fstab # echo /dev/mapper/volgroupdata1-lvsvn /svn ext3 defaults 1 2 >> /etc/fstab # mkdir p /svn/subversion # mkdir p /svn/www/svn Los repositorios de fuentes se almacenan en el siguiente directorio: /svn/subversion/ Se crea el primer repositorio (proyecto) con nombre proyecto1. # cd /svn/subversión # svnadmin create proyecto1 16

Apache Instalación de Apache y los módulos necesarios para funcionamiento del Svn vía WedDav # yum install httpd apr apr-util httpd mod_auth_mysql mod_dav_svn Módulo auth_mysql permite utilizar base de datos Mysql como backend de autentificación. El fichero de configuración de Apache (/etc/httpd/conf/httpd.conf) al menos debe incluir los siguientes parámetros. Listen 8080 LoadModule auth_basic_module modules/mod_auth_basic.so LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule dav_module modules/mod_dav.so Include conf.d/*.conf ServerName localhost:8080 AddDefaultCharset UTF-8 NameVirtualHost *:8080 <VirtualHost *:8080> DocumentRoot "/var/www/html" ServerName server.grupoteva.com Options FollowSymLinks Includes IncludesNOEXEC Indexes MultiViews SymLinksIfOwnerMatch CustomLog logs/server.access_log combined ErrorLog logs/server.error_log SetOutputFilter DEFLATE BrowserMatch ^Mozilla/4\.0[678] no-gzip\ BrowserMatch \bmsi[e]!no-gzip!gzip-only-text/html SetEnvIfNoCase Request_URI \ \.(?:gif jpe?g png zip rar gzip gz tar mp3 pdf)$ no-gzip dont-vary </VirtualHost> Configuración del módulo auth_mysql ( /etc/httpd/conf.d/auth_mysql.conf) LoadModule mysql_auth_module modules/mod_auth_mysql.so 17

Configuración del modulo Proxy pass y NAT Esta configuración permite integrar los servicios de Redmine y Alfresco a un solo portal visible para el usuario. El fichero de configuración (/etc/httpd/conf.d/proxy_ajp.conf) debe tener los siguientes parámetros. LoadModule proxy_ajp_module modules/mod_proxy_ajp.so # El trafico http que viene a *:8080/share, # pasa al servidor 10.0.0.253(Alfresco) utilizando protocolo AJP (Apache JServ Protocol) ProxyPass /share ajp://10.0.0.253:8009/share ProxyPassReverse /share ajp://10.0.0.253:8009/share # El trafico http que viene a *:8080/redmine pasa al servidor 10.0.0.249 (Redmine) <Location /redmine> ProxyPass http://10.0.0.249:3000/redmine ProxyPassReverse http://10.0.0.249:3000/redmine # Filtro de salida permite comprimir (gzip) contenidos estáticos como HTML y CSS SetOutputFilter DEFLATE BrowserMatch ^Mozilla/4\.0[678] no-gzip\ BrowserMatch \bmsi[e]!no-gzip!gzip-only-text/html SetEnvIfNoCase Request_URI \ \.(?:gif jpe?g png zip swf rar gzip gz tar mp3 pdf)$ no-gzip dont-vary </Location> 18

Ilustración 3: Configuración del Proxy pass y NAT - Elaboración propia NAT se realiza con funciones del router ADSL. En configuración se crean las 3 siguientes reglas: Redireccionar todo trafico de ip publica:7070 a 10.0.0.253:7070 (protocolo de SharePoint) Redireccionar todo trafico de ip publica:8080 a 10.0.0.254:8080 (Http) Redireccionar todo trafico de ip publica:22 a 10.0.0.253:22 (Ssh) Adicionalmente en router ADSL se configura el servicio de DNS dinámico (línea ADSL no tiene el servicio de la ip pública fija) 19

Configuración de acceso a SVN por medio del protocolo WebDAV Para acceder a los repositorios de fuentes SVN, Apache debe tener los permisos de lectura/escritura. # cd /svn ; chown R subversión www El fichero de configuración del SVN (/etc/httpd/conf.d/svn.conf) <VirtualHost *:8080> ServerName devel.grupoteva.com DocumentRoot "/svn/www/svn" ServerName [FQDN] # proyecto1 <Location /svn/proyecto1> DAV svn SVNPath /svn/subversion/ proyecto1 AuthType Basic AuthName "Dev zone" AuthBasicAuthoritative Off AuthUserFile /dev/null AuthMYSQLEnable on AuthMySQLAuthoritative on AuthMySQLHost localhost AuthMySQLDB redmine AuthMySQLUser authsvn AuthMySQLPassword clavesvn AuthMySQLUserTable users_auth_external AuthMySQLGroupTable users_auth_external AuthMySQLNameField username AuthMySQLPasswordField passwd AuthMySQLGroupField groups AuthMySQLPwEncryption SHA1 Require group proyecto1 </Location> <Directory "/svn/www/svn"> allow from all Options +Indexes </Directory> CustomLog logs/devel.access_log combined ErrorLog logs/devel.error_log </VirtualHost> Cada proyecto en Redmine, tiene un único identificador del proyecto, el parámetro Require group proyecto1 indica que a la dirección /svn/proyecto1 solo pueden acceder usuarios que son miembros del proyecto (proyecto1). 20

Postfix Servicio MTA postfix se utilizará como Relay y todos los correos electrónicos se enviarán al servidor smtp externo smtp.grupoteva.com. # yum install postfix El fichero de configuración del Postfix (/etc/postfix/main.conf) inet_interfaces = localhost, 10.0.0.253 mynetworks = 127.0.0.0/8, 10.0.0.0/24 relayhost = smtp.grupoteva.com smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_mechanism_filter = plain, login smtp_sasl_security_options = noanonymous El fichero /etc/postfix/sasl_passwd debe tener el usuario y la contraseña utilizada para autenticación en el servidor smtp smtp.grupoteva.com. smtp.grupoteva.com usuariosmtp: usuariocontraseña XVFB (Virtual Framebuffer X) Las versiones de OpenOffice.org 2.3 a continuación requieren un servidor X que debe estar presente para hacer una interfaz gráfica de usuario. Para ejecutar OpenOffice desde un terminal, por lo que es necesario instalar un framebuffer virtual como Xvfb. # yum install xorg-x11-server-xvfb Instalación de ImageMagick y SFT Tools # yum install ImageMagick # rpm Uhv http://packages.sw.be/swftools/swftools-0.8.1-1.el5.rf.x86_64.rpm OpenOffice Alfresco requiere OpenOffice.org para transformar los documentos de un formato a otro, por ejemplo, Microsoft Word a PDF. Instalación # yum install openoffice.org-graphicfilter openoffice.org-draw openoffice.org-core \ openoffice.org-writer openoffice.org-xsltfilter openoffice.org-calc \ openoffice.org-math openoffice.org-base openoffice.org-impress 21

Alfresco El servicio se instala y se configura en la maquina virtual SRV01 (10.0.0.253). Los archivos del programa se colocan en el volumen lógico llamado lvapp01. Dentro del sistema operativo que esta reconocido como dispositivo /dev/xvdb. Se crea el sistema de archivos de tipo ext3. # fdisk /dev/xvdb La nueva partición se agrega con la letra n y los cambios se graban (con la letra w). Formateo de la nueva partición # mkfs.ext3 /dev/xvdb1 Punto de montaje de la partición es /opt/app # mkdir /opt/app ; mount /dev/xvdb1 /opt/app Automontaje de la partición mediante archivo fstab # echo /dev/xvdb1 /opt/app ext3 defaults 1 2 >> /etc/fstab Instalación de JDK JAVA La versión estable de JDK con la cual se realizó la instalación es jdk-1.6.0_18-fcs. # rpm -Uhv ftp://zid-lux1.uibk.ac.at/pub/dist/uibk/3.7/x86_64/os/packages/jdk-1.6.0_18- fcs.x86_64.rpm Se comprueba la instalación correcta de JDK # java version java version "1.6.0_18" Java(TM) SE Runtime Environment (build 1.6.0_18-b07) Java HotSpot(TM) 64-Bit Server VM (build 16.0-b13, mixed mode) Aplicativo Alfresco se descarga desde la pagina: http://process.alfresco.com/ccdl/?file=release/community/build-2440/alfresco-community-3.2r2- Linux-x86-Install # chmod +x Alfresco-Community-3.2r2-Linux-x86-Install #./Alfresco-Community-3.2r2-Linux-x86-Install El directorio de la instalación es /opt/app/alfresco Instalación del conector a la base de datos Mysql 22

# wget http://gd.tuwien.ac.at/db/mysql/downloads/connector-j/mysql-connector-java- 5.1.13.tar.gz # tar xzf mysql-connector-java-5.1.13.tar.gz # cp mysql-connector-java-5.1.13/mysql-connector-java-5.1.13-bin.jar \ /opt/app/alfresco/tomcat/lib/ Por defecto Alfresco no soporta el protocolo SharePoint, para ello se instala un módulo adicional descargado desde la página oficial. # cd /opt/app/alfresco/amps/ # wget c http://www.alfresco.com/elqnow/elqredir.htm?ref=http://dl.alfresco.com/build- 1342/vti-module.amp?dl_file=build-1342/vti-module.amp -O vti-module.amp # /opt/app/alfresco/apply_amps.sh El fichero de configuración /opt/app/alfresco/tomcat/shared/classes/alfresco-global.properties) debe tener los siguientes parámetros. vti.server.port=7070 vti.alfresco.deployment.context=/alfresco vti.alfresco.alfresohostwithport=http://10.0.0.253:8080 vti.share.sharehostwithport=http://10.0.0.253:8080 dir.root=/opt/app/alfresco_data db.name=alfresco db.username=alfresco db.password=clavealfresco db.host=db.local db.port=3306 ooo.exe=/usr/lib64/openoffice.org/program/soffice ooo.user=/opt/app/alfresco_data/oouser img.root=/usr/local swf.exe=/usr/bin/pdf2swf db.driver=org.gjt.mm.mysql.driver db.url=jdbc:mysql://db.local:3306/alfresco hibernate.dialect=org.hibernate.dialect.mysqlinnodbdialect mail.host=db.local mail.port=25 mail.encoding=utf-8 mail.from.default=alfresco@grupoteva.com mail.smtp.auth=true Script que permite arrancar los servicios (Alfresco, XVFB, OpenOffice) automáticamente con inicio de la maquina virtual (/etc/rc.d/init.d/alfresco). 23

#!/bin/bash # Boot open office so that Alfresco can do transforms. # chkconfig: 2345 55 25 # description: Alfresco Headless # processname: soffice # source function library. /etc/rc.d/init.d/functions RETVAL=0 VDISPLAY='99' SOFFICE_PATH='/usr/lib64/openoffice.org/program' SOFFICE_ARGS1="-nofirststartwizard -nologo -headless -display :$VDISPLAY " SOFFICE_ARGS2='-accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager' SOFFICE_PIDFILE=/var/run/soffice.bin.pid XVFB=/usr/bin/Xvfb XVFB_ARGS=":$VDISPLAY -screen 0 800x600x8 -fbdir /var/run" XVFB_PIDFILE=/var/run/xvfb.pid start_soffice() { echo -n $"Starting OpenOffice" $SOFFICE_PATH/soffice $SOFFICE_ARGS1 $SOFFICE_ARGS2 >/dev/null 2>&1 & [ $? -eq 0 ] && echo_success echo_failure pidof soffice.bin > $SOFFICE_PIDFILE echo } start_xvfb() { echo -n $"Starting Xvfb" $XVFB $XVFB_ARGS >/dev/null 2>&1 & [ $? -eq 0 ] && success failure pidofproc Xvfb > $XVFB_PIDFILE echo } start() { start_xvfb sleep 3 start_soffice /opt/app/alfresco/alfresco.sh start } stop() { echo -n $"Stopping OpenOffice" killproc soffice.bin echo echo -n $"Stopping Xvfb" killproc Xvfb echo /opt/app/alfresco/alfresco.sh stop } case "$1" in start) 24

start ;; stop) stop ;; restart) stop start ;; *) echo $"Usage: $0 {start stop restart}" esac # /sbin/chkconfig add alfresco # /sbin/service alfresco start Redmine El servicio se instala y se configura en la maquina virtual SRV02 (10.0.0.249). Los archivos del programa se colocan en el volumen lógico llamado lvdata02. Dentro del sistema operativo reconocido como dispositivo /dev/xvdb. Se crea el sistema de archivos de tipo Ext3. # fdisk /dev/xvdb La nueva partición se agrega con la letra n y los cambios se graban (con la letra w). Formateo de la nueva partición # mkfs.ext3 /dev/xvdb1 Punto de montaje de la partición es /opt # mkdir /opt ; mount /dev/xvdb1 /opt Automontaje de la partición mediante archivo fstab # echo /dev/xvdb1 /opt ext3 defaults 1 2 >> /etc/fstab Los repositorios actuales de CENTOS no tienen la versión de rubby necesaria (1.8.6), se instala la configuración del nuevo repositorio llamado elff. # rpm -Uhv http://download.elff.bravenet.com/5/x86_64/elff-release-5-3.noarch.rpm # yum install ruby ruby-devel ruby-libs ruby-irb ruby-rdoc ruby-mysql rubygems # gem install -v=2.3.5 rails 25