티스토리 뷰

1. 비트나미 설치

 

2. IDE (VS Code, IntelliJ 등) 열어서 해당 경로 찾아가기

경로(비트나미 설치 경로): Bitnami\wampstack-8.0.6-0\apache2\htdocs

apache2폴더 -> htdocs 폴더를 IDE를 통해 열어주면 된다.

 

3. index.html 파일을 다음과 같이 수정한 후 실행해보기(문구는 마음대로)

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  hello python
</body>
</html>

4. 인터넷 열고 주소창에 localhost 입력 후 enter

위와 같이 html파일의 <body></body> 안에 있는 문구가 출력되면 정상적으로 적용된 것이다.

참고로 (127.0.0.1 = localhost)

 

5. python파일 만들기

htdocs 폴더에 new file -> hello.py 등 확장자가 .py로 끝나는 파일 생성

(이고잉님은 helloworld.py로 하셨는데 귀차나서 hello로 만듦)

 

6. 아래와 같이 간단한 코드 입력

a = 3+4+5
b = a/3

print (b)

 

7. 터미널을 연 후 해당 파일 실행

(명령 프롬포트를 이용해도 무관하나, IDE에서 제공하는 터미널을 사용하면 편함)

python 파일명.py

만약에 터미널에서 실행이 안된다면 경로가 bitnami의 htdocs폴더가 맞는지 확인

 

8. 웹에서 파이썬 파일을 열어보자

주소창에 http://localhost/파일명.py 으로 요청

Internal Server Error가 뜨는 것이 정상임


9. 파이썬을 위한 웹서버 설정 변경

 

1.  httpd.conf 파일 설정 변경

IDE에서 작업하든 폴더에서 작업하든 편한 곳에서 수행하면 됨(나는 VS Code에서 작업폴더 추가 후 진행 함)

경로: Bitnami\wampstack-8.0.6-0\apache2\conf

폴더를 잘 열어야한다. apache2의 conf폴더의 httpd.conf 파일이다.

얘를 하나 더 복사해서 복사본을 만든 후 작업을 진행하자. 원본 설정을 바꾸다가 설정이 에러가나면 백업용으로 사용하기 위함이다.

 

2. httpd.conf 원본 파일에서 mod_cgi.so 를 검색해보자

대부분의 검색 단축키는 ctrl + f를 사용한다.

해당 코드가 주석처리 되어있으면 주석을 풀어줘야 한다. (색깔이 흐리멍텅하거나 vs코드는 초록색이거나 하면 주석처리 되어있는거임)

ctrl + / 누르든지 앞에 # 을 지워준다.

딱 저 mod_cgi.so 부분만 건드린다.

 

3. DocumentRoot의 Directory 설정 변경

다시 httpd.conf파일에서 DocumentRoot를 검색한다.

이렇게 경로가 적힌 코드가 있다.

바로 밑의 Directory 태그 안에 다음과 같은 코드를 작성한다.

<Files "*.py">
        Options ExecCGI
        AddHandler cgi-script .py
</Files>

이거 그대로 복붙해 쓰는게 덜 위험하다.

cgi-script .py 이 라인에는 script와 .py 사이에 공백이 하나 있어야한다. 이걸로도 에러나서 애먹으시는 분들이 꽤 있었다.

나는 다행히 이고잉님이 치시는대로 무의식적으로 따라쳐서 괜찮았음...

 

DocumentRoot "C:/Bitnami/wampstack-8.0.6-0/apache2/htdocs"
<Directory "C:/Bitnami/wampstack-8.0.6-0/apache2/htdocs">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   AllowOverride FileInfo AuthConfig Limit
    #
    AllowOverride None

    #
    # Controls who can get stuff from this server.
    #
    Require all granted

    <Files "*.py">
        Options ExecCGI
        AddHandler cgi-script .py
    </Files>
</Directory>

위치는 이렇게 <Directory> </Directory>안에 넣어줘야한다. 위치는 Directory안에서 위나 아래는 상관없을듯...

 

4. bitnami에서 아파치 서버 재실행

manager-windows.exe 를 실행해서 Manage Servers에 들어간다.

아파치 웹서버 선택 후 재시작을 해준다.

 

참고로 manager-windows.exe는 Bitnami가 설치된 폴더에 들어가면 위치한다.


10. localhost/파일명.py url에 실행

띠용? 왜 또 서버 에러냐?? 아직 끝난게 아니기 때뮨...

 

11. 파일 첫번째 줄에 #!python 추가해주기

웹이 해당 파일을 읽을 때 python파일이다~~ 하고 알려줘야한다.

#!python
a = 3+4+5
b = a/3

print (b)

사실 이렇게 해도 에러나니까 바로.. 

 

12.  content-type지정!

content-type: text/html; charset=utf-8

이라고 적어줘야한다... 이유는 묻지말오라...정해져있음

한글은 utf-8 사용하고... 화면에 뿌려줄 때 text로 바꿔줘야해서 그런걸로 대강 알고있음...ㅎㅎ

#!python
a = 3+4+5
b = a/3

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

최종 코드이다!

이유는 잘 모르겠으나 print 안에 적어줘야하나보다...나중에 설정하는 법을 또 배우겠지..일단은 이렇게 하고 진행하는 걸로! 이고잉님의 수업에는 다 이유가 있을겨....

그리고 마지막에 줄바꿈이 필요하다고 하니까 \n 추가!

 

13. 새로고침!

쨘~~ 이렇게 print 한 결과가 뜬다!!


생활코딩 파이썬 강의 주소: https://youtu.be/BEghLFbPtDk

그리고 여기부분 들어가면 web server설정 관련해서 난 에러들을 해결한 댓글들이 있다...

보고 본인이랑 동일한 에러이면 여기 댓글 확인해도 괜찮을 듯하다.

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함