Catégories
Devops

un CGI en shell script avec Nginx

Il est possible très simplement d’exécuter un script shell sur le serveur web hébergeant un Nginx avec fcgiwrap, cela permet d’accéder aux outils du système et d’afficher dans un page web les résultats traités.

Etapes

  1. disposer d’un serveur web Nginx qui tourne (ou apt install nginx)
  2. installer le script fcgiwrap par apt install fcgiwrap (installé en tant que daemon)
  3. configurer une section location de Nginx pour faire le lien entre fcgiwrap, le serveur web et le script shell (voir exemple ci-dessous)
  4. un script shell bash ou autres (ne pas oublier le chmod +x)

Exemple de configuration Nginx

location ~ /mon-url-script {
    access_log off;  # pour ne pas logger les accès 
    autoindex off;   # empêche l'indexation et affichage des dossier du serveur
    include fastcgi_params; # contient les noms des variables CGI /etc/nginx/fastcgi_params;
    fastcgi_param SCRIPT_FILENAME      /var/www/cgi/monscript.sh;
    fastcgi_pass unix:/var/run/fcgiwrap.socket;
}