Busqueda sobre Linux y software libre

Noticias sobre linux y software libre - Google 

Cómo configurar el Botón de Pánico" para cortar el internet de los niños instantáneamente con un solo clic desde tu móvil en OpenWRT

 Le preguntamos a Gemini, la inteligencia artificial de Google cómo configurar el Botón de Pánico"  para cortar el internet de los niños instantáneamente con un solo clic desde tu móvil en OpenWRT

Explicanos detalladamente cómo configurar el Botón de Pánico" para cortar el internet de los niños instantáneamente con un solo clic desde tu móvil en OpenWRT

Configurar un "Botón de Pánico" para desconectar dispositivos específicos en OpenWRT es, esencialmente, crear un interruptor lógico que active o desactive una regla de firewall. La magia aquí no es solo la regla, sino cómo activarla desde tu móvil sin tener que entrar a la interfaz web (LuCI) y navegar por menús complejos.

Aquí tienes la guía técnica para construir esta "opción nuclear" de forma elegante y funcional.

1. Preparación: Identificación de los dispositivos

Para que el botón sea preciso, no podemos depender de IPs dinámicas que cambian. Necesitamos IPs Estáticas o los Nombres de Host de los dispositivos de los niños.

Entra en LuCI (Network > DHCP and DNS > Static Leases).

Asigna una IP fija a cada dispositivo (consola, tablet, móvil).

Anota el nombre de la regla que crearemos (ejemplo: bloqueo_niños).

2. Fase 1: Crear la Regla de Firewall (El "Muro")

Primero, definimos qué significa "cortar el internet" en el archivo de configuración del firewall de OpenWRT (/etc/config/firewall).

Puedes hacerlo desde la interfaz web en Network > Firewall > Traffic Rules, o más rápido por terminal (SSH):

Bash

# Crear la regla de bloqueo (deshabilitada por defecto)


uci add firewall rule

uci set firewall.@rule[-1].name='bloqueo_niños'

uci set firewall.@rule[-1].src='lan'

uci set firewall.@rule[-1].dest='wan'

uci add_list firewall.@rule[-1].src_ip='192.168.1.50' # IP del niño 1

uci add_list firewall.@rule[-1].src_ip='192.168.1.51' # IP del niño 2

uci set firewall.@rule[-1].target='REJECT'

uci set firewall.@rule[-1].enabled='0' # Empezamos con internet ON

uci commit firewall

/etc/init.d/firewall restart


3. Fase 2: Los Comandos de Activación/Desactivación

Para que el botón funcione, necesitamos dos comandos simples que cambien ese '0' por un '1'.

Para CORTAR el internet:

Bash


uci set firewall.@rule[$(uci show firewall | grep "@rule" | grep "name='bloqueo_niños'" | cut -d'[' -f2 | cut -d']' -f1)].enabled='1' && uci commit firewall && fw4 reload

Para RESTAURAR el internet:

Bash


uci set firewall.@rule[$(uci show firewall | grep "@rule" | grep "name='bloqueo_niños'" | cut -d'[' -f2 | cut -d']' -f1)].enabled='0' && uci commit firewall && fw4 reload

4. Fase 3: El " Botón de Pánico " en tu móvil 📱

Aquí es donde ocurre la magia del "clic único". Vamos a usar SSH para enviar esos comandos desde la pantalla de inicio de tu teléfono.

En iOS ( iPhone ): Usando "Atajos" (Shortcuts)

Abre la App Atajos y crea uno nuevo.

Añade la acción "Ejecutar comando por SSH".

Configura:

Host: IP de tu router (ej. 192.168.1.1).

Usuario: root.

Contraseña/Clave: Tu clave de acceso al router.

Script: Pega el comando de "CORTAR" del paso anterior.

Crea otro atajo para "RESTAURAR".

Añade estos atajos como Widgets en tu pantalla de inicio.

En Android: Usando "SSH Custom Executor" o "Termux"

Descarga una app como SSH Custom Executor o un widget de SSH .

