jueves, marzo 09, 2006

COMO instalar un sistema Corpus

El servidor tiene como fin prestar el servicio de administración de corpus, utilizando para tal fin la aplicación Manatee. Además deberá contar con Apache 2 con módulo webdav, php con soporte mysql y Java 1.4.2. Apache 2 con módulo webdav y php con soporte mysql serán instalados directamente con la instalación del sistema operativo.


1)

Características del servidor: DL-380G4, 1Gb de RAM y 4 discos de 146 Gb en raid5.

Sistema Operativo: Red Hat 4 Enterprise ES

Nombre de host: a elección

Particionado:

3.0G /

76M /boot

58G /home

2.0G /tmp

5.8G /usr

334G /var

2G SWAP


Selección de paquetes requeridos y recomendables para la instalación:


Editors

Text-based internet

Server Configuration Tools

Development tools

Kernel Development

Legacy Software Development

Administrator Tools

System Tools

Web Server


2) Instalación de Java 1.4.2:


Bajar j2sdk-1_4_2-linux-i586.bin de http://java.sun.com/j2se/1.4.2/download.html y copiar el mismo a /usr. Dar permisos de ejecución:

#chmod 755 j2sdk-1_4_2-linux-i586.bin

Ejecutar el .bin:

#./j2sdk-1_4_2-linux-i586.bin


Crear la variable global JAVA_HOME y agregar al PATH la ruta del ejecutable de java para lo cual, editar /etc/profile y agregar las siguientes lìneas al final del archivo:

$:vi /etc/profile

JAVA_HOME=/usr/java/jdk1.5.0_06

PATH=$PATH:$JAVA_HOME/bin

export PATH JAVA


Para tomar los cambios:

#source /etc/profile


3) Instalación de Manatee

Crear el usuario corpadm

#adduser corpadm

y setear su correspondiente password:

#passwd corpadm

Crear el directorio registry en /home/corpadm para guardar los futuros archivos de configuración correspondientes a los corpus.

#cd /home/corpadm

#mkdir registry

Agregar la variable de entorno MANATEE_REGISTRY editando /etc/profile

#vi /etc/profile

Y al final del mismo copiar:


MANATEE_REGISTRY=/home/corpadm/registry

export MANATEE_REGISTRY


Para que el sistema tome los cambios:

#source /etc/profile


Descomprimir manatee-1.94.tar.gz que se obtiene en http://www.textforge.cz/download.html. En esta guía se descomprimirá en /home/sford:

#cd /home/sford

#tar zxvf manatee-1-49.tgz

#cd manatee-1-49


Editar el archivo Makefile y comentar las siguientes lineas:

#vi Makefile


# /etc/inetd.conf

#@grep -q -e '^manatee' /etc/inetd.conf ||
(echo; echo "#Manatee Server";
echo "manatee stream tcp nowait $(MANATEE_USER) /usr/bin/perl Manatee $(MANATEE_DIR)/runm.pl") >>/etc/inetd.conf

# /etc/services

#@grep -q -e '^manatee' /etc/services ||
# echo "manatee $(SERVER_PORT)/tcp # Manatee Server" >>/etc/services

# rereads inetd configuration

#killall -q -HUP inetd


Instalar Manatee:

#make install-inetd


Como Manatee utiliza el servicio xinetd se debe configurar el mismo; editar /etc/services y crear el archivo /etc/xinetd.d/manatee


#vi /etc/services

Y agregar al final del archivo:


manatee 5016/tcp # Manatee Server


#vi /etc/xinetd.d/manatee

Y copiar las siguientes lineas:


service manatee

{

flags = REUSE

socket_type = stream

wait = no

user = corpadm

server = /usr/bin/perl

server_args = /home/corpadm/runm.pl

disable = no

}


Reiniciar el servicio xinetd:

#/etc/init.d/xinetd restart


4) Configurar Manatee


La aplicación Manatee será administrada por un usuario distinto a root por lo que se debe setear los permisos correspondientes:


4.1) Permisos del home de Manatee. Dar permisos de lectura, escritura y ejecución al dueño y al grupo y permisos de lectura y ejecución al resto:

#cd /home

#chmod 775 /home/corpadm


4.2) Los archivos que fueron creados dentro de /home/corpadm con la instalación de corpadm (chuser, runm.pl y users) como así el directorio registry creado con anterioridad deberán tener como dueño al usuario y grupo corpadm:

#chown -R corpadm:corpadm corpadm


Y los siguientes permisos:

#chmod 755 chuser

#chmod 755 runm.pl

#chmod 644 users

#chmod 775 registry




4.3) Vereficar los permisos de /usr/local/bin/encodevert que deberá tener el siguiente formato:

-rwxrwx--- 1 root corpadm


En caso contrario setear los permisos correspondientes:

#chown root:corpadm /usr/local/bin/encodevert

#chmod 770 /usr/local/bin/encodevert


5) Generar el directorio /var/corpora que será utilizado a la hora de generar un corpus:

#cd /var

#mkdir corpora

#chown corpadm:corpadm corpora

#chmod 755 corpora


6) Operatoria Manatee

Generar usuarios en Manatee: Para generar usuarios con acceso al servidor de Manatee utilizar el comando chuser ubicado en /home/corpadm

#cd /home/corpadm

Para ver su help:

#./chuser -h

Crear un usuario llamado prueba:

#./chuser -new prueba -p 123456 -corplist corpusABC

en donde -new indica el nombre del usuario, -p el password del mismo y -corplist el nombre del archivo corpus.

La entrada del usuario recién creado se podrá comprobar en /home/corpadm/users

#vi /home/corpadm/users


test1:iXVUIZqOfl/x6::0:0:corpusABC

Actualización APACHE2+TOMCAT5+JAVA1.5+mod_jk

En esta oportunidad vamos a agregar los scripts necesarios para poder iniciar de una manera simple Apache y Tomcat, y además poder iniciarlos automáticamente al bootear nuestro sistema. En la próxima entrega finalizaremos con la configuración óptima para evitar problemas de seguridad:

Creación de script de inicio pada Apache2:

#>vi /etc/init.d/httpd

#!/bin/sh

case "$1" in
start)
/usr/local/apache2/bin/apachectl start
;;
stop)
/usr/local/apache2/bin/apachectl stop
;;
restart)
$0 stop && sleep 3
$0 start
;;
reload)
$0 stop
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1
esac

#>chmod 755 /etc/init.d/httpd
#>ln -s /etc/init.d/httpd /etc/rc2.d/S20httpd
#>ln -s /etc/init.d/httpd /etc/rc3.d/S20httpd
#>ln -s /etc/init.d/httpd /etc/rc4.d/S20httpd
#>ln -s /etc/init.d/httpd /etc/rc5.d/S20httpd
#>ln -s /etc/init.d/httpd /etc/rc0.d/K20httpd
#>ln -s /etc/init.d/httpd /etc/rc1.d/K20httpd
#>ln -s /etc/init.d/httpd /etc/rc6.d/K20httpd

Script de arranque de Tomcat5

#!/bin/sh

case "$1" in
start)
/var/tomcat5/bin/catalina.sh start
;;
stop)
/var/tomcat5/bin/catalina.sh stop
;;
restart)
$0 stop && sleep 3
$0 start
;;
reload)
$0 stop
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1
esac

#>chmod 755 tomcat5

#>vi /etc/init.d/tomcat5

#>ln -s /etc/init.d/tomcat5 /etc/rc2.d/S21tomcat5
#>ln -s /etc/init.d/tomcat5 /etc/rc3.d/S21tomcat5
#>ln -s /etc/init.d/tomcat5 /etc/rc4.d/S21tomcat5
#>ln -s /etc/init.d/tomcat5 /etc/rc5.d/S21tomcat5
#>ln -s /etc/init.d/tomcat5 /etc/rc0.d/K21tomcat5
#>ln -s /etc/init.d/tomcat5 /etc/rc1.d/K21tomcat5
#>ln -s /etc/init.d/tomcat5 /etc/rc6.d/K21tomcat

A partir de este momento, tanto Apache como Tomcat iniciarán de modo automático y podremos parar, empesar o reiniciar los servicios de la siguiente manera:

/etc/init.d/httpd stop ###Para parar el servicio
/etc/init.d/httpd start ###Parar arrancar el servicio
/etc/init.d/httpd restart ### Reiniciar el servicio

Y para Tomcat los mismo reemplazando donde dice Apache por Tomcat.