2012-04-24 4 views
0

J'essaye d'obtenir l'installation d'Erubis pour traiter des dossiers .rhtml sur un serveur Web d'Apache.Erubis sur Apache httpd.conf et configuration?

J'ai Ruby installé (v 1.9.2p290) et j'ai installé Erubis (2.7.0) à travers Ruby Gems.

Je n'arrive pas à trouver la bonne façon de configurer le fichier httpd.conf - J'ai trouvé un guide pour configurer eruby sur Apache au http://www.ruby-doc.org/docs/ProgrammingRuby/html/web.html - J'ai essayé d'utiliser ces paramètres de configuration, j'ai redémarré apache, etc. . mais le fichier RHTML n'est pas en cours d'analyse (il est juste sortie l'expression rubis texte plat)

J'ai ajouté les lignes suivantes au fichier httpd.conf, mais il ne l'a pas anything--

AddType application/x-httpd-eruby .rhtml 
Action application/x-httpd-eruby /cgi-bin/eruby 

J'ai l'impression que cela fonctionnerait si j'installais Eruby lui-même, pas Erubis. Le site Web d'erubis n'offre pas d'exemples clairs sur la façon de le faire fonctionner, autre que l'installation via des gemmes que j'ai déjà fait.

J'ai également essayé de changer le paramètre de fichier et conf de .rhtml à .eruby, juste au cas où, et cela ne fonctionnait pas non plus.

Aidez s'il vous plaît!

Répondre

3

Apparemment, ce style d'utilisation de Ruby incorporé n'est plus le chemin à parcourir, mais je voulais aussi utiliser Erubis pour traiter les pages .rhtml en ajoutant un script shell CGI pour passer la page demandée à Erubis. Ma solution est décrite ici:

http://techdog.tumblr.com/post/36496065877/configure-erubis-cgi-in-apache


Je Apache/2.2.22 sur Ubuntu 12.04 & Ruby 1.8.7. J'ai installé l'implémentation erubis 2.7.0 & copié le fichier exécutable erubis dans le dossier cgi d'Apache, dans mon cas dans/usr/lib/cgi-bin/erubis.

J'ai configuré un script cgi appelé erubis.sh pour traiter les demandes de fichiers .rhtml en ajoutant ces directives à /etc/apache/httpd.conf:

AddType application/x-httpd-eruby .rhtml 
Application application/x-httpd-eruby /cgi-bin/erubis.sh 

Je me suis assuré que le module d'action est activé en exécutant cette commande:

$ sudo a2enmod action 

J'ai créé ce script shell bash erubis.sh pour traiter les demandes de pages avec Ruby embarqué:

#!/bin/bash 
echo "Content-type: text/html" 
echo 
echo "<!DOCTYPE HTML>" 
erubis -E Stdout <$DOCUMENT_ROOT$REQUEST_URI 

Il génère un en-tête http minimal puis demande à erubis de traiter le fichier .rhtml demandé contenant Ruby incorporé. L'option d'amélioration Stdout semblait nécessaire pour obtenir la sortie des blocs Ruby intégrés aux bons endroits.

+0

Pouvez-vous résumer les points pertinents du lien dans la réponse au cas où le lien serait mort? – jonsca

Questions connexes