lunes, 17 de agosto de 2009

Instalacion del Servidor Web Linux para Java - MySQL - Genexus X

Instalación de Servidor de Aplicaciones para programas

Java generados con Genexus X


Versiones incluidas para la instalación

Java: jdk-6u12-linux-i586-rpm.bin

Tomcat: apache-tomcat-6.0.18.tar.gz

Conector: jakarta-tomcat-connectors-1.2.15-src.tar.gz


Computador utilizado para la instalación:

32 bits

Procesador Core 2 Quad Q9300 2.5GHZ

Tarjeta de Red

Memoria 2 GB

Novedades incluidas en la versión Centos 5.3

  • MySQL 5.0
  • PostgreSQL 8.1

Instalación de CentOS 5.3 Server


  1. Arrancamos el sistema con el CD 1, o con el DVD y nos aparece la pantalla principal de CentOS, la diferencia entre los CD y el DVD es que mientras la instalación avanza con los CD nos ira pidiendo la secuencia de ellos y con el DVD arranca y termina la instalación con el mismo. Para instalar pulsamos enter.
  2. A continuación nos pregunta si deseamos testear los CDS, pero podemos pulsar Skip.
  3. Llegamos a la pantalla de instalación de CentOs. Pulsamos Next.
  4. Seleccionamos el idioma (spanish (Español)). Pulsamos Next.
  5. y después el idioma del teclado (Español). Pulsamos Siguiente
  6. Ahora nos pide si deseamos borrar la información del disco que estamos instalando. Como es una instalación de 0 pulsamos que si (atención: se borrarán todos los datos si había), si teníamos instalación de otro Linux pasa al siguiente punto.
  7. Seguidamente hay que particionar el sistema. Seleccionamos "Suprimir particiones de Linux en dispositivos seleccionados y crear diseño predeterminado". Si nos interesa cambiar las particiones ahora es el momento, pero por las que nos dan por defecto ya van bien. Al pulsar Siguiente nos pide confirmación y seleccionamos si.
  8. En las opciones de configuración de la red usaremos IP's estáticas. Para ello hay que pulsar el botón Modificar en “Dispositivos de red” y seleccionar dentro de Enable IPv4 support, manual configuration. Dentro de este campo IP Adress ponemos por ejemplo 192.0.0.102 y como máscara de red 255.255.255.0. Podemos desactivar la opción Enable IPv6 support, damos clic en Aceptar y regresamos a la pantalla anterior.