Crea un nuevo botón y configura la IP, usuario y contraseña del router.

Pega el comando correspondiente en el campo de "Command".

Coloca el widget en tu pantalla principal.

5. El toque de "Ingeniería Superior" 

Si quieres que el botón sea inteligente y se apague solo después de un tiempo (por ejemplo, "Castigo de 1 hora"), puedes modificar el comando de activación para que incluya un temporizador:

Bash

# Bloquea ahora y desbloquea automáticamente en 3600 segundos (1 hora)


uci set firewall.@rule[X].enabled='1' && uci commit firewall && fw4 reload && sleep 3600 && uci set firewall.@rule[X].enabled='0' && uci commit firewall && fw4 reload

Un par de advertencias "entre colegas"

Seguridad SSH : Si vas a usar esto desde fuera de casa, asegúrate de tener una VPN (como WireGuard, que corre de maravilla en OpenWRT). Nunca abras el puerto 22 (SSH) a todo internet; es una invitación formal a que hackeen tu red.

Identificación de la regla:
En el comando de arriba, el trozo $(uci show...) busca automáticamente el número de la regla. Esto es vital porque si añades más reglas de firewall, el índice [0, 1, 2...] cambiaría y podrías terminar bloqueando tu propia conexión por error.

¿Te gustaría que te ayudara a configurar una página de "Acceso Denegado" personalizada para que, cuando intentes navegar, les aparezca un mensaje diciendo "Tiempo de estudio activado"?

Cómo solucionar problemas de UVDesk en linux

 Le preguntamos a Gemini, la inteligencia artificial de Google cómo solucionar problemas de UVDesk en linux

Explicanos detallaente cómo solucionar problemas de UVDesk en linux

Solucionar problemas en UVDesk puede sentirse como un nivel avanzado de administración de sistemas, principalmente porque Symfony (el framework sobre el que está construido) es extremadamente estricto con la configuración. Cuando algo falla, suele lanzar errores de "Doctrine" o de "Caché" que pueden parecer jeroglíficos.

Aquí tienes el mapa de diagnóstico para reparar UVDesk en Linux y no morir en el intento.

1. Localiza al "Culpable" (Los Logs)

En UVDesk, los errores de Apache o Nginx son solo la punta del iceberg. El verdadero detalle está en los logs de Symfony.

Ruta de logs de la App: /var/www/uvdesk/var/log/

Archivos: Verás dev.log (si estás en modo desarrollo) o prod.log (en producción).

Comando útil:

Bash


tail -f /var/www/uvdesk/var/log/prod.log

[!NOTE]

Si el archivo de log no existe o está vacío, es una señal clara de que el servidor web no tiene permisos para escribir en esa carpeta.

2. El "Clásico de Symfony": Permisos de Escritura

UVDesk necesita escribir constantemente en var/cache, var/log y public/uploads. Si la interfaz se queda en blanco o los cambios no se guardan, los permisos son el primer sospechoso.

La solución definitiva:

Ejecuta estos comandos (asumiendo que tu usuario web es www-data):

Bash

sudo chown -R www-data:www-data /var/www/uvdesk

sudo find /var/www/uvdesk -type d -exec chmod 775 {} \;

sudo find /var/www/uvdesk -type f -exec chmod 644 {} \;




# Específicos para Symfony

sudo chmod -R 777 /var/www/uvdesk/var

sudo chmod -R 777 /var/www/uvdesk/public/uploads


3. Errores de Conexión a Base de Datos (Doctrine)

Si ves un error que menciona "Doctrine" o "Connection Refused", el problema está en tu archivo de configuración ambiental.


Archivo: /var/www/uvdesk/.env

Busca la línea: DATABASE_URL="mysql://usuario:password@127.0.0.1:3306/uvdesk"

Cosas que revisar:

Que el usuario y password sean correctos.

Que el servidor de base de datos (MariaDB/MySQL) esté corriendo: sudo systemctl status mariadb.

