# Configuración del BCC Web Server

## Introducción

Este manual describe la configuración de los componentes del lado del servidor de la aplicación *GBS BCC*. El GBS BCC es una aplicación diseñada para registrar perfiles civiles y de bebés con sus datos biográficos y biométricos, tales como huellas dactilares, rostro, huellas palmares, iris y otros.

El procedimiento de configuración debe realizarse solo después del paso de instalación. Para más información, consulte el [Manual de Instalación de GBS Apps](/gbs/es/componentes-web/gbsappssetup.md).

## Configuración

Los pasos de configuración son:

1. Configure el Tomcat;
2. Configure los Certificados;
3. Genere la contraseña encriptada;
4. Finalice las configuraciones en el archivo config.properties.

Todos los pasos se describen abajo. Un ejemplo del archivo `config.properties` puede verse en la sección [Ejemplo del Archivo de Configuración](#exemplo-do-arquivo-de-configuracao).

{% hint style="danger" %}
Todas las líneas deben estar presentes en el archivo de configuración. Comentar o eliminar líneas puede causar comportamientos inesperados. Para información adicional, contacte al Equipo de Soporte de Griaule.
{% endhint %}

### Configuración del Tomcat

Edite el archivo de configuración del Tomcat para configurar los certificados y el puerto que la aplicación usará.

```sh
vi /var/lib/tomcats/bcc/conf/server.xml
```

Para cambiar el puerto, busque `connector port=`. Ese es el puerto para operaciones backend.

### Configuración de Certificados

Para habilitar autenticación SSL, busque `connector port=` en el archivo `/conf/server.xml`.

Existen dos entradas. La comentada es la configuración para SSL. Quite los delimitadores de comentarios `<!--` y `-->`, luego ajuste los siguientes parámetros:

```properties
port="58194"
keystoreFile="/home/griaule/keystore"
keystorePass="password"
keyAlias="1"
clientAuth="true"
truststoreFile="/home/griaule/keystore"
truststorePass="password"
```

El parámetro `port` debe ser el puerto de red deseado para la aplicación.

Cambie la ruta del `keystoreFile` y al `truststoreFile` a los valores apropiados. Haga lo mismo para el `keystorePass` y al `truststorePass`.

El parámetro `clientAuth="true"` requerrá autenticación del servidor para el cliente y del cliente para el servidor. Esto significa que el cliente necesitará importar el certificado en el navegador para poder acceder a la aplicación.

{% hint style="warning" %}
Cuando **clientAuth** está definida como *true*, el administrador del sistema debe proporcionar el archivo **certificate.pfx** a los usuarios finales.
{% endhint %}

### Cifrado de la contraseña de la Base de Datos

En el archivo `config.properties`, el parámetro `jdbc.password` es una contraseña encriptada. Para generar la contraseña encriptada, siga los siguientes pasos:

1. Vaya al siguiente directorio:

   ```sh
   cd /var/lib/tomcats/bcc/webapps/gbs-bcc-server/WEB-INF/lib
   ```
2. Ejecute el comando:

   ```sh
   java -cp gbs-common-db-<versión>.jar com.griaule.commons.util.EncryptUtil <contraseñaDeseada>
   ```
3. La contraseña encriptada aparecerá después del mensaje: *"Encrypted password is:"*

{% hint style="info" %}
Guarde la contraseña encriptada. Será usada en configuraciones posteriores.
{% endhint %}

### Archivo de Configuración de la Aplicación

Para configurar el archivo, ábralo con:

```sh
vi /var/lib/tomcats/best/conf/config.properties
```

Los cambios más importantes en este archivo son los parámetros `jdbc.url`, `jdbc.username`, `jdbc.password` y `gbds.url`Configurelos de acuerdo con su entorno.

El archivo de configuración completo se muestra en la sección [Ejemplo del Archivo de Configuración](#exemplo-do-arquivo-de-configuracao)

{% hint style="info" %}
Recuerde reemplazar la contraseña cifrada generada en la sección [Cifrado de la contraseña de la Base de Datos](#criptografia-da-senha-do-banco-de-dados) en este archivo.
{% endhint %}

#### Configuración del BCC

El último paso es configurar la IP y el puerto de la aplicación que el usuario final irá a acceder. Debe ser la misma IP y puerto configurados en la sección [Configuración del Tomcat](#configuracao-do-tomcat).

```properties
bcc.ip=<ip>
bcc.port=<port>
bcc.protocol=<protocol>
```

{% hint style="warning" %}
Asegúrese de que los parámetros de configuración `bcc.ip`, `bcc.port` y `bcc.protocol` estén correctamente especificados en el archivo `config.properties`. En muchos casos, la IP será la misma para varias aplicaciones. Sin embargo, cada aplicación tendrá un puerto **distinto y único**.
{% endhint %}

## Finalizando las Configuraciones

Después de completar todos los pasos de configuración, vuelva al [Manual de Instalación de GBS Apps - Sección de Configuración](/gbs/es/componentes-web/gbsappssetup.md#configuracoes).

## Ejemplo del Archivo de Configuración

Esta sección muestra un ejemplo del archivo `config.properties`.

```properties
# GBS BCC Server

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://192.168.0.189:3306/bcc
jdbc.username=root
jdbc.password=CDrt8vbewA2YAubPNOLZkw==
jdbc.dialect=org.hibernate.dialect.MySQLDialect
jdbc.showSql=false

locale=en_us

gbds.url=http://192.168.0.105:8085
gbds.user=gbds.authenticate
gbds.key=griaule.123
gbds.logLevel=DEBUG
gbds.timeout=300
gbds.enroll.priority=DEFAULT_PRIORITY
gbds.search.priority=DEFAULT_PRIORITY
gbds.mock=false

queuePooling=true

bcc.localPort=64041
minimumBiometrics=1
sequenceControlType=NONE
listFields=BIOGRAPHIC:birthDate

databaseProfileDays=30
operationMode=ONLINE

saveDirectory=C:/Users/griaule/Documents

sequenceControlType=CTRL_442
fingerprint.useSDK=true

bcc.ip=
bcc.port=
bcc.protocol=

bccService.location=
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.griaule.com/gbs/es/componentes-web/bccwebconfig.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
