Domingo, 21 Septiembre 2014
EyeOS PDF Imprimir Correo
SOFTWARE - General
Escrito por Elvira Mifsud   
Viernes, 17 de Diciembre de 2010 09:41

Logo eyeOS

EyeOS es un entorno de escritorio web de código libre que sigue el concepto de computación en la nube.

Introducción

El concepto de la computación en la nube (cloud computing) es relativamente novedoso y hace referencia a la utilización de servicios a través de Internet. Es decir, el usuario puede, a través del navegador web del ordenador, del teléfono móvil o de cualquier dispositivo que permita el acceso a Internet, utilizar los diferentes servicios que le proporciona dicha computación en la nube.

Por ejemplo, el usuario puede editar sus archivos, tanto de texto como fotografías, vídeos, etcétera, e introducir modificaciones. Además puede hacerlo de forma colaborativa con otros usuarios. Y puede acceder a ellos desde cualquier punto, siempre que tenga acceso a Internet. Estos archivos lógicamente deben estar en la nube para poder acceder a ellos.

Por lo tanto, una de las características mas importantes de este nueva forma de trabajo es que el usuario no tiene físicamente en su equipo los dispositivos donde se almacenan sus trabajos, datos, etc. Únicamente puede copiarlos a un dispositivo externo (como un lápiz o disco USB) pero el depositario de los mismos es el proveedor del servicio. Es decir, los archivos están en la red.

Pero también el usuario puede instalar EyeOS en su propio servidor y montar su propio sistema privado en la nube. De esta forma podrá acceder a sus datos desde cualquier lugar siempre que su servidor este expuesto en Internet. Se trata de una solución de alojamiento privado en el cual la privacidad de los datos está garantizada ya que el servidor del servicio es propio.

EyeOS es un entorno de escritorio web de código libre que sigue el concepto de computación en la nube. Se puede definir también como un sistema operativo virtual que se ejecuta sobre el navegador del usuario y la tecnología que hace posible esta forma de trabajo es AJAX (Asynchronous JavaScript And XML) .

Los creadores de EyeOS son Pau García-Milà y Marc Cercós. Ambos en 2005, estudiantes de 17 años, crearon este escritorio virtual que proporciona al usuario un gestor de archivos, editor de textos, agenda, gestor de enlaces, calendario, calculadora, mensajería interna, y muchas aplicaciones mas. El proyecto oficialmente aparece en el año 2008. Desde esa fecha las descargas de su aplicación EyeOS han sido innumerables.

El proyecto ha sido premiado en varias ocasiones y ha recibido menciones especiales, como por ejemplo en la 'Webware 100 Awards' en la que quedó finalista compitiendo con plataformas equivalentes de los colosos Google, Apple y Microsoft.

En este sentido, aunque existen esas otras opciones de escritorio virtual 'en la nube', EyeOS es la única que permite la instalación del software en servidores propios de los usuarios y/o empresas, proporcionando un entorno que garantiza la confidencialidad y privacidad de los datos almacenados.

EyeOS: características

Realmente EyeOS es como un sistema operativo que se utiliza a través del navegador web. Las aplicaciones se instalan en ese entorno web y permiten el acceso desde cualquier punto siempre que se disponga de conectividad a Internet.

La propia instalación de EyeOS incluye aplicaciones como procesador de textos, calendario, cliente de correo, hoja de cálculo, un administrador de archivos, agenda, juegos, etc. Permite leer documentos pdf, importar archivos desde el ordenador local al escritorio personal en la nube, trabajar con archivos almacenados en DVD, memorias USB, etc.

Existe también la posibilidad de crear aplicaciones integrables en el propio escritorio por parte de desarrolladores externos. Para ello en http://eyeos-apps.org/ existen herramientas disponibles y en esta web se organizan las aplicaciones realizadas.

EyeOS al tener licencia libre puede ser instalado de forma gratuita (como es nuestro caso) en un servidor privado que disponga del servidor web Apache y el lenguaje de programación PHP. De esta forma el usuario tiene un control completo sobre sus datos.  También se puede disponer del escritorio en la nube instalando en el servidor público que proporciona EyeOS ( www.eyeOS.info).

La web oficial del proyecto es http://eyeos.org/.

Existe una versión 2.x estable disponible desde http://www.eyeos.org/downloads/download-2-x-version/. En esta página se indica que eyeOS está licenciado bajo los términos de GNU Affero General Public License y sigue un modelo Open Source.

También está disponible para su descarga desde la página de sourceforge: http://sourceforge.net/projects/eyeos/files/

La figura siguiente muestra el escritorio virtual de la nueva versión 2.1, después de cambiar el idioma a español.

¿Cuáles son los pilares sobre los que se construye eyeOS? Principalmente son los siguientes:

  • Apache, como servidor web.
  • PHP, como lenguaje de script
  • AJAX, como arquitectura de web dinámica
  • DHTML

Y ¿cuáles son sus ventajas e inconvenientes?

Como ventajas podemos incluir que EyeOS 2.x es:

  • Fácil de usar: en esta versión se ha mejorado mucho la usabilidad del sistema
  • Escritorio accesible desde cualquier ordenador con un navegador que tenga instalados los plugins necesarios podrá ejecutar el escritorio web.
  • Se puede utilizar de forma local instalando el software básico en el propio ordenador y a continuación instalando EyeOS. Así el ususario puede utilizar el escritorio web, pero localmente sin depender totalmente de Internet.
  • Dispone de un conjunto mayor de aplicaciones
  • Permite la posibilidad de subir archivos.

Como desventajas podemos indicar que:

  • No puede ser utilizado sin conexión.
  • Sólo es compatible con sus aplicaciones.
  • El visor de documentos no abre bien los archivos subidos.
  • La complejidad de la instalación.

