Introduction

Introduction

CGI (Common Gateway Interface) est une interface entre le client Web et le serveur Web qui exécute votre script / programme CGI. CGI est un assez ancien et a été largement remplacé par différentes langues de programmation telles que PHP, etc. Cependant, il peut toujours trouver sa place dans les mains de l'administrateur du système Linux comme un outil rapide pour la surveillance et l'administration du système via le navigateur Web. Cet article décrit de manière étape par étape comment exécuter des scripts CGI de base avec divers langages de programmation et scripts à l'aide du serveur Web Apache sur Ubuntu Linux.

Installer Apache

Nous devons d'abord installer le serveur Web Apache. Il s'agit d'une tâche assez simple et peut être réalisée avec le apt-get commande:

$ sudo apt-get install apache2

La commande ci-dessus installera le serveur Web Apache 2 avec un site par défaut situé à: / etc / apache2 / sites-disponible / par défaut. Lorsque vous ouvrez ce site de configuration par défaut, vous verrez qu'il est configuré pour exécuter les scripts CGI à partir de / usr / lib / cgi-bin Répertoire avec un alias URL /cgi-bin /:

 Scriptalias / cgi-bin / / usr / lib / cgi-bin /

En éventuellement, vous pouvez modifier vos paramètres DNS pour pointer vers l'adresse IP de votre nouvel serveur Web ou simplement modifier votre fichier local / etc / hôtes. Par exemple:

dix.1.1.61 Exemple CGI.local

Où 10.1.1.61 est une IP de votre serveur Web exécutant Apache et CGI.Local est un nom de domaine arbitraire.

Créer le script CGI

CGI travaille avec plusieurs langues, mais pour l'instant nous commençons par Bash Shell. Nous montrerons des exemples pour d'autres langues plus tard. Voici une version simples de l'exemple CGI bash:

#!/ bac / bash
Echo "Type de contenu: texte / html"
écho"
Echo 'CGI Bash Exemple'

Copiez le code ci-dessus et collez-le dans un nouveau fichier dans / usr / lib / cgi-bin / appelé example-bash.shot. Une fois terminé, faites le fichier exécutable en utilisant le chod commande:

$ sudo chmod 755 / usr / lib / cgi-bin / example-bash.shot


Afficher le script CGI

Tout ce qui reste est de naviguer avec votre navigateur à un nom hôte ou à l'adresse IP de votre serveur Web. Dans notre cas, l'URL sera: http: // cgi-exemple.local / cgi-bin / exemple bash.shot

Vous pouvez modifier cet exemple pour afficher une utilisation disque de la partition racine du serveur «/». Tu es seulement limité par ton imagination:

#!/ bac / bash
Echo "Type de contenu: texte / html"
écho"
Echo 'CGI bash Exemple
'
echo 'df -h / | Système de fichiers grep -v '

Le code ci-dessus vérifiera l'espace disque gratuit pour une partition racine et produira la page suivante:

Plus d'exemples CGI

Comme promis, voici plus d'exemples CGI pour quelques langages de programmation supplémentaires pour vous aider à démarrer.

Perler

Créer et rendre exécutable le suivant / usr / lib / cgi-bin / example-perl.PL avec un contenu:

#!/ usr / bin / perl
Imprimer "Type de contenu: texte / html \ n \ n";
imprimer <

Exemple CGI Perl


Exemple CGI Perl


Exemple CGI Perl



Code HTML

Python

Créer et rendre exécutable le suivant / usr / lib / cgi-bin / example-python.py avec un contenu:



Exemple CGI Python


Exemple CGI Python


Exemple CGI Python



"" "


C

Pour que C et C ++ fonctionnent, nous devrons installer un compilateur. Tout d'abord, installez le compilateur avec:

$ sudo apt-get install build-essentiel

Une fois installé, créer un fichier Exemple-C.C avec le code suivant:

#inclure 
int Main (vide)

printf ("contenu-type: text / plain \ n \ n");
printf ("CGI c Exemple \ n");

Enregistrer le contenu de l'exemple-C.c fichier et compilez-le avec la commande Linux suivante:

$ sudo gcc -o / usr / lib / cgi-bin / example-c exemple-c.c

Vous devriez maintenant pouvoir accéder à votre script CGI compilé C avec: http: // cgi-exemple.local / cgi-bin / exemple-c

C++

Pour que C et C ++ fonctionnent, nous devrons installer un compilateur. Tout d'abord, installez le compilateur avec:

$ sudo apt-get install build-essentiel

Une fois installé, créer un fichier Exemple-CPP.C avec un code suivant:

#inclure 
Utilisation de Namespace Std;
int main()

couter << "content-type: text/html" << endl << endl;
couter << "

Exemple CGI C ++

" << endl;
retour 0;

Enregistrer le contenu de l'exemple-CPP.c fichier et compilez-le avec la commande Linux suivante:

$ sudo g ++ -o / usr / lib / cgi-bin / example-cpp example-CPP.c

Vous devriez maintenant pouvoir accéder à votre script CGI compilé C avec: http: // cgi-exemple.local / cgi-bin / exemple-CPP

Conclusion

Comme mentionné précédemment, le CGI est assez ancien et a été largement remplacé par différentes langues de programmation telles que PHP, etc. Cependant, comme vous pouvez le voir, c'est toujours un outil relativement simple à utiliser pour automatiser vos tâches d'administration Linux telles qu'une surveillance personnalisée à distance pour vos serveurs Linux à l'aide d'un navigateur Web.

Tutoriels Linux connexes:

  • Choses à installer sur Ubuntu 20.04
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Choses à installer sur Ubuntu 22.04
  • Meilleur outil de surveillance du système pour Linux
  • Ubuntu 20.04 Surveillance du système avec des widgets conky
  • Linux Apache n'exécute pas les fichiers PHP: solution
  • Masterring Bash Script Loops
  • Mint 20: Mieux que Ubuntu et Microsoft Windows?
  • Fichiers de configuration Linux: 30 premiers