Si usas caracteres especiales en la contraseña, asegúrate de que estén codificados para URL.

4. El "Fantasma" de Mailparse

Este es el problema más específico de UVDesk. Para que el sistema pueda "leer" los correos entrantes y convertirlos en tickets, necesita la extensión mailparse de PHP.

Cómo verificarlo: php -m | grep mailparse

Si no aparece:

Bash

sudo apt install php-dev php-pear -y

sudo pecl install mailparse


# Luego habilítalo en tu php.ini y reinicia Apache/PHP-FPM

5. Limpieza de Caché (El "Reset" Maestro)

A veces, UVDesk se queda "atascado" con una configuración vieja. En Symfony, borrar la caché manualmente suele solucionar comportamientos erráticos.

Desde la carpeta raíz de UVDesk, ejecuta:

Bash


sudo -u www-data php bin/console cache:clear --env=prod

sudo -u www-data php bin/console cache:warmup --env=prod


6. Los Tickets no se actualizan (Cron Jobs)

Si los tickets se crean pero las notificaciones no salen o el buzón no se refresca solo, el sistema de tareas programadas ha fallado.

Verifica el Cron: sudo crontab -u www-data -l

Asegúrate de tener la tarea de refresco:

Bash

* * * * * php /var/www/uvdesk/bin/console uvdesk:refresh-mailbox

Tabla de Errores Comunes

ErrorCausa ProbableSolución
500 Internal Server ErrorExtensión PHP faltante o error de sintaxis en .env.Revisa el prod.log.
Página de Login en bucleProblema con las cookies o sesión de PHP.Limpia la caché del navegador y la carpeta /var/lib/php/sessions.
Tickets sin adjuntosLímite de post_max_size en PHP.Aumenta los valores en tu php.ini.
"Driver not found"Falta php-mysql.sudo apt install php-mysql y reinicia Apache.

Un toque de realismo

UVDesk es una herramienta poderosa, pero su arquitectura basada en componentes significa que si una pequeña pieza (como el SwiftMailer o el Mailbox bundle) está mal configurada, todo el flujo se detiene. Mi consejo: Nunca hagas cambios directamente en el código del "vendor"; usa siempre el archivo .env y los comandos de la consola de Symfony (bin/console).

¿Te está lanzando algún error específico de "Internal Server Error" o el problema es que no logra conectar con tu cuenta de correo corporativa?

Cómo instalar y configurar UVDesk en linux

 Le preguntamos a Gemini, la inteligencia artificial de Google cómo instalar y configurar UVDesk  en linux

Explicanos detalladamente cómo instalar y configurar UVDesk en linux

UVDesk es una solución de Help Desk de código abierto extremadamente robusta, construida sobre el framework Symfony (PHP). A diferencia de otros sistemas más simples, UVDesk destaca por su arquitectura modular y su gran capacidad de personalización, lo que lo hace ideal si buscas algo profesional que se pueda escalar.

Al estar basado en Symfony, la instalación es un poco más técnica que un simple "copiar y pegar" archivos, ya que requiere el gestor de paquetes Composer.

1. Requisitos del Sistema

Para que UVDesk rinda bien en Linux (Ubuntu 22.04 o 24.04), necesitaremos un stack LAMP moderno:

PHP: 8.1 o superior (con extensiones específicas).

Servidor Web:
Apache con mod_rewrite habilitado.

Base de Datos: MySQL 5.7+ o MariaDB 10.2+.

Composer: Gestor de dependencias de PHP.

2. Paso 1: Instalación del Stack y Extensiones

Primero, preparamos el servidor con PHP y una extensión crítica para UVDesk: Mailparse.

Bash

sudo apt update && sudo apt upgrade -y

sudo apt install apache2 mariadb-server php libapache2-mod-php php-mysql php-common php-gd php-phpdbg php-imap php-intl php-curl php-zip php-mbstring php-xml php-bcmath -y



# Instalación de Mailparse (necesario para procesar correos electrónicos)

sudo apt install php-dev php-pear -y

