wiki:FicheroConfiguracion

Fichero de Configuración

El fichero de configuración opengnsys.conf debería contener todos los parametros que necesiten las aplicaciones, tanto en el servidor como en los clientes, que no se vayan a mantener en la base de datos.

Podría estar formado por las siguientes secciones:

  • [Common]: Contendría todas las variables que deben conocer las aplicaciones que se ejecuten tanto en el servidor como en los clientes.
  • [Server]: Parámetros necesarios para el funcionamiento de los componentes del servidor.
  • [Clients]: Configuraciones que sólo afectan al funcionamiento de los clientes.

Estos parámetros se podrían exportar como variables de entorno, en el caso del servidor las secciones [Common] y [Server] y en los clientes [Common] y [Clients], añadiendo un prefijo, $GNSYS_hidra_server, por ejemplo.

El fichero quedaría así:

[Server]

www_server=10.0.0.0
www_port=10.0.0.0
DBserver=10.0.0.0
DBcatalog=bd_hidra
www_dbuser=hidrauser
www_dbpass=passusuhidra
start_hidra_daemon=1
start_repository_daemon=1
start_bittorrent=0
start_eac_server=1

[Common]
ntfsutility=ntfsclone
logserver=10.0.0.0

[Client]
client_dbuser=eacuser
client_dbpass=passeacuser


El script script_uso.sh muestra como se utilizaría desde el shell:

#!/bin/bash

OPENGNSYS_BIN=$(dirname `readlink -f "$0"`)
OPENGNSYS_BASE=$(dirname $OPENGNSYS_BIN)
OPENGNSYS_SBIN=$OPENGNSYS_BASE/sbin
OPENGNSYS_LIB=$OPENGNSYS_BASE/lib
OPENGNSYS_ETC=$OPENGNSYS_BASE/etc
. $OPENGNSYS_LIB/common.lib
loadSectionFromConfig SERVER
echo "La variable1 vale $variable1";

y desde PHP script_uso.php:

#!/usr/bin/php
<?php
define("OPENGNSYS_BIN",dirname(__FILE__));
define("OPENGNSYS_BASE",dirname(OPENGNSYS_BIN));
define("OPENGNSYS_SBIN",OPENGNSYS_BASE."/sbin");
define("OPENGNSYS_LIB",OPENGNSYS_BASE."/lib");
define("OPENGNSYS_ETC",OPENGNSYS_BASE."/etc");
require_once(OPENGNSYS_LIB."/class.cli.php");
require_once(OPENGNSYS_LIB."/class.configloader.php");
$o_config=ConfigLoader::getInstance();
$o_config->setConfigFile(OPENGNSYS_ETC."/opengnsys.conf");
if (!$o_config->isParsed())
        $o_config->parse();
//con esto podemos tener un array asociativo con la clave valor de la sección
$a_configServer=$o_config->getConfigSection("SERVER");
//print_r($configServer);

//con esto definimos "constantes"
$o_config->loadSectionInPhp("SERVER");
echo "La variable1 vale ".variable1."\n";
?>

Last modified 2 months ago Last modified on Jul 14, 2017, 1:07:08 PM