Como nombre de host ponemos un nombre del tipo: servidor.dominio.com. Como Puerta de Enlace o Gateway 192.0.0.2, como Primary 200.93.222.4 y Secondary DNS 200.93.222.5

  1. Tras pulsar siguiente, seleccionamos la zona horaria correspondiente, en mi caso América/Guayaquil (no soy de Guayaquil, solamente es la zona horaria que utilizo), Siguiente
  2. y después nos pedirá la root password (para un buen password combinar mayúsculas, minúsculas, símbolos números he aquí un medidor chévere para ver la eficacia de los passwords http://www.passwordmeter.com/).
  3. Ahora hay que decirle que aplicaciones queremos que instale. Por lo tanto seleccionamos Desktop - Gnome y pulsamos la opción de Server. También marcamos la casilla "personalizar ahora" y le damos a siguiente

Dentro de Entorno de Escritorio Entorno de escritorio de GNOME Aplicaciones seleccionamos editores, Internet basada en texto, Internet grafica. Dentro de Desarrollo Bibliotecas de Desarrollo, Herramientas de Desarrollo. Dentro de Servidores seleccionamos Base de datos MySQL, Herramientas de configuración del servidor, Servidor FTP, Servidor Web, Servidor de archivos Windows y en fin todos ellos. Dentro de Sistema Base seleccionamos Base, Herramientas de Administración, Herramientas del Sistema, Java, Sistema X Windows damos clic en siguiente

  1. Tras unos segundos de espera en la que el instalador busque dependencias de los programas que instalaremos, pulsamos siguiente y empieza la instalación.
  2. Para finalizar pulsamos reiniciar y quitamos el CD o DVD.
  3. Pantalla de Bienvenida, Adelante
  4. Cortafuegos, opción Deshabilitado y Adelante, si al mensaje
  5. SELinux, opción Deshabilitado, Adelante, si al mensaje
  6. KDump, Adelante
  7. Fecha y Hora, arreglarla en el caso que amerite y Adelante
  8. Crear un usuario, Adelante
  9. Tarjeta de sonido, Adelante
  10. CDs adicionales, Finalizar, al mensaje de reinicio dar Aceptar

Nota: si deciden cambiar la ip: Sistema -> Administrador -> Red, recuerden Desactivar y luego Activar el dispositivo para no tener que reiniciar la maquina y los cambios tengan efecto.


Aclaración


Uff esto si que esta bueno, hasta antes de hoy jueves 13 de agosto (no soy supertisioso créanlo) pensé que Apache Tomcat era un solo programa y punto, pero no es asi, aquí algunas explicaciones que he recopilado:

  • APACHE ES SERVIDOR DE PAGINAS WEB ESTATICAS O CMS y tomcat es servidor de aplicaciones Java (Demetrio)
  • Tomcat esta diseñado para contener jsp's, servlets y demás archivos java y apache no te permite visualizarlos
  • Tomcat es un contenedor de servlets y apache es un servidor Web.
  • Hoy en día tomcat ya puede funcionar como servidor de aplicaciones por si solo.
  • Apache por si solo es incapaz de ejecutar el contenido dinámico de algunas paginas y ahi es donde entra a trabajar tomcat quien facilita la ejecución de estos ya sean servlets o jsp(estos son trasformados a servlets por tomcat).

Apache

Instalamos el apache, abrimos una Terminal Aplicaciones / Accesorios / Terminal, recuerden que debemos estar como usuario root.


# yum install httpd httpd-devel


nos da el tamaño del archivo y la pregunta

ponemos y y enter

otra vez nos pregunta

ponemos y y enter

Luego de tener instalados los anteriores paquetes, procedemos a actualizar todo nuestro centos, haciendo uso nuevamente del comando yum


# yum -y update


Ahora bien, ya tenemos instalado nuestro Apache, que esta escuchando por el puerto 80(puerto por defecto). CentOS tiene un directorio /var/www/html que es el ROOT del HTTP server (Apache) ahí es donde debemos colocar los archivos que queremos ver en nuestro servidor vía http://ip_del_server/ o http://midominio.com si tenemos un domino.

Para que se inicie cada vez con el sistema operativo vamos a Sistema / Administración / Configuración de servidores / Servicios, buscamos en la lista de la izquierda httpd, seleccionamos la casilla, guardar e iniciar y nos da un mensaje de “httpd start succesful” presionamos aceptar.

También podemos iniciar el servidor con


# service httpd start


Podemos revisar en el browser con http://localhost y nos correrá la página test de apache.

Java (JDK) versión 1.6.0_12


De pronto quieran bajar versiones vayan a:

http://java.sun.com/products/archive/

Cuando haya descargado el archivo jdk-6u12-linux-i586-rpm.bin, lo copio en /tmp/, ingresamos a la carpeta


# cd /tmp/

# chmod +x jdk-6u12-linux-i586-rpm.bin

# ./jdk-6u12-linux-i586-rpm.bin


Nos muestra el contrato de licencia y con la barra espaciadora lo vamos pasando y aceptamos los términos, escribiendo yes y enter, luego enter para continuar y la palabrita done nos indica que esta listo.

Con esto se inicia la instalación de Java y se instalan en diferente ubicación. Una vez terminada la instalación usted verá el directorio /usr/java/jdk1.6.0_12 con los archivos JRE dentro de él; pero antes, manejarse por este path esta como que muy largo, ingresemos a /usr/java y renombremos:


# cd /usr/java

# mv jdk1.6.0_12 jdk1.6


Ahora debemos ponerlo como por defecto a la versión que acabamos de instalar, lo hacemos así:


# java –version


Aun tenemos la version 4.1.2


# alternatives --install /usr/bin/java java /usr/java/jdk1.6/bin/java 2

# alternatives --config java

Hay 2 programas que proporcionan 'java'.

Selección Comando

-----------------------------------------------

*+ 1 /usr/lib/jvm/jre-1.4.2-gcj/bin/java

2 usr/java/jdk1.6/bin/java

Presione Intro para mantener la selección actual [+], o escriba el numero de la elección:

Ingresamos el número 2 y enter.


Ahora se debe verificar si efectivamente está todo correcto con el siguiente comando:


# java –version


Si usted obtiene:

java version “1.4.2″

gij (GNU libgcj) version 4.1.1 20060525 (Red Hat 4.1.1-1)

Copyright (C) 2006 Free Software Foundation, Inc.

This is free software; see the source for copying conditions. There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

O similar, algo está mal. Y si usted obtiene:


java version “1.6.0_12″

Java(TM) SE Runtime Environment (build 1.6.0_12-b04)

Java HotSpot(TM) Server VM (build 11.2-b01, mixed mode)


Está bien.


Para que se carguen en cada inicio de sesión las variables del sistema se debe meter en el archivo .profile que se encuentra en /etc/, así que para abrir el archivo escribir en el Terminal


# nano /etc/profile


Ingresamos luego lo siguiente debajo de unset i


CATALINA_BASE=/usr/tomcat6.0.18

CATALINA_HOME=/usr/tomcat6.0.18

CATALINA_TEMP=/usr/tomcat6.0.18/temp

JAVA_HOME=/usr/java/jdk1.6

JRE_HOME=/usr/java/jdk1.6/jre

export CATALINA_BASE

export CATALINA_HOME

export CATALINA_TEMP

export JAVA_HOME

export JRE_HOME


Guardamos (ctrl. + 0 y enter)y salimos (ctrl. + X) del editor de textos. Ahora utilizamos el comando source, para que la variable de entorno tenga efecto de inmediato, notemos que están incluidas las variables para tomcat para luego no volver a modificar el archivo.


# source /etc/profile

Tomcat versión 6.0.18


Procedemos con la instalación del Apache Tomcat, lo primero que hay que hacer es descargarse desde la página oficial (http://tomcat.apache.org/download-60.cgi).

La copiamos dentro de /tmp/

Descomprimimos la estructura:


# tar xvfz apache-tomcat-6.0.18.tar.gz


y podemos moverla dentro de /usr/ para tener todo allí, también le cambio el nombre


# mv apache-tomcat-6.0.18 /usr/tomcat6.0.18


Ejecutamos tomcat con el comando:


# /usr/tomcat6.0.18/bin/startup.sh


Veremos que se inicializan las variables del archivo que creamos

Ahora podemos correr el tomcat y testearlo en nuestro browser http://ip_del_server:8080/ o con http://localhost:8080

Si deseamos crear un usuario administrador tenemos que modificar el archivo tomcat-users.xml que se encuentra dentro de la carpeta conf.


# cd /usr/tomcat6.0.18/conf
# nano tomcat-users.xml


Debemos de modificarlo de la siguiente manera


<#tomcat -users>
<#role rolename=”manager”/>
<#role rolename=”admin”/>
<#user username=”YOUR_USERNAME” password=”YOUR_PASSWORD” roles=”admin,manager”/>


quitamos los # porque no me acepta el blog


Guardamos el archivo (ctrl. + O, enter), salimos (ctrl. + X) Y reiniciamos el servicio.


# cd /usr/tomcat6.0.18/bin
# sh catalina.sh stop
# sh catalina.sh start


Ahora podemos ingresar al Tomcat Manager que esta en la página de inicio para poder correr los ejemplos


Esta parte la creamos tan solo si queremos saltarnos esto de estar ingresando al directorio y poder utilizar service tomcat start, creamos un script en /etc/init.d para levantar/bajar el servicio automáticamente


# cd /etc/init.d

# nano tomcat


Ingresamos lo siguiente en el archivo:


# !/bin/bash

# chkconfig: 234 20 80

# description: Tomcat Server basic start/shutdown script

# processname: tomcat

JRE_HOME=/usr/java/jdk1.6/jre

export JRE_HOME

TOMCAT_HOME=/tomcat-6.0.18/bin

START_TOMCAT=sh /tomcat-6.0.18/bin/catalina.sh start

STOP_TOMCAT= sh /tomcat-6.0.18/bin/catalina.sh stop

start() {

echo -n "Iniciando tomcat: "

cd $TOMCAT_HOME

${START_TOMCAT}

echo "listo"

}

stop() {

echo -n "Bajando tomcat: "

cd $TOMCAT_HOME

${STOP_TOMCAT}

echo "listo"

}

case "$1" in

start)

start

;;

stop)