sudo pecl install mailparse

echo "extension=mailparse.so" | sudo tee /etc/php/8.x/mods-available/mailparse.ini

sudo phpenmod mailparse


3. Paso 2: Configuración de la Base de Datos

Entramos en MariaDB para crear el espacio donde UVDesk guardará los tickets.

SQL

CREATE DATABASE uvdesk;

CREATE USER 'uvdesk_user'@'localhost' IDENTIFIED BY 'TuPasswordSegura';

GRANT ALL PRIVILEGES ON uvdesk.* TO 'uvdesk_user'@'localhost';

FLUSH PRIVILEGES;

EXIT;


4. Paso 3: Instalación de Composer y UVDesk

No descargaremos un ZIP; usaremos Composer para crear el proyecto. Esto asegura que todas las librerías de Symfony estén al día.

Instalar Composer:

Bash


curl -sS https://getcomposer.org/installer | php

sudo mv composer.phar /usr/local/bin/composer


Instalar UVDesk Community Skeleton:

Bash


cd /var/www

sudo composer create-project uvdesk/community-skeleton helpdesk

5. Paso 4: Permisos y VirtualHost

Symfony requiere permisos de escritura muy específicos en las carpetas de caché y logs.

Bash

sudo chown -R www-data:www-data /var/www/helpdesk

sudo chmod -R 755 /var/www/helpdesk


Ahora, configuramos Apache para que apunte a la carpeta public de UVDesk:

Crear archivo: sudo nano /etc/apache2/sites-available/uvdesk.conf

Configuración:


Apache

<VirtualHost *:80>

       ServerName soporte.tudominio.com

       DocumentRoot /var/www/helpdesk/public



       <Directory /var/www/helpdesk/public>
    
              Options FollowSymLinks

              AllowOverride All

              Require all granted

        </Directory>



         ErrorLog ${APACHE_LOG_DIR}/uvdesk_error.log

         CustomLog ${APACHE_LOG_DIR}/uvdesk_access.log combined

</VirtualHost>

Activar:

Bash


sudo a2ensite uvdesk.conf

sudo a2enmod rewrite

sudo systemctl restart apache2


6. Paso 5: El Asistente de Instalación Web

Abre tu navegador en http://soporte.tudominio.com. UVDesk te recibirá con un asistente visual:

Evaluating System Requirements: Verificará que PHP y Mailparse estén listos.

Database Configuration: Introduce los datos del Paso 2.

Create Super Admin: Configura tu cuenta de acceso principal.

Install Now: El sistema ejecutará las migraciones de base de datos.

7. Configuración de Correo (Mailbox) 

UVDesk es famoso por su capacidad de convertir correos en tickets. Para configurarlo:

Ve al panel de administración > Settings > Swift Mailer.

Configura tu servidor SMTP (Gmail, Outlook o propio).

Luego ve a Mailbox y vincula esa configuración para que el sistema "escuche" los correos entrantes.

Resumen de Mantenimiento

TareaComando / Ruta
Limpiar Cachéphp bin/console c:c (dentro de la carpeta del proyecto)
Logs de errores/var/www/helpdesk/var/log/
Configuración de variablesArchivo .env en la raíz del proyecto

Un detalle técnico importante

UVDesk, al ser Symfony, es muy estricto con la configuración de la base de datos en el archivo .env. Si después de la instalación cambias la contraseña de la base de datos, recuerda actualizar la línea DATABASE_URL en ese archivo, de lo contrario, verás un error de "Doctrine" inmediatamente.

¿Te gustaría que te explicara cómo automatizar la entrada de tickets mediante la configuración de un "Email Piping" para que los correos se procesen al instante sin esperar al cron?

Configurar Email Piping

Personalizar plantillas de tickets

Instalación de SSL con Certbot

Gestión de workflows y flujos de trabajo

¿Cuál de estos puntos te interesa más?

Tienda Linuxeros FAQ

 Para todos los amantes de linux y sus diferentes distribuciones les avisamos que tenemos a la venta tanto a traves de nuestra página en facebook 

