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설정 관련해서 난 에러들을 해결한 댓글들이 있다...
보고 본인이랑 동일한 에러이면 여기 댓글 확인해도 괜찮을 듯하다.
[Python] 생활 코딩 python 강의 따라하기 5 (CRUD 중 삭제 기능 구현하기) (0) | 2021.05.23 |
---|---|
[Python] 생활 코딩 python 강의 따라하기 4 (CRUD 중 수정 기능 구현하기) (0) | 2021.05.23 |
[Python] 생활 코딩 python 강의 따라하기 3 (CRUD 중 등록 기능 구현하기) (0) | 2021.05.23 |
[Python] 생활코딩 강의 따라하기 2 (list 동적으로 추가하기-file읽어오기, url query가져오기)_부제: 파이썬 한글 깨짐 해결 (0) | 2021.05.23 |