Novedades de la versión 2 de EyeOS

Algunas de las mejoras, que oficialmente se indican, de esta versión respecto a la anterior son:

  1. Colaboración online en tiempo real: editor de textos para trabajar con documentos desde la web de forma simultánea.

  2. Mejora la compartición de archivos, calendarios y agendas entre usuarios.

  3. Mejora de las notificaciones: cuando se produce un evento sobre un documento compartido todos los usuarios implicados reciben en tiempo real la notificación.

  4. La configuración del escritorio es mas sencilla e incluye un panel de administración que permite cambiar el idioma, el aspecto de nuestro escritorio, posibilidad de incluir fotografía, administrar usuarios y grupos, etc.

  5. Soporte completo para los navegadores mas usuales, como son Firefox, Internet Explorer, Opera,...

  6. Proceso de instalación mas sencillo, basado en la descarga de un archivo comprimido tar, su descompresión y desempaquetado y acceso a la instalación desde el navegador. A partir de este punto el proceso es guiado, aunque no es trivial.

  7. Mejora del núcleo del sistema, librerías y aplicaciones que en esta versión pueden soportar una mayor carga además de ser más rápidas.

Instalación2

El proceso de instalación de EyeOS realmente tiene unos requerimientos de instalación de paquetería, servicios y modificación de configuraciones, que, como se puede comprobar a lo largo del artículo, requiere una cierta destreza.

La instalación de la versión 2.x beta requería la instalación previa de varios paquetes así como comprobaciones de configuración en diferentes archivos. En el caso de la instalación de la versión 2.x estable ha trasladado todos estos procesos a un entorno web que va indicando al usuario todo aquello que debería tener instalado y/o configurado y que no tiene. Es decir, los pasos son los mismos pero ahora mostrado desde un entorno web de instalación, pero el trabajo de la consola y/o utilización de Synaptic, no se ha eliminado.

En este artículo hemos optado por una instalación mixta. Hemos instalado algunos de los paquetes requeridos previamente y de esa forma comprobamos que los detecta correctamente y dejamos que el proceso de instalación nos indique lo que falta por instalar/configurar.

Requisitos

  1. El requisito fundamental para llevar a cabo correctamente la instalación de EyeOS es disponer de los siguientes programas:

  • Servidor web Apache : Apache HTTP Server 2.x
  • Sistema gestor de base de datos MySQL : MySQL-server y MySQL-client 5.x
  • Lenguaje de programación PHP : mínimo php 5.2

Desde Ubuntu utilizar la herramienta Synaptic para llevar a cabo dichas instalaciones. En el caso de Apache la versión que se instala en Ubuntu 10.10 Maverick Meerkat (version de Ubuntu con la que se han realizado las pruebas) es la 2.2.16, de MySQL cliente y servidor es la 5.1.49 y de PHP es la 5.3.3.

  1. Otro requisito es disponer de una suite ofimática con la cual poder crear/editar los archivos. En nuestro caso Ubuntu lleva ya incorporado OpenOffice 3.2.

  2. Además se necesitan los siguientes paquetes que instalamos con Synaptic: php5-curl, php5-gd, php5-mcrypt, php5-mysql, php5-sqlite, php5-db, python-support, python-simplejson, stomp.py, libmysql-java y recoll. Si no se instalan previamente el sistema nos avisará.

  3. Por otra parte conviene comprobar que están disponibles los siguientes elementos:

  • pdo: PDO (PHP Data Objects) es una extensión de PHP, disponible a partir de la versión 5.1, que tiene extensión para la versión 5.0 también. PDO crea básicamente una capa de abstracción, que permite al desarrollador abstraerse de la base de datos de una aplicación. Y de esa manera, hacer el código portable a otras plataformas y motores de bases de datos.

error_reporting = E_ALL & ~E_NOTICE

 

display_errors = Off

max_execution_time = 30

max_input_time = 60

memory_limit = 128M

post_max_size = 200M

upload_max_filesize = 100M

allow_url_fopen = On

disable_functions =

Instalación de requerimientos de EyeOS

MySQL

Instalar el sistema gestor de bases de datos MySQL: en el punto 4.1 se ha instalado el paquete mysql-server y libmysql-java. Ahora nos queda crear la BBDD llamada 'eyeos'.

  1. Crear la base de datos que va a utilizar EyeOS y que contendrá todas sus tablas. Esta base de datos que llamaremos eyeos deberá estar en /var/lib/mysql/.

    Entramos en mysql. Hemos de avisar al servidor MySQL de quien somos (-u root , es decir el usuario root de MySQL) y que vamos a introducir la contraseña (-p ). A continuación comprobamos que se ha creado la base de datos eyeos.

    #mysql -u root -p ;introducir la contraseña

    mysql> create database eyeos default character set utf8 collate utf8_unicode_ci;

    Query OK, 1 row affected (0.00 sec)

    mysql> flush privileges;

    Query OK, 0 rows affected (0.00 sec)

    mysql> show databases;

      +--------------------+

      | Database |

      +--------------------+

      | information_schema |

      | eyeos |

      | mysql |

      +--------------------+

    mysql> quit;

    Bye

    En este momento ya tenemos disponible la base de datos de EyeOS. Las tablas se crearán ejecutando una serie de sentencias SQL que indicamos en los puntos siguientes.

  2. En primer lugar ejecutaremos la sentencia SQL almacenada en /var/www/eyeos/extras/EyeosUMSQL/EyeosUMSQL.sql . Para ello ejecutar desde este directorio la secuencia de órdenes siguiente:

    # mysql -u root -p

    mysql> use eyeos;

    mysql> source EyeosUMSQL.sql;

    Query OK, 0 rows affected (0.00 sec)

    ................

    mysql> exit;

  3. A continuación ejecutamos la sentencia SQL almacenada en /var/www/eyeos/extras/EyeosEventsNotificationSQL/. Para ello vamos al directorio correspondiente y desde allí ejecutamos:
  4. # mysql -u root -p

    mysql> use eyeos;

    mysql> source EyeosEventNotification.sql;

    Query OK, 0 rows affected (0.00 sec)

    ................

    mysql> exit;

  5. Por último vamos al directorio /var/www/eyeos/extras/EyeosPeopleSQL y ejecutamos:

