8. Lighttp CGI

Note

Servidor web para ejecutar CGI

1dnf install lighttpd
2systemctl enable lighttpd
3systemctl start lighttpd

Directorio de trabajo /etc/lighttpd

  1. Cambiar el puerto de trabajo para que no coincida con otro servidor web y la ruta de ubicación de los scripts. Fichero lighttpd.conf

    var.server_root = "/opt"
    server.port = 8081
    server.bind = "0.0.0.0"
    
  2. Añadir en módulo de CGI al servidor. Fichero modules.conf

    server.modules = (
       #  "mod_rewrite",
          "mod_access",
          "mod_cgi",
       #  "mod_auth",
       #  "mod_authn_file",
       #  "mod_redirect",
       #  "mod_setenv",
       #  "mod_alias",
    )
    .
    .
    include conf_dir + "/conf.d/cgi.conf"
    
  3. Añadir configuración para que se habilite el cgi. Fichero conf.d/cgi.conf

    alias.url += ( "/scripts" => "/opt" )
    $HTTP["url"] =~ "^/scripts" {
       cgi.assign = ( ".py"=> "/usr/bin/python3" )
    }
    
  4. Ficheros con lógica de negocio. Ficheros /opt/scripts/test.py

    #!/usr/bin/python3
    import sys, os
    
    print("Content-Type: text/plain\n")
    print("Hello world!")
    
  5. Permisos para los ficheros /opt/scripts/test.py

    sudo chmod 766 /opt/scripts/*
    
  6. Reiniciar el servicio

    systemctl restart lighttpd