[[TranslatedPages]] [[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 [wiki:Version2/SSL_Certificate_Authority_Tutorial 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 [wiki:Version2/SSL_Certificate_Authority_Tutorial 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 }}} 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 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.