GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Exemples simples de CGI et Apache sur Ubuntu Linux

Présentation

CGI (Common Gateway Interface) est une interface entre le client Web et le serveur Web qui exécute votre script/programme CGI. CGI est assez ancien et a été largement remplacé par différents langages de programmation tels que PHP, etc. Cependant, il peut toujours trouver sa place entre les mains de l'administrateur système Linux en tant qu'outil rapide de surveillance et d'administration du système via un navigateur Web. Cet article décrit é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. C'est 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-available/default. Lorsque vous ouvrez ce site de configuration par défaut, vous verrez qu'il est configuré pour exécuter des scripts CGI à partir de /usr/lib/cgi-bin répertoire avec l'alias d'URL /cgi-bin/ :

 ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">

En option, vous pouvez modifier vos paramètres DNS pour pointer vers l'adresse IP de votre nouveau serveur Web ou simplement modifier votre fichier /etc/hosts local. Par exemple :

10.1.1.61       cgi-example.local

Où 10.1.1.61 est une adresse IP de votre serveur Web exécutant apache et cgi-example.local est un nom de domaine arbitraire.

Créer un script CGI

CGI fonctionne avec plusieurs langues, mais pour l'instant, nous commençons avec bash shell. Nous montrerons des exemples pour d'autres langages plus tard. Voici une version simplifiée de l'exemple bash CGI :

#!/bin/bash
echo "Content-type: text/html"
echo ''
echo 'CGI Bash Example'

Copiez le code ci-dessus et collez-le dans un nouveau fichier dans /usr/lib/cgi-bin/ appelé example-bash.sh. Une fois cela fait, rendez le fichier exécutable en utilisant le chmod commande :

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

Afficher le script CGI

Il ne reste plus qu'à naviguer avec votre navigateur vers le nom d'hôte ou l'adresse IP de votre serveur Web. Dans notre cas l'URL sera :http://cgi-example.local/cgi-bin/example-bash.sh

Vous pouvez modifier cet exemple pour afficher une utilisation du disque de la partition racine du serveur "/". Vous n'êtes limité que par votre imagination :

#!/bin/bash
echo "Content-type: text/html"
echo ''
echo 'CGI Bash example<br>'
echo `df -h / | grep -v Filesystem`

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

Plus d'exemples CGI

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

Perl

Créez et rendez exécutable le fichier suivant /usr/lib/cgi-bin/example-perl.pl avec un contenu :

#!/usr/bin/perl

print "Content-type: text/html\n\n";
print <<htmlcode;
<html>
<head>
<title>CGI Perl Example</title>
</head>
<body>
<h1>CGI Perl Example</h1>
<p>CGI Perl Example</p>
</body>
htmlcode

Python

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

<html>
<head>
<title>CGI Python Example</title>
</head>
<body>
<h1>CGI Python Example</h1>
<p>CGI Python Example</p>
</body></html>
"""

C

Pour que C et C++ fonctionnent, nous aurons besoin d'avoir un compilateur installé. Tout d'abord, installez le compilateur avec :

$ sudo apt-get install build-essential

Une fois installé créez un fichier example-c.c avec le code suivant :

#include <stdio.h>
int main(void)
{
printf("Content-Type: text/plain \n\n");
printf("CGI C Example \n");
}

enregistrez le contenu du fichier example-c.c et compilez-le avec la commande linux suivante :

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

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

C++

Pour que C et C++ fonctionnent, nous aurons besoin d'avoir un compilateur installé. Tout d'abord, installez le compilateur avec :

$ sudo apt-get install build-essential

Une fois installé créez un fichier example-cpp.c avec un code suivant :

#include <iostream>
using namespace std;

int main()
{
cout << "content-type: text/html" << endl << endl;
cout << "<h1>CGI C++ example</h1>" << endl;
return 0;
}

enregistrez le contenu du fichier example-cpp.c 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é en C avec :http://cgi-example.local/cgi-bin/example-cpp

Conclusion

Comme mentionné précédemment, le CGI est assez ancien et a été largement remplacé par différents langages de programmation tels que PHP, etc. Cependant, comme vous pouvez le constater, il s'agit toujours d'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.


Ubuntu
  1. Configuration de base de PHP 7 et Nginx sur Ubuntu 16.04 Linux

  2. Comment activer et désactiver le module PHP curl avec Apache sur Ubuntu Linux

  3. Comment installer Apache Cassandra sur Ubuntu et d'autres Linux

  4. Comment installer Apache Maven sur Ubuntu 18.04 et 16.04

  5. Installer et configurer Apache et PHP avec cgi sur Ubuntu ou Debian

Afficher les astérisques lors de la saisie du mot de passe Sudo sous Linux (exemple Ubuntu et CentOS)

Installer Apache OpenOffice dans Ubuntu et Linux Mint

Comment installer Apache Nifi dans Ubuntu Linux

50 commandes de coupe Linux simples et utiles sous Unix avec des exemples

50 exemples simples et utiles de la commande Find sous Linux

Comment installer LAMP sur Ubuntu 15.10 (Linux, Apache, MySQL et PHP)