gestión de contenidos web del grupo de investigación en

gestión de contenidos web del grupo de investigación en
UNIVERSIDAD de VALLADOLID
ESCUELA de INGENIERÍAS INDUSTRIALES
INGENIERO TÉCNICO DE TELECOMUNICACIÓN,
ESPECIALIDAD EN SISTEMAS ELECTRÓNICOS
PROYECTO FIN DE CARRERA
GESTIÓN DE CONTENIDOS WEB
DEL GRUPO DE INVESTIGACIÓN
EN CONTROL Y SUPERVISIÓN DE
PROCESOS
Autor:
López García, Juan
Tutor:
Zamarreño Cosme, Jesús M.
Ingeniería de Sistemas y
Automática
OCTUBRE — 2012
RESÚMEN
El presente proyecto se realiza para el Grupo de Investigación Reconocido
de Control y Supervisión de Procesos (GIR CSP), perteneciente al
Departamento de Ingeniería de Sistemas y Automática (ISA) de la Escuela
de Ingenierías Industriales.
Se trata de dotar al departamento de una infraestructura de virtualización
con Vmware vSphere Hypervisor 5.0, con la cual poder reducir el número de
servidores físicos y poder utilizar de una forma más eficiente los recursos
para eliminar la infrautilización de algunos servidores.
Instalar y configurar un sistema operativo (Ubuntu Server 10.04) que
proporcione un entorno seguro para las páginas webs del departamento, así
como para la del Grupo de Investigación.
Desarrollar la página web del Grupo de Investigación Reconocido de Control
y Supervisión de Procesos, en un entorno sencillo para añadir contenidos,
actualizaciones, añadir nuevas funcionalidades que sean necesarias en un
futuro y que sea el lugar idóneo para el desarrollo colaborativo del resto de
los integrantes del grupo para que con su contribución, dicho grupo pueda
tener una página web completa y actualizada.
PALABRAS CLAVE
Virtualización
Joomla
Sistemas Operativos
Vmware
CMS
Apache
Linux
PHP
Backup
Ubuntu
MySQL
Servidor
UNIVERSIDAD de VALLADOLID
ESCUELA de INGENIERÍAS INDUSTRIALES
INGENIERO TÉCNICO DE TELECOMUNICACIÓN,
ESPECIALIDAD EN SISTEMAS ELECTRÓNICOS
PROYECTO FIN DE CARRERA
GESTIÓN DE CONTENIDOS WEB
DEL GRUPO DE INVESTIGACIÓN
EN CONTROL Y SUPERVISIÓN DE
PROCESOS
Autor:
López García, Juan
Tutor:
Zamarreño Cosme, Jesús M.
Ingeniería de Sistemas y
Automática
OCTUBRE — 2012
Contenido
I. MEMORIA
7
1. INTRODUCCIÓN .................................................................... 8
1.1
Descripción General .......................................................... 8
1.2
Antecedentes ................................................................... 9
1.3
Objetivos ...................................................................... 10
1.4
Solución Adoptada .......................................................... 12
2. ANÁLISIS DE LOS ELEMENTOS EMPLEADOS ........................... 14
2.1
Sistema VMware ESXi 5.0 Hypervisor ................................ 14
2.1.1
Introducción........................................................... 14
2.1.2
Ventajas de la virtualización ..................................... 16
2.1.3
Máquina Virtual ...................................................... 17
2.1.4
Diferencias entre Virtualización basada en Hipervisor o
en Host ............................................................................ 20
2.1.5
2.2
Versión 5.0 del Hipervisor ........................................ 22
Sistemas Operativos Guest .............................................. 23
2.2.1
Microsoft Windows 2008 .......................................... 23
2.2.2
Ubuntu 10.04 LTS Server ........................................ 25
2.3
Servidor OpenSSH .......................................................... 28
2.4
Servidor Web Apache ...................................................... 29
2.4.1
Directivas de Configuración ...................................... 30
2.4.2
Módulos de Apache ................................................. 32
2.5
PHP 5 ........................................................................... 33
2.5.1
Funcionalidades ...................................................... 33
1
2.5.2
Versión 5 ............................................................... 34
2.5.3
phpMyAdmin .......................................................... 35
2.6
Bases de Datos MySQL.................................................... 35
2.6.1
Introducción........................................................... 35
2.6.2
Aplicaciones ........................................................... 36
2.7
Servidor de Correo Postfix ............................................... 37
2.7.1
2.8
Modos de Ejecución en el Servidor ............................ 37
Joomla! 1.5 ................................................................... 38
2.8.1
Requisitos para Instalar Joomla! 1.5 ......................... 39
2.8.2
Funcionamiento ...................................................... 39
2.8.3
Elementos de Joomla! ............................................. 40
2.8.4
Tipos de Usuarios de Joomla! ................................... 42
2.8.5
Fomas de Acceso a Joomla! ..................................... 44
2.8.6
J!Research ............................................................. 45
3. CONCLUSIONES Y LÍNEAS FUTURAS ..................................... 47
3.1
Conclusiones.................................................................. 47
3.2
Líneas Futuras ............................................................... 48
II. PROCESO DE IMPLANTACIÓN
50
1. SERVIDOR FÍSICO .............................................................. 51
1.1
Descripción .................................................................... 51
1.2
Características ............................................................... 51
2. ARQUITECTURA DE RED ...................................................... 53
2.1
Diseño de red de las máquinas ......................................... 53
2
2.2
Diagrama jerárquico del sistema virtual ............................ 57
3. INSTALACIÓN VMWARE ESXi 5.0 HYPERVISOR ....................... 59
3.1
Introducción .................................................................. 59
3.1.1
Requerimientos Mínimos .......................................... 59
3.1.2
Descarga del Software............................................. 60
3.1.3
Licencia de Vmware ESXi 5.0 ................................... 61
3.2
Instalación .................................................................... 63
3.3
Configuración................................................................. 68
3.3.1
Configuración básica de red ..................................... 68
3.3.2
vSphere Client........................................................ 70
3.3.3
Acceso SSH............................................................ 72
3.3.4
Acceso vSphere Command-Line Interface (vCLI) ........ 76
4. INSTALACIÓN MÁQUINA VIRTUAL UBUNTU ............................ 79
4.1
Creación del entorno en Vmware ESXi 5.0 ......................... 79
4.2
Instalación de Ubuntu Server 10.04 .................................. 92
4.3
Configuración de Ubuntu Server 10.04 ............................ 107
4.3.1
Configuración de IPs y hosts .................................. 107
4.3.2
Configuración acceso SSH y SFTP ........................... 109
4.3.3
Configuración del servidor web Apache .................... 111
4.3.4
Estadísticas Web. AWSTATS ................................... 117
5. INSTALACIÓN DE JOOMLA! 1.5 ........................................... 122
5.1
Instalación PhpMyAdmin ............................................... 122
5.2
Pasos de la instalación de Joomla! 1.5 ............................ 124
5.3
Permisos de los directorios ............................................ 130
3
5.4
Instalación y Configuración de Plantillas .......................... 131
5.4.1
Front-End ............................................................ 131
5.4.2
Back-End ............................................................. 135
5.5
Módulos de Joomla! ...................................................... 136
5.5.1
Módulo Attachments ............................................. 137
5.5.2
Módulo JEvents .................................................... 137
5.5.3
Módulo J!Research ................................................ 140
5.5.4
Módulo JCE Editor ................................................. 144
5.5.5
Módulo Joom!Fish ................................................. 146
5.5.6
Módulo uddeIM ..................................................... 151
5.6
Migración de la antigua base de datos ............................. 153
5.6.1
Análisis de la antigua base de datos ........................ 154
5.6.2
Análisis de la nueva base de datos .......................... 159
5.6.3
Proceso de migración ............................................ 162
6. POLÍTICA DE BACKUPS ...................................................... 164
6.1
Backup de archivos del servidor Ubuntu .......................... 166
6.2
Backup de Máquinas Virtuales ........................................ 169
6.3
Sistema de copias de seguridad en red ........................... 176
6.3.1
Backup de archivos Ubuntu por NFS ........................ 176
6.3.2
Backup de máquinas virtuales por NFS .................... 178
III. PRESUPUESTO
183
1. OFERTA ECONÓMICA ......................................................... 184
1.1
Desglose del Material .................................................... 184
1.2
Desglose Instalación y Mantenimiento ............................. 186
4
1.2.1
Descripción Servicio de Mantenimiento .................... 187
1.2.2
Descripción Bolsa de Horas .................................... 188
1.3
Resumen Presupuesto ................................................... 189
IV. ANEXOS
189
1. MANUAL DE ADMINISTRADOR ............................................ 191
1.1
Introducción ................................................................ 191
1.2
Operaciones en VMware ESXi 5.0 ................................... 191
1.2.1
Aplicación de actualizaciones y parches ................... 191
1.2.2
Restauración de Máquinas Virtuales ........................ 197
1.3
Operaciones en Ubuntu Server 10.04 .............................. 200
1.3.1
Creación de usuarios del sistema ............................ 200
1.3.2
Protección de directorios de Apache ........................ 201
1.3.3
Creación certificado SSL para acceso web seguro...... 204
1.3.4
Activación y Configuración del Firewall UFW ............. 206
1.3.5
Restauración de backups de archivos y bases de datos ....
.......................................................................... 210
1.4
Operaciones en Joomla! 1.5 ........................................... 213
1.4.1
Actualizaciones de seguridad de Joomla 1.5! ............ 213
1.4.2
Crear Usuarios e incluirlos en el componente J!Research .
.......................................................................... 215
2. MANUAL DE USUARIO ....................................................... 218
2.1
Introducción ................................................................ 218
2.2
Páginas web personales. Acceso SFTP ............................. 218
2.3
Usuario web del GIR ..................................................... 220
5
2.3.1
Acceso Front-End .................................................. 221
2.3.2
Acceso Back-End .................................................. 227
V. BIBLIOGRAFÍA
229
6
I.
MEMORIA
7
1. INTRODUCCIÓN
1.1 Descripción General
El presente proyecto se realiza para el Grupo de Investigación
Reconocido de Control y Supervisión de Procesos (GIR CSP),
perteneciente
al
Departamento
de
Ingeniería
de
Sistemas
y
Automática (ISA) de la Escuela de Ingenierías Industriales.
Actualmente
la
Escuela
de
Ingenierías
Industriales
(EII)
está
distribuida en tres sedes: sede Paseo del Cauce (antigua Escuela
Técnica
Superior
de
Ingenierías
Industriales),
sede
Francisco
Mendizábal (antigua Escuela Universitaria Politécnica) y sede Doctor
Mergelina (antigua Facultad de Ciencias).
Por lo tanto, el proyecto se ha desarrollado en una de las sedes del
Departamento
de
Ingeniería
de
Sistemas
y
Automática,
concretamente en la localizada en la Calle Doctor Mergelina s/n.
El GIR CSP, solicita una nueva infraestructura en la que pueda
mostrar la información del Grupo, generada por el contenido
introducido por los usuarios de una forma sencilla que aprovechara
las nuevas tecnologías de comunicación.
Además se pretende recoger y actualizar el área de investigación del
grupo que quedaría excluido de la nueva página web departamental,
reconstruida debido a la fusión de centros.
Se ha recurrido a la utilización de servidores virtualizados mediante
VMware vSphere Hypervisor (ESXi) y sistemas operativos Linux
8
Ubuntu Server para instaurar la nueva infraestructura, así como para
albergar la ya existente en el departamento, y que compartan el
medio para hacer una utilización más eficiente de los recursos.
Este proyecto pretende la realización de una plataforma web de
desarrollo colaborativo, así como una infraestructura de página web
con la que podrán exponer aquella información que quieran dar a
conocer al mundo exterior.
1.2 Antecedentes
Actualmente la infraestructura web del departamento está formada
por los siguientes componentes:

Servidores físicos por cada aplicativo
Nos encontramos con bastantes servidores físicos que se
encargan de las diferentes necesidades del departamento. Entre
ellos
se
encuentra
la
http://www.isa.cie.uva.es
personales
de
cada
máquina
así
integrante
como
del
que
las
sirve
la
actual
páginas
webs
departamento.
Dicha
máquina es una antigua estación de trabajo (WorkStation) de
Sun Microsystems que lleva en funcionamiento con la web
desde el 2003 y que anteriormente ya hacía otras funciones.
Así mismo nos encontramos con otros servidores, que se
encargan entre otras cosas de llevar el inventariado del
departamento, la gestión de la ocupación de las salas de las
que dispone el departamento, controladores de dominio para
que las máquinas de los laboratorios se autentiquen y otros
numerosos aplicativos.
9

Página web de contenido dinámico en PHP
La actual página web, proviene de un trabajo fin de carrera
realizado en 2003 y que se ha ido manteniendo y completando
desde entonces. Se diseñó para presentar de una forma
ordenada
y
estructurada
la
información
de
la
sede
departamental del Departamento de Ingeniería de Sistemas y
Automática
(Doctor
Mergelina),
así
como
que
las
actualizaciones de contenido resultasen sencillas de hacer. Fue
un trabajo excepcional y prueba de ello es que se ha mantenido
y ha resultado muy útil durante todos estos años.
La web es el resultado de un desarrollo propio, que aunque
haya sido de gran utilidad no ha podido ir avanzando en nuevas
actualizaciones y nuevas funcionalidades que existen en la
actualidad.
Así mismo hubiese sido realmente complicado aplicarlas sin un
exhaustivo conocimiento de programación PHP, HTML y de
bases de datos MySQL, así como también de la propia
estructura de la web y de sus relaciones entre los diferentes
elementos que la componen. Para el propio autor hubiese sido
más sencillo pero para cualquier persona ajena a la web, que se
hubiese hecho cargo de ella, habría sido una tarea realmente
complicada.
1.3 Objetivos
Una vez analizada la situación actual, el presente proyecto pretende
abordar los siguientes objetivos:
10

Dotar al departamento de una infraestructura de virtualización,
con la cual poder reducir el número de servidores físicos y
poder utilizar de una forma más eficiente los recursos para
eliminar la infrautilización de algunos servidores.

Reducir el tiempo de servidores fuera de servicio por algún fallo
de hardware o software, ya que las máquinas virtuales son
independientes de hardware físico y por lo tanto poder mover
estas máquinas a otros servidores en un tiempo mucho menor.

Llevar a cabo una política de backups totalmente automatizada
y con varias copias para la recuperación ante cualquier
desastre.

Instalar y configurar un sistema operativo que proporcione un
entorno seguro para las páginas webs del departamento, así
como para la del Grupo de Investigación.

Desarrollar
la
página
web
del
Grupo
de
Investigación
Reconocido de Control y Supervisión de Procesos, en un
entorno sencillo para añadir contenidos, actualizaciones, añadir
nuevas funcionalidades que sean necesarias en un futuro y que
sea el lugar idóneo para el desarrollo colaborativo del resto de
los integrantes del grupo para que con su contribución, dicho
grupo pueda tener una página web completa y actualizada.

Disponer de una ventana por la cual dar a conocer al mundo
exterior sus características como grupo y poder exponer los
trabajos realizados por el mismo para su propia promoción.

Generar la documentación necesaria para el mantenimiento de
la infraestructura, tanto a nivel administrador como usuario.
11

Proporcionar un entorno lo más seguro, estable y blindado ante
posibles ataques de seguridad desde el exterior, desarrollando
tácticas y medidas que eviten ser una máquina propicia para
sufrir dichos ataques.
1.4 Solución Adoptada
En un primer momento se hizo un análisis de los recursos que
estaban a nuestra disposición para la realización del proyecto. En esta
fase se comprobó que el servidor que estaba disponible para la
realización de estas tareas, es un servidor bastante potente con lo
cual se nos abría un abanico de posibilidades.
Este servidor estaba siendo infrautilizado y por lo tanto para
aprovechar todos sus recursos al máximo se decidió hacer una
infraestructura de virtualización en él, pudiendo desplegar varias
máquinas virtuales sobre el servidor.
Para está función se ha utilizado Vmware vSphere Hypervisor 5.0,
que nos permite realizar una plataforma de virtualización sobre el
mismo hardware de la máquina.
Sobre esta plataforma se han desplegado varias máquinas virtuales,
algunas ya estaban en sus respectivos servidores físicos y se han
convertido a máquinas virtuales para moverlas al servidor que
teníamos disponible. Estas máquinas no serán objeto del proyecto,
salvo la que creamos para que haga de servidor web, ya que es el
Técnico de Informática del departamento el encargado de gestionar
estas máquinas.
12
Para el mencionado servidor web, crearemos una nueva máquina
virtual con el sistema operativo Ubuntu 10.04 Server. Este sistema
operativo nos ofrece un gran rendimiento y estabilidad para las
tareas que necesitamos.
Finalmente, para el desarrollo de la página web, en una primera
instancia, se hizo una búsqueda y evaluación de las numerosas
opciones de Sistemas de Gestión de Contenidos (CMS) que se pueden
encontrar en la red, tratando de hallar uno que pudiera satisfacer las
necesidades de gestión interna y externa en una sola aplicación.
Tras esta evaluación adoptamos Joomla! como el que mejor se
adaptaba a nuestras necesidades, además de la facilidad de uso y de
añadir nuevas características en caso de que fuera necesario.
Todo este conjunto es la base del proyecto y se pretende que sea un
éxito tanto en su desarrollo como posteriormente en su utilización por
parte del grupo de Control y Supervisión de Procesos.
13
2. ANÁLISIS DE LOS ELEMENTOS EMPLEADOS
A continuación se presenta un análisis de las herramientas que
intervienen en el proyecto.
2.1 Sistema VMware ESXi 5.0 Hypervisor
2.1.1 Introducción
¿Qué es la virtualización?
El hardware informático actual se ha diseñado para ejecutar un solo
sistema
operativo
y
una
sola
aplicación,
lo
que
supone
la
infrautilización de gran parte de las máquinas. La virtualización
permite ejecutar varias máquinas virtuales en una misma máquina
física, donde cada una de las máquinas virtuales comparte los
recursos de ese único ordenador físico entre varios entornos. Las
distintas máquinas virtuales pueden ejecutar sistemas operativos
diferentes y varias aplicaciones en el mismo ordenador físico.
¿Cómo funciona la virtualización?
La plataforma de virtualización se basa en una arquitectura preparada
para transformar o “virtualizar” los recursos de hardware de un
ordenador, incluidos CPU, RAM, disco duro y controlador de red, con
el fin de crear una máquina virtual completamente funcional que
puede ejecutar su propio sistema operativo y aplicaciones de la
14
misma forma que lo hace un ordenador “real”. Cada máquina virtual
contiene un sistema completo, con lo que se eliminan los posibles
conflictos.
La virtualización inserta directamente una capa ligera de software en
el hardware del ordenador. Contiene un monitor de máquina virtual o
“hipervisor” que asigna los recursos de hardware de manera dinámica
y transparente. Varios sistemas operativos se ejecutan de manera
simultánea en el mismo ordenador físico y comparten recursos de
hardware entre sí.
Al encapsular la máquina entera (incluida la CPU, la memoria, el
sistema operativo y los dispositivos de red), una máquina virtual es
totalmente compatible con los sistemas operativos, las aplicaciones y
los controladores de dispositivos estándar. Puede ejecutar con toda
seguridad varios sistemas operativos y aplicaciones al mismo tiempo
en un solo ordenador; cada uno de ellos tendrá acceso a los recursos
que necesite cuando los necesite.
La virtualización de un ordenador físico es solo el principio. Se puede
construir una infraestructura virtual completa, que abarque cientos de
ordenadores
físicos
y
dispositivos
de
almacenamiento
interconectados. No es necesario asignar servidores, almacenamiento
ni ancho de banda de red a cada aplicación de manera permanente.
En su lugar, los recursos de hardware se asignan dinámicamente
donde y cuando se necesitan dentro de la cloud privada. Las
aplicaciones de máxima prioridad siempre disponen de los recursos
necesarios sin necesidad de desperdiciar dinero en hardware que
solamente se utiliza en las horas punta.
La virtualización no es lo único importante, se necesitan herramientas
de
administración
para
gestionar
esas
máquinas.
Se
permite
15
aumentar la disponibilidad de los servicios, porque elimina las tareas
manuales en las que se cometen errores con mayor facilidad. Se
puede gestionar una cantidad de servidores doble o triple, para
proporcionar a los usuarios el acceso a los servicios que necesitan
mientras
conservan
el
control
centralizado.
Proporciona
disponibilidad, seguridad y rendimiento integrados directamente.
2.1.2 Ventajas de la virtualización
La virtualización de la infraestructura permite reducir los costes
aumentar la eficacia, el uso y la flexibilidad de los activos existentes.
Las razones más importantes para adoptar software de virtualización:
1.
Se saca más provecho de los recursos actuales: agrupa los
recursos de infraestructura comunes y deja atrás el modelo
heredado de “una aplicación por servidor” gracias a la
consolidación de servidores.
2.
Disminuye los costes reduciendo la infraestructura física y
aumentando la proporción de servidores por administrador:
una menor cantidad de servidores y de hardware se traduce
en menos requisitos de espacio físico, así como menos
consumo energético y de refrigeración. Unas herramientas
de gestión más adecuadas permiten aumentar la proporción
de servidores por administrador, de modo que también son
menos los requisitos de personal.
3.
Aumenta la disponibilidad del hardware y las aplicaciones
para mejorar la continuidad, se realizan con seguridad los
backups y la migración de entornos virtuales completos sin
16
interrupción alguna del servicio. Elimina las interrupciones
del servicio planificadas y se recupera al instante de los
incidentes imprevistos.
4.
Flexibilidad operativa: Se responde a los cambios con una
gestión dinámica de los recursos, con un aprovisionamiento
de
servidores
acelerado
y
con
una
mejora
de
la
implementación de escritorios y aplicaciones.
5.
Mejora
la
capacidad
de
gestión
y
seguridad
de
los
escritorios: implementa, gestiona y supervisa entornos de
escritorios seguros a los que los usuarios pueden acceder de
forma local o remota, con o sin conexión de red, desde casi
cualquier ordenador de escritorio, portátil o tablet PC.
2.1.3 Máquina Virtual
Una máquina virtual es un contenedor de
software perfectamente
aislado que puede
ejecutar sus propios sistemas operativos y
aplicaciones como si fuera un ordenador
físico.
La
máquina
virtual
se
comporta
exactamente igual que un ordenador físico y
contiene su propia CPU virtual, memoria,
disco duro y tarjeta de interfaz de red.
Un sistema operativo no puede distinguir entre una máquina virtual y
una máquina física, de la misma manera que no pueden hacerlo las
aplicaciones o los otros ordenadores de la red. Incluso la propia
máquina virtual considera que es un ordenador "real". Sin embargo,
una máquina virtual se compone exclusivamente de software y no
17
contiene ninguna clase de componente de hardware. El resultado es
que las máquinas virtuales ofrecen una serie de ventajas con
respecto al hardware físico.
En general, las máquinas virtuales cuentan con cuatro características
clave que benefician al usuario:
1. Compatibilidad: las máquinas virtuales son compatibles con
todos los ordenadores estándar.
2. Aislamiento: las máquinas virtuales están aisladas unas de
otras, como si estuvieran separadas físicamente.
3. Encapsulamiento:
las
máquinas
virtuales
encapsulan
un
entorno informático completo.
4. Independencia
del
hardware:
las
máquinas
virtuales
se
ejecutan de forma independiente del hardware subyacente.
Compatibilidad
Al igual que un ordenador físico, una máquina virtual aloja sus
propios sistema operativos y aplicaciones guest, y dispone de los
mismos componentes (placa base, tarjeta VGA, controlador de tarjeta
de red, etc.). Como consecuencia, las máquinas virtuales son
plenamente compatibles con la totalidad de sistemas operativos,
aplicaciones y controladores de dispositivos estándar, de modo que
se puede utilizar una máquina virtual para ejecutar el mismo software
que se puede ejecutar en un ordenador físico.
18
Aislamiento
Aunque las máquinas virtuales pueden compartir los recursos físicos
de un único ordenador, permanecen completamente aisladas unas de
otras, como si se tratara de máquinas independientes. Si, por
ejemplo, hay cuatro máquinas virtuales en un solo servidor físico y
falla una de ellas, las otras tres siguen estando disponibles. El
aislamiento
es
un
factor
importante
que
explica
por
qué
la
disponibilidad y protección de las aplicaciones que se ejecutan en un
entorno virtual es muy superior a las aplicaciones que se ejecutan en
un sistema tradicional no virtualizado.
Encapsulamiento
Una máquina virtual es básicamente un contenedor de software que
agrupa o "encapsula" un conjunto completo de recursos de hardware
virtuales, así como un sistema operativo y todas sus aplicaciones,
dentro de un paquete de software. El encapsulamiento hace que las
máquinas virtuales sean extraordinariamente portátiles y fáciles de
gestionar. Por ejemplo, se puede mover y copiar una máquina virtual
de un lugar a otro como lo haría con cualquier otro archivo de
software, o guardar una máquina virtual en cualquier medio de
almacenamiento de datos estándar, desde una memoria USB de
bolsillo hasta las redes de área de almacenamiento (SAN) de una
empresa.
Independencia de hardware
Las máquinas virtuales son completamente independientes de su
hardware físico subyacente. Por ejemplo, se puede configurar una
19
máquina virtual con componentes virtuales (CPU, tarjeta de red,
controlador SCSI, pongamos por caso) que difieren totalmente de los
componentes físicos presentes en el hardware subyacente. Las
máquinas virtuales del mismo servidor físico pueden incluso ejecutar
distintos tipos de sistema operativo (Windows, Linux, etc.).
Cuando se combina con las propiedades de encapsulamiento y
compatibilidad, la independencia del hardware brinda portabilidad,
que es la libertad de trasladar una máquina virtual de un tipo de
ordenador a otro sin modificar los controladores de dispositivo, el
sistema operativo ni las aplicaciones. La independencia del hardware
también
significa
que
se
puede
ejecutar
una
combinación
heterogénea de sistemas operativos y aplicaciones en un único
ordenador físico.
2.1.4 Diferencias entre Virtualización basada en Hipervisor o
en Host
La virtualización basada en hipervisor (también denominada BareMetal), está instalada en un servidor físico sin la necesidad de que
exista
un
sistema
operativo
(Windows
o
Linux)
instalado
previamente.
La virtualización basada en host, necesita previamente un sistema
operativo instalado, ya sea Microsoft Windows, Mac OS o Linux.
20
Hay varias razones por las que el software de virtualización basado
en hipervisor, es una mejor solución que un software de virtualización
basado en host.
1. Con el software de virtualización basado en hipervisor, es
posible actualizar las máquinas virtuales que se albergan en los
servidores físicos sin ningún tipo de caída del servicio.
2. Es muy probable que ya se esté virtualizando varios servidores
físicos y se quiera tener la opción de tener una gestión
centralizada.
3. Un hipervisor baremetal siempre ofrece una mayor confiabilidad
y rendimiento al no precisar de un sistema operativo Host, con
lo cual se elimina un posible punto de fallo.
Aunque la virtualización basada en hipervisor ofrece un mayor
rendimiento, es la virtualización basada en host la que ofrece una
compatibilidad con el hardware mucho más amplia, es decir, si
puedes instalar Windows o Linux en tu servidor físico entonces podrás
instalar la solución de virtualización basada en host.
21
Por consiguiente, una de las mayores diferencias de la solución de
virtualización basada en hipervisor y la solución de virtualización
basada en host, es que esta última tiende a tener una lista de
hardware certificado mucha más amplia.
Sin embargo, la virtualización basada en hipervisor tiene un mayor
rendimiento, mayor fiabilidad y estabilidad, mayor escalabilidad y
mucha más funcionalidad.
2.1.5 Versión 5.0 del Hipervisor
Los servidores ESXi 5.0 son la nueva generación de Hipervisores de
VmWare.
Componentes
ESXi comprende un sistema operativo llamado VMkernel. Todos los
procesos, aplicaciones de administración y agentes corren como
máquinas virtuales sobre él. Esto le deja el control total sobre los
dispositivos de Hardware para administrar sus recursos para las
aplicaciones. El VMkernel comprende:

Direct Console User Interface (DCUI).

Sistema de Archivos VMFS.

Virtual Machine Monitor (VMM).

Agentes.

Common Information Model (CIM).
22
2.2 Sistemas Operativos Guest
En un entorno virtual, un sistema operativo invitado (“guest”) es el
sistema operativo que se ejecuta en una máquina virtual, en
contraste con el sistema operativo host que se ejecuta en el equipo
host físico en el que se implementan una o más máquinas virtuales.
A continuación definiremos brevemente los Sistemas Operativos
invitados que se han instalado en el servidor físico.
Las máquinas Windows se hará una pequeña definición ya que no son
objeto de este proyecto.
2.2.1 Microsoft Windows 2008
Versión 32-bits
Windows Server 2008 es el nombre de un sistema operativo de
Microsoft diseñado para servidores.
Es el sucesor de Windows Server 2003. Entre las mejoras de esta
edición, se destacan nuevas funcionalidades para el Active Directory,
nuevas prestaciones de virtualización y administración de sistemas, la
inclusión de IIS 7.5 y el soporte para más de 256 procesadores.
Características
Entre las mejoras que se incluyen, están:
23

Nuevo proceso de reparación de sistemas NTFS.

Creación de sesiones de usuario en paralelo.

Cierre limpio de Servicios.

Sistema de archivos SMB2.

Address Space Load Randomization (ASLR).

Windows Hardware Error Architecture (WHEA).

Virtualización de Windows Server.

PowerShell.

