jueves, 19 de junio de 2025

GLPI (V): Tareas programadas

Introducción

El ENS exige una serie de tareas periódicas para comprobar ciertos niveles de aceptación del sistema:

En el procedimiento 3 de seguridad lógica se establecen planes:

  • Anuales (plan de mantenimiento anual)
  • Trimestrales:
    • SAIs 
  • Mensuales (?)
  • Semanales:
    • Servidor: Parches, espacio en disco, antivirus, consumo de memoria ..
    • Copias de seguridad 
    • Cortafuegos (logs, ...)

  • Diarias (?)
Manos a la obra

No se pueden crear tareas programadas de por si. Estas tienen que estar asociadas a un tiquet, para ello empezamos creando un tiquet:

Vamos a Soporte > Tiquet  botón "+Añadir"

Creamos una tarea llamada "ENS - Tareas semanales"
Podemos especificicar la categoría "ENS", y podemos seleccionar uno varios ordenadores sobre los que establecer  las tareas de mantenimiento semanal

Una vez creado el tiquet, vamos a Asistencia (Suport) > Tiquets Recurrentes > "+ Añadir"
Damos un nombre, periodicidad de 7 días,

Ahora se activan las notificaciones para que el responsable las verifique:
Configuració > Notificacions >



miércoles, 18 de junio de 2025

GLPI (IV) Base de Conocimiento

Tenemos que ir a Herramients (Eines) > Base de Conocimientos y botón de Añadir en la parte superior

