아파치 파이썬 연동 문제

조회수 1494회
DocumentRoot /home/mint/Documents/Web
<Directory /home/mint/Documents/Web>
 Options +ExecCGI
 AddHandler cgi-script .py
</Directory>

위와 같이 설정을 한 뒤

#!/usr/bin/python3
print('hello world')

형식에 맞춰 파이썬 파일을 웹에서 실행시키려고 하지만 계속 실패합니다. 파이어폭스를 사용 중인데 계속 파일을 에플리케이션으로 열겠냐는 메세지만 나와 해결책을 구글링해봐도 나오지가 않습니다.

디렉토리 주소를 바꾼 이유는 저 경로 안에 있는 파일을 연동시키겠다는 소리로 알아들어 제가 사용하는 경로로 바꿨습니다. 혹시나 이게 원인일까 원래있던 경로로 설정을 했지만 마찬가지로 실행되지가 않습니다. 뭐가 문제인지 모르겠습니다. 조언부탁드립니다.

++ 생활코딩 튜토리얼을 보면서 하고 있습니다만 생활코딩에선 Codeanywhere이란 웹 텍스트 에디터를 사용하시던데 그 툴로는 아파치 경로가 다르더군요. 왜 그런건가요?

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • https://opentutorials.org/module/3357/19789

    여기서 httpd.conf 파일 내용을 수정하라고 하는데 혹시 하셨나요?

    #LoadModule cgi_module modules/mod_cgi.so 
    

    샵 제거하는 작업이요.

    파일을 열겠다고 뜨는 건, 서버가 경로에 static resources를 핸들링하도록 설정되어 있어서 일듯 한데요.

    어쨌든 경로에서 파일을 찾긴 찾았으니 파일에 대한 경로설정이 잘못된 것 같진 않습니다.

    ++ 아파치 경로는 뭐... OS마다 바이너리 관리하는 디렉토리들이 다르기도 하고... 같은 OS라도 설치하는 방식(패키지 인스톨, 바이너리 다운, 직접 컴파일 등)에 따라 다를 수 있습니다. 심지어 원하는 곳에 설치하고 path만 잘 설정해 주면 동작하기 때문에 왜 거기에 설치 되어 있는지는 알 필요는 있지만(특별한 설정 없이 잘 동작하면 알 필요도 없긴 하죠 ㅋ) 설치 경로가 다른 이유는 크게 신경쓰실 필요가 없을 것 같아요.

    • 전 리눅스라 위 작업은 영상에 나오지 않아서 혹시나 놓쳤나 싶어 영상을 재확인해보니 위 작업은 없었네요. 말씀하신 static resources를 설정해야 해결되는 문제인 것일까요? 다른 어플리케이션으로 파이어폭스를 택해도 반복된 현상만 일어나 당황스럽네요.. 알 수 없는 사용자 2018.10.23 15:54
    • 네 일단 httpd.conf 설정 파일을 가셔서 저 주석처리된걸 살려주셔야 하고요. 아까 엽토군 님이었나? 달았던 답변에 나와있었던 print("content-type:text/html; charset=UTF-8\n") 헤더 부분을 python 파일 안에서 명시해 주어야 하네요. 안그러면 500에러가 납니다. doodoji 2018.10.23 17:38
    • 후반에 말씀해주신 부분은 해놨습니다만 전반의 httpd.conf 파일은 리눅스 아파치에 없는거 같습니다. 혹시나 해 윈도우 버전 영상을 보고 비교하니 진행절차도 다르더군요... 현재 가장 큰 문제가 py파일을 h tml으로 꺼내려고 할 때 에러가 뜨는 것이 아니라 파이어폭스가 이 파일을 어떤 방식으로 실행시킬 것이냐 > 파이어폭스로 실행시킬 것이다. > 이 파일을 어떤 방식으로 실행시킬 것이냐란 루프가 해결되지 않는게 문제인거 같습니다... 영상 내에서도 나타나지 않은 문제고 영어로 구글링을 해봐도 찾아지질가 않네요... 기껏 도움주셨는데 해결시키지 못해 죄송합니다 알 수 없는 사용자 2018.10.23 18:51
    • httpd.conf를 표준으로 사용하지 않는 리눅스가 있다고 하네요. 우분투는 apache2.conf라는데... 이 설정파일은 어느 OS의 아파치든 존재할 겁니다. 아파치에서 라우팅/모듈/접근권한/프록시 등등을 사용자가 직접 설정할 수 있게 하는 파일이거든요. 이게 없을 수 없어요. 찾아보세요. 화이팅 ㅠ doodoji 2018.10.23 18:57
    • 끄응... 그럼 실행을 어떻게 하셨나요? 지정한 웹루트에 파일을 넣고 파폭으로 http://localhost/filename.py 로 접근하신게 아닌가요? doodoji 2018.10.23 19:04
    • localhost를 사용하지 않고, 같은 폴더에 html과 py파일이 각각 하나씩 만들어 html 파일을 실행 후 해당 링크에 파일명을 py로 바꾸었었습니다. file://home/mint/Documents/Web/web.html 이런 방식으로요 알 수 없는 사용자 2018.10.23 19:06
    • ... 파이어폭스의 접근방식 문제였던거 같습니다 localhost를 사용하니 해결되었습니다. 끝까지 함께해주셔서 정말 감사드립니다. 알 수 없는 사용자 2018.10.23 19:09
    • 굿굿 ㅋ 이런 삽질을 한 번 하고 나면 많은걸 배우는 것 같아요. 저 또한 새롭게 알게 된 것이 있어서 좋네요. doodoji 2018.10.23 20:03

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)