perl 설정에 관하여
Perl로 짜진 소스가 있어서 어쩔 수 없이 perl을 사용하려 합니다.
레드헷 리눅스 7.3을 설치할 때 웹서버 설치를 선택해서 리눅스가 설치될때 아파치도 같이 설치가 되었습니다.
# perl -v 이케 하면 버젼 5.6.1 이라고 나옵니다.
/etc/httpd/conf/httpd.conf 파일의
<IfModule mod.per.c>
Alias /perl /var/www/perl
<Directory /var/www/perl>
SetHandler perl-script
PerlHandler Apache::Registry
Options +ExecCGI
</Driectory>
</IfModule>
이 부분의 주석을 풀고
perl을 테스트 하기 위하여 hello.pl을 만들고
/var/www/perl 이 디렉토리 밑에 hello.pl을 두었습니다.
물로 hello.pl 은 잘 돌아 갑니다.
문제는 /var/www/perl 이 디렉토리 안에 test.html 파일을 만들어 두고 브라우저에서 확인을 하니
Forbidden
You don't have permission to access /perl/test.html on this server.
이런 에러가 납니다.
혹 퍼미션 문제인가 해서 chmod 777 /var/www/perl/test.html 했습니다.
그랬더니
An error occured while loading http://203.241.56.139/perl/test.html:
Connection to host 203.241.56.139 is broken
이렇게 에러가 납니다.
원래 perl 파일과 html 파일을 같은곳에 둘 수 없는 것입니까?
아니면 따로 설정파일을 수정하여야 합니까?
위처럼 하면 Directory 지시어 때문에 해당 디렉토리의 모든 파일에
위처럼 하면 Directory 지시어 때문에 해당 디렉토리의 모든 파일에 지정한 핸들러가 걸립니다.
.pl에 대해서만 FilesMatch 지시어를 쓰도록 하는게 좋을것 같네요.
--
익스펙토 페트로눔
죄송한데요..
죄송한데요.
FilesMatch 지시어를 사용하는 방법을 모르겠습니다.
<Directory /var/www/perl>
<FilesMatch ".(pl)$">
SetHandler perl-script
PerlHandler Apache::Registry
Options +ExecCGI
Order allow,deny
Allow from all
</FilesMatch>
</Driectory>
이렇게 바꾸어 보았는데 결과는 똑같습니다.
FilesMatch 지시어를 어떻게 사용 하는지 가르쳐주시면 감사하겠습니다.
도움부탁드립니다.
도움부탁드립니다.
해결을 했는데 왜 되는지 모르겠네요.
이런식으로 해서 성공은 했습니다.
그런데 몇가기 옵션 중 궁굼한게 있는데요.
AllowOverride None 이 옵션이 뭐하는 옵션인지요?
FollowSymlinks과 MultiViews 이 옵션은 뭐하는 옵션인가요?
PerlSendHeader On 이건 또 무슨 옵션 인가요?
Document 를 보시고 예시를 보시는게 더 이해가 빠르시겠네요
Document 를 보시고 예시를 보시는게 더 이해가 빠르시겠네요
http://search.apache.org/index.cgi?query=FollowSymlinks&what=docs1&brief=1&submit=Search%21
등등 검색하시면 줄줄 나옵니다.
댓글 달기