Server Core.
Versión R2 64-bits
Microsoft introdujo Windows Server 2008 R2 en la Professional
Developers Conference (PDC) del 2008 como una variante de servidor
del nuevo sistema operativo Windows 7.
Se
introducen
un
gran
número
de
nuevas
características
de
virtualización incluyendo Live Migration y Cluster Shared Volumes, un
reducido consumo de energía, un nuevo conjunto de herramientas de
administración, nuevas características Active Directory como una
"papelera de reciclaje" para objetos AD borrados, una nueva versión
de IIS (7.5) que incluye un renovado servidor FTP, soporte para
DNSSEC y el aumento del número de núcleos de procesamiento de 64
a 256. Los procesadores de 32-bits ya no están soportados.
Algunas mejoras en la opción de instalación Server Core incluyen la
eliminación total del entorno gráfico del sistema operativo, y el
soporte a .NET Framework, incluyendo aplicaciones ASP.NET y
soporte para Windows PowerShell.
24
Las mejoras en el rendimiento fueron un área de desarrollo
importante en esta versión; Microsoft anunció que se habían
realizado trabajos para disminuir el tiempo de arranque, mejorar la
eficiencia de operaciones E/S a la vez que reducir potencia de
procesamiento y mejoras generales de velocidad en dispositivos de
almacenamiento, especialmente en iSCSI.
Requisitos de hardware de ambas versiones
Los requerimientos mínimos para Windows Server 2008 son los
siguientes:
2.2.2 Ubuntu 10.04 LTS Server
Ubuntu es un sistema operativo predominantemente enfocado en la
facilidad de uso e instalación, la libertad de los usuarios, y los
lanzamientos regulares (cada 6 meses).
25
Ubuntu es un sistema operativo de código abierto desarrollado en
torno al kernel Linux. La filosofía Ubuntu se basa en los siguientes
principios: que el software debe ser gratuito, que la gente debe poder
usar el software en su lengua materna y debe poder hacerlo
independientemente de cualesquiera sean sus limitaciones; además,
la gente debe ser libre de personalizar o modificar el software del
modo que crea más conveniente.
2.2.2.1 Software Libre
El proyecto Ubuntu está totalmente basado en los principios del
desarrollo de software libre; se anima a que la gente use, mejore y
distribuya software de código abierto.
La filosofía del software libre establece que la gente pueda usar el
software de todas las formas que considere "socialmente útiles": el
código está disponible para poder descargarlo, modificarlo y usarlo
del modo que más le convenga. Por tanto, además del hecho de que
el software libre normalmente puede conseguirse sin coste alguno,
esta
libertad
también
tiene
ventajas
técnicas:
al
desarrollar
programas puede utilizarse el trabajo de los demás y construir a
partir de éste. Con el software no libre, esto no es posible, y para
desarrollar un programa, se tiene que empezar desde cero. Por esta
razón, el desarrollo de software libre es rápido y eficiente.
2.2.2.2 Código Abierto
El código abierto es el poder colectivo en acción. El poder de una
comunidad mundial de expertos altamente cualificados que construir,
26
compartir
y
mejorar
el
software
de
última
generación,
y
a
continuación, ponerlos a disposición de todo el mundo.
Hay 10 principios básicos de software de código abierto:

El software debe ser libre de redistribuir.

El programa debe incluir el código fuente.

La licencia debe permitir a la gente a experimentar con las
modificaciones y redistribuir.

Los usuarios tienen derecho a saber quién es responsable por el
software que está utilizando.

No debe haber ninguna discriminación contra cualquier persona
o grupo.

La licencia no debe restringir a nadie que haga uso del
programa en un campo específico.

Nadie debería tener que adquirir una licencia adicional para
usar o redistribuir el programa.

La licencia no debe ser específica de un producto.

La licencia no debe restringir otro software.

La licencia debe ser tecnológicamente neutral.
2.2.2.3 Versiones de Ubuntu
Ubuntu publica una nueva versión cada 6 meses, una en Abril y otra
en Octubre, esto se refleja en la numeración de las versiones, por
ejemplo, la última versión estable es la 12.04, que fue publicada en
abril del 2012.
Cada versión de Ubuntu recibe soporte al menos durante 18 meses
con actualizaciones genéricas y de seguridad. Cada 2 años se publica
27
una versión especial -LTS- con soporte extendido, 3 años para
sistemas de escritorio y 5 años para servidores.
La versión LTS de Ubuntu utilizada en el proyecto es la 10.04 "Lucid
Lynx" lanzada el 29 de abril de 2010. Dicha versión es su modalidad
de servidor tiene soporte hasta abril de 2015.
Respaldo y soporte
Ubuntu está mantenido por una amplia comunidad a nivel mundial
que no para de crecer.
Además, el proyecto está patrocinado por Canonical Ltd, una
compañía que congrega a los principales desarrolladores de Ubuntu y
ofrece soporte profesional y servicios de consultoría para Ubuntu.
2.3 Servidor OpenSSH
OpenSSH es una versión libre del protocolo Secure Shell (SSH) que
es una familia de herramientas para control remoto o transferencia
de
archivos
entre
equipos.
Las
herramientas
utilizadas
tradicionalmente para realizar estas funciones, eran el telnet o el rcp,
que son inseguras y transmiten la contraseña de los usuarios en texto
plano cuando son usadas. OpenSSH proporciona un demonio y unos
clientes para facilitar un control remoto seguro y encriptado, así como
operaciones de transferencia de archivos, remplazando de forma
efectiva las herramientas heredadas.
El componente servidor de OpenSSH, sshd, escucha continuamente a
la espera de conexiones de clientes desde cualquiera de las
28
herramientas cliente. Cuando aparece una petición de conexión, sshd
establece la conexión correcta dependiendo del tipo de herramienta
cliente que está conectándose. Por ejemplo, si el equipo remoto se
está conectando con la aplicación cliente ssh, el servidor OpenSSH
establecerá una sesión de control remoto tras la autenticación. Si el
usuario remoto se conecta al servidor OpenSSH con scp, el demonio
del servidor OpenSSH iniciará una copia segura de archivos entre el
servidor y el cliente tras la autenticación.
OpenSSH puede usar muchos métodos de autenticación, incluyendo
contraseñas planas, claves públicas y tickets de Kerberos.
Existen muchas directivas de configuración disponibles para sshd que
cambian el comportamiento de la aplicación servidor para ajustarlo a
las necesidades. No obstante, si es el único método de acceso a un
servidor, y se comete un error al configurar sshd por medio del
archivo /etc/ssh/sshd_config, se puede conseguir que el servidor se
cierre durante el reinicio del mismo, o que el servidor sshd no quiera
iniciarse debido a una directiva de configuración incorrecta, por lo que
se debe ser extremadamente cuidadoso cuando se edita este fichero
desde un servidor remoto.
2.4 Servidor Web Apache
Apache es el servidor web más usado en sistemas Linux. Los
servidores web se usan para servir páginas web solicitadas por
equipos cliente. Los clientes normalmente solicitan y muestran
páginas web mediante el uso de navegadores web como Firefox,
Opera, Internet Explorer o Google Chrome.
29
Los usuarios introducen un Localizador
de Recursos Uniforme
(Uniform Resource Locator, URL) para señalar a un servidor web por
medio de su Nombre de Dominio Totalmente Cualificado (Fully
Qualified Domain Name, FQDN) y de una ruta al recurso solicitado.
El protocolo más comúnmente utilizado para ver páginas Web es el
Hyper Text Transfer Protocol (HTTP). Protocolos como el Hyper Text
Transfer Protocol sobre Secure Sockets Layer (HTTPS), y File Transfer
Protocol (FTP), un protocolo para subir y descargar archivos, también
son soportados.
Los servidores web Apache a menudo se usan en combinación con el
motor de bases de datos MySQL, el lenguaje de scripting PHP, y otros
lenguajes
de
configuración
scripting
se
populares
denomina
LAMP
como
Python
(Linux,
y
Perl.
Apache,
Esta
MySQL
y
Perl/Python/PHP) y conforma una potente y robusta plataforma para
el desarrollo y distribución de aplicaciones basadas en la web.
2.4.1 Directivas de Configuración
Apache se configura colocando directivas en archivos de configuración
de texto plano. El archivo principal de configuración se llama
apache2.conf.
Además,
se
pueden
añadir
otros
archivos
de
configuración mediante la directiva Include, y se pueden usar
comodines para incluir muchos archivos de configuración. Todas las
directivas
deben
colocarse
en
alguno
de
esos
archivos
de
configuración. Apache2 sólo reconocerá los cambios realizados en los
archivos principales de configuración cuando se inicie o se reinicie.
30
El servidor también lee un fichero que contiene los tipos mime de los
documentos; el nombre de ese fichero lo establece la directiva
TypesConfig, y es mime.types por omisión.
El
archivo
de
configuración
predeterminado
/etc/apache2/apache2.conf. Se
puede
editar
de
este
Apache2
archivo
es
para
configurar el servidor Apache2. Se podrá configurar el número de
puerto, la raíz de documentos, los módulos, los archivos de registros,
los hosts virtuales, etc.
2.4.1.1 Opciones Básicas
Esta sección explica los parámetros de configuración esenciales para
el servidor Apache2.

Virtual Hosts
Apache2 trae una configuración predeterminada preparada para
servidores virtuales. Viene configurado con un único servidor
virtual predeterminado (usando la directiva VirtualHost) que se
puede modificar, o dejarlo tal cual si sólo tiene un único sitio
web,
o
usarlo
como
plantilla
para
servidores
virtuales
adicionales si tienes varios sitios web.

ServerAdmin
Especifica la dirección de correo del administrador del servidor.
Si el sitio web tiene algún problema, Apache2 mostrará un
mensaje de error con en la que aparecerá esta dirección de
correo para que la gente pueda enviar un informe del error.
31

Listen
Especifica el puerto (y, opcionalmente, la dirección IP) por el
que escuchará Apache2. Si no se especifica la dirección IP,
Apache2 escuchará por todas las direcciones IP asignadas a la
máquina en la que se ejecute. El valor predeterminado de la
directiva Listen es 80.

ServerName
Es opcional, y especifica con cuál FQDN (Full Qualified Domain
Name, Nombre de Dominio Totalmente Cualificado) responderá
el sitio web.

DocumentRoot
Especifica dónde debe buscar Apache los archivos que forman
el sitio. El valor predeterminado es /var/www.
2.4.2 Módulos de Apache
Apache es un servidor modular. Esto supone que en el núcleo del
servidor
sólo
está
incluida
la
funcionalidad
más
básica.
Las
características extendidas están disponibles a través de módulos que
se pueden cargar en Apache. De forma predeterminada, durante la
compilación se incluye un juego básico de módulos en el servidor. Si
el
servidor
se
compila
para
que
use
módulos
cargables
dinámicamente, los módulos se podrán compilar por separado y se
podrán añadir
posteriormente
usando
la directiva LoadModule.
Ubuntu compila Apache2 para que permita la carga dinámica de
módulos.
32
2.5 PHP 5
PHP, acrónimo de "PHP: Hypertext Preprocessor", es un lenguaje
"Open Source" interpretado de alto nivel, especialmente pensado
para desarrollos web y el cual puede ser incrustado en páginas HTML.
La mayoría de su sintaxis es similar a C, Java y Perl y es fácil de
aprender. La meta de este lenguaje es permitir escribir a los
creadores de páginas web, páginas dinámicas de una manera rápida
y fácil, aunque se pueda hacer mucho más con PHP.
2.5.1 Funcionalidades
PHP puede hacer cualquier cosa que se pueda hacer con un script
CGI, como procesar la información de formularios, generar páginas
con contenidos dinámicos, o enviar y recibir cookies.
Existen principalmente tres campos en los que se usan scripts en
PHP:

Scripts del lado-servidor
Este es el campo más tradicional y el principal foco de trabajo.
Se necesitan tres cosas para que esto funcione. El intérprete
PHP (CGI módulo), un servidor web y un navegador. Es
necesario hacer funcionar el servidor, con PHP instalado. El
resultado del programa PHP se puede obtener a través del
navegador, conectándose con el servidor web.

Scripts en la línea de comandos
Puede crear un script PHP y correrlo sin necesidad de un
servidor web o navegador. Solamente necesita el intérprete
33
PHP para usarlo de esta manera. Este tipo de uso es ideal para
scripts ejecutados regularmente desde cron (en *nix o Linux).

Escribir aplicaciones de interfaz gráfica.
Probablemente PHP no sea el lenguaje más apropiado para
escribir aplicaciones gráficas, pero si conoce bien PHP, y
quisiera
utilizar
algunas
características
avanzadas
en
programas clientes, puede utilizar PHP-GTK para escribir dichos
programas.
2.5.2 Versión 5
El 13 de julio de 2004, fue lanzado PHP 5, utilizando el motor
Zend Engine 2.0 (o Zend Engine 2). La versión más reciente de PHP
es la 5.3.2 (4 de marzo del 2010), que incluye todas las ventajas que
provee el nuevo Zend Engine 2 como:

Mejor soporte para la Programación Orientada a Objetos, que
en versiones anteriores era extremadamente rudimentario, con
PHP Data Objects.

Mejoras de rendimiento.

Mejor soporte para MySQL

Mejor soporte a XML (XPath, DOM, etc.).

Soporte nativo para SQLite.

Soporte integrado para SOAP.

Iteradores de datos.

Manejo de excepciones.

Mejoras con la implementación con Oracle.
34
2.5.3 phpMyAdmin
phpMyAdmin es una herramienta escrita en PHP con la intención de
manejar la administración de MySQL a través de páginas web,
utilizando Internet. Actualmente puede crear y eliminar Bases de
Datos, crear, eliminar y alterar tablas, borrar, editar y añadir campos,
ejecutar cualquier sentencia SQL, administrar claves en campos,
administrar privilegios, exportar datos en varios formatos y está
disponible en 62 idiomas. Se encuentra disponible bajo la licencia
GPL.
Este proyecto se encuentra vigente desde el año 1998, siendo el
mejor evaluado en la comunidad de descargas de SourceForge.net
como la descarga del mes de diciembre del 2002. Como esta
herramienta corre en máquinas con Servidores Webs y Soporte de
PHP y MySQL, la tecnología utilizada ha ido variando durante su
desarrollo.
2.6 Bases de Datos MySQL
2.6.1 Introducción
MySQL es un sistema de administración de bases de datos. Una base
de datos es una colección estructurada de tablas que contienen
datos. Esta puede ser desde una simple lista de compras a una
galería de pinturas o el vasto volumen de información en una
red corporativa.
Para
agregar,
acceder
a y
procesar
datos
guardados
en
un
computador, se necesita un administrador como MySQL Server.
35
Dado
que
los computadores
son
muy
buenos
manejando
grandes cantidades de información, los administradores de bases
de
datos
juegan
un
papel central en computación, como
aplicaciones independientes o como parte de otras aplicaciones.
MySQL es un sistema de administración relacional de bases de
datos.
Una
base
de
datos
relacional
separadas en vez
de
colocar
todos
archiva datos
los
datos
en
en
tablas
un
gran
archivo. Esto permite velocidad y flexibilidad. Las tablas están
conectadas por relaciones definidas que hacen posible combinar
datos de diferentes tablas sobre pedido.
MySQL es software de fuente abierta. Fuente abierta significa que es
posible para cualquier persona usarlo y modificarlo. Cualquier
persona puede bajar el código fuente de MySQL y usarlo sin
pagar. Cualquier interesado puede estudiar el código fuente y
ajustarlo a sus necesidades.
2.6.2 Aplicaciones
MySQL es muy utilizado en aplicaciones web, como Joomla!, en
plataformas (Linux/Windows-Apache-MySQL-PHP/Perl/Python), y por
herramientas
de
seguimiento
de
errores
como
Bugzilla.
Su
popularidad como aplicación web está muy ligada a PHP, que a
menudo aparece en combinación con MySQL.
MySQL
es
una base
de
datos muy
rápida en la lectura cuando
utiliza el motor no transaccional MyISAM, pero puede provocar
problemas de integridad en entornos de alta concurrencia en la
modificación. En aplicaciones web hay baja concurrencia en la
modificación de datos y en cambio el entorno es intensivo en lectura
36
de datos,
lo
que
hace
a
MySQL
ideal
para
este
tipo
de
aplicaciones.
Sea cual sea el entorno en el que va a utilizar MySQL, es
importante adelantar
monitoreos
sobre
el
desempeño
para
detectar y corregir errores tanto de SQL como de programación.
2.7 Servidor de Correo Postfix
Postfix es un servidor de correo de software libre / código abierto, un
programa informático para el enrutamiento y envío de correo
electrónico, creado con la intención de que sea una alternativa más
rápida, fácil de administrar y segura al ampliamente utilizado
Sendmail. Anteriormente conocido como VMailer e IBM Secure Mailer,
fue originalmente escrito por Wietse Venema durante su estancia en
el Thomas J. Watson Research Center de IBM, y continúa siendo
desarrollado activamente.
Postfix
es
el
agente
de
transporte
por
omisión
en
diversas
distribuciones de Linux y en las últimas versiones del Mac OS X.
En este proyecto Postfix se utilizará como servidor SMTP para enviar
correos generados en el propio servidor, en general, los correos que
mandan las páginas Web alojadas en este servidor a través de la
función mail() de PHP.
2.7.1 Modos de Ejecución en el Servidor
Existen 2 modos de ejecución, por así decirlo. El modo internet site y
el modo internet site with smarthost:
37
Internet Site
Este es el modo que se utilizará por defecto y que se caracteriza
porque el propio servidor se encarga de repartir los mensajes a sus
destinatarios directamente, sin pasar por otro servidor predefinido.
Para
usar
este
modo,
en
el
fichero
de
configuración
/etc/postfix/main.cf NO debe estar definida la opción relayhost.
Esta configuración es útil para ordenadores individuales que no están
en una red local o tienen conexión permanente a Internet.
Smart Host
Se caracteriza porque el servidor no envía los mensajes directamente
a sus destinatarios, sino que los envía a otro servidor de correo, y
aquel ya se encargará de enviarlo. Para usar este modo, hay que
definir la opción relayhost y ponerle como argumento la dirección IP o
el nombre de host del servidor SMTP que queramos.
Esta configuración se suele dar en redes locales que ya tienen un
servidor SMTP o en conexiones esporádicas a Internet con módem.
2.8 Joomla! 1.5
Joomla! es un Sistema de Gestión de Contenidos (CMS) reconocido
mundialmente, que ayuda a construir sitios web y otras aplicaciones
en línea potentes. Lo mejor de todo, es que Joomla! es una solución
de código abierto y está disponible libremente para cualquiera que
desee utilizarlo.
38
Un CMS es un sistema de software para ordenador que permite
organizar y facilitar la creación de documentos y otros contenidos de
un modo cooperativo. Con frecuencia, un CMS es una aplicación web
usada para gestionar sitios web y contenidos web.
Con
Joomla!
podemos
crear
sitios
web
de
noticias,
sitios
corporativos, sitios web de presencia, portales comunitarios, e
incluso también
puede
crearse
con
Joomla! sistemas
que
funcionen en redes cerradas (Intranets) para gestionar información
interna (comunicaciones, usuarios, etc) de compañías o empresas
de negocios. Esto último significa que el ámbito de aplicación
de Joomla! no es exclusivo de Internet.
2.8.1 Requisitos para Instalar Joomla! 1.5
Por tratarse de una aplicación web, Joomla! necesita instalarse sobre
un servidor web, como Apache o Internet Information Services (IIS),
pero además requiere que este servidor esté ampliado con PHP y
disponga de acceso a una base de datos de MySQL. Concretamente
los requisitos de la versión 1.5 de Joomla! son:

Un servidor web (Apache 1.3 o superior, o IIS)

PHP (4.3.10 o superior)

Servidor de bases de datos MySQL (3.23 o superior).
2.8.2 Funcionamiento
El funcionamiento de Joomla! se lleva a cabo gracias a sus
dos principales elementos:
39

La base de datos MySQL
Allí es donde se guarda toda la información y la mayor
parte de la configuración del sistema, de una forma ordenada y
en distintas tablas, las cuales cada una de ellas almacena
información específica y determinada.

Los scripts PHP
Son los que ejecutan las acciones de consulta y realizan
modificaciones en la base de datos convirtiendo los datos
en simples páginas web interpretables por los navegadores
de Internet (Browsers) y perfectamente inteligibles para los
usuarios y administradores.
Existen
también
otro
tipo
de
archivos
que
realizan
importantes tareas dentro de Joomla! (archivos XML, scripts
Javascript JS, CSS, etc), pero el motor fundamental de todo
CMS (y de Joomla! en particular) son los dos enunciados
anteriormente.
2.8.3 Elementos de Joomla!
1. Secciones, Categorías y artículos de contenido:
Las secciones, categorías y artículos de contenido hacen parte
de la estructura del contenido de un sitio web en Joomla. En
analogía
con
estos
conceptos,
se
puede
pensar
en
un
archivador, el cual tiene una serie de cajones y a su vez dentro
de cada cajón tiene carpetas y dentro de ellas papeles. De esta
forma, las secciones son equivalentes a los cajones, las
categorías a las carpetas y los artículos de contenido a cada
40
papel. De esta manera la información del sitio o aplicación se
organizará en una jerarquía de secciones, categorías y artículos
de contenido.
2. Componentes:
Los Componentes son elementos del núcleo de Joomla con
una funcionalidad determinada y que se muestran en el cuerpo
principal de la plantilla del sitio web. La instalación estándar de
Joomla
incluye
los
componentes:
Banners
(anuncios),
Contactos, Buscar, Encuestas, Enlaces Web y Servidor de
noticias (Noticias Externas), componentes que se pueden usar
en el sitio web si así se desea.
3. Módulos:
Los
Módulos
proporcionando
amplían
las
posibilidades
de
Joomla
nueva funcionalidad al software. Un módulo
permite la inclusión de contenido que puede ser desde HTML
plano hasta enlazar componentes y por ende realizar el
despliegue
de
información
contenido.
Entre
como
la
sus características
de
se
un
artículo
resalta
que
de
es
desplegado en una posición de la plantilla siempre, a menos
que se indique lo contrario por medio de la administración del
módulo, restringiendo su aparición en una o varias páginas del
sitio. Algunos de los módulos que incluye Joomla son: Menú
Principal, Menú Superior, Selector de Plantilla, Encuestas,
Noticias Externas, Contador de Accesos, etc.
4. Plugins
Un Plugin es una pequeña función orientada a una tarea que
intercepta cierto tipo de contenido y lo manipula de algún
modo. Joomla proporciona varios plugins en la distribución
original. Ejemplo: plugin All Videos.
41
2.8.4 Tipos de Usuarios de Joomla!
En
el
Sistema
diferentes
de
usuarios
Gestión
de
Contenidos
Joomla
existen
y permisos. Estos usuarios a su vez están
clasificados en dos categorías: Usuarios del
Front-end
(Usuarios
comunes) y los usuarios del Back-End (Usuarios administrativos).
A continuación se da una descripción de los diferentes tipos de
usuarios, sus características y sus permisos.
1. Usuarios del Front-End o usuarios Comunes
En Joomla los usuarios comunes pueden acceder
a las
funcionalidades referentes a la gestión del contenido. A
continuación se listan los tipos de usuarios comunes de Joomla
y sus respectivos permisos:
Usuario
Accesos y Permisos
Un usuario registrado no puede crear, editar o
publicar contenido en un sitio Joomla.
Registrado Puede enviar nuevos enlaces web para ser
publicados y puede tener acceso a contenidos
restringidos que no están disponibles para los
invitados.
Los autores pueden crear su propio contenido,
especificar ciertos aspectos de cómo se presentará
Autor
el contenido e indicar la fecha en la que debería
publicarse el material, pero no pueden publicarlo.
Los editores tienen todas las posibilidades de un
autor, y además la capacidad de editar el contenido
Editor
de sus propios artículos y los de cualquier otro
autor.
Los publicadores pueden ejecutar todas las tareas
Publicador de los autores y editores, y además tienen la
capacidad de publicar un artículo.
42
2. Usuarios del Back-End o Usuarios Administrativos
Los
usuarios
del
Back-End
o
usuarios
administrativos
gozan de todos los privilegios de un usuario común y además
tienen la capacidad de acceder a las funcionalidades avanzadas
de gestión de contenido, como la creación de secciones y
categorías; y las funcionalidades administrativas del sitio, como
el manejo de extensiones y la gestión de usuarios entre otras.
A continuación se listan los tipos de usuarios administrativos y
sus respectivos permisos:
Usuario
Accesos y Permisos
Gestor
Respecto al contenido los gestores pueden
crear secciones y categorías. También tienen
la
posibilidad
de
administrar menús,
gestionar contenido multimedia y de acceder
a algunos de los componentes del sitio.
Los gestores no tienen la posibilidad de
gestionar usuarios ni de acceder a las
herramientas avanzadas del sistema.
Los administradores tienen todos los privilegios
de los gestores, pueden acceder a la mayoría
de componentes y tienen la capacidad para
Administrador gestionar algunas de la herramientas avanzadas
del sistema, así como de gestionar usuarios
que tengan privilegios menores o iguales a los
suyos.
Los súper administradores tienen control
total sobre el sitio. Pueden gestionar todos
Súper
los componentes y extensiones y acceder a
Administrador todas la herramientas avanzadas. También
tienen control sobre todos los usuarios del
sitio (incluyendo otros súper administradores).
43
2.8.5 Formas de Acceso a Joomla!
Del mismo modo en que hay diferentes clases de usuario, en Joomla
existen diferentes formas de acceder al sitio web: El modo de acceso
para el público, el modo de acceso para usuarios del Front-end y
el modo de acceso para los usuarios del Back-End.
1. Acceso para Público
Dado
que
un
sitio
en
Joomla
es básicamente
un
sitio
web, cualquier persona interesada en visitar el sitio y ver el
contenido que se despliega en este, solo debe ingresar la url
(dirección web) del sitio.
2. Acceso para usuarios del Front-End
Para ingresar a un sitio Joomla como un usuario del Front-end,
primero tenemos que escribir la url del sitio del mismo modo
que cualquier persona del público. Una vez en el sitio se debe
localizar algún enlace que nos lleve a una página con el
formulario de ingreso.
Una vez escritos el nombre de usuario y contraseña, tendremos
un nuevo menú de usuario, que nos permitirá diferentes
gestiones del sitio.
3. Acceso para usuarios del Back-End
Se hace a través del Panel del Administrador, de esta forma
se puede tener acceso a todas la funcionalidades avanzadas
del sistema según el tipo
de
usuario. Para acceder
al
panel del administrador solo se tiene que agregar a la url del
44
sitio al que se quiere ingresar la palabra “/administrator” más
un “token” privado para evitar accesos no deseados o intentos
de ataque por fuerza bruta. En nuestro caso, la dirección
completa sería “/administrator/index.php?token=4532”.
El panel de Administrador puede variar dependiendo del nivel
de acceso que se tenga al sitio, los
usuarios
de
tipo
administrador y gestor tendrán menos opciones.
2.8.6 J!Research
J!Research es un componente para Joomla! 1.5 CMS que permite la
administración de trabajo científico como publicaciones, proyectos,
tesis de grado, entre otras, categorizados por área de investigación.
Está
orientado
a
investigadores
universitarios
y
centros
de
investigación que utilizan Joomla! o planean adoptarlo para publicar
su trabajo. J!Research es software libre y código abierto liberado bajo
los términos de la licencia GPL versión 2.
J!Research es una extensión para Joomla! diseñada para organizar el
trabajo de centros de investigación. Fue desarrollada como parte del
programa Google Summer of Code 2008 y desde entonces ha sido
mantenido por el autor y una pequeña comunidad de desarrolladores
y usuarios. Sus funcionalidades incluyen:

Administración de proyectos, áreas de investigación, tesis de
grado, publicaciones, miembros, equipos y colaboraciones.

Citado de publicaciones en línea y generación automática de
bibliografía.
45

Soporte para los siguientes estilos de citado: APA, MLA, IEEE,
Chicago, CSE and Vancouver.

Exportación e importación de publicaciones en los formatos
Bibtex, MODS y RIS.

Integración con Bibutils 3.x.

