esta es una guía para que no me olvide como instalar el modulo de brotli (un algoritmo de compresión) para nginx en raspbian.

  1. entramos a /etc/apt/sources.list y descomentamos el deb-src para poder descargar el código fuente de nginx usado para compilar el paquete de raspbian
    sudo nano /etc/apt/sources.list # o tu editor favorito
    
  2. actualizamos la base de datos de apt
    sudo apt update
    
  3. vamos a un directorio temporal para poner el código fuente
    cd /tmp
    
  4. y conseguimos el código fuente
    apt source nginx # el de nginx
    git clone --recursive https://github.com/google/ngx_brotli # el de el modulo
    
  5. instalamos las dependencias para compilar nginx
    sudo apt install build-essential
    sudo apt build-dep nginx
    
  6. entramos al directorio del código de nginx (reemplazar 1.14.2 con la version que genere)
    cd nginx-1.14.2/
    
  7. conseguir parametros de compilación de nginx
    nginx -V
    

    de ahí te va a saltar algo así:

    nginx version: nginx/1.14.2
    built with OpenSSL 1.1.1c  28 May 2019 (running with OpenSSL 1.1.1d  10 Sep 2019)
    TLS SNI support enabled
    configure arguments: # bocha de cosas
    

    esa parte del final, que señalize con “bocha de cosas”, hay que copiar para usar después.

  8. configurar compilación de nginx
    ./configure <acá se pega lo que copiamos> --add-dynamic-module=../ngx_brotli
    

    ojo que si lo que pegamos tiene sus propio --add-dynamic-module=<algo>, hay que borrar esos y solo esos cosos para que compile bien, ya que apunta a ciertos modulos que nosotres no bajamos.

  9. compilar modulo
    for soname in objs/ngx_http_brotli_{static,filter}_module.so; do
        make -f objs/Makefile $soname
    done
    
  10. instalar modulo
    sudo su
    cp objs/*.so /usr/lib/nginx/modules/
    
  11. activar modulo
    for name in ngx_http_brotli_{static,filter}; do
        # crea una config en nginx que carga el modulo
        echo "load_module \"modules/"$name"_module.so\";" > /etc/nginx/modules-available/$name.conf
        # activa la config
        ln -s /etc/nginx/modules-available/$name.conf /etc/nginx/modules-enabled/
    done
    
  12. listo! mirá la documentación de la configuración del modulo para empezar a usarlo.

gracias a NixCP y a Sutty por los recursos que use para crear este post :)

exit # limpiamos la escena de crimen ;)