stop

;;

restart)

stop

sleep 10

start

;;

*)

echo "Usage: $0 {start|stop|restart}"

esac

exit 0


Cambiamos los permisos


# chmod 755 tomcat


Adicionamos el script a los servicios del sistema


# chkconfig --add tomcat

# chkconfig tomcat on


Verificamos la modificación (el script utiliza los niveles 2, 3, 4)


# chkconfig --level 234 tomcat on

# chkconfig --list tomcat


Se puede ver que los servicios 2, 3, 4 estan encendidos

Y ahora testeamos con:


# service tomcat start

# service tomcat stop

Tomcat cooperando con Apache


El siguiente paso es compilar el modulo jk para incluirlo en el HTTP server para esto descargamos el source http://tomcat.apache.org/download-connectors.cgi copiamos el archivo en /tmp y seguimos los siguientes pasos.


# cd /tmp/
# tar xvzf jakarta-tomcat-connectors-1.2.15-src.tar.gz
# cd jakarta-tomcat-connectors-1.2.15-src/ jk/native
# ./buildconf.sh
# ./configure --with-apxs=/usr/sbin/apxs
# make
# make install


Ahora creamos un archivo dentro de /etc/httpd/conf llamado workers.properties


# cd /etc/httpd/conf/

# nano workers.properties