# mysql -u root -p

mysql> use eyeos;

mysql> source EyeosPeopleSQL.sql;

Query OK, 0 rows affected (0.00 sec)

................

mysql> exit;

Apache

Configuración del módulo de Apache mod-rewrite

  1. Activamos el módulo mod-rewrite

    $ sudo a2enmod rewrite

  2. Editamos el archivo de configuración del sitio de Apache por defecto y activamos para que todos los usuarios puedan crear archivos .htaccess.

$ sudo gedit /etc/apache2/sites-available/default

AllowOverride All

......

$ sudo /etc/init.d/apache2 restart

Instalación de EyeOS

Una vez instalados estos paquetes y hechas las comprobaciones, ya podemos invocar el proceso de instalación de eyeOS desde el propio navegador.

Para instalar la última versión de EyeOS en Ubuntu desde el navegador ir a http://eyeos.org/index.php?p=download2x o http://sourceforge.net/projects/eyeos/ y seleccionar el paquete tar.gz.

Si la instalación se va a hacer desde Windows utilizar el paquete comprimido .zip.

Nosotros hemos descargado el paquete eyeos-2.2.0.0.tar.gz.

Los pasos para realizar la instalación son:

  1. Extraer (descomprimir) el contenido de eyeos-2.2.0.0.tar.gz en el directorio web, que en caso de Ubuntu es /var/www/. También se puede hacer en el directorio local donde se ha realizado la descarga y luego mover el directorio creado a /var/www/.

    Nosotros lo hemos realizado de esta forma y comprobamos que se crea un directorio llamado eyeOS con el contenido descomprimido. Para ello, abrir una terminal y ejecutar:

    $ sudo tar xvzf eyeOS-2.2.0.0.tar.gz

  2. Cortar y pegar el directorio descomprimido con todo su contenido al directorio web, que es la carpeta en la cual el servidor web busca los archivos que debe mostrar. En el caso de Ubuntu es /var/www/.
  3. $ sudo mv eyeos/ /var/www/

  4. Revisar los permisos de lectura y escritura del directorio y su contenido. Comprobamos que los permisos del directorio /var/www/eyeos/ y de su contenido son:
  5. drwxr-xr-x 9 elvira elvira 4096 2010-05-31 18:38 eyeos

    Vamos a dejar todos permisos activados para todos los usuarios. En el caso de Ubuntu abrir una terminal y ejecutar de forma recursiva (-R):

    $ sudo chmod -R 777 /var/www/eyeos/

  6. Cedemos la propiedad y grupo de los archivos al usuario de apache www-data:
  7. $ sudo chown -R www-data:www-data /var/www/eyeos/

  8. Ahora hemos de editar el archivo settings.php disponible en /var/www/eyeos/ y en la sección STORAGE adaptar los valores por defecto a los nuestros:

 

// STORAGE

define('SQL_CONNECTIONSTRING','mysql:dbname=eyeos;host=127.0.0.1');

define('SQL_USERNAME', 'root');

define('SQL_PASSWORD', 'elvira');

//ACTIVEMQ URL

define('ACTIVEMQ_DESTINATION_URL', 'ws://192.168.0.101:8001/activemq');

define('ACTIVEMQ_CHANNEL_PREFIX', '/topic/');

define('STOMP_PROXY_URL', 'tcp://localhost:61613');

    Por defecto tenemos creado el usuario root cuya contraseña hemos cambiado a 'elvira'.

Por último ir al navegador y acceder a http://localhost/eyeos/install o http://127.0.0.1/eyeos/install y veremos la ventana de conexión siguiente:


Esta pantalla indica que durante el proceso de instalación se nos van a hacer preguntas y sugerencias de configuración del servidor que requieren ser el usuario root. De lo contrario habrá funcionalidades que no estarán activas.

Pulsar en Instalar eyeOS 2 en mi servidor. Muestra la siguiente pantalla indicando los elementos necesarios que ya han sido instalados, los que faltan o determinadas configuraciones que deben ser modificadas.

La segunda mitad de la pantalla mostrada corresponde a la figura siguiente:

Ahora el sistema advierte que, si pese a las alertas y avisos que se nos hace sobre requerimientos del sistema no satisfechos, queremos seguir la instalación tendremos probablemente algunos problemas, como fallos inesperados o pérdida de datos.

Entre los avisos que se nos dan, comprobamos que muchos de los paquetes requeridos ya lo hemos instalado previamente, pero siguen habiendo algunos detalles que deberemos subsanar. Entre ellos:

  • Comprobamos que aún nos queda por instalar el paquete python-stomp.py. Lo instalamos con Synaptic.

  • También indica que en php.ini display_errors debe estar Disabled. Editamos el archivo php.ini y lo desactivamos.

  • Si queremos poder extraer información (metadatos) mp3 hay que instalar el paquete libimage-exiftool-perl. Lo instalamos.

  • Tenemos instalado Openoffice.org (si no se tuviera instalada la suite de oficina habría que instalarla), pero necesitamos tener activo el demonio correspondiente para realizar la conversión de documentos, por ejemplo a PDF. Para ello:

    • Hemos de estar seguros que el usuario www-data tiene permisos de escritura en su propio home. Se puede conocer cual es su home en el archivo /etc/passwd, que en Ubuntu es /var/www/