Soporte multilenguaje.
La última versión estable es la 1.2.1 liberada en septiembre del 2010.
Se ha planificado el desarrollo de una versión 2.0 que incluirá, entre
otras características, soporte para Joomla! 1.6.
46
3. CONCLUSIONES Y LÍNEAS FUTURAS
3.1 Conclusiones
El presente proyecto ha servido para profundizar en el conocimiento
de los sistemas operativos Linux y su uso como servidores de internet
que, por su eficacia, seguridad y su condición de software libre y
gratuito, son cada vez más utilizados como solución para empresas.
También ha servido para aprender el concepto informático de la
virtualización, así como el gran abanico de posibilidades que ofrece.
Para ello se utilizó VMware ESXi 5 del que he aprendido a manejar y
sacar un alto rendimiento a la hora de diseñar servidores virtuales.
Se han conocido las peculiaridades de la distribución de Linux Ubuntu
Server 10.04, VMware ESXi 5 y una política equilibrada de backups
como elementos básicos de un servidor.
Se ha aprendido también el concepto de lo que es un Gestor de
Contenidos, en nuestro caso Joomla 1.5, apreciando las numerosas
posibilidades que ofrece a la hora de trabajar de forma colaborativa.
Se han empleado los conocimientos impartidos durante la titulación,
tanto como los obtenidos en una empresa privada durante la
realización de un programa de prácticas de duración de un año, a la
hora de organizar la ejecución del proyecto y durante la elaboración
de la presente memoria.
Y, en último lugar, aunque no menos importante por ello, se ha
trabajado junto a un grupo de personas de elevada capacitación
47
técnica y laboral, y superior calidad humana, que ha permitido
conocer las reglas del trabajo en grupo.
El futuro que se abre ante nosotros como titulados técnicos es
amplísimo, dada la creciente demanda de personal cualificado,
tanto a nivel nacional como internacional, y con conocimientos de
nuevas tecnologías que pueden no impartirse de forma completa
durante el periodo de formación, pero que debe servir de aliciente
para el individuo interesado en el conocimiento. Nada mejor que un
Proyecto Fin de Carrera real y práctico para entender las demandas
que tendremos en breve y para resolver de una forma eficiente los
problemas que puedan surgir a la hora de desarrollar un proyecto
teórico en uno real.
3.2 Líneas Futuras
Este proyecto ha sido concebido como el punto de partida que
permitiera sentar las bases de un sistema de servidores virtuales que
hagan un mejor aprovechamiento y eficacia de los servidores físicos
disponibles en el departamento. Con lo cual, poco a poco ir
reduciendo los servidores físicos para ir disminuyendo y optimizando
el consumo de energía, así como una gestión de los recursos más
centralizada y sencilla.
Así mismo se ha pretendido realizar un entorno global de gestión de
contenido y desarrollo colaborativo para el Grupo de Investigación
Reconocido de Control y Supervisión de Procesos de la Universidad de
Valladolid. Es por ello que posteriores estudiantes, tendrán la
posibilidad de seguir completando su formación, a la vez que
efectúan un Proyecto Fin de Carrera realmente útil y eminentemente
48
práctico, que les servirá para su desempeño profesional en un futuro
próximo.
Así, el abanico de posibilidades que se abre es inmenso, comenzando
por la actualización a la nueva versión de soporte extendido de
Ubuntu Server 12.04 como la nueva versión de Joomla! 2.5, siempre
y cuando el componente JResearch de Joomla sea compatible con
dicha versión.
También se puede desarrollar la creación de nuevas plantillas para
Joomla, tanto en la parte de administración como en la parte pública.
Además de esto, Joomla tiene la posibilidad de aplicar numerosos
plugins, add-ons y componentes que pueden ser interesantes para el
Grupo de Investigación dependiendo de sus expectativas, como por
ejemplo paquetes de idiomas con traducciones del contenido a otras
lenguas, reproducción de vídeo en streaming, edición en línea, foros
de opinión, galerías de imágenes y otra multitud de herramientas.
49
II.
PROCESO DE
IMPLEMENTACIÓN
50
1. SERVIDOR FÍSICO
1.1 Descripción
La máquina elegida para la implementación de este proyecto es un
Servidor Intel S5000XVN Dual Quad Core Xeon Workstation. Es una
máquina
que
departamento,
se
estaba
pero
debido
utilizando
a
sus
para
otras
características
tareas
se
del
estaba
infrautilizando. Es un potente servidor que se puede acomodar y
utilizar para infraestructuras de red y de Web.
Está diseñado para responder al máximo rendimiento que precisan
las aplicaciones centrales en continuo crecimiento y con necesidades
de procesamiento rápido en un servidor optimizado en formato torre.
Permite tratar varias máquinas virtuales y que cada una de ellas sea
capaz de ejecutar las aplicaciones que se precisen como si de
máquinas físicas se tratasen.
1.2 Características
Dicho aparato está compuesto por los siguientes elementos:

Procesador Intel(R) Xeon(R) CPU
o Modelo: E5420 @ 2.50GHz
o Velocidad: 2,5 GHz
o Sockets: 2
o Núcleos por Socket: 4
o Núcleos Totales: 8
51

4 módulos de memoria RAM de 4GB cada uno.

4 Discos Duros
o 3 Discos Seagate Barracuda ST31000524AS

Interfaz:
SATA 6Gb/s

Velocidad de giro:
7200 rpm

Caché:
32MB

Capacidad:
1TB
o 1 Disco Western Digital VelociRaptor

Interfaz:
SATA 6Gb/s

Velocidad de giro:
10000 rpm

Caché:
16MB

Capacidad:
150GB

Red: 2 x Intel 10/100/1000 Ethernet

Lector/Regrabador DVD

Conectividad: Puertos delantero y trasero USB 2.0, Puerto
Paralelo, 2 x Puertos Serie, PS2 Teclado y Ratón.
52
2. ARQUITECTURA DE RED
2.1 Diseño de red de las máquinas
En este apartado se verá los parámetros asignados a las diferentes
máquinas, tanto la física como las virtuales. Se podría definir como lo
que ocurre desde la tarjeta de red física del servidor hacia adentro.
En el siguiente diagrama podemos observar las diferentes partes:
La máquina anfitrión (el servidor físico real), le daremos los
siguientes parámetros de red:

Nombre de la máquina: pegaso

Dominio: isa.cie.uva.es

Datastore: ESXi

IP: 157.88.32.219

Puerta de enlace: 157.88.32.193

Servidores DNS:
o Primario: 157.88.32.221 (altair.isa.cie.uva.es)
o Secundario: 157.88.18.190 (ns1.uva.es)
53
Las máquinas virtuales (guest) se encuentran virtualizadas en
pegaso, actualmente son tres máquinas, aunque este número podría
aumentar si se creasen más máquinas para otros usos.
Automática
Esta máquina se usa principalmente de controladora de dominio,
fundamentalmente es para que los ordenadores de los laboratorios
puedan
acceder
a
la
red
y
se
cargue
el
perfil
de
usuario
correspondiente. No se hará mucho hincapié ya que es administrada
por el técnico de redes del departamento.

Sistema Operativo: Microsoft Windows Server 2008 R2

Nombre de la máquina: deimos

Datastore: Automatica

Dominio: isa.cie.uva.es

IP: 157.88.32.223

Puerta de enlace: 157.88.32.193

Servidores DNS:
o Primario: 157.88.32.221 (altair.isa.cie.uva.es)
o Secundario: 157.88.18.190 (ns1.uva.es)
Gestión
Esta máquina se usa para tareas de gestión del departamento. Sirve
varias páginas webs, entre ellas:

http://157.88.32.222/glpi
Su
uso
es
para
gestionar
el
parque
informático
del
departamento.
Tampoco se hará mucho hincapié ya que es administrada por el
técnico de redes del departamento.
54

Sistema Operativo: Microsoft Windows Server 2008

Nombre de la máquina: gestión

Datastore: Gestion

Dominio: isa.cie.uva.es

IP: 157.88.32.222

Puerta de enlace: 157.88.32.193

Servidores DNS:
o Primario: 157.88.32.221 (altair.isa.cie.uva.es)
o Secundario: 157.88.18.190 (ns1.uva.es)
Ubuntu
Esta es la máquina principal de proyecto, ya que es la que se usa
para servir numerosas páginas web, entre ellas la página realizada
para el Grupo de Investigación Reconocido Control y Supervisión de
Procesos. Páginas webs destacadas:

http://www.isa.cie.uva.es
Web que se utiliza como puerta de entrada al departamento.
Desde ella se pueden acceder a todos los recursos web de los
que posee el departamento, además de las páginas web
personales de los integrantes de este.

http://estudiantes.isa.cie.uva.es
ISA – Sección de estudiantes Valladolid. Isa España dispone en
su
estructura
organizativa
de
Secciones
de
Estudiantes
asociadas a Secciones Profesionales cuyo objeto es facilitar a
los estudiantes de carreras relacionadas con el mundo de la
Instrumentación, la Automatización y el Control de Procesos el
acceso
a
la
información,
material
didáctico,
experiencias
prácticas, cursos de formación, etc. que proporciona ISA como
asociación profesional de este sector.
55

http://correo.isa.cie.uva.es
Esta web es un visualizador de correos electrónicos para un
servidor de correos POP3 o IMAP.

http://hycon.isa.cie.uva.es
Página del Grupo de Trabajo interesado en los problemas de
control y optimización asociados a Industrias Azucareras en
conexión con las actividades de FP7 EU Network of Excellence
HYCON2 http://www.hycon2.eu/.

http://docenweb.isa.cie.uva.es/pfn
Aplicación
de
código
abierto
y
libre
que
permite
la
administración de ficheros y directorios de forma remota entre
los integrantes del departamento y las relaciones externas con
otras personas o grupos. Su principal característica es la
administración de ficheros y directorios desde un navegador
web, permitiendo realizar una gran variedad de acciones así
como obtener gran cantidad de información del contenidos
almacenado.

http://csp.isa.cie.uva.es
Web del Grupo de Investigación Reconocido de Control y
Supervisión de Procesos.
Los parámetros de la máquina Ubuntu son:

Sistema Operativo: Ubuntu Server 10.04 64-bits

Nombre de la máquina: UbuntuS, csp

Datastore: Ubuntu

Dominio: isa.cie.uva.es

IP: 157.88.32.218, 157.88.32.217, 157.88.32.220

Puerta de enlace: 157.88.32.193
56

Servidores DNS:
o Primario: 157.88.32.221 (altair.isa.cie.uva.es)
o Secundario: 157.88.18.190 (ns1.uva.es)
2.2 Diagrama jerárquico del sistema virtual
El siguiente diagrama jerárquico pretende presentar de una forma
clara las relaciones entra la máquina física y las virtuales, así como
sus diferentes dominios, IPs asignadas y páginas webs alojadas.
Así mismo también muestra los recursos de hardware que cada
máquina virtual tiene reservados.
57
PEGASO (Servidor Físico)
Dominio: pegaso.isa.cie.uva.es
IP: 157.88.32.219
CPU Cores: 8 x 2493 GHz
Memoria RAM: 16 GB
Webs: https://pegaso.isa.cie.uva.es/
SO: Vmware ESXi 5.0
Automática
(Virtual)
Gestión
(Virtual)
Ubuntu
(Virtual)
Dominio:
deimos.isa.cie.uva.es
Dominio:
gestión.isa.cie.uva.es
IP:
157.88.32.223
IP:
157.88.32.222
CPU Cores:
2 x 2493 GHz
CPU Cores:
2 x 2493 GHz
Dominios:
csp.isa.cie.uva.es
hidra.isa.cie.uva.es
estudiantes.isa.cie.uva.es
docenweb.isa.cie.uva.es
correo.isa.cie.uva.es
hycon.isa.cie.uva.es
Memoria RAM:
4GB
Memoria RAM:
4GB
Datastore:
Automatica
Datastore:
Gestion
SO:
Microsoft Windows
Server 2008 R2 64 bits
SO:
Microsoft Windows
Server 2008 32 bits
Webs:
--
Webs:
gestion.isa.cie.uva.es/
gestion.isa.cie.uva.es/glpi
IP:
157.88.32.217
157.88.32.218
157.88.32.220
CPU Cores:
2 x 2493 GHz
Memoria RAM:
4GB
Datastore:
Ubuntu
SO:
Ubuntu Server 10.04 LTS
64 bits
Webs:
www.isa.cie.uva.es
csp.isa.cie.uva.es
estudiantes.isa.cie.uva.es
docenweb.isa.cie.uva.es/
pfn/
correo.isa.cie.uva.es
hycon.isa.cie.uva.es
58
3. INSTALACIÓN VMWARE ESXi 5.0 HYPERVISOR
A continuación detallo los pasos seguidos para instalar Vmware
vSphere ESXi 5.0 Hypervisor.
3.1 Introducción
3.1.1 Requerimientos Mínimos
Se debe cumplir una configuración mínima de hardware soportada.

Servidores con CPU x86 de 64-bit (Mínimo 2 sockets).
o Todos los procesadores AMD Opteron
o Todos
los
3100/3300,
procesadores
Intel
5100/5300,
Xeon
5200/5400,
3000/3200,
5500/5600,
7100/7300, 7200/7400, y 7500

ESXi 5.0 solo soporta instrucciones de CPU LAHF y SAHF.

Mínimo 2098MB de memoria RAM.

1 o más NICs Gigabit o 10GbE.

Cualquier combinación de una o
más de las siguientes
controladoras:
o Controladoras SCSI Basicas: Adaptec Ultra-160 o Ultra320, LSI Logic Fusion-MPT, etc.
o Controladoras RAID: Dell PERC (Adaptec RAID o LSI
MegaRAID), HP Smart Array RAID, o controladoras IBM
(Adaptec) ServeRAID.

Disco SCSI o una LUN RAID local con espacio no particionado.
59

Para
Serial
ATA
(SATA),
un
disco
conectado
en
una
controladora SAS soportada será considerado como remoto, no
local. Estos discos no serán usados como una partición Scratch
por defecto, debido a que son vistos como remotos.
Para una lista completa de hardware soportado, se puede revisar la
Hardware Compatibility Guide en el sitio de VMware.
http://www.vmware.com/resources/compatibility
El servidor utilizado para el proyecto, cumple con casi todos los
requerimientos salvo que no tiene una controladora RAID y los discos
donde se van a guardar las máquinas virtuales son discos SATA, que
no son recomendados para esta función por Vmware, ya que los
discos
SATA
no
permiten
un
gran
flujo
de
operaciones
de
lectura/escritura por segundo (IOPS), lo cual puede producir una
sobrecarga al disco y por lo tanto se desconecta automáticamente lo
que produciría un congelamiento de las máquinas virtuales alojadas
en ese disco.
Conociendo este incumplimiento de los requisitos mínimos, para
solventar este problema se va a procurar exigir lo menos posible a
cada disco, por lo que las máquinas virtuales que se creen van a
estar distribuidas por todos los discos disponibles, intentando no
superar el número de tres máquinas virtuales por cada disco.
3.1.2 Descarga del Software
Para
descargar
el
software
acudiremos
a
la
web:
http://www.vmware.com/go/get-free-esxi
60
En esta web, para descargar el software tendremos primeramente
que registrarnos, y luego proceder a la descarga de la imagen de
disco (.ISO) de Vmware ESXi 5.0.
Una vez descargada, tendremos que grabarla en un CD para
posteriormente arrancar la máquina desde este CD.
3.1.3 Licencia de Vmware ESXi 5.0
Una vez registrados en la web de Vmware y descargado el software,
se nos proporcionará un número de licencia que tendremos que
insertar una vez instalados el ESXi 5.0 ya que sino tendríamos una
versión de evaluación de 60 días.
La licencia gratuita que nos proporcionan posee las siguientes
características:

Proporciona
capacidades
de
virtualización
básicas
para
virtualizar servidores y ejecutar aplicaciones en máquinas
virtuales.

No se puede conectar a VMware vCenter Server y por lo tanto
no se puede gestionar de forma centralizada.

Los usuarios pueden administrar remotamente cada host
usando el cliente vSphere.

Se puede gestionar hasta 32 GB de vRAM por servidor (con
independencia del número de procesadores) y puede ser
utilizado en servidores con hasta 32 GB de memoria RAM física.
61
Por lo tanto estas limitaciones no son un problema a la hora de
desplegar nuestro entorno de virtualización objeto de este proyecto.
A continuación se muestra una tabla que compara las distintas
licencias, ya de pago, que se pueden adquirir con sus distintas
funcionalidades:
62
3.2 Instalación
Para comenzar la instalación del ESXi 5, procederemos a insertar el
CD-ROM que hemos grabado anteriormente y reiniciaremos el equipo.
Para que el servidor arranque correctamente desde el CD-ROM,
tendremos que entrar en la BIOS y seleccionar como primer
dispositivo de arranque la unidad de CD.
Una vez realizados estos pasos y reiniciado el servidor, obtendremos
la siguiente pantalla:
Presionamos
“INTRO”
en
nuestro
teclado
y
continuamos
la
instalación. “INTRO” nuevamente para continuar.
63
Presionaremos F11 para aceptar el “EULA” (End User License
Agreement).
En la siguiente pantalla nos da la opción de elegir en qué disco duro
instalaremos el ESXi 5. Deberemos ser cuidadosos en la selección del
disco ya que se formateará y por lo tanto se borrarán todos los datos
que pudiera haber en dicho disco.
Aunque en la BIOS hayamos seleccionado hacer algún tipo de RAID,
en esta pantalla aparecerán todos los discos duros individualmente, a
no ser que realmente dispongamos de una controladora hardware de
RAID.
El servidor dispone en la BIOS de lo que se denomina software RAID
y por lo tanto el ESXi no es compatible con este tipo de RAID y cada
disco duro de los que disponemos aparece como una unidad
independiente.
64
Posteriormente en el apartado de Política de Backups, explicaremos
los métodos que se han seguido para suplir esta falta de RAID y
poder dar integridad y seguridad a los datos que almacenaremos en
los discos duros.
Seguidamente seleccionaremos la disposición de nuestro teclado, en
la que en nuestro caso elegiremos “Spanish”.
A continuación elegiremos la contraseña de root, esta contraseña
deberá cumplir el requisito mínimo de tener al menos 7 caracteres.
Se recomienda que sea una contraseña alfanumérica y que contenga
mayúsculas y minúsculas para una mayor seguridad.
65
Seguidamente confirmamos el proceso de instalación presionando
F11. Como se puede observar en la siguiente imagen, aparece un
aviso que nos alerta de que en el disco se crearán nuevas particiones
y por lo tanto se formateará con lo que se borrarán todos los datos
contenidos en él.
En la siguiente pantalla vemos el comienzo de la instalación y el
proceso. ESXi 5 en un sistema operativo que requiere pocos recursos
por lo cual será una instalación rápida que apenas dure unos minutos.
Finalmente, una vez que la barra de progreso haya llegado al 100%,
nos muestra un mensaje de que la instalación ha sido realizada
correctamente y que debemos pulsar “INTRO” para reiniciar.
También deberemos extraer el CD-ROM de la unidad y configurar la
BIOS para que el primer dispositivo de arranque sea el disco duro
donde hemos instalado ESXi 5.
66
Una vez reiniciada la máquina, aparecerá una pantalla similar a la
siguiente indicándonos que la máquina ya está lista para ejecutar
máquinas virtuales, pero antes, necesitamos configurar algunos
parámetros del sistema, presionando “F2” e introduciendo nuestra
contraseña de root que seleccionamos en el proceso de instalación.
La configuración de estos parámetros los veremos en el siguiente
apartado.
67
3.3 Configuración
3.3.1 Configuración básica de red
Una vez realizados los pasos del anterior apartado, pasaremos a
realizar una configuración básica del ESXi 5, para ellos presionamos
F2 y se nos solicitará la contraseña de root que indicamos en el paso
de instalación.
Cuando hayamos iniciado sesión, navegaremos por el menú hasta
“Configure Management Network”, en el cual podremos definir todos
los parámetros de red de la máquina.
68
Para esta máquina elegiremos la siguiente configuración:

IP Estática
o Dirección IP: 157.88.32.219
o Máscara de Subred: 255.255.255.192
o Puerta de Enlace: 157.88.32.193

Usar las siguientes direcciones DNS
o Primaria: 157.88.32.221
o Alternativo: 157.88.18.190
o Nombre: pegaso.isa.cie.uva.es
Cuando hayamos rellenado todos los campos, pasaremos a guardar la
configuración, guardando los cambios como muestra la siguiente
imagen.
69
3.3.2 vSphere Client
El cliente vSphere es la principal interfaz para administrar todos los
aspectos del entorno ESXi.
También proporciona acceso a la consola de las máquinas virtuales.
Una vez que se ha instalado el servidor ESXi, una página de
bienvenida es mostrada, en la cual es donde te debes conectar y
desde donde te puedes descargar el cliente de vSphere.
Por lo tanto debemos acudir a https://pegaso.isa.cie.uva.es/ que nos
mostrará la web siguiente:
70
En la cual podemos observar que tenemos un link denominado
“Download
vSphere
Client”
que
si
pinchamos
sobre
él
nos
descargaremos el cliente.
Una vez descargado procedemos a su instalación, es una instalación
típica de Windows, por lo cual no entraremos en detalles de los pasos
a seguir en dicha instalación.
Lo primero que debemos hacer tras la instalación será acceder con el
usuario y contraseña que definimos anteriormente, con este paso
entraremos en el sistema, pero se mostrará un mensaje de
advertencia
que
nos
comunica
que
tenemos
una
versión
de
evaluación de 60 días.
Para eliminar dicho mensaje y obtener una versión totalmente
funcional e ilimitada en el tiempo debemos introducir la clave que
obtuvimos cuando descargamos el software del ESXi 5.
Para
ello
acudiremos a pestaña configuración de
la máquina
pegaso.isa.cie.uva.es y en el apartado “Licensed Features” prodremos
introducir la licencia, la cual nos habilitará para:
Product:
VMware
vSphere
5
Hypervisor
Licensed
for
2
physical CPUs (unlimited cores per CPU)
License Key: XXXX-XXXX-XXXX-XXXX-XXXX
Expires: Never
Product Features:
Up to 32 GB of memory
Up to 8-way virtual SMP
La licencia la ocultamos por motivos de seguridad.
71
En esta pestaña de Configuración podremos realizar las operaciones y
modificaciones
que
creamos
convenientes
para
el
buen
funcionamiento de nuestro sistema.
En la siguiente imagen, mostramos la pantalla principal del cliente,
desplegando la pestaña Sumario de pegaso, una vez dadas de alta y
encendidas varias máquinas virtuales.
3.3.3 Acceso SSH
Podemos habilitar el acceso SSH a la máquina del ESXi para poder
realizar las tareas habituales de un acceso por consola a una máquina
Linux. Aunque ESXi lleva un núcleo particular y creado por Vmware,
dicho núcleo está basado en Linux, por lo que la consola es similar
con ciertas peculiaridades.
72
Para activar dicha característica debemos ir de nuevo a la pestaña
configuración de nuestro cliente y posteriormente ir a la sección
“Security Profile” en la cual deberemos activar el servicio SSH y dar
los permisos suficientes en el cortafuegos que trae incorporado el
servidor ESXi.
Con estos pasos, ya seríamos capaces de hacer una conexión por
SSH a la máquina al puerto 22 por defecto. Dejarlo de esta forma
sería una práctica de seguridad muy poco recomendada, por lo que
debemos
cambiar
el
puerto
donde
escucha
el
servicio
SSH
inmediatamente.
Cambiar puerto por defecto SSH
Seguiremos los siguientes pasos para añadir más seguridad a nuestra
conexión por SSH.
1. Editamos el archivo y cambiamos el puerto por defecto (22) por
el que deseamos, en este caso por el 4532:
vi /etc/ssh/sshd_config
Port 4532
2. Reiniciamos los agentes:
services.sh restart
73
3. Configuramos el cortafuegos:
Para ello debemos crear un archivo ubicado en alguno de los
discos duros, que en nuestro caso será en el disco duro llamado
ESXi y que contendrá la siguiente información.
vi /vmfs/volumes/ESXi/ssh.xml
<ConfigRoot>
<service>
<id>SSH 4532</id>
<rule id='0000'>
<direction>inbound</direction>
<protocol>tcp</protocol>
<porttype>dst</porttype>
<port>4532</port>
</rule>
<enabled>true</enabled>
<required>false</required>
</service>
</ConfigRoot>
4. Modificamos el archivo que contiene los servicios.
Copiamos el archivo /etc/services a la ubicación que deseemos
y modificamos el servicios SSH para que escuche en el puerto
4532.
cp /etc/services /vmfs/volumes/ESXi/services
vi /vmfs/volumes/ESXi/services
#Modificamos los puertos del servicio SSH
ssh
4532/tcp
# SSH Remote Login Protocol
ssh
4532/udp
# SSH Remote Login Protocol
74
5. Creamos el script para después de algún posible reinicio de
pegaso cargue nuestra configuración, para que prevalezca el
cambio de puerto, para ello
editamos el /etc/rc.local y
agregamos las siguientes líneas:
vi /etc/rc.local
#Creamos nuestra propia regla SSH
cp /vmfs/volumes/ESXi/ssh.xml /etc/vmware/firewall/
#Actualizamos las reglas del cortafuegos
esxcli network firewall refresh
#Copiamos nuestro archive modificado de los servicios
en el lugar correspondiente
cp /vmfs/volumes/ESXi/services /etc/services
#Reiniciamos inetd para actualizar los cambios
kill -HUP `cat /var/run/inetd.pid`
6. Verificamos el vSphere Client:
75
Con estos pasos ya tendremos habilitado el servicio SSH para acceder
sólo por el puerto 4532. Si pretendiésemos conectar al puerto 22
obtendríamos un mensaje de error que nos indicaría que la conexión
ha sido rechazada.
3.3.4 Acceso vSphere Command-Line Interface (vCLI)
La línea de comando CLI de vSphere (vCLI) es un ambiente remoto
de ejecución de scripts que interactúa con los hosts de VMware ESXi
para permitir la configuración del host vía scripts o comandos
específicos.
Replica
prácticamente
el
equivalente
a
todos
los
comandos de la consola de servicio para la configuración de ESXi.
Podemos acudir a descargarlo a:
http://www.vmware.com/support/developer/vcli/
Con esta herramienta podemos controlar de forma remota los
aspectos del servidor del ESXi, de una forma similar al vSphere
Client, con la diferencia obvia, que estaríamos en un entorno de
consola de texto en vez de un cliente gráfico. La ventaja por tanto, se
encuentra en que este programa podría ser instalado en cualquier
ordenador debido a los mínimos requerimientos que exige para su
utilización.
Para una lista completa de los comandos que existen y que podemos
utilizar, nos descargaremos el archivo de administración de Vmware
ESXi a través de vCLI en el siguiente enlace:
http://communities.vmware.com/servlet/JiveServlet/downloadBody/1
8652-102-1-24222/vmware-management-with-vcli-5.0.pdf
76
Para utilizar los comandos de este archivo, el parámetro de conexión
que debemos utilizar para conectar a la máquina ESXi es:
<con_options> = --server <ESXi host ip>
Por lo tanto nosotros lo utilizaremos como:
--server pegaso.isa.cie.uva.es
O en su defecto:
--server 157.88.32.219
En la siguiente lista, destacaremos los comandos más importantes:

Mostrar versión del host ESXi
# esxcli <conn_options> system version get

Entrar/Salir del Modo Mantenimiento
# vicfg-hostops <conn_options> --operation [enter | info |
exit]

Apagar/Reiniciar la máquina
# vicfg-hostops <conn_options> --operation [ shutdown |
reboot ]

Listar las máquinas virtuales.
# vmware-cmd <conn_options> –l
77

Encender una máquina virtual.
#
vmware-cmd
<conn_options>
/vmfs/volumes/<volume
name>/<vm>/<vm>.vmx start [ soft | hard ]

Apagar una máquina virtual.
#
vmware-cmd
<conn_options>
/vmfs/volumes/<volume
name>/<vm>/<vm>.vmx stop [ soft | hard ]

Reiniciar una máquina virtual.
#
vmware-cmd
<conn_options>
/vmfs/volumes/<volume
name>/<vm>/<vm>.vmx reset [ soft | hard ]

Mostrar tiempo de encendido de una máquina virtual. (El
resultado se muestra en segundos)
#
vmware-cmd
<conn_options>
/vmfs/volumes/<volume
name>/<vm>/<vm>.vmx getuptime
78
4. INSTALACIÓN MÁQUINA VIRTUAL UBUNTU
En este apartado se explicará cómo crear una máquina virtual con el
sistema operativo Ubuntu Server 10.04 sobre el servidor con VMware
ESXi 5.
Se usará VMware vSphere Client para conectarse al servidor ESXi y
crear la máquina virtual.
4.1 Creación del entorno en Vmware ESXi 5.0
En primer lugar subiremos el fichero con la imagen ISO de GNU Linux
Ubuntu Server 10.04 al datastore del servidor llamado “ESXi”, para
ello abriremos VMware vSphere Client, nos conectaremos al servidor
ESXi, lo seleccionaremos en la parte izquierda y pulsaremos en la
pestaña "Summary" en la parte derecha. En "Resources", en
"Storage",
seleccionaremos
el
datastore
“ESXi”
que
es
donde
queremos subir el fichero ISO, pulsaremos con el botón derecho del
ratón sobre él y seleccionaremos "Browse Datastore":
79
Abriremos la carpeta que existe para la subida de sistemas operativos
llamada “Isos” y presionaremos el botón "Upload File”.
Seleccionaremos el fichero ISO descargado previamente en nuestro
ordenador con la imagen de Ubuntu Server. Se iniciará la subida del
fichero ISO a la carpeta del datastore seleccionada, una vez subido el
fichero, se podrá observar que ya se encuentra en el servidor.
80
Ahora crearemos la nueva máquina virtual, para ello pulsaremos con
el botón derecho del ratón sobre el servidor ESXi, en el menú
emergente seleccionaremos "New Virtual Machine":
El asistente para crear una nueva máquina virtual nos mostrará las
opciones:

Typical: Crear una máquina virtual con las opciones comunes
de dispositivos y configuración.

Custom: Crear una máquina virtual con opciones adicionales
de configuración.
Seleccionaremos "Custom" y pulsaremos "Next":
81
Introduciremos un nombre identificativo para la máquina virtual, que
en nuestro caso será "Ubuntu":
Seleccionaremos el datastore donde se alojarán los ficheros de la
máquina virtual, en nuestro caso elegiremos "Ubuntu":
82
A continuación seleccionaremos la compatibilidad con versiones
anteriores, las posibilidades son:

Virtual Machine Version 7: Para ejecutarse en VMware
ESX/ESXi 4.0 y posteriores.