https://www.facebook.com/linuxerosfaq


Asi como también en Amazon a traves de este enlace

https://amzn.to/4bJM7RE

también tenemos nuestras propias creaciones en este enlace

Linuxeros FAQ Store





Cómo solucionar problemas de FreeScout en linux

Le preguntamos a Gemini, la inteligencia artificial de Google que nos expĺique cómo solucionar problemas de FreeScout en linux

Explicanos detalladamente cómo solucionar problemas de FreeScout en linux

Solucionar problemas en FreeScout suele ser un ejercicio de "detective de Laravel". Al ser un software basado en este framework de PHP, la mayoría de los fallos no son del código en sí, sino de la orquestación entre el servidor web, los permisos de archivos y, sobre todo, el Cron Job.

Aquí tienes la guía técnica para devolverle la vida a tu bandeja de entrada compartida.

1. El "Libro de la Verdad": Los Logs de Laravel

En FreeScout, los logs de Nginx o Apache solo te dirán que hubo un "Error 500", pero no por qué. El verdadero detalle está en el log interno de la aplicación.

Ruta del log: /var/www/freescout/storage/logs/laravel.log

Cómo leerlo en tiempo real:

Bash

tail -f /var/www/freescout/storage/logs/laravel.log

Si ves errores de "Permission denied" o "Connection refused", ya tienes por dónde empezar.

2. El Problema #1: Los correos no llegan ni salen

Si FreeScout parece "congelado" (no descarga correos nuevos ni envía respuestas), el 99% de las veces es culpa del Cron Job o de la Queue (cola de trabajos).

Verifica el Cron:

Ejecuta el comando manualmente para ver si lanza algún error:

Bash

sudo -u www-data php /var/www/freescout/artisan schedule:run

Estado de los procesos de fondo:

FreeScout usa tareas en segundo plano. Si el comando anterior te dice que no hay tareas programadas, revisa que tu crontab tenga la línea correcta: * * * * * php /var/www/freescout/artisan schedule:run >> /dev/null 2>&1

3. Errores de Permisos (Pantalla Blanca o Error 500)

Si tras una actualización o migración el sitio no carga, Laravel suele quejarse porque no puede escribir en sus carpetas temporales.

Aplica la "receta de permisos" estándar:

Bash

sudo chown -R www-data:www-data /var/www/freescout

sudo find /var/www/freescout -type d -exec chmod 755 {} \;

sudo find /var/www/freescout -type f -exec chmod 644 {} \;


# Carpetas que NECESITAN escritura obligatoria

sudo chmod -R 775 /var/www/freescout/storage

sudo chmod -R 775 /var/www/freescout/bootstrap/cache

sudo chmod -R 775 /var/www/freescout/public/uploads


4. Problemas de Conexión IMAP/SMTP

Si al configurar una cuenta de correo recibes un error de "Connection Timeout" o "Authentication Failed":

Puertos bloqueados: Asegúrate de que tu firewall permite tráfico saliente en los puertos 993 (IMAP) y 465/587 (SMTP).

OpenSSL: FreeScout requiere que PHP tenga habilitada la extensión php-openssl.

App Passwords: Si usas Gmail o Outlook, recuerda que no puedes usar tu contraseña normal; debes generar una "Contraseña de Aplicación" desde la configuración de seguridad de tu cuenta de correo.

5. Limpieza de Caché (El "reinicio" de software)

A veces, tras cambiar la configuración en el archivo .env, FreeScout sigue usando la configuración vieja porque Laravel la tiene cacheada.

Ejecuta estos comandos en la raíz de FreeScout para limpiar todo:

Bash

sudo -u www-data php artisan cache:clear

sudo -u www-data php artisan view:clear

sudo -u www-data php artisan config:clear


6. Error "App Key Not Found"

Si ves este error, significa que el sistema no puede cifrar/descifrar los datos (como las contraseñas de tus cuentas de correo).

