Esta semana entre unas cosas y otras he tenido que instalar el servidor de aplicaciones Glassfish unas 10 veces. El proceso es realmente sencillo y está perfectamente documentado.

Para instalarlo solo hay que seguir los 4 siguientes pasos:

1- Descargarlo de la página web de glassfish.

2- Descomprimir el zip o ejecutar el script de instalación.

3- Ejecutar el comando de inicio del servidor:

abian@server:~/glassfish3/bin$ ./asadmin start-domain domain1

4- Abrir en un navegador web la dirección http://127.0.0.1:4848

Página principal de Glassfish

Página principal de Glassfish

La primera vez que se abre esta página no pide password de administrador, a sí que la primera tarea de configuración post instalación será establecer un password para el usuario “admin” entrando en la sección “Dominio -> Contraseña de administración”.

También se pueden configurar los parámetros de la máquina virtual de java como la memoria máxima asignada al proceso que ejecuta el servidor glassfish (opción -Xmx). Para ello hay que ir a la sección “Configuración -> configuración del servidor -> JVM Options” como se puede ver en la siguiente captura de pantalla:

Opciones de la Máquina Virtual de Java

Opciones de la Máquina Virtual de Java

Del mismo modo, es buena idea crear un script para que arranque y pare el servidor. Para ello hay que copiar el siguiente código en un fichero en la carpeta /etc/init.d/

abian@server:~$ cat /etc/init.d/glassfish
#!/bin/bash  
GLASSFISHPATH=/home/abian/glassfish3/bin  #cambiad esto por la ruta de vuestra instalación
case “$1” in  
    start)  
      echo “starting glassfish from $GLASSFISHPATH”  
      # cambiad “abian” por el nombre de usuario que ejecutará el proceso glassfish
      sudo -u abian $GLASSFISHPATH/asadmin start-domain domain1  
      ;;  
    restart)  
      $0 stop  
      $0 start  
      ;;  
    stop)  
      echo “stopping glassfish from $GLASSFISHPATH”  
      # cambiad “abian” por el nombre de usuario que ejecutará el proceso glassfish
      sudo -u abian $GLASSFISHPATH/asadmin stop-domain domain1  
      ;;  
    *)
     #defaul value restart  
      $0 stop
      $0 start
      ;;  
esac 

No hay que olvidar asignar los permisos de ejecución a este nuevo script:

root@server:~# chmod +x /etc/init.d/glassfish

Después tan solo hay que ejecutar el comando update-rc.d (como root) para que se inicie glassfish automáticamente cuando arranca el ordenador:

root@server:~# update-rc.d glassfish defaults

Una de las cosas que resulta más cómoda es la visualización de logs ya que se puede acceder a ellos desde la sección “Servidor -> ver archivos de registro”. Glassfish permite buscar, filtrar, ordenar los eventos y errores producidos por las aplicaciones web desplegadas. Realmente es muy útil mientras se está desarrollando o realizando pruebas sobre una sección del código.

Ver archivos de log

Ver archivos de log

Un saludo

Revisando las noticias, he leído en Secutiry By Default que hay una nueva versión de JoomlaScan. He de reconocer que me ha picado la curiosidad de probar dicha aplicación con un par de instalaciones de Joomla! con las que estoy trabajando. Una de las ventajas de desarrollar un portal web basándose en Joomla! es que no hay que reinventar la rueda una y otra vez. Se puede utilizar y configurar el CMS según las necesidades concretas de cada situación y luego extenderlo hasta cubrir el total de las funcionalidades deseadas.

Hablar de seguridad en un portal web es siempre delicado. Cada día aparecen nuevas vulnerabilidades o nuevas técnicas para comprometer aplicaciones web. Utilizar Joomla! también mitiga en cierta forma el número de vulnerabilidades que pueden aparecer en una aplicación web porque el código de Joomla! es revisado antes de ser liberado. Además, al tratarse de una solución Open Source, se pueden realizar auditorías de seguridad y si alguien encuentra algún error puede avisar a los desarrolladores para que lo corrijan.

Sin embargo, Joomla! puede ser ampliado con un sin fin de extensiones. ¿Cómo podemos estar seguros de que todas las extensiones que hay instaladas en nuestro portal web son seguras? Una opción es revisar el código cuidadosamente o también se pueden utilizar programas como JoomlaScan para hacernos una idea de si hay alguna vulnerabilidad en una instalación de Joomla!

Tras descargar el script de la página web de Pepelux, se puede ejecutar el siguiente comando para realizar un escaneo (al utilizar el parámetro “cm” estamos pidiendo un informe de las posibles vulnerabilidades):

./joomlascan.pl -u http://127.0.0.1 -v -c -cm

El resultado de la ejecución se puede ver en la siguiente captura de pantalla:

Resultado de JoomlaScan

