생활코딩

Coding Everybody

설치 및 연동 - Windows

토픽 생활코딩 > WEB > WEB2 - Python

수업소개

이 수업에서는 윈도우즈에서 Python, Apache를 연동해 웹애플리케이션을 구동하는 방법을 살펴봅니다. 

 

 

웹서버 설치

 

 

Python 설치 및 실행

 

 

Apache와 Python을 CGI로 연동하는 방법

아파치의 환경설정 파일을 수정합니다. 필자는 아래의 위치에 파일이 있습니다. 

C:/Bitnami/wampstack-7.1.15-0/apache2/conf/httpd.conf

 

Document root(웹서버가 요청한 파일을 찾는 최상위 디렉토리)에 있는 파일 중 확장자가 py인 파일은 Python으로서 실행 되도록 합니다. 추가한 내용은 5~8행입니다. 

<Directory "C:/Bitnami/wampstack-7.1.15-0/apache2/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
    <Files "*.py">
      Options ExecCGI
      AddHandler cgi-script .py
    </Files>
</Directory>

 

mod_cgi 혹은 mod_cgid 기능을 활성화해야 합니다. httpd.conf에서 아래 행이 아래와 같이 #으로 시작한다면 #을 제거해주세요.

#LoadModule cgi_module modules/mod_cgi.so

 

웹서버를 재시작합니다. 

 

python script를 작성합니다. 

/htdocs/helloworld.py

#!python
print("content-type:text/html; charset=UTF-8\n")
print(1+1)

 

접속합니다. 

필자의 경우는 아래 주소였습니다. 자신의 주소에 접속하시면 됩니다. 

http://127.0.0.1/helloworld.py

 

오류가 발생하면 아래 경로에서 오류 메시지를 확인해봅니다. 

C:/Bitnami/wampstack-7.1.15-0/apache2/logs/error.log

 

댓글

