Saltar al contenido
Marcos Peña
Menú
  • Acerca de…
Menú

OsTicket y nginx

Publicada el junio 16, 2022 por Marcos

Escenario

Después de 5 años campando en un Ubuntu 16.04 ha llegado la hora de migrar la aplicación osTicket a un nuevo servidor. Para quien no la conozca osTicket es un sistema de incidencias que podemos desplegar en un servidor propio. La aplicación web cuenta con una herramienta que automáticamente detecta una diferencia de versiones entre los ficheros y la base de datos, y te avisa de que hay que actualizar el esquema de la base de datos. Por tanto basta con descargar la última versión de la web oficial y sustituir los ficheros antiguos por los nuevos.

Problema

El actualizador no funciona. Una ventana se sobrepone al mensaje que informa de los pasos por los que va el proceso. Lo curioso es que en el servidor antiguo, si aplico esa misma configuración, sí que funciona. Me digo que tal vez deba aplicar las actualizaciones de versión a versión. Primero la 11, luego la 12… Nada, en el servidor antiguo funciona, en el nuevo falla.

Solución

No caigo hasta cuando, el día siguiente, amanezco con la cabeza más fresca. Ha de ser el servidor web. El viejo servidor usaba apache, en el nuevo nginx. Ésta es la configuración ganadora:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
server {
    server_name support.acme.com;
    root /var/app/osticket/upload;
    include         mime.types;
    default_type    application/octet-stream;
    sendfile        on;
    charset         utf-8;
    gzip            on;
    gzip_types      text/plain application/xml text/javascript;
    gzip_min_length 1000;
 
    index index.php index.html index.htm;        
    set $path_info "";
 
    location ~ /include {
        deny all;
        return 403;
    }
 
    if ($request_uri ~ "^/api(/[^\?]+)") {
        set $path_info $1;
    }
 
    location ~ ^/api/(?:tickets|tasks).*$ {
        try_files $uri $uri/ /api/http.php?$query_string;
    }
 
    if ($request_uri ~ "^/scp/.*\.php(/[^\?]+)") {
        set $path_info $1;
    }
 
    if ($request_uri ~ "^/.*\.php(/[^\?]+)") {
        set $path_info $1;
    }
 
    location ~ ^/scp/ajax.php/.*$ {
        try_files $uri $uri/ /scp/ajax.php?$query_string;
    }
 
    location ~ ^/ajax.php/.*$ {
        try_files $uri $uri/ /ajax.php?$query_string;
    }
 
    location / {
        try_files $uri $uri/ index.php;
    }
 
    location ~ \.php$ {
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
        fastcgi_param  PATH_INFO        $path_info;
        fastcgi_pass   unix:/var/run/php/php7.4-fpm.sock;
    }        
    listen [::]:443 ssl;
    listen 443 ssl;
    ssl_certificate /etc/ssl/certs/acme.com.crt;
    ssl_certificate_key /etc/ssl/certs/acme.com.key;
    ssl_trusted_certificate /etc/ssl/certs/acme.com.pem;
    keepalive_timeout 70;
}
server {
    if ($host = support.acme.com) {
        return 301 https://$host$request_uri;
    }
 
 
    listen 80;
    listen [::]:80;
 
    server_name support.acme.com;
 
    return 404;
}
Nota: Esta configuración va a necesitar php fpm ( sudo apt install php php-fpm)

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Artículos

  • junio 2022
  • mayo 2022
  • abril 2022
  • marzo 2022
  • febrero 2022
  • enero 2022
  • diciembre 2021
  • noviembre 2021
  • octubre 2021
  • septiembre 2021
  • agosto 2021
  • julio 2021
  • junio 2021
  • mayo 2021
  • abril 2021
  • marzo 2021
  • febrero 2021
  • enero 2021
  • diciembre 2020
  • noviembre 2020
  • octubre 2020
  • septiembre 2020
  • agosto 2020
  • julio 2020
  • junio 2020
  • mayo 2020
  • abril 2020
  • marzo 2020
  • febrero 2020
  • enero 2020
  • diciembre 2019
  • noviembre 2019
  • octubre 2019
  • septiembre 2019
  • agosto 2019
  • julio 2019
  • junio 2019
  • mayo 2019
  • abril 2019
  • marzo 2019
  • febrero 2019
  • enero 2019
  • noviembre 2018
  • octubre 2018
  • julio 2016
  • mayo 2016
  • abril 2016
  • agosto 2015
  • febrero 2014
  • junio 2013
  • febrero 2013
  • noviembre 2012
  • octubre 2012
  • septiembre 2012
  • abril 2012
  • enero 2012

Categorías

  • Cómo
  • Consejos
  • Hacks
  • Sin sentido
  • Tutorial

Etiquetas

apache Apexcharts API aws chartjs comodo ec2 firefox freebsd freenas Google gpg guacamole Hangouts java Javascript kubuntu Laravel last.fm Linux Malware mysql nas4free nginx partición disco php plesk python react Realtek Seguridad sftp sonata-admin spring spring-boot ssh ssl symfony symfony2 symfony4 thymeleaf ubuntu vnc windows xfs

Entradas recientes

  • OsTicket y nginx
  • Extracción del texto de un pdf creado a partir de una imagen
  • Confirmación antes de apagar
  • cURL error 60: SSL certificate problem: unable to get local issuer certificate
  • Oracle JDK 7 is NOT installed.

Comentarios recientes

  • Marcos en Deobbing flash
  • Irosales en Deobbing flash
  • Instalación certificado SSL de un vendedor – Marcos Peña en Instala un certificado SSL en tres pasos
  • gerMdz en Cómo instalar un certificado letsencrypt para un sitio gestionado por Cloudflare
  • Jose Olalla en Cómo ampliar el espacio en disco en 1and1

Archivos

  • junio 2022
  • mayo 2022
  • abril 2022
  • marzo 2022
  • febrero 2022
  • enero 2022
  • diciembre 2021
  • noviembre 2021
  • octubre 2021
  • septiembre 2021
  • agosto 2021
  • julio 2021
  • junio 2021
  • mayo 2021
  • abril 2021
  • marzo 2021
  • febrero 2021
  • enero 2021
  • diciembre 2020
  • noviembre 2020
  • octubre 2020
  • septiembre 2020
  • agosto 2020
  • julio 2020
  • junio 2020
  • mayo 2020
  • abril 2020
  • marzo 2020
  • febrero 2020
  • enero 2020
  • diciembre 2019
  • noviembre 2019
  • octubre 2019
  • septiembre 2019
  • agosto 2019
  • julio 2019
  • junio 2019
  • mayo 2019
  • abril 2019
  • marzo 2019
  • febrero 2019
  • enero 2019
  • noviembre 2018
  • octubre 2018
  • julio 2016
  • mayo 2016
  • abril 2016
  • agosto 2015
  • febrero 2014
  • junio 2013
  • febrero 2013
  • noviembre 2012
  • octubre 2012
  • septiembre 2012
  • abril 2012
  • enero 2012

Categorías

  • Cómo
  • Consejos
  • Hacks
  • Sin sentido
  • Tutorial

Meta

  • Acceder
  • Feed de entradas
  • Feed de comentarios
  • WordPress.org
© 2022 Marcos Peña | Funciona con Minimalist Blog Tema para WordPress