Changes between Initial Version and Version 1 of InstalacionManual


Ignore:
Timestamp:
Nov 3, 2009, 10:45:05 AM (15 years ago)
Author:
jcxifre
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • InstalacionManual

    v1 v1  
     1
     2= Instalación y configuración de OpenGnSys paso a paso =
     3
     4
     5El objetivo es describir la instalación y configuración de todo el sistema OpenGnSys partiendo de una instalación mínima y limpia del servidor.
     6
     7
     8=== Instalando el sistema mínimo ===
     9
     10
     11Partimos del disco de instalación de Ubuntu Server 9.04 32 bits, cuando presente la pantalla de instalación pulsamos F4 para elegir el tipo de instalación "Máquina virtual mínima". Cuando presente la lista de paquetes a instalar marcamos únicamente el OpenSSH Server.
     12
     13Al reiniciar reconfiguramos la red, para utilizar dirección IP estática.
     14
     15Nota: En este ejemplo de instalación el servidor va a tener la dirección IP 10.2.0.12 y en el mismo servidor van a estar las funciones de OpenGNSys Server y OpenGNSys Repository Manager.
     16
     17
     18=== Instalando los servicios básicos ===
     19
     20NFS: Para exportar los directorios con las utilidades que utilizarán los clientes que arranquen utilizando este sistema.
     21
     22{{{
     23aptitude install nfs-kernel-server
     24}}}
     25
     26
     27Servidor DHCP (Si es necesario): Para la asignación de direcciones y configuración de red.
     28
     29{{{
     30aptitude install dhcp3-server (ignorar el mensaje de error, lo configuraremos más tarde)
     31}}}
     32
     33
     34TFTP: Para servir las imagenes de arranque por PXE a los clientes.
     35
     36{{{
     37aptitude install tftpd-hpa
     38}}}
     39
     40
     41udpcast: Distribución  por multicast de las imagenes de las particiones a clonar.
     42
     43{{{
     44aptitude install udpcast
     45}}}
     46
     47
     48bittorrent: Distribución por bittorrent de las imagenes de las particiones a clonar.
     49
     50{{{
     51aptitude install bittorrent
     52}}}
     53
     54
     55apache2
     56
     57{{{
     58aptitude install apache2
     59}}}
     60
     61
     62php
     63
     64{{{
     65aptitude install php5
     66}}}
     67
     68
     69mysql y conector php5-mysql
     70
     71{{{
     72aptitude install mysql-server
     73aptitude install php5-mysql
     74}}}
     75
     76El instalador pide la contraseña de root para mysql. Si no lo hiciera, o para otras distribuciones, ejecutar como root o mediante el comando sudo,
     77{{{
     78/usr/bin/mysqladmin -u root password ''nuevaclave''
     79}}}
     80 
     81
     82
     83
     84=== Instalando las utilidades necesarias ===
     85
     86Syslinux
     87{{{
     88aptitude install syslinux
     89}}}
     90
     91wget
     92{{{
     93aptitude install wget
     94}}}
     95
     96
     97bzip2
     98
     99live-helper
     100
     101subversion
     102
     103=== Instalando las utilidades necesarias para la compilación de los servicios de hidra (se podría realizar en otra máquina con la misma arquitectura) ===
     104
     105
     106{{{
     107aptitude install make
     108aptitude install gcc
     109aptitude install g++
     110aptitude install libmysqlclient15-dev
     111}}}
     112
     113
     114=== Instalando las utilidades recomendadas ===
     115
     116memtest86+
     117
     118== Creación de directorios necesarios ==
     119
     120Se crea el directorio del proyecto en /opt
     121{{{
     122mkdir /opt/opengnsys
     123}}}
     124
     125y a continuación los directorios necesarios para los distintos componentes:
     126
     127para los binarios del servidor
     128{{{
     129mkdir /opt/opengnsys/bin
     130}}}
     131
     132para los archivos de configuracion creamos el directorio dentro del proyecto y lo enlazamos desde /etc/opengnsys
     133{{{
     134mkdir /opt/opengnsys/etc
     135ln -s /opt/opengnsys/etc /etc/opengnsys
     136}}}
     137
     138creamos el directorio donde estarán los componentes que se exportan por NFS a los clientes, aquí están los ejecutables con el motor de clonación y las utilidades asociadas.
     139{{{
     140mkdir /opt/opengnsys/client
     141mkdir /opt/opengnsys/client/lib
     142mkdir /opt/opengnsys/client/lib/udeb
     143mkdir /opt/opengnsys/client/lib/engine
     144mkdir /opt/opengnsys/client/lib/engine/bin
     145mkdir /opt/opengnsys/client/cache
     146mkdir /opt/opengnsys/client/etc
     147mkdir /opt/opengnsys/client/etc/init
     148mkdir /opt/opengnsys/client/etc/preinit
     149mkdir /opt/opengnsys/client/etc/startpages
     150}}}
     151
     152creamos el directorio para las librerias de las utilidades
     153{{{
     154mkdir /opt/opengnsys/lib
     155}}}
     156
     157los directorios de logs y enlazamos desde /var/log/opengnsys
     158{{{
     159mkdir /opt/opengnsys/log
     160mkdir /opt/opengnsys/log/client
     161ln -s /opt/opengnsys/log /var/log/opengnsys
     162}}}
     163repositorio donde se almacenarán las imagenes de particiones y discos
     164{{{
     165mkdir /opt/opengnsys/images
     166}}}
     167
     168Para el gestor web
     169{{{
     170mkdir /opt/opengnsys/www
     171}}}
     172
     173
     174== Instalación de los componentes del proyecto ==
     175
     176Nos situamos en el directorio de trabajo local y actualizamos el repositorio para tener la última  versión:
     177
     178{{{
     179svn co svn://www.informatica.us.es:3690/opengnsys
     180}}}
     181
     182=== Instalación del gestor web (ogAdmWebCon) ===
     183
     184==== Crear la base de datos ====
     185
     186Crear en el gestor de base de datos el usuario con el que se accederá desde el gestor web con todos los privilegios:
     187
     188{{{
     189mysql -p <<<"CREATE DATABASE bdopengnsys; GRANT ALL PRIVILEGES ON bdopengnsys.* TO usuog@10.2.0.12 IDENTIFIED BY 'passusuog'"
     190}}}
     191
     192
     193Volcar el contenido del fichero SQL de la base de datos y establecer los permisos de acceso para que coincidan con los ficheros del web.
     194{{{
     195mysql -u usuog -p bdopengnsys < opengnsys/trunk/admin/ogAdmSources/ogAdmWebCon/BD/ogBDAdmin.sql
     196}}}
     197
     198==== Copiar la paginas web ====
     199
     200Copiamos el directorio de la rama oficial:
     201
     202{{{
     203cp -pr opengnsys/trunk/admin/ogAdmSources/ogAdmWebCon/* /opt/opengnsys/www
     204}}}
     205
     206renombramos el /var/www original por si acaso y creamos un enlace simbólico al del proyecto
     207
     208{{{
     209mv /var/www /var/www.orig
     210ln -s /opt/opengnsys/www /var/www
     211}}}
     212
     213Modificamos el propietario del directorio por el usuario y grupo que lanza el servidor web
     214
     215{{{
     216chown www-data:www-data /opt/opengnsys/www -R
     217}}}
     218
     219
     220Modificamos la configuración en el fichero includes/controlacceso.inc
     221
     222
     223{{{
     224$cnx="10.2.0.12;usuog;passusuog;bdopengnsys;sqlserver"; // Cadena de conexión a la base de datos
     225$ips="10.2.0.12"; // IP del servidor ogAdmServer
     226$prt="2008"; // Puerto de comunicación con el servidor
     227$wer="http://10.2.0.12/pagerror.php"; // Página de redireccionamiento de errores
     228$wac="http://10.2.0.12/acceso.php"; // Página de login de la aplicación
     229}}}
     230
     231=== Compilación e instalación del servidor ogAdmServer ===
     232
     233Nos situamos dentro del repositorio en el directorio trunk/admin/ogAdmSources/ogAdmServer y creamos el ejecutable:
     234{{{
     235make
     236}}}
     237copiamos el ejecutable al directorio de binarios del servidor y el archivo de configuración al de configuraciones:
     238{{{
     239cp ogAdmServer /opt/opengnsys/bin/
     240cp ogAdmServer.cfg /opt/opengnsys/etc/
     241}}}
     242modificamos el archivo de configuración /opt/opengnsys/etc/ogAdmServer.cfg con los datos de nuestra configuración:
     243{{{
     244IPhidra=10.2.0.12
     245Puerto=2008
     246AulaUp=0
     247Usuario=usuog
     248PassWord=passusuog
     249DataSource=10.2.0.12
     250Catalog=bdopengnsys
     251}}}
     252
     253=== Compilación e instalación del servidor de repositorio ogAdmRepo  ===
     254Nos situamos dentro del repositorio en el directorio trunk/admin/ogAdmSources/ogAdmRepo y creamos el ejecutable:
     255{{{
     256make
     257}}}
     258copiamos el ejecutable al directorio de binarios del servidor y el archivo de configuración al de configuraciones:
     259{{{
     260cp ogAdmRepo /opt/opengnsys/bin/
     261cp ogAdmRepo.cfg /opt/opengnsys/etc/
     262}}}
     263modificamos el archivo de configuración /opt/opengnsys/etc/ogAdmRepo.cfg con los datos de nuestra configuración:
     264{{{
     265IPlocal=10.2.0.12
     266IPhidra=10.2.0.12
     267Puerto=2008
     268}}}
     269
     270Antes de poder lanzar este proceso hay que dar de alta este repositorio en el gestor web.
     271
     272== Configuración NFS ==
     273
     274Los clientes arrancan por red recibiendo un sistema operativo mínimo para reducir el tiempo de arranque, para poder realizar las tareas relacionadas con la clonación necesitan acceder además a tres directorios del servidor:
     275
     276 - /opt/opengnsys/client/ que contiene los ejecutables con el motor de clonación y las utilidades asociadas.
     277 - /opt/opengnsys/images/ lugar de almacenamiento de las imagenes de las particiones y discos para crear/restaurar.
     278 - /opt/opengnsys/log/clients donde se graban los logs con el resultado de la ejecución de las diferentes tareas.
     279
     280para poder utilizar estos directorios hay que crear los directorios en el servidor y hacer que se exporten por NFS y, en el cliente, montarlos al inicio. La parte cliente la realiza el script loadenviron.sh que se ejecuta en el proceso de arranque del mismo.
     281
     282Hay que modificar el fichero /etc/exports con las siguientes líneas:
     283
     284{{{
     285/opt/opengnsys/client/  10.2.1.0/255.255.255.0(ro,no_subtree_check,no_root_squash,sync)
     286/opt/opengnsys/images/  10.2.1.0/255.255.255.0(rw,no_subtree_check,no_root_squash,sync,crossmnt)
     287/opt/opengnsys/log/client      10.2.1.0/255.255.255.0(rw,no_subtree_check,no_root_squash,sync)
     288}}}
     289
     290y por último reiniciamos el demonio NFS para que recoja las modificaciones:
     291
     292{{{
     293/etc/init.d/nfs-kernel-server restart
     294}}}
     295
     296En este ejemplo los clientes reciben por DHCP direcciones ip pertenecientes a la subred 10.2.1.0, si hubiera más subredes habría que añadir estas tres líneas para cada una de ellas.
     297
     298== Configuración del sistema para los clientes ==
     299=== Arranque por PXE ===
     300
     301Preparación del sistema de arranque por red para los ordenadores cliente:
     302
     303Copiamos el fichero de arranque por PXE al directorio desde el que se lo descargarán los clientes, creamos el directorio donde se almacenan las diferentes opciones de arranque por cliente y copiamos del repositorio el fichero con la configuración de arranque por defecto.
     304{{{
     305cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot/
     306mkdir /var/lib/tftpboot/pxelinux.cfg
     307cp trunk/server/PXE/pxelinux.cfg/default /var/lib/tftpboot/pxelinux.cfg/
     308}}}
     309
     310=== OpenGNSys Client Boot ===
     311
     312
     313Copiamos desde el repositorio los scripts y ficheros, ejecutables directamente desde el servidor de OpenGNSys, y que son necesarios para configurar los procesos de arranque de los clientes:
     314
     315* initrd-generator:Script de generación de los básicos de arranque del cliente(initrd y kernel).
     316
     317* upgrade-clients-udeb.sh: Script de descarga de paquetes udeb, que serán incluidos en el directorio de librerías importadas por los clientes.
     318
     319* udeblist.conf: Fichero de configuración que incluye la lista de paquetes udeb que deben ser descargados o eliminados.
     320
     321{{{
     322cp trunk/client/boot/initrd-generator /opt/opengnsys/bin/
     323cp trunk/client/boot/upgrade-clients-udeb.sh /opt/opengnsys/bin/
     324cp trunk/client/boot/udeblist.conf /opt/opengnsys/etc/
     325}}}
     326
     327Generamos los ficheros básicos de arranque del cliente y los colocamos para que los cojan los clientes PXE:
     328{{{
     329/opt/opengnsys/bin/initrd-generator
     330mv linux /var/lib/tftpboot/
     331mv initrd.gz /var/lib/tftpboot/
     332}}}
     333
     334Descarga de los paquetes udeb que se deben exportar a los clientes
     335{{{
     336/opt/opengnsys/bin/upgrade-clients-udeb.sh
     337}}}
     338
     339Copiamos el motor de clonación desde el repositorio
     340{{{
     341cp trunk/client/engine/* /opt/opengnsys/client/lib/engine/bin/
     342}}}
     343
     344
     345=== Compilación e instalación del cliente ogAdmClient ===
     346
     347=== Compilación e instalación del browser ===