Solución: Verifica que en tu archivo .env la variable APP_KEY tenga un valor. Si está vacía, genérala con:

Bash

php artisan key:generate

[!CAUTION]

No cambies la APP_KEY si ya tienes datos en el sistema, o perderás el acceso a las contraseñas guardadas (se volverán ilegibles).

Tabla de Diagnóstico Rápido

SíntomaCausa probableSolución rápida
Error 504 Gateway TimeoutEl proceso PHP tarda demasiado.Aumenta max_execution_time en php.ini.
Los adjuntos no se subenLímite de tamaño de archivo.Ajusta client_max_body_size en Nginx y upload_max_filesize en PHP.
No se guardan los ajustesCarpeta /storage protegida.Aplica los comandos de chmod del punto 3.
Módulos no aparecenCarpeta /Modules sin permisos.chown -R www-data en la carpeta Modules.

Un toque de "witty" consejo

Si nada de esto funciona, recuerda que FreeScout tiene una herramienta de "System Check" dentro del panel de administración (Manage -> System -> Tools). Es como el escáner médico del sistema: te dirá en rojo qué extensión de PHP falta o qué carpeta está bloqueada. ¡Es tu mejor amigo antes de entrar en pánico!

¿Estás teniendo problemas con un proveedor de correo específico (como una cuenta de Gmail que se desconecta sola) o el fallo es general de la interfaz?

Cómo instalar y configurar FreeScout en linux

 Le preguntamos a Gemini, la inteligencia artificial de Google cómo instalar y configurar FreeScout en linux

Explicanos detalladamente cómo instalar y configurar FreeScout en linux

FreeScout es, posiblemente, el secreto mejor guardado de la comunidad open source para quienes buscan un sistema de tickets elegante. Es un clon casi exacto de Help Scout, pero desarrollado en PHP (Laravel), lo que lo hace ligero, rápido y extremadamente fácil de usar para el equipo de soporte.

A diferencia de Zammad o GLPI, FreeScout se centra en la bandeja de entrada compartida. Aquí tienes cómo desplegarlo en un servidor Linux (usaremos Ubuntu 24.04/22.04 como referencia).

1. Requisitos del Sistema (LEMP Stack)

FreeScout corre mejor sobre Nginx y PHP 8.1/8.2. No es muy exigente con la RAM (1GB es suficiente para equipos pequeños), pero agradece un buen procesador.

Instalación de dependencias:

Bash


sudo apt update

sudo apt install nginx mariadb-server git unzip curl -y


# Instalación de PHP y los módulos específicos que requiere Laravel/FreeScout

sudo apt install php-fpm php-mysql php-common php-phpdbg php-gd php-imap php-intl php-curl php-zip php-mbstring php-xml php-bcmath -y

2. Preparación de la Base de Datos

FreeScout necesita una base de datos para almacenar las conversaciones y configuraciones.

Entra a MariaDB:
sudo mysql -u root

Configura el entorno:

SQL

CREATE DATABASE freescout CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

CREATE USER 'freescout_user'@'localhost' IDENTIFIED BY 'TuPasswordSegura';

GRANT ALL PRIVILEGES ON freescout.* TO 'freescout_user'@'localhost';

FLUSH PRIVILEGES;

EXIT;


3. Instalación de FreeScout

A diferencia de otros scripts, instalaremos FreeScout directamente desde su repositorio oficial de GitHub para facilitar futuras actualizaciones.

Moverse al directorio web:

Bash


cd /var/www

sudo git clone https://github.com/freescout-helpdesk/freescout.git

sudo chown -R www-data:www-data /var/www/freescout


Configurar permisos (Crucial):

FreeScout necesita escribir en varias carpetas para funcionar correctamente.

Bash

sudo find /var/www/freescout -type d -exec chmod 755 {} \;

sudo find /var/www/freescout -type f -exec chmod 644 {} \;

sudo chmod -R 775 /var/www/freescout/storage

sudo chmod -R 775 /var/www/freescout/bootstrap/cache

