Manual Para la instalacion de SWB 4.2.3.0 y superior en Amazon Web Services

Anuncio
Instalación de
SemanticWebBuilder
4AWSCloud
CURSO:
Especiales
CREACIÓN Y
ADMINISTRACIÓN
DE PAGINAS WEB
Instalación de
SemanticWebBuilder AWS
Cloud
Curso:
Manuales especiales
Fondo de Información y
Documentación para la Industria
Av. San Fernando #37
Col. Toriello Guerra Del. Tlalpan
México DF
El Copyright y las Marcas registradas INFOTEC WebBuilder, SemanticWebBuilder, el personaje
Semius y demás logotipos, emblemas y características distintivas, así como elementos
relacionados son propiedad de INFOTEC Fondo de Información y Documentación para la
Industria, Centro de Investigación CONACYT.
Reservados todos los derechos. Queda estrictamente prohibido bajo las sanciones establecidas
en las leyes, la reproducción parcial o total de esta obra por cualquier medio o procedimiento de
alquiler o préstamos públicos de ejemplares de la misma, sin la autorización escrita de INFOTEC
Fondo de Información y Documentación para la Industria, Centro de Investigación CONACYT.
Instalación de SemanticWebBuilder 4 AWS Cloud
Prologo
SemanticWebBuilder (SWB) es una plataforma tecnológica desarrollada en INFOTEC, un Centro
de Investigación y Desarrollo Tecnológico del CONACYT, por lo que es un producto hecho en
México y por mexicanos que tiene como propósito principal el brindar los elementos y utilerías
necesarias para permitir una construcción rápida y simple de Sitios y Portales Web Semánticos,
así como desarrollo de aplicaciones con características semánticas.
La idea principal de aplicar Semántica a los Sitios y Portales Web o mejor dicho incorporarle
Semántica a Internet, es permitir que la información pueda ser definida con un significado
específico, de forma que conforme se le van incorporando descripciones y propiedades a cada
elemento de información este pueda tener más aspectos que lo distingan de los demás y lo
puedan identificar mejor, logrando con ello que pueda ser fácilmente consultado, interpretado y
procesado ya sea por personas o incluso por otras aplicaciones y sistemas, es decir por
maquinas.
Esta característica de la semántica que hace que la información tenga un mayor significado y en
consecuencia sea fácilmente consultada por personas o sistemas, implica que el intercambio e
integración de información sea de forma más natural sin importar el lugar físico donde se
encuentre la información o la forma en que haya sido procesada originalmente.
Esto implica que podremos realizar una consulta de información y la respuesta será más
completa y adecuada a nuestro criterio de búsqueda, pues la fuente de consulta podrá ser leída,
interpretada e integrada a partir de la información publicada por diferentes organizaciones, a
múltiples niveles técnicos y/o humanos, permitiendo con ello obtener información más completa
y adecuada a los requerimientos específicos de cada usuario en la red.
Fecha de Elaboración: Enero 2013.
INFOTEC CONACYT FIDEICOMISO.
i
Instalación de SemanticWebBuilder 4 AWS Cloud
Fecha de Elaboración: Enero 2013.
INFOTEC CONACYT FIDEICOMISO.
ii
Instalación de SemanticWebBuilder 4 AWS Cloud
Índice de Contenidos
Prologo .......................................................................................................................................... i
Índice de Contenidos ................................................................................................................... iii
Acerca de este manual ................................................................................................................ iv
Objetivos...................................................................................................................................... iv
Convenciones usadas en este manual ......................................................................................... v
Calibri 14 color Azul Énfasis Negrita, es utilizada para los títulos de tema ................................... vi
Calibri 12 color Azul Énfasis 1 negrita ...................................................................................... vi
Comenzando a trabajar… ........................................................................................................... vii
Instalación de SemanticWebBuilder 4 AWS® Cloud ..................................................................... 1
SemanticWebBuilder 4 AWS® Cloud ........................................................................................ 1
Arquitectura de SWB4Cloud...................................................................................................... 1
Instalación de la instancia de Administración ............................................................................ 3
Configuración de la consola Amazon EC2 (Elastic Compute Cloud) ............................................. 4
Security Groups ........................................................................................................................ 5
SG01 ......................................................................................................................................... 6
SG02 ......................................................................................................................................... 6
SG03 ......................................................................................................................................... 6
KeyPair ..................................................................................................................................... 7
Instance .................................................................................................................................... 8
Configurando la instancia ........................................................................................................... 15
Requerimientos Previos .......................................................................................................... 15
Configurando la Base de datos ............................................................................................... 16
Configurando el servidor de aplicaciones (Tomcat) ................................................................. 18
Configurando el NFS ............................................................................................................... 20
Configurando la base de datos de SWB .................................................................................. 21
Configurando el ambiente de SWB ......................................................................................... 22
Fecha de Elaboración: Enero 2013.
INFOTEC CONACYT FIDEICOMISO.
iii
Instalación de SemanticWebBuilder 4 AWS Cloud
Acerca de este manual
Este manual fue realizado con el objetivo de explicar el conocimiento mínimo necesario para
realizar correctamente la instalación de SemanticWebBuilder4 AWS Cloud en una infraestructura
de Amazon Web Services (AWS)
Indicándole además los pasos necesarios para configurar una instancia en AWS y aprovechar la
capacidad de SWB para poder desplegarse en ambientes en cluster y balanceo de cargas
Objetivos
General:
Al finalizar el curso el alumno usará una instancia de SWB en la nube con la infraestructura de
Amazon Web Services (AWS) y podrá lanzar instancia espejo
Específicos:
Al finalizar el tema de Instalación de SemanticWebBuilder4AWSCloud el alumno será capaz de
construir y adecuar ambientes en cluster y balanceo, así como administrarlos
Fecha de Elaboración: Enero 2013.
INFOTEC CONACYT FIDEICOMISO.
iv
Instalación de SemanticWebBuilder 4 AWS Cloud
Convenciones usadas en este manual
Las siguientes convenciones son utilizadas en este manual para representar diferentes
elementos de capacitación y recursos alternativos de aprendizaje:
Iconos
Sabías Que – Indica comentarios al margen en los que se
extenderá el tema expuesto mediante recomendaciones o tips que
mejoren el aprovechamiento de la herramienta
Consideraciones Importantes – Exponen puntos importantes que
deben tenerse en cuenta para la correcta operación de las utilerías.
Nota – Indica Información adicional que puede ayudarle a
aprovechar mejor la funcionalidad expuesta.
Referencia – Indica la necesidad de consultar otro documento o
dirección Web en donde se encontrará mayor información sobre el
tema expuesto.
Procedimiento Guiado – Indica que se comenzara la descripción
paso a paso de la operación de un proceso.
Ejercicio Guiado – A partir de este punto se comenzará la
ejecución de un ejercicio que deberá realizar el usuario de manera
guiada paso a paso con el manual.
Resultado – Expone el efecto final correcto de una operación o
procedimiento.
Diagnostico – Por características de la tecnología involucrada, se
generan resultados no deseados. Aquí se indicara como resolverlo.
Improcedente – Indica situaciones tecnológicas en las que no es
posible realizar una operación o que requiere de algún proceso
alterno para obtener el resultado deseado.
Cuidado – Indica que existe alguna información restringida o con
derechos reservados.
Fecha de Elaboración: Enero 2013.
INFOTEC CONACYT FIDEICOMISO.
v
Instalación de SemanticWebBuilder 4 AWS Cloud
Convenciones Tipográficas
Arial 26 Negrita, es utilizada como título de tema
Calibri 14 color Azul Énfasis Negrita, es utilizada para los títulos de tema
Calibri 12 color Azul Énfasis 1 negrita, es utilizada para destacar subtemas
Arial 11, es utilizada como fuente principal para el cuerpo del texto
<Times New Roman 11> es utilizada para descripción de configuraciones o código
Arial 10 negrita color azul con recuadro y sombreado azul indica temas a resaltar y/o
puntos importante en los que el lector debe prestar especial atención
Arial 10 en color azul con recuadro azul y sombreado azul, se utiliza para denotar puntos
importantes en los que el lector debe prestar atención especial
Fecha de Elaboración: Enero 2013.
INFOTEC CONACYT FIDEICOMISO.
vi
Instalación de SemanticWebBuilder 4 AWS Cloud
Comenzando a trabajar…
Instalación de SemanticWebBuilder 4 AWS Cloud
Fecha de Elaboración: Enero 2013.
INFOTEC CONACYT FIDEICOMISO.
vii
Instalación de SemanticWebBuilder 4 AWS Cloud
Instalación de SemanticWebBuilder 4 AWS® Cloud
SemanticWebBuilder 4 AWS® Cloud
Uno de los principales beneficios del cómputo en la nube consiste en la oportunidad de
reemplazar los gastos iniciales en infraestructura con un bajo costo variable que escala según el
negocio lo necesite, ya que rápidamente es posible utilizar cientos de servidores en minutos
entregando resultados inmediatos.
Amazon Web Services (AWS) provee una infraestructura con centros de datos en los Estados
Unidos, Brasil, Singapur, Japón y Australia; cuenta con una interface de servicios REST
mediante la cual es posible escalar horizontalmente.
Tras el auge del internet “social”, es posible que la demanda de un sitio pase de unas decenas a
unos miles de visitantes en cuestión de un par de horas y que tras otro par de horas regrese a su
nivel de tráfico usual.
SemanticWebBuilder (SWB) es una suite de productos que sirven como plataforma para el
desarrollo de portales, estos portales deberían poder beneficiarse de contar con la posibilidad de
crecer en capacidad de atención de manera dinámica según el negocio lo requiera; por lo que se
desarrolló una extensión conocida como SWB4Cloud que permite el despliegue de un portal
construido con SWB en la infraestructura de AWS que pueda moverse de manera dinámica
según la carga existente en el sitio.
El presente documento contiene los pasos necesarios para configurar un portal en
AWS.
Arquitectura de SWB4Cloud
El SWB4Cloud aprovecha la capacidad de SWB para poder desplegarse en ambientes en cluster
y balanceo de cargas por lo que requiere de al menos lanzar dos instancias en su configuración
mínima.
La primer instancia se encargará del servicio de administración del portal, proveer de los
servicios de Base de datos (estos se pueden configurar en una instancia por separado o en un
Amazon RDS), los archivos estáticos (estos se podrán entregar por las instancias o por el
servicio de Global Content Delivery Network de Amazon: Cloud Front), y el software necesario
para realizar el lanzamiento de instancias adicionales.
La segunda instancia se encargará de entregar el contenido del portal a los visitantes, este es
lanzado por la instancia de administración desde la consola de SWB y según la configuración y
demanda SWB lanzará tantas instancias como sean necesarias y a su tiempo, dará de baja las
instancias necesarias según se requiera.
Fecha de Elaboración: Enero 2013.
INFOTEC CONACYT FIDEICOMISO.
1
Instalación de SemanticWebBuilder 4 AWS Cloud
El diagrama anterior ilustra los servicios y las conexiones que existen en un despliegue típico de
SWB4Cloud, a continuación se describirá la función de cada parte:
 LB01: Elastic Load Balancing. En este punto es donde se reciben las peticiones de los
