본문 바로가기
Python

파이썬 bitnami wampstack로 CGI 연결하기

by 청원뿔세포 2023. 1. 12.

파이썬이 컴퓨터에 깔려있다고 가정하고 진행하겠다.

 

1. bitnami wamp stack 사이트에서 본인 운영체제에 맞는 것을 골라 설치해준다.

(나는 8.0.3-2 버전을 설치하였고, 로컬 C에 설치했다)

 

2. bitnami가 설치되어있는 경로에 들어가서 몇가지 설정을 해준다.

  2-1. C:\Bitnami\wampstack-8.0.3-2\apache2\conf 로 이동해준 뒤, httpd.conf 파일을 수정해줄 것이다.

먼저 혹시모르니까 httpd.conf.bak이라는 이름으로 복제본을 만들어둔다.

원본파일인 httpd.conf 파일에 들어가서 mod_cgi 를 검색으로 찾아준 뒤

LoadModule cgi_module modules/mod_cgi.so

이 주석처리가 안되어 있는지 확인해준다.

 

  2-2. htdocs를 검색해주면 

DocumentRoot "C:/Bitnami/wampstack-8.0.3-2/apache2/htdocs"
<Directory "C:/Bitnami/wampstack-8.0.3-2/apache2/htdocs">

이 부분이 나오는데 마지막 부분(</Directory>) 전에 코드를 4줄 추가해준다.

    Require all granted

    <Files "*.py">                  # 추가부분
        Options ExecCGI             # 추가부분
        AddHandler cgi-script .py   # 추가부분
    </files>                        # 추가부분
    
</Directory>

3. 윈도우 키를 눌러 Bitnami WAMP Stack Manager Tool 앱을 실행시켜주고 상단 바에서 Manage Servers를 눌러 Apache Web Server를 선택해 Restart 해준다.

 

노란색으로 restarting 상태였다가 Running 상태가 되면 성공이다.

<오류발생 시>

만약 붉은색으로 stopped상태가 되었다면 error log를 봐서 해결해야한다.

C:\Bitnami\wampstack-8.0.3-2\apache2\logs 위치에 error.log파일을 열어 어떤문제가 발생했는지 검색을 통해 확인해볼 수 있다.

 

 

4. C:\Bitnami\wampstack-8.0.3-2\apache2\htdocs 로 이동해준뒤, 파이썬 코드를 통해 웹페이지를 만들어 볼 것이다.

간단하게 print(1+1)의 결과를 화면에 띄워볼 것이다.

현재 위치에 hello.py를 하나 생성해준다. 이름은 상관없다.

 

4-1. 이 파일을 bitnami가 읽어야하기 때문에 #!기호(shebang 이라 부른다) 뒤에 python.exe파일이 있는 경로를 적어줄 것이다.

나의 경우에는 C:\ANACONDA\python.exe 였다.

#!C:\ANACONDA\python.exe

4-2. 그 다음으로 필수로 적여줘야 웹페이지를 보여주는 코드를 적어줘야 한다.

print("content-type:text/html; charset=UTF-8\n")

끝에 \n 줄바꿈도 꼭 적어줘야 한다.

마지막으로 밑에 실행시키고 싶은 코드를 적어준다.

> 전체코드

#!C:\ANACONDA\python.exe
print("content-type:text/html; charset=UTF-8\n")

print(1+1)

저장한 후, 아무 인터넷 창을 켜서 127.0.0.1/hello.py 를 주소로 입력해준다.

(아까만들어둔 파이썬 파일 이름과 동일해야함)

웹페이지에 코드 결과 2가 출력된다.

 

생활코딩의 https://opentutorials.org/course/3256/19789 수업을 통해 알게된 내용을 적어보았다.

3번째 CGI와 python을 연동하는 영상 중후반부에 원리같은게 설명이 잘 되어있다.

 

'Python' 카테고리의 다른 글

[python] 슬라이싱을 이용한 copy  (0) 2022.12.14
파이썬 - 전위 표현식  (0) 2022.11.13
부동소수점  (0) 2022.09.11
BeautifulSoup - 특정 태그값 가져오기  (0) 2022.07.20
파이썬 - enumerate  (0) 2022.05.15

댓글