Nos pide:

  1. Categoría de la base de conocimiento. Se puede crear la categoría. Si se quiere modificar hay que buscar en "Encuentra el menu" de la parte superior izquierda e indicarle:
    Configuración> Llistas desplegables > Categorías de la base de conocimiento.
  2. Tema
  3. Contenido a mostrar
  4. Ficheros de adicionales 
  5. Destinos (a nivel de entidad, grupo, perfil o usuario
Para mejorar el tema hay que definir las categorias anidadas, en mi caso se establece el primer nivel consistente en "Desatacados"(novedades etc), "Público" (Para todos los usuarios) y "Privado" (que es solo para administradores)

En el segundo nivel se establece los programas o temática sobre los que versa la documentación (Correo, contabilidad, tickets, seguridad, ...)

viernes, 13 de junio de 2025

GLPI (III) Formularios

Se ha seguido el vídeo de Paul Portales 

1. Agregar el plugin

Según Paul Portales se debe ir a :

Configuración >Plugins (o complementos) > Tienda (si no se ha registrado hay que registrarse) >Botón de duscubrir

Pero para instalar el plugin es mejor seguir estos pasos:

1. Ir a la página de descargas del plugin

https://github.com/pluginsGLPI/formcreator/releases

2. Descargar una versión compatible que está en formato zip y descomprimirla en una carpeta. Renombrar esta carpeta si es necesario a "formcreator"

3. Copiar esta carpeta "formcreator" dentro de la carpeta de plugins de GLPI

/var/www/html/glpi/plugins/

y dar permisos:

sudo chown -R www-data:www-data /var/www/html/glpi/plugins/formcreator

sudo chmod -R 755 /var/www/html/glpi/plugins/formcreator

4. Instalar el plugin desde la interfaz de GLI. Para ello inicia sesión en GLPI como administrador.

Ve a Configuración > Plugins. Busca el plugin Formcreator en la lista. 

Haz clic en Instalar. Luego, haz clic en Habilitar.

2. Crear un formulario

En GLPI ir a Administración> Formularios > Boton (+ Añadir)

Nos pide los siguientes datos generales: Nombre del formulario, icono, idioma, si está activo, si se ve en la página de inicio del usuario, color, encabezado, y le damos a guardar.

También podemos restringir el acceso a un perfil determinado de usuarios o grupos en "Tipos de accesos" del menú lateral izquierdo

Hay una opción del menú lateral izquierdo de validadadores (Validadors)o aprobación, que tiene un campo por si se quiere que otra persona o grupo valide la información que l usuario ha introducido en el formulario. Para ello, hay un apartado en el menú vertical de la izquierda que se llama "Respuestas de formulario"(Resposta de formulari), y en dicho apartado hay que aprobar lo que el usuario ha introducido.

3. Agregar Campos (Preguntas)

Hay una opción en el menú lateral izquierdo de Questions o Preguntas que son los campos a introducir al formulario. Desde aquí podemos añadir y modificar secciones donde se incluirán los campos y añadir campos (preguntas).

Para los campos se piede:
  • Nombre del campo
  • La sección donde se va a incluir
  • Si su relleno es obligaorio (no puede ir en blanco)
  • Tipo de campo:
    • Actor (glpi,normal,post-only,tech,informatic y Plugion_GLPI_Inventory)
    • Additional Fields (No está acivado el componente para este tipo de campos)
    • DIrecciones IP
    • Campo oculto (como es oculto, hay que darle un valor por defecto)
    • CheckBoxes ( y le damos cada una de las opciones separadas por salto de línea)
    • Email
    • Fecha
    • Fecha y hora
    • Descripcion (Campo de solo lectura, por ejemplo las condiciones del contrato)
    • Enter donde se indica una expresión regular que dicho campo tiene que validar
    • Fichero (para adjuntar uno varios ficheros)
    • Float (que también pide una expresión regular)
    • Hostname
    • LDAP Select: Pide un Directorio de LDAP, un filtro y un atributo (Como (AD) User ID 
    • Lista desplegable (Donde se elige una lista desplegable existente)
    • MultiSelet (Se le da los valores separados consalto de línea)
    • Objeto GLPI (Pide el tipo de objeto, ordenadores, programas, contratos ...)
    • Select (Se le da valores con salto de línea)
    • Tags ???
    • Hora
    • Text
    • TextArea
    • Tipo de petición (Incidencia, Solicitud)
    • Urgencia (Alta, baja,...)
  • Valor por defecto
  • Descripción detallada
  • Expresión regular (solo en algunos tipos de campos)
  • Máximo y mínimo número de caractres del campo
Lo bueno que tiene es que se pueden dar longitud de los campos (justo despues de los 3 iconos hay un símbolo de medio cuadarado rayado que deslizandolo cambia la longitud) y organizar la pantalla como máximo 4 campos por línea. 


Los 3 iconos que aparecen son para borrar, copiar o indicar si el campo es obligado

4. Generar tickets (Objetivos)

En el menú lateral izquierdo del formulario en Objetivos se añade un objetivo y se le da un nombre (por ejemplo "tiquet indcidencias") y tipo "Target ticket" y le damos al botón añadir.
Ahora se le da click sobre el objetivo y nos muestra una pantalla nueva y nos cambia el menú lateral
En el menu lateral "Propiedades" nos pide:
  • Entidad de destino, tiempo que debe responder el tiquet, SLA y OLA (acuerdos de nivel de servicio) ...
En el menu de "Actores" se indican solicitante, supervisor y asignado 

5. Tratamiento de respuestas de formulario

En Administracion > Formularios, elegimos el formulario en cuestión y en el menú lateral izquierdo entramos en "Respuestas de formulario" y al final hay un campo textarea que es un comentario por parte del que tiene que aprobar el formulario.

Una vez aprobado, ya aparece como ticket en el apartado Tiquets de la pantalla del usuario.
Para el usuario administrador se puede ver en Suport > Tiquets
Y en la pantalla de la izquierda se puede reasignar el tiquet a otro actor.
El actor que se le ha asignado, puede apretar el botón de "Responder" y crea unmensaje mediante una textarea con la infomación pertinente para resolver el problema. Tambien se puede adjuntar un archivo para completar la informacfión de resolución del problema.

6. Generar un PDF del Formulario

Si queremos guardar el formulario como PDF vamos a:
Administracion > Formularios y en el menú lateral izquierdo buscamos Formulario y en el campo cabecera marcamos los tres puntitos "..." y le damos al icono de pantalla completa (que es el último)

Podemos añadir tablas, emoticonos, vínculos, imágens etc.

Para añadir una imagen, hay que:
  1. Darle al icono de la imagen
  2. Nos pide un nombre, el cual será el nombre simple del fichero de la imagen con su extensión (sin su ruta), por ejemplo logo01.jpg y opcionalemente una descripción alternativa y tamaño horizontal y vertical
  3. Una vez añadido, nos vamos al icono "<>" para ver el código fuente y vemos que hay un fragmento de código que dice:
    <img src="http://192.168.XXX.XXX/glpi/plugins/formcreator/front/logo01.jpg" alt="Prova Edu" width="50" height="100">
  4. Como en nuestro caso se ha instalado el glpi en la ruta:
    /var/www/glpi del servidor, tenemos que copiar el fichero de la imagen a la carpeta indicada pero con la siguiente ruta: 
    /var/www/glpi/plugins/formcreator/front
    pero hay que cambiarle el usuario a www-data y el grupo a www-data al fichero copiado con el comando chown 
Pero todo esto que hemos añadido se verá solo en la cabecera del formulario.

No hacía falta tanta historia. Pero si se quiere tener documentos con el logo de la empresa y se quieren guardar, esto le daría un poco mas de adaptación del formulario a la imagen dela empresa.

Para impriomir el formulario, aparwece el símbolo de la impresora en el título del formulario y al hacer click se imprime y se puede elegir imprimirlo a PDF









martes, 10 de junio de 2025

GLPI (II). Chuleta de utilización

1. Uso básico

1.1 Acceso

http://192.xxx.xxx.xxx/glpi

usuario glpi

contraseña: mi_contraseña

2. Gestión de usuarios

En Administración > Usuarios > Acciones - Botón Añadir Usuario

Se le indica nombre, login, email, perfil (técnico, admin, usuario,..), Entidad

Desde el usuario en la pestaña perfiles se le pueden añadir múltiples permisos por entidad

3. Gestión de entidades

En Administración > Entidades 

Se puede configurar la separación de usuarios y formularios

4. Gestión de tickets

En Asistencias > Tickets

Se pueden crear tickets, asignar a un técnico, cambiar estado, definir reglas de automatización

5. Formularios personalizados

En Configuración > Formularios

Crear campos adicionales por tipo (ticket, equipo, usuario ..)

Utilizar campos tipo (texto, números, listas estáticas y dinámicas

6. Inventario de equipos 

Para ello hay que instalar el agente a cada ordenador.


lunes, 9 de junio de 2025

GPLI (I). Instalar el agente en Ubuntu y Windows. Crear política de grupo

1. Instalar el agente en Ubuntu

Tenemos un ciente Ubuntu (no un servidor) y queremos que aparezca en el inventario.

 Vamops a la URL 

https://github.com/glpi-project/glpi-agent/releases

y descargamos:

glpi-agent_1.14-2_all.deb

Ahora ejecutamos:

sudo dpkg -i glpi-agent_1.14-2_all.deb

y nos da algunos errores. Para solucionarlo ejecutamos:

sudo apt-get install -f --fix-missing

y volvemos a ejecutar:

sudo dpkg -i glpi-agent_1.14-2_all.deb

Y probamos a ver si funciona:

sudo systemctl status glpi-agent

y nos da error:

× glpi-agent.service - GLPI agent
     Loaded: loaded (/usr/lib/systemd/system/glpi-agent.service; enabled; preset: enabled)
     Active: failed (Result: exit-code) since Mon 2025-06-09 13:47:51 CEST; 12s ago
   Duration: 144ms
       Docs: man:glpi-agent
    Process: 550431 ExecStart=/usr/bin/glpi-agent --daemon --no-fork $OPTIONS (code=exited, status=1/FA>
   Main PID: 550431 (code=exited, status=1/FAILURE)
        CPU: 111ms
de juny 09 13:47:51 a03-inf-005 systemd[1]: Started glpi-agent.service - GLPI agent.
de juny 09 13:47:51 a03-inf-005 glpi-agent[550431]: [error] No target defined, aborting
de juny 09 13:47:51 a03-inf-005 systemd[1]: glpi-agent.service: Main process exited, code=exited, statu>
de juny 09 13:47:51 a03-inf-005 systemd[1]: glpi-agent.service: Failed with result 'exit-code'.


Para solucionarlo, modificamos el fichero de configuración:

sudo nano /etc/glpi-agent/agent.cfg

y añadimos la línea 

server = http://192.168.28.28/glpi

guardamos y rearrancamos el servicio y vemos el estado

sudo systemctl start glpi-agent

sudo systemctl status glpi-agent 

y funciona bien

● glpi-agent.service - GLPI agent
     Loaded: loaded (/usr/lib/systemd/system/glpi-agent.service; enabled; preset: enabled)
     Active: active (running) since Mon 2025-06-09 14:27:54 CEST; 4s ago
       Docs: man:glpi-agent
   Main PID: 569553 (glpi-agent: wai)
      Tasks: 1 (limit: 38323)
     Memory: 62.8M (peak: 62.9M)
        CPU: 343ms
     CGroup: /system.slice/glpi-agent.service
             └─569553 "glpi-agent: waiting"
de juny 09 14:27:54 a03-inf-005 systemd[1]: Started glpi-agent.service - GLPI agent.
de juny 09 14:27:54 a03-inf-005 glpi-agent[569553]: [info] GLPI Agent starting
de juny 09 14:27:54 a03-inf-005 glpi-agent[569553]: [info] [http server] HTTPD service started on port >
de juny 09 14:27:54 a03-inf-005 glpi-agent[569553]: [info] target server0: next run: Tue Jun 10 13:11:5>

2. Instalar el agente en Windows

Vamos a esta URL

https://github.com/glpi-project/glpi-agent/releases

y descargamos

GLPI-Agent-1.14-x64.msi

Lo ejecutamos como administrador, damos todos los valores por omisión excepto la dirección del servidor que le damos:

http://192.168.28.28/glpi 



Pero no nos hace caso pues no lo ha copiado en el fichero de configuración.
Cuando se ha instalado ya hay que ediar este fichero en modo administrador:
C:\Program Files\GLPI-Agent\etc\agent.cfg
y añadimos la línea 
server = http://192.168.28.28/glpi
y guardamos.

Forzamos el servicio con el modo administrador:

cd "C:\Program Files\GLPI-Agent"
glpi-agent.bat --debug --force

puede que de algunos avisos sin importancia como 

C:\Program Files\GLPI-Agent>glpi-agent.bat --debug --force Use of uninitialized value $category in array element at C:/Program Files/GLPI-Agent/perl/agent/GLPI/Agent/Task/Inventory/Win32/Firewall.pm line 115. 

Pero lo importnte es ver si se ha aparecido en el GLPI en la parte de ordenadores


3. Instalar con política de grupo GPO

1. Primeramente se crea una capeta compartida en SYSVOL por ejemplo XIMO-GLPI-agent-deployment. La ruta de esta carpeta vista desde el servidor de dominio es:

C:\Windows\SYSVOL\sysvol\<TuDominio>\Policies\XIMO-GLPI-agent-deployment

donde <TuDominio> es el nombre que se le haya dado al dominio

2. Se copia el GLPI-Agent-1.14-x64.msi a dicha carpeta. Para ello se utiliza xcopy en una consola ejecutada como administrador.

3. Crear un archivo de transformación (MST) para la configuracion del servidor GLPI

1. Primeramente se guarda el programa GLPI_Agent-1.14-x64.msi en una carpeta del sistema que todo el mundo pueda acceder.

2. Se crea este programa instalar_glpi_agent.bat en una ruta compartida

@echo off
msiexec /i "\\servidor\instaladores\GLPI-Agent-1.14-x64.msi" /qn /norestart SERVER=http://192.168.28.28/glpi

3. Se crea una política de grupo:

3.1 Abre GPMC (Group Policy Management Console).

3.2 Crea una nueva GPO: Instalación GLPI Agent.

3.3 Edita la GPO y ve a:

Configuración del equipo > Configuración de Windows > Scripts (Inicio/Apagado) > Inicio

3.4 Añade el script instalar_glpi_agent.bat desde la ruta compartida.

3.5 Aplica la GPO a las unidades organizativas (OU) con tus ordenadores.

3.6 Forzar actualización de GPO. En los clientes, puedes probar con:

gpupdate /force


jueves, 15 de mayo de 2025

OSTicket (2) Estructura de la BD

 1. Relación de tablas:

Estas son las tablas:

ost__search             
ost_api_key             
ost_attachment          
ost_canned_response     
ost_config              
ost_content             
ost_department          
ost_draft               
ost_email               
ost_email_account       
ost_email_template      
ost_email_template_group
ost_event               
ost_faq                 
ost_faq_category        
ost_faq_topic           
ost_file                
ost_file_chunk          
ost_filter              
ost_filter_action       
ost_filter_rule         
ost_form                
ost_form_entry          
ost_form_entry_values   
ost_form_field          
ost_group               
ost_help_topic          
ost_help_topic_form     
ost_list                
ost_list_items          
ost_lock                
ost_note                
ost_organization        
ost_organization__cdata 
ost_plugin              
ost_plugin_instance     
ost_queue               
ost_queue_column        
ost_queue_columns       
ost_queue_config        
ost_queue_export        
ost_queue_sort          
ost_queue_sorts         
ost_role                
ost_schedule            
ost_schedule_entry      
ost_sequence            
ost_session             
ost_sla                 
ost_staff               
ost_staff_dept_access   
ost_syslog              
ost_task                
ost_task__cdata         
ost_team                
ost_team_member         
ost_thread              
ost_thread_collaborator 
ost_thread_entry        
ost_thread_entry_email  
ost_thread_entry_merge  
ost_thread_event        
ost_thread_referral     
ost_ticket              
ost_ticket__cdata       
ost_ticket_priority     
ost_ticket_status       
ost_translation         
ost_user                
ost_user__cdata         
ost_user_account        
ost_user_email          

martes, 6 de mayo de 2025

OSTicket (I) API

1. Introducción

La API de OsTicket es poco funcional ya que de momento solo permite crear tickets

Para utilizar la API de OsTicket hay que primeramente crear una clave

Existen proyectos para dar mas funcionalidad a la API como la de BMSVieira que está en Github y en documentación. Pero no he podido hacerlo funcionar

2. Creación de una clave para usar la API

Nos vamos a Tauler de l'administrador



Nos vamos Administració-API y le indicamos el campo Adreça IP

Y obternemos una clave para una determinada IP



3. Crear un ticket


Veamos un programa en python para crear un ticket. 

import requests

def display_response(response):
	try:
		print(response.json())
	except Exception:
		print(response.text)

def get_new_tiket_old():
	headers = {
		"X-API-Key": "XXXXXXXXXXXX",
		"Content-Type": "application/json",  # Lo que envío
    	        "Accept": "application/json"         # Lo que quiero recibir
	}
	data = {
		"name": "Ximo",
		"email": "ximodante@gmail.com",
		"subject": "2ª Prueba llamada a API de creación de tickets",
		"message": "A ver si crea el ticket por 2ª vez",
	}	
	url='http://192.168.XXX.XXX/osticket/api/http.php/tickets.json'
	response = requests.post(url, json=data, headers=headers)
	display_response(response)
	
if __name__ == "__main__":
	get_new_tiket_old()

Y crea un ticket y nos devuelve el id del ticket, en mi caso:

CAU-460357

4. Instalacion de BMSVieira API (no funciona!!!)


Vamos al git , descargamos el proyecto y descomprimimos el fichero zip.

Nos vamos a la carpeta donde se ha descomprimimdo y hacemosun scp para copiarlo al directorio /www del servidor de osticket

scp -r ./ost_wbs usuario@ip_del_servidor:/var/www/osticket

Pero no me funciona !!!!!!!