visitantes, el DNS del portal deberá apuntar a esta IP, es recomendable que el DNS se hospede
en Amazon Route 53 para poder tener el dominio raíz apuntando al portal. Aquí se realiza un
NAT del puerto 80 al puerto 8080 en donde corren los servicios y un balanceo entre las
instancias iniciadas.
 SG01: Security Group 01. Este grupo contiene las políticas de acceso a los clientes desde
internet, y desde el LB01, por lo que requiere el puerto 8080 a ANY.
 SG02: Security Group 02. Este grupo representa a la red interna, contiene políticas para NFS,
acceso a base de datos y sincronización de instancias entre SWB.
 SG03: Security Group 03. Este grupo contiene las políticas de acceso a la administración de
SWB
 MySQL data: Servicio de Base de datos instalado sobre la instancia de administración.
 work/models: Ruta que será compartida vía NFS a los servidores cliente en donde encontrarán
el contenido estático necesario para operar el portal.
Fecha de Elaboración: Enero 2013.
INFOTEC CONACYT FIDEICOMISO.
2
Instalación de SemanticWebBuilder 4 AWS Cloud
 Software: Repositorio compartido vía NFS a los servidores cliente en donde encontrarán un
tar.gz con el servidor de aplicaciones (Apache Tomcat) que se instalará en los clientes, un
swb.war que será desplegado en los clientes (debe ser la misma versión instalada en la
administración) y un archivo config.jar que tendrá los archivos pre-configurados con los
parámetros de la instancia, así como bibliotecas y archivos que no formen parte de SWB pero
que sean necesarios para el portal desplegado.
Instalación de la instancia de Administración
Procedimiento
1. Diríjase a la ruta http://aws.amazon.com y hacer clic en el botón “Inscríbase”
2. Llenar todos los datos requeridos en la inscripción
3. Tras registrarse y validar la cuenta la gestión de la misma se mostrará así:
4. En el menú “Cuenta / Consola” diríjase a la opción del menú “AWS Management
Console”.
5. Estando en el manejador de consola de AWS diríjase a la opción “EC2 (Virtual Servers in
the Cloud)”
Fecha de Elaboración: Enero 2013.
INFOTEC CONACYT FIDEICOMISO.
3
Instalación de SemanticWebBuilder 4 AWS Cloud
6. Tras realizar estos pasos la consola de Amazon EC2 se ve así:
Configuración de la consola Amazon EC2 (Elastic Compute Cloud)
Amazon Elastic Compute Cloud (Amazon EC2), es un servicio web que ofrece Amazon para
alojar servidores en centros de datos, que se utilizan para construir y alojar sus sistemas de
software
Las configuraciones que se tiene que realizar son las siguientes:
Fecha de Elaboración: Enero 2013.
INFOTEC CONACYT FIDEICOMISO.
4
Instalación de SemanticWebBuilder 4 AWS Cloud
Security Groups
Lo primero que se debe de configurar son los grupos de seguridad, inicialmente se cuenta con el
grupo default, este permite todo el tráfico entre miembros del mismo grupo.
Procedimiento
1. Entrar a la sección “NETWORK & SECURITY”, seleccionar “Security Groups”
2. Elegir “Create Security Group”.
3. Se mostrará la pantalla para capturar el nombre y la descripción del grupo de seguridad;
posteriormente se podrán agregar las reglas que pertenecen a este grupo de seguridad.
Fecha de Elaboración: Enero 2013.
INFOTEC CONACYT FIDEICOMISO.
5
Instalación de SemanticWebBuilder 4 AWS Cloud
4. Se deberán generar los tres grupos con al menos los siguientes permisos:
SG01
Acceso Público - Clientes
Puerto
Fuente
Protocolo
8080
0.0.0.0/0
TCP
Puerto
111
Fuente
Mismo grupo de seguridad
Protocolo
TCP
2049
Mismo grupo de seguridad
TCP
3306
Mismo grupo de seguridad
TCP
111
1500
Mismo grupo de seguridad
Mismo grupo de seguridad
UDP
UDP
32806
Mismo grupo de seguridad
UDP
SG02
Comunicación Interna
SG03
Acceso Público – Administración
Puerto
Fuente
Protocolo
80
0.0.0.0/0
TCP
443
22
Red de administración
TCP
Máquina del operador
TCP
Para más información sobre descripción y configuración de Grupos de Seguridad,
dirigirse a la siguiente ruta:
http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/using-networksecurity.html
Fecha de Elaboración: Enero 2013.
INFOTEC CONACYT FIDEICOMISO.
6
Instalación de SemanticWebBuilder 4 AWS Cloud
KeyPair
También se deberá generar un KeyPair, este servirá de método de autenticación para poder
entrar a cualquier instancia vía SSH
Procedimiento
1. Entrar a la sección “NETWORK & SECURITY”, seleccionar “KeyPairs“
2. Elegir el botón Create KeyPair
3. El sistema preguntará por un nombre para el juego de llaves, generará las llaves y
enviará la llave privada por una descarga del navegador.
El archivo se deberá proteger para que sólo pueda ser leído por el usuario dueño
del mismo, en *nix se puede usar la siguiente instrucción:
chmod 400 portalKey.pem
Fecha de Elaboración: Enero 2013.
INFOTEC CONACYT FIDEICOMISO.
7
Instalación de SemanticWebBuilder 4 AWS Cloud
Para más información sobre descripción y configuración de Juegos de llaves,
dirigirse a la siguiente ruta:
http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/usingcredentials.html#using-credentials-keypair
Instance
Contando ya con el par de llaves y los grupos de seguridad procedemos a lanzar una instancia.
Procedimiento
1. Entrar a la sección “NETWORK & SECURITY”, seleccionar “INSTANCES”.
2. Elegir el botón Launch Instance
3. Se desplegará el asistente para una nueva instancia, para configurar las opciones
necesarias usaremos el asistente clásico.
Fecha de Elaboración: Enero 2013.
INFOTEC CONACYT FIDEICOMISO.
8
Instalación de SemanticWebBuilder 4 AWS Cloud
4. El siguiente paso solicita elegir la Amazon Machine Image (AMI);
5. A continuación se elige el número de instancias a iniciar, por ser el administrador
elegimos 1 instancia y tendremos que elegir el tamaño del hardware. Es importante
considerar que en esta instancia se tendrá la base de datos, los archivos compartidos y la
instancia de administración y que al administrador se le deberá asignar la memoria que
corresponda al tamaño del sitio o sitios a publicar.
SWB4Cloud fue diseñado y probado usando la AMI de Amazon Linux y las
instancias clientes se lanzarán usando alguna versión de 64 bits de esta AMI.
6. Tendremos que elegir la zona, dentro de la región en la que estamos creando la instancia
en la cual tendremos nuestro grupo de instancias. Tanto el administrador como las
instancias cliente deberán estar en la misma zona.
Fecha de Elaboración: Enero 2013.
INFOTEC CONACYT FIDEICOMISO.
9
Instalación de SemanticWebBuilder 4 AWS Cloud
7. Posteriormente se tiene la configuración del kernel y comportamientos de la instancia,
recomendamos usar el Kernel y RAM Disk por defecto y activar la protección contra la
terminación accidental, así se evitará que por accidente se termine esta instancia, lo que
liberaría los recursos y por lo que se podría perder la información almacenada en esta
instancia.
8. Ahora corresponde configurar el almacenamiento, la instancia deberá contar con un
dispositivo Root en donde se colocará el Sistema Operativo, aunque este cuenta con
alrededor de 5GB de espacio disponible, se recomienda crear un segundo volumen de
datos.
Este volumen adicional deberá tener espacio suficiente para el Tomcat, la base de
datos, el software de instalación y los contenidos estáticos; también se deberá
considerar contar con espacio suficiente para crecer durante la vida del portal.
9. Es posible iniciar con una instancia con poca infraestructura, y pensar en un futuro
crecerla en caso de que el administrador se vuelva un cuello de botella en el
procesamiento del portal; para lograr lo anterior es recomendable iniciar con un buen
espacio en este volumen y desactivar la opción Delete on Termination, de esta manera
este volumen se podrá cambiar a otra instancia en el momento en que se crezca.
Fecha de Elaboración: Enero 2013.
INFOTEC CONACYT FIDEICOMISO.
10
Instalación de SemanticWebBuilder 4 AWS Cloud
10. Contando con nuestros volúmenes, uno para Sistema operativo y otro para los datos
podemos continuar al siguiente paso.
11. Los Tags sirven para poder marcar nuestras instancias y saber para que se usa cada una
de ellas, SWB4Cloud marcará como type swbClient las instancias que lance y se
recomienda colocar estos marcadores a la instancia de administración.
12. El siguiente paso consiste en elegir con que par de llaves se realizará la autenticación al
sistema operativo de la instancia de administración que estamos creando.
13. Por último se seleccionan los grupos de seguridad que corresponden a la instancia de
administración, que de acuerdo a la arquitectura ya comentada corresponden al grupo de
administración y al grupo de tráfico interno.
Fecha de Elaboración: Enero 2013.
INFOTEC CONACYT FIDEICOMISO.
11
Instalación de SemanticWebBuilder 4 AWS Cloud
14. Ya teniendo esta información lista podemos proceder a lanzar la imagen.
15. Con la Instancia iniciada será necesario asociarle una IP Elástica, esta se obtiene en el
botón Allocate New Address de la sección Elastic IPs
Fecha de Elaboración: Enero 2013.
INFOTEC CONACYT FIDEICOMISO.
12
Instalación de SemanticWebBuilder 4 AWS Cloud
16. Ya que tenemos la IP asignada, se deberá asociar a la instancia eligiendo Associate del
menú contextual (click derecho) de la IP que se nos asignó
17. Entonces se elige la instancia que corresponde al administrador
Es necesario realizar esta asociación para poder contar con una IP que no
cambiará entre reinicios de la instancia de administración, para que así los
clientes puedan ubicar la base, los NFSs y la comunicación de sincronización.
18. También será necesario generar un balanceador de cargas, este servirá para distribuir
las peticiones entre las instancias cliente que se levanten.
19. Al elegir Create Load Balancer en la sección Load Balancers tendremos una pantalla
similar a la siguiente:
Fecha de Elaboración: Enero 2013.
INFOTEC CONACYT FIDEICOMISO.
13
Instalación de SemanticWebBuilder 4 AWS Cloud
20. Habrá que asignarle un nombre y configurar que los puertos sean 80 contra 8080 en
HTTP quitando la regla que tiene por defecto (80-80) y generando una con estos
parámetros. En la siguiente ventana se configura el chequeo de salud.
21. Cambiar el Ping Path a la ruta /ping que es parte del sistema de monitoreo de SWB para
que el balanceador pueda saber cuando una instancia está disponible para recibir
peticiones.
22. No se asociarán al momento instancias a este balanceador, pero si se recomienda elegir
la misma zona para colocarlo, para lo que se puede agregar la instancia del
administrador al balanceo y retirarla una vez creado.
23. Una vez creado será necesario cambiar el modo de fijación del balanceo, esto se hace
dando click a la liga (edit) en la seccion “Port Configuration” de la información del
balanceador:
24. Elegir Enable Application Generated Cookie Stickiness y como Cookie Name se le
proporcionará el valor JSESSIONID que es el nombre por defecto de la galleta de sesión.
Fecha de Elaboración: Enero 2013.
INFOTEC CONACYT FIDEICOMISO.
14
Instalación de SemanticWebBuilder 4 AWS Cloud
Configurando la instancia
Una vez que la instancia arranca, hay que configurarla, para lo cual será necesario conectarnos
vía ssh al servidor con la siguiente instrucción o con algún cliente ssh que pueda usar archivos
de llave como método de autenticación:
ssh –i rutaAlArchivoDeLaLlave.pem ec2-user@dnsPublicoDeLaInstancia
Ejemplo:
ec2-user@ec2-54-245-2-255.us-west-2.compute.amazonaws.com
Requerimientos Previos
Para la creación de una instancia de SWB4Cloud se utilizarán las siguientes versiones.










