Guía de instalación Linux
Esta guía contiene instrucciones de instalación y configuración para un entorno de producción en Ubuntu 20.04 y Ubuntu 22.04.
- Versiones soportadas
- Digdash
- OpenJDK 11
- Tomcat 9
- Despliegue de la versión 2023R2 de DigDash
- OpenLDAP
- Instalación
- Configuración de OpenLDAP
- Aumentar la memoria de la base de datos MDB (opcional)
- MariaDB (Recomendado)
- NGINX (Opcional)
- Configuración de DigDash tras la instalación
Versiones soportadas
Se admiten las siguientes versiones:
- Tomcat 9 : último parche
- OpenLDAP : del último parche 2.5.x al último parche 2.6.x por defecto del gestor de paquetes
- MariaDB : versión del sistema operativo o última versión LTS, último parche
- Nginx : versión del sistema
Digdash
OpenJDK 11
sudo apt install default-jdk
# Comprobar la instalación
java -version
Tomcat 9
Instalación
Creación de las carpetas utiles
sudo mkdir -p /home/digdash/webapps/default/
# Repertorio de trabajo
sudo mkdir -p /home/digdash/appdata/default/
# Localización de los archivos .properties
sudo mkdir -p /etc/digdash/
# Localización de los logs
sudo mkdir -p /var/log/digdash/
Modificación de los atributos y permisiones de las carpetas
sudo chown -R tomcat:tomcat /var/log/digdash
sudo chmod a+w /var/log/digdash
Configuración del archivo server.xml
Ubicación : /etc/tomcat9/server.xml
Ubicación de los webapps
<Host name="localhost" appBase="webapps"
# con este
<Host name="localhost" appBase="/home/digdash/webapps/default"
Valve Connector
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" ></Connector>
# como siguiente
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
maxConnections="30000"
maxParameterCount="100000"
maxThreads="10000" maxPostSize="62914560"
redirectPort="8443" compression="on" ></Connector>
Valve Reverse Proxy
<Valve className="org.apache.catalina.valves.RemoteIpValve"
internalProxies="127\.0\.[0-1]\.1"
remoteIpHeader="X-Forwarded-For"
requestAttributesEnabled="true"
protocolHeader="X-Forwarded-Proto"
protocolHeaderHttpsValue="https"></Valve>
En el caso de un servidor en ipv6, usar :
internalProxies="127\.0\.[0-1]\.1|0:0:0:0:0:0:0:1|::1"
remoteIpHeader="X-Forwarded-For"
requestAttributesEnabled="true"
protocolHeader="X-Forwarded-Proto"
protocolHeaderHttpsValue="https"></Valve>
Valve Log
<Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false" ></Valve>
Limitar el archivo localhost_access_log (opcional)
Para limitar el tamaño del archivo localhost_access_log, añadir el parámetro maxDays en la etiqueta Access Log y darle el valor del número de días que quiera.
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" maxDays="10" ></Valve>
Modificación del context.xml
Ubicación : /etc/tomcat9/context.xml
<Resources cachingAllowed="true" cacheMaxSize="100000"></Resources>
Modificación de la RAM
sudo vi /etc/default/tomcat9
# Sustituir la variable JAVA_OPTS existente por
JAVA_OPTS="-Djava.awt.headless=true -XX:+UseShenandoahGC -Xms6G -Xmx6G -Djava.security.egd=file:/dev/urandom -DPROP_MAX_CONCURRENT_TOTAL=5000 -DPROP_MAX_CONCURRENT_CON_PER_HOST=5000"
# Cambia el parámetro 6G según la capacidad de la máquina, dejando al menos 2G para el SO.
# En el ejemplo anterior, la máquina tiene 8G de RAM.
# Se recomienda utilizar el mismo valor para Xms y Xmx.
Habilitar Tomcat para escribir registros
sudo mkdir -p /etc/systemd/system/tomcat9.service.d
# Crear el archivo
sudo vi /etc/systemd/system/tomcat9.service.d/logging-allow.conf
# Añadir las líneas siguientes
[Service]
ReadWritePaths=/var/log/digdash/
# Actualizar la configuración de los "daemon"
sudo systemctl daemon-reload
sudo systemctl restart tomcat9.service
Activación del lanzamiento automático del servicio al inicio
Despliegue de la versión 2023R2 de DigDash
Archivos properties
Colocar el archivo digdash.properties (contenido en la raíz de la carpeta descomprimida) en la carpeta /etc/digdash.
Crear los siguientes archivos en la carpeta /etc/digdash :
Editar el archivo digdash.properties copiado previamente
# Ubicación de los registros
ddenterpriseapi.ddlog4j.properties.file=/etc/digdash/log4j2_api.properties
studio.ddlog4j.properties.file=/etc/digdash/log4j2_studio.properties
digdash_dashboard.ddlog4j.properties.file=/etc/digdash/log4j2_dash.properties
# Ubicación del appadata
ddenterpriseapi.AppDataPath=/home/digdash/appdata/default
digdash_dashboard.AppDataPath=/home/digdash/appdata/default
studio.AppDataPath=/home/digdash/appdata/default
adswrapper.ads.instance.name=/home/digdash/appdata/default/ldapdigdash
adminconsole.adminconsole_domain=adminconsole
adminconsole.webstudio_domain=studio
adminconsole.server_domain_list=ddenterpriseapi
adminconsole.dashboard_domain=digdash_dashboard
studio.DOMAIN=ddenterpriseapi
studio.FORCEDOMAIN=true
studio.SERVERURL=http://localhost:8080
studio.FORCESERVERURL=true
studio.adminconsole_domain=adminconsole
digdash_dashboard.DOMAIN=ddenterpriseapi
digdash_dashboard.FORCEDOMAIN=true
digdash_dashboard.SERVERURL=http://localhost:8080
digdash_dashboard.FORCESERVERURL=true
digdash_dashboard.adminconsole_domain=adminconsole
########### Limpieza automática de los archivos programados
########### Scheduled automatic file cleaning
ddenterpriseapi.startCleaner=true
########### Limpieza de los archivos inutilizados al iniciar el servidor
########### Clean up unused files on server startup
ddenterpriseapi.cleanOnStart=false
########### Respaldo automático programado
########### Scheduled automatic backup
ddenterpriseapi.autoBackup=true
ddenterpriseapi.autoBackupKeepDays=7
digdash_dashboard.CANCHANGEPASSWORD=true
Ubicacion de los webapps (archivos.war)
Colocar los siguientes elementos (contenidos en el directorio apache_tomcat/webapps de la carpeta descomprimida) en la carpeta /home/digdash/webapps/default:
- adminconsole.war
- ddenterpriseapi.war
- digdash_dashboard.war
- studio.war
- la carpeta ROOT/
OpenLDAP
Instalación
Instalar el servidor OpenLDAP
Iniciar la instalación
d |
Definir la contraseña para el administrador del directorio LDAP
Configurar el servidor OpenLDAP
En la primera ventana que se muestra, seleccionar No.
Comprobar el nombre de dominio : digdash.com.
Compropar el nombre de entidad (Organization name) : digdash.
Introducir la contraseña del administrador del directorio LDAP (la definida en el paso Instalar el servidor OpenLDAP).
Seleccionar No en la siguiente pantalla :
Seleccionar Yes en la siguiente pantalla :
Arrancar los servicios OpenLDAP
Activación del lanzamiento automático del servicio al inicio
Ac |
Respaldo de OpenLDAP
Configuración de OpenLDAP
Cargar el módulo de política de contraseñas: ppolicy
Comprobación
Activar el módulo ppolicy
Este párrafo sólo se aplica a Ubuntu 20.04 y es opcional.
La versión de OpenLDAP instalada para Ubuntu 22.04 no contiene el módulo ppolicy.
Añadir las siguientes líneas al archivo creado :
Comprobación
Encriptar las contraseñas y bloquear las cuentas de usuario ppolicy-conf
Este párrafo sólo se aplica a Ubuntu 20.04 y es opcional.
La versión de OpenLDAP instalada para Ubuntu 22.04 no contiene el módulo ppolicy.
Añadir las siguientes líneas al archivo creado :
Comprobación
olcPPolicyDefault: Indica un DN de configuración utilizado por defecto (véase el párrafo siguiente)..
olcPPolicyHashCleartext: Indica si las contraseñas deben cifrarse sistemáticamente. Este parámetro debe ser igual a TRUE salvo en casos excepcionales.
olcPPolicyUseLockout: Indica si el mensaje de error devuelto cuando se intenta conectar a una cuenta bloqueada es un mensaje específico de este estado bloqueado (TRUE), o un mensaje general de fallo de conexión (FALSE). FALSE es más seguro (ninguna indicación a un hacker potencial), TRUE es más práctico.
Definir una política de contraseñas
Este párrafo sólo se aplica a Ubuntu 20.04 y es opcional.
La versión de OpenLDAP instalada para Ubuntu 22.04 no contiene el módulo ppolicy.
Añadir las siguientes líneas al archivo creado :
Comprobación
Creación de una nueva organización
Añadir las siguientes líneas al archivo creado :
Crear un nuevo usuario admin con los derechos adecuados
El super admin no tiene en cuenta las políticas de contraseñas, si se define como cuenta de inicio de sesión en Digdash no se aplicarán las políticas de contraseñas LDAP.
Añadir las siguientes líneas al archivo creado :
Añadir las siguientes líneas al archivo creado :
Establecer la nueva contraseña del nuevo admin (es la contraseña del LDAP de DigDash)
Funciones útiles
Las operaciones que se indican a continuación no forman parte de la instalación.
Sin embargo, puede ser útil familiarizarse con ellas para su uso futuro.
Ampliar el límite de 500 para las búsquedas LDAP
Añadir las siguientes líneas al archivo creado :
Desbloquear una cuenta bloqueada manualmente
Añadir las siguientes líneas al archivo creado :
Para más información, consultar la documentación Overriding password policy and unlocking accounts.
Aumentar la memoria de la base de datos MDB (opcional)
Cree el archivo de configuración "increase_mem.ldif" con el siguiente contenido:
olcDbMaxSize debe expresarse en bytes. En el ejemplo anterior la configuración es 10GB.
Ejecutar el comando :
MariaDB (Recomendado)
La base de datos MariaDB se utilizará para almacenar los siguientes elementos: Comentarios, datos de auditoría y datos ingreasados con formulario.
Esta base de datos es más duradera que una base de datos H2, por lo que recomendamos su uso. Si ya tienes una base de datos en la que DigDash puede escribir y leer, entonces salta a la etapa de configuración.
Esto también funciona con Mysql o Postgresql.
Instalación
sudo systemctl start mariadb
#Detener mariadb
sudo systemctl stop mariadb
#Recarga para tener en cuenta los cambios de configuración
sudo systemctl reload mariadb
sudo systemctl force-reload mariadb
#Conocer la versión
mariadb --version
Ejecutar mysql_secure_installation para asegurar la instalación
# Contestar sí a todos los pasos
Configuración de la base de datos
Crearemos una base de datos para cada entorno y cada webapp (por ejemplo prod_ddaudit y dev_ddaudit y así sucesivamente).
En el siguiente ejemplo, supondremos que sólo hay un entorno "default".
sudo mariadb -u root -p
# Crear todas las bases de datos necesarias entornos_modulo.
CREATE DATABASE default_ddaudit;
CREATE DATABASE default_comment;
CREATE DATABASE default_ddentry;
# Crear un usuario para cada base de datos env_user_module. La contraseña es una nueva contraseña que se creará.
CREATE USER 'default_user_ddaudit'@'localhost' IDENTIFIED BY 'mynewpassword';
CREATE USER 'default_user_comment'@'localhost' IDENTIFIED BY 'mynewpassword';
CREATE USER 'default_user_ddentry'@'localhost' IDENTIFIED BY 'mynewpassword';
# Asignar derechos a los usuarios sobre la base adecuada
GRANT ALL PRIVILEGES ON default_comment.* TO 'default_user_comment'@'localhost';
GRANT ALL PRIVILEGES ON default_ddaudit.* TO 'default_user_ddaudit'@'localhost';
GRANT ALL PRIVILEGES ON default_ddentry.* TO 'default_user_ddentry'@'localhost';
NGINX (Opcional)
Utilizamos Nginx como reverse proxy.
Instalación
Configuración
Cree un archivo de configuración con el nombre de su máquina o entorno. En este ejemplo, se utiliza 001-digdash.
En la carpeta /etc/nginx :
sudo vi /etc/nginx/sites-available/001-digdash.conf
# Sustituir .midominio.com por el del servidor y las rutas de Certificado(s) y clave privada por su información.
upstream backend_tomcat{
least_conn;
server localhost:8080 fail_timeout=0;
}
server {
listen [::]:80;
listen 80;
server_name *.mondomaine.com;
# Redirect all non-https requests
rewrite ^ https://$host$request_uri? permanent;
error_log /var/log/nginx/digdash.com.error_log warn;
access_log /var/log/nginx/digdash.com.access.log;
}
server {
listen [::]:443 ssl http2 default_server;
listen 443 ssl http2 default_server;
server_name *.mondomaine.com;
client_max_body_size 4G;
proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_send_timeout 300;
error_log /var/log/nginx/digdash.com.error_log warn;
access_log /var/log/nginx/digdash.com.access.log;
# Certificate(s) and private key
ssl_certificate_key /emplacement/de/la/clé/macle.key;
ssl_certificate /emplacement/du/certificat/moncertif.crt;
#DigDash Management SSL
include digdash_ssl_params;
location / {
include proxy_params;
proxy_intercept_errors on;
proxy_pass http://backend_tomcat;
proxy_cookie_path ~^/(.+)$ "/$1; HTTPOnly; Secure;samesite=none;";
}
}
Crear un enlace simbólico en sites-enabled
Crear el archivo digdash_ssl_params que contiene la política de seguridad.
# openssl dhparam 4096 -out /etc/ssl/dhparam.pem
#ssl_dhparam /etc/ssl/dhparam.pem;
ssl_protocols TLSv1.3 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ecdh_curve secp521r1:secp384r1;
ssl_ciphers EECDH+AESGCM:EECDH+AES256;
ssl_session_cache shared:TLS:2m;
ssl_buffer_size 4k;
# OCSP stapling
ssl_stapling on;
ssl_stapling_verify on;
resolver 1.1.1.1 1.0.0.1 [2606:4700:4700::1111] [2606:4700:4700::1001]; # Cloudflare
# Set HSTS to 365 days
add_header Strict-Transport-Security 'max-age=31536000; includeSubDomains; preload' always;
Configuración de DigDash tras la instalación
Arrancar DigDash
- Reiniciar el servicio Tomcat.
- Comprobar el despliegue del war en la carpeta de instalación /home/digdash/webapps/default.
- Acceda a DigDash en la siguiente dirección:: http://localhost:8080/adminconsole.
El nombre de usuario/contraseña son admin / admin.
Conexión de Digdash al servidor OpenLDAP instalado
Ir en Configuración > Parametros del servidor > Servidores > Servidor LDAP.
- Port : 389
- Usuario : uid=admin, ou=default,dc=digdash,dc=com
- Contraseña : contraseña supervisor de OpenLDAP
Hacer clic en Consultas LDAP, y ingresar "ou=default" en el campo Árbol de dominios para que los campos a continuacion sean automaticamente ingresados como abajo.
Cambio de la contraseña del supervisor y creación de una cuenta LDAP
Cambio de la contraseña del supervisor
Ir en Configuración > Parametros del servidor > Servidores > Servidor Enterprise y ingresar una nueva contraseña en el campo Contraseña del supervisor.
Creación de una cuenta LDAP
- Ir en Configuration -> Gestion de los usuarios -> Usuarios.
- Crea un nuevo usuario admin y asígnale todos los roles y grupos de autorización.
- En el campo Contraseña, introduzca la nueva contraseña de supervisor definida anteriormente.
Configuración de la base de datos
Base de datos Datos de auditoría
Ir en Configuración > Parametros del servidor -> Base de datos > Datos de auditoria y ingresar la URL, el nombre de usuario y su contraseña.
URL : jdbc:mariadb://localhost:3306/default_ddaudit
Usuario : default_user_ddaudit
Esta solución asegura el acceso a la base de datos de auditoría.
Base de datos Comentarios
Ir en Configuración > Parametros del servidor -> Base de datos > Comentarios y ingresar la URL, el nombre de usuario y su contraseña.
URL : jdbc:mariadb://localhost:3306/default_comment
Usuario : default_user_comment
Esta solución asegura el acceso a la base de datos de comentarios.
Base de données Saisie de données
Ir en Configuración > Parametros del servidor -> Base de datos -> Entrada de datos.
Marcar la casilla Habilitar la entrada de datos y seleccionar una base de datos en la lista desplegable.
Primero, se debe crear una conexión de base de datos desde el Gestor de conexiones de base de datos en Studio. Consulte la página Gestor de conexiones de bases de datos para obtener más información.
Introduzca default.user.ddentry para el usuario y la contraseña definidos en el paso anterior.
El nombre definido en el campo Nombre de conexión es el que aparecerá en la lista desplegable de selección de base de datos.