Error Exception in thread OC4J Launcher java.lang.NoClassDefFoundError en OC4J

El otro día en el trabajo tuvimos una tarde de entretenimiento con este error en un servidor de desarrollo con el servidor de aplicaciones OC4J de Oracle

El error en sí que aparecía era:

Exception in thread "OC4J Launcher" java.lang.NoClassDefFoundError
at com.evermind.server.jms.XMLJMSServerConfig.postInit(XMLJMSServerConfig.java:497)
at com.evermind.xml.XMLConfig.init(XMLConfig.java:206)
at com.evermind.xml.XMLConfig.init(XMLConfig.java:113)

Tras bastante debugging, modificación de ficheros de configuración y demás, procedimos a la instalación de un servidor OC4J nuevo, para ver si conseguíamos hacer funcionar la aplicación.
Finalmente realizando la instalación encontramos errores que nos llevaron al error original pudiéndolo solventar.

Si te has encontrado con este problema, es muy probable que:

  • Hayas cambiado la ip de la máquina.
  • Hayas cambiado el nombre de la máquina

Dicho esto, hay que revisar:

  1. Nombre de la máquina (verifica que el nombre es correcto)
    # hostname
    oc4j.desarrollo.local
  2. Fichero /etc/hosts. Verifica que el nombre de la máquina aparece referenciado apuntando a la ip del servidor.
    # cat /etc/hosts
    192.168.0.55    oc4j.desarrollo.local       oc4j
  3. Verifica que la ip es la correcta.
     # ifconfig

Revísalo muy bien porque es muy probable que el error venga provocado por algún error tipográfico en alguno de los pasos anteriores o que en el cambio de Ip/Nombre hayas olvidado cambiar el fichero hosts, por ejemplo.

Posted in linux, sysadmin | Tagged , , , , | Leave a comment

Migrar datos/data webalizer

Aunque webalizer es un sistema bastante viejo y “tosco” de estadísticas. Es cierto que cumple su función a la perfección y si esas estadísticas son para uno mismo, es probable que las prefiramos a otras más atractivas visualmente ya que nos saca mucha información de un sólo plumazo.

Si en algún momento necesitamos migrar los datos de webalizer de un servidor a otro por el motivo que sea, debemos de tener en cuenta varias carpetas/ficheros.
Dentro de la configuración de webalizer (webalizer.conf) encontramos gran cantidad de parámetros. Los que hacen referencia a los ficheros que indicamos son: OutputDir, HistoryName, IncrementalName, DNSCache.

Toma nota de esos ficheros y migralos a su correspondiente ubicación en el nuevo servidor.
En mi caso los valores, sólo incluyen 2 carpetas, por lo que sólo debo de migrar dichas carpetas:

OutputDir      /var/www/usage
HistoryName     /var/lib/webalizer/webalizer.hist
IncrementalName /var/lib/webalizer/webalizer.current
DNSCache        /var/lib/webalizer/dns_cache.db

Con un simple scp, las pasamos al nuevo server y lo tenemos, podemos acceder a webalizer y ver los nuevos datos e ir actualizando con los nuevos registros.

scp -rp /var/lib/webalizer/* user@nuevo_host:/var/lib/webalizer/.
scp -rp /var/www/usage/* user@nuevo_host:/var/www/usage/.

Saludos!

Posted in apache, linux | Tagged , , , , , | Leave a comment

Howto: Redireccionar http a https a traves de htaccess

Cuando tenemos sitios web que utilizan certificado seguro, puede ser conveniente que redirjamos todas las peticiones que van a través de http a https, de esta manera conseguiremos que el tráfico e intercambio de datos siempre vaya cifrado.

Para conseguirlo podemos realizar modificaciones en el fichero de configuración de Apache. Si bien, es cierto que no todo el mundo (sobre todo si posees un hosting) de acceder al fichero de configuración de Apache. Una alternativa para conseguirlo es usando mod_rewrite a través del fichero .htaccess

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

En dicha regla se activa el módulo de rewrite en la primera línea.
Se indica que no entre en funcionamiento cuando se use el protocolo https.
Y en la última se indica la redirección que queremos, que lo que hace es redirigir cualquier peticición a su homónima con https.

Posted in apache, linux | Tagged , , , , , | Leave a comment

Como instalar snmp en Debian

En sí, el proceso es sencillo, pero hay alguna diferencia con respecto a RedHat/CentOS.
Si estáis bastante habituados a éstos últimos, es probable que os encontréis que no podáis consultar SNMP desde otro host.

El proceso de instalación en sí sería:

apt-get install snmpd snmp

Configuramos el snmpd.conf a nuestro gusto, para establecer información sobre el servidor y creando las comunidades que creamos para consultar la máquina.
En este punto es cuando es evidente el problema y cuando procedemos a arrancar el servidor..

 /etc/init.d/snmpd start

E intentamos consultarlo desde el exterior vemos que no llegamos.
Revisando la config y el modo en el que se lanza el servicio, vemos la clave:

 /usr/sbin/snmpd -Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1

Cambiamos la config, modificando la línea SNMPDOPTS y reinciamos para solventarlo. En el ejemplo lo asocio a 0.0.0.0, es decir a cualquier ip operativa de la máquina.

vim /etc/default/snmpd
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 0.0.0.0'

Bye!

Posted in howto, linux | Tagged , , , , | Leave a comment

Error 5000 imprimiendo – EventType clr20r3, P1 tswpfwrp.exe

El error me lo he encontrado en un entorno de Remote Desktop Services en 2008R2.
Todos los usuarios podían imprimir correctamente (Windows 7, Vista) exceptuando aquellos que tenían XP.

El error curiosamente, se ha producido tras unas actualizaciones de seguridad de los Framework .NET de Microsoft.

En qué consistía el error?
Cuando el usuario con su equipo XP se conectaba por escritorio remoto y procedía a la impresión de cualquier documento en una impresora de su oficina, la impresión se realizaba correctamente, pero venía acompañada de un Error no controlado que aperecía en pantalla bastante molesto.

Revisando el visor de eventos, en aplicación aparecía el siguiente error cada vez que se intentaba imprimir:

EventType clr20r3, P1 tswpfwrp.exe, P2 3.0.6920.1109, P3 470bc7c1, P4 windowsbase, P5 3.0.0.0, P6 4bb2dcbb, P7 e34, P8 30, P9 system.io.fileformatexception, P10 NIL.

Tras un tiempo siguiendo el problema, se comprueba como Microsoft ha sacado un HotFix recientemente para ese tipo de errores.

Tras instalarlo y proceder al reinicio del equipo, la impresión se realiza sin errores.

Analizando el HotFix vemos que únicamente suben una nueva versión del fichero tswpfwrp.exe que es justo el que nos está provocando el error.

 

Posted in windows | Tagged , , , , , | 3 Comments

Bind / Named – warning max open files (1024) is smaller than max sockets (4096)

Error que os podéis encontrar en Bind/Named en un servidor Linux.

El problema, surge a raíz de una actualización de named/bind en un momento dado que pasa a utilizar 4096 sockets por defecto. El sistema está límitado 1024.
Un modo de resolverlo rápido es añadir la siguiente línea en /etc/sysconfig/named

 OPTIONS="-S 1024"

Y reiniciar…

 service named restart

El error desaparecerá, como digo existen más formas de solventar el problema.. (aumentando el nº de max open files, p. ej) pero esta es una sencilla.

Posted in linux | Tagged , , , , | Leave a comment