$ ls /var

drwxr-xr-x 4 root root 4096 2010-11-18 21:08 www

  • Damos permiso de escritura para los otros, para que www-data pueda escribir en dicho directorio.
  • El usuario www-data ejecuta el demonio de Openoffice ejecutando la siguiente secuencia de órdenes:

$ su www-data

$ soffice "-accept=socket,host=localhost,port=2002;urp;" -headless

Comprobamos que el demonio está en ejecución:

$ sudo netstat -atunp

tcp 0 0 127.0.0.1:2002 0.0.0.0:* ESCUCHAR 2667/soffice.bin

Como el usuario www-data no se loga, podemos asignarle contraseña entrando como root y ejecutando el comando passwd para asignarle contraseña.

$ sudo su

[sudo] password for elvira:

# passwd www-data

Introduzca la nueva contraseña de UNIX:

Vuelva a escribir la nueva contraseña de UNIX:

passwd: contraseña actualizada correctamente

Otra opción es editar el archivo /etc/sudoers e indicar que el usuario www-data no necesitará contraseña para ejecutar cualquier comando.

www-data ALL=(ALL) NOPASSWD:ALL

Comprobamos que ha ido todo bien si al ejecutar la orden ps aux vemos la línea correspondiente al proceso lanzado:

www-data 3872 2.4 1.8 110716 37400 pts/0 Sl 19:09 0:00 /usr/lib/openoffice/program/soffice.bin -accept = socket, host = localhost, port = 2002; urp

Instalación de Kaazing

¿Qué es Kaazing Gateway?

Kaazing es un servidor web de transmisión continua, bidireccional y de código abierto siendo la primera implementación del mundo de la especificación de HTML 5 Web Sockets.

Bien, resumiendo podemos decir que la instalación de esta herramienta es básica para el funcionamiento de las notificaciones de eyeOS en tiempo real, ya que permite interconectar a cientos de usuarios. De la misma forma es también necesaria la instalación del ActiveMQ Daemon.

  1. Instalar Java JRE

    Hay que ir a los repositorios y activar los repositorios de los socios de Canonical:

    Orígenes del software

    $ sudo apt-get update

    Ya tenemos el sistema actualizado con las versiones de los paquetes. Ahora instalamos:

    $ sudo apt-get install sun-java6-jre sun-java6-plugin sun-java6-fonts

    Para confirmar que se ha realizado la instalación ejecutar:

    $ java -version

    java version "1.6.0_22"

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

    Java HotSpot(TM) Server VM (build 17.1-b03, mixed mode)

  2. Kaazing Gateway
  3. Descargar desde http://www.kaazing.org/confluence/display/KAAZING/Download la versión demo de Kaazing Gateway para Linux kaazing-gateway-demos-8.12_2-bin.tar.gz.

    Extraer el contenido del paquete:

    $ gunzip kaazing-gateway-demos-8.12_2-bin.tar.gz

    $ tar xvf kaazing-gateway-demos-8.12_2-bin.tar

    Este desempaquetado genera el directorio:

  • kaazing-gateway-8.12_2

  1. Apache ActiveMQ

    Descargar desde http://activemq.apache.org/activemq-532-release.html el archivo apache-activemq-5.3.2-bin.tar.gz

    Extraer el contenido del paquete. Comprobar que se genera el directorio:

  • apache-activemq-5.3.2

  1. Copiar desde /var/www/eyeos/extras/netSyncCONF/apache-activemq/conf/ el archivo activemq.xml e incluir en el directorio en el que se ha extraído el archivo tar de kaazing. Por ejemplo si se ha extraído en el home del usuario habría que copiar en /home/elvira/apache-activemq-5.1.0/conf/.

  2. Copiar desde /var/www/eyeos/extras/netSyncCONF/kaazing-gateway/conf/ el archivo gateway-config.xml e incluir en /home/elvira/kaazing-gateway-8.12_2/conf/.

  3. Editar el archivo /home/elvira/kaazing-gateway-8.12_2/conf/gateway-config.xml y cambiar en :
  4. xmlns="http://xmlns.kaazing.org/gateway-config/battlestar">

    *.*.*.*

    En este mismo archivo buscar todas las ocurrencias de la IP 192.168.1.62 y sustituirlas por la IP de nuestro equipo servidor. En mi caso es 192.168.0.101.

    Los puertos 80, 8000 y 8001 deben estar abiertos hacia el exterior.

  5. Por último hay que ejecutar dos demonios de kaazing en nuestro equipo:

$ cd /home/elvira/kaazing-gateway-8.12_2/bin/

$ sh gateway.start &

$ cd /home/elvira/apache-activemq-5.3.2/bin/

$ sh activemq &

Se generan sendas salidas por la terminal indicando que se están ejecutando ambos procesos:

elvira 3925 0.0 0.0 1900 512 pts/0 S 19:14 0:00 sh gateway.start

elvira 3928 2.0 2.0 683156 41300 pts/0 Sl 19:14 0:03 java -Xmx512m -DGATEWAY_HOME=/home/elvira/kaazing-gateway-8.12_2 -cp :/home/elvira/kaazing-g

elvira 3949 0.3 0.1 7880 3320 pts/2 Ss+ 19:15 0:00 bash

elvira 3973 4.0 2.0 681216 41320 pts/2 Sl 19:16 0:02 /usr/bin/java -Xmx512M -Dorg.apache.activemq.UseDedicatedTaskRunner=true -Dcom.sun.managemen