OpenJDK 7
MySQL 5.5
swb.war 4.2.3.0 (en adelante)
SWBAWSSupport.jar
aws-java-sdk-1.3.22.jar
commons-codec-1.3.jar
commons-logging-1.1.1.jar
dnsjava-2.1.3.jar
httpclient-4.1.1.jar
httpcore-4.1.jar
Fecha de Elaboración: Enero 2013.
INFOTEC CONACYT FIDEICOMISO.
15
Instalación de SemanticWebBuilder 4 AWS Cloud
…Procedimiento
1. Es conveniente realizar una actualización de los paquetes en la imagen y de instalar la
nueva versión del OpenJDK así como de MySQL mediante las siguientes instrucciones:
sudo yum update -y
sudo yum erase java-1.6.0-openjdk -y
sudo yum install nfs-utils rpcbind -y
sudo yum install java-1.7.0-openjdk-devel -y
sudo yum install mysql55-server –y
2. Las instrucciones anteriores actualizan todos los paquetes instalados, borran el JDK6
(que se distribuye como parte de la AMI), se asegura de tener instalado lo necesario para
ser el servidor de NFS, instala el OpenJDK 7 y el MySQL 5.5
3. Ahora corresponde preparar la unidad de almacenamiento de datos que agregamos
durante la instalación, en cuyo proceso se indicó que estaría ligada a la máquina por la
ruta /dev/sdf, si en su lanzamiento se usó otra ruta deberá ajustar las siguientes
instrucciones según se requiera:
sudo mkfs -t ext3 /dev/sdf
sudo mkdir /swb
sudo mount /dev/sdf /swb
sudo mkdir /swb/datos
sudo mkdir /swb/portal
sudo mkdir /swb/software
4. Así creamos un FS tipo ext3 en el disco /dev/sdf, y lo montamos como el fileSystem /swb
en donde creamos subdirectorios para los datos, el portal y el software que servirá para
ajustar las instancias cliente de este despliegue.
Configurando la Base de datos
La configuración por defecto es suficiente para la mayoría de los portales construidos en SWB,
esta configuración sólo especifica lo necesario para colocar los archivos de datos de la base en
el Volumen EBS que se creó al iniciar la instancia.
Fecha de Elaboración: Enero 2013.
INFOTEC CONACYT FIDEICOMISO.
16
Instalación de SemanticWebBuilder 4 AWS Cloud
…Procedimiento
1. El archivo de configuración se encuentra en “ /etc/my.cnf “ y se tendrá que cambiar el
valor de la variable datadir para que apunte al directorio que creamos dentro del volumen
EBS, es decir “ /swb/datos/mysql “ el cual quedaría como se muestra:
[mysqld]
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under different user or group,
# customize your systemd unit file for mysqld according to the
# instructions in http://fedoraproject.org/wiki/Systemd
datadir=/swb/datos/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
2. Para configurar a MySQL a fin de que se inicie cada vez que se reinicia el sistema se
aplica la siguiente instrucción:
sudo chkconfig --level 2345 mysqld on
3. Para levantar por primera vez la instancia se deberá usar la instrucción:
sudo service mysqld start
4. Al ser una nueva instalación se recomienda correr el script de la instrucción siguiente
para asegurar y cambiar la contraseña del usuario root de la base:
sudo /usr/bin/mysql_secure_installation
5. Después se deberá crear la base de datos, en este caso la llamaremos swb y para
crearla usaremos la instrucción:
/usr/bin/mysqladmin --user root -p create swb
6. Para generar el usuario será necesario conectarse a la base de datos con la instrucción:
Fecha de Elaboración: Enero 2013.
INFOTEC CONACYT FIDEICOMISO.
17
Instalación de SemanticWebBuilder 4 AWS Cloud
/usr/bin/mysql --user root -p
7. Estando en la base crear al usuario swb, asignarle una contraseña, en este ejemplo es la
palabra password y asignarle todos los permisos sobre la base swb que creamos
anteriormente:
CREATE USER 'swb'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON swb.* TO 'swb'@'%' WITH GRANT OPTION;
Configurando el servidor de aplicaciones (Tomcat)
Para iniciar la instalación del servidor de aplicaciones (Tomcat) y de SWB tendremos que
colocarlos en esta instancia,
1. Para esto podemos descargar o copiar ambos archivos al directorio /swb/software el
cual le deberá pertenecer al usuario de la AMI que es ec2-user, la pertenencia de los
directorios se puede cambiar mediante las instrucciones:
cd /swb
sudo chown ec2-user:ec2-user software
sudo chown ec2-user:ec2-user portal
2. Para colocar archivos se puede usar scp como se muestra en el siguiente ejemplo:
scp -i ~/portalKey.pem swb.war ec2-user@ec2-54-245-2-255.us-west2.compute.amazonaws.com:/swb/software
3. O también desde la instancia se puede usar la instrucción wget para descargar el
archivo, en el ejemplo se ilustra la descarga de Tomcat
cd /swb/software
wget http://apache.webxcreen.org/tomcat/tomcat-7/v7.0.33/bin/apache-tomcat-7.0.33.tar.gz
La instrucción realiza la descarga de archivo apache – tomcat-7.0.33.tar.gz, si se
requiere realizar la descarga de la última versión del servidor de aplicaciones
diríjase a la siguiente ruta http://tomcat.apache.org/download-70.cgi
4. La instalación se realizará en el directorio /swb/portal, en donde desempacaremos el
Tomcat,
Fecha de Elaboración: Enero 2013.
INFOTEC CONACYT FIDEICOMISO.
18
Instalación de SemanticWebBuilder 4 AWS Cloud
5. SWB será la única aplicación desplegada y no se necesita la administración de Tomcat
se recomienda eliminar las aplicaciones que contiene Tomcat e instalar como la
aplicación por defecto a SWB, esto se realiza con las instrucciones siguientes:
cd /swb/portal/
tar -zxvf ../software/apache-tomcat-7.0.33.tar.gz
cd apache-tomcat-7.0.33/webapps/
rm -Rf *
mkdir ROOT
cd ROOT
jar xvf /swb/software/swb.war
6. Lo siguiente consiste en agregar las variables de ambiente a los archivos de arranque de
Tomcat, para que Java pueda crear el heap, stacks y sepa la codificación adecuada
para SWB, esto se hace agregando al archivo catalina.sh en el directorio /bin de tomcat,
esto se realiza como se describe a continuación:
export CATALINA_OPTS="-Dfile.encoding=ISO8859-1 -Xss192k -Xmx1024m -server"
De esta manera le indicamos a Java que deberá crear una JVM de tipo server,
con una codificación ISO8859-1, 192k de stack por thread y un heap máximo de
1GB; estos valores se deberán ajustar de acuerdo al tamaño del portal a instalar.
7. A continuación se deberán configurar los puertos y el certificado, en este ejemplo se
mostrara el uso de un certificado autofirmado.
8. Se procede a editar el archivo server.xml dentro del directorio /conf de Tomcat, en
donde se busca lo siguiente:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
9. Esta es la configuración del puerto HTTP, que deberá cambiarse al puerto 80, quedando
de la siguiente manera:
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />
Fecha de Elaboración: Enero 2013.
INFOTEC CONACYT FIDEICOMISO.
19
Instalación de SemanticWebBuilder 4 AWS Cloud
10. Ahora hay que encontrar la parte que sigue:
<!-<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->
11. Esta parte configura el servicio de SSL con el keystore por defecto, por lo que hay que
quitar los tags que lo encierran como comentario y cambiar el puerto al 443 quedando:
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
12. Resta crear el certificado en el keystore por defecto, para lo cual habrá que usar la
instrucción siguiente y contestar las preguntas con la información referente al sitio, es
importante recalcar que como contraseña se deberá usar “changeit”,
En la documentación de Tomcat podrá encontrar como configurar otras
contraseñas o usar certificados comerciales http://tomcat.apache.org/tomcat-7.0doc/ssl-howto.html
sudo keytool -genkey -alias tomcat -keyalg RSA
Configurando el NFS
Para poder tener el contenido estático en los SWB clientes y poder configurar los clientes de
acuerdo a la instalación en específico será necesario compartir dos rutas de nuestro filesystem al
grupo de seguridad interno.
…Procedimiento
1. Será necesario agregar las rutas al archivo /etc/exports como sigue:
sudo vi /etc/exports
/swb/portal/apache-tomcat-7.0.33/webapps/ROOT/work/models *(ro,async)
/swb/software *(ro,async)
Fecha de Elaboración: Enero 2013.
INFOTEC CONACYT FIDEICOMISO.
20
Instalación de SemanticWebBuilder 4 AWS Cloud
2. Al agregar las líneas anteriores le estamos indicando al NFSServer que queremos
compartir las rutas que se indican en sólo lectura a todos los servidores; cómo en AWS
cada instancia está aislada y sólo se comunica según las reglas de su grupo de
seguridad, estos directorios sólo estarán disponibles a los clientes.
En este ejemplo se usó apache 7.0.33, ajustar la ruta según se necesite
3. Ahora procedemos a cargar estos cambios con la instrucción:
sudo exportfs -ar
4. Para iniciar los servicios del NFSServer se usan las instrucciones:
sudo service rpcbind start
sudo service nfs start
sudo service nfslock start
5. Para registrar los servicios del NFSServer se usan las instrucciones:
sudo chkconfig --level 2345 rpcbind on
sudo chkconfig --level 2345 nfs on
sudo chkconfig --level 2345 nfslock on
Configurando la base de datos de SWB
SWB requiere de una base de datos para persistir los objetos que forman el portal, por
simplicidad usamos MySQL (instalado en los pasos previos) ya que hemos encontrado que se
desempeña de manera adecuada con SWB.SWB distribuye el JDBC de MySQL por lo que sólo
será necesario configurar la conexión,
…Procedimiento
1. En el archivo WEB-INF/clases/db.properties del despliegue de SWB; este archivo
cuenta con ejemplos para diversas bases de datos y trae configurado como demostración
una base de datos Java en Memoria. Tras la configuración se deberá comentar o retirar
la configuración por defecto y dejar la nueva, como se ilustra en el siguiente fragmento:
2. Descomentar el pool de MySQL
Fecha de Elaboración: Enero 2013.
INFOTEC CONACYT FIDEICOMISO.
21
Instalación de SemanticWebBuilder 4 AWS Cloud
drivers=org.gjt.mm.mysql.Driver
swb.url=jdbc:mysql://ec2-54-245-233-218.us-west-2.compute.amazonaws.com:3306/swb
swb.maxconn=80
swb.user=swb
swb.password=password
swb.idle_time=900
3. Comentar el pool de HsqlDB
#drivers=org.hsqldb.jdbcDriver
#swb.url=jdbc:hsqldb:mem:swbmemdb
#swb.url=jdbc:hsqldb:file:{apppath}/WEB-INF/db/hsqldb/swb
#swb.maxconn=80
#swb.user=SA
#swb.password=
#swb.idle_time=900
Configurando el ambiente de SWB
El archivo /WEB-INF/clases/web.properties del despliegue le indica a SWB la forma en que
deberá configurar la instancia, si está en un arreglo de balanceo de cargas, el tipo de
almacenamiento que usará, servidores de SMTP y demás configuraciones del ambiente.
…Procedimiento
4. Para el administrador en AWS se deberán ajustar al menos los parámetros que se
enlistan a continuación:
swb/clientServer=SAS
swb/cloudImplementation=org.semanticwb.aws.AWSServicesImp
swb/regionEndPoint=us-west-2.amazonaws.com
Es importante recalcar que en el parámetro swb/regionEndPoint se usará el
subdominio correspondiente a la región en donde correrá la instancia, ya que este
se complementará con cada uno de los servicios que se requiera consultar.
Fecha de Elaboración: Enero 2013.
INFOTEC CONACYT FIDEICOMISO.
22
Instalación de SemanticWebBuilder 4 AWS Cloud
5. Generando el config.jar. El archivo config.jar se deberá depositar en el directorio
/swb/software y contiene los archivos de configuración y archivos adicionales requeridos
para levantar el portal que se instalará. Este archivo contiene la misma estructura en
donde existirán esos archivos en el despliegue final, ya que se desempacará a nivel de
ROOT sobre escribiendo los valores y archivos de la instalación por defecto.
6. Como mínimo indispensable deberá contener los archivos db.properties y
web.properties ajustados a la instancia cliente en la ruta WEB-INF/classes recordando
que toda referencia a la máquina de administración deberá hacerse mediante el DNS de
la IP Elástica asignada al mismo.
7. La manera más sencilla es generar en un directorio limpio la estructura de los archivos de
configuración que se agregarán y luego desde ese directorio usar la instrucción siguiente:
jar cvf /swb/software/config.jar *
cp /swb/software/aws/*.jar
8. Levantar la instancia de SemanticWebBuilder con la siguiente instrucción:
cd /swb/portal/apache-tomcat-7.0.33/bin/
Sudo ./startup.sh
9. Una vez que levanto la aplicación entrar a la administración de swb con la siguiente ruta:
Ip_Elastica/swbadmin
Usuario: admin
Contraseña: webbuilder
10. Configurando SWB. La instancia de administración será la encargada de generar
instancias cliente, está requiere tener información sobre el ambiente que se acaba de
generar en AWS por lo que habrá que entrar a la opción “Configuración AWS” en el
menú “Sistema” como SuperUsuario.
Para la creación de usuarios y asignación de roles diríjase a los siguientes
manuales:
Creación_y_Administración_de_Roles_y_Grupos_de_Usuarios
Creacion_y_Administracion_de_Usuarios
Fecha de Elaboración: Enero 2013.
INFOTEC CONACYT FIDEICOMISO.
23
Instalación de SemanticWebBuilder 4 AWS Cloud
11. En caso de tener instalada y configurada la extensión para AWS, lo que hicimos en el
paso “Configurando el ambiente de SWB”, esta opción nos solicitará los datos de
acceso.
12. Esta información se encuentra en la opción Security Credentials del menú del usuario
de AWS, debemos notar que estos datos permitirán que se hagan acciones a nombre de
esta cuenta en AWS y que estas acciones incurren en costos para dicha cuenta
13. Ya proporcionada esta información deberemos llenar las opciones que corresponden al
ambiente que generamos durante ésta instalación.
Fecha de Elaboración: Enero 2013.
INFOTEC CONACYT FIDEICOMISO.
24
Instalación de SemanticWebBuilder 4 AWS Cloud
En donde:
Placement Zone: Corresponde a la zona de disponibilidad en donde instalaremos,
KeyPair Es la llave de seguridad para poder entrar a las instancias cliente,
Image: Corresponde a la imagen del Sistema Operativo que se instalará,
Instance type: Define el tamaño de las máquinas que se generarán,
Max instances to launch: Especifica hasta cuantas instancias cliente se podrá crecer,
Memory string: Es el parámetro para configurar el –Xmx de Java, AppServer es el nombre de la
versión y archivo de Apache Tomcat con el que se instalará y que se colocó en /swb/software,
Internal security group y External security group: Son los grupos de seguridad de
Comunicación interna y acceso público (SG01 y SG02),
Elastic Admin IP: Es la IP elástica asociada a la instancia de administración,
LoadBalancer: Es el Balanceador por el cual se publicará el portal
CPU AverageLevel to launch: Es el nivel que se deberá rebasar para lanzar instancias
adicionales.
En nuestro ejemplo quedaría así:
14. Cuando se envían todos los datos se activará la sección Lanzamiento que le indica a
SWB que puede iniciar el lanzamiento de la primera instancia.
Fecha de Elaboración: Enero 2013.
INFOTEC CONACYT FIDEICOMISO.
25
Instalación de SemanticWebBuilder 4 AWS Cloud
15. Ya que existen instancias se mostrará la sección Shutdown en donde se pueden
Terminar las instancias cliente asociadas a esta cuenta.
Fecha de Elaboración: Enero 2013.
INFOTEC CONACYT FIDEICOMISO.
26
Descargar