7 votes

Quelles sont les étapes à suivre pour exécuter un CGI script Hello World ?

Supposons que j'ai fini d'installer une version moderne d'Ubuntu, et que j'ai le script suivant.

#!/bin/sh
echo "Content-type: text/html\n"
echo "<html><body>Hello world</body></html>"

Comment installer et configurer Apache pour qu'il serve une page web "Hello world" à partir de http://localhost en utilisant ce script ?

11voto

George Points 41

La méthode rapide

Installer le serveur web Apache

Dans l'application de ligne de commande (Terminal) :

sudo apt-get install apache2

Rendez votre script exécutable par Apache

Pour cet exemple, nous supposerons que le script CGI s'appelle test.sh et est enregistré dans votre dossier personnel. Pour qu'Apache utilise test.sh Le script doit d'abord avoir les permissions d'exécution :

chmod 755 $HOME/test.sh

Il doit également être déplacé dans le dossier CGI désigné par Apache. Pour Ubuntu (et les autres systèmes d'exploitation basés sur Debian), il s'agit de /usr/lib/cgi-bin/ tandis que le HTML et les autres contenus sont stockés dans /var/www .

sudo mv $HOME/test.sh /usr/lib/cgi-bin/

Visitez la sortie sur votre serveur local

Apache servira le test.sh -HTML généré à l'adresse http://localhost/cgi-bin/test.sh . Si Apache se trouve ailleurs que sur votre propre machine, remplacez "localhost" par l'URL ou l'adresse IP du serveur.

Stockage des scripts CGI dans /var/www/test-cgi au lieu de /usr/lib/cgi-bin/

Vous devez modifier la configuration d'Apache pour stocker les scripts CGI dans un autre dossier.

sudoedit /etc/apache2/sites-enabled/000-default

Ajoutez ce qui suit à l'intérieur du fichier <VirtualHost> directive :

ScriptAlias /test-cgi/ /var/www/test-cgi/
<Directory "/var/www/test-cgi">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
</Directory>

Ensuite, dans la ligne de commande :

sudo mkdir /var/www/test-cgi
sudoedit /var/www/test-cgi/test.sh

Ensuite, dans la ligne de commande, redémarrez Apache :

sudo apachectl restart

Comme pour La méthode rapide la sortie CGI doit être servie à l'adresse http://localhost/test-cgi/test.sh (remplacez "localhost" par le domaine du serveur si vous développez à distance).

Dépannage

En cas de problème, consultez la documentation officielle d'Apache .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X