2012-11-10 5 views
1

:아파치 : 파일 액세스 (MOD 루비) 내 아파치에서 가상 호스트를

<VirtualHost *:80> 
    ServerName 127.0.0.1 
    ServerAlias localhost 
    DocumentRoot /var/www/rocketruby/public 
    <Directory /var/www/rocketruby/public> 
     AllowOverride all 
     Options -MultiViews +ExecCGI 
     RewriteEngine On 
     RewriteRule ^(.*)$ /redharbor.rbx 
    </Directory> 
</VirtualHost> 

redharbor.rbx/var/www/rocketruby/public에 있으며 액세스 모드가

0777.는 슬프게도 나는이 메시지입니다입니다 :

Forbidden 

You don't have permission to access /redharbor.rbx on this server. 

Apache/2.2.22 (Ubuntu) Server at localhost Port 80 

무엇이 잘못 되었나요?

답변

2

시도하는 몇 가지 아이디어 ...

"허용"아래 "주문"과 같은 두 줄을 추가 시도 후 아파치를 다시로드하고 스크립트에 액세스 해보십시오 :

<Directory /var/www/rocketruby/public> 
    AllowOverride all 
    Options -MultiViews +ExecCGI 
    RewriteEngine On 
    RewriteRule ^(.*)$ /redharbor.rbx 
    Order Deny,Allow 
    Allow from all 
</Directory> 

이됩니다 공개 디렉토리가 열렸습니까? 마지막 액세스 문자에 "x"를보고 싶습니다.

$ ls -ld /var/www/rocketruby/public 
drwxrwxr-x 4 root root 4096 ... 

다시 작성한 다음 다시로드하면 해당 스크립트가 작동합니까?

$ wget http://localhost/redharbor.rbx 
(or use a web browser) 

다시 작성한 다음 다시로드하고 Apache를 다시로드하면 정적 페이지에 액세스 할 수 있습니까?

$ cd /var/www/rocketruby/public 
$ echo "Hello" > index.html 
$ wget http://localhost/index.html 
(or use a web browser) 

아파치가 아닌 명령 줄에서 스크립트를 실행할 수 있습니까?

$ ruby /var/www/rocketruby/public/redharbor.rbx 

Apache 구성에서 Ruby를 사용 설정 했습니까?

<IfModule mod_ruby.c> 
    RubyRequire apache/ruby-debug 
    # Execute *.rbx files as Ruby scripts 
    <Files *.rbx> 
    Options ExecCGI 
    SetHandler ruby-object 
    RubyHandler Apache::RubyDebug.instance 
    </Files> 
</IfModule> 

여전히 도움이 필요한 경우 Apache 오류 로그를보고 여기에 결과를 게시 할 수 있는지 확인하십시오.

+0

큰 답변을 주셔서 감사합니다. 슬프게도 같은 문제가 발생합니다. – JAkk

+0

당신이 명확하게 할 수 있습니까? 내가 게시 한 모든 것을 시도했지만 그 중 아무 것도 작동하지 않는다는 말입니까? 즉, 아파치는 index.html 파일을로드 할 수 없습니까? 이것은 아파치와 파일 시스템에 관한 것이지 루비 나 RBX에 관한 것이 아니기 때문에 문제를 단순화시킬 것이다. – joelparkerhenderson