EyeOS es un entorno de escritorio web de código libre que sigue el concepto de computación en la nube.


Introducción

El concepto de la computación en la nube (cloud computing) es relativamente novedoso y hace referencia a la utilización de servicios a través de Internet. Es decir, el usuario puede, a través del navegador web del ordenador, del teléfono móvil o de cualquier dispositivo que permita el acceso a Internet, utilizar los diferentes servicios que le proporciona dicha computación en la nube.

Por ejemplo, el usuario puede editar sus archivos, tanto de texto como fotografías, vídeos, etcétera, e introducir modificaciones. Además puede hacerlo de forma colaborativa con otros usuarios. Y puede acceder a ellos desde cualquier punto, siempre que tenga acceso a Internet. Estos archivos lógicamente deben estar en la nube para poder acceder a ellos.

Por lo tanto, una de las características mas importantes de este nueva forma de trabajo es que el usuario no tiene físicamente en su equipo los dispositivos donde se almacenan sus trabajos, datos, etc. Únicamente puede copiarlos a un dispositivo externo (como un lápiz o disco USB) pero el depositario de los mismos es el proveedor del servicio. Es decir, los archivos están en la red.

Pero también el usuario puede instalar EyeOS en su propio servidor y montar su propio sistema privado en la nube. De esta forma podrá acceder a sus datos desde cualquier lugar siempre que su servidor este expuesto en Internet. Se trata de una solución de alojamiento privado en el cual la privacidad de los datos está garantizada ya que el servidor del servicio es propio.

EyeOS es un entorno de escritorio web de código libre que sigue el concepto de computación en la nube. Se puede definir también como un sistema operativo virtual que se ejecuta sobre el navegador del usuario y la tecnología que hace posible esta forma de trabajo es AJAX (Asynchronous JavaScript And XML) .

Los creadores de EyeOS son Pau García-Milà y Marc Cercós. Ambos en 2005, estudiantes de 17 años, crearon este escritorio virtual que proporciona al usuario un gestor de archivos, editor de textos, agenda, gestor de enlaces, calendario, calculadora, mensajería interna, y muchas aplicaciones mas. El proyecto oficialmente aparece en el año 2008. Desde esa fecha las descargas de su aplicación EyeOS han sido innumerables.

El proyecto ha sido premiado en varias ocasiones y ha recibido menciones especiales, como por ejemplo en la 'Webware 100 Awards' en la que quedó finalista compitiendo con plataformas equivalentes de los colosos Google, Apple y Microsoft.

En este sentido, aunque existen esas otras opciones de escritorio virtual 'en la nube', EyeOS es la única que permite la instalación del software en servidores propios de los usuarios y/o empresas, proporcionando un entorno que garantiza la confidencialidad y privacidad de los datos almacenados.

EyeOS: características

Realmente EyeOS es como un sistema operativo que se utiliza a través del navegador web. Las aplicaciones se instalan en ese entorno web y permiten el acceso desde cualquier punto siempre que se disponga de conectividad a Internet.

La propia instalación de EyeOS incluye aplicaciones como procesador de textos, calendario, cliente de correo, hoja de cálculo, un administrador de archivos, agenda, juegos, etc. Permite leer documentos pdf, importar archivos desde el ordenador local al escritorio personal en la nube, trabajar con archivos almacenados en DVD, memorias USB, etc.

Existe también la posibilidad de crear aplicaciones integrables en el propio escritorio por parte de desarrolladores externos. Para ello en http://eyeos-apps.org/ existen herramientas disponibles y en esta web se organizan las aplicaciones realizadas.

EyeOS al tener licencia libre puede ser instalado de forma gratuita (como es nuestro caso) en un servidor privado que disponga del servidor web Apache y el lenguaje de programación PHP. De esta forma el usuario tiene un control completo sobre sus datos.  También se puede disponer del escritorio en la nube instalando en el servidor público que proporciona EyeOS ( www.eyeOS.info).

La web oficial del proyecto es http://eyeos.org/.

Existe una versión 2.x estable disponible desde http://www.eyeos.org/downloads/download-2-x-version/. En esta página se indica que eyeOS está licenciado bajo los términos de GNU Affero General Public License y sigue un modelo Open Source.

También está disponible para su descarga desde la página de sourceforge: http://sourceforge.net/projects/eyeos/files/

La figura siguiente muestra el escritorio virtual de la nueva versión 2.1, después de cambiar el idioma a español.

¿Cuáles son los pilares sobre los que se construye eyeOS? Principalmente son los siguientes:

  • Apache, como servidor web.
  • PHP, como lenguaje de script
  • AJAX, como arquitectura de web dinámica
  • DHTML

Y ¿cuáles son sus ventajas e inconvenientes?

Como ventajas podemos incluir que EyeOS 2.x es:

  • Fácil de usar: en esta versión se ha mejorado mucho la usabilidad del sistema
  • Escritorio accesible desde cualquier ordenador con un navegador que tenga instalados los plugins necesarios podrá ejecutar el escritorio web.
  • Se puede utilizar de forma local instalando el software básico en el propio ordenador y a continuación instalando EyeOS. Así el ususario puede utilizar el escritorio web, pero localmente sin depender totalmente de Internet.
  • Dispone de un conjunto mayor de aplicaciones
  • Permite la posibilidad de subir archivos.

Como desventajas podemos indicar que:

  • No puede ser utilizado sin conexión.
  • Sólo es compatible con sus aplicaciones.
  • El visor de documentos no abre bien los archivos subidos.
  • La complejidad de la instalación.

Novedades de la versión 2 de EyeOS

