아파치 2.0.40에서 홈계정에서 cgi 실행하기

shchai의 이미지

안녕하십니까.. 초보 리눅스 사용자입니다..

웹서버로 사용좀 할려고 하는데...

개인계정에다 무료 게시판(perl)을 받아서 사용하려고 하는데

cgi부분이 문제가 있는지 실행이 안되는군요

그래서 루트 홈계정에다 test.cgi(아파치2의 헤더정보에 맞는것)을 만들어서

실행을 해보는데 루트 홈에선 실행이 됩니다..

그런데 사용자 홈계정에선 실행이 안되고
(예: http://111.222.333/~444/cgi-bin/test.cgi)

Error message:
Premature end of script headers: test.cgi 라고
나오는군요...

사용자 홈계정에선 /home/계정/public_html/cgi-bin/에다
cgi사용하게끔 할 예정입니다..

당연히 실행권한 및 각종 퍼미션들은 지켰읍니다..

제가 설정한 httpd.conf cgi부분입니다..

ScriptAlias /cgi-bin/ "/home/httpd/cgi-bin/"

<Directory "/home/*/*/*">
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>

.
.
.

# "/var/www/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.

<Directory "/home/*/cgi-bin">
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>

잘 아시는 분들 좀 도와주세요

shchai의 이미지

며칠을 답을 찾으려... 웹 뒤져가면서 httpd.conf 이리 저리 수정해가면서
삽질을 하다가 결국 해결했습니다... 문제는 Suexec였습니다..

uid(사용자id)와 gid(그룹id)을 달리 해서 그런거였었는데...

일단 해결한 문서를 보자면....
--------------------------------------------------------------
suexec 지원 프로그램을 사용하면 어떤 가상호스트 혹은 어떤 사용자
디렉토리에 있는지에 따라 CGI 프로그램을 다른 사용자 권한으로 실행할
수 있다. Suexec는 매우 엄격하게 권한을 검사하며, 검사를 하나라도
통과하지 못하면 CGI 프로그램을 실행하지 않고 Premature end of script
headers를 반환한다.

suexec를 사용하고 있는지 알려면 apachectl -V를 실행하여 SUEXEC_BIN
위치를 확인한다. 아파치가 시작할때 그 장소에서 suexec 실행파일을 발견하면,
suexec를 사용할 수 있다. suexec를 완전히 이해하지 못했다면 사용해서는
안된다. suexec를 사용하지 않으려면 SUEXEC_BIN 위치에 있는 suexec
실행파일을 지우고 (혹은 파일명을 바꾸고) 서버를 재시작하면 된다. suexec에
대해 읽은 다음 그래도 사용하고 싶다면, suexec -V를 실행하여 suexec
로그파일 위치를 알아내고 로그파일에서 당신이 어떤 규칙을 어기고 있는지
찾는다.

이상 http://httpd.apache.org/docs/2.0/ko/howto/cgi.html에서 발췌
------------------------------------------------------------------

suexec의 파일명을 바꾸고 아파치 재 시동 했더니.. 드뎌 되는군요 ㅠ.ㅠ

어쩐리 루트에서만 cgi가 실행되더라니... 원인을 알고 보니 허무하군요..

어쨌든 저 같은 경우의 분들이 있으시면 참고하세요

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.