Resultado de JoomlaScan

Sin duda muy útil para recordarnos que no sólo tenemos que programar cosas que funcionan sino también tener en cuenta las posibles vulnerabilidades que podemos introducir con cada componente web que creamos.

Un saludo

Que estamos rodeados de gadgets es un hecho. Siempre que hago algún viaje con los amigos, es normal que cada uno lleve su cámara de fotos digital. De hecho, en el último viaje alguien llevó dos cámaras… Lo que es menos normal es que se establezca correctamente la fecha y hora de la cámara, lo que dificulta su organización una vez que se ha vuelto del viaje.

Cada vez que se hace una fotografía con una cámara digital, junto con la imagen se guardan unos datos extra llamados metadatos EXIF. En estos metadatos se puede encontrar desde el modelo de la cámara hasta el número de serie del objetivo. En la siguiente captura de pantalla se pueden ver los metadatos de una imagen en nautilus (botón derecho -> propiedades -> pestaña de imagen) y en un álbum público en picasa:

exif en nautilus y picasaweb

EXIF en nautilus y picasaweb

Programas como Shotwell o Picasa son capaces de gestionar bibliotecas de imágenes ordenándolas por distintos campos. Al ordenar las fotos por fecha se accede al metadato EXIF que contiene la fecha y hora en la que fue tomada. Sin embargo, si la cámara no tenía la hora correcta, el resultado de la ordenación no será el adecuado.

Una forma de solucionarlo es localizar dos fotos que se hayan tomado en el mismo momento (o en un tiempo cercano), acceder a los metadatos EXIF de cada foto para calcular la diferencia de tiempo entre ellas y luego modificar todas las fotos que sean de esa cámara para adecuarlas al horario correcto.

En la siguiente captura de pantalla se pueden ver los metadatos de dos imágenes que se hicieron en el mismo momento con cámaras distintas, que tenían configurados horas distintas.

Diferentes horas

Diferentes horas

La solución sería sumar 40 mintuos a los metadatos de las fotos realizadas con la Nikon D50 (imagen de la derecha) o restar 40 minutos a los metadatos de las fotos realizadas con la Nikon D5000 (imagen de la izquierda).

Para ello se puede utilizar el programa exiv2, que permite acceder y manipular cualquier campo de los metadatos EXIF. Se puede descargar desde la sección de descargas de su página web oficial o utilizando un gestor de paquetes (por ejemplo apt-get):

sudo apt-get install exiv2

Utilizando el parámetro “pr” se puede imprimir por pantalla la información de la foto:

exiv2 pr archivo.JPG

Mientras que si utilizamos el parámetro “ad” se pueden modificar sus metadatos. Por ejemplo, para sumar 40 minutos a la fecha de realización de la foto:

exiv2 ad -a 00:40:00 DSC_0239.JPG

Por supuesto, otras combinaciones son posibles, tan solo hay que revisar la ayuda tecleando:

exiv2 – – help

Además, se pueden utilizar expresiones regulares para aplicar los cambios a carpetas enteras o a subconjuntos de archivos dentro de una carpeta:

exiv2 add -a -01:15:00 DSCF*.JPG (restar 75 minutos a las imágenes que empiecen por DSCF, generalmente Fujifilm)

exiv2 rm DSC_0239.JPG (borrar todos los metadatos de la imagen seleccionada)

Una vez reajustadas las horas de las fotos seleccionadas, se pueden volver a cargar en el gestos de imágenes que más nos guste y ordenarlas por fecha obteniendo resultados mucho más agradables.

Un saludo

Desde el 13 de Octubre está disponible la nueva versión de Ubuntu (11.10 Oneiric Ocelot). Uno de los múltiples cambios en esta nueva versión, es la utilización de Gnome Shell o Unity como gestores de escritorio. Las mejoras gráficas de estos gestores son numerosas, sin embargo, su utilización en conexiones remotas no es del todo satisfactoria debido a su mayor consumo de recursos.

Una posible solución a este problema es la utilización de Gnome Shell o Unity en sesiones locales mientras que para sesiones remotas se puede utilizar un gestor más ligero que consuma menos recursos. Aquí es donde entra Xfce.

Xfce es un gestor de escritorio para entornos Unix o Unix-like cuyo objetivo es no consumir muchos recursos pero sin perder funcionalidades o una bonita apariencia gráfica. Puede ser descargado desde su página web oficial o utilizando un gestor de paquetes como por ejemplo apt-get:

sudo apt-get install xfce4

Como se puede ver en la siguiente captura de pantalla, solo hay que descargar 24 MB de Internet y ocupará 96 MB de espacio en disco para su instalación.

Instalación de Xfce4

Instalación de Xfce4

Una vez instalado, se puede utilizar el asistente de configuración de conexiones de NX para utilizar Xfce en las conexiones remotas.