sudo chmod -R 775 /var/www/freescout/public/uploads


4. Configuración de Nginx

Laravel requiere una configuración de servidor específica para manejar las rutas.

Crea el archivo: sudo nano /etc/nginx/sites-available/freescout

Pega este bloque de configuración:

Nginx

server {

listen 80;

server_name soporte.tudominio.com;

root /var/www/freescout/public;



index index.php index.html index.htm;



location / {

try_files $uri $uri/ /index.php?$query_string;

}



location ~ \.php$ {

include snippets/fastcgi-php.conf;

fastcgi_pass unix:/run/php/php8.2-fpm.sock; # Ajusta según tu versión de PHP

}



location ~ /\.ht {

deny all;

}

}

Activa el sitio y reinicia:

Bash


sudo ln -s /etc/nginx/sites-available/freescout /etc/nginx/sites-enabled/

sudo nginx -t

sudo systemctl restart nginx


5. Tarea Programada (Cron Job) - El Corazón del Sistema 

Si no configuras el Cron, FreeScout no enviará ni recibirá correos. Es el error más común.

Edita el crontab del usuario web:

Bash


sudo crontab -u www-data -e

Añade esta línea al final:

Bash


* * * * * /usr/bin/php /var/www/freescout/artisan schedule:run >> /dev/null 2>&1

6. Instalador Web Final

Ahora, abre tu navegador en http://soporte.tudominio.com. El instalador de FreeScout te guiará:

Requirements Check: Verificará que todos los módulos de PHP estén instalados.

Permissions: Confirmará que las carpetas tienen permisos de escritura.

App Setup: Introduce la URL de tu sitio.

DB Setup: Usa los datos del Paso 2 (freescout_user, TuPasswordSegura, freescout).

AcciónPor qué es importante
HTTPS (Certbot)FreeScout maneja datos sensibles de clientes. Usa sudo certbot --nginx.
App KeySi el instalador no la genera, ejecuta php artisan key:generate en la carpeta raíz.
Módulos GratuitosRevisa la sección de "Modules" en el panel. Muchos son gratuitos y añaden funciones como "Notas Internas".
Logs de AppSi algo falla, mira en /var/www/freescout/storage/logs/laravel.log.

Un detalle de "colega" técnico:

FreeScout es genial porque no requiere que tus clientes aprendan a usar un portal de tickets. Ellos simplemente envían un correo a soporte@tudominio.com, y a ti te aparece en una interfaz limpia donde puedes asignar la conversación, poner etiquetas o discutirlo internamente con tu equipo antes de responder.

¿Te gustaría que te explicara cómo configurar el "Inbound Email" usando Gmail o Outlook para que FreeScout empiece a descargar tus correos automáticamente? Solo dime qué proveedor usas.

Cómo solucionar problemas de GLPI en linux

 Le preguntamos a Gemini, la inteligencia artificial de Google cómo  solucionar problemas de GLPI en linux

Explicanos detalladamente cómo solucionar problemas de GLPI en linux

Cuando el "cerebro" de tu inventario tecnológico empieza a fallar, la presión aumenta porque dependes de él para resolver los problemas de todos los demás. GLPI es robusto, pero al ser tan modular y depender de tantas extensiones de PHP, un pequeño desajuste en el servidor puede detenerlo.

Aquí tienes la guía técnica para diagnosticar y reparar GLPI como un profesional.

1. La "Caja Negra": Los Logs de GLPI

A diferencia de otras apps, GLPI tiene sus propios registros internos que son mucho más descriptivos que los de Apache. Antes de tocar nada, mira aquí:

Ruta de logs: /var/www/html/glpi/files/_log/

php-errors.log: Aquí verás por qué una página sale en blanco o por qué un plugin no carga.

sql-errors.log:
Si el error es de base de datos (tablas corruptas o fallos de actualización), aquí estará la consulta SQL exacta que falló.

cron.log: Si las tareas automáticas no se ejecutan, este archivo te dirá por qué.

