Avant de passer aux manipulations, une petite idée sur Apache
:
Apache est un logiciel de serveur HTTP produit par l’Apache Software Foundation. C’est le serveur HTTP le plus populaire du Web. C’est un logiciel libre avec un type spécifique de licence, nommée licence Apache. Il est apparu en avril 1995, Au début, il s’agissait d’une collection de correctifs et d’additions au serveur NCSA HTTPd 1.3, qui était dans le domaine public et le serveur HTTP alors le plus répandu. La version 2 d’Apache (celle que je vais utiliser dans ce tuto) possède plusieurs avancées majeures par rapport à la version 1, entre autres le support de plusieurs plates-formes (Windows, GNU/Linux et UNIX, entre autres), le support de processus légers UNIX, une nouvelle API et le support IPv6.
Installer Apache2 Webserver :
sudo apt-get install apache2
Pour tester si le paquet a bien été installé sur la machine vous ouvrez votre navigateur (firefox) et vous tapez soit l’adresse IP de votre serveur (eth0), soit « localhost » soit « 127.0.0.1″. Si rien ne s’affiche vous devez éditer le fichier apache2.conf qui se trouve dans /etc/apache2/ pour qu’il puisse résoudre les noms.
Pour cela :
sudo nano /etc/apache2/apache2.conf
Et ajouter:
ServerName localhost
Ou :
ServerName adresse_ip_du_serveur
Enregistrez et quitter.
Pour redémarrer le serveur afin qu’il puisse prendre en charge les changement, vous tapez :
sudo apache2ctl restart
Remarque : Si vous voulez changer le chemin du dossier « root » de votre serveur, vous ouvrez le fichier : /etc/apache2/sites-available/default chercher la ligne « DocumentRoot /var/www/ » et remplacer « /var/www » par « /home/www » (Par exemple) ce qui donnera « DocumentRoot /home/www/ »
Activer le support PHP sur le serveur :
Pour PHP5
sudo aptitude install php5 libapache2-mod-php5
Et pour PHP4
sudo aptitude install php4 libapache2-mod-php4
Pour être sur que le support PHP est activé :
sudo a2enmod php5
sudo a2enmod php4
Et n’oubliez pas de redémarrer votre serveur après :
sudo apache2ctl restart
Activer le support CGI et Perl sur le serveur Apache2 :
Faut commencer par installer les paquets suivants :
sudo aptitude install libapache2-mod-perl2
Ensuite vous configurer le répertoire « cgi-bin » :
sudo mkdir /home/www/cgi-bin
Pour configurer Apache pour qu’il accepte l’exécution du programme CGI, ajouter les lignes suivantes dans le fichier de configuration « apache.conf » entre les balises <VirtualHost> :
ScriptAlias /cgi-bin/ /home/www/cgi-bin/
<Directory /home/www/cgi-bin/>
Options ExecCGI
AddHandler cgi-script cgi pl
</Directory>
La première ligne va créer un Alias qui pointe vers le répertoire CGI dans le quel le script est enregistré, et la dernière ligne ordonne à Apache que seulement les fichiers avec l’extension « .cgi » et « .pl » qui peuvent être considérés comme des programmes CGI et être exécuter.
Test le programme Perl :
cd /home/www/cgi-bin
sudo nano perltest.pl
Copier/coller les lignes suivantes, sauvegarder et fermer après :
###Start###
#!/usr/bin/perl -w
print « Content-type: text/html\r\n\r\n »;
print « Hello there!<br />\nJust testing .<br />\n »;for ($i=0; $i<10; $i++)
{
print $i. »<br /> »;
}###End###
Pour ajouter le permission d’exécution :
sudo chmod a+x perltest.pl
Ouvrez le navigateur et taper : http://localhost/cgi-bin/perltest.pl
Vos commentaires/suggestions sont les bienvenues
Popularity: 13% [?]

Bonjour,
je viens de tester ton tuto et j’ai deux petits commentaires à faire :
d’abord y’a une petite erreur qui s’est glissée dans ton billet, tu as mis :
Pour PHP5
sudo aptitiude install php5 libapache2-mod-php5
Et pour PHP4
sudo aptitiude install php4 libapache2-mod-php4
il faut mettre aptitue et non aptitiude
bon, à part ça c’est cool, mais ça marche pas chez moi : j’ai suivi tout le billet pas à pas (à part que j’ai laiser le rrot directorie dans /var/www), et j’obtiens le message :
Not Found
The requested URL /cgi-bin/perltest.pl was not found on this server.
Sachant que dans le fichier conf d’apache, il n’y a pas de balise VirtualHost présentes par défaut, c’est peut être là que ça coince… je sais pas.
En attendant, je vais continuer de chercher pour faire marcher les cgi chez moi
Bonne continuation
correction du post précédent : j’avais bien des balises virtualhost, mais pas dans apache2.conf : elles sont dans sites-enabled/000-default…
Merci pour ton commentaire,
je comprend pas est ce que t’es sur de « aptitue » ? je ne crois pas que ça existe… sinon tu peux faire « sudo apt-get » c’est plus nostalgique
tiens moi au courant
oups, faute de frappe :pas aptitiude ni aptitue mais aptitude
en tous cas, c’est comme ça que ça a marché chez moi, juste en enlevant le deuxième « i »…
oui c’est vrai t’as raison
je viens de le remarquer
Merci
Merci pour le tuto! Il est très interessant!
@Romaric : ca fait plaisir
Bonjour,
Merci pour ce tuto qui est assez bien décrit surtout pour une personne qui s’y connait pas torp comme moi.
mais j’ai un petit problème,j’ai le même message d’erreur que Le Besieu.
Not Found
The requested URL /var/www/cgi-bin/test.pl was not found on this server.
Apache/2.2.12 (Ubuntu) Server at localhost Port 80
Pourtant j’ai suivi ton tuto pas à pas, je ne comprend pas
bjr
g suivi le tuto en details mé ça marche pa ché moi !!! (Not Found)
S’il ya kelke choz à corriger je seré preneur et merci d’avance!!
reslt Capof!!
Voilà g trouvé la solution!!
donc il fo mettre le script dans le fichier index.php qui se trouve à /var/www
et ça marche!!
Merci pour ton effort amigo
mais g un otre pti problem si tu me le permé
;);)
alors moi je voudré lancer un terminal ou un lecteur comme VLC à partir de script php
Si vous avé la moindre idéé je serai preneur et merciiiiiiiiiiiiii