Insertamos el siguiente texto


workers.tomcat_home=/usr/tomcat6.0.18
workers.java_home=/usr/java/jdk1.6
ps=/
worker.list=default
worker.default.port=8009
worker.default.host=localhost
worker.default.type=ajp13
worker.default.lbfactor=1


Guardamos el archivo con ctrl. + O y Cerramos ctrl. + X


Editamos el archivo de configuración del Apache (/etc/httpd/conf/httpd.conf) para cargar el módulo.


# cd /etc/httpd/conf

# nano httpd.conf


En la sección LoadModules añadimos al final:


LoadModule jk_module modules/mod_jk.so


Y al final del archivo:


JkWorkersFile "conf/workers.properties"
JkLogFile "logs/mod_jk.log"
JkLogLevel warn

JkMount /examples/jsp default
JkMount /examples/jsp* default


Ahora reiniciamos Tomcat y Apache:


# service httpd restart
# /usr/tomcat6.0.18/bin/shutdown.sh
# /usr/tomcat6.0.18/bin/startup.sh


Probamos ingresando en el web browser

http://localhost/ ---- servidor apache

http://localhost:8080/ ---- servidor tomcat

http://localhost/examples/jsp ---- ejemplos JSP de tomcat


Webmin 1.450


Increíble la instalacion, unicamente descarguémonos este archivo (webmin-1.450-1.noarch.rpm)

Sale una ventana de Instalando paquetes, le damos a Aceptar.

Incapaz de verificar damos en Instalar de todos modos

Actualiza el software y el mensaje de Instalación exitosa, clic en Aceptar

Probamos desde cualquier maquina de la red con https://ip_servidor:10000

Damos clic en Aceptar y procedemos a Añadir una Excepción y pulsamos en Obtener Certificado y Confirmamos la Excepción.

Con esto se abrirá el Login, podemos ingresar como root con nuestra contraseña