Algunas de las mejoras, que oficialmente se indican, de esta versión respecto a la anterior son:

  1. Colaboración online en tiempo real: editor de textos para trabajar con documentos desde la web de forma simultánea.

  2. Mejora la compartición de archivos, calendarios y agendas entre usuarios.

  3. Mejora de las notificaciones: cuando se produce un evento sobre un documento compartido todos los usuarios implicados reciben en tiempo real la notificación.

  4. La configuración del escritorio es mas sencilla e incluye un panel de administración que permite cambiar el idioma, el aspecto de nuestro escritorio, posibilidad de incluir fotografía, administrar usuarios y grupos, etc.

  5. Soporte completo para los navegadores mas usuales, como son Firefox, Internet Explorer, Opera,...

  6. Proceso de instalación mas sencillo, basado en la descarga de un archivo comprimido tar, su descompresión y desempaquetado y acceso a la instalación desde el navegador. A partir de este punto el proceso es guiado, aunque no es trivial.

  7. Mejora del núcleo del sistema, librerías y aplicaciones que en esta versión pueden soportar una mayor carga además de ser más rápidas.

Instalación2

El proceso de instalación de EyeOS realmente tiene unos requerimientos de instalación de paquetería, servicios y modificación de configuraciones, que, como se puede comprobar a lo largo del artículo, requiere una cierta destreza.

La instalación de la versión 2.x beta requería la instalación previa de varios paquetes así como comprobaciones de configuración en diferentes archivos. En el caso de la instalación de la versión 2.x estable ha trasladado todos estos procesos a un entorno web que va indicando al usuario todo aquello que debería tener instalado y/o configurado y que no tiene. Es decir, los pasos son los mismos pero ahora mostrado desde un entorno web de instalación, pero el trabajo de la consola y/o utilización de Synaptic, no se ha eliminado.

En este artículo hemos optado por una instalación mixta. Hemos instalado algunos de los paquetes requeridos previamente y de esa forma comprobamos que los detecta correctamente y dejamos que el proceso de instalación nos indique lo que falta por instalar/configurar.

Requisitos

  1. El requisito fundamental para llevar a cabo correctamente la instalación de EyeOS es disponer de los siguientes programas:

  • Servidor web Apache : Apache HTTP Server 2.x
  • Sistema gestor de base de datos MySQL : MySQL-server y MySQL-client 5.x
  • Lenguaje de programación PHP : mínimo php 5.2

Desde Ubuntu utilizar la herramienta Synaptic para llevar a cabo dichas instalaciones. En el caso de Apache la versión que se instala en Ubuntu 10.10 Maverick Meerkat (version de Ubuntu con la que se han realizado las pruebas) es la 2.2.16, de MySQL cliente y servidor es la 5.1.49 y de PHP es la 5.3.3.

  1. Otro requisito es disponer de una suite ofimática con la cual poder crear/editar los archivos. En nuestro caso Ubuntu lleva ya incorporado OpenOffice 3.2.

  2. Además se necesitan los siguientes paquetes que instalamos con Synaptic: php5-curl, php5-gd, php5-mcrypt, php5-mysql, php5-sqlite, php5-db, python-support, python-simplejson, stomp.py, libmysql-java y recoll. Si no se instalan previamente el sistema nos avisará.

  3. Por otra parte conviene comprobar que están disponibles los siguientes elementos:

  • pdo: PDO (PHP Data Objects) es una extensión de PHP, disponible a partir de la versión 5.1, que tiene extensión para la versión 5.0 también. PDO crea básicamente una capa de abstracción, que permite al desarrollador abstraerse de la base de datos de una aplicación. Y de esa manera, hacer el código portable a otras plataformas y motores de bases de datos.

error_reporting = E_ALL & ~E_NOTICE

 

display_errors = Off

max_execution_time = 30

max_input_time = 60

memory_limit = 128M

post_max_size = 200M

upload_max_filesize = 100M

allow_url_fopen = On

disable_functions =

Instalación de requerimientos de EyeOS

MySQL

Instalar el sistema gestor de bases de datos MySQL: en el punto 4.1 se ha instalado el paquete mysql-server y libmysql-java. Ahora nos queda crear la BBDD llamada 'eyeos'.

  1. Crear la base de datos que va a utilizar EyeOS y que contendrá todas sus tablas. Esta base de datos que llamaremos eyeos deberá estar en /var/lib/mysql/.

    Entramos en mysql. Hemos de avisar al servidor MySQL de quien somos (-u root , es decir el usuario root de MySQL) y que vamos a introducir la contraseña (-p ). A continuación comprobamos que se ha creado la base de datos eyeos.

    #mysql -u root -p ;introducir la contraseña

    mysql> create database eyeos default character set utf8 collate utf8_unicode_ci;

    Query OK, 1 row affected (0.00 sec)

    mysql> flush privileges;

    Query OK, 0 rows affected (0.00 sec)

    mysql> show databases;

      +--------------------+

      | Database |

      +--------------------+

      | information_schema |

      | eyeos |

      | mysql |

      +--------------------+

    mysql> quit;

    Bye

    En este momento ya tenemos disponible la base de datos de EyeOS. Las tablas se crearán ejecutando una serie de sentencias SQL que indicamos en los puntos siguientes.

  2. En primer lugar ejecutaremos la sentencia SQL almacenada en /var/www/eyeos/extras/EyeosUMSQL/EyeosUMSQL.sql . Para ello ejecutar desde este directorio la secuencia de órdenes siguiente:

    # mysql -u root -p

    mysql> use eyeos;

    mysql> source EyeosUMSQL.sql;

    Query OK, 0 rows affected (0.00 sec)

    ................

    mysql> exit;

  3. A continuación ejecutamos la sentencia SQL almacenada en /var/www/eyeos/extras/EyeosEventsNotificationSQL/. Para ello vamos al directorio correspondiente y desde allí ejecutamos:
  4. # mysql -u root -p

    mysql> use eyeos;

    mysql> source EyeosEventNotification.sql;

    Query OK, 0 rows affected (0.00 sec)

    ................

    mysql> exit;

  5. Por último vamos al directorio /var/www/eyeos/extras/EyeosPeopleSQL y ejecutamos:

