Souci cgi | |
PierreCh | 29-May-2013/17:42:56+2:00 |
Bonjour à tous, J'essaye de faire tourner magic! sur mon apache. Je commence par essayer de faire tourner un cgi, pour piger comment ça marche. Vous notez au passage à quel point j'assure pas du tout côté cgi ni apache. J'avais suivi le conseil suivant: I had Magic 3.5 installed and running under Aapche 2.0 on my old machine. I basically followed the instructions in Olivier Auverlot's Guide du Programmeur. I did introduce the following dir struct: WebRoot/ magic/ magic css html.r *.rhtml cgi-bin/ magic.cgi Here are the relevant lines from Olivier's book about the Apache httpd.conf file: ScriptAlias magic/cgi-bin/ "/WebRoot/magic/cgi-bin/" AddHandler cgi-script .cgi AddHandler magic .rhtml Action magic magic/cgi-bin/magic.cgi Après avoir bien obéi, je tombe, obstinément, sur une erreur 500: 500 Internal Server Error Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, webmaster@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log. __________________________________________________________________ Apache/2.2.22 (Debian) Server at 127.0.0.1 Port 80 Et le log me dit que: [Wed May 29 17:34:05 2013] [error] [client 127.0.0.1] Premature end of script headers: test.cgi Pourtant, je trouve mon test.cgi bien sous tous rapports: # pierre@autan: ~$ < 2013_05_29__17_35_22 > dog /usr/lib/cgi-bin/test.cgi #!/usr/bin/rebol -cs REBOL [] print "Content-type: text/html^/" print "coucou! (signé: Rebol)" Je farfouine un peu, tombe sur de la doc (http://httpd.apache.org/docs/trunk/fr/howto/cgi.html), je suis les conseils qui y sont prodigués, et fais un peu de perl: # pierre@autan: ~$ < 2013_05_29__17_35_22 > dog /usr/lib/cgi-bin/testpl.cgi #!/usr/bin/perl print "Content-type: text/html\n\n"; print "coucou! (signé: Perle)"; Et le perl marche, à ma plus grande surprise. Mais qu'ai-je donc fait de mal avec le test.cgi en rebol?? J'ai vérifié les droits d'exécution, ils sont pareils pour les deux scripts: # pierre@autan: ~$ < 2013_05_29__17_35_22 > ll /usr/lib/cgi-bin/test*.cgi -rwxr-xr-x 1 root root 97 mai 29 09:28 /usr/lib/cgi-bin/test.cgi -rwxr-xr-x 1 root root 87 mai 29 09:26 /usr/lib/cgi-bin/testpl.cgi Là, je sais plus... Quelqu'un aurait une idée lumineuse? | |
PierreCh | 30-May-2013/9:48:58+2:00 |
Je viens d'essayer de rajouter un ^/ de plus après la ligne MIME:print "Content-type: text/html^/^/" En vain. | |
PierreCh | 30-May-2013/9:50:14+2:00 |
Bon, je vais plutôt poser la question sur stackoverflow. Après tout, c'est un site de questions-réponses, et non pas un forum. | |
DideC | 30-May-2013/11:44:15+2:00 |
Est que ton chemin Rebol est bon (j'image que oui) et est-ce que Rebol est bien CHMODé pour être exécuté par Apache ? | |
DideC | 30-May-2013/11:46:56+2:00 |
Sinon pour que Magic fonctionne (une fois test.cgi OK), moi j'ai juste ça d'ajouté dans le httpd.conf :AddHandler magic .rhtml Action magic /cgi-bin/magic.cgi | |
PierreCh | 30-May-2013/14:12+2:00 |
Le chemin Rebol est bon: je peux appeler le script sans mentionner l'interpréteur, directement depuis le shell:# pierre@autan: ~$ < 2013_05_30__14_07_36 > /usr/lib/cgi-bin/test.cgi Content-type: text/html coucou! (signé: Rebol) Le chmod me semble correct aussi: # pierre@autan: ~$ < 2013_05_30__14_07_36 > ll /usr/bin/rebol -rwxr-xr-x 1 root root 1215652 déc. 30 22:50 /usr/bin/rebol | |
PierreCh | 30-May-2013/20:52:46+2:00 |
C'est bon, c'est résolu, merci à Ingo! La solution était toute bête: il fallait simplement mettre un rebol/core, et non pas un rebol/view... Pour info, voilà: # pierre@autan: ~$ < 2013_05_30__19_52_58 > cd rebol/telech/ # pierre@autan: ~/rebol/telech$ < 2013_05_30__19_52_58 > wget http://www.rebol.com/downloads/v278/rebol-core-278-4-2.tar.gz --2013-05-30 19:53:27-- http://www.rebol.com/downloads/v278/rebol-core-278-4-2.tar.gz Résolution de www.rebol.com (www.rebol.com)... 205.134.252.23 Connexion vers www.rebol.com (www.rebol.com)|205.134.252.23|:80...connecté. requête HTTP transmise, en attente de la réponse...200 OK Longueur: 224394 (219K) [application/x-gzip] Sauvegarde en : «rebol-core-278-4-2.tar.gz» 100%[============================================================================================================================================>] 224,394 127K/s ds 1.7s 2013-05-30 19:53:29 (127 KB/s) - «rebol-core-278-4-2.tar.gz» sauvegardé [224394/224394] # pierre@autan: ~/rebol/telech$ < 2013_05_30__19_52_58 > tar zxf rebol-core-278-4-2.tar.gz # pierre@autan: ~/rebol/telech$ < 2013_05_30__19_52_58 > su Mot de passe : ###ROOT### < 30/05/2013 19:55:06 > root@autan:/home/pierre/rebol/telech# cp releases/rebol-core/rebol /usr/bin/rebol_core ###ROOT### < 30/05/2013 19:55:06 > root@autan:/home/pierre/rebol/telech# chmod a+x /usr/bin/rebol_core ###ROOT### < 30/05/2013 19:55:06 > root@autan:/home/pierre/rebol/telech# vi /usr/lib/cgi-bin/test.cgi ###ROOT### < 30/05/2013 19:55:06 > root@autan:/home/pierre/rebol/telech# dog /usr/lib/cgi-bin/test.cgi #!/usr/bin/rebol_core -cs REBOL [] print "Content-type: text/html^/^/" print "coucou! (signé: Rebol)" ###ROOT### < 30/05/2013 19:55:06 > root@autan:/home/pierre/rebol/telech# # pierre@autan: ~/rebol/telech$ < 2013_05_30__19_52_58 > lynx http://127.0.0.1/cgi-bin/test.cgi coucou! (signé: Rebol) Youpi. | |
Login required to Post. |