Mysql


Vamos a Sistema / Administración / Configuración de servidores / Servicios

Vamos buscamos mysqld marcamos el casillero, Guardamos y damos clic en Iniciar


# service mysqld start para levantar el servicio de la Base de Datos

# service mysqld restart para reiniciar el servicio de la Base de Datos

# service mysqld stop para parar el servicio de la Base de Datos


Las bases de datos de mysql se crearán en el directorio /var/lib/mysql. Cada base de datos es un directorio diferente y cada tabla es un archivo dentro del directorio las dos bases que se crean cuando se instala mysql es “mysql” y “test”.

Se corre el comando


# mysql_install_db


para crear las bases que guardarán los permisos de los usuarios.

Con el comando


# mysqladmin -u root password “PASSWORD”


se crea un password para el administrador de la base de datos. Ejemplo:


# mysqladmin –u root password admin


Admin sería la nueva clave para el administrador de la base de datos

Para cambiar la clave se pondría


# mysqladmin –u root -padmin “PASSWORD” “NUEVA_CLAVE”


Para probar si la conexión esta bien y se puede entrar a la base de datos se pone


# mysql -u root –p


aquí ahora va ha pedir un password, el password en este caso es admin el cual definimos. Para salir se pone


mysql> quit


Podemos tambien realizar las configuraciones, creación de Bases de Datos, Usuarios, Permisos desde Webmin, gráficamente.

Solo nos queda por darle al usuario root (que es con el que trabajare o crear un usuario en caso requieran) los permisos para que pueda acceder desde los diferentes Hosts, esto lo podemos hacer ingresando a Webmin, vamos a Servidores, Servidor de Base de Datos MySQL, Permisos de Usuario, Crear nuevo usuario, lo creamos, ponemos la contraseña, Maquina le dejamos como cualquiera y le damos los permisos necesarios.


Para no tener problemas con la sensibilidad de los nombres añadir estas 2 lineas en este archivo my.cnf


# nano /etc/my.cnf


seccion [mysqld]

  • set-variable = lower_case_table_names=1


sección [mysqld] y agregamos

  • lower_case_table_names = 1




3 comentarios:

  1. Hola Pepe, excelente trabajo, aún no he publicado en Tomcat sobre Linux por falta de conocimiento, pero con este documento ya me siento soportado, gracias por ese aporte

    ResponderEliminar
  2. hola amigo, yo tengo asi y nome funciona


    # The MySQL server
    [mysqld]
    log-bin = server1
    server-id = 1
    binlog-do-db = s
    #master-host=
    #master-user=root
    #master-password=
    #master-connect-retry=60
    #replicate-do-db=s
    port = 3306
    socket = /opt/lampp/var/mysql/mysql.sock
    skip-locking
    key_buffer = 16M
    max_allowed_packet = 1M
    table_cache = 64
    sort_buffer_size = 512K
    net_buffer_length = 8K
    read_buffer_size = 256K
    read_rnd_buffer_size = 512K
    myisam_sort_buffer_size = 8M
    set-variable = lower_case_table_names = 1
    lower_case_table_names = 1
    # Where do all the plugins live
    plugin_dir = /opt/lampp/lib/mysql/plugin/


    espero me puedas ayudar

    ResponderEliminar
  3. Pepe, muy bueno to manual, el mejor de todos los que he leido... pero al final tratando de instalar jakarta cuando le doy ./buildconf.sh obtengo este error :

    rm autom4te.cache
    libtoolize --force --automake --copy
    ./buildconf.sh: line 7: libtoolize: command not found
    aclocal
    ./buildconf.sh: line 11: aclocal: command not found
    autoheader
    ./buildconf.sh: line 13: autoheader: command not found
    automake -a --foreign --copy
    ./buildconf.sh: line 15: automake: command not found
    autoconf
    ./buildconf.sh: line 17: autoconf: command not found
    rm autom4te.cache

    podrias ayudarme por favor... no se que hacer y no soy muy experta en linux.

    ResponderEliminar