Pour installer un serveur web Apache sur votre clef ISN, je vous conseille d’installer les extensions créées par Jean-Claude Meilland. Elles sont disponibles en téléchargement sur son site megamaths.free.fr.
J’avais essayé une installation avec apt puis sauve-extension mais Apache ne démarrait pas. J’ai trouvé la réponse à ce problème sur cette page du site megamaths.free.fr
On peut ainsi faire exécuter des scripts PHP ou Python par le serveur Apache pour générer des pages web dynamiques par exemple.
Il faut d’abord démarrer le serveur Apache depuis une console. La commande service permet de gérer les démons (services qui s’exécutent en arrière plan) comme le serveur Apache :
user@user:~$ sudo service apache2 start [....] Starting web server: apache2apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName . ok user@user:~$ sudo service apache2 status Apache2 is running (pid 5490). user@user:~$ sudo service apache2 stop [....] Stopping web server: apache2apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName [ ok waiting .
Il suffit de créer un répertoire /home/user/apache (au lieu de /var/www pour l’installation par défaut d’Apache me semble-t-il) pour y placer les scripts.
Un script python comme testcgi.py peut se lancer à partir du navigateur en tapant dans la barre d’adresse http://localhost/testcgi.py ou http://127.0.0.1/testcgi.py ou localhost/testcgi.py.
Attention il faut bien penser à rendre les scripts exécutables.
Un exemple de script Python (syntaxe python2 mais on peut utiliser Python3 s’il est installé) exécutable sur le serveur Web pour générer le texte de cet article :
#!/usr/bin/env python # -*- coding: utf-8 -*- print "Content-Type: text/html\n" print """ <!DOCTYPE html/> <head> <title/> Exemple de script python cgi </title > <meta charset="utf-8" /> <meta name="author" content="Frédéric Junier" /> </head > <html > <body > < p > Pour installer un serveur web Apache sur votre clef ISN.....</p > </body> </html> """