source: installer/opengnsys_installer.sh @ e09311f

918-git-images-111dconfigfileconfigure-oglivegit-imageslgromero-new-oglivemainmaint-cronmount-efivarfsmultivmmultivm-ogboot-installerogClonningEngineogboot-installer-jenkinsoglive-ipv6test-python-scriptsticket-301ticket-50ticket-50-oldticket-577ticket-585ticket-611ticket-612ticket-693ticket-700ubu24tplunification2use-local-agent-oglivevarios-instalacionwebconsole3
Last change on this file since e09311f was 5952632, checked in by ramon <ramongomez@…>, 15 years ago

Pequeña corrección en instalador.

git-svn-id: https://opengnsys.es/svn/trunk@806 a21b9725-9963-47de-94b9-378ad31fedc9

  • Property mode set to 100755
File size: 33.4 KB
RevLine 
[a01156a]1#!/bin/bash
2
3#####################################################################
4####### Script instalador OpenGnsys
5####### autor: Luis Guillén <lguillen@unizar.es>
6#####################################################################
7
8
[1e7eaab]9
10# Sólo ejecutable por usuario root
11if [ "$(whoami)" != 'root' ]
12then
13        echo "ERROR: this program must run under root privileges!!"
14        exit 1
15fi
16
17# Comprobar si se ha descargado el paquete comprimido (USESVN=0) o sólo el instalador (USESVN=1).
[49c6891]18PROGRAMDIR=$(readlink -e $(dirname "$0"))
[1e7eaab]19if [ -d "$PROGRAMDIR/../installer" ]; then
20    USESVN=0
21else
22    USESVN=1
23    SVN_URL=svn://www.informatica.us.es:3690/opengnsys/trunk
24fi
25
[a01156a]26WORKDIR=/tmp/opengnsys_installer
[1e7eaab]27mkdir -p $WORKDIR
28pushd $WORKDIR
29
30INSTALL_TARGET=/opt/opengnsys
[13a01a7]31LOG_FILE=/tmp/opengnsys_installation.log
[a01156a]32
33# Array con las dependencias
[3320409]34DEPENDENCIES=( subversion apache2 php5 mysql-server php5-mysql nfs-kernel-server dhcp3-server udpcast bittorrent tftp-hpa tftpd-hpa syslinux openbsd-inetd update-inetd build-essential libmysqlclient15-dev wget doxygen graphviz bittornado )
[a01156a]35
[892606b9]36MYSQL_ROOT_PASSWORD="passwordroot"
37
[a01156a]38# Datos de base de datos
[892606b9]39OPENGNSYS_DATABASE=ogBDAdmin
40OPENGNSYS_DB_USER=usuog
41OPENGNSYS_DB_PASSWD=passusuog
[be85bb2]42OPENGNSYS_DB_DEFAULTUSER=opengnsys
43OPENGNSYS_DB_DEFAULTPASSWD=opengnsys
[892606b9]44OPENGNSYS_DB_CREATION_FILE=opengnsys/admin/Database/ogBDAdmin.sql
45
[a01156a]46
47
48#####################################################################
49####### Algunas funciones útiles de propósito general:
50#####################################################################
[13a01a7]51function getDateTime()
[a01156a]52{
53        echo `date +%Y%m%d-%H%M%S`
54}
55
56# Escribe a fichero y muestra por pantalla
[13a01a7]57function echoAndLog()
[a01156a]58{
59        echo $1
60        FECHAHORA=`getDateTime`
61        echo "$FECHAHORA;$SSH_CLIENT;$1" >> $LOG_FILE
62}
63
[13a01a7]64function errorAndLog()
[a01156a]65{
66        echo "ERROR: $1"
67        FECHAHORA=`getDateTime`
68        echo "$FECHAHORA;$SSH_CLIENT;ERROR: $1" >> $LOG_FILE
69}
70
71# comprueba si el elemento pasado en $2 esta en el array $1
[13a01a7]72function isInArray()
[a01156a]73{
74        if [ $# -ne 2 ]; then
[13a01a7]75                errorAndLog "${FUNCNAME}(): invalid number of parameters"
[a01156a]76                exit 1
77        fi
78
[13a01a7]79        echoAndLog "${FUNCNAME}(): checking if $2 is in $1"
[a01156a]80        local deps
[5c33840]81        eval "deps=( \"\${$1[@]}\" )"
[a01156a]82        elemento=$2
83
84        local is_in_array=1
85        # copia local del array del parametro 1
86        for (( i = 0 ; i < ${#deps[@]} ; i++ ))
87        do
88                if [ "${deps[$i]}" = "${elemento}" ]; then
89                        echoAndLog "isInArray(): $elemento found in array"
90                        is_in_array=0
91                fi
92        done
93
94        if [ $is_in_array -ne 0 ]; then
[13a01a7]95                echoAndLog "${FUNCNAME}(): $elemento NOT found in array"
[a01156a]96        fi
97
98        return $is_in_array
99
100}
101
102#####################################################################
103####### Funciones de manejo de paquetes Debian
104#####################################################################
105
[13a01a7]106function checkPackage()
[a01156a]107{
108        package=$1
109        if [ -z $package ]; then
110                errorAndLog "checkPackage(): parameter required"
111                exit 1
112        fi
113        echoAndLog "checkPackage(): checking if package $package exists"
114        dpkg -L $package &>/dev/null
115        if [ $? -eq 0 ]; then
116                echoAndLog "checkPackage(): package $package exists"
117                return 0
118        else
119                echoAndLog "checkPackage(): package $package doesn't exists"
120                return 1
121        fi
122}
123
124# recibe array con dependencias
125# por referencia deja un array con las dependencias no resueltas
126# devuelve 1 si hay alguna dependencia no resuelta
[13a01a7]127function checkDependencies()
[a01156a]128{
129        if [ $# -ne 2 ]; then
130                errorAndLog "checkDependencies(): invalid number of parameters"
131                exit 1
132        fi
133
134        echoAndLog "checkDependencies(): checking dependences"
135        uncompletedeps=0
136
137        # copia local del array del parametro 1
138        local deps
[5c33840]139        eval "deps=( \"\${$1[@]}\" )"
[a01156a]140
141        declare -a local_notinstalled
[5c33840]142
[a01156a]143        for (( i = 0 ; i < ${#deps[@]} ; i++ ))
144        do
145                checkPackage ${deps[$i]}
146                if [ $? -ne 0 ]; then
147                        local_notinstalled[$uncompletedeps]=$package
148                        let uncompletedeps=uncompletedeps+1
149                fi
150        done
151
152        # relleno el array especificado en $2 por referencia
153        for (( i = 0 ; i < ${#local_notinstalled[@]} ; i++ ))
154        do
155                eval "${2}[$i]=${local_notinstalled[$i]}"
156        done
157
158        # retorna el numero de paquetes no resueltos
159        echoAndLog "checkDependencies(): dependencies uncompleted: $uncompletedeps"
160        return $uncompletedeps
161}
162
163# Recibe un array con las dependencias y lo instala
[13a01a7]164function installDependencies()
[a01156a]165{
166        if [ $# -ne 1 ]; then
167                errorAndLog "installDependencies(): invalid number of parameters"
168                exit 1
169        fi
170        echoAndLog "installDependencies(): installing uncompleted dependencies"
171
172        # copia local del array del parametro 1
173        local deps
[5c33840]174        eval "deps=( \"\${$1[@]}\" )"
[a01156a]175
176        local string_deps=""
177        for (( i = 0 ; i < ${#deps[@]} ; i++ ))
178        do
179                string_deps="$string_deps ${deps[$i]}"
180        done
181
182        if [ -z "${string_deps}" ]; then
183                errorAndLog "installDependencies(): array of dependeces is empty"
184                exit 1
185        fi
186
187        OLD_DEBIAN_FRONTEND=$DEBIAN_FRONTEND
188        export DEBIAN_FRONTEND=noninteractive
189
190        echoAndLog "installDependencies(): now ${string_deps} will be installed"
191        apt-get -y install --force-yes ${string_deps}
192        if [ $? -ne 0 ]; then
193                errorAndLog "installDependencies(): error installing dependencies"
194                return 1
195        fi
196
197        DEBIAN_FRONTEND=$OLD_DEBIAN_FRONTEND
198        echoAndLog "installDependencies(): dependencies installed"
199}
200
[13a01a7]201# Hace un backup del fichero pasado por parámetro
202# deja un -last y uno para el día
203function backupFile()
204{
205        if [ $# -ne 1 ]; then
206                errorAndLog "${FUNCNAME}(): invalid number of parameters"
207                exit 1
208        fi
209
210        local fichero=$1
211        local fecha=`date +%Y%m%d`
212
213        if [ ! -f $fichero ]; then
214                errorAndLog "${FUNCNAME}(): file $fichero doesn't exists"
215                return 1
216        fi
217
218        echoAndLog "${FUNCNAME}(): realizando backup de $fichero"
219
220        # realiza una copia de la última configuración como last
221        cp -p $fichero "${fichero}-LAST"
222
223        # si para el día no hay backup lo hace, sino no
224        if [ ! -f "${fichero}-${fecha}" ]; then
225                cp -p $fichero "${fichero}-${fecha}"
226        fi
227
228        echoAndLog "${FUNCNAME}(): backup realizado"
229}
230
[a01156a]231#####################################################################
232####### Funciones para el manejo de bases de datos
233#####################################################################
234
235# This function set password to root
[13a01a7]236function mysqlSetRootPassword()
[a01156a]237{
238        if [ $# -ne 1 ]; then
239                errorAndLog "mysqlSetRootPassword(): invalid number of parameters"
240                exit 1
241        fi
242
243        local root_mysql=$1
244        echoAndLog "mysqlSetRootPassword(): setting root password in MySQL server"
245        /usr/bin/mysqladmin -u root password ${root_mysql}
246        if [ $? -ne 0 ]; then
247                errorAndLog "mysqlSetRootPassword(): error while setting root password in MySQL server"
248                return 1
249        fi
250        echoAndLog "mysqlSetRootPassword(): root password saved!"
251        return 0
252}
253
[892606b9]254# Si el servicio mysql esta ya instalado cambia la variable de la clave del root por la ya existente
[13a01a7]255function mysqlGetRootPassword(){
[892606b9]256        local pass_mysql
257        local pass_mysql2
258        stty -echo
259        echo "Existe un servicio mysql ya instalado"
260        read -p  "Insertar clave de root de Mysql: " pass_mysql
261        echo ""
262        read -p "Confirmar clave:" pass_mysql2
263        echo ""
264        stty echo
265        if [ "$pass_mysql" == "$pass_mysql2" ] ;then
[8125e7c]266                MYSQL_ROOT_PASSWORD=$pass_mysql
[892606b9]267                echo "La clave es: ${MYSQL_ROOT_PASSWORD}"
268                return 0
269        else
270                echo "Las claves no coinciden no se configura la clave del servidor de base de datos."
271                echo "las operaciones con la base de datos daran error"
272                return 1
273        fi
274
275
276}
277
[a01156a]278# comprueba si puede conectar con mysql con el usuario root
279function mysqlTestConnection()
280{
281        if [ $# -ne 1 ]; then
282                errorAndLog "mysqlTestConnection(): invalid number of parameters"
283                exit 1
284        fi
285
286        local root_password="${1}"
287        echoAndLog "mysqlTestConnection(): checking connection to mysql..."
288        echo "" | mysql -uroot -p"${root_password}"
289        if [ $? -ne 0 ]; then
290                errorAndLog "mysqlTestConnection(): connection to mysql failed, check root password and if daemon is running!"
291                return 1
292        else
293                echoAndLog "mysqlTestConnection(): connection success"
294                return 0
295        fi
296}
297
298# comprueba si la base de datos existe
299function mysqlDbExists()
300{
301        if [ $# -ne 2 ]; then
302                errorAndLog "mysqlDbExists(): invalid number of parameters"
303                exit 1
304        fi
305
306        local root_password="${1}"
307        local database=$2
308        echoAndLog "mysqlDbExists(): checking if $database exists..."
309        echo "show databases" | mysql -uroot -p"${root_password}" | grep "^${database}$"
310        if [ $? -ne 0 ]; then
311                echoAndLog "mysqlDbExists():database $database doesn't exists"
312                return 1
313        else
314                echoAndLog "mysqlDbExists():database $database exists"
315                return 0
316        fi
317}
318
319function mysqlCheckDbIsEmpty()
320{
321        if [ $# -ne 2 ]; then
322                errorAndLog "mysqlCheckDbIsEmpty(): invalid number of parameters"
323                exit 1
324        fi
325
326        local root_password="${1}"
327        local database=$2
328        echoAndLog "mysqlCheckDbIsEmpty(): checking if $database is empty..."
329        num_tablas=`echo "show tables" | mysql -uroot -p"${root_password}" "${database}" | wc -l`
330        if [ $? -ne 0 ]; then
331                errorAndLog "mysqlCheckDbIsEmpty(): error executing query, check database and root password"
332                exit 1
333        fi
334
335        if [ $num_tablas -eq 0 ]; then
336                echoAndLog "mysqlCheckDbIsEmpty():database $database is empty"
337                return 0
338        else
339                echoAndLog "mysqlCheckDbIsEmpty():database $database has tables"
340                return 1
341        fi
342
343}
344
345
346function mysqlImportSqlFileToDb()
347{
348        if [ $# -ne 3 ]; then
[c5ce04c]349                errorAndLog "${FNCNAME}(): invalid number of parameters"
[a01156a]350                exit 1
351        fi
352
353        local root_password="${1}"
354        local database=$2
355        local sqlfile=$3
356
357        if [ ! -f $sqlfile ]; then
[c5ce04c]358                errorAndLog "${FUNCNAME}(): Unable to locate $sqlfile!!"
[a01156a]359                return 1
360        fi
361
[c5ce04c]362        echoAndLog "${FUNCNAME}(): importing sql file to ${database}..."
[be85bb2]363        perl -pi -e "s/SERVERIP/$SERVERIP/g; s/DEFAULTUSER/$OPENGNSYS_DB_DEFAULTUSER/g; s/DEFAULTPASSWD/$OPENGNSYS_DB_DEFAULTPASSWD/g" $sqlfile
[a01156a]364        mysql -uroot -p"${root_password}" "${database}" < $sqlfile
365        if [ $? -ne 0 ]; then
[c5ce04c]366                errorAndLog "${FUNCNAME}(): error while importing $sqlfile in database $database"
[a01156a]367                return 1
368        fi
[c5ce04c]369        echoAndLog "${FUNCNAME}(): file imported to database $database"
[a01156a]370        return 0
371}
372
373# Crea la base de datos
374function mysqlCreateDb()
375{
376        if [ $# -ne 2 ]; then
[a555f49]377                errorAndLog "${FUNCNAME}(): invalid number of parameters"
[a01156a]378                exit 1
379        fi
380
381        local root_password="${1}"
382        local database=$2
383
[a555f49]384        echoAndLog "${FUNCNAME}(): creating database..."
[a01156a]385        mysqladmin -u root --password="${root_password}" create $database
386        if [ $? -ne 0 ]; then
[a555f49]387                errorAndLog "${FUNCNAME}(): error while creating database $database"
[a01156a]388                return 1
389        fi
[a555f49]390        echoAndLog "${FUNCNAME}(): database $database created"
[a01156a]391        return 0
392}
393
394
395function mysqlCheckUserExists()
396{
397        if [ $# -ne 2 ]; then
398                errorAndLog "mysqlCheckUserExists(): invalid number of parameters"
399                exit 1
400        fi
401
402        local root_password="${1}"
403        local userdb=$2
404
405        echoAndLog "mysqlCheckUserExists(): checking if $userdb exists..."
406        echo "select user from user where user='${userdb}'\\G" |mysql -uroot -p"${root_password}" mysql | grep user
407        if [ $? -ne 0 ]; then
408                echoAndLog "mysqlCheckUserExists(): user doesn't exists"
409                return 1
410        else
411                echoAndLog "mysqlCheckUserExists(): user already exists"
412                return 0
413        fi
414
415}
416
417# Crea un usuario administrativo para la base de datos
418function mysqlCreateAdminUserToDb()
419{
420        if [ $# -ne 4 ]; then
421                errorAndLog "mysqlCreateAdminUserToDb(): invalid number of parameters"
422                exit 1
423        fi
424
425        local root_password=$1
426        local database=$2
427        local userdb=$3
428        local passdb=$4
429
430        echoAndLog "mysqlCreateAdminUserToDb(): creating admin user ${userdb} to database ${database}"
431
432        cat > $WORKDIR/create_${database}.sql <<EOF
433GRANT USAGE ON *.* TO '${userdb}'@'localhost' IDENTIFIED BY '${passdb}' ;
434GRANT ALL PRIVILEGES ON ${database}.* TO '${userdb}'@'localhost' WITH GRANT OPTION ;
435FLUSH PRIVILEGES ;
436EOF
437        mysql -u root --password=${root_password} < $WORKDIR/create_${database}.sql
438        if [ $? -ne 0 ]; then
439                errorAndLog "mysqlCreateAdminUserToDb(): error while creating user in mysql"
440                rm -f $WORKDIR/create_${database}.sql
441                return 1
442        else
443                echoAndLog "mysqlCreateAdminUserToDb(): user created ok"
444                rm -f $WORKDIR/create_${database}.sql
445                return 0
446        fi
447}
448
449
450#####################################################################
451####### Funciones para el manejo de Subversion
452#####################################################################
453
[13a01a7]454function svnExportCode()
455{
456        if [ $# -ne 1 ]; then
457                errorAndLog "${FUNCNAME}(): invalid number of parameters"
458                exit 1
459        fi
460
461        local url=$1
462
463        echoAndLog "${FUNCNAME}(): downloading subversion code..."
464
[49c6891]465        svn export "${url}" opengnsys
[13a01a7]466        if [ $? -ne 0 ]; then
467                errorAndLog "${FUNCNAME}(): error getting code from ${url}, verify your user and password"
468                return 1
469        fi
470        echoAndLog "${FUNCNAME}(): subversion code downloaded"
471        return 0
472}
473
474
[892606b9]475############################################################
[7586ca3]476###  Detectar red
477############################################################
478
479function getNetworkSettings()
480{
481        # Variables globales definidas:
482        # - SERVERIP: IP local del servidor.
483        # - NETIP:    IP de la red.
484        # - NETMASK:  máscara de red.
485        # - NETBROAD: IP de difusión de la red.
486        # - ROUTERIP: IP del router.
487        # - DNSIP:    IP del servidor DNS.
488
[62e3bcf]489        local MAINDEV
490
491        echoAndLog "${FUNCNAME}(): Detecting default network parameters."
492        MAINDEV=$(ip -o link show up | awk '!/loopback/ {d=d$2} END {sub(/:.*/,"",d); print d}')
493        if [ -z "$MAINDEV" ]; then
494                errorAndLog "${FUNCNAME}(): Network device not detected."
495                exit 1
496        fi
497        SERVERIP=$(ip -o addr show dev $MAINDEV | awk '$3~/inet$/ {sub (/\/.*/, ""); print ($4)}')
498        NETMASK=$(LANG=C ifconfig $MAINDEV | awk '/Mask/ {sub(/.*:/,"",$4); print $4}')
499        NETBROAD=$(ip -o addr show dev $MAINDEV | awk '$3~/inet$/ {print ($6)}')
500        NETIP=$(netstat -nr | grep $MAINDEV | awk '$1!~/0\.0\.0\.0/ {print $1}')
[5952632]501        NETIP=${NETIP%% *}
[7586ca3]502        ROUTERIP=$(netstat -nr | awk '$1~/0\.0\.0\.0/ {print $2}')
[a555f49]503        DNSIP=$(awk '/nameserver/ {print $2}' /etc/resolv.conf | head -n1)
[7586ca3]504        if [ -z "$NETIP" -o -z "$NETMASK" ]; then
[62e3bcf]505                errorAndLog "${FUNCNAME}(): Network not detected."
[7586ca3]506                exit 1
507        fi
[cc7eab7]508
509        # Variables de ejecución de Apache
510        # - APACHE_RUN_USER
511        # - APACHE_RUN_GROUP
512        if [ -f /etc/apache2/envvars ]; then
513                source /etc/apache2/envvars
514        fi
515        APACHE_RUN_USER=${APACHE_RUN_USER:-"www-data"}
516        APACHE_RUN_GROUP=${APACHE_RUN_GROUP:-"www-data"}
[7586ca3]517}
518
519
520############################################################
[892606b9]521### Esqueleto para el Servicio pxe y contenedor tftpboot ###
522############################################################
523
524function tftpConfigure() {
525        echo "Configurando el servicio tftp"
526        basetftp=/var/lib/tftpboot
527
528        # reiniciamos demonio internet ????? porque ????
529        /etc/init.d/openbsd-inetd start
530
531        # preparacion contenedor tftpboot
532        cp -pr /usr/lib/syslinux/ ${basetftp}/syslinux
533        cp /usr/lib/syslinux/pxelinux.0 ${basetftp}
534        # prepamos el directorio de la configuracion de pxe
535        mkdir -p ${basetftp}/pxelinux.cfg
536        cat > ${basetftp}/pxelinux.cfg/default <<EOF
537DEFAULT pxe
538
539LABEL pxe
540KERNEL linux
541APPEND initrd=initrd.gz ip=dhcp ro vga=788 irqpoll acpi=on
542EOF
543        # comprobamos el servicio tftp
544        sleep 1
545        testPxe
546        ## damos perfimos de lectura a usuario web.
[cc7eab7]547        chown -R $APACHE_RUN_USER:$APACHE_RUN_GROUP ${basetftp}
[892606b9]548}
549
550function testPxe () {
551        cd /tmp
552        echo "comprobando servicio pxe ..... Espere"
553        tftp -v localhost -c get pxelinux.0 /tmp/pxelinux.0 && echo "servidor tftp OK" || echo "servidor tftp KO"
554        cd /
555}
556
557########################################################################
[b6906f7]558## Configuracion servicio NFS
[892606b9]559########################################################################
560
[13a01a7]561# ADVERTENCIA: usa variables globales NETIP y NETMASK!
562function nfsConfigure()
[7586ca3]563{
[13a01a7]564        echoAndLog "${FUNCNAME}(): Config nfs server."
565
566        backupFile /etc/exports
567
568        nfsAddExport /opt/opengnsys/client ${NETIP}/${NETMASK}:ro,no_subtree_check,no_root_squash,sync
569        if [ $? -ne 0 ]; then
570                errorAndLog "${FUNCNAME}(): error while adding nfs client config"
571                return 1
572        fi
573
574        nfsAddExport /opt/opengnsys/images ${NETIP}/${NETMASK}:rw,no_subtree_check,no_root_squash,sync,crossmnt
575        if [ $? -ne 0 ]; then
576                errorAndLog "${FUNCNAME}(): error while adding nfs images config"
577                return 1
578        fi
579
580        nfsAddExport /opt/opengnsys/log/clients ${NETIP}/${NETMASK}:rw,no_subtree_check,no_root_squash,sync
581        if [ $? -ne 0 ]; then
582                errorAndLog "${FUNCNAME}(): error while adding logging client config"
583                return 1
584        fi
585
[7586ca3]586        /etc/init.d/nfs-kernel-server restart
[13a01a7]587
[b6906f7]588        exportfs -va
[13a01a7]589        if [ $? -ne 0 ]; then
590                errorAndLog "${FUNCNAME}(): error while configure exports"
591                return 1
592        fi
593
594        echoAndLog "${FUNCNAME}(): Added NFS configuration to file \"/etc/exports\"."
595        return 0
[b6906f7]596}
[892606b9]597
[b6906f7]598
[13a01a7]599# ejemplos:
600#nfsAddExport /opt/opengnsys 192.168.0.0/255.255.255.0:ro,no_subtree_check,no_root_squash,sync
601#nfsAddExport /opt/opengnsys 192.168.0.0/255.255.255.0
602#nfsAddExport /opt/opengnsys 80.20.2.1:ro 192.123.32.2:rw
603function nfsAddExport()
604{
605        if [ $# -lt 2 ]; then
606                errorAndLog "${FUNCNAME}(): invalid number of parameters"
607                exit 1
608        fi
609
610        if [ ! -f /etc/exports ]; then
611                errorAndLog "${FUNCNAME}(): /etc/exports don't exists"
612                return 1
613        fi
614
615        local export="${1}"
616        local contador=0
617        local cadenaexport
618
619        grep "^${export}" /etc/exports > /dev/null
620        if [ $? -eq 0 ]; then
621                echoAndLog "${FUNCNAME}(): $export exists in /etc/exports, omiting"
622                return 0
623        fi
624
625        cadenaexport="${export}"
626        for parametro in $*
627        do
628                if [ $contador -gt 0 ]
629                then
630                        host=`echo $parametro | awk -F: '{print $1}'`
631                        options=`echo $parametro | awk -F: '{print $2}'`
632                        if [ "${host}" == "" ]; then
633                                errorAndLog "${FUNCNAME}(): host can't be empty"
634                                return 1
635                        fi
636                        cadenaexport="${cadenaexport}\t${host}"
637
638                        if [ "${options}" != "" ]; then
639                                cadenaexport="${cadenaexport}(${options})"
640                        fi
641                fi
642                let contador=contador+1
643        done
644
645        echo -en "$cadenaexport\n" >> /etc/exports
646
647        echoAndLog "${FUNCNAME}(): add $export to /etc/exports"
648
649        return 0
650}
651
[b6906f7]652########################################################################
653## Configuracion servicio DHCP
654########################################################################
655
[7586ca3]656function dhcpConfigure()
657{
[a555f49]658        echoAndLog "${FUNCNAME}(): Sample DHCP Configuration."
659
660        backupFile /etc/dhcp3/dhcpd.conf
661
[7586ca3]662        sed -e "s/SERVERIP/$SERVERIP/g" \
663            -e "s/NETIP/$NETIP/g" \
664            -e "s/NETMASK/$NETMASK/g" \
665            -e "s/NETBROAD/$NETBROAD/g" \
666            -e "s/ROUTERIP/$ROUTERIP/g" \
667            -e "s/DNSIP/$DNSIP/g" \
668            $WORKDIR/opengnsys/server/DHCP/dhcpd.conf > /etc/dhcp3/dhcpd.conf
[a555f49]669        if [ $? -ne 0 ]; then
670                errorAndLog "${FUNCNAME}(): error while configuring dhcp server"
671                return 1
672        fi
673
[7586ca3]674        /etc/init.d/dhcp3-server restart
[a555f49]675        echoAndLog "${FUNCNAME}(): Sample DHCP Configured in file \"/etc/dhcp3/dhcpd.conf\"."
676        return 0
[892606b9]677}
678
679
[a01156a]680#####################################################################
681####### Funciones específicas de la instalación de Opengnsys
682#####################################################################
683
[49c6891]684# Copiar ficheros del OpenGnSys Web Console.
[7586ca3]685function installWebFiles()
686{
[dce072b]687        echoAndLog "${FUNCNAME}(): Installing web files..."
[7586ca3]688        cp -ar $WORKDIR/opengnsys/admin/WebConsole/* $INSTALL_TARGET/www   #*/ comentario para doxigen
689        if [ $? != 0 ]; then
[dce072b]690                errorAndLog "${FUNCNAME}(): Error copying web files."
[7586ca3]691                exit 1
692        fi
693        find $INSTALL_TARGET/www -name .svn -type d -exec rm -fr {} \; 2>/dev/null
694        # Cambiar permisos para ficheros especiales.
[cc7eab7]695        chown -R $APACHE_RUN_USER:$APACHE_RUN_GROUP \
696                        $INSTALL_TARGET/www/includes \
697                        $INSTALL_TARGET/www/comandos/gestores/filescripts \
[dce072b]698                        $INSTALL_TARGET/www/images/iconos
699        echoAndLog "${FUNCNAME}(): Web files installed successfully."
[7586ca3]700}
701
702# Configuración específica de Apache.
[892606b9]703function openGnsysInstallWebConsoleApacheConf()
[a01156a]704{
705        if [ $# -ne 2 ]; then
[dce072b]706                errorAndLog "${FUNCNAME}(): invalid number of parameters"
[a01156a]707                exit 1
708        fi
709
710        local path_opengnsys_base=$1
711        local path_apache2_confd=$2
[892606b9]712        local path_web_console=${path_opengnsys_base}/www
[a01156a]713
[892606b9]714        if [ ! -d $path_apache2_confd ]; then
[dce072b]715                errorAndLog "${FUNCNAME}(): path to apache2 conf.d can not found, verify your server installation"
[892606b9]716                return 1
717        fi
718
[7586ca3]719        mkdir -p $path_apache2_confd/{sites-available,sites-enabled}
[892606b9]720
[dce072b]721        echoAndLog "${FUNCNAME}(): creating apache2 config file.."
[a01156a]722
[d725a41]723
[a01156a]724        # genera configuración
[892606b9]725        cat > $path_opengnsys_base/etc/apache.conf <<EOF
[49c6891]726# OpenGnSys Web Console configuration for Apache
[a01156a]727
[892606b9]728Alias /opengnsys ${path_web_console}
[a01156a]729
[892606b9]730<Directory ${path_web_console}>
[a01156a]731        Options -Indexes FollowSymLinks
732        DirectoryIndex acceso.php
733</Directory>
734EOF
735
[7586ca3]736        ln -fs $path_opengnsys_base/etc/apache.conf $path_apache2_confd/sites-available/opengnsys.conf
737        ln -fs $path_apache2_confd/sites-available/opengnsys.conf $path_apache2_confd/sites-enabled/opengnsys.conf
[a01156a]738        if [ $? -ne 0 ]; then
[dce072b]739                errorAndLog "${FUNCNAME}(): config file can't be linked to apache conf, verify your server installation"
[a01156a]740                return 1
741        else
[dce072b]742                echoAndLog "${FUNCNAME}(): config file created and linked, restarting apache daemon"
[077dd7c5]743                /etc/init.d/apache2 restart
[a01156a]744                return 0
745        fi
746}
747
[5d6bf97]748# Crear documentación Doxygen para la consola web.
749function makeDoxygenFiles()
750{
751        echoAndLog "${FUNCNAME}(): Making Doxygen web files..."
752        $WORKDIR/opengnsys/installer/ogGenerateDoc.sh \
753                        $WORKDIR/opengnsys/client/engine $INSTALL_TARGET/www
754        if [ ! -d "$INSTALL_TARGET/www/html" ]; then
755                errorAndLog "${FUNCNAME}(): unable to create Doxygen web files."
756        return 1
757        fi
758        mv "$INSTALL_TARGET/www/html" "$INSTALL_TARGET/www/api"
759        chown -R $APACHE_RUN_USER:$APACHE_RUN_GROUP $INSTALL_TARGET/www/api
760        echoAndLog "${FUNCNAME}(): Doxygen web files created successfully."
761}
762
763
[a01156a]764# Crea la estructura base de la instalación de opengnsys
[318efac]765function openGnsysInstallCreateDirs()
[a01156a]766{
767        if [ $# -ne 1 ]; then
[dce072b]768                errorAndLog "${FUNCNAME}(): invalid number of parameters"
[a01156a]769                exit 1
770        fi
771
772        local path_opengnsys_base=$1
773
[dce072b]774        echoAndLog "${FUNCNAME}(): creating directory paths in $path_opengnsys_base"
[a01156a]775
776        mkdir -p $path_opengnsys_base
[077dd7c5]777        mkdir -p $path_opengnsys_base/admin/{autoexec,comandos,menus,usuarios}
[a01156a]778        mkdir -p $path_opengnsys_base/bin
[5c33840]779        mkdir -p $path_opengnsys_base/client
[49c6891]780        mkdir -p $path_opengnsys_base/doc
[5c33840]781        mkdir -p $path_opengnsys_base/etc
[a01156a]782        mkdir -p $path_opengnsys_base/lib
[1cc5697]783        mkdir -p $path_opengnsys_base/log/clients
[7586ca3]784        mkdir -p $path_opengnsys_base/sbin
[a01156a]785        mkdir -p $path_opengnsys_base/www
[5c33840]786        mkdir -p $path_opengnsys_base/images
[b6906f7]787        ln -fs /var/lib/tftpboot $path_opengnsys_base
788        ln -fs $path_opengnsys_base/log /var/log/opengnsys
[5c33840]789
[a01156a]790        if [ $? -ne 0 ]; then
[dce072b]791                errorAndLog "${FUNCNAME}(): error while creating dirs. Do you have write permissions?"
[a01156a]792                return 1
793        fi
794
[dce072b]795        echoAndLog "${FUNCNAME}(): directory paths created"
[a01156a]796        return 0
797}
798
[463a1d49]799# Copia ficheros de configuración y ejecutables genéricos del servidor.
[318efac]800function openGnsysCopyServerFiles () {
[463a1d49]801        if [ $# -ne 1 ]; then
[879689f]802                errorAndLog "${FUNCNAME}(): invalid number of parameters"
[463a1d49]803                exit 1
804        fi
805
806        local path_opengnsys_base=$1
807
[892606b9]808        local SOURCES=( client/boot/initrd-generator \
[b6906f7]809                        client/boot/upgrade-clients-udeb.sh \
[a555f49]810                        client/boot/udeblist.conf  \
811                        client/boot/udeblist-jaunty.conf  \
[879689f]812                        client/boot/udeblist-karmic.conf \
[49c6891]813                        server/PXE/pxelinux.cfg/default \
814                        doc )
[892606b9]815        local TARGETS=( bin/initrd-generator \
[b6906f7]816                        bin/upgrade-clients-udeb.sh \
[a555f49]817                        etc/udeblist.conf \
818                        etc/udeblist-jaunty.conf  \
[879689f]819                        etc/udeblist-karmic.conf \
[49c6891]820                        tftpboot/pxelinux.cfg/default \
821                        doc )
[463a1d49]822
823        if [ ${#SOURCES[@]} != ${#TARGETS[@]} ]; then
[879689f]824                errorAndLog "${FUNCNAME}(): inconsistent number of array items"
[463a1d49]825                exit 1
826        fi
827
[879689f]828        echoAndLog "${FUNCNAME}(): copying files to server directories"
[f2bb433]829
[8457092]830        pushd $WORKDIR/opengnsys
[463a1d49]831        local i
832        for (( i = 0; i < ${#SOURCES[@]}; i++ )); do
833                if [ -f "${SOURCES[$i]}" ]; then
[879689f]834                        echoAndLog "Copying ${SOURCES[$i]} to $path_opengnsys_base/${TARGETS[$i]}"
[463a1d49]835                        cp -p "${SOURCES[$i]}" "${path_opengnsys_base}/${TARGETS[$i]}"
[8457092]836                elif [ -d "${SOURCES[$i]}" ]; then
[879689f]837                        echoAndLog "Copying content of ${SOURCES[$i]} to $path_opengnsys_base/${TARGETS[$i]}"
[8457092]838                        cp -a "${SOURCES[$i]}"/* "${path_opengnsys_base}/${TARGETS[$i]}"
839        else
840                        echoAndLog "Warning: Unable to copy ${SOURCES[$i]} to $path_opengnsys_base/${TARGETS[$i]}"
[463a1d49]841                fi
842        done
[7586ca3]843        popd
[892606b9]844}
845
[7586ca3]846####################################################################
847### Funciones de compilación de códifo fuente de servicios
848####################################################################
849
[b6906f7]850# Compilar los servicios de OpenGNsys
[7586ca3]851function servicesCompilation ()
852{
[13a01a7]853        local hayErrores=0
[0795938]854
[49c6891]855        # Compilar OpenGnSys Server
856        echoAndLog "${FUNCNAME}(): Compiling OpenGnSys Admin Server"
[318efac]857        pushd $WORKDIR/opengnsys/admin/Services/ogAdmServer
[b6906f7]858        make && make install
[13a01a7]859        if [ $? -ne 0 ]; then
[49c6891]860                echoAndLog "${FUNCNAME}(): error while compiling OpenGnSys Admin Server"
[13a01a7]861                hayErrores=1
862        fi
[7586ca3]863        popd
[49c6891]864        # Compilar OpenGnSys Repository Manager
865        echoAndLog "${FUNCNAME}(): Compiling OpenGnSys Repository Manager"
[318efac]866        pushd $WORKDIR/opengnsys/admin/Services/ogAdmRepo
[b6906f7]867        make && make install
[13a01a7]868        if [ $? -ne 0 ]; then
[49c6891]869                echoAndLog "${FUNCNAME}(): error while compiling OpenGnSys Repository Manager"
[13a01a7]870                hayErrores=1
871        fi
[8125e7c]872        popd
[49c6891]873        # Compilar OpenGnSys Client
874        echoAndLog "${FUNCNAME}(): Compiling OpenGnSys Admin Client"
[318efac]875        pushd $WORKDIR/opengnsys/admin/Services/ogAdmClient
876        make && mv ogAdmClient ../../../client/nfsexport/bin
[13a01a7]877        if [ $? -ne 0 ]; then
[49c6891]878                echoAndLog "${FUNCNAME}(): error while compiling OpenGnSys Admin Client"
[13a01a7]879                hayErrores=1
880        fi
[318efac]881        popd
[13a01a7]882
883        return $hayErrores
[b6906f7]884}
885
886
[892606b9]887####################################################################
888### Funciones instalacion cliente opengnsys
889####################################################################
890
[a555f49]891function openGnsysClientCreate()
[7586ca3]892{
893        local OSDISTRIB OSCODENAME
[892606b9]894
[a555f49]895        local hayErrores=0
896
[49c6891]897        echoAndLog "${FUNCNAME}(): Copying OpenGnSys Client files."
[892606b9]898        cp -ar $WORKDIR/opengnsys/client/nfsexport/* $INSTALL_TARGET/client
[b6906f7]899        find $INSTALL_TARGET/client -name .svn -type d -exec rm -fr {} \; 2>/dev/null
[49c6891]900        echoAndLog "${FUNCNAME}(): Copying OpenGnSys Cloning Engine files."
[b6906f7]901        mkdir -p $INSTALL_TARGET/client/lib/engine/bin
[892606b9]902        cp -ar $WORKDIR/opengnsys/client/engine/*.lib $INSTALL_TARGET/client/lib/engine/bin
[a555f49]903        if [ $? -ne 0 ]; then
904                errorAndLog "${FUNCNAME}(): error while copying engine files"
905                hayErrores=1
906        fi
[892606b9]907
[cc7eab7]908        # Cargar Kernel, Initrd y paquetes udeb para la distribución del servidor (o por defecto).
[d345fa6]909        OSDISTRIB=$(lsb_release -i | awk -F: '{sub(/\t/,""); print $2}') 2>/dev/null
910        OSCODENAME=$(lsb_release -c | awk -F: '{sub(/\t/,""); print $2}') 2>/dev/null
[7586ca3]911        if [ "$OSDISTRIB" = "Ubuntu" -a -n "$OSCODENAME" ]; then
[a555f49]912                echoAndLog "${FUNCNAME}(): Loading Kernel and Initrd files for $OSDISTRIB $OSCODENAME."
[7586ca3]913                $INSTALL_TARGET/bin/initrd-generator -t $INSTALL_TARGET/tftpboot -v "$OSCODENAME"
[a555f49]914                if [ $? -ne 0 ]; then
[49c6891]915                        errorAndLog "${FUNCNAME}(): error while generating initrd OpenGnSys Admin Client"
[a555f49]916                        hayErrores=1
917                fi
918                echoAndLog "${FUNCNAME}(): Loading udeb files for $OSDISTRIB $OSCODENAME."
[7586ca3]919                $INSTALL_TARGET/bin/upgrade-clients-udeb.sh "$OSCODENAME"
[a555f49]920                if [ $? -ne 0 ]; then
[49c6891]921                        errorAndLog "${FUNCNAME}(): error while upgrading udeb files OpenGnSys Admin Client"
[a555f49]922                        hayErrores=1
923                fi
[7586ca3]924        else
[a555f49]925                echoAndLog "${FUNCNAME}(): Loading default Kernel and Initrd files."
[7586ca3]926                $INSTALL_TARGET/bin/initrd-generator -t $INSTALL_TARGET/tftpboot/
[a555f49]927                if [ $? -ne 0 ]; then
[49c6891]928                        errorAndLog "${FUNCNAME}(): error while generating initrd OpenGnSys Admin Client"
[a555f49]929                        hayErrores=1
930                fi
931                echoAndLog "${FUNCNAME}(): Loading default udeb files."
[7586ca3]932                $INSTALL_TARGET/bin/upgrade-clients-udeb.sh
[a555f49]933                if [ $? -ne 0 ]; then
[49c6891]934                        errorAndLog "${FUNCNAME}(): error while upgrading udeb files OpenGnSys Admin Client"
[a555f49]935                        hayErrores=1
936                fi
937        fi
938
939        if [ $hayErrores -eq 0 ]; then
940                echoAndLog "${FUNCNAME}(): Client generation success."
941        else
942                errorAndLog "${FUNCNAME}(): Client generation with errors"
[7586ca3]943        fi
[a555f49]944
945        return $hayErrores
[463a1d49]946}
947
948
[49c6891]949# Configuración básica de servicios de OpenGnSys
[cc7eab7]950function openGnsysConfigure()
951{
952        echoAndLog "openGnsysConfigure(): Copying init files."
953        cp -p $WORKDIR/opengnsys/admin/Services/opengnsys.init /etc/init.d/opengnsys
954        cp -p $WORKDIR/opengnsys/admin/Services/opengnsys.default /etc/default/opengnsys
955        update-rc.d opengnsys defaults
[49c6891]956        echoAndLog "openGnsysConfigure(): Creating OpenGnSys config file in \"$INSTALL_TARGET/etc\"."
[1a22cd2]957        perl -pi -e "s/SERVERIP/$SERVERIP/g" $INSTALL_TARGET/etc/ogAdmServer.cfg
958        perl -pi -e "s/SERVERIP/$SERVERIP/g" $INSTALL_TARGET/etc/ogAdmRepo.cfg
[ea7186c]959        echoAndLog "${FUNCNAME}(): Creating Web Console config file"
960        OPENGNSYS_CONSOLEURL="http://$SERVERIP/opengnsys"
961        perl -pi -e "s/SERVERIP/$SERVERIP/g; s/OPENGNSYSURL/${OPENGNSYS_CONSOLEURL//\//\\/}/g" $INSTALL_TARGET/www/controlacceso.php
962        sed -e "s/SERVERIP/$SERVERIP/g" -e "s/OPENGNSYSURL/${OPENGNSYS_CONSOLEURL//\//\\/}/g" $WORKDIR/opengnsys/admin/Services/ogAdmClient/ogAdmClient.cfg > $INSTALL_TARGET/client/etc/ogAdmClient.cfg
[49c6891]963        echoAndLog "openGnsysConfiguration(): Starting OpenGnSys services."
[cc7eab7]964        /etc/init.d/opengnsys start
965}
966
[b6906f7]967
[a01156a]968#####################################################################
[180a07dd]969#######  Función de resumen informativo de la instalación
970#####################################################################
971
972function installationSummary(){
973        echo
[49c6891]974        echoAndLog "OpenGnSys Installation Summary"
[180a07dd]975        echo       "=============================="
[8457092]976        echoAndLog "Project version:                  $(cat $INSTALL_TARGET/doc/VERSION.txt 2>/dev/null)"
[49c6891]977        echoAndLog "Installation directory:           $INSTALL_TARGET"
978        echoAndLog "Repository directory:             $INSTALL_TARGET/images"
[180a07dd]979        echoAndLog "TFTP configuracion directory:     /var/lib/tftpboot"
980        echoAndLog "DHCP configuracion file:          /etc/dhcp3/dhcpd.conf"
981        echoAndLog "NFS configuracion file:           /etc/exports"
[49c6891]982        echoAndLog "Web Console URL:                  $OPENGNSYS_CONSOLEURL"
[180a07dd]983        echoAndLog "Web Console admin user:           $OPENGNSYS_DB_USER"
984        echoAndLog "Web Console admin password:       $OPENGNSYS_DB_PASSWD"
[c5ce04c]985        echoAndLog "Web Console default user:         $OPENGNSYS_DB_DEFAULTUSER"
986        echoAndLog "Web Console default password:     $OPENGNSYS_DB_DEFAULTPASSWD"
[180a07dd]987        echo
988        echoAndLog "Post-Installation Instructions:"
989        echo       "==============================="
990        echoAndLog "Review or edit all configuration files."
[c5ce04c]991        echoAndLog "Insert DHCP configuration data and restart service."
[180a07dd]992        echoAndLog "Log-in as Web Console admin user."
[c5ce04c]993        echoAndLog " - Review default Organization data and default user."
[180a07dd]994        echoAndLog "Log-in as Web Console organization user."
[49c6891]995        echoAndLog " - Insert OpenGnSys data (rooms, computers, etc)."
[180a07dd]996echo
997}
998
999
1000
1001#####################################################################
[49c6891]1002####### Proceso de instalación de OpenGnSys
[a01156a]1003#####################################################################
1004
[7586ca3]1005
[49c6891]1006echoAndLog "OpenGnSys installation begins at $(date)"
[cc7eab7]1007
[7586ca3]1008# Detectar parámetros de red por defecto
1009getNetworkSettings
1010if [ $? -ne 0 ]; then
1011        errorAndLog "Error reading default network settings."
1012        exit 1
1013fi
1014
[318efac]1015# Actualizar repositorios
1016apt-get update
1017
[b6906f7]1018# Instalación de dependencias (paquetes de sistema operativo).
[a01156a]1019declare -a notinstalled
1020checkDependencies DEPENDENCIES notinstalled
1021if [ $? -ne 0 ]; then
1022        installDependencies notinstalled
1023        if [ $? -ne 0 ]; then
1024                echoAndLog "Error while installing some dependeces, please verify your server installation before continue"
1025                exit 1
1026        fi
1027fi
1028
[49c6891]1029# Arbol de directorios de OpenGnSys.
[a01156a]1030openGnsysInstallCreateDirs ${INSTALL_TARGET}
1031if [ $? -ne 0 ]; then
1032        errorAndLog "Error while creating directory paths!"
1033        exit 1
1034fi
[b6906f7]1035
[1e7eaab]1036# Si es necesario, descarga el repositorio de código en directorio temporal
[49c6891]1037if [ $USESVN -eq 1 ]; then
[1e7eaab]1038        svnExportCode $SVN_URL
1039        if [ $? -ne 0 ]; then
1040                errorAndLog "Error while getting code from svn"
1041                exit 1
1042        fi
1043else
1044        ln -fs "$(dirname $PROGRAMDIR)" opengnsys
[a01156a]1045fi
1046
[49c6891]1047# Compilar código fuente de los servicios de OpenGnSys.
[b6906f7]1048servicesCompilation
[13a01a7]1049if [ $? -ne 0 ]; then
1050        errorAndLog "Error while compiling OpenGnsys services"
1051        exit 1
1052fi
[b6906f7]1053
1054# Configurando tftp
[318efac]1055tftpConfigure
[b6906f7]1056
1057# Configuración NFS
1058nfsConfigure
[13a01a7]1059if [ $? -ne 0 ]; then
1060        errorAndLog "Error while configuring nfs server!"
1061        exit 1
1062fi
[b6906f7]1063
1064# Configuración ejemplo DHCP
1065dhcpConfigure
[a555f49]1066if [ $? -ne 0 ]; then
1067        errorAndLog "Error while copying your dhcp server files!"
1068        exit 1
1069fi
[b6906f7]1070
[49c6891]1071# Copiar ficheros de servicios OpenGnSys Server.
[463a1d49]1072openGnsysCopyServerFiles ${INSTALL_TARGET}
1073if [ $? -ne 0 ]; then
1074        errorAndLog "Error while copying the server files!"
1075        exit 1
1076fi
1077
[49c6891]1078# Instalar Base de datos de OpenGnSys Admin.
[b6906f7]1079isInArray notinstalled "mysql-server"
1080if [ $? -eq 0 ]; then
1081        mysqlSetRootPassword ${MYSQL_ROOT_PASSWORD}
1082else
1083        mysqlGetRootPassword
1084
1085fi
[463a1d49]1086
[a01156a]1087mysqlTestConnection ${MYSQL_ROOT_PASSWORD}
1088if [ $? -ne 0 ]; then
1089        errorAndLog "Error while connection to mysql"
1090        exit 1
1091fi
[892606b9]1092mysqlDbExists ${MYSQL_ROOT_PASSWORD} ${OPENGNSYS_DATABASE}
[a01156a]1093if [ $? -ne 0 ]; then
[cc7eab7]1094        echoAndLog "Creating Web Console database"
[892606b9]1095        mysqlCreateDb ${MYSQL_ROOT_PASSWORD} ${OPENGNSYS_DATABASE}
[a01156a]1096        if [ $? -ne 0 ]; then
[cc7eab7]1097                errorAndLog "Error while creating Web Console database"
[a01156a]1098                exit 1
1099        fi
1100else
[cc7eab7]1101        echoAndLog "Web Console database exists, ommiting creation"
[a01156a]1102fi
1103
[892606b9]1104mysqlCheckUserExists ${MYSQL_ROOT_PASSWORD} ${OPENGNSYS_DB_USER}
[a01156a]1105if [ $? -ne 0 ]; then
1106        echoAndLog "Creating user in database"
[892606b9]1107        mysqlCreateAdminUserToDb ${MYSQL_ROOT_PASSWORD} ${OPENGNSYS_DATABASE} ${OPENGNSYS_DB_USER} "${OPENGNSYS_DB_PASSWD}"
[a01156a]1108        if [ $? -ne 0 ]; then
[cc7eab7]1109                errorAndLog "Error while creating database user"
[a01156a]1110                exit 1
1111        fi
1112
1113fi
1114
[892606b9]1115mysqlCheckDbIsEmpty ${MYSQL_ROOT_PASSWORD} ${OPENGNSYS_DATABASE}
[a01156a]1116if [ $? -eq 0 ]; then
1117        echoAndLog "Creating tables..."
[892606b9]1118        if [ -f $WORKDIR/$OPENGNSYS_DB_CREATION_FILE ]; then
1119                mysqlImportSqlFileToDb ${MYSQL_ROOT_PASSWORD} ${OPENGNSYS_DATABASE} $WORKDIR/$OPENGNSYS_DB_CREATION_FILE
[a01156a]1120        else
[892606b9]1121                errorAndLog "Unable to locate $WORKDIR/$OPENGNSYS_DB_CREATION_FILE!!"
[a01156a]1122                exit 1
1123        fi
1124fi
1125
1126# copiando paqinas web
[7586ca3]1127installWebFiles
[5d6bf97]1128# Generar páqinas web de documentación de la API
1129makeDoxygenFiles
[a01156a]1130
1131# creando configuracion de apache2
[892606b9]1132openGnsysInstallWebConsoleApacheConf $INSTALL_TARGET /etc/apache2
[a01156a]1133if [ $? -ne 0 ]; then
[49c6891]1134        errorAndLog "Error configuring Apache for OpenGnSYS Admin"
[a01156a]1135        exit 1
1136fi
1137
1138popd
[892606b9]1139
1140# Creando la estructura del cliente
1141openGnsysClientCreate
[a555f49]1142if [ $? -ne 0 ]; then
1143        errorAndLog "Error creating clients"
1144        exit 1
1145fi
[892606b9]1146
[49c6891]1147# Configuración de servicios de OpenGnSys
[cc7eab7]1148openGnsysConfigure
[2308fc7]1149
[180a07dd]1150# Mostrar sumario de la instalación e instrucciones de post-instalación.
1151installationSummary
1152
[077dd7c5]1153#rm -rf $WORKDIR
[49c6891]1154echoAndLog "OpenGnSys installation finished at $(date)"
[2308fc7]1155
Note: See TracBrowser for help on using the repository browser.