본문 바로가기

Linux

파이썬 웹프로그래밍 ( python + apache + mod_python )2


윈도우에 Apahce 2.2.14 + mod_python 3.3.1 + ActivePython 2.5.5.7 을
설치하여 파이썬 웹프로그래밍을 해봅니다.

 

아파치 웹서버는 http://httpd.apache.org/ 에서 다운 받습니다.
현재 최신 버전은 2.2.14 입니다. 윈도우에 설치할 것이므로
Win32 Binary를 다운 받습니다.

 

mod_python 은 http://www.modpython.org/ 에서 다운 받습니다.
현재 최신 버전은 3.3.1 입니다. mod_python Win32 바이너리들
중에서 apache 2.2 와 python 2.5 용을 다운 받습니다.

 

python은 http://www.activestate.com/ 에서 2.5.5.7버전을 다운 받습니다.
python은 현재 3.1.1 버전까지 나와 있으나 mod_python이 2.5까지만
지원하는군요. http://www.python.org/ 에서는 윈도우 바이너리는
2.5.4 버전까지 받을 수 있는것 같습니다.

 

윈도우용 라이브러리인 wxPython은 아직은 2.6까지만 지원하므로
이것저것 다해보려면 2.5, 2.6, 3.1 세가지 버전을 모두 설치해야 되는데
다 설치해서 간단히 테스트만 해봐서 확실하지는 않지만 사용하는데는
별 문제가 없을것 같아보이네요.

 

일단 이번에는 웹프로그래밍이므로 2.5 버전을 사용합니다


그럼 먼저 아파치 부터 설치를 시작합니다.
설치 위치는 C:\util 아래에 모두 설치해보겠습니다.

다운로드 받은 파일을 더블클릭하여 실행합니다.

 

Next 버튼을 누릅니다.

 

라이센스에 동의하고  Next 버튼을 누릅니다.

 

Next 버튼을 누릅니다.

 

도메인이 없으므로 Network Domain과 Server Name 에 127.0.0.1 을 입력했습니다.

여기서는 80 포트를 사용하고 서비스로 동작하도록 선택했습니다.

그리고나서  Next 를 누릅니다.

 

설치위치 지정을 위해서 Custom을 선택하고 Next를 누릅니다.

 

설치 위치 변경을 위해서 Change를 누릅니다.

 

설치 위치를 C:\util\Apache2.2\ 로 지정했습니다.

 

위에서 디렉토리를 지정하고 OK 하고 Next 하면 설치 준비가 되었다고 나옵니다.

Install 을 눌러서 설치를 시작합니다.

 

 

설치가 완료되었습니다. Finish 를 눌러 마칩니다.

 

위 대로 따라 했다면 아파치 웹서버가 서비스로 실행이 되었을 것입니다.

아래와 같이 웹브라우저로 요청을 하면 실행되는 상태를 볼 수 있습니다.

 

 

 

 

이제 Python을 설치합니다.

다운로드 받은 파일을 더블클릭해서 설치를 시작합니다.

 

시작화면입니다. Next 를 누릅니다.

 

라이센스에 동의하고 Next를 누릅니다.

 

Browse 버튼을 눌러서 설치 위치를 지정합니다.

 

설치 위치를 C:\util\Python25\ 로 지정합니다.

 

앞의 화면에서 OK하고 Next 하면 설치할 준비가 완료됩니다.

Install 을 눌러 설치를 시작합니다.

 

설치가 완료 되었습니다. Finish를 누릅니다.

 

 

 

 

마지막으로 mod_python을 설치합니다.
윈도우즈7에서는 관리자권한으로 실행합니다.

 

다운로드한 파일을 더블클릭하면 설치가 시작 됩니다.

다음을 누릅니다.

 

앞에서 설치한 파이썬을 자동으로 찾았습니다.

다음을 누릅니다.

 

다음을 눌러 설치를 시작합니다.

 

아파치가 설치된 디렉토리를 물어보는데 앞에서 설치한 디렉토리를 지정합니다.

 

마침을 누릅니다. 설치가 완료되었습니다. 설치가 완료되면

 

아파치를 설치한 디렉토리아래 modules 폴더에 mod_python.so 파일이
생깁니다.

 

이제 아파치 설정파일(httpd.conf) 을 수정하여 mod_python 을 사용하도록 합니다.

다음과 같이 수정합니다.

 

모듈을 로드 하도록 지정합니다.

 

LoadModule python_module modules/mod_python.so

 

.py 확장자를 가진 파일을 처리할 핸들러를 지정합니다.


<Directory "C:/util/Apache2.2/htdocs">
    AddHandler python-program .py
    PythonHandler hello
    PythonDebug On

 

 

처리되지 않은 오류가 있을때 기본적으로 에러 로그 파일에

저장되는데 PythonDebug On 은 Client 쪽에도 보이게 해줍니다.

개발시에 유용하게 사용되는 옵션입니다.

 

이제 실행해볼 hello.py 파일을 아래와 같이 작성합니다.

 

 

from mod_python import apache

def handler(req):
    req.send_http_header()
    req.write("Hello World!")
    return apache.OK

 

 

작성이 되었으면 웹브라우저로 요청하여 제대로 동작하는지 확인합니다.

 

설치와 간단한 테스트를 마쳤습니다.



[출처] 
http://mtjeaids.blog.me/70080901510