2011-10-24 3 views
2

apache2가 루비 스크립트를 실행하게하고 싶습니다. CGI를 사용하여이 작업을 처리했지만 지금은 mod_ruby로 한 단계 더 나아가고 싶습니다. apt-get을 통해 mod_ruby를 설치 했으므로 활성화되어 있어야하지만, http://localhost/test.rb을 방문하면 내 브라우저가 파일을 출력하는 대신 다운로드합니다.아파치 2는 .rb 파일을 실행하지 않습니다. (mod_ruby)

/etc/apache2/mods-enabled/ruby.load를 열면 경로가이 모드에서 실행됩니다.

<IfModule mod_ruby.c> 
    <Directory /var/www/> 
    Options +ExecCGI 
    </Directory> 
    RubyRequire apache/ruby-run 
    #RubySafeLevel 0 
    <Files *.rb> 
    SetHandler ruby-object 
    RubyHandler Apache::RubyRun.instance 
    </Files> 
    <Files *.rbx> 
    SetHandler ruby-object 
    RubyHandler Apache::RubyRun.instance 
    </Files> 
</IfModule> 

당신이 좀 도와 주시겠습니까 :

나는 또한 내 apache2.conf의에 줄 지어 다음 추가?

추신. ROR를 사용하여 제안하지 마십시오. 나는 그것에 익숙하다. 이제 저는 루비를 교육적인 이유로 사용하고 싶습니다. 또한 일을 단순하게 유지하십시오. 나는 아파치에게 총 초보자입니다.

+0

당신은 mod_ruby가로드되어야한다고 언급하고 있습니다 만,'/ etc/apache2/mods-enabled/ruby.load'에 링크가 있는지 확인하는 것은 어렵지 않습니다.'mods- available' – Slartibartfast

+0

(mods-enabled와 mods-available에서) ruby.load 파일은 모두 mod_ruby.so를 가리키는 동일한 줄을 가지고 있습니다. - 그들이 가리키는 디렉토리에 있는지 확인했습니다. – gisek

답변

2

this article을 참조하십시오 - 지침이 있습니다. 기본적으로 루비 파일을 핸들러를 통해 전달하도록 아파치에 지시해야한다.

Sinatra 또한 평범한 루비 파일처럼 단순한 마이크로 웹 프레임 워크입니다. 그리고 Passenger으로 잘 문서화되어 있습니다. Apache 용 Ruby 모듈입니다.

+0

나는 mod_ruby를 apt-get을 통해 설치하는 것만으로 충분하다고 언급 한 기사에 따르면 debian을 사용하고 있습니다. 또한이 기사에서 언급 한 라인을 apache2.conf에 추가하려고 시도했습니다. – gisek

+0

Sinatra를 사용하면 모든 것이 더 쉽고 효과적이었습니다. – gisek

관련 문제