[!TIP]

Comando de monitoreo en vivo: > tail -f /var/www/html/glpi/files/_log/*.log (Esto te mostrará cualquier error en tiempo real mientras navegas por la web).

2. El Problema de los Permisos (El "Top 1" de fallos)

GLPI necesita escribir constantemente en las carpetas files, config y marketplace. Si tras una actualización o migración nada funciona, casi siempre es un tema de permisos.

La solución definitiva:

Asegúrate de que el usuario del servidor web (www-data) sea el dueño de todo:

Bash

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

sudo find /var/www/html/glpi -type d -exec chmod 755 {} \;

sudo find /var/www/html/glpi -type f -exec chmod 644 {} \;


3. Errores de PHP y Extensiones Faltantes

GLPI 10 es muy exigente. Si ves un error 500 Internal Server Error, lo más probable es que falte un módulo de PHP que GLPI considera "vital".

Verifica los módulos instalados: php -m

Módulos que suelen faltar en instalaciones nuevas:

php-intl (Para traducciones y fechas).

php-gd (Para generar gráficos y procesar imágenes).

php-bz2 o php-zip (Para manejar plugins y actualizaciones).

php-apcu (Para la caché, vital para la velocidad).


Si falta uno, instálalo y reinicia:

Bash

sudo apt install php-intl php-apcu

sudo systemctl restart apache2


4. Fallos en las Tareas Automáticas (Acciones Automáticas)

¿Tus tickets por correo no llegan? ¿El inventario no se actualiza? Probablemente el sistema interno de "Acciones Automáticas" se quedó atascado o no está configurado en modo CLI.

Ve a Configuración > Acciones Automáticas.

Si ves muchas tareas en estado "Programado" pero con fecha pasada, cámbialas de GLPI a CLI.

Asegúrate de que tu crontab esté funcionando:

Bash

sudo crontab -u www-data -l

# Deberías ver: * * * * * /usr/bin/php /var/www/html/glpi/front/cron.php

5. El "Modo de Depuración" (Debug Mode)

Si la interfaz web carga pero no puedes ver el error real, activa el Modo Debug. Esto te mostrará advertencias detalladas y tiempos de ejecución.

Haz clic en tu perfil (arriba a la derecha) > Modo de depuración.

Si no puedes entrar a la interfaz, puedes forzarlo en la base de datos (solo para expertos):

UPDATE glpi_users SET use_mode = 2 WHERE name = 'tu_usuario';

6. Problemas comunes tras una actualización

SíntomaCausaSolución
Página de actualización constanteNo se borró la carpeta install.sudo rm -rf /var/www/html/glpi/install
Error de "Cifrado de Base de Datos"Falta el archivo glpi.key.Restaura el archivo /etc/glpi/glpi.key de tu backup.
Plugins incompatiblesVersión antigua de un plugin.Desactiva plugins moviendo su carpeta fuera de marketplace/.

7. Verificación del Sistema (Herramienta Interna)

GLPI tiene una página de "salud" que pocos usan pero es oro puro. Ve a:

Administración > Configuración > Sistema

Aquí GLPI te dirá exactamente:

Si tu base de datos tiene el formato de tiempo (Timezone) correcto.

Si la seguridad de las carpetas es la adecuada.

Si el límite de memoria de PHP es suficiente (recomendado 512M).

Un toque de "sabiduría de trinchera"

Si GLPI se siente lento, el culpable suele ser la base de datos MariaDB. Revisa el archivo /etc/mysql/mariadb.conf.d/50-server.cnf y asegúrate de que el valor innodb_buffer_pool_size sea al menos el 50% de tu RAM disponible. GLPI hace muchísimas lecturas pequeñas, y tener la base de datos en RAM cambia el juego por completo.

¿Te gustaría que te ayudara a crear un script de backup automático que guarde tanto la base de datos como los archivos adjuntos y los suba a un servidor externo para dormir tranquilo?

Ads by CJ - Linux Foundation

Share This