Virtual Machine Version 8: Para ejecutarse en VMware ESXi
5.0 y posteriores.
Puesto que no necesitamos compatibilidad con versiones anteriores
seleccionamos "Virtual Machine Version 8" y pulsamos "Next":
83
Seleccionaremos el sistema operativo que contendrá la máquina
virtual, por lo tanto "Linux" y en "Version" deberemos elegir "Ubuntu
Linux (64-bit)":
Indicaremos el número de socket y de cores para esta máquina
virtual, en función del uso que se quiera dar, si va a ser una máquina
en producción con servicios que requieran de mucho uso de CPU
seleccionaremos todos los sockets y cores posibles, en nuestro caso,
ya que va a ser una máquina que sobre todo va a servir páginas
webs, con dos cores será suficiente, además se debe pensar en el
resto de las máquinas que pueden ser creadas posteriormente para
no agotar todos los recursos del servidor.
84
Seleccionaremos la cantidad de memoria RAM que le asignaremos a
la máquina virtual, al igual que los socket y cores, este valor podrá
variar en función del uso que queramos darle a la máquina virtual.
También deberemos pensar en el resto de las máquinas que pueden
ser
creadas
posteriormente
ya
que
hay
que
dimensionar
correctamente los recursos, aunque en el caso de la RAM es un
parámetro que se podrá modificar posteriormente. En nuestro caso
indicaremos 4 GB y pulsaremos "Next":
Indicaremos ahora los dispositivos de red para la máquina, en función
de los dispositivos de red del servidor ESXi, en nuestro caso el
servidor de ESXi tiene dos tarjetas de red, una conectada a la red del
departamento y la otra que permanece sin conectarse, asignaremos a
esta máquina virtual un único dispositivo de red, el correspondiente a
la LAN (VM Network), marcaremos "Connect at Power On":
85
Seleccionaremos el tipo de controlador SCSI, por defecto "LSI Logic
Parallel":
Seleccionaremos ahora el tipo de disco duro virtual, las opciones:

Create a new virtual disk: Crear un nuevo disco duro virtual
en el datastore seleccionado anteriormente.

Use an existing virtual disk: Se usará un disco duro virtual
existente.

Raw Device Mappings: Si tenemos nuestro servidor ESXi
conectado a una SAN (Storage Area Network) podremos crear
86
el disco duro virtual en la SAN. Esta opción aparecerá
deshabilitada si no hemos conectado el servidor ESXi a la SAN.

En
Do not create disk: No se creará disco duro virtual.
nuestro
caso
marcaremos
"Create
a
new
virtual
disk"
y
pulsaremos "Next":
Indicaremos el tamaño del disco duro virtual (para la máquina
Ubuntu seleccionaremos 500 GB), y el tipo de aprovisionamiento, las
opciones:

Thick Provision Lazy Zeroed: VMware creará un disco duro
virtual con el espacio elegido, en el datastore de ESXi usará
todo el espacio elegido para el disco. El espacio requerido para
el disco virtual se asignará durante la creación. Este disco duro
se pondrá a cero en la primera escritura de la máquina virtual.

Thick Provision Eager Zeroed: Igual que el anterior con la
pequeña diferencia de que el disco duro se pondrá a cero en la
creación, por lo que el proceso de creación de la máquina
virtual puede ser algo más lento.
87

Thin Provision: Se creará un disco duro virtual pequeño,
usará el espacio mínimo necesario inicialmente e irá creciendo
hasta el máximo indicado conforme sea necesario.
Según el uso que queramos dar a la máquina virtual elegiremos Thick
o Thin, si la máquina virtual va a usar servicios que consumirán
mucho
disco
duro
en
poco
tiempo
es
recomendable
el
aprovisionamiento Thick, como va a ser una máquina virtual que tal
vez no use mucho espacio en disco y que crecerá muy lentamente
podremos elegir Thin. En nuestro caso seleccionaremos "Thin
Provision".
Además de estos parámetros (tamaño y tipo de aprovisionamiento)
deberemos indicar dónde se guardarán los ficheros del disco duro
virtual, VMware nos ofrecerá las siguientes posiblidades:

Store with the virtual machine: Es la opción habitual, el
disco duro se creará en la misma carpeta y datastore que el
resto de ficheros de la máquina virtual.

Specify a datastore or datastore cluster: Si queremos que
los ficheros del disco duro virtual se almacenen en un datastore
diferente al de la máquina virtual podremos elegir esta opción.
Seleccionaremos "Store with the virtual machine" y pulsaremos
"Next":
88
Indicaremos el tipo de dispositivo del nodo virtual, normalmente
"SCSI (0:0)" es la opción por defecto y no suele modificarse. En el
modo (Mode) podremos activar "Independent" con las opciones:

Persistent: Los cambios realizados en la máquina virtual se
aplicarán y escribirán en el disco inmediatamente.

Nonpersistent: Los cambios en el disco duro virtual se
guardarán al apagar la máquina virtual o al revertir algún
snapshot.
La opción "Independent" por defecto está desmarcada y no debemos
marcarla salvo que tengamos claros sus efectos. En nuestro caso
dejaremos las opciones por defecto y pulsaremos "Next":
89
El
asistente
para
crear
una
nueva
máquina
virtual
VMware
ESXi/vSphere nos mostrará un resumen con las opciones elegidas.
Marcaremos la opción "Edit the virtual machine settings before
completion" para modificar las opciones de la máquina virtual tras
crearla. Pulsaremos "Continue" para crear la máquina virtual.
Una vez creada la máquina virtual el asistente nos mostrará la
ventana de opciones de la máquina virtual. Ahora indicaremos a la
máquina virtual que en el próximo arranque use como CD/DVD el
fichero ISO subido anteriormente con la imagen de Linux Ubuntu
Server,
para
ello
pulsaremos
en
la
pestaña
"Hardware",
seleccionaremos "New CD/DVD", en la parte derecha marcaremos
"Datastore ISO File", pulsaremos en "Browse" para seleccionar el
fichero ISO subido anteriormente. Una vez indicado el fichero ISO es
importante marcar "Connect at power on" para que el CD/DVD esté
disponible en el arranque:
90
Ahora
podremos
iniciar
la
máquina
virtual
VMware
creada,
seleccionándola en el browse de VMware vSphere Client, pulsando
con el botón derecho sobre ella y seleccionando "Power" -> "Power
On". Ahora se iniciará la instalación de Linux Ubuntu Server 10.04:
91
4.2 Instalación de Ubuntu Server 10.04
Una vez arrancada la máquina procederemos a la instalación del
sistema operativo Ubuntu Server 10.04 LTS. Como veíamos en el
apartado anterior la instalación de inicia con la elección del idioma,
por lo tanto elegiremos “Español” como idioma por defecto.
En la siguiente pantalla nos encontramos con un menú gráfico en el
que tenemos varias opciones. Como queremos instalar Ubuntu
Server, lógicamente pulsamos Intro sobre Instalar Ubuntu Server.
A continuación comenzará el instalador de Ubuntu Server que, a
diferencia de Ubuntu Desktop, está basado en texto. Estas son cada
una de las partes en las que se divide la instalación:

Seleccionar el idioma

Configurar el teclado

Configurar la red

Configurar el reloj
92

Particionado de discos

Configurar usuarios y contraseñas

Configurar el gestor de paquetes

Seleccionar e instalar programas

Configuración de grub-pc
Lo primero que debemos hacer es seleccionar el país o región en la
que nos encontramos. En nuestro caso España y pulsamos Intro.
En la siguiente pantalla el programa de instalación nos pregunta si
queremos que él detecte automáticamente la distribución del teclado
que
tenemos.
Aunque
ambas
opciones
suelen
funcionar
perfectamente elegiremos la selección manual del teclado por lo que
contestaremos que “No”.
93
Como es lógico, ahora nos toca indicar manualmente el origen del
teclado. A continuación seleccionamos España y pulsamos Intro. Y
después la distribución específica. De nuevo para nosotros es España.
Una vez elegido el teclado veremos que la instalación continúa
cargando módulos adicionales hasta que se llega a la configuración de
la red. Al configurar la red, lo primero que hace es comprobar si tiene
acceso a un servidor DHCP. Si detecta algún servidor DHCP en la red,
se configura automáticamente, pero en nuestro caso debemos definir
los parámetros de red manualmente como vemos en las siguientes
imágenes.
Esta es la IP principal de la máquina Ubuntu, aunque más tarde se
configurarán otras dos IPs para esta máquina. La 157.88.32.217 y
157.88.32.218.
94
La máscara de red la deberemos cambiar por 255.255.255.192 y por
último se nos solicita la pasarela o puerta de enlace. El sistema
operativo la ha detectado automáticamente por tanto dejaremos el
valor que aparece que es: 157.88.32.193.
En la siguiente pantalla nos solicitará los servidores de nombres o
DNS que los configuraremos según la siguiente imagen. Como vamos
a introducir dos servidores de nombres, los separaremos con un
espacio. El primer servidor pertenece al propio departamento y si
fallara este tenemos el segundo servidor que pertenece a la
Universidad de Valladolid.
Lo siguiente es indicarle el nombre de nuestro servidor. En este caso
se ha puesto UbuntuS.
95
A continuación nos solicita el nombre de dominio, es un campo que
podemos dejarlo en blanco, pero como esta máquina pertenece al
departamento de Ingeniería de Sistemas y Automática de la sede
Doctor Mergelina, el dominio será isa.cie.uva.es.
Automáticamente
instalador
nos
y
basándose
en
dirá
nuestra
zona
nuestra
horaria.
ubicación
Si
es
física
el
correcta,
seleccionamos “Sí”. Si no lo es, después de seleccionar “No” veremos
un listado de zonas para elegir la nuestra. Normalmente el instalador
elige la zona horaria correctamente como podemos comprobar.
96
El particionado de discos es el único proceso algo más complicado de
toda la instalación. El asistente de la instalación nos proporciona las
siguientes alternativas:

Guiado – utilizar todo el disco: El asistente creará dos
particiones (raíz y swap).

Guiado – utilizar el disco completo y configurar LVM: Se
crea una partición de arranque (boot) y un volumen físico que
contendrá dos volúmenes lógicos (raíz y swap).

Guiado – utilizar todo el disco y configurar LVM cifrado:
Igual que el anterior pero en este caso se cifra el volumen
lógico que contiene la partición raíz.

Manual: Nos permite particionar como queramos. Con o sin
LVM, cifrando o sin cifrar y creando el número de particiones
que necesitemos.
En nuestro caso elegiremos particionar el disco manualmente sin usar
LVM para dimensionar las particiones como queramos.
En un servidor se suelen usar tres particiones (como mínimo) que son
las siguientes:
/(raíz): Contiene el sistema en sí, las aplicaciones que se instalen,
los archivos de configuración.
/home: Alberga los archivos y páginas web de los usuarios.
swap: Es el área de intercambio.
97
En el siguiente paso vemos un resumen de los discos duros y las
particiones que tenemos, en principio sólo tenemos el disco duro sin
ninguna partición. Lo seleccionamos y pulsamos Intro.
Como es un disco duro nuevo (virtual), sin tabla de particiones
anterior, lo primero que deberemos hacer será crear la tabla de
particiones. Así que nos posicionamos sobre el disco duro y pulsamos
Intro.
El instalador preguntará si deseamos crear una nueva tabla de
particiones, a lo que contestaremos que “Sí”.
98
El asistente nos lleva de nuevo al resumen de las particiones, sin
embargo, en este caso ya tenemos una partición libre tan grande
como nuestro disco duro. La seleccionamos porque en ella vamos a
crear las particiones y pulsamos Intro. A continuación, elegimos Crear
una partición nueva y pulsamos Intro.
La primera partición que vamos a crear es la partición raíz (/). Esta
partición contendrá los programas y servicios que instalemos. Como
nuestro disco duro es de 500 GB, vamos a asignar 240 GB para esta
partición.
Después tenemos que indicar el tipo: primaria o lógica. En este caso,
seleccionamos primaria.
La partición que estamos creando la podemos poner al principio o al
final del espacio disponible. Le indicamos que al principio y pulsamos
Intro.
99
En la siguiente pantalla tenemos que seleccionar el punto de
montaje: / – sistema de ficheros raíz. Y después, bajamos hasta “Se
ha terminado de definir la partición” y pulsamos Intro.
Una vez que tenemos nuestra primera partición creada, que nos
aparecerá en el resumen de particiones, seleccionamos el espacio
libre y pulsamos Intro para definir la siguiente partición.
En el nuevo espacio libre elegimos crear una partición nueva y
pulsamos Intro.
La partición que vamos a crear ahora es /home. Esta partición
contendrá todos los archivos
y páginas webs de los usuarios que
estén dados de alta en el servidor. El tamaño de esta partición
depende del uso que vayamos a darle, pero debido al tamaño del
disco podemos reservar otros 250 GB para que la swap finalmente
tenga 10 GB.
100
Ahora repetiremos los pasos que hemos descrito para crear la
primera partición, salvo algunas variaciones.
El tipo de partición para esta partición puede ser tanto primaria como
lógica. Como ya hemos creado una partición primaria, esta ya la
crearemos lógica. Cabe destacar que sólo se permiten cuatro
particiones primarias en un mismo disco duro. Como en el anterior
apartado, la partición que estamos creando la podemos poner al
principio o al final del espacio disponible. Le indicamos que al
principio y pulsamos Intro. En la siguiente pantalla tenemos que
seleccionar el punto de montaje: /home – directorios personales. Y
después, bajamos hasta “Se ha terminado de definir la partición” y
pulsamos Intro.
Una vez que tenemos nuestra segunda partición creada, vamos a por
la tercera y última: el área de intercambio. Por eso seleccionamos el
espacio libre y pulsamos Intro.
101
Después seleccionamos crear una partición nuevay pulsamos Intro.
La partición que vamos a crear ahora es el área de intercambio
(swap). Como ya hicimos los cálculos en la partición anterior para
dejarle a esta partición el tamaño que queremos, simplemente
pulsamos Intro con el espacio que nos indica (10 GB).
El tipo de partición para esta partición también puede ser tanto
primaria como lógica. Como la partición /home de los usuarios la
definimos lógica, para esta lo haremos igual.
En la siguiente pantalla tenemos que indicar que se va a usar como
área de intercambio. Y después, bajamos hasta “Se ha terminado de
definir la partición” y pulsamos Intro.
Una vez finalizada la creación de las 3 particiones que vamos a tener
en nuestro servidor, nos movemos con las flechas de cursor hasta la
opción “Finalizar el particionado y escribir los cambios en el disco” y
pulsamos Intro. Por último, debemos confirmar que se van a escribir
los datos en el disco antes de continuar. Marcamos “Sí” y pulsamos
Intro.
102
Una vez que el instalador formatea las particiones que hemos descrito
y escribe los cambios en el disco, se empieza a instalar el sistema
base. Posteriormente es el momento de crear una cuenta de usuario
con privilegios de administración. Hay que recordar que en Ubuntu el
usuario root no está habilitado por defecto, por lo que cuando
tengamos que hacer alguna tarea administrativa, tendremos que usar
el nombre de usuario y la contraseña del usuario que vamos a crear a
continuación.
Lo primero que tenemos que hacer es escribir el nombre real del
usuario. Este nombre puede tener espacios en blanco o caracteres
especiales. Después tenemos que escribir el nombre de usuario (el
identificador). Este
nombre tiene que empezar por una letra
minúscula y no puede contener ni espacios ni caracteres especiales.
Lo siguiente que deberemos indicar es la contraseña para este
usuario. Los consejos de que contenga letras, números y signos de
puntuación que nos hace el instalador son una buena idea. Por
motivos de seguridad omitiremos el nombre de usuario administrador
103
que se ha dado al servidor. También tenemos que configurar si
queremos que nuestra carpeta personal esté cifrada. En este caso no
va a ser necesario por lo que contesto que “No”.
La configuración del gestor de paquetes no es necesaria en muchos
casos ya que sólo será necesaria cuando para acceder a Internet
estemos detrás de un proxy no transparente. Como el servidor no
está detrás de ningún proxy, se deja en blanco.
En
la
pantalla
siguiente
debemos
decidir
qué
hacer
con
las
actualizaciones. Tenemos tres opciones:

Sin
actualizaciones
automáticas:
Cuando
queramos
actualizar el servidor, lo haremos manualmente. Por ejemplo,
usando el siguiente comando:
sudo apt-get update && sudo apt-get upgrade

Instalar actualizaciones de seguridad automáticamente:
De
esta
forma
nos
podemos
despreocupar
de
las
actualizaciones más importantes ya que nuestro servidor las
actualizará de forma automática. Es la opción que elegiremos
para este servidor.

