Version 12 (modified by 14 years ago) (diff) | ,
---|
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í: #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 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.