2012-04-24 2 views
0

Я пытаюсь настроить Erubis для обработки файлов .rhtml на веб-сервере Apache.Erubis на Apache httpd.conf и настройка?

У меня установлен Ruby (v 1.9.2p290), и я установил Erubis (2.7.0) через Ruby Gems.

Я не могу найти подходящий способ для настройки файла httpd.conf. Я нашел руководство по настройке eruby на Apache по адресу http://www.ruby-doc.org/docs/ProgrammingRuby/html/web.html. Я попытался использовать эти настройки конфигурации, перезапустил apache и т. Д. ., но файл RHTML не разбираемый (это просто выводит Выражение рубина, как плоский текст)

Я добавил следующие строки в файл httpd.conf, но он не сделал anything--

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

Я чувствую, что это сработает, если я сам установлю эрубы, а не erubis. На веб-сайте erubis нет четких примеров того, как это сделать и что нужно делать, кроме установки через драгоценные камни, которые я уже сделал.

Я также попытался изменить файл и настройки conf с .rhtml на .eruby, на всякий случай, и это тоже не сработало.

Пожалуйста, помогите!

ответ

3

По-видимому, этот стиль использования встроенного Ruby больше не подходит, но я хотел запустить eruby, а также & нашел один способ получить erubis для обработки страниц .rhtml, добавив скрипт оболочки CGI для передачи запрошенной страницы к erubis. Мое решение описано здесь:

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


У меня есть Apache/2.2.22 на Ubuntu 12,04 & Руби 1.8.7. Я установил реализацию erubis 2.7.0. & скопировал исполняемый файл erubis в папку cgi Apache, в моем случае в/usr/lib/cgi-bin/erubis.

Я настроил CGI скрипт erubis.sh для обработки запросов для .rhtml файлов, добавляя эти директивы /etc/apache/httpd.conf:

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

Я убедился, что модуль Action включен выполнив команду:

$ sudo a2enmod action 

Я создал этот Баш скрипт erubis.sh для обработки запросов для страниц со встроенным рубином:

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

Он выводит минимальный HTTP-заголовок, затем запрашивает erubis для обработки запрошенного файла .rhtml, содержащего встроенный Ruby. Опция расширения Stdout показалась необходимой, чтобы получить выходные данные встроенных блоков Ruby в правильных местах.

+0

Не могли бы вы подытожить соответствующие точки ссылки в ответе, если ссылка будет мертвой? – jonsca

Смежные вопросы