wiki:Version2/Instalacion

Version 13 (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

Obtención de distro para los clientes

Lo más sencillo es descargarse la distribución ya preparada para funcionar. Puedes descargarla desde aquí: http://opengnsys.es/downloads/26

Descomprimir en el directorio /opt/opengnsys las dos carpetas que vienen en el comprimido.

Para más información sobre la generación del cliente o como poder hacer pruebas por VirtualBox puedes mirar la información de desarrollo de OGLive

Configuración

Hay que realizar varios pasos para el arranque por red. El primero es compartir la carpeta ubuntu-live. Por ahora sólo hemos conseguido que funcione en NFS. Luego hay que configurar el NFS/SAMBA, el DHCP y el TFTP.

NFS

Nosotros para compartir la carpeta ubuntu-live la renombramos y la movemos a /opt/opengnsys/live. Hay que instalar un servidor NFS y configurarlo. Un ejemplo de fichero /etc/exportfs lo puedes encontrar en source:branches/version2/live/server/exportfs. Cuando te asegures de que el cliente puede montar las tres carpetas en su sistema operativo normal podemos continuar.

SAMBA

TODO

DNSMASQ

El mejor servidor DHCP, que además ofrece TFTP, que nos ha resultado ha sido DNSMASQ. Como antes encontramos un fichero de ejemplo de /etc/dnsmasq.conf que habrá que adaptar a las necesidades particulares en source:branches/version2/live/server/exportfs. Luego asegurarse que arranca y que el cliente, de nuevo con su sistema operativo normal recibe DHCP del repositorio.

TFTP

Habréis notado que en el fichero de configuracion del dnsmasq el tftp apunta a /opt/opengnsys/tftpboot. Ahí es donde debemos colocar la otra carpeta que nos generó el live-build. Un fichero que hay que retocar es /opt/opengnsys/tftpboot/debian-live/i386/bootscreens/live.cfg. Encontramos otro de ejemplo en source:branches/version2/live/server/live.cfg.

Para configurar el tiempo se puede hacer a través del archivo /opt/opengnsys/tftpboot/pxelinux.cfg/default, la variable timeout que estima el tiempo en decimas de segundos, es decir, que si ponemos 100, habrá un timeout de 10 segundos.

TCPD

En algunas distribuciones como ArchLinux por defecto rechaza todas las conexiones de todos los servicios. No es el caso de Ubuntu y Debian. Abría que añadir al fichero /etc/hosts.allow que permita los servicios necesarios para arrancar. Un ejemplo de este fichero lo podemos encontrar en source:branches/version2/live/server/hosts.allow.

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 por red (Wake On Lan) y configurar como primera opción de arranque la red.