댓글 본문
  1. labis98
    새로운 시작(20240923)
  2. Sansol Park
    좋은 질문입니다! Visual Studio Code(VS Code)와 WAMP는 모두 웹 개발에 사용할 수 있지만, 그 목적과 방식이 조금 다릅니다. 아래에서 차이점과 대체 가능성에 대해 설명하겠습니다.

    ### 1. **Visual Studio Code (VS Code)**와 **Live Server**
    - **VS Code**는 **코드 편집기**입니다. 개발자가 코드를 작성하고 관리하는 도구입니다. 매우 다양한 언어와 기능을 플러그인으로 지원하며, 확장성도 뛰어납니다.
    - **Live Server**는 VS Code의 확장 기능 중 하나로, **간단한 웹 서버**를 로컬에서 실행해주는 역할을 합니다. 이 확장을 통해, 작성한 HTML/CSS/JavaScript 파일을 브라우저에서 실시간으로 확인할 수 있습니다. 주로 **정적 웹 페이지**(서버 측 로직이 필요 없는 HTML/CSS/JS 파일)를 미리보기 용도로 사용하는 간단한 서버입니다.

    ### 2. **WAMP**
    - **WAMP**는 Windows에서 Apache, MySQL, PHP를 함께 설치해주는 **서버 환경**입니다. WAMP는 주로 **동적 웹 페이지**(PHP 같은 서버 측 스크립팅 언어를 사용하는 웹 애플리케이션)를 개발할 때 사용합니다.
    - **Apache**는 웹 서버 소프트웨어로, HTTP 요청을 처리하고 웹 페이지를 반환하는 역할을 합니다.
    - **MySQL**은 데이터베이스로, 데이터를 저장하고 관리하는 역할을 합니다.
    - **PHP**는 서버 측 스크립트 언어로, 동적인 웹 페이지를 생성하는 데 사용됩니다.

    ### 차이점
    - **VS Code + Live Server**는 **간단한 정적 웹 사이트**를 로컬에서 미리보기하는 용도로 사용됩니다. Live Server는 Apache와 같은 완전한 웹 서버는 아니며, 파일을 브라우저에 보여주는 정도의 역할을 합니다.
    - **WAMP**는 **동적 웹 페이지**를 테스트할 수 있는 완전한 서버 환경을 제공합니다. Apache, PHP, MySQL을 포함하여 서버 측 로직과 데이터베이스를 사용하는 웹 애플리케이션을 로컬에서 개발하고 테스트할 수 있습니다.

    ### 3. **VS Code에서 웹 서버와 파이썬을 사용하는 방법**
    - **VS Code 내에서 파이썬**도 설치하고 사용할 수 있습니다. VS Code는 파이썬 플러그인을 통해 파이썬 코드를 실행하고 디버깅할 수 있게 해줍니다.
    - 만약 파이썬으로 웹 서버를 실행하려면, **Flask**나 **Django**와 같은 파이썬 웹 프레임워크를 사용할 수 있습니다. 이 프레임워크들은 자체적으로 개발용 서버를 제공하기 때문에, VS Code 내에서 파이썬 환경과 웹 서버를 설정하고 실행하는 것이 가능합니다.

    ### 4. **VS Code와 WAMP 대체 가능성**
    - **WAMP**는 Apache, PHP, MySQL을 사용하여 PHP 기반 웹 애플리케이션을 개발할 때 매우 유용합니다. 하지만 만약 당신이 PHP 대신 **파이썬**을 사용하려는 경우, WAMP는 필요하지 않습니다.
    - **VS Code + Flask/Django**를 사용하여 웹 서버와 파이썬을 연동할 수 있습니다. 이렇게 하면 WAMP 없이도 파이썬으로 웹 애플리케이션을 개발하고, 로컬에서 서버를 실행할 수 있습니다.

    ### 결론
    - **VS Code + Live Server**는 주로 정적 웹 페이지(HTML/CSS/JS)를 테스트하기에 적합합니다.
    - **WAMP**는 동적 웹 페이지(PHP 기반)를 개발하고 테스트할 수 있는 완전한 서버 환경을 제공합니다.
    - 만약 **파이썬**으로 웹 개발을 할 계획이라면, **VS Code + Flask/Django**를 사용하는 것이 WAMP 대신 더 적합합니다. 이 방법으로 웹 서버와 파이썬 개발 환경을 설정할 수 있습니다.

    즉, 본 수업에서 WAMP를 사용한 PHP 환경을 파이썬 기반의 환경으로 전환하려면, **VS Code와 파이썬 웹 프레임워크**를 사용하는 방법이 WAMP를 대체할 수 있습니다.
    대화보기
    • aspyn
      파일 이름 확인도 여러번 했고 스펠링도 하나하나 다시 맞춰보기도 했습니다 ㅠㅜ
      대화보기
      • Sansol Park
        파일이 없다는 오류 메시지가 나타날 때에는 일반적으로 해당 경로에 파일이 실제로 존재하지 않거나 파일 이름이 올바르지 않는 경우입니다. 먼저, 현재 작업 디렉토리에 create.py 파일이 있는지 확인해 보세요.
        대화보기
        • aspyn
          현재 form 에서 한달째 막혀 구글 검색도 해보고 여러가지 시도 해보고 있으나 해결이 되지 않아 질문 드립니다 index.py파일에서 create.py파일을 열려면 관리자 권한을 줘야한다고 하시는데 cmd에서 sudo chmod a+x create.py 를 계속 파일이 없다고 뜹니다 제가 파이썬 설치할때 뭔가 놓친게 있을까요ㅠㅠ 제발 아무나 답변 부탁드립니다
        • nightsunny
          23.05.05 check
        • hansul
          https://www.dropbox.com......l=0
          bitnami wamp 대체 가능한 프로그램도 많지만 타 프로그램 사용하기가 어려운 분들은 제 드롭박스 링크를 통해 받으시면 되겠습니다. bitnami wamp 설치 프로그램입니다.
        • 태발군
          Bitnami WAMP가 서비스를 더 이상 하지 않는 것 같습니다
          그래서 대체할 프로그램을 찾다가(찾아서 설치해서 돌리는데 6시간 걸림..)
          https://sourceforge.net......er/
          여기서 wamp를 다운받았습니다
          만든 곳이 다르기 때문에 설정이 다르지만 큰 틀은 유사합니다
          설치한 후 웹 검색창에 127.0.0.1을 치면 Wampserver Configuration이 나옵니다
          Tools - Add aVirtualHost 를 눌러 127.0.0.2를 만들어야합니다
          Virtual Host name은 적당한걸 넣으시고
          folder path는 apache 폴더 내 htdoc폴더를 선택하고
          local IP는 127.0.0.2(다른 주소를 써도됨)를 할당합니다
          기존의 127.0.0.1 주소를 htdoc폴더로 바꾸는 작업은 저에겐 너무 버거워 새로운 주소를 하나 더 팠습니다
          그러면 수업에서 index.html 파일을 변경하면 127.0.0.2에서 확인할 수 있습니다
          그리고 나서 수업을 따라 python 파일이 작동할 수 있도록 하시면 됩니다
          다만, 수업에선 #!python.exe를 파일의 상단에 넣으면 됐지만
          각자의 컴퓨터에서 python 프로그램 디렉토리를 찾아 넣어야 합니다
          저의 경우 C:\Users\user\AppData\Local\Programs\Python\Python38\python.exe 이었는데
          pyrhon을 vsc 내부에서 설치한 분들은 숨김폴더를 보이도록 설정하시고(웹서칭해보세요) 찾아야합니다
          그러면 웹창에 수업내용대로 감격스러운 4.0 이란 숫자를 볼 수 있으실겁니다. 화이팅!
        • 아기고래
          23년도에 듣기 시작하는 코린이 입니다.
          web1 에서 visual studio code 를 설치하고 그 안에서 웹서버 역할을 하는 live server 를 설치했는데 위의 영상에서 나온 wamp와는 다른 건가요? 아니면 같은 건가요?
          그리고 만약에 역할이 같을시 visual studio code(이하 vsc) 내에서 파이썬도 설치할 수 있는 것 같은데 vsc내에서 웹서버, 파이썬 둘 다 설치하고 이를 연동하는 방식으로 본 수업의 wamp와 파이썬 설치를 완전히 대체할 수 있는지 궁금합니다!
          감사합니다.
        • lazy_coder
          error.log에 "couldn't spawn child process: "이런 메세지가 뜨면 helloworld.py 첫번째 칸에 파일경로랑 python.exe를 적어주면 되요.

          참조링크 드립니다.
          https://breathtaking-life.tistory.com/62
        • scientist
          220729
        • 한승욱
          백슬래시가 안나오고 저는 \로만 나오는데 이게 경로 지정할때 될때가 있고 안될때가 있네요. 무엇이 문제인지 모르겠습니다ㅠㅠ 한영키를 눌러봐도 백슬래시는 안나오는데 혹시 방법이 있을까요?
        • labis98
          2022.02.18 좋은 강의 한번 더 들어요~~~!
        • pmxsg
          2022.02.03
        • LisKis
          22.01.19. 완료
          감사합니다. 좋은 강의 잘 들었습니다.
        • labis98
          좋은 강의 잘 들었습니다. ^^

          다른 분들 처럼 helloworld.py 파일을 아래와 같이 조치하니 정상적으로 결과가 출려되네요.
          as-is : #!python
          to-be : #!C:\Users\keehy\AppData\Local\Programs\Python\Python310\python.exe(각자의 경로)
        • Sansol Park
          자신의 컴퓨터 경로설정으로 입력하셔야 하는데,
          혹시 경로 설정을 잘못 하신 건 아니실까요?
          대화보기
          • 이슬
            그대로 실행했는데 에러도 안뜨고 값이 바뀌지도 않습니다..... 2시간동안 해매고 있는데 도와주실분 있나요..
          • cmd창을 열고 cd |bitnami|wampstack-7.4.25-0|apache2|htdoc| 입력을 했는데 cmd창에서 입력 결과로

            'Bitnami'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는
            배치 파일이 아닙니다. 라고 뜨는데 해결하는 방법 아시는 분 있으시나요..?
          • 다시마
            감사합니다!
            대화보기
            • 야옹스
              20211012 CGI 완료
            • 권홍석
              2021.9.21 완료
            • 2021.09.08 완료
            • 악동
              http.conf 파일을 메모장으로 열기 하시고 저장하기 누른다음에 닫고 다시 서버 껐다 켜보세요.
              대화보기
              • 묭구리
                컴터로파이썬
              • 밥상
                저도 경로 문제로 에러가 났는데, user\user\appaplication\program이라는 이상한 곳에 있어서 C:\드라이브 위치에다가 아예 다시 설치했습니다.
                그래서 결국 첫 줄에는 " #!C:\Python\Python.exe "을 입력했고 잘 되네요 ㅎㅎ

                이전에도 입력, 출력 관련해서 경로 문제가 많았는데, 새삼 프로그램에서 경로를 분명하게 하는 것이 중요한 것 같습니다.
                편하다고 user 폴더, 바탕화면 폴더를 막 썼는데, 오히려 독이 된 것 같았습니다. 이제 웬만한 건 바로 c: 에 넣고 실습은 폴더별로 잘 분류하고 해야겠습니다ㅎㅎㅎㅎ
                대화보기
                • 윤라프
                  너무 신기하네요ㅎㅎㅎㅎ
                  print("content-type:text/html; charset=UTF-8\n") 이렇게 헤더정보를 print했다고 출력되는게 신기하네요
                  print내에 지정하고 싶은 헤더정보를 넣고 출력하면 헤더정보를 보낸다라고 정도만 이해해도 되는걸까요
                  너무 신기해서 궁금하네요
                • 스문
                  감사합니다 ㅠㅜ
                  대화보기
                  • 취업기릿
                    Hcode 도움으로 바로 해결했습니다!!!
                    감사합니다ㅎㅎ
                  • 디아
                    127.0.0.1로 접속이 안돼요...사이트에서 연결을 거부했다고 나오네요...
                  • bitnami 재시작을 하니 apachi가 멈춰 버리네요 방법이 없을까요?
                  • 김성률
                    마지막 영상 마지막 부분에 사이트 리로드 하면 4.0이 나와야하는데 안나오네요 . 그 전까지는 다 됐습니다...

                    python.exe 경로로 바꾸니 됐네요 ㅜㅜ 아래 댓글분들 감사합니다.
                  • 초딩 개발자
                    2021/05/09
                  • 냥이
                    2021.05.06 완료
                  • 삐따기
                    127.0.0.1에 연결이 안되네요...
                    어떻게 해야하죠???
                    wamp는 방화벽을 문제로 제기하는데... 가르침을 주새요ㅠㅠ
                  • 저 역시 Hcode님이 알려준 대로 파이썬으로 가는 경로를 붙여줘야 겨우 되;는군요. 휴,,감사합니다.
                    #!C:\Users\philo\AppData\Local\Programs\Python\Python39\python.exe
                  • jeisyoon
                    2021.04.06 설치 및 연동 Window - OK

                    4시간 정도 헤메다가 성공하였습니다.
                    어렵네요 ..
                  • 박상헌
                    와 ㅠㅠ 감사합니다
                    여기에 덧붙이면 파일 위치 찾는법은 응용프로그램(뒤에 .exe로 끝나는 파이썬파일)을 우클릭후 속석 보시면 대상이라는 항목옆에 이 프로그램이 있는 위치가 나와요!!
                    대화보기
                    • 오징어
                      안녕하세요
                      vscode 에서 htdocs 폴더 연 후 index.html 내용을 수정 하고 저장을 눌렀는데 권한 부족으로 저장 실패가 뜨고
                      관리자로 다시 시도해도 User did not grant permission이 뜨네요...어떻게 해결해야 할까요...?
                    • Hcode
                      [client 127.0.0.1:64802] couldn't create child process: 720005: helloworld.py <<이와 같은 에러가 뜨시는분들은

                      영상에서 #!python <<이 부분을 실제 컴퓨터에 python.exe 가 설치되어있는 경로로 변경해주시면됩니다

                      #!C:\Users\name\AppData\Local\Programs\Python\Python39\python.exe

                      위에서 name 과 python39 이 부분을 경로에 맞게 변경하여주셔서 적용해보세요!
                    • Scia
                      다음날 실습하려고 다시 cmd 들어가서 하는데 되네요....?
                      그냥 재부팅하면 되는건지
                      아니면 전 원화(\) 나오는걸 백슬래쉬로 바꿔서 그 영향이 있는건지는 모르겠어요.
                      대화보기
                      • Scia
                        저도요!!!! 해결하고 싶은데 구글링 해도 모르겠네요;;;
                        그래서 그냥 파일 경로 찾아서 복사 붙여넣기 하고 있어요.
                        이 찝찝하게 넘어가는 느낌... 이 강의 듣는 사람들은 다 window 환경일 텐데, 뭐가 문제일까요...?

                        그래도 다른 건 끝까지 잘 실행이 되서 안도하며 일단 지나갑니다.
                        아시는 분 해결법 뙇 던져주시고 가셨으면 좋겠네요. ㅎㅅㅎ
                        대화보기
                        • 파이딴
                          SyntaxError: Non-UTF-8 code starting with '\\xed' in file C:\\Bitnami\\wampstack-8.0.2-0\\apache2\\htdocs\\index.py on line 32, but no encoding declared; see http://python.org......63/ for details\r: C:/Bitnami/wampstack-8.0.2-0/apache2/htdocs/index.py

                          이런 오류 나오는데 어떻게 해야되나요?

                          127.0.0.1/helloworld.py
                          에서는 웹브라우저에 4.0이 나오는데

                          127.0.0.1/index.py
                          에서는 Internal Server Error 가 뜨고 오류내용은 위와 같습니다
                        • 황현석
                          강의를 보고 따라하다가 2번째 영상 10분 40초대 과정에서 막혔습니다.
                          cmd창을 열고 cd|bitnami|wampstack-7.4.14-0|apache2|htdoc 입력을 했는데 cmd창에서 입력 결과로

                          'Bitnami'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는
                          배치 파일이 아닙니다.

                          가 자꾸 떠서 구글링을 통해 환경변수에도 추가해봤는데 잘 안됩니다ㅠㅠ 이 문제를 해결하신분이 계시다면 한번만 살려주세요 ㅠㅠ 부탁드립니다..
                        • jong
                          저는 wamp 서버를 stop 해버리면 재시작이 안 되어요 ㅠㅠ 저같은 오류 있으신 분 있나요
                        • 나비
                          아톰에서 helloworld.py 생성이 안되는 분 계신가요? operaton not permitted라고 계속 나오네요ㅠㅠ
                        • KimJY
                          나이스!
                        • 보라
                          python.exe 경로를 넣으니 잘 되네요. 감사합니다!
                        • night_eon
                          안녕하세요 저도 같은 오류로 고민을 했는데 제가 해결했던 방법은
                          #!D:\PYTHON\python.exe 이렇게 파이썬이 설치된 경로를 적어줬어요
                          강의 따라 #!python만 했을 때 오류가 나서 검색을 좀 했는데 파이썬 응용프로그램이 설치된 경로를 적어주면 된다고 나오더라구요 !! 꼭 해결 하셨으면 좋겠습니당 !!
                          대화보기
                          • 최고우수
                            helloworld.py 파일 첫번째 줄에
                            #!python 대신에 python.exe 파일이 있는 설치 경로로 수정하니 실행되네요..

                            저도 밑에 댓글보고 해결했어요! 똑같은 에러 해결했습니다!
                            대화보기