wiki:Version2/Instalacion

Version 10 (modified by adelcastillo, 13 years ago) (diff)

--

TOC(heading=Índice)?

Código

Lo primero que necesitamos es descargarnos el código de la rama de la versión 2 of OpenGnSys desde el svn. Para ello ejecutar en una consola:

svn co http://www.opengnsys.es/svn/branches/version2 opengnsys

Instalación del servidor

En el servidor corren dos servicios el WebConsole y el OGDaemon Server. Además hace falta un

Dependencias

Para ejecutar los servicios de OpenGnSys hace falta instalar algunas dependencias. You need to execute Opengnsys server services (the admin interface and the daemon) in a UNIX-like operative system as Linux. By default we use Sqlite as the database backend, but you can use any other databases that web.py and Sqlalchemy frameworks support.

Arch Linux

pacman -S community/python-sqlalchemy python-pip python-ldap
easy_install wsgilog
pip install formalchemy

Debian / Ubuntu

apt-get install python-sqlalchemy python-pip python-ldap
easy_install wsgilog
pip install formalchemy

Configuración

En el servidor es necesario que exista una base de datos que usarán los dos servicios. Por defecto es Sqlite, pero puedes cambiar la configuración en el fichero config.py para que no sea así. Para saber como configurar la base de datos usando mySQL, PostgreSQL, Oracle o cualquier otra base de datos que soporta SQLAlchemy echar un vistazo a http://www.sqlalchemy.org/docs/05/dbengine.html#create-engine-url-arguments. Después de hacer eso sólo habrá que ejecutar:

./setup.sh

Esto generará la base de datos y también los fichero de traducción para los lenguajes soportados.

SSL Setup

OpenGnSys uses secure connections among server, repositories and clients. This is done using SSL certificates certified by a CA (Certificate Authority). Note that it only checks that the certificate is valid and the certificate is trusted. You can see in SSL Certificate Authority Tutorial? how to create your own CA, create certificates and sign them. Across all the Opengnsys platform, the SSL connections are always verified on both ends: both the client and the server.

You can configure in the config file (config.py) the path to the private key of the server certificate, the path to the public key, and the path to the public key of the CA certificate. By default we include example files for each of them in the web/ssl directory, and those are the files configured to be used in the default config file. This is done for convenience, but if you want security you should create, use and deploy your own as explained in SSL Certificate Authority Tutorial?.

WebConsole?

Para ejecutar la WebConsole?:

./admin.py

El servicio web será lanzado en http://localhost:8080. Si quieres modificar el puerto usado:

./admin.py <puerto>

Recordad que para un puerto menor que 1024 hace falta tener privilegios de superusuario.

OGDaemon Server

Este demonio trabaja por defecto el puerto 1101, pero puede ser modificado en el fichero config.py usando la variable server_daemon_port. Para ejecutarlo:

./daemon.py

Instalación del repositorio

Creación de la distro para los clientes

El código para generarla se encuentra en source:/branches/version2/live/. La distro que se crea es para que los clientes arranquen a través de la red y podamos manipularlos a través de la consola web.

Instalar live-build

Para generarla hace falta la última versión de live-build, antes llamado live-helper:

$ lb -v
, version 2.0~a28-1
This program is a part of live-build

Con esa versión funcionan correctamente el proceso. Si tu Ubuntu o Debian no tiene está versión o superior, o usas otra distribución, siempre podemos instalarla manualmente:

$ git clone git://live.debian.net/git/live-boot.git
$ cd live-boot
$ sudo make install
$ cd ..
$ git clone git://live.debian.net/git/live-build.git
$ cd live-build
$ sudo make install
$ cd ..
$ git clone git://live.debian.net/git/live-config.git
$ cd live-config
$ sudo make install

Con esto ya debería suficiente para poder generarla. Siempre se puede desinstalar con un:

# sudo make uninstall

En cada directorio.

Configuración

El proceso se puede configurar con el fichero config. Existen unas cuantas variables que se pueden modificar para personalizar un poco el proceso. Con los valores que se presenta en el fichero, la creación de la distro fue satisfactoria. Especial atención a la variable SVN_DIR, que no representa como en otros scripts donde se encuentra el directorio de código de OpenGnSys descargado, sino un directorio temporal para descargar sólo partes muy especificas de las ramas.

Generación

El proceso puede ser muy largo, desde veinte minutos a más de media hora. Si el proceso fallara lo mejor es eliminar todo lo generado, porque aunque en teoría debería retomar el trabajo por donde iba, normalmente no es así y vuelve a fallar. Si no se ha modificado el fichero config, esto se encuentra en /opt/opengnsys. Para generarlo sólo hay que ejecutar:

$ ./generate.sh

Instalación de los servicios

Para que los clientes arranque por red, además de generar la distro, hay que configurar ciertos servicios como son DHCP, NFS y TFTP.

ArchLinux

Instalando los demonios:

# pacman -S nfs-utils dnsmasq

Con dnsmasq configuramos tanto el DHCP y el TFTP. Existe un fichero base que funciona. Sólo tendrás que adaptar a la configuración de tu red.

# cp server/dnsmasq.conf /etc/

Lo mismo para NFS:

# cp server/exports /etc/

Además en ArchLinux la configuración por defecto de TCPD es que deniega todo tipo de conexión. Para permitir que los clientes se puedan conectar nuestros servicios podemos añadir reglas en /etc/hosts.allow:

# cat server/hosts.allow >> /etc/hosts.allow

Ubuntu

TODO

VirtualBox

Si se quieren probar cosas en local, sin necesidad de más ordenadores, se puede configurar VirtualBox para que arranque ordenadores virtuales por red con los servicios configurados. Para ello hay que hacer las siguientes modificaciones.

TODO

Instalación del demonio OpenGnSys Repo

Todavía no se ha probado. En teoría debe funcionar con el mismo demonio que el del cliente. TODO

Ver información en inglés.

Instalación de los clientes

Para los clientes la única modificación que hay que hacer es configurar en la BIOS el arranque en red y configurarlo como primera opción de arranque.