Administrar el sistema con Landscape: Landscape es un
servicio de pago de Canonical para administrar a través de la
web nuestros servidores.
104
Además de la instalación del sistema básico, podemos instalar
cómodamente una buena cantidad de servicios. Los servicios que
instalaremos en esta fase son el OpenSSH server y LAMP Server
(Linux, Apache, MySQL, PHP). A medida que necesitemos más
servicios se irán instalando para no sobrecargar el servidor con
servicios que no se utilizan.
105
A continuación el instalador comenzará a instalar los programas y
servicios que hemos seleccionado. Se nos solicitará la clave de root
del programa MySQL, que la deberemos de introducir dos veces
consecutivas.
El último paso en la instalación de Ubuntu 10.04 LTS Server consiste
en la instalación del cargador de arranque GRUB en el registro
principal de arranque. Como no vamos a instalar Ubuntu Server junto
con otros sistemas operativos, marcaremos “Sí” y pulsaremos Intro
para instalar el GRUB en nuestro sistema.
Aquí se termina la instalación del servidor basado en Ubuntu. El
mensaje nos recuerda que debemos sacar el CD-ROM o memoria USB
para que cuando reinicie, el sistema arranque desde el disco duro.
Cuando
estemos
listos,
pulsamos
Continuar.
Recordemos
que
nosotros deberemos desactivar la opción de conectar en el arranque
el CD/DVD en la máquina virtual alojada en el servidor ESXi.
106
4.3 Configuración de Ubuntu Server 10.04
Una vez que hemos arrancado la máquina a través del cliente de
Vmware, ya podremos acceder al servidor desde otro ordenador con
un cliente que soporte el protocolo SSH. A partir de ahora todos los
accesos al servidor los realizaremos de este modo.
En los siguientes apartados se explicarán las distintas configuraciones
que se han realizado para que el servidor haga las funciones
necesarias.
4.3.1 Configuración de IPs y hosts
Como hemos comentado en anteriores apartados el servidor va a
tener configuradas varias IPs, ya que el departamento tiene definidos
unos determinados dominios que apuntan a unas determinadas IPs.
Para empezar configuraremos que el servidor escuche en varias IPs,
para ello deberemos abrir el archivo interfaces y se configurará tal y
como se muestra a continuación.
root@UbuntuS:/# vi etc/network/interfaces
# This file describes the network interfaces available on
#your system
# and how to activate them. For more information, see
#interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
107
# The primary network interface
auto eth0
iface eth0 inet static
address 157.88.32.220
netmask 255.255.255.192
network 157.88.32.192
broadcast 157.88.32.255
gateway 157.88.32.193
# dns-* options are implemented by the resolvconf package,
#if installed
dns-nameservers 157.88.32.221 157.88.18.190
dns-search isa.cie.uva.es
#eth1
auto eth0:0
iface eth0:0 inet static
address 157.88.32.217
netmask 255.255.255.192
#eth2
auto eth0:1
iface eth0:1 inet static
address 157.88.32.218
netmask 255.255.255.192
Como se observa, la IP principal del servidor es la 157.88.32.220, y
además hemos creado otras dos denominadas alias de IP, que son la
157.88.32.217 y la 157.88.32.218.
A continuación modificaremos el archivo hosts para la resolución local
de nombres de dominio. El archivo hosts se encuentra en el directorio
/etc, por lo que lo editaremos de la siguiente forma.
108
root@UbuntuS:/# vi /etc/hosts
127.0.0.1
localhost
UbuntuS
157.88.32.217
estudiantes.isa.cie.uva.es
estudiantes
157.88.32.218
hidra.isa.cie.uva.es
hidra
157.88.32.218
csp.isa.cie.uva.es
csp
157.88.32.220
docenweb.isa.cie.uva.es
docenweb
157.88.32.220
correo.isa.cie.uva.es
correo
157.88.32.220
hycon.isa.cie.uva.es
hycon
# The following lines are desirable for IPv6 capable hosts
#::1
localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Con estos pasos ya tenemos preparado el servidor para escuche en
esas IPs y nombres de dominio.
4.3.2 Configuración acceso SSH y SFTP
Ahora pasaremos a modificar el archivo que controla el servicio de
SSH y SFTP para hacerlo más seguro. Este archivo se llama
sshd_config y se encuentra en /etc/ssh/.
Este archivo se modifica a través de directivas que deberemos ir
cambiando para hacerlo más seguro, ya que este servicio es popular
entre los robots maliciosos que buscan por internet este tipo de
servidor para atacarlo.
109
A continuación se destacarán las principales directivas que se han
modificado.
root@UbuntuS:/# vi /etc/ssh/sshd_config
# Package generated configuration file
# See the sshd_config(5) manpage for details
# What ports, IPs and protocols we listen for
Port 4532
# Use these options to restrict which interfaces/protocols
#sshd will bind to
#ListenAddress ::
ListenAddress 157.88.32.217
Protocol 2
# Authentication:
LoginGraceTime 30
MaxAuthTries 3
PermitRootLogin no
StrictModes yes
#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp
UsePAM yes
Match group usuarios
ChrootDirectory %h
ForceCommand internal-sftp
Con estas directivas hemos seleccionado que el servidor SSH
solamente va a escuchar en la IP 157.88.32.217 y por el puerto
4532. Además hemos limitado el tiempo que se tiene para el acceso a
30 segundos, tres conexiones máximas antes de la desconexión por
parte del servidor y no se permite el acceso del usuario root.
110
Finalmente las últimas líneas señalan que hemos activado el
subsistema sftp y que lo usuarios que pertenezcan al grupo
“usuarios” van a quedar encerrados en su propio directorio no
pudiendo escalar directorios.
4.3.3 Configuración del servidor web Apache
La organización que realizaremos de nuestro servidor Apache, será la
clásica en los sistemas Unix: las páginas webs que alojará el servidor
se almacenará en la carpeta raíz del servidor web y las páginas de los
usuarios se almacenarán en la carpeta home de cada usuario.
Por defecto, la carpeta raíz del servidor web es la carpeta /var/www.
Todos los documentos que se encuentren dentro de la carpeta raíz
del servidor web, serán accesibles vía web. Cada usuario del sistema
dispondrá de un espacio web que se almacena dentro de su carpeta
home en una carpeta llamada “public_html”. Si dicha carpeta no
existe, el propio usuario puede crearla y copiar dentro de ella su
página web. Para acceder vía web a la página de un usuario, desde
un navegador debemos acceder directamente con la dirección IP a:
http://ip-del-servidor/~login-usuario/
Antes de empezar a utilizar el servidor web apache, deberemos
realizar ciertas configuraciones.
4.3.3.1 Archivo apache2.conf
Este archivo es el que sirve de configuración global para el servidor
apache. En él se pueden definir distintas directivas que se aplican a
cualquier virtual host o página web que creemos.
111
La mayor parte de las directivas vienen comentadas, por lo que su
edición resulta sencilla. A continuación se explicarán las principales
modificaciones que se han realizado.
### Section 1: Global Environment
# Do NOT add a slash at the end of the directory path.
#
ServerRoot "/etc/apache2"
# Timeout: The number of seconds before receives and sends
#time out.
#
Timeout 300
# KeepAlive: Whether or not to allow persistent connections
(more than
# one request per connection). Set to "Off" to deactivate.
#
KeepAlive On
#
# MaxKeepAliveRequests: The maximum number of requests to
#allow
# during a persistent connection. Set to 0 to allow an
#unlimited amount.
# We recommend you leave this number high, for maximum
performance.
#
MaxKeepAliveRequests 100
#
# KeepAliveTimeout: Number of seconds to wait for the next
#request from the
# same client on the same connection.
#
KeepAliveTimeout 15
#
112
# LogLevel: Control the number of messages logged to the
error_log.
#
Possible
values
include:
debug,
info,
notice,
warn,
#error, crit,
# alert, emerg.
#
LogLevel warn
# Include module configuration:
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf
# Include all the user configurations:
Include /etc/apache2/httpd.conf
# Include ports listing
Include /etc/apache2/ports.conf
# Include generic snippets of statements
Include /etc/apache2/conf.d/
# Include the virtual host configurations:
Include /etc/apache2/sites-enabled/
Como se observa, se configuran diversos parámetros generales de
funcionamiento de apache. Además se incluyen varios archivos y
directorios que aportan configuraciones específicas y módulos que
amplían la funcionalidad de apache.
4.3.3.2 Habilitación de módulos
Apache es un servidor modular. Esto supone que en el núcleo del
servidor
sólo
está
incluida
la
funcionalidad
más
básica.
Las
características extendidas están disponibles a través de módulos que
se pueden cargar en Apache. De forma predeterminada, durante la
compilación se incluye un juego básico de módulos en el servidor.
113
Como el servidor se ha compilado para que use módulos cargables
dinámicamente, los módulos se puden compilar por separado y se
pueden añadir posteriormente usando la directiva LoadModule.
Los módulos que se han necesitado cargar por separado han sido:
auth_digest, userdir y ssl. Para cargar cualquier módulo en apache se
usara el comando:
root@UbuntuS:/etc/apache2/mods-available# a2enmod “modulo”

Auth_digest: La “Digest Authentication” es muchísimo menos
común, y podríamos decir en cierto modo que “Digest” es a la
“Basic Authentication”, lo que el SSH es al Telnet. Que sea
mucho menos popular también nos beneficia, en la práctica, a
nivel de seguridad, pues seguramente seamos descartados por
muchos “bots” de búsqueda que intentan acceder a directorios
del tipo /admin/ detectando la petición de password con los
métodos tradicionales. Protegeremos directorios con contraseña
de una forma mucho más segura.

Userdir: Permite a los usuarios del sistema tener sus propias
páginas web en sus directorios home.

Ssl: El módulo ssl añade una importante característica al
servidor Apache2 - la habilidad de encriptar las comunicaciones.
De esta forma, cuando tu navegador se está comunicando
utilizando la encriptación SSL, se utilizará el prefijo https:// al
principio del Localizador de Recursos Uniformes (URL) en la
barra de direcciones del navegador.
114
4.3.3.3 Virtual Hosts
La forma más común para crear sitios web en nuestro servidor
Apache es a través de anfitriones virtuales o virtual hosts, los cuales
no son más que la definición de los sitios que deseamos albergar, de
forma tal que un solo servidor puede "servir" múltiples sitios webs.
Para habilitar nuevos sitios web en nuestro servidor, creamos un
archivo
con
el
nombre
del
dominio,
en
el
directorio
/etc/apache2/sites-available. La forma más fácil es copiar el archivo
default y modificarlo.
A continuación veremos los diferentes virtual hosts creados en el
servidor, además de las directivas más importantes que se han
incluido en cada uno de ellos.
root@UbuntuS:/etc/apache2/sites-enabled# ls
csp
csp-ssl
webmail-ssl
docenweb
estudiantes
hycon
webmail
www
Como vemos en el recuadro anterior tenemos tantos virtual hosts
como páginas webs que queremos mostrar. Cabe señalar que las
webs que se muestran con contenido seguro o encriptado, es
necesario crear otro virtual hosts. Los dos siguientes virtual hosts
pertenecen a la página web objeto del proyecto.
115
CSP
<VirtualHost *:80>
ServerAdmin juan.lopez.garcia@alumnos.uva.es
ServerName csp.isa.cie.uva.es
DocumentRoot /var/www/csp
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/csp/>
Options -Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
CSP-SSL
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin juan.lopez.garcia@alumnos.uva.es
ServerName csp.isa.cie.uva.es
DocumentRoot /var/www/csp
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/csp/>
Options -Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
116
</Directory>
#
SSL Engine Switch:
#
Enable/Disable SSL for this virtual host.
SSLEngine on
#
A self-signed (snakeoil) certificate can be created by
#installing
#
#
the ssl-cert package. See
/usr/share/doc/apache2.2-common/README.Debian.gz
for
#more info.
#
If both key and certificate are stored in the same
#file, only the
#
SSLCertificateFile directive is needed.
SSLCertificateFile
/etc/ssl/certs/csp.crt
SSLCertificateKeyFile /etc/ssl/private/csp2.key
4.3.4 Estadísticas Web. AWSTATS
AWStats es un programa que genera estadísticas gráficas para
servidores web. Lo que hace es mostrar el contenido del archivo de
log del servidor web de forma gráfica. AWStats se puede usar por
medio de CGI o bien desde la propia línea de comandos. Entre las
cosas que muestra están el número de visitas, navegadores usados,
sistemas operativos... Para poder usarlo es necesario tener acceso de
lectura al fichero de log del servidor y poder ejecutar scripts hechos
en Perl desde la línea de comandos o bien como CGI.
Para empezar lo primero que haremos es instalar el paquete AwStats
desde los repositorios:
root@UbuntuS:/# apt-get install awstats
117
Awstats necesita tener un fichero de configuración por cada uno de
los sitios web de los cuales queremos analizar sus estadísticas. Estos
ficheros obligatoriamente deben encontrarse almacenados en el
directorio /etc/awstats.
Existe una plantilla que nos va ahorrar mucho tiempo, se encuentra
en “/etc/awstats” y se llama awstats.conf. De él sólo tenemos que
modificar muy pocas cosas.
El
fichero
debe
seguir
una
nomenclatura
concreta
awstats.NOMBRE_DEL_DOMINIO.conf. De esta manera Awstats podrá
conocer la configuración específica para cada dominio. Aunque
Awstats puede tener un único fichero de configuración global con el
nombre awstats.conf, lo correcto es disponer de uno por cada
dominio.
En
nuestro
caso
configuraremos
dos
archivos
para
las
webs
http://csp.isa.cie.uva.es/ y http://estudiantes.isa.cie.uva.es/.
Para ello copiamos el archivo de configuración base y crearemos dos
nuevos archivos:
root@UbuntuS:/etc/awstats# cp awstats.conf awstats.csp.conf
root@UbuntuS:/etc/awstats# cp awstats.conf
awstats.estudiantes.conf
Copiada la plantilla para cada dominio sólo tendremos que tocar unas
cuantas propiedades.
En las primeras líneas le indicamos la ruta del log que queremos
analizar, el tipo (servidor web, ftp, mail) y el formato (apache, IIS).
118
A continuación añadimos el dominio que queremos analizar del log y
si queremos actualizar las estadísticas desde el navegador. Esta
última propiedad es recomendable deshabilitarla, ya que dará un
timeout si el fichero que se va analizar tiene un tamaño considerable.
Para que Awstats funcione correctamente, deberemos configurar los
Virtual Hosts de apache para que cree un archivo log diferente por
cada dominio.
Para el Virtual Hosts del grupo de control y supervisión de procesos
deberemos incluir las siguientes líneas:
#
Possible
values
include:
debug,
info,
notice,
warn,
#error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/csp.log combined
Para la web de estudiantes será:
#
Possible
values
include:
debug,
info,
notice,
warn,
#error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/estudiantes.log combined
A continuación se podrán ver los resultados de las estadísticas en las
webs:
http://csp.isa.cie.uva.es/awstats/awstats.pl?config=csp
y
http://csp.isa.cie.uva.es/awstats/awstats.pl?config=estudiantes.
119
Para la web de CSP el resultado será el siguiente:
Como podemos ver tenemos en nuestro servidor un completísimo
programa de estadísticas sobre todo lo que entra y sale de nuestro
servidor en Linux Ubuntu Server.
Para que nuestras estadísticas se muestren actualizadas es necesario
ejecutar los comandos:
root@UbuntuS:/# /usr/lib/cgi-bin/awstats.pl -config=csp –
update
root@UbuntuS:/# /usr/lib/cgi-bin/awstats.pl config=estudiantes –update
Para esto vamos a usar a nuestro programador de tareas llamado
Crontab (Incluido en el sistema). A continuación vamos a añadir dos
lineas
a
nuestro
programador
para
que
actualice
AwStats
automáticamente.
120
root@UbuntuS:/# vi /etc/crontab
# m h dom mon dow user
command
30
/usr/lib/cgi-bin/awstats.pl -
*
* * *
root
config=csp -update > /dev/null
32
*
* * *
root
/usr/lib/cgi-bin/awstats.pl -
config=estudiantes -update > /dev/null
Como
podemos
observar,
hemos
configurado
para
que
las
estadísticas de la web del grupo de Investigación y Control de
Procesos, se actualicen cada hora en el minuto 30.
Las estadísticas webs de la página de estudiantes, también se
actualizarán cada hora, pero en el minuto 32.
121
5. INSTALACIÓN DE JOOMLA! 1.5
Como se ha comentado en anteriores apartados, Joomla! 1.5 va a ser
el gestor de contenidos para la web del grupo de investigación de
Control y Supervisión de Procesos.
En los siguientes apartados se verán los requisitos para su instalación
y el proceso de instalación y configuración.
5.1 Instalación PhpMyAdmin
PhpMyAdmin es una aplicación web con el propósito de administrar el
servidor de bases de datos y hacerlo a través de un navegador.
Con PhpMyAdmin podemos entre otras cosas crear, visualizar, editar,
borrar usuarios, tablas o bases de datos del servidor usando solo el
navegador web. Todo esto hace a esta herramienta muy necesaria en
la administración de un servidor LAMP.
Para instalarlo deberemos ejecutar:
root@UbuntuS:~# apt-get update
root@UbuntuS:~# apt-get install phpmyadmin
Tras esto empezará a descargarse e instalarse los paquetes. Al final
se abrirá un cuadro de dialogo que nos pedirá unos datos necesarios
para autoconfigurarse. Nos pedirá si queremos que se configure con
Apache2 o Lighttpd. Como el servidor es LAMP, marcamos solo
Apache2 y aceptamos. Después nos pregunta si queremos que el
122
instalador cree una base de datos para uso de phpmyadmin, a lo que
le respondemos con un “Si”. Luego nos pide la clave de usuario root,
necesaria para configurar el paso anterior. Luego otra contraseña
para phpmyadmin y su confirmación. Finalmente phpmyadmin queda
instalado.
Para hacer uso de phpmyadmin simplemente vamos a la dirección:
https://csp.isa.cie.uva.es/phpmyadmin/. Por cuestiones de seguridad
esta dirección está protegida con contraseña a través del módulo
Digest de Apache.
Lo siguiente que debemos de hacer es crear una base de datos para
que sea utilizada por Joomla! 1.5, para ello accederemos a
phpmyadmin y pulsaremos en la pestaña “Bases de datos”. A
continuación se crea la base de datos “csp” para almacenar el
contenido dinámico que sea generado por Joomla! 1.5.
123
5.2 Pasos de la instalación de Joomla! 1.5
Todos los pre-requisitos que necesita Joomla para su instalación han
sido satisfechos. Ahora procedemos a su instalación. Para ello
seguimos una serie de pasos:
1.
Hay
que
descargar
de
la
página
oficial
de
Joomla
(http://www.joomlaspanish.org) la última versión disponible,
que
en
este
comprimido
caso
Pack
es
la
1.5.
Descargamos
el
Joomla-1.5.25-spanish.tar.gz
archivo
y
lo
almacenamos en el directorio /home. A medida que aparezcan
nuevas actualizaciones se podrán aplicar al sistema.
2.
Descomprimimos
su
contenido
dentro
del
directorio
/var/www/csp que se deberá haber creado con anterioridad.
Después
creamos
dentro
de
este
directorio
el
archivo
“configuration.php” y le otorgamos permisos de escritura.
3.
Abrimos un navegador
de
internet y escribimos en
el
navegador http://csp.isa.cie.uva.es/ accediendo así al menú
de instalación de la aplicación.
4.
Selección del idioma: La primera parte de la instalación
mediante el navegador es la selección del idioma. En nuestro
caso elegiremos español.
124
Esta selección del idioma, dentro del primer paso del proceso
de instalación, solo guarda relación con el idioma que
queremos usar para instalar Joomla!; es decir, no afecta; ni
determina, el idioma a usar en el sitio o en administración.
5.
Comprobaciones previas de la instalación: La próxima pantalla
consiste en una serie de pruebas que realiza el instalador para
comprobar si se cumple con los requisitos mínimos o si los
parámetros de configuración del servidor coinciden con los
recomendados para poder desplegar o usar Joomla! en
condiciones aceptables.
125
Si alguna de las respuestas en el primer bloque encontramos
con un “No”, aún estaremos
a tiempo de rectificar la
situación, antes de continuar con la instalación de Joomla.
Continuar en unas condiciones en las que no se
cumpliendo
con
problemas
y
unos
fallos
requisitos
en
el
mínimos,
sitio,
podría
haciéndolo
está
causar
funcionar
incorrectamente. El error con el que más comúnmente suelen
encontrarse los usuarios es sobre la advertencia de que su
archivo configuration.php no es escribible, pero en nuestro
caso está solventado en el paso 2º de este apartado.
6.
Licencia: No hay nada por introducir o cambiar desde esta
página de la licencia. Una vez leída, comprendida y aceptada
la licencia, hacemos clic sobre el botón “Siguiente”.
7.
Configuración de la base de datos: En este paso, se establece
la información que Joomla! necesitará para poder comunicarse
con la base de datos. Primero, seleccionamos el tipo de base
de datos desde la lista de selección desplegable. En nuestro
caso
elegimos
mysql.
Nombre del servidor,
A
continuación
introducimos
Nombre de usuario,
Contraseña
el
y
Nombre de la base de datos apropiados para nuestra base
de datos. Una vez completados pinchamos en siguiente.
126
8.
Configuración FTP: En nuestro caso
nada
aquí,
así
que
no necesitamos hacer
seleccionaremos
No
y
pulsaremos
siguiente.
9.
Configuración principal: La pantalla de configuración principal
permite configurar tres de los elementos más críticos para la
correcta instalación de Joomla! en el servidor web. Hay tres
áreas en la pantalla de configuración principal: La primera,
es para indicar el nombre del sitio y aunque parezca obvio,
este dato también se usará cuando enviemos correos, o, se
127
mostrará cuando se produzcan errores de acceso o mensajes
de advertencia en la parte pública del sitio.
El nombre del sitio, no se mostrará como título de la ventana
del navegador. Este dato se podrá cambiar una vez instalado
el CMS, desde la configuración global.
La
segunda área, se usa para introducir la información
relativa y relacionada con el Súper administrador.
Se introduce una dirección de correo electrónico, o la que se
desee usar para recibir advertencias del sistema, mensajes, o
enviar/recibir correos. Esta dirección, es la que se mostrará en
el campo “De:” de los mensajes salientes que se envíen desde
el sitio a los usuarios. También en esa área, hay dos campos
para que podamos introducir
usuario
“admin”.
En
el
la contraseña a asignar al
primer
campo
introducimos
la
contraseña y en el segundo, la volvemos a escribir para evitar
posibles errores de tipeo. Es decir, el Súper administrador
predeterminado,
tiene
asignado
un
nombre
de
usuario
“admin”, el cual, podrá acceder a la administración de Joomla!
con ese nombre de usuario y con la contraseña introducida.
La tercera y última área, guarda relación con la información
que nos gustaría, o tal vez no, incluir junto con la instalación
básica de Joomla.
Básicamente, dispones de tres opciones:

Introducir los datos de ejemplo que proporciona Joomla!
en la base de datos.
128

Migrar los datos de una versión anterior de Joomla!
usando la herramienta de migración que se proporciona.

No introducir datos de ejemplo; ni migrar nada de
ningún sitio; es decir, empezar con una instalación
limpia y vacía de Joomla. En nuestro caso, elegiremos
esta última opción ya que haremos una instalación
limpia del sistema.
10. Finalizar: Para finalizar la instalación lo único que nos queda
por hacer es eliminar la carpeta “installation” y todo su
contenido que se encuentra en /var/www/csp, ya que si no lo
hiciéramos, al acceder a http://csp.isa.cie.uva.es, volveríamos
al menú de instalación.
129
Una vez borrado el directorio “installation” cuando accedemos
a http://csp.isa.cie.uva.es nos aparecerá el siguiente menú de
entrada:
5.3 Permisos de los directorios
Para poder realizar las operaciones características de Administrador,
es necesario cambiar los permisos de ciertas carpetas. De no hacerlo,
se podrían generar errores a la hora de, por ejemplo, cambiar un
archivo, subir un archivo o incluso editar las características de un
usuario.
130
Para ello, accedemos como administrador. Por defecto, el usuario es
“admin” y la contraseña la introducida en el anterior apartado. Una
vez dentro, pinchamos en “Ayuda → Información del Sistema →
Permisos de directorios”, mostrándonos una lista de los directorios a
los que tenemos que cambiar los permisos y sus rutas.
Cuando tengamos la lista, tenemos que acceder al servidor virtual y
abrir un terminal. Desde el terminal y con el comando “chmod”,
cambiamos los permisos de todos los directorios de la lista para que
sean escribibles por cualquier usuario.
5.4 Instalación y Configuración de Plantillas
Una vez hecha la instalación, lo siguiente es cambiar la apariencia de
nuestro sitio con los logos e imágenes características del Grupo de
Investigación Reconocido Control y Supervisión de Procesos.
Para ello hay que diseñar una plantilla. En nuestro caso, hemos
partido de una plantilla que se ha descargado previamente de
internet y la hemos modificado hasta conseguir el resultado deseado.
En Joomla hay que diferenciar entre Front-End, que se refiere a la
página web pública, y el Back-End, que se refiere a la parte de
administración.
5.4.1 Front-End
Una de las plantillas que vienen por defecto con la instalación de
Joomla es “ja_purity”. Esta plantilla es demasiado básica por lo que
instalaremos una más completa y procederemos a modificarla.
131
Previamente nos hemos descargado la plantilla “Allrounder” de la
web: http://allrounder.lernvid.com/. En esa web nos descargamos el
archivo “allrounder_v1.2.zip” y lo guardamos en el ordenador cliente
desde el cual estamos realizando todas las conexiones.
Posteriormente deberemos instalarlo, para ello debemos acceder al
Back-End del sistema Joomla! recién instalado y acudiremos a
“Extensiones → Instalar/Desinstalar” y veremos la siguiente imagen.
Pulsaremos a “Seleccionar archivo”, el cual nos abrirá un explorador
de archivos en el que tenemos que buscar el archivo descargado. Una
vez seleccionado pulsaremos a “Subir Archivo & Instalar”. Con esto
pasos nuestra plantilla quedará instalada. La plantilla original sin
ninguna modificación será como la siguiente imagen.
132
Partiendo de esta plantilla haremos todas las modificaciones hasta
llegar al resultado deseado.
Para modificar la plantilla, pinchamos en “Extensiones → Gestor de
Plantillas”. Una vez dentro, en la pestaña “sitio”, seleccionamos
“ALLROUNDER_v1.2”, pinchamos en “editar” y luego en “editar CSS”.
Al pinchar en editar CSS, aparecen una serie de archivos que
podemos modificar, pero todos ellos están en modo “No escribible”.
Para cambiar eso, ya que si no, no nos dejará guardar los cambios
que hiciéramos, accedemos al servidor virtual mediante un terminal y
con “chmod” cambiamos los permisos del archivo “template.css” y del
resto de los archivos para que sean escribibles por cualquier usuario.
Después,
volvemos
al
navegador,
actualizamos
la
página
y
comprobamos que efectivamente los archivos han pasado de “No
escribible”, a “Escribible”. Seleccionamos el archivo “template.css” y
pinchamos en editar.
133
Se abrirá una página que está organizada por bloque en el que se
podrá cambiar completamente el estilo de la plantilla. Veremos
algunos de los bloques más importantes.

Cuerpo de la plantilla: Para modificar la letra, el color del fondo,
el tamaño del la letra…
body {
line-height : 125%;
/*font-family: Arial, Helvetica, Sans-Serif;*/
font-family: Verdana;
font-size: 13px;
letter-spacing: 0.1px;
color: #000000;
background: url("../images/bgp.png") repeat scroll 0 0
#E1E1E1;
position: absolute;
width: 100%;
/*background-color: #3c4c5a; default #3c4c5a */
margin:0;
padding:0;
line-height:1.5;
}

Cabecera: Todo lo referente a la parte del banner.
#header {
min-height: 110px;
margin: 0 -21px 5px -21px;
padding:0;
background-color:#383838;
position:relative;
134
border-top:1px solid #555;
border-left:1px solid #555;
border-right:1px solid #555;
}

Pie de página: Referente a la parte inferior de la web.
#footer {
font-size: 10px;
clear: both;
width: 100%;
overflow: hidden;
text-align:center;
padding:10px 0;
}
De esta forma se van modificando toda la hoja de estilos de la web.
5.4.2 Back-End
Para la plantilla de administración, el procedimiento es muy parecido
al anterior. Nosotros no hemos modificado dicha plantilla porque no
se ha considerado necesario, pero si se deseara se haría de la
siguiente forma.
En este caso, la plantilla que vamos a editar se llama “khepri”. Para
modificar la plantilla, pinchamos en “Extensiones → Gestor de
Plantillas”.
Una
vez
dentro,
en
la
pestaña
“Administrador”,
seleccionamos “khepri”, pinchamos en “editar” y luego en “editar
135
CSS”. Igual que antes, tenemos que cambiar los permisos a los
archivos. Accedemos al servidor mediante un terminal y con “chmod”
concedemos permisos de escritura para cualquier usuario al archivo
“general.css”
que
se
encuentra
en
/var/www/csp/administrator/templates/khepri/css/.
5.5 Módulos de Joomla!
Entre las extensiones más importantes a la hora de configurar
nuestro portal están los módulos. Los módulos son extensiones o
complementos de Joomla! que nos permiten añadir bloques de
información secundaria en diferentes posiciones o zonas de la
plantilla, normalmente en la zona periférica: columnas laterales,
encabezamiento y pie de página.
Existen
módulos
diferentes
que
muestran
distintos
tipos
de
información o que añaden diferentes funcionalidades a nuestra web
Joomla!. Además se pueden instalar módulos adicionales que, como
en el caso de las plantillas, desarrollan programadores que forman
parte de la amplia comunidad de usuarios de Joomla! en todo el
mundo.
En general la instalación de módulos o componentes se hace de
manera similar que la instalación de plantillas (consultar apartado
5.4.1). Previamente se debe descargar el módulo en un ordenador
cliente y posteriormente desde el Back-End se procede a su
instalación. La web: http://extensions.joomla.org/ tiene alrededor de
10.000 extensiones disponibles para su descarga organizadas en
diferentes categorías.
136
5.5.1 Módulo Attachments
La
extensión
llamada
Attachments
para
joomla
permite cargar y adjuntar archivos a los artículos y
otros tipos de contenido de una forma sencilla y
estética.
Attachments incluye capacidad de unir y editar archivos desde la
parte delantera de nuestro sitio Joomla!, así como de la parte
administrativa.
Existen opciones para controlar quién puede ver los archivos adjuntos
y quién puede cargarlos, junto con otras muchas opciones para
aumentar su flexibilidad y utilidad.
La instalación es simple: sólo hay que utilizar el instalador de Joomla
con el archivo de instalación zip. El componente y todos los plugins se
van a instalar automáticamente y en un solo paso.
5.5.2 Módulo JEvents
Con este componente añadiremos
a nuestra web un calendario en el
que podremos publicar eventos y
clasificarlos en distintas categorías. Además podremos permitir a
nuestros usuarios crear y publicar sus propios eventos, realizar
búsquedas entre los eventos ya publicados, o exportar todos los
elementos del calendario en formato iCal.
137
Podemos
descargar
el
componente
desde
su
página
oficial
(http://www.jevents.net/) e instalarlo siguiendo el procedimiento
habitual.
También podemos obtener el paquete de idioma español e instalarlo
mediante el gestor de extensiones de Joomla.
Sólo los usuario autorizados en el panel de control de Jevents podrán
crear eventos, por ello debemos configurar los usuarios y darles
permisos en:

Usuarios autorizados

Debemos asignarle el calendario que se le permite administrar
CONFIGURACIÓN
Una vez instalados ambos elementos, tendremos que configurar
Jevents.
Para
ello
iremos
a
“Componentes
>
Jevents
>
Configuración”.
138
Pulsando en el icono de “Configuración”, encontraremos distintas
pestañas que nos permitirán configurar los distintos aspectos del
componente.

En
la
pestaña
“Componente”
elegiremos
el
aspecto
del
calendario, el formato de la fecha, si se mostrarán los iconos de
impresión y email, la zona horaria, etc.

En
“Permisos”
escogeremos
el
usuario
administrador
y
gestionaremos los permisos de uso del componente.

Para
configurar
las
opciones
del
formato
ical
iremos
a
“Exportar/Importar ical”. Aquí elegiremos la zona horaria, la
clave para exportar el calendario, podremos desactivar la
exportación y añadir una exportación especial para Outlook
2003, habilitaremos la importación desde el front-end, etc.

Desde
“Edición
de
eventos”
estableceremos
las
opciones
relativas a este aspecto. Decidiremos si se emplearán ventanas
emergentes para la edición en el front-end, estableceremos su
tamaño, decidiremos la configuración de colores de los eventos,
si se enviarán emails de notificación de los eventos o si se
avisará al autor cuando el evento sea aprobado, entre otras
muchas opciones.

En “Vista detallada de evento” seleccionaremos los campos del
evento que serán visibles.

Si
vamos
establecer
a
“Calendario
algunas
opciones
mensual
de
principal”
visualización
podremos
relativas
al
calendario mensual, como la longitud del título de los eventos o
si se mostrará la hora de inicio de los mismos. También
139
configuraremos el aspecto de la ventana emergente que
aparece al situar el ratón sobre los eventos, escogiendo su
posición y algunas opciones de visualización.

En “Vista por Año/Categoría” configuraremos la vista anual y de
categoría, escogiendo el número de eventos que se verán, si se
mostrarán los eventos pasados, etc.

Los
aspectos
relacionados
con
la
sindicación
RSS
los
configuraremos desde la pestaña “RSS”. Decidiremos si se
empleará la caché y su duración, el número de eventos a
mostrar, el título y descripción de RSS, etc.

La pestaña “Calendario” nos permitirá configurar el módulo
adicional de calendario. Dicho módulo está disponible para su
descarga desde la página del componente.

Si vamos a “Últimos eventos” estableceremos las opciones de
dicho módulo que, como en el caso anterior, puede descargarse
desde la página de Jevents. Elegiremos el número de eventos a
mostrar,
los
días
de
antelación
con
que
se
mostrará,
decidiremos si se verá el año, etc.
5.5.3 Módulo J!Research
J!Research es un componente
para Joomla que permite la
administración de trabajo de
investigación
publicaciones,
proyectos
y
tesis
categorizados
como
por
área
de
investigación. Está orientado a investigadores universitarios y centros
140
de investigación que utilizan Joomla! o planean adoptarlo para
publicar su trabajo.
Para instalar J!Research se seguirá el mismo método que para
instalar otras extensiones. Antes de proceder a la instalación
deberemos
descargar
el
componente
desde
la
página
oficial:
http://joomla-research.com/.
Después continuaremos con su instalación de la forma habitual:
1. Accederemos
al
Back-End
de
Joomla!
y
seleccionaremos
“Extensiones” del menú de administrador.
2. Seleccionaremos
el
botón
“Instalar
/
Desinstalar”
en
el
submenú.
3. Seleccionamos el botón “Seleccionar Archivo” para buscar el
componente
“com_jresearch.zip”
descargado
en
nuestro
ordenador.
4. Finalmente seleccionamos “Subir Archivo & Instalar” para
completar la instalación.
CONFIGURACIÓN
Para configurar el componente deberemos ir al Panel de Control de la
extensión y seleccionar el botón “Configuración”.
141
Al seleccionar el icono mencionado se abrirá una ventana emergente
con las distintas opciones de configuración como vemos en la
siguiente imagen.
A continuación explicaremos brevemente cada una de las opciones.

Permitir
Miniaturas:
Habilita
la
creación
automática
de
miniaturas cuando se envían imágenes muy grandes.
142

Mostrar Visitas: Muestra el número de visitas en ítems como
publicaciones, proyectos y tesis de grado.

Estilo de Citado: El estilo de citado que será usado al generar
listas de publicaciones.

Habilitar
exportación
desde
la
parte
pública:
Habilita
la
exportación de publicaciones en contenido Bibtex desde la parte
pública del sitio.

Importar desde la parte pública: Habilita la importación de
publicaciones desde la parte pública del sitio. Las mismas reglas
para creación/edición de una sola publicación son aplicadas.

Marcar
como
internas:
Determina
si
las
publicaciones
importadas desde la parte pública deben ser marcadas como
internas directamente.

Aplicar estilos a publicaciones: Aplica el estilo de citado
configurado en el sistema a las publicaciones listadas en otras
páginas como áreas de investigación, perfiles o equipos.

Mostrar Bibtex: Muestra la representación en formato Bibtex de
la publicación. Esta opción requiere que la exportación haya
sido habilitada desde la configuración global.

Habilitar
exportación
Bibtex:
Muestra
un
enlace
para
la
exportación de publicaciones en formato Bibtex desde la parte
pública.
143

Habilitar
exportación
RIS:
Muestra
un
enlace
para
la
exportación de publicaciones en formato RIS desde la parte
pública.

Habilitar
exportación
MODS:
Muestra
un
enlace
para
la
exportación de publicaciones en formato MODS desde la parte
pública.

Configurar la disposición de los autores en las publicaciones: La
disposición usada para mostrar la lista de miembros asociada a
un elemento como publicaciones.

Formato para miembros: Formato utilizado para los miembros
en la parte pública.
5.5.4 Módulo JCE Editor
Joomla incorpora preinstalado en
su instalación básica un editor de
textos muy simple, es el llamado
editor TinyMCE, un sencillo editor
WYSIWIG que permitirá editar el
texto
como
si
se
estuviese
trabajando con un procesador de textos "normal". Probablemente sea
suficiente a la hora de realizar las tareas más habituales que se
realizan con texto: escribir, cambiar el formato de fuente, su tamaño,
alinearlo, etc. pero, se notara rápidamente las carencias que TinyMCE
tiene: la gestión de tablas, la inserción de imágenes en los artículos,
el cambio de colores en la tipografía, etc.
144
JCE permite integrar fácilmente todos los servicios Web 2.0 que en la
actualidad se pueden encontrar en la red. Para insertar un vídeo de
YouTube, incluir un slideshow de PicasaWeb, añadir documentos de
Issuu o Scribd, presentaciones multimedia de Slide, Slideshare,
Photopeach, encuestas de PollDaddy y muchísimas posibilidades más.
Y, por último, la gestión avanzada de las imágenes incluidas en los
artículos que se pueden realizar con JCE ofrece muchas ventajas para
trabajar con ellas directamente desde la propia edición en línea del
artículo: subir imágenes cómodamente al servidor, gestionarlas en
carpetas y subcarpetas, redimensionarlas, ajustar su posición, añadir
y configurar enlaces.
Como en casos anteriores, acudiremos a la página oficial de Joomla!
para
descargar
la
extensión:
http://extensions.joomla.org.
Seguidamente instalaremos la extensión de la misma forma que
hemos instalado las otras extensiones en los apartados anteriores.
La instalación de JCE habrá creado también una entrada en el menú
Componentes (el archivo zip que se utiliza es un pack que incluye un
plugin y un componente). El menú disponible en él incluye varias
entradas.
145
Para activar el nuevo editor, deberemos ir a la “Configuración Global”
del sistema Joomla! y elegir el editor predeterminado.
5.5.5 Módulo Joom!Fish
Joomfish
poder
joomla
se
utiliza
mostrar
en
una
para
web
distintos
idiomas, asunto cada vez
mas
requerido
desarrolladores
por
de
los
sitios
web, no solo joomla. Es indudable que un dominio bien configurado y
en distintos idiomas, con una traducción adecuada gana bastante,
como un posible aumento del número de visitantes y un mayor
número de páginas indexadas por buscadores de todo tipo, sin olvidar
a Google.
146
Para instalar Joomfish en Joomla 1.5 es como cualquier otra
extensión, Extensiones/Instalar-desinstalar. En la instalación por
defecto se instalan los idiomas, Español, Inglés y Catalán, incluido el
plugin
Joomfish
missing
translation
y
el
modulo
mod_jflanguageselection para seleccionar el idioma a mostrar.
Una vez instalado, pasaremos al Panel de control o desde el menú de
administración joomla accederemos a los distintos apartados desde el
menú desplegable “Componentes / Joomfish” y como submenús de
joomfish nos mostrara los accesos directos de los distintos apartados
del panel de control Joomfish, los cuales paso a detallar punto por
punto cada uno de ellos, y los nombrare tal y como se muestran una
vez instalado Joomfish.
Traducciones:
En este apartado es donde nos serán mostradas las traducciones ya
realizadas. Si queremos editar para modificar alguna traducción,
señalaremos el contenido y lo editaremos, se muestran
los
contenidos organizados en secciones y categorías. Desde aquí
también
se
podrán
traducir,
módulos,
menús,
extensiones
seleccionando el idioma y elementos de contenido.
147
Huérfanos:
En determinadas circunstancias es posible eliminar el contenido
original, menú u otro elemento en la base de datos. Como Joomfish
no está directamente relacionado con el original, puede ocurrir que se
realice traducciones de contenidos que se quieran borrar. Esta visión
general permite verificar se tienen esos elementos en el sistema y
eliminarlos en caso de necesidad, pero es poco frecuente que esto
pase.
Gestión de Traducciones:
Desde aquí se gestionarán las traducciones y en el caso de querer
realizar una modificación, el sistema nos llevará a Traducciones para
que poder editarlas. Esta función permite gestionar las traducciones y
realizar ciertas tareas de mantenimiento.
Statistics:
Verifica el estado de las traducciones y del original. Tarda un poco.
Configuración de Lenguaje:
Configuración de los idiomas. Hay que recordar que para que un
idioma pueda ser seleccionado desde la parte publica, primero se
deberá instalar el idioma en joomla. Enlace a traducciones, no hay
que olvidar verificar la versión y las traducciones de Joomfish.
Elementos de Contenido:
En este apartado se instalarán los elementos de contenido joomfish
para las extensiones joomla.
Manage Plugins:
Desde aquí se gestionarán los plugins que se pueden añadir desde
Extensiones / instalar-desinstalar.
148
Ayuda & Como Procedo:
Espacio donde se encontrarán los enlaces a documentación, foros y
demás, junto con una pequeña explicación del funcionamiento de
Joomfish.
Bien, una vez aclarado cada punto de la administración Joomfish,
paso a comentar los pasos a seguir para realizar las traducciones con
joomfish. Hay que recordar que joomfish no es un traductor
automático, si no que permite el poder traducir y presentar una web
en varios idiomas.
Como realizar la Traducción de contenidos con Joomfish:
Accedemos
a
los
contenidos
desde
el
gestor
de
contenidos,
seleccionamos el contenido o artículo haciendo clic en el cuadrito que
se muestra a la izquierda y en la parte superior de la pantalla se
visualiza un selector de idiomas, seleccionamos el idioma. Una vez
seleccionado se abrirá una ventana emergente con todas las opciones
y la posibilidad de traducir el texto que también será mostrado,
pudiéndolo copiar al editor para la traducción y así respetar el
formato del idioma original. Ver la imagen siguiente.
149
Hay que prestar atención en que una vez hecha la traducción la
debemos de publicar para poder visualizarla en la web.
Como realizar la Traducción de Menús con Joomfish:
Este paso es idéntico a los contenidos, la única diferencia es que
deberemos acceder a “Menús” y el menú que deseamos traducir, lo
demás es idéntico a los contenidos.
Traducción Extensiones:
-
Componentes
Para la traducción de componentes joomla, se pueden traducir
Banners, Contact, Newsfeeds, Encuestas, Usuarios (de Joomla)
y Weblinks, los cuales están incluidos en el nucleo de joomla.
Se debe ir a Traducciones, acceder, seleccionar el idioma y en
Elementos de contenido. Para otras extensiones que estén
instaladas
en
el
sistema
joomla,
como
el
componente
J!Research se deben conseguir e instalar los archivos de
elementos de contenido (Content Elements) correspondientes
de Joomfish.
-
Módulos
Para traducir los módulos de joomla, es más sencillo. Se accede
a “Extensiones / Gestor de Módulos” y se opera igual que con
los contenidos, se abrirá una ventana con las opciones para la
traducción.
150
5.5.6 Módulo uddeIM
UddeIM es la extensión mas utilizada para
mensajería privada entre usuarios de una web
joomla. Este componente se instala fácil en
joomla, como el resto de los componentes,
pudiendose integrar con el componente de
gestión de usuarios Community Builder. Se trata de una solución
efectiva para comunicación entre usuarios. La instalación una vez
realizada
presenta
el
componente
desde
la
administración
en
castellano, facilitando y la comprensión y manejo del mismo. Este
componente puede trabajar de forma individual o bien integrado
totalmente con la extensión Community Builder.
Administración UddeIM:
El apartado de administración de UddeIM se muestra accediendo
desde el administrador Joomla. Accedemos desde “Componentes /
UddeIM”. Una vez se accede, se mostraran distintas pestañas para la
administración del componente para mensajería entre usuarios, que a
continuación paso a detallar por el orden en que se muestran.
Mensajes:
Este apartado trata sobre las limitaciones que queramos imponer en
los envíos de mensajes. Por ejemplo
se pueden modificar las
opciones de Permitir múltiples destinatarios y cuantos, Longitud
máxima del mensaje, permitir BBcodes o no.
Mostrar:
Aquí podremos restringir usuarios para que no puedan recibir
mensajes de forma directa, eliminándolos de la lista de usuarios que
se muestra a la hora de redactar un mensaje, también la lista de
mensajes de entrada por página y los iconos que se mostrarán.
151
Borrados:
Este apartado trata sobre la bandeja de entrada, papelera, mostrar
mensajes leídos y el tiempo que permanecen en el sistema antes de
que se produzca un borrado automático.
Integración:
Apartado para configurar y mostrar o no el estado de un usuario, si
esta online o no, integración con Kunena y Community builder y
Joomsocial.
Email:
Permitir
notificación
por
correo
y
su
configuración
de
envío.
Configurar la opción de recordatorio para avisar de un mensaje no
leído en la bandeja de entrada de un usuario.
Bloqueos:
Bien este apartado es quizás uno de los más importantes, ya que nos
va a permitir elegir qué grupos de usuarios podrán hacer uso del
sistema de mensajería instantánea. Grupos que puedan recibir pero
no enviar. En nuestro caso, ya que los usuarios registrados coinciden
con el personal de grupo de investigación permitiremos el uso del
componente a todos los usuarios.
Archivo:
Permite limitar la cantidad de mensajes a recibir por los usuarios,
siempre ayudará a limitar los abusos mal intencionados.
Fecha/hora:
Elección del formato de fecha y hora. Además también se podrá
definir la zona horaria a la que pertenece el sistema.
152
Público:
Cuando está habilitado, los usuarios públicos pueden enviar mensajes
a los usuarios registrados (estos pueden especificar en sus opciones
personales si quieren o no esta posibilidad).
Sistema:
Permite configurar el tiempo que debe pasar entre cada mensaje, y si
desea que los usuarios puedan enviarse archivos. Es un apartado a
tener en cuenta, según el tipo de servidor del que dispongamos.
También da la posibilidad de activar la protección contra el correo
basura a través del código captcha.
Mantenimiento:
Trata sobre el mantenimiento de las tablas de UddeIM en su Base de
datos, actualizaciones y estadísticas.
Acerca de:
Este apartado sin otro objetivo que mostrar al autor, agradecer el uso
de UddeIm a los usuarios, versión y opciones para donaciones.
5.6 Migración de la antigua base de datos
Como hemos comentado en los objetivos del proyecto, se pretende
actualizar la web del Grupo de Investigación Reconocido de Control y
Supervisión de Procesos, por lo tanto, va a ser importante conservar
gran parte de los datos que dispone esta web y exportarlos a la
nueva.
Entre los datos que desearemos conservar se encuentran, por
ejemplo, los datos personales de los integrantes del departamento,
las empresas colaboradoras, las líneas de investigación, el software
153
creado por el departamento, tesis doctorales, proyectos fin de
carrera, proyectos de investigación, los estudiantes que han realizado
los diferentes proyectos y las publicaciones del departamento.
Para hacer esta migración deberemos analizar la antigua base de
datos y ver como ordenar el contenido para que se adecúe a la nueva
base de datos.
5.6.1 Análisis de la antigua base de datos
Para hacer en análisis estudiaremos el contenido que tiene cada tabla
de la base de datos y seleccionaremos las que nos interesen
conservar.
TABLA PERSONA:
-
nom_curso: char(9), clave primaria. Es el identificador de
curso.
-
uid: char(14), clave primaria. El identificador de una persona.
-
nombre: varchar(30).
-
ape1: varchar(30).
-
ape2: varchar(30).
-
telefono: varchar(6).
-
extensión: varchar(4).
-
cod_categoria: char(3). La categoría de la persona para ese
curso.
-
cod_dominio: char(2).El código del dominio para formar su
dirección de correo y su página web.
-
pagina: char(1). Si la personatiene página web o no.
De esta tabla destacaremos los datos personales de los integrantes
del departamento. Deberemos tener cuidado porque los registros de
154
encuentran repetidos ya que por cada curso académico se almacenan
todos los integrantes.
TABLA PROYECTES:
- proyid: char(14). Clave primaria. Identificador
de proyecto tesis.
- título: varchar(200). Título del proyecto o tesis.
- conocimientos: text. Conocimientos necesarios
para optar al proyecto.
- objetivos: text. Los objetivos del proyecto.
- finicio: date.
- ffin: date
- calificación: varchar(40). Calificación obtenida
en el proyecto.
- enlace: varchar(80). Enlace al proyecto.
- tipo: char(1). Si ‘P’ proyecto fin de carrera. Si
‘T’, tesis.
Los Proyectos fin de carrera y las Tesis doctorales, se encuentran en
una única tabla al ser estas idénticas. Para diferenciar un proyecto de
una tesis se añadió un campo de tipo que nos indica que es proyecto
cuando toma el valor ‘P’ y tesis cuando lo hace a ‘T’.
TABLA PROYINVESTIGA:
- pinvid:
char(14).
Clave
primaria.
Es
el
identificador de proyecto de investigación.
- título: text.
- referencia: varchar(100).
- entidad: varchar(100). La entidad que financia
el proyecto de investigación.
- finicio: date.
- ffin: date.
155
- invid:
char(14).
Es
el
identificador
correspondiente al investigador principal. Este
identificador tendrá una correspondencia con un
uid de la tabla persona.
- enlace: varchar(80). Enlace al proyecto.
Esta tabla está relacionada con los proyectos de investigación que
realiza el departamento, por lo tanto, también es de interés su
migración.
TABLA PUBLICACIÓN:
- pubid: char(14). Identificador de la publicación.
- nom_publica: varchar(200).
- referencia: text.
- annio: char(4). Año de publicación.
- enlace: varchar(80).
- tipo: char(1). Es el tipo de publicación. ‘1’ si es
libro o capítulo de un libro.’2’ si es artículo en
revista. ‘3’ si es artículo de una conferencia.
Esta tabla contiene todas las publicaciones que han realizado los
integrantes del departamento. Es sumamente importante ya que
contiene unas 500 publicaciones.
TABLA LÍNEA:
- linid: char(14). Identificador de la línea de
investigación.
- nom_linea: varchar(200).
- enlace: varchar(80).
- invid:
char(14).
Es
el
identificador
correspondiente al investigador principal. Este
156
identificador tendrá una correspondencia con un
uid de la tabla persona.
En esta cabe destacar que contiene las líneas de investigación del
departamento. En este caso seleccionaremos y agruparemos las
líneas para reducir su número y por lo tanto disponer de unas líneas
de investigación más generales.
TABLA PRODUCTO:
- prodid: char(14). Clave principal. Identidficador
del producto.
- nom_producto: text.
- instrucción: text. Las instrucciones de cómo
utilizar el producto y cómo hacerse con él.
- fichero: varchar(50). Nombre del fichero que
contiene el producto.
- enlace: varchar(80). Enlace a ese fichero.
- contid: char(14). Es el identificador de la
persona de contacto. Hay productos que primero
requieren un contacto con una persona del
departamento para hacerse con el producto.
Esta tabla contiene el software publicado por el departamento fruto
de proyectos fin de carrera, proyectos de investigación, tesis u otros
trabajos. En este caso, no sólo deberemos migrar el contenido, sino
también, los ficheros asociados.
TABLA USUARIO:
- uid: char(14). Clave principal. Identificador de
un usuario.
- login: varchar(16).
- password: varchar(16)
157
- perfil:
char(1).
Si
perfil
=
1,
usuario
administrador. Si perfil = 2, usuario de la
aplicación, perfil =3, usuario de correo y pag.
web.
Esta tabla la deberemos relacionar con la tabla persona, ya que
ambas tratan sobre los usuarios del sistema.
TABLA PINVPARTICIPA:
- pinvid: char(14) .Clave principal. Identificador
de proyecto de investigación.
- uid: char(14). Identificador de un participante.
Se hará corresponder con una persona de la
tabla persona.
- nombre: varchar(60). Nombre del participante,
si no pertenece al departamento.
Esta tabla sirve para identificar a los participantes de los proyectos de
investigación. Deberemos relacionarla con la tabla persona para
comprobar los que pertenecen al departamento.
TABLA PROYTESTUTOR:
- proyid: char(14). Identificador de proyecto fin
de carrera o de tesis doctoral.
- uid: char(14). Identificador de un tutor. Se hará
corresponder con una persona de la tabla
persona.
- apenomb: varchar(60). Nombre del tutor, si no
pertenece al departamento.
Identificaremos a los tutores de los diferentes proyectos fin de
carrera o de tesis doctorales.
158
TABLA PROYTESTUDIANTE:
- proyid: : char(14). Identificador de proyecto fin
de carrera o de tesis doctoral.
- apenomb: varchar(60). Nombre del estudiante
que realiza el proyecto.
- correo:
varchar(80).
Correo
electrónico
del
estudiante.
En este caso se identificarán a los estudiantes de los diferentes
proyectos fin de carrera o tesis doctorales.
TABLA PUBLICAPERSO:
- pubid: char(14). Identificador de publicación.
- uid: char(14). Identificador de un autor. Se hará
corresponder con una persona
de la tabla
persona.
- apenomb: varchar(60). Nombre del autor, si no
pertenece al departamento.
Finalmente, esta tabla indicarán quiénes son los responsables de una
publicación, si pertenecen al departamento habrá que relacionarla
con la tabla persona.
5.6.2 Análisis de la nueva base de datos
Ahora comprobaremos que tablas se verán afectadas en la migración
de los datos. Fundamentalmente, la mayor parte pertenecerán al
componente de J!Research, ya que es el que se usa para gestionar
las
publicaciones
y
los
proyectos,
en
general,
la
parte
de
investigación de la web.
159
TABLA jos_attachments:
Esta tabla está relacionada con el componente Attachments de
Joomla!. Aquí se almacenarán las rutas de los archivos de todos los
adjuntos que se añadan, por lo que será importante para el software
del departamento.
TABLA jos_jresearch_cooperations:
Se deberá rellenar con los datos que provienen del campo entidad de
la tabla PROYINVESTIGA. Además los deberemos completar con otros
datos
que
obtendremos
visitando
la
web
de
la
entidad
correspondiente.
TABLA jos_jresearch_financier:
La completaremos también con datos de la tabla de los proyectos de
investigación
de
la
web
antigua.
Como
en
la
anterior
tabla
completaremos datos visitando la web de la entidad que financia el
proyecto.
TABLA jos_jresearch_member:
Esta
tabla
hace
referencia
a
los
integrantes
del
grupo
de
investigación, por lo que estará relacionada con las tablas de la
antigua web como PERSONA y USUARIO. Deberemos tener en cuenta
los campos de esta tabla e ir rellenando según corresponda.
TABLA jos_jresearch_project:
Aquí añadiremos todos los proyectos de investigación del grupo, que
los obtendremos de la tabla PROYINVESTIGA. Deberemos hacer
coincidir cada campo origen con el campo destino en la nueva tabla.
Además de esta tabla se derivan otras relacionadas con los proyectos
de investigación como:

jos_jresearch_project_cooperation

jos_jresearch_project_external_author
160

jos_jresearch_project_financier

jos_jresearch_project_internal_author
Estas
tablas
derivadas,
básicamente
establecen
relaciones
con
identificadores con otras tablas.
TABLA jos_jresearch_publication:
Esta tabla es similar a la anterior con la diferencia que aquí se
añadirán todas las publicaciones del departamento. La tabla origen
que deberemos comprobar será PUBLICACIÓN. También se deberán
hacer corresponder los campos origen con los de destino. Así mismo
de esta tabla también se derivan otras, en este caso:

jos_jresearch_publication_external_author

jos_jresearch_publication_internal_author

jos_jresearch_publication_type
TABLA jos_jresearch_research_area:
Aquí se almacenarán las distintas líneas de investigación que se
desarrollan en el departamento. La tabla de la que obtendremos los
datos será de LÍNEA. Como comentamos, con esta tabla se hará una
agrupación de las líneas de investigación y sólo contendrán las
principales.
TABLA jos_jresearch_thesis:
Esta tabla contendrá todo lo referente a proyectos fin de carrera,
tesis doctorales o proyectos de máster. Los datos de origen
procederán
de
la
tabla
PROYECTES,
pero
además
deberemos
comprobar las tablas PROYTESTUTOR y PROYTESTUDIANTE para
averiguar los tutores y los estudiantes de cada proyecto o tesis. Cabe
destacar las otra tablas que dependen de esta:

jos_jresearch_thesis_external_author

jos_jresearch_thesis_internal_author
161
5.6.3 Proceso de migración
Para realizar el proceso de migración de los datos desde las tablas de
la base de datos antigua a la nueva, se va a proceder de tres formas
diferentes dependiendo de cuál resulte más fácil o rápida en cada
caso.
1. Consultas SQL: En este caso se programan varios scripts en la
consola de Linux, según la programación, van leyendo los datos
de la antigua base de datos ó de la nueva para hacer
modificaciones y van rellenando la nueva según corresponda.
Ejemplo:
#!/bin/bash
pass=XXXXXXXXXXXX;
for ((i=2;i<61;i++))
do
mysql -u csp -p$pass -N -D csp -e "SELECT id, title FROM
jos_jresearch_project WHERE id='$i'";
echo "Leer id de financiación: "
read financier;
mysql -u csp -p$pass -N -D csp -e "INSERT INTO
jos_jresearch_project_financier (id_project, id_financier)
VALUES ($i, $financier)";
done
Este
script
va
leyendo
las
“ids”
de
los
proyectos
de
investigación y va creando la tabla “financier” que relaciona las
fuentes de financiación de cada proyecto.
162
2. Archivos Excel: Lo que no se ha podido completar en el paso
1, debido a su complejidad, lo haremos a través de archivos de
Excel. Primeramente exportaremos las tablas afectadas, tanto
las antiguas como las nuevas, en formato Excel y las
cruzaremos con las funciones que nos permite esta aplicación,
dando como resultado que las tablas de la nueva base de datos
queden prácticamente rellenas con los datos deseados.
Ejemplo:
Exportamos la tabla “persona” de la antigua base de datos y la
tabla “jos_jresearch_member” de la nueva a dos ficheros Excel.
Una vez abiertos los dos archivos, copiaremos el contenido de
un fichero en el otro filtrando los nombres ya que en la antigua
se van repitiendo según el curso académico.
3. Completar vía web: Los datos que dada su naturaleza no han
podido ser completados en los pasos anteriores, debido
probablemente, a que eran datos que no existían en la antigua
base de datos y que se piden en esta nueva ya que existen
campos
nuevos,
se
han
de
ir
completando
vía
web
manualmente, o con nuevos scripts del paso 1, que los vaya
completando con datos por defecto.
Ejemplo:
Para completar la base de datos nueva referente al software
publicado por el departamento. Es necesario acceder al FrontEnd de la web y seleccionaremos “Enviar Software” del menú
de usuario. Así se ha realizado con los 15 elementos que hay
publicados de software.
163
6. POLÍTICA DE BACKUPS
Las copias de seguridad son una forma de protección de datos tal que
permiten la recuperación de la información (ya sean datos o
aplicaciones) en el caso
de
que tenga lugar
la pérdida del
equipamiento informático (o hardware), ya sea debido a desastres
naturales, fallos de disco, espionaje, errores de operación del
sistema, etc.
Hay que tener en cuenta, entre otros, la periodicidad con la que se
realizan las copias, el/los métodos empleados para su realización
(absoluto, incremental o combinación de ambos), los datos de los que
se va a realizar copia, los responsables de realizarlas, etc.
Otro detalle muy importante es la comprobación de las copias
realizadas, de modo que se garantice la integridad de los datos
almacenados. Para ello, en lugar de restaurar y comprobar la copia
entera se suele optar por la recuperación de diversos archivos
escogidos de modo aleatorio, asumiendo que la copia es correcta en
caso de que no se produzcan errores.
A continuación, en el siguiente gráfico esquemático, se podrá
observar la política de backups que se va a llevar a cabo en el
servidor. En dicho gráfico se pueden ver las distintas ubicaciones
donde se guardarán las distintas copias de seguridad, dependiendo si
se trata de los backups de las máquinas virtuales o de los archivos y
bases de datos de la máquina Ubuntu.
164
GRÁFICO EXPLICATIVO POLÍTICA DE BACKUPS
SERVIDOR ANFITRIÓN PEGASO
DISCOS
ESXi
LOCALES
Backup VM
Backup VM
Backup
Backup VM
Archivos
BBDD
Automática
Gestión
Backup VM
Backup VM
Ubuntu
Backup VM
Backup
Archivos
BBDD
SERVIDOR
NFS
165
6.1 Backup de archivos del servidor Ubuntu
La primera medida que adoptamos para la recuperación ante
pequeños desastres o errores humanos, es el backup diario de ciertos
archivos del servidor Ubuntu, como son las web que se alojan en el
servidor, los archivos de los usuarios y las bases de datos. Ante
cualquier desastre, podemos recuperar la copia de seguridad del día
anterior y restaurarla sin mayores problemas.
Para hacer este tipo de copia de seguridad, hemos programado un
script que veremos a continuación:
#!/bin/bash
mount -o user=copion,password=XXXXXXXX
//157.88.32.230/pegaso /mnt/nfs/
for i in /var/lib/mysql/*/;
do
dbname=`basename $i`;
mysqldump -u Backup
-pXXXXXXXXXXXX --opt $dbname >
/backup/$dbname.sql;
done
cd /backup
tar -zcf bbdd_$(date +\%Y-\%m-\%d).tar.gz *.sql;
cp bbdd_$(date +\%Y-\%m-\%d).tar.gz /mnt/nfs/BackupWebs;
cd /var/www
tar -zcf /backup/webfiles_$(date +\%Y-\%m-\%d).tar.gz *;
cp /backup/webfiles_$(date +\%Y-\%m-\%d).tar.gz
/mnt/nfs/BackupWebs;
cd /home
tar -zcf /backup/homefiles_$(date +\%Y-\%m-\%d).tar.gz *;
cp /backup/homefiles_$(date +\%Y-\%m-\%d).tar.gz
/mnt/nfs/BackupWebs;
sleep 5m;
166
find /backup -name '*.tar.gz' -type f -mtime +7 -exec rm -f
{} \;
find /mnt/nfs/BackupWebs -name '*.tar.gz' -type f -mtime +7
-exec rm -f {} \;
umount /mnt/nfs/
Nota: Este script hace referencia a una unidad NFS (Network File
System) que veremos en detalle en el apartado 6.3.
Como vemos, este script realiza las siguientes tareas:
1. Conecta con el servidor de bases de datos y realiza un volcado
de cada una ellas en el directorio /backup del servidor con
formato .sql.
2. Se comprimen todos los archivos .sql en uno solo comprimido
con formato bbdd_”fecha”.tar.gz que se guarda también en el
directorio /backup.
3. Se comprimen todas las webs alojadas en el servidor y
ubicadas en el directorio /var/www, en un archivo comprimido
con formato webfiles_”fecha”.tar.gz que se guarda en el
directorio /backup.
4. Se comprimen todas las carpetas de los usuarios ubicadas en el
directorio /home/, en un archivo comprimido con formato
homefiles_”fecha”.tar.gz
que
se
guarda
en
el
directorio
/backup.
5. Finalmente se comprueba que todos los archivos “*.tar.gz” del
directorio /backup no tengan más de 7 días de antigüedad. Si
son más antiguos se borran del sistema, lo que produce de esta
167
forma una rotación de copias de seguridad. Siempre habrá en el
sistema 8 copias de seguridad de los días anteriores lo que nos
permitirá restaurar la que deseemos.
Para que este script funcione como deseemos habrá que programar
que se ejecute todos los días a una determinada hora, para ello
acudiremos al servicio CRON de Linux y modificaremos el archivo
/etc/crontab insertando una línea como veremos a continuación:
# /etc/crontab: system-wide crontab
# m h dom mon dow user
command
00
/home/juan/scripts/backup.sh >
3
* * *
root
/dev/null
Como vemos, hemos programado el script para que se ejecute todos
los días a las 3 am.
Por lo tanto, pasado unos días, nuestro directorio /backup contendrá,
dependiendo la fecha, lo siguiente:
juan@UbuntuS:/backup$ ls -lh
total 15G
2,2M 2012-09-05 03:00 bbdd_2012-09-05.tar.gz
2,2M 2012-09-06 03:00 bbdd_2012-09-06.tar.gz
2,2M 2012-09-07 03:00 bbdd_2012-09-07.tar.gz
2,2M 2012-09-08 03:00 bbdd_2012-09-08.tar.gz
2,2M 2012-09-09 03:00 bbdd_2012-09-09.tar.gz
2,2M 2012-09-10 03:00 bbdd_2012-09-10.tar.gz
2,3M 2012-09-11 03:00 bbdd_2012-09-11.tar.gz
1,2M 2012-09-12 03:00 bbdd_2012-09-12.tar.gz
783K 2012-09-12 03:00 csp.sql
168
1,1G 2012-09-05 03:05 homefiles_2012-09-05.tar.gz
1,1G 2012-09-06 03:05 homefiles_2012-09-06.tar.gz
1,1G 2012-09-07 03:05 homefiles_2012-09-07.tar.gz
1,1G 2012-09-08 03:05 homefiles_2012-09-08.tar.gz
1,1G 2012-09-09 03:05 homefiles_2012-09-09.tar.gz
1,1G 2012-09-10 03:05 homefiles_2012-09-10.tar.gz
1,1G 2012-09-11 03:05 homefiles_2012-09-11.tar.gz
1,1G 2012-09-12 03:04 homefiles_2012-09-12.tar.gz
654K 2012-09-12 03:00 joomla_stud.sql
571K 2012-09-12 03:00 juan_joomlatest.sql
495K 2012-09-12 03:00 mysql.sql
160K 2012-09-12 03:00 pfn.sql
10K 2012-09-12 03:00 phpmyadmin.sql
818M 2012-09-05 03:01 webfiles_2012-09-05.tar.gz
816M 2012-09-06 03:01 webfiles_2012-09-06.tar.gz
817M 2012-09-07 03:01 webfiles_2012-09-07.tar.gz
817M 2012-09-08 03:02 webfiles_2012-09-08.tar.gz
817M 2012-09-09 03:01 webfiles_2012-09-09.tar.gz
817M 2012-09-10 03:01 webfiles_2012-09-10.tar.gz
828M 2012-09-11 03:01 webfiles_2012-09-11.tar.gz
732M 2012-09-12 03:01 webfiles_2012-09-12.tar.gz
1,9M 2012-09-12 03:00 webmail.sql
386K 2012-09-12 03:00 webvieja.sql
6.2 Backup de Máquinas Virtuales
Una vez configurada la política de copias de seguridad ante pequeños
desastres,
deberemos
continuar
a
un
nivel
superior
para
la
recuperación en caso de fallos mayores.
169
Ya no sólo se trata de recuperar ciertos archivos del servidor, sino de
restaurar
completamente
toda
la
máquina.
En
este
apartado
extenderemos las copias de seguridad al resto de máquinas virtuales
que están alojadas en el servidor anfitrión “Pegaso”. Al ser máquinas
virtuales, el backup completo de estas será más sencillo que si se
tratasen de máquinas físicas independientes.
Para realizar estas copias de seguridad lo haremos de una forma
parecida a la del apartado anterior, pero en este caso nos
ayudaremos
de
un
script
ya
programado
especialmente
para
máquinas virtuales y servidores ESXi 5. Se trata del spcript
ghettoVCB.
GhettoVCB.sh es uno de los pocos scripts que nos sirvan para realizar
copias del entorno VMware de una forma gratuita, esto es, podremos
hacer copias de seguridad de nuestro servidor ESXi 5.0 licenciado
gratuitamente. Realiza un snapshot de la máquina virtual a copiar,
nos copia en un directorio los archivos de la máquina virtual y
posteriormente borra el snapshot.
GhettoVCB es un script que se debe ejecutar en el propio servidor
VMware ESXi y lo podremos programar que se ejecute mediante
tareas “Cron”. Además, ghettoVCB almacena los backups en un
datastore de ESXi y en el apartado siguiente veremos además cómo
copiamos las máquinas a un servidor NFS.
Podemos
descargar
el
script
de
la
http://communities.vmware.com/docs/DOC-8760
página
donde
oficial:
también
encontraremos toda la documentación y opciones de las que dispone
el script.
170
Posteriormente subimos el archivo descargado al servidor y lo
descomprimimos. La carpeta que contiene el script la colocaremos en
el datastore “Esxi”.
Una vez descomprimido crearemos varias plantillas de configuración,
una por cada máquina que deseemos hacer la copia de seguridad,
hay multitud de opciones que podemos usar con el script, pero
utilizaremos las más importantes como veremos a continuación:
AUTOMÁTICA:
VM_BACKUP_VOLUME=/vmfs/volumes/Ubuntu/Backup
DISK_BACKUP_FORMAT=thin
VM_BACKUP_ROTATION_COUNT=4
POWER_VM_DOWN_BEFORE_BACKUP=1
ENABLE_HARD_POWER_OFF=1
ITER_TO_WAIT_SHUTDOWN=4
POWER_DOWN_TIMEOUT=5
SNAPSHOT_TIMEOUT=15
ENABLE_COMPRESSION=0
VM_SNAPSHOT_MEMORY=0
VM_SNAPSHOT_QUIESCE=0
VMDK_FILES_TO_BACKUP="all"
Con estas directivas estamos indicando que:

Vamos a colocar la copia de seguridad en el datastore “Ubuntu”
en el directorio Backup.
171

Se está haciendo una copia de seguridad que sólo va a ocupar
el espacio que está utilizando la máquina virtual y no el que
tiene reservado.

Va a haber una rotación de copias de seguridad de 4, es decir,
cuando se realice la quinta copia de seguridad, se eliminará la
más antigua.

Finalmente hemos activado que la copia de seguridad se realice
con la máquina apagada.

El resto de opciones son opciones por defecto.
UBUNTU
VM_BACKUP_VOLUME=/vmfs/volumes/Gestion/Backup
DISK_BACKUP_FORMAT=thin
VM_BACKUP_ROTATION_COUNT=4
POWER_VM_DOWN_BEFORE_BACKUP=1
ENABLE_HARD_POWER_OFF=1
ITER_TO_WAIT_SHUTDOWN=4
POWER_DOWN_TIMEOUT=5
SNAPSHOT_TIMEOUT=15
ENABLE_COMPRESSION=0
VM_SNAPSHOT_MEMORY=0
VM_SNAPSHOT_QUIESCE=0
VMDK_FILES_TO_BACKUP="all"
En este caso, es prácticamente igual al anterior, con la salvedad de
que vamos a almacenar las copias de seguridad en el datastore
“Gestion”.
172
GESTION
VM_BACKUP_VOLUME=/vmfs/volumes/Automatica/Backup
DISK_BACKUP_FORMAT=thin
VM_BACKUP_ROTATION_COUNT=4
POWER_VM_DOWN_BEFORE_BACKUP=1
ENABLE_HARD_POWER_OFF=1
ITER_TO_WAIT_SHUTDOWN=4
POWER_DOWN_TIMEOUT=5
SNAPSHOT_TIMEOUT=15
ENABLE_COMPRESSION=0
VM_SNAPSHOT_MEMORY=0
VM_SNAPSHOT_QUIESCE=0
VMDK_FILES_TO_BACKUP="all"
Este archivo de configuración es igual a los anteriores, pero como
antes, también hemos cambiado la ubicación de las copias de
seguridad que en este caso se harán en el datastore “Automatica”.
Como se puede comprobar estamos haciendo copias de seguridad
cruzadas, cada copia de seguridad de cada máquina se guarda en
otro datastore, para una mayor seguridad e integridad de datos.
Una vez que tenemos creadas las plantillas, debemos crear un
archivo que contiene el nombre de las máquinas virtuales que
queremos hacer copia de seguridad. El este caso el archivo se llama
“maquinas” y está en la ubicación “/vmfs/volumes/ESXi/ghettoVCB/”.
Por lo tanto el contenido del archivo será:
Ubuntu
Automatica
173
Cabe destacar, que estamos dejando fuera de las copias de seguridad
a la máquina “gestión”, ya que en esta, actualmente se están
realizando simulaciones matemáticas y no es posible apagar la
máquina para realizar la copia de seguridad. Se deberán realizar
manualmente, o incluir a la máquina en este archivo una vez
concluidas las simulaciones.
Finalmente, deberemos configurar el servicio “CRON”, para que este
script se ejecute de manera periódica. En nuestro caso hemos elegido
que el script se ejecute los domingos a las 3:30 am, como vemos en
el siguiente archivo de configuración de “CRON”:
#min hour day mon dow command
1
1
*
*
*
/sbin/tmpwatch.py
1
*
*
*
*
/sbin/auto-backup.sh
0
*
*
*
*
/usr/lib/vmware/vmksummary/log-
*
0
heartbeat.py
30
3
*
/vmfs/volumes/ESXi/ghettoVCB/ghettoVCB.sh -f
/vmfs/volumes/ESXi/ghettoVCB/maquinas -c
/vmfs/volumes/ESXi/ghettoVCB/templates > /dev/null
Pasado un tiempo, como ocurre con las copias del apartado 6.1,
obtendremos una colección de copias de seguridad que en este caso
la más antigua tendrá más o menos 1 mes, por lo que podemos elegir
el punto de restauración de la máquina.
174
Datastore Gestion:
Datastore Ubuntu
175
6.3 Sistema de copias de seguridad en red
Para una mayor seguridad e integridad en nuestros datos y en las
copias de seguridad, en este servidor se va a implementar otro nivel
más de backups, que va a significar dejar estas copias de seguridad
en otro servidor.
Para ello se va a utilizar el protocolo Network File System (NFS), que
posibilita que distintos sistemas conectados a una misma red accedan
a ficheros remotos como si se tratara de locales.
Para ello se ha dispuesto un servidor NFS en la dirección:
157.88.32.230. El servidor “pegaso” y “Ubuntu” accederán como
clientes a cada unidad de red que ha sido asignada a cada uno de
ellos y copiaran el contenido de las copias de seguridad.
6.3.1 Backup de archivos Ubuntu por NFS
Antes de poder copiar los archivos a la unidad de red que provee el
otro servidor, deberemos montar esta unidad en el servidor Ubuntu,
para ello volveremos a analizar el script de copias de seguridad que
veíamos en el apartado 6.1.
#!/bin/bash
mount -o user=copion,password=Copias-isa
//157.88.32.230/pegaso /mnt/nfs/
cp bbdd_$(date +\%Y-\%m-\%d).tar.gz /mnt/nfs/BackupWebs;
cp /backup/webfiles_$(date +\%Y-\%m-\%d).tar.gz
/mnt/nfs/BackupWebs;
176
cp /backup/homefiles_$(date +\%Y-\%m-\%d).tar.gz
/mnt/nfs/BackupWebs;
find /mnt/nfs/BackupWebs -name '*.tar.gz' -type f -mtime +7
-exec rm -f {} \;
umount /mnt/nfs/
En este caso sólo nos fijaremos en las instrucciones que hacen
referencia al servidor NFS. Podemos diferenciar las diferentes
instrucciones:
1. Montamos el servidor NFS en el directorio /mnt/nfs.
2. Copiamos los archivos comprimidos de las bases de datos, las
web alojadas en el servidor y los archivos de los usuarios a la
unidad NFS.
3. Buscamos los archivos que tengan una antigüedad mayor a 8
días y los eliminamos. De esta forma en el servidor NFS
también hacemos la rotación de copias de seguridad.
4. Desmontamos la unidad NFS.
El script, como dijimos en el apartado 6.1, se ejecuta todos los días a
las 3 am, por lo que pasado un tiempo, tendremos estos archivos en
la unidad NFS, dependiendo de la fecha:
root@UbuntuS:/mnt/nfs/BackupWebs# ls -lh
total 15G
2,2M 2012-09-06 02:59 bbdd_2012-09-06.tar.gz
177
2,2M 2012-09-07 02:59 bbdd_2012-09-07.tar.gz
2,2M 2012-09-08 02:59 bbdd_2012-09-08.tar.gz
2,2M 2012-09-09 02:59 bbdd_2012-09-09.tar.gz
2,2M 2012-09-10 03:00 bbdd_2012-09-10.tar.gz
2,3M 2012-09-11 02:59 bbdd_2012-09-11.tar.gz
1,2M 2012-09-12 02:59 bbdd_2012-09-12.tar.gz
1,2M 2012-09-13 02:59 bbdd_2012-09-13.tar.gz
1,1G 2012-09-06 03:07 homefiles_2012-09-06.tar.gz
1,1G 2012-09-07 03:07 homefiles_2012-09-07.tar.gz
1,1G 2012-09-08 03:07 homefiles_2012-09-08.tar.gz
1,1G 2012-09-09 03:07 homefiles_2012-09-09.tar.gz
1,1G 2012-09-10 03:07 homefiles_2012-09-10.tar.gz
1,1G 2012-09-11 03:07 homefiles_2012-09-11.tar.gz
1,1G 2012-09-12 03:06 homefiles_2012-09-12.tar.gz
1,1G 2012-09-13 03:06 homefiles_2012-09-13.tar.gz
816M 2012-09-06 03:03 webfiles_2012-09-06.tar.gz
817M 2012-09-07 03:03 webfiles_2012-09-07.tar.gz
817M 2012-09-08 03:03 webfiles_2012-09-08.tar.gz
817M 2012-09-09 03:03 webfiles_2012-09-09.tar.gz
817M 2012-09-10 03:03 webfiles_2012-09-10.tar.gz
828M 2012-09-11 03:03 webfiles_2012-09-11.tar.gz
732M 2012-09-12 03:03 webfiles_2012-09-12.tar.gz
733M 2012-09-13 03:02 webfiles_2012-09-13.tar.gz
6.3.2 Backup de máquinas virtuales por NFS
En este apartado se tratará de copiar las copias de seguridad a la
unidad de red NFS. Para ello también se utilizará el script ghettoVCB
para crear y mover dichas copias de seguridad, pero con algunas
diferencias que explicaremos a continuación.
178
En primer lugar, deberemos conectar la unidad de NFS al servidor
ESXi, para ello nos conectaremos con el cliente e iremos a la pestaña
de configuración en el que pincharemos en el botón “Add Storage”
como vemos en la siguiente imagen:
Se nos abrirá una ventana en la que iremos definiendo los
parámetros del servidor NFS. Primero, elegiremos “Network File
System” como el tipo de almacenamiento que deseamos agregar al
sistema y pulsamos en “Next”.
En la siguiente pantalla deberos definir concretamente los parámetros
del servidor como vemos a continuación:
179
Para terminar pulsaremos en “Next” y luego en “Finish” para finalizar
el proceso. Con estos pasos ya tenemos montada la unidad NFS en
nuestro sistema ESXi 5.0.
Ahora deberemos configurar ghettoVCB para que realice las copias de
seguridad en la unidad NFS, en este caso tendremos un único archivo
de configuración para todas las máquinas que deseemos hacer la
copia de seguridad:
VM_BACKUP_VOLUME=/vmfs/volumes/NFS
DISK_BACKUP_FORMAT=2gbsparse
VM_BACKUP_ROTATION_COUNT=4
POWER_VM_DOWN_BEFORE_BACKUP=1
ENABLE_HARD_POWER_OFF=1
180
ITER_TO_WAIT_SHUTDOWN=4
POWER_DOWN_TIMEOUT=5
SNAPSHOT_TIMEOUT=15
ENABLE_COMPRESSION=0
VM_SNAPSHOT_MEMORY=0
VM_SNAPSHOT_QUIESCE=0
VMDK_FILES_TO_BACKUP="all"
Este archivo presenta unas directivas algo diferentes a cuando
realizábamos las copias de seguridad en el propio servidor que
explicaremos a continuación:

El directorio donde ahora se van a dejar las copias de seguridad
es el de la unidad NFS recientemente montada en el sistema.

Se ha elegido el formato “2gbsparse” para que las copias de
seguridad se dividan en archivos de 2GB y solamente con el
espacio ocupado y no con el reservado para la máquina. Al ser
un servidor externo, este no reconocería el formato “thin” como
anteriormente y, por lo tanto, la copia de seguridad ocuparía el
espacio reservado para cada una de las máquinas.

El resto de directivas ya están explicadas en anteriores
apartados, en los que se selecciona apagar la máquina antes de
realizar la copia de seguridad y hacer una rotación de 4 copias
de seguridad.
Finalmente, y como ocurría en los anteriores casos, configuraremos el
servicio “CRON” para que se ejecute el script para esta configuración.
Ya que el proceso de hacer las copias de seguridad de una máquina y
moverlo a una unidad de red, es un proceso lento, se ha optado
181
porque estas copias se realicen una vez al mes. Las siguientes líneas
se han introducido al archivo “CRON” para que realice estas tareas.
#min hour day mon dow command
45
4
1
*
*
/vmfs/volumes/ESXi/ghettoVCB/ghettoVCB.sh -f
/vmfs/volumes/ESXi/ghettoVCB/Ubuntu -g
/vmfs/volumes/ESXi/ghettoVCB/conf/ghettoVCB.conf >
/dev/null
45
4
2
*
*
/vmfs/volumes/ESXi/ghettoVCB/ghettoVCB.sh -f
/vmfs/volumes/ESXi/ghettoVCB/Automatica -g
/vmfs/volumes/ESXi/ghettoVCB/conf/ghettoVCB.conf >
/dev/null
Como se observa, para la máquina Ubuntu el script se ejecuta el día
1 de cada mes a las 4:45 am, y para la máquina Automática, este se
ejecuta el día 2 de cada mes a las 4:45 am.
Como en los otros casos, y pasado un tiempo, obtendremos los
siguientes resultados si miramos el contenido de la unidad NFS:
182
III.
PRESUPUESTO
183
1. OFERTA ECONÓMICA
El presente presupuesto pretende abordar el coste económico del
proyecto como una oferta de material y servicios de una empresa
externa a la Universidad de Valladolid.
Para ello, además de evaluar el coste del servidor y del software
asociado, se calcularán los costes de la instalación y puesta en
marcha por técnicos cualificados y su posterior mantenimiento.
1.1 Desglose del Material
Oferta económica para GIR CONTROL Y SUPERVISIÓN DE
PROCESOS
HARDWARE
SERVIDOR Intel S5000XVN
MODELO
UN.
DESCRIPCIÓN
P. UNIT.
P. TOTAL
3506000001
2
Procesador – 1 x Intel Quad-Core Xeon E5420 / 2.5
GHz (1333 MHz) – LGA771 Socket – L2 12 MB (2 x
6 MB) - Caja
290,00
580,00
3506000020
1
Placa Intel S5000XVN
450,00
450,00
0001000008
4
Kingston Value RAM – Memoria – 4 GB – FB-DIMM
240-pin – DDR2 – 667 MHz – CL 5 – 1.8 V – Búfer
Completo – ECC
81,90
327,59
0700000009
1
Caja Entry Server Chasis SC5299BRP
309,48
309,48
1503000027
1
Disco Duro 150 Gb WD1500DFD SATA RAPTOR
193,97
193,97
2803000035
1
Lector / Grabador LG DVR H22N Negra
22,41
22,41
1503000027
3
Disco Duro 1 TB Segate SATA II 7200rpm
83,62
250,86
4403000047
1
Tarjeta Gráfica Quadro FX 1700 PCIe
474,00
474,00
4500000034
1
Teclado Logitech inalámbrico Internet 1500 Láser
OEM
34,91
34,91
184
2602000105
1
Monitor Acer P223W 22’’ Wide Brillante
155,17
155,17
1901000074
1
Fuente de Alimentación 650W Server
180,17
180,17
SUBTOTAL (€)
2978,56
SOFTWARE
VMware ESXi 5.0
MODELO
VMware-VMvisorInstaller-5.0.0469512.x86_64
UN.
DESCRIPCIÓN
1
ESXi 5.0 ISO image for systems without software
iSCSI configured.
Boot your server with this image in order to install or
upgrade to ESXi. This ESXi image includes
VMware Tools.
P. UNIT.
P. TOTAL
0,00
0,00
NOTE: ESXi requires 64-bit capable servers.
SUBTOTAL (€)
0,00
Ubuntu Server 10.04 LTS
MODELO
ubuntu-10.04.3server-amd64
UN.
1
DESCRIPCIÓN
Ubuntu 10.04 Lucid Lynx
P. UNIT.
P. TOTAL
0,00
0,00
SUBTOTAL (€)
0,00
TOTAL (€)
2978,56
TOTAL CON IVA 21% (€)
3604,06
NOTA: El software considerado es únicamente el que es objeto de
este proyecto, es decir, sólo se evalúa el sistema operativo Ubuntu
Server 10.04, ya que los sistemas operativos Windows de las otras
máquinas virtuales, las licencias se han comprado ajenas a este
proyecto.
185
1.2 Desglose Instalación y Mantenimiento
Oferta económica para GIR CONTROL Y SUPERVISIÓN DE
PROCESOS
SERVICIOS DE IMPLANTACIÓN
Servicios de Implementación, Configuración y Montaje
MODELO
UN.
DESCRIPCIÓN
P. UNIT.
P. TOTAL
Técnico de Campo
5h
Montaje del servidor e instalación y puesta en
marcha en su ubicación final.
40,00
200,00
Técnico Nivel 1
6h
Instalación y Configuración de Vmware ESXi 5.0.
Actualización y aplicación de los últimos parches.
50,00
300,00
Técnico Nivel 1
8h
Instalación y Configuración de Ubuntu Server 10.04
LTS.
50,00
400,00
Técnico Nivel 1
4h
Instalación y Configuración de Joomla! 1.5.
Instalación y configuración de módulos adicionales.
50,00
200,00
Técnico Nivel 1
16h
Migración de datos de la antigua BBDD a la nueva.
50,00
800,00
Técnico Nivel 1
8h
Diseño de la nueva plantilla para Joomla 1.5!
50,00
400,00
Técnico Nivel 2
2h
Diseño y Configuración de la política de Backups
65,00
130,00
Técnico Nivel 2
16h
Programación en PHP de
ajustadas a los requerimientos.
65,00
1040,00
Técnico Nivel 2
8h
Realización y Entrega de la documentación del
Proyecto.
65,00
520,00
funcionalidades
SUBTOTAL (€)
3990,00
SERVICIOS DE MANTENIMIENTO
Servicios de Mantenimiento 8x5xNBD durante 1 año:
- 8 horas al día
- 5 días de la semana
- Tiempo máximo de reparación: Siguiente día laborable.
MODELO
UN.
DESCRIPCIÓN
B1-8x5xNBD
1
"Servicio de Mantenimiento de Lunes a Viernes en
horario laboral (09:00 a 18:00), con sustitución del
equipo averiado el siguiente día laborable.
P. UNIT.
P. TOTAL
238,30
238,30
COBERTURA:
186
- Help-Desk (asistencia telefónica,
electrónico, videoconferencia)
correo
- Envío de equipos de sustitución (sin asistencia
técnica en las dependencias del cliente)
- Gestión de las reparaciones"
SUBTOTAL (€)
238,30
BOLSA DE HORAS
Bolsa de Horas
MODELO
UN.
DESCRIPCIÓN
P. UNIT.
P. TOTAL
Bolsa de horas
10h
Servicio de Bolsa de horas para su utilización en
nuevas
configuraciones,
actualizaciones
programadas u otros tipos de consultas
35,00
350,00
SUBTOTAL (€)
350,00
TOTAL (€)
4578,30
TOTAL CON IVA 21% (€)
5539,74
NOTA: El presente presupuesto no corresponde con el número de
horas reales dedicadas al proyecto, ya que pretende ser un
presupuesto realizado por una empresa externa a la Universidad de
Valladolid, por lo tanto se trata de un presupuesto hecho para fines
académicos.
1.2.1 Descripción Servicio de Mantenimiento
Se asumirá la gestión de la garantía con el fabricante de todo el
equipamiento incluido en este proyecto. Entre otras funciones se
realizarán
los
traslados
del
equipamiento
a
dependencias
del
187
fabricante, sustituirá el equipo averiado por otro de prestaciones
iguales o superiores si la reparación excede el tiempo de resolución
exigido,
y en
caso
de
sustitución temporal se
realizará
el
seguimiento de la reparación (gestión de RMA,...) y el posterior
reenvío del equipo reparado, garantizando la plena operatividad.
La garantía de los equipos cubre la reparación de las posibles averías
que
se
puedan
producir
como
consecuencia
del
normal
funcionamiento de los equipos, quedando por tanto excluidas las
producidas por mal uso, agentes externos, etc.
El mantenimiento consiste en un servicio con tiempo de respuesta
garantizado
en
8x5xNBD
ante
cualquier
avería
o
problema
hardware/software ocurrido en la solución implantada.
1.2.2 Descripción Bolsa de Horas
La bolsa de horas sirve para atender las consultas, resolver
incidencias y realizar actuaciones programadas referentes a los
componentes detallados en este proyecto.
188
1.3 Resumen Presupuesto
Oferta económica para GIR CONTROL Y SUPERVISIÓN DE
PROCESOS
RESÚMEN TOLTAL
MODELO
DESCRIPCIÓN
HARDWARE
Material asociado al proyecto.
SERVICIOS
Servicios
de
mantenimiento
implantación,
P. TOTAL
3604,06
configuración
y
TOTAL (€)
5539,74
9143,80
189
IV.
ANEXOS
190
1. MANUAL DE ADMINISTRADOR
1.1 Introducción
Esta guía está diseñada para el administrador de los
servicios
informáticos del Grupo de Investigación Reconocido Control y
Supervisión de Procesos. Entendemos como administrador, a la
persona encargada del mantenimiento y posibles actuaciones futuras
del servidor.
Este manual tiene como objetivo describir los pasos necesarios para
realizar las operaciones cotidianas, así como para su mantenimiento y
recuperación en caso de desastres.
Pretende ser una guía sencilla para que resulte fácil y eficaz dichas
operaciones.
1.2 Operaciones en VMware ESXi 5.0
En los siguientes apartados se describirán las actuaciones que se
deberán tener en cuenta para el correcto funcionamiento del servidor
anfitrión y del sistema operativo VMware ESXi 5.0.
1.2.1 Aplicación de actualizaciones y parches
El servidor del proyecto es un servidor independiente y por lo tanto
no está integrado con otros servidores bajo la plataforma “vCenter”
que proporciona VMware. Por esta razón la única forma de aplicar los
191
parches y las actualizaciones será a través de vSphere CommandLine Interface (vCLI) que explicamos su instalación en el apartado
3.3.4 de este proyecto.
Una vez descargada e instalada la herramienta en el ordenador
cliente desde el cual procederemos a aplicar los parches y las
actualizaciones,
deberemos
averiguar
la
versión
en
la
que
actualmente se encuentra el servidor, para ello accederemos al
servidor con el cliente de VMware y veremos en qué versión se
encuentra (Build Number) como se puede observar en la siguiente
imagen:
A
continuación
visitaremos
la
página
oficial
de
VMware
para
comprobar y descargar las actualizaciones disponibles. Para ello
acudiremos a:
http://www.vmware.com/go/downloadpatches
En esta web, seleccionaremos en los desplegables el producto del que
queremos buscar las actualizaciones que en este caso será ESXi 5.0.
192
Al
realizar
la
búsqueda
aparecerán
diferentes
paquetes
de
actualizaciones y parches que se ordenarán del más reciente al más
antiguo. En general deberemos fijarnos en el “Build Number” y
comprobar si existe alguno más reciente del que tenemos instalado
en el sistema.
Si existieran varios paquetes que actualizarían el sistema, sería
suficiente
con
descargar
el
más
reciente,
ya
que
estos
son
acumulativos, aunque puede ocurrir que el paquete más reciente no
incluya alguna actualización anterior.
Una vez descargado el paquete con las actualizaciones, deberemos
subirlo al servidor con la herramienta “VMware vSphere Client”. Para
ello seleccionaremos el disco duro “ESXi”.
193
A
continuación,
navegamos
hasta
el
directorio
“Patch”
y
seleccionamos el icono de cargar un archivo, el cual, nos abrirá una
venta en el explorador en el que podremos seleccionar al archivo
anteriormente descargado.
Concluida la subida del archivo ya estaremos en condiciones para
aplicar las actualizaciones. Para ello seguiremos los siguientes pasos:
194
1. Apagar todas las máquinas virtuales.
2. Poner al sistema en modo mantenimiento. Lo realizaremos
desde
el
“VMware
vSphere
Client”,
pichando
en
“Enter
Maintenance Mode” en el menú desplegable que aparece sobre
el
servidor
pegaso.isa.cie.uva.es.
Si
lo
hemos
realizado
correctamente podremos ver la siguiente imagen.
3. Ahora desde el vSphere Command-Line Interface (vCLI)1
ejecutaremos el siguiente comando:
esxcli --server pegaso.isa.cie.uva.es software vib install
--depot=/vmfs/volumes/ESXi/Patch/ESXi500-XXXXXXXXX.zip
Donde “XXXXXXXXX” es la fecha en la que se ha liberado la
actualización. Además al ejecutar el comando nos solicitará el
usuario y la contraseña para acceder al sistema. Después
deberemos esperar unos segundos hasta que se actualice el
sistema. Si todo se ha realizado correctamente, observaremos
el siguiente mensaje:
1
La instalación de vCLI se puede ver en el apartado 3.3.4 del proceso de implantación en esta memoria
o en la web: http://www.vmware.com/support/developer/vcli/
195
Installation Result
Message:
system
The
needs
to
update
be
completed
rebooted
successfully,
for
the
changes
but
to
the
be
effective.
Reboot Required: true
4. Reiniciar el servidor “Pegaso”.
5. Salir del modo mantenimiento.
6. Arrancar las máquinas virtuales.
7. Si el paquete de actualización incluía una versión más nueva de
las VMware Tools, deberemos actualizar dichas herramientas en
cada máquina virtual, pinchando en el menú desplegable de
cada una de ellas, como vemos a continuación:
Con estos pasos habremos finalizado el proceso de actualización de
parches del sistema.
196
1.2.2 Restauración de Máquinas Virtuales
Cuando se ha producido un fallo grave en cualquiera de las máquinas
virtuales, es de vital importancia conocer el proceso para restaurarla.
Se ha de elegir el origen desde donde se restaurará la máquina, que
siempre que sea posible se elegirá una backup de los que se
almacenan en los discos locales, si esto no fuera posible, entonces
recurriremos a la copia que se almacena en el servidor NFS.

Restauración desde un disco local
Este es un proceso sencillo que se elegirá siempre que sea posible.
1. Deberemos eliminar del disco duro la máquina virtual que
esté dañada.
2. Se copiará la carpeta entera de un backup, eligiendo la fecha
que más nos interesa a la ubicación donde estaba la antigua
máquina virtual.
197
3. Renombramos la carpeta con el nombre de la antigua
máquina virtual.
4. Para finalizar, lo único que deberemos hacer es añadirla al
inventario
y
ya
estaremos
en
condiciones
de
poder
arrancarla.

Restauración desde la unidad de red NFS
Esta forma difiere de la anterior ya que tendremos que recurrir al
script ghettoVCB para restaurar la máquina.
1. En este caso, eliminamos los archivos de la máquina virtual
que esté dañada, dejando la carpeta vacía.
2. Luego accederemos por SSH al servidor “Pegaso” e iremos al
directorio donde se encuentra guettoVCB.
198
3. Abrimos el archivo “maquinas-restaurar” y lo rellenaremos
según la máquina o máquinas que queramos restaurar. El
formato del archivo en sencillo, en una línea elegiremos las
opciones de la forma:
“<Directorio máquina backup>;<Destino máquina
restaurada>:Storage;<Formato máquina restaurada>”
A continuación se muestra un ejemplo de cómo se rellenaría
el archivo para restaurar un backup de la máquina Ubuntu:
#"<DIRECTORY or
.TGZ>;<DATASTORE_TO_RESTORE_TO>;<DISK_FORMAT_TO_RESTORE>"
# DISK_FORMATS
# 1 = zeroedthick
# 2 = 2gbsparse
# 3 = thin
# 4 = eagerzeroedthick
# e.g.
# "/vmfs/volumes/dlgCore-NFS-bigboi.VM#Backups/WILLIAM_BACKUPS/STA202I/STA202I-2009-08-18-#1;/vmfs/volumes/himalaya-local-SATA.RE4-GP:Storage;1"
“/vmfs/volumes/NFS/Ubuntu/UbuntuXXXXX;/vmfs/volumes/Ubuntu/Ubuntu:Storage;3”
Cabe señalar que se ha seleccionado el formato de disco “3”
para que la máquina restaurada ocupe el espacio mínimo
necesario y no el que tiene reservado.
4. Finalmente debemos ejecutar el siguiente comando para que
el script comience la restauración de la máquina virtual. Es
199
posible
que
el
script
tarde
un
tiempo
considerable
dependiendo del tamaño de la máquina a restarurar.
./ghettoVCB-restore.sh -c maquinas-restaurar
1.3 Operaciones en Ubuntu Server 10.04
En este caso, en los siguientes apartados se describirán las
actuaciones que se deberán tener en cuenta para el correcto
funcionamiento del sistema operativo Ubuntu Server 10.04.
1.3.1 Creación de usuarios del sistema
Para la creación de usuarios del sistema NO administradores, se ha
programado un script para automatizar la tarea. Este script además
de crear el usuario, crea los directorios necesarios y lo habilita
únicamente para acceder al sistema a través de SFTP.
El script es el siguiente:
#!/bin/bash
echo "Introduzca el login deseado: ";
read user;
pass=`makepasswd --chars=6 -string=abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`
;
salt=`makepasswd --chars=2 -string=abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`
;
200
encrypt=`perl -e 'print crypt('$pass', '$salt'),"\n"'`;
mkdir /home/usuarios/$user;
mkdir /home/usuarios/$user/datos;
mkdir /home/usuarios/$user/public_html;
useradd -d /home/usuarios/$user -p $encrypt -s /bin/false g usuarios $user;
chown $user:usuarios /home/usuarios/$user/datos;
chown $user:usuarios /home/usuarios/$user/public_html;
echo "La contraseña para el usuaior: $user es $pass";
echo $user $pass >> user.txt
perl -e 'print
crypt("'"$pass"'","\$'5'\$'aaaaaaaaaaaaaaaa'"), "\n"' >>
encrypt
Para ejecutar el script, deberemos ser usuarios administradores del
sistema y ejecutar el script con el comando:
juan@UbuntuS:~/scripts$ sudo ./adduser.sh
El script nos solicitará el nombre de usuario que deseamos poner y a
continuación nos mostrará la contraseña que se ha generado
aleatoriamente, además el nombre de usuario y la contraseña se
guardarán en el archivo “users.txt”.
1.3.2 Protección de directorios de Apache
La protección de los directorios de Apache, se va a realizar a través
del módulo “auth_digest”. La autenticación tipo “digest” soluciona el
problema de la transferencia de contraseñas en claro sin necesidad
de usar SSL. El procedimiento, es muy similar al tipo básico pero
201
cambiando algunas de las directivas y usando la utilidad “htdigest” en
lugar de “htpassword” para crear el fichero de contraseñas.
El módulo de autenticación necesario suele venir con Apache pero no
habilitado por defecto. Para habilitarlo se usará el comando:
# a2enmod auth_digest
# /etc/init.d/apache2 restart
Para proteger un directorio con usuario y contraseña para su acceso
vía web, deberemos escribir unas directivas para el “Virtual Host” que
sirve la web. En el siguiente ejemplo se protegerá la parte de
estadísticas web del la página http://csp.isa.cie.uva.es/.
Para ello acudimos al archivo de configuración del Virtual Host:
juan@UbuntuS:~$ cd /etc/apache2/sites-available/
juan@UbuntuS:/etc/apache2/sites-available$ ls
csp
csp-ssl
hycon
default
webmail
default-ssl
webmail-ssl
docenweb
estudiantes
www
En este caso abriremos el archivo “csp” y añadiremos las siguientes
directivas:
<Files "awstats.pl">
AuthType Digest
AuthName "Privado"
AuthUserFile /etc/apache2/autent
Require valid-user
</Files>
202
En este caso concreto se ha protegido un archivo, pero para un
directorio sería similar:
<Directory "/var/www/csp/<Directorio>">
AuthType Digest
AuthName "Privado"
AuthUserFile /etc/apache2/autent
Require valid-user
</Directory>
Para finalizar, sólo nos faltará crear el usuario y la contraseña con los
que se podrá acceder a la parte que definamos, para ello,
ejecutaremos los siguientes comandos:
# htdigest -c /etc/apache2/ Privado info
Adding password for info in realm Privado.
New password:
Re-type new password:
Se ha creado el usuario “info”, a partir de ahora, cada vez que
intentemos acceder a la parte que hemos definido, obtendremos el
siguiente mensaje:
203
1.3.3 Creación certificado SSL para acceso web seguro
SSL proporciona autenticación y privacidad de la información entre
extremos
sobre
Internet
mediante
el
uso
de
criptografía.
Habitualmente, sólo el servidor es autenticado (es decir, se garantiza
su identidad) mientras que el cliente se mantiene sin autenticar.
Por lo tanto, necesitamos tener una web segura para que el
intercambio de contraseñas entre el servidor y el ordenador cliente
estén cifradas y no se transmitan en texto plano.
Un certificado SSL de una entidad certificadora reconocida suele tener
un costo bastante alto, por lo que haremos un certificado autofirmado.
En los siguientes pasos se verá la creación del certificado SSL para la
web del Grupo de Investigación Reconocido Control y Supervisión de
Procesos (https://csp.isa.cie.uva.es/).
1. Nos aseguramos que el módulo SSL en Apache está
habilitado.
sudo a2enmod ssl
2. Copiamos la configuración SSL por defecto “default-ssl” del
Virtual Host y lo llamaremos “csp-ssl”.
root@UbuntuS:/etc/apache2/sites-available#cp default-ssl
csp-ssl
3. Ahora pasaremos a crear el certificado, para ello crearemos
las llaves.
204
root@UbuntuS:/etc/apache2#openssl genrsa -des3 -out csp.key
1024
4. Para que al iniciar Apache no nos solicite contraseña y que
por lo tanto Apache se pueda iniciar automáticamente
deberemos crear un almacén de claves sin contraseña.
root@UbuntuS:/etc/apache2#openssl rsa -in csp.key -out
csp2.key
5. A continuación creamos el certificado con la llave.
root@UbuntuS:/etc/apache2# openssl req -new -key csp2.key out csp.csr
6. Creamos nuestro certificado, contestando a una serie de
preguntas que nos irán saliendo. En este caso vamos a crear
un certificado con una validez de 2 años.
root@UbuntuS:/etc/apache2# openssl x509 -req -days 730 -in
csp.csr -signkey csp2.key -out csp.crt
7. Cambiamos la carpeta de la llave y el certificado.
root@UbuntuS:/etc/apache2# cp csp.crt /etc/ssl/certs/
root@UbuntuS:/etc/apache2# cp csp2.key /etc/ssl/private/
8. Abrimos el archivo que anteriormente habíamos creado,
“csp-ssl” y lo modificamos acorde a la página que va a
servir. Además observamos que el puerto donde va a
escuchar las peticiones va a ser el 443. Una vez modificado,
205
deberemos cambiar o habilitar las directivas y dejarlas como
vemos a continuación.
SSLEngine on
SSLCertificateFile
/etc/ssl/certs/csp.crt
SSLCertificateKeyFile /etc/ssl/private/csp2.key
9. Habilitamos el Nuevo Virtual Host que hemos creado.
root@UbuntuS:/etc/apache2# a2ensite csp-ssl
10.
Para
finalizar,
reiniciamos
Apache
y
ya
queda
perfectamente configurado.
root@UbuntuS:/etc/apache2# /etc/init.d/apache2 restart
1.3.4 Activación y Configuración del Firewall UFW
Uncomplicated Firewall (ufw) es un cortafuegos diseñado para ser de
fácil uso desarrollado por Ubuntu. Utiliza la línea de comandos para
configurar las “iptables” usando un pequeño número de comandos
simples. Ufw está escrito en python y es un programa para
GNU/Linux.

Tabla de órdenes básicas
Función
Comando
Encender el firewall
sudo ufw enable
Apagar el firewall
sudo ufw disable
Muestra el estado
sudo ufw status
Comentario
206
Muestra el estado
detallado
sudo ufw status verbose
Muestra Lista de
Reglas Numerada
sudo ufw status
numbered
Bloquea todo el
tráfico de entrada
sudo ufw default deny
incoming
Esto detendrá por defecto todo el tráfico
entrante desde Internet a menos que se especifique lo
contrario en una regla
Permite todo el
tráfico de entrada
sudo ufw default allow
incoming
Esto permitirá por defecto todo el tráfico entrante a
menos que se especifique lo contrario en una regla
Bloquea todo el
tráfico saliente
sudo ufw default deny
outgoing
Esto detendrá por defecto todo el tráfico saliente hacia
Internet a menos que se especifique lo contrario en
una regla
Permite todo el
tráfico saliente
sudo ufw default default
allow outgoing
Esto permitirá por defecto todo el tráfico saliente hacia
Internet a menos que se especifique lo contrario en
una regla
Bloquea elpuerto 22
sudo ufw deny port 22
Esto detendrá a cualquiera en Internet que intente
conectarse a dispositivos usando el puerto 22
Permite el puerto 22
sudo ufw allow port 22
Esto permitirá a cualquiera en Internet conectarse a
dispositivos usando el puerto 22
Bloquea el puerto 22
solo para una
persona específica
sudo ufw deny from
220.60.90.55 to port 22
Esto detendrá a la dirección IP 220.60.90.55
conectarse a dispositivos usando el puerto 22
Permite el puerto 22
solo para una
persona específica
sudo ufw allow from
220.60.90.55 to port 22
Esto permitirá a la dirección IP 220.60.90.55
conectarse a dispositivos usando el puerto 22
Bloquea el puerto 22
solo para una red
específica
sudo ufw deny from
220.60.90.0/24 to port
22
Esto detendrá a cualquiera usando una dirección IP en
el rango 220.60.90.1 - 220.60.90.254 conectarse a
dispositivos usando el puerto 22
Permite el puerto 22
solo para una red
específica
sudo ufw allow from
220.60.90.0/24 to port
22
Esto permitirá a cualquiera usando una dirección IP en
el rango 220.60.90.1 - 220.60.90.254 conectarse a
dispositivos en el usando el puerto 22
Permite un rango de
puertos TCP
sudo ufw allow
2500:5000/tcp
Esto permitirá a cualquiera en Internet comunicarse a
cualquier puerto en el rango 2500 – 5000.
Elimina un número
de regla
sudo ufw delete 1
Esto borrará la primera regla en la lista de reglas

Configuración realizada en el proyecto
A continuación se van a detallar las instrucciones que se han llevado
a cabo para la instalación y configuración de las diferentes reglas del
cortafuegos para el servidor Ubuntu Server 10.04.
207
1. Instalación de UFW Firewall.
root@UbuntuS:~# aptitude install ufw
2. Iniciar el firewall.
root@UbuntuS:~# ufw enable
3. Establecer la política por defecto de “todo cerrado”. Se ha de
tener el cuenta el orden en el que se van a ingresar las
reglas. Se debe mantener un orden en el que las reglas más
restrictivas se encuentren antes que las permisivas. Si no se
hiciera de esta forma las reglas permisivas quedarían sin
efecto.
root@UbuntuS:~# ufw default deny
4. Activar el registro de conexiones. El archivo log que se
generará se encontrará en la ruta “/var/log”.
root@UbuntuS:~# ufw logging on
5. Denegar la IP 199.187.123.108 y 80.91.80.5 ya que se ha
detectado varios ataques desde estas Ips.
root@UbuntuS:~# ufw deny from 199.187.123.108
root@UbuntuS:~# ufw deny from 80.91.80.5
6. Habilitar la conexión SSH por el puerto 4532 desde cualquier
IP. Salvo las anteriores mencionadas ya que se cumpliría
antes las reglas anteriores que esta regla.
208
root@UbuntuS:~# ufw allow 4532
7. Habilitar la conexión WEB por el puerto 80 y la conexión
WEB Segura por el puerto 443 desde cualquier IP. Salvo las
anteriores mencionadas ya que se cumpliría antes las reglas
anteriores que esta regla.
root@UbuntuS:~# ufw allow 80
root@UbuntuS:~# ufw allow 443
8. Desactivación del protocolo ICMP para intentar hacer que el
servidor sea más invisible y no conteste, por ejemplo, a las
peticiones de PING. Para ello modificaremos el archivo
“/etc/ufw/before.rules”
y
comentaremos
las
siguientes
líneas.
# ok icmp codes
#-A ufw-before-input -p icmp --icmp-type destinationunreachable -j ACCEPT
#-A ufw-before-input -p icmp --icmp-type source-quench -j
ACCEPT
#-A ufw-before-input -p icmp --icmp-type time-exceeded -j
ACCEPT
#-A ufw-before-input -p icmp --icmp-type parameter-problem
-j ACCEPT
#-A ufw-before-input -p icmp --icmp-type echo-request -j
ACCEPT
9. Finalmente, deberemos deshabilitar el cortafuegos y volverlo
a habilitar para que los cambios tomen efecto. Además
comprobaremos cómo han quedado las reglas.
209
root@UbuntuS:~# ufw disable
El cortafuegos está detenido y desactivado en el arranque
del sistema
root@UbuntuS:~# ufw enable
El cortafuegos está activo y habilitado en el arranque del
sistema
root@UbuntuS:~# ufw status verbose
Estado: activo
Acceso: on (low)
Por defecto: deny (Entrada), allow (Salida)
Perfiles nuevos: skip
Hasta
<emph>Acción</emph>Desde
-----
------------------------
Anywhere
DENY IN
199.187.123.108
Anywhere
DENY IN
80.91.80.5
4532
ALLOW IN
Anywhere
80
ALLOW IN
Anywhere
443
ALLOW IN
Anywhere
1.3.5 Restauración de backups de archivos y bases de datos
En este apartado se explicará el proceso para la restauración de los
backups que se realizan a nivel del servidor Ubuntu 10.04. Para una
mayor información de cómo se realizan estos backups y cómo
programarlos, se deberá acudir al apartado 6 del proceso de
implantación de esta memoria. Todos estos backups se realizan
diariamente y se guardan en dos ubicaciones diferentes. La primera,
es localmente en la ruta “/backup” y la segunda es en un servidor
externo NFS, en la dirección “157.88.32.230/BackupWebs”.
210
El proceso de restauración será igual en ambos casos, sólo difiere en
la ruta donde se encuentran los backups.

Restauración de archivos
En este caso, ante un imprevisto que haya conllevado pérdida de
datos, podremos restaurar las páginas webs alojadas en el servidor y
los archivos de los usuarios.
Simplemente deberemos seguir el siguiente proceso:
1. Eliminar los directorios o archivos dañados.
2. Elegir el backup que queremos restaurar (webs alojadas o
archivos de los usuarios) la fecha y la ubicación donde se
encuentra el backup. Normalmente se elegirá el día anterior,
a no ser, que el error o el daño tenga más tiempo, que en
ese caso elegiremos una fecha más antigua. También se
optará por defecto por la ubicación local. Si eligiéramos la
ubicación
del
servidor
NFS,
primeramente
habría
que
montarlo con el comando:
root@UbuntuS:~#mount -o user=copion,password=XXXXXXX
//157.88.32.230/pegaso /mnt/nfs/
NOTA: Se oculta el password por motivos de seguridad.
Con lo cual, montaríamos la unidad NFS en nuestro sistema y la
ruta de los backups sería “/mnt/nfs/BackupWebs”
3. Copiar el archivo comprimido del backup al directorio “/tmp”.
211
4. Descomprimir el archivo.
5. Copiar los directorios o archivos de los que se quiere hacer
la restauración a la ruta donde se encontraban los dañados.

Restauración de bases de datos
Para este caso, y como ocurre en el anterior, ante una pérdida de
datos o eliminación por accidente de una base de datos, también
podremos restaurarla en unos sencillos pasos.
1. Accedemos a phpMyAdmin para manejar las bases de datos. La
URL es: https://csp.isa.cie.uva.es/phpmyadmin/
2. Entramos
en
la
base
de
datos
que
tiene
problemas
y
eliminamos completamente todas sus tablas.
3. Como en el paso 2 del apartado de Restauración de Archivos,
deberemos elegir la fecha y la ubicación donde se guardan los
backups. Este caso difiere en que el archivo que elijamos lo
deberemos descargar en el ordenador cliente a través de SFTP.
4. Una vez descargado en el ordenador cliente lo descomprimimos
y podremos observar tantos archivos como bases de datos se
encuentran en el sistema.
5. Para finalizar la restauración, volvemos a phpMyadmin y
entramos en la base de datos que actualmente estará vacía.
Seleccionamos
la
pestaña
“Importar”
y
a
continuación
seleccionar archivo.
212
Esto nos abrirá un explorador en el ordenador cliente, para
seleccionar la base de datos que hemos descomprimido en el
paso
4.
Finalmente
damos
a
continuar
y
ya
habremos
importado y restaurado correctamente la base de datos.
1.4 Operaciones en Joomla! 1.5
En este apartado describiremos las actuaciones que se deben tener
en cuenta para el correcto funcionamiento de la web del Grupo de
Investigación
Reconocido
Control
y
Supervisión
de
Procesos:
http://csp.isa.cie.uva.es/.
1.4.1 Actualizaciones de seguridad de Joomla 1.5!
Un paso muy necesario en la administración de Joomla! es la de
aplicar las actualizaciones de seguridad que se van sucediendo y que
van mejorando Joomla! en seguridad y posibles fallos.
Lo primero que hay que realizar es una copia de seguridad. Este paso
normalmente ya lo tenemos resulto debido a la política de backups
213
del sistema. De todas formas y para asegurar que los archivos estén
totalmente actualizados, se puede realizar una copia de seguridad
manual, copiando todos los archivos de la web y la base de datos.
Hay que intentar hacer una copia de seguridad cuando procedamos a
hacer cambios importantes en el portal para evitar posibles pérdidas
y descargar esta copia al ordenador cliente.
Una vez realizada la copia y guardada en el ordenador, pasamos a
descargarnos los archivos del repositorio de código de Joomla!: el
Joomla! Code. Enlace al conjunto de descargas de la versión de
Joomla! 1.5:
http://joomlacode.org/gf/project/spanish/frs/?action=FrsReleaseView
&release_id=16897.
Llegados a este punto lo mejor es buscar los ficheros “1.5.x Parche”
que serán los que harán una actualización desde la versión que
tenemos a la nueva versión. Así pues buscaremos en la columna
“Ficheros” aquel que represente el paso de nuestra versión a la
última (no tienen por qué ser consecutivas). Por ejemplo, para
actualizar de la versión 1.5.20 a la 1.5.25 el fichero se llamará:
“Joomla_1.5.20_a_1.5.25-Spanish-Parche_Pack.tar.gz”.
Una vez descargado el paquete de la actualización, pasaremos a
descomprimirlo
en
un
directorio
en
el
ordenador
cliente.
Es
importante hacer la descarga en un directorio concreto porque los
ficheros no están contenidos en un directorio dentro del fichero
comprimido.
El último paso en el proceso de actualización consiste en subir los
ficheros y directorios que acabamos de descomprimir al sitio de
Control y Supervisión de Procesos. Para ello nos conectaremos al
214
mismo con un gestor de SFTP y los subiremos directamente al
directorio
raíz
del
sitio
Joomla!.
Para
este
proceso
es
muy
recomendable el uso un cliente multiplataforma y que realice
conexiones por SFTP como puede ser: Filezilla.
Este último paso es el más crítico de todos puesto que supone la
sobreescritura de los ficheros de la versión de Joomla! por los
ficheros de la nueva versión. No obstante si hemos elegido
correctamente el número de versión y conservamos la copia de
seguridad no tiene por qué haber algún tipo de problema.
Cabe destacar averiguar cuáles son los archivos que se van a
sobrescribir, ya que si hemos realizado alguna modificación en el
código para mejorar la funcionalidad, esta se perderá y por lo tanto,
deberemos volver a hacer las modificaciones de código necesarias.
1.4.2 Crear Usuarios e incluirlos en el componente J!Research
Para hacer el alta manual de un usuario se debe ir al Backend, a la
testaña
“Sitio”
y
en
el
menú
desplegable
que
nos
aparece,
seleccionaremos “Gestor de Usuarios”.
Desde el “Gestor de Usuarios” podemos crear nuevos usuarios o
editar los existentes. Si pulsamos desde ahí el botón “Nuevo”,
entraremos en la página de creación de usuarios, donde deberemos
rellenar los diferentes campos.
Como norma general, todos los usuarios que se incluyan y que
pertenezcan al Grupo de Investigación, deberán tener la categoría de
“Gestor” para que puedan acceder a un Backend limitado y añadir
publicaciones u otras tareas.
215
Una vez creado el usuario en el sistema Joomla! deberemos añadirlo
a la parte de investigación, es decir, al componente J!Research, para
ello en el Backend nos dirigiremos al componete J!Research y
seleccionaremos el icono “Integrantes”.
A continuación, seleccionaremos el icono “Agregar” para visualizar los
usuarios que están registrados en el sistema, pero que todavía falta
agregarlos a la parte de investigación. Lo que hace el componente es
una importación de los usuarios registrados en el sistema y los añade
en la parte del J!Research.
216
Una
vez
que
hemos
añadido
los
usuarios
correspondientes,
pulsaremos en el icono “Guardar” para que los cambios tengan
efecto.
217
2. MANUAL DE USUARIO
2.1 Introducción
Esta sencilla guía está diseñada para el usuario de la web del Grupo
de Investigación Reconocido de Control y Supervisión de Procesos.
Entendemos como usuario, a la persona perteneciente al GIR, que
posee cuenta de usuario y contraseña para realizar las operaciones
básicas y contribuir en el desarrollo de contenidos de la web del GIR.
Así mismo, debemos diferenciar entre dos tipos de usuarios, el
primero es el que disponía de página web personal en el anterior
servidor y que por lo tanto en este seguirá conservando y tendrá
además de acceso web, acceso por SFTP. El segundo tipo de usuario
se limitará al acceso web.
Este manual tiene como objetivo describir los pasos necesarios para
empezar a utilizar los recursos web de los que dispone el usuario.
Pretende ser una guía sencilla para que resulte fácil y eficaz la
utilización de dichos servicios web.
2.2 Páginas web personales. Acceso SFTP
Los usuarios de los que disponen de página web personal en el
servidor,
podrán
visualizar
dicha
página
en
la
URL:
http://www.isa.cie.uva.es/~user/ donde “user” será el usuario que
dispone cada uno.
218
Para subir contenidos al directorio de cada uno, se necesitará un
cliente que soporte el protocolo Secure File Transfer Protocol (SFTP),
en la web hay multitud de clientes que soporten dicho protocolo como
FileZilla (http://filezilla-project.org/).
Una vez descargado e instalado el cliente, procederemos a hacer la
conexión al servidor con los siguientes datos:
Servidor: 157.88.32.217
Puerto: 4532
Usuario: “user”
Contraseña: “pass” (Ha sido proporcionada a cada usuario)
Protocolo: SFTP – SSH File Transfer Protocol
Cuando se produzca la conexión, observaremos que en el directorio
remoto tenemos dos directorios, como se puede observar en la
imagen siguiente:
219
La seguridad del servidor impide escalar directorios, por lo que cada
uno está limitado a visualizar y subir archivos a su propio directorio.
Además, tampoco está permitido subir archivos o crear carpetas en el
directorio de raíz de cada usuario. Para realizar estas tareas se
proporcionan otros dos directorios que se comentan a continuación:
Directorio datos -> Se utilizará para subir archivos o carpetas
personales y que se quiera que queden inaccesibles para el acceso
web.
Directorio public_html -> Aquí se subirán todos los archivos que
pretendan ser accesibles vía web y que se accederán a través de:
http://www.isa.cie.uva.es/~user/
Si se desease cambiar la contraseña de acceso al servidor, se
realizará a través de la web del GIR, en el perfil de usuario, como
veremos en el siguiente apartado.
2.3 Usuario web del GIR
La página a la que se debe acceder para utilizar los servicios web del
grupo de investigación es: http://csp.isa.cie.uva.es/.
En ella lo primero que se puede observar es que el portal es un CMS
llamado Joomla, concretamente la versión 1.5.
Joomla es un sistema gestor de contenidos dinámicos que permite
crear sitios web de alta interactividad, profesionalidad y eficiencia. La
administración de Joomla está enteramente basada en la gestión
online de contenidos.
220
Es la herramienta destinada a crear un portal web con el que darse a
conocer al mundo y poder exponer ahí sus trabajos, investigaciones o
cualquier cosa que consideren de interés.
Debemos diferenciar entre el Back-End y el Front-End. El Back-End es
la
parte
de
la
aplicación
desde
la
cual
administramos
las
publicaciones y otros elementos. El Front-End es la propia página web
que puede ver todo el mundo.
2.3.1 Acceso Front-End
Esta es la parte pública de la web, en la que cualquier usuario sin
necesidad de acceder al sistema puede visualizar todos los contenidos
públicos. Además el usuario podrá acceder al sistema a través del
módulo “Acceso” en el que podrá modificar ciertos parámetros que
veremos a continuación.
221
Además este módulo nos permitirá restablecer nuestra contraseña o
nombre de usuario si se diera el caso de que la persona no lo
recuerda, simplemente introduciendo el correo electrónico con el que
se está dado de alta en el sistema.
Una vez que hayamos accedido al sistema el navegador nos mostrará
un mensaje de advertencia indicándonos que el certificado de
seguridad no es de confianza. Esto quiere decir que la web ha pasado
a cifrar los datos para que todo lo que se intercambie a partir de
ahora como contraseñas u otros elementos se haga de una manera
segura. Como es un certificado que hemos creado y firmado nosotros
mismos, es la razón de que aparezca la advertencia, pero de cara al
usuario es totalmente seguro.
El mensaje de advertencia en el navegador Google Chrome es:
Presionaremos el botón “Continuar de todos modos” para acceder al
sistema. Ahora nos fijaremos en el nuevo menú que ha aparecido una
vez que hemos ingresado en el sistema.
222
En este menú tenemos diferentes enlaces que explicaremos a
continuación. Además en la parte inferior podemos ver el enlace de
“Finalizar sesión” para salir del sistema.
Tu perfil -> Para modificar el nombre completo, email, cambiar
contraseña y las preferencias de idioma, así como la zona horaria del
usuario.
Perfil Extendido -> Este perfil está orientado hacia las opciones de
investigación. En este apartado cabe señalar que se podrá seleccionar
la línea o líneas de investigación, el puesto en el departamento, la
localización, teléfono, página web personal, añadir una foto y una
descripción. Además podremos seleccionar si queremos que nuestro
email se publique en el apartado personal, o que aparezca un enlace
que permita recibir mensajes a través del centro de mensajes de la
web, para así evitar el correo basura. Finalmente, queda la opción
223
“Redirigir a página web personal:”. Si seleccionamos “Sí”, entonces el
enlace que se encuentra en el nombre completo de usuario en la
página “Personal” del menú principal, dirigirá a la web personal del
tipo http://www.isa.cie.uva.es/~user. Si seleccionamos “No” el enlace
dirige a la parte de investigación de la web donde aparecerá un
extracto del usuario con la información que se desee mostrar y
últimas publicaciones, proyectos de investigación y tesis. En la
siguiente imagen se muestra el enlace al que nos estamos refiriendo.
Enviar noticia -> Permite publicar un artículo en el apartado noticias
de la web. Se deberán ir rellenando los distintos formularios,
prestando
especial
atención
en
la
sección
y
categoría
donde
deseemos publicar la noticia.
Publicar Software -> Se podrá publicar programas que sean
resultado de un proyecto fin de carrera, de una tesis o de un proyecto
de investigación. Los formularios que se deben rellenar son similares
a los del anterior apartado y hay un enlace que permite añadir un
adjunto para subir el programa al servidor.
224
Crear Evento -> En este apartado se permite publicar eventos para
que posteriormente se muestren tanto en el calendario de los eventos
como en el módulo próximos eventos que se encuentran en la
columna de la derecha de la web. Para añadir un evento, tendremos
que ir al día en el que se inicia el evento y pinchar en el icono de
añadir evento como se muestra a continuación.
En la página que se abre, deberemos ir rellenando los campos como
los de asunto, las fechas y las horas tanto las de inicio como fin, una
descripción del evento y si este se repite.
Admin JResearch ->
Con este enlace pasaremos a la parte
administrativa de la web o Back-End que nos permitirá añadir o editar
nuevos contenidos que estén relacionados con la investigación como
las publicaciones, tesis, proyectos de investigación y fin de carrera.
Este punto se verá con más detalle en el siguiente apartado. El enlace
se puede escribir directamente en el navegador, pero se ha añadido
en el menú de usuario para facilitar su acceso. El enlace es:
https://csp.isa.cie.uva.es/administrator/index.php?token=4532.
Por
motivos de seguridad se ha modificado la dirección por defecto que
provee Joomla para acceder a la parte de administración, añadiendo
la llave “token=4532”.
Manual de Usuario -> Enlace directo para la consulta de este
manual.
225
CENTRO DE MENSAJES
Para finalizar el apartado de Front-End del manual, cabe destacar que
en la columna derecha de la web, también ha aparecido un nuevo
bloque cuando hemos ingresado en el sistema.
El Centro de Mensajes nos permite la comunicación interna entre los
usuarios
de
la
web
y
entre
usuarios
externos
al
grupo
de
investigación que hayan dejado un mensaje a través de la función de
“Enviar Mensaje” de la web, protegiendo así la dirección de correo
electrónico de mensajes basura. Además, cuando el sistema reciba un
mensaje de este tipo, se enviará un correo electrónico al usuario
implicado para que inmediatamente conozca que ha recibido un
mensaje en la web.
En el apartado “Configuración” se podrá definir las notificaciones que
deseemos recibir en el correo electrónico, así como si se desea recibir
mensajes de usuarios externos a la web.
226
2.3.2 Acceso Back-End
Para acceder al Back-End de Joomla, tenemos dos opciones, la
primera es acceder a través del enlace comentado en el apartado
anterior “Admin JResearch” o escribir directamente en el navegador:
https://csp.isa.cie.uva.es/administrator/?token=4532.
En ambos casos llegaremos a la pantalla de ingreso del Back-End de
Joomla:
En esta página se introducen los mismos datos de acceso que para la
parte del Front-End y accederemos al menú principal:
227
En este menú tenemos todas las opciones de la parte de investigación
de la web, se procederá a detallar cada una.
Publicaciones -> Con este enlace se podrán añadir y modificar las
publicaciones que se muestran en la web. Existen varios filtros que
nos permiten ordenar los resultados por autor, año, tipo de
publicación, área de investigación. Cuando añadimos una publicación,
lo primero que nos solicitará la web es qué tipo de publicación va a
ser y después, dependiendo del tipo, se deberán rellenar los distintos
campos.
Proyectos de I+D -> Este apartado es similar al anterior, en el que
se podrán añadir y modificar los proyectos de investigación y
desarrollo que se pueden visualizar en la web. Como en el anterior,
disponemos de varios filtros para organizar el contenido y un botón
para agregar un nuevo proyecto de investigación. También se
deberán rellenar los distintos campos que completen la información
del proyecto.
Tesis y PFC -> Esta opción permite hacer las modificaciones a las
tesis y proyectos fin de carrera que están finalizados, en progreso, o
incluso ofertados, además de poder añadir nuevos elementos.
También tenemos opciones de filtrado para seleccionar el contenido
que deseemos y poder acceder más rápidamente a la tesis o proyecto
que necesitemos modificar. Así mismo, el botón agregar nos permite
añadir tanto una tesis como un proyecto, pero deberemos ser
cuidadosos en el campo “Grado”, en el que se seleccionamos el tipo
de documento:

Pregrado->Proyecto Fin de Carrera

Postgrado->Proyectos de Máster

Postgrado->Tesis Doctorales
228
Cooperaciones -> Este menú permite añadir y modificar las
cooperaciones externas que disponen los proyectos de investigación.
Fuentes de Financiación -> Se dispone de una lista de entidades
que dan soporte económico a los proyectos de investigación. Esta
lista se puede modificar o ampliar con nuevas entidades.
Equipos -> Sirve para agrupar usuarios en equipos a la hora de la
realización de un proyecto de investigación.
229
V.
BIBLIOGRAFÍA
230
LIBROS
Charte Ojeda, Francisco. “PHP 5. Guía práctica para usuarios”. Anaya
Multimedia, 2005.
Gutierrez Gallardo, Juan Diego. “MySQL 5.1 Guía Práctica”. Anaya
Multimedia, 2009.
Lowe, Scott. “Mastering VMware vSphere 5”. Sybex, 2011.
Mateos Barrado, Juan Félix. “Joomla! 1.5.X (Guía Práctica)”. Anaya
Multimedia, 2008.
Rankin, Kyle & Hill, Benjamin. “The Official Ubuntu Server Book (2nd
Edition)”. Prentice Hall, 2010.
VV.AA. “Joomla!. Crea y Administra tu Sitio Web”. Pearson Eduación,
2009.
RECURSOS DIGITALES
El Blog de la Virtualización y del Cloud Computing en Español, [Web
en línea]. http://www.josemariagonzalez.es/
[Fecha de consulta: 10-09-2011]
MySQL, [Web en línea]. http://www.mysql.com/
[Fecha de consulta: 17-01-2012]
231
OpenSSH, [Web en línea]. http://www.openssh.org/
[Fecha de consulta: 10-01-2012]
Página
Oficial
phpMyAdmin,
[Web
en
línea].
http://www.phpmyadmin.net
[Fecha de consulta: 27-02-2012]
Página Oficial de Ubuntu, [Web en línea]. http://www.ubuntu.com/
[Fecha de consulta: 08-01-2012]
Página Oficial de Vmware, [Web en línea]. http://www.vmware.com/
[Fecha de consulta: 14-09-2011]
PHP 5, [Web en línea]. http://www.php.net/
[Fecha de consulta: 21-01-2012]
Servidor Web Apache, [Web en línea].
http://www.apache.org/
[Fecha de consulta: 15-04-2012]
Wiki
de
documentación
de
ubuntu-es.org,
[Web
en
línea].
http://doc.ubuntu-es.org/
[Fecha de consulta: 9-01-2012]
232
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertising