Mostrando las entradas con la etiqueta apache. Mostrar todas las entradas
Mostrando las entradas con la etiqueta apache. Mostrar todas las entradas

jueves, 28 de julio de 2016

Evitar web crawlers en Koha (CPU 100%)

Soy administrador (sysadmin) de varios sistemas en GC (Google Clould) y uno de los sistemas que administro es una instancia de Koha (Sistema integral de gestión bibliotecaria) en una plataforma GCE (Google Compute Engine).

Al monitorizar el sistema Koha, el uso del CPU de la instancia estaba siempre al 100% de su capacidad, lo cual causaba molestia a los usuarios  debido a que el sistema estaba demasiado lento.



Al revisar las causas, encontré que esto se debe a web crawlers los cuales  hacen búsquedas en el catálogo de Koha para poder indexar resultados, la búsqueda de soluciones me llevo a este wiki de Koha para poder realizarle un tuning (afinamiento) al sistema.

https://wiki.koha-community.org/wiki/Koha_Tuning_Guide


Esta guía ayudo a muchos, pero en mi caso no, los web crawlers seguian accediendo a pesar de agregar el archivo " robots.txt ".

La forma de solucionarlo fue creando (en mi caso) el archivo .htaccess con este archivo de configuraron del servidor Apache  logre detener los web crawlers el uso de este archivo de configuración, puede traer repercusiones a tu servidor, en el caso de eficiencia y tiempo de espera, pero para una instancia pequeña como la que administro es perfecta.

Usando esta lista:

http://www.robotstxt.org/db.html

y este generador de archivo .htaccess en esta página http://incredibill.me/htaccess-block-user-agent

ya con el archivo creado, simplemente resto ponerlo en la carpeta www de apache y reiniciar el servidor, con esto se arreglo el problema de los web crawlers que alentaban el procesador y las búsquedas en mi instancia de Koha.

Espero que esta información les sea de ayuda a quien logre encontrar esta entrada.



jueves, 17 de septiembre de 2015

JAVA StringUtils

En mi trabajo, utilizo java para la cuestión de programación y no conocía la clase de StringUtils la cual me ha ayudado en algunos aspectos básicos del manejo de String (cadenas) en java.

Bueno aquí paso a los ejemplos y uso de StringUtils:


StringUtils.isEmpty()
Esta función booleana checa si la cadena es vacia ("") o nula (null).
 
StringUtils.isEmpty(null)        =   true
StringUtils.isEmpty("")            =  true
StringUtils.isEmpty(" ")           =  false
StringUtils.isEmpty("bob")     =  false
StringUtils.isEmpty("  bob  ") =  false 
 
Esta función tiene su contraparte que es: 
StringUtils.isNotEmpty() 

StringUtils.isNotEmpty(null)         = false

StringUtils.isNotEmpty("")             = false
StringUtils.isNotEmpty(" ")            = true
StringUtils.isNotEmpty("bob")      = true
StringUtils.isNotEmpty("  bob  ")  = true
 
Si es requerido también existe la funcion isBlank la cual da "más " mas precisión al momento de 
revisar si una cadena es vacía o no.
  
StringUtils.isBlank() 
Esta función booleana checa si la cadena es vacia ("")("    ") o nula (null).
 
StringUtils.isBlank(null)         = true
StringUtils.isBlank("")            = true
StringUtils.isBlank(" ")           = true (toma como vacío la cadana sin nada en su interior)
StringUtils.isBlank("bob")     = false
StringUtils.isBlank("  bob  ") = false

Esta función también tiene su contraparte que es: 
StringUtils.isNotBlank() 
 
StringUtils.isNotBlank(null)         = false
StringUtils.isNotBlank("")            = false
StringUtils.isNotBlank(" ")           = false
StringUtils.isNotBlank("bob")     = true
StringUtils.isNotBlank("  bob  ") = true 


Hay muchísimo mas funciones que se pueden utilizar y son muy utiles. aqui les dejo la documentacion
http://commons.apache.org/proper/commons-lang/javadocs/api-3.1/org/apache/commons/lang3/StringUtils.html

viernes, 24 de julio de 2015

Instalar Koha en un servidor Debina 7.8

En esta entrada pondré el manual para instalar el sistema de gestión bibliotecaria Koha y no morir en el intento.

Antes que nada este manual de instalación esta creado para ser usado en un servidor Debian versión 7.8, es importante mencionar que para esta instalacion se debe de tener acceso a root

1.- Se añaden las claves GPG
wget -q -O- http://debian.koha-community.org/koha/gpg.asc | sudo apt-key add -
2.- Elegimos la version de Koha que se instalara, en este caso es la estable
echo 'deb http://debian.koha-community.org/koha stable main' | sudo tee /etc/apt/sources.list.d/koha.list
3.- Hacer un update para verificar lo nuevo en los repositorios
sudo apt-get update
4.- Ahora instalamos Koha
sudo apt-get install koha-common
5.- instalamos SQL
sudo apt-get install mysql-server
6.- Editar el archivo /etc/koha/koha-sites.conf
     -Esto es para configurar si se cuenta con un dominio para Koha, de lo contrario se deberán quedar "" vacíos los espacios para el DNS

7.- Se deben de Reiniciar  los demonios de apache
 $ sudo a2enmod rewrite
 $ sudo a2enmod cgi
 $ sudo service apache2 restart
8.- Se remueven los otros sitios de apache para que solo funcionen los de Koha
sudo a2dissite 000-default default default-ssl
9.- Reiniciar apache
$ sudo service apache2 restart
10.- Ahora se deben de crear los esquemas para el uso de Koha, comenzando con la base de datos
sudo koha-create --create-db NombreDeSuBiblioteca
11.- Se edita el archivo  /etc/apache2/ports.conf 
      Aquí se agrega la linea listen 8080 abajo de listen 80
      El puerto 8080 es para la sección administrativa de koha

12.- Ahora con todas las configuraciones hechas, debemos obtener la clave de acceso para la parte administrativa de Koha
sudo xmlstarlet sel -t -v 'yazgfs/config/pass' /etc/koha/sites/[NombreDeSuBiblioteca]/koha-conf.xml
     Con el paso anterior se obtiene la contraseña de acceso a koha, para saber su usuario simplemente agregué koha-NombreDeSuBiblioteca

13.- Si se quiere cambiar el lenguaje a Koha , primero se buscan los idiomas disponibles :

sudo koha-translate --list --available
Después se instala el lenguaje deseado:
sudo koha-translate --install codigo-del-lenguaje

14.- Si todo salio bien ya estará instalado Koha, solo faltaría configurar el inicio para esto es necesario acceder al servicio desde un navegador

Si usaste una dominio propio, acceder al domino, de lo contrario acceder a la ip
  
15.- Solo restaría configurar Koha a las especificaciones de su biblioteca 

Con estos 15 "sencillos" paso (a mi recordar) podrás tener un servidor Koha en linea y listo para funcionar.