# mysql -u root -p

mysql> use eyeos;

mysql> source EyeosPeopleSQL.sql;

Query OK, 0 rows affected (0.00 sec)

................

mysql> exit;

Apache

Configuración del módulo de Apache mod-rewrite

  1. Activamos el módulo mod-rewrite

    $ sudo a2enmod rewrite

  2. Editamos el archivo de configuración del sitio de Apache por defecto y activamos para que todos los usuarios puedan crear archivos .htaccess.

$ sudo gedit /etc/apache2/sites-available/default

AllowOverride All

......

$ sudo /etc/init.d/apache2 restart

Instalación de EyeOS

Una vez instalados estos paquetes y hechas las comprobaciones, ya podemos invocar el proceso de instalación de eyeOS desde el propio navegador.

Para instalar la última versión de EyeOS en Ubuntu desde el navegador ir a http://eyeos.org/index.php?p=download2x o http://sourceforge.net/projects/eyeos/ y seleccionar el paquete tar.gz.

Si la instalación se va a hacer desde Windows utilizar el paquete comprimido .zip.

Nosotros hemos descargado el paquete eyeos-2.2.0.0.tar.gz.

Los pasos para realizar la instalación son:

  1. Extraer (descomprimir) el contenido de eyeos-2.2.0.0.tar.gz en el directorio web, que en caso de Ubuntu es /var/www/. También se puede hacer en el directorio local donde se ha realizado la descarga y luego mover el directorio creado a /var/www/.

    Nosotros lo hemos realizado de esta forma y comprobamos que se crea un directorio llamado eyeOS con el contenido descomprimido. Para ello, abrir una terminal y ejecutar:

    $ sudo tar xvzf eyeOS-2.2.0.0.tar.gz

  2. Cortar y pegar el directorio descomprimido con todo su contenido al directorio web, que es la carpeta en la cual el servidor web busca los archivos que debe mostrar. En el caso de Ubuntu es /var/www/.
  3. $ sudo mv eyeos/ /var/www/

  4. Revisar los permisos de lectura y escritura del directorio y su contenido. Comprobamos que los permisos del directorio /var/www/eyeos/ y de su contenido son:
  5. drwxr-xr-x 9 elvira elvira 4096 2010-05-31 18:38 eyeos

    Vamos a dejar todos permisos activados para todos los usuarios. En el caso de Ubuntu abrir una terminal y ejecutar de forma recursiva (-R):

    $ sudo chmod -R 777 /var/www/eyeos/

  6. Cedemos la propiedad y grupo de los archivos al usuario de apache www-data:
  7. $ sudo chown -R www-data:www-data /var/www/eyeos/

  8. Ahora hemos de editar el archivo settings.php disponible en /var/www/eyeos/ y en la sección STORAGE adaptar los valores por defecto a los nuestros:

 

// STORAGE

define('SQL_CONNECTIONSTRING','mysql:dbname=eyeos;host=127.0.0.1');

define('SQL_USERNAME', 'root');

define('SQL_PASSWORD', 'elvira');

//ACTIVEMQ URL

define('ACTIVEMQ_DESTINATION_URL', 'ws://192.168.0.101:8001/activemq');

define('ACTIVEMQ_CHANNEL_PREFIX', '/topic/');

define('STOMP_PROXY_URL', 'tcp://localhost:61613');

    Por defecto tenemos creado el usuario root cuya contraseña hemos cambiado a 'elvira'.

Por último ir al navegador y acceder a http://localhost/eyeos/install o http://127.0.0.1/eyeos/install y veremos la ventana de conexión siguiente:


Esta pantalla indica que durante el proceso de instalación se nos van a hacer preguntas y sugerencias de configuración del servidor que requieren ser el usuario root. De lo contrario habrá funcionalidades que no estarán activas.

Pulsar en Instalar eyeOS 2 en mi servidor. Muestra la siguiente pantalla indicando los elementos necesarios que ya han sido instalados, los que faltan o determinadas configuraciones que deben ser modificadas.

La segunda mitad de la pantalla mostrada corresponde a la figura siguiente:

Ahora el sistema advierte que, si pese a las alertas y avisos que se nos hace sobre requerimientos del sistema no satisfechos, queremos seguir la instalación tendremos probablemente algunos problemas, como fallos inesperados o pérdida de datos.

Entre los avisos que se nos dan, comprobamos que muchos de los paquetes requeridos ya lo hemos instalado previamente, pero siguen habiendo algunos detalles que deberemos subsanar. Entre ellos:

  • Comprobamos que aún nos queda por instalar el paquete python-stomp.py. Lo instalamos con Synaptic.

  • También indica que en php.ini display_errors debe estar Disabled. Editamos el archivo php.ini y lo desactivamos.

  • Si queremos poder extraer información (metadatos) mp3 hay que instalar el paquete libimage-exiftool-perl. Lo instalamos.

  • Tenemos instalado Openoffice.org (si no se tuviera instalada la suite de oficina habría que instalarla), pero necesitamos tener activo el demonio correspondiente para realizar la conversión de documentos, por ejemplo a PDF. Para ello:

    • Hemos de estar seguros que el usuario www-data tiene permisos de escritura en su propio home. Se puede conocer cual es su home en el archivo /etc/passwd, que en Ubuntu es /var/www/

