[[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 = == Obtención de distro para los clientes == Lo más sencillo es descargarse la distribución ya preparada para funcionar. Puedes descargarla desde aquí: #TODO 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 [wiki:Version2/Desarrollo/OGLive 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. === 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 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.