Hay que seguir tres sencillos pasos:

  1. Establecer la dirección IP de la máquina, puerto del SSH y tipo de red a la que nos conectaremos.

    IP, puerto y tipo de red

    IP, puerto y tipo de red

  2. Seleccionar el tipo de escritorio “Custom” o personalizado y hacer click en el botón de propiedades.

    Tipo de escritorio personalizado

    Tipo de escritorio personalizado

  3. Seleccionar “Ejecutar el siguiente comando” (poniendo el valor /usr/bin/xfce4-session) y la opción “Nuevo escritorio virtual”.

    Propiedades de Xfce4

    Propiedades de Xfce4

Una vez terminada la configuración ya se puede iniciar sesión de forma remota con Xfce4:

nx con xfce4

nx con xfce4

He visto en noticiasubuntu la forma de cambiar el gestor de escritorio que se utiliza por defecto en las sesiones locales. Para utilizar gnome-shell hay que ejecutar:

sudo /usr/lib/lightdm/lightdm-set-defaults -s gnome-shell

Para volver a utilizar Unity habría que ejecutar:

sudo /usr/lib/lightdm/lightdm-set-defaults -s ubuntu

Un saludo y hasta pronto

Suelo escribir en el blog entradas relacionadas con informática o minitutoriales pero creo que lo que está pasando el Sol merece un post con unas cuantas fotos.

acampadasol

acampadasol

crisálida de Sol

crisálida de Sol

reloj

reloj

Noche en Sol

Noche en Sol

El ambiente es impresionante, la cantidad de gente que hay y lo tranquila que está llega a estremecer. Uno de los momentos más sobrecogedores fue el silencio que se hizo justo a las 0:00h del sábado 21.

Un saludo

Ya está disponible para su descarga o actualización (sudo update-manager -d) la versión 11.04 de ubuntu cuyo nombre es “Natty Narwhal”. La lista de mejoras y cambios que incluye es bastante interesante. Entre ellas se puede destacar la inclusión de:

  • Linux kernel 2.6.38.2
  • LibreOffice 3.3.2
  • gcc 4.5
  • Python 2.7
  • dpkg 1.16.0
  • Upstart 0.9
  • X.org 1.10.0 y Mesa 7.10.1
  • Firefox 4.0
  • Shotwell 0.9.1
  • Evolution 2.32.2

El sistema de escritorio por defecto pasa a ser Unity. La utilización de Unity incluye algunos cambios bastante radicales comparada con el uso habitual de Gnome, la verdad es que todavía no lo he utilizado lo suficiente como para decir si me gusta o no, los vídeos mostrados en la página web oficial muestran cosas realmente interesantes. Sin embargo, tenía la sensación de que iba a echar de menos el interfaz clásico anterior a sí que me he instalado una máquina virtual para trastear con el nuevo sistema y, sobre todo, para ver si podía utilizar el interfaz clásico. Afortunadamente, la respuesta es sí.

Otra buena noticia (al menos para mi) es que se puede utilizar una versión de Unity sin necesidad de utilizar aceleración 3D para el escritorio. Tan solo hay que instalar el paquete unity-2d que está pensado para equipos que nos disponen de una tarjeta gráfica lo suficientemente potente para mover los efectos en 3D de este nuevo sistema:

abian@desktop:/home/abian$ apt-get install unity-2d

Una vez instalado, se puede utilizar la aplicación gdmsetup (“System -> Administration -> Login Screen” o simplemente tecleando gdmsetup en consola) para elegir el interfaz de escritorio preferido para la sesión:

Selección de sesión

Selección de sesión

También se puede seleccionar desde la propia ventana del GDM:

GDM

GDM

Aquí os dejo una captura de Unity sin aceleración gráfica:

Unity-2D

Unity-2D

Un saludo

Estos últimos días he estado probando Firefox 4 y realmente va muy bien. Hay dos formas de instalarlo, la primera es ir a la página web de descargas de Mozilla y la segunda es añadir el repositorio con las compilaciones diarias de firefox en Ubuntu.

Si utilizamos el primer método tan sólo hay que descargar el fichero, descomprimirlo y ejecutar firefox:

firefox 4

Firefox 4

El segundo método permite comprobar los avances diarios en el desarrollo de Firefox, aunque también puede contener más bugs o incompatibilidad de extensiones debido a que es una versión en desarrollo. Aquí os dejo los tres sencillos pasos para instalar Firefox 4.2alpha en Ubuntu. Tan sólo hay que abrir una consola y escribir:

sudo add-apt-repository ppa:ubuntu-mozilla-daily/ppa
sudo apt-get update
sudo apt-get install firefox-4.0

Se puede abrir desde la consola con el comando firefox-trunk.

firefox4.2

firefox4.2

Un saludo