$ ls /var

drwxr-xr-x 4 root root 4096 2010-11-18 21:08 www

  • Damos permiso de escritura para los otros, para que www-data pueda escribir en dicho directorio.
  • El usuario www-data ejecuta el demonio de Openoffice ejecutando la siguiente secuencia de órdenes:

$ su www-data

$ soffice "-accept=socket,host=localhost,port=2002;urp;" -headless

Comprobamos que el demonio está en ejecución:

$ sudo netstat -atunp

tcp 0 0 127.0.0.1:2002 0.0.0.0:* ESCUCHAR 2667/soffice.bin

Como el usuario www-data no se loga, podemos asignarle contraseña entrando como root y ejecutando el comando passwd para asignarle contraseña.

$ sudo su

[sudo] password for elvira:

# passwd www-data

Introduzca la nueva contraseña de UNIX:

Vuelva a escribir la nueva contraseña de UNIX:

passwd: contraseña actualizada correctamente

Otra opción es editar el archivo /etc/sudoers e indicar que el usuario www-data no necesitará contraseña para ejecutar cualquier comando.

www-data ALL=(ALL) NOPASSWD:ALL

Comprobamos que ha ido todo bien si al ejecutar la orden ps aux vemos la línea correspondiente al proceso lanzado:

www-data 3872 2.4 1.8 110716 37400 pts/0 Sl 19:09 0:00 /usr/lib/openoffice/program/soffice.bin -accept = socket, host = localhost, port = 2002; urp

Instalación de Kaazing

¿Qué es Kaazing Gateway?

Kaazing es un servidor web de transmisión continua, bidireccional y de código abierto siendo la primera implementación del mundo de la especificación de HTML 5 Web Sockets.

Bien, resumiendo podemos decir que la instalación de esta herramienta es básica para el funcionamiento de las notificaciones de eyeOS en tiempo real, ya que permite interconectar a cientos de usuarios. De la misma forma es también necesaria la instalación del ActiveMQ Daemon.

  1. Instalar Java JRE

    Hay que ir a los repositorios y activar los repositorios de los socios de Canonical:

    Orígenes del software

    $ sudo apt-get update

    Ya tenemos el sistema actualizado con las versiones de los paquetes. Ahora instalamos:

    $ sudo apt-get install sun-java6-jre sun-java6-plugin sun-java6-fonts

    Para confirmar que se ha realizado la instalación ejecutar:

    $ java -version

    java version "1.6.0_22"

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

    Java HotSpot(TM) Server VM (build 17.1-b03, mixed mode)

  2. Kaazing Gateway
  3. Descargar desde http://www.kaazing.org/confluence/display/KAAZING/Download la versión demo de Kaazing Gateway para Linux kaazing-gateway-demos-8.12_2-bin.tar.gz.

    Extraer el contenido del paquete:

    $ gunzip kaazing-gateway-demos-8.12_2-bin.tar.gz

    $ tar xvf kaazing-gateway-demos-8.12_2-bin.tar

    Este desempaquetado genera el directorio:

  • kaazing-gateway-8.12_2

  1. Apache ActiveMQ

    Descargar desde http://activemq.apache.org/activemq-532-release.html el archivo apache-activemq-5.3.2-bin.tar.gz

    Extraer el contenido del paquete. Comprobar que se genera el directorio:

  • apache-activemq-5.3.2

  1. Copiar desde /var/www/eyeos/extras/netSyncCONF/apache-activemq/conf/ el archivo activemq.xml e incluir en el directorio en el que se ha extraído el archivo tar de kaazing. Por ejemplo si se ha extraído en el home del usuario habría que copiar en /home/elvira/apache-activemq-5.1.0/conf/.

  2. Copiar desde /var/www/eyeos/extras/netSyncCONF/kaazing-gateway/conf/ el archivo gateway-config.xml e incluir en /home/elvira/kaazing-gateway-8.12_2/conf/.

  3. Editar el archivo /home/elvira/kaazing-gateway-8.12_2/conf/gateway-config.xml y cambiar en :
  4. xmlns="http://xmlns.kaazing.org/gateway-config/battlestar">

    *.*.*.*

    En este mismo archivo buscar todas las ocurrencias de la IP 192.168.1.62 y sustituirlas por la IP de nuestro equipo servidor. En mi caso es 192.168.0.101.

    Los puertos 80, 8000 y 8001 deben estar abiertos hacia el exterior.

  5. Por último hay que ejecutar dos demonios de kaazing en nuestro equipo:

$ cd /home/elvira/kaazing-gateway-8.12_2/bin/

$ sh gateway.start &

$ cd /home/elvira/apache-activemq-5.3.2/bin/

$ sh activemq &

Se generan sendas salidas por la terminal indicando que se están ejecutando ambos procesos:

elvira 3925 0.0 0.0 1900 512 pts/0 S 19:14 0:00 sh gateway.start

elvira 3928 2.0 2.0 683156 41300 pts/0 Sl 19:14 0:03 java -Xmx512m -DGATEWAY_HOME=/home/elvira/kaazing-gateway-8.12_2 -cp :/home/elvira/kaazing-g

elvira 3949 0.3 0.1 7880 3320 pts/2 Ss+ 19:15 0:00 bash

elvira 3973 4.0 2.0 681216 41320 pts/2 Sl 19:16 0:02 /usr/bin/java -Xmx512M -Dorg.apache.activemq.UseDedicatedTaskRunner=true -Dcom.sun.managemen

 

Revista INTEFP

Marcadores Sociales

Facebook MySpace Twitter Delicious Google Bookmarks 

Artículos relacionados