컴퓨터의 제어 방법
GUI VS Command Line Interface (CLI) 방식 두가지가 있다.
cd : change directory
자신의 홈 directory는 ~ 표시
ls 파일목록 보기 ls -al 파일목록 자세히보기
mk make의 약자
dir 디렉토리의 약자
ex) mkdir 폴더이름 (폴더생성)
cd/ 가고자 하는 명칭(자동완성은 tap키)
sudo 터미널에서 관리자 권한실행
ex) sudo chmod(권한 변경) a(모든사용자에게)+x(실행권한)
하지만 실행권한을 사용자에게 주더라도 운영체제는 터미널에서 실행한 파일이 어떤 프로그램으로 실행하는지 모르기 때문에 내용만 불러올 수 있다.
이 문제를 해결하려면 파이썬 프로그램 상단에 파이썬 파일경로를 저장해야한다.
ex)#!/Library/Frameworks/Python.framework/Versions/3.8/bin/python3
만약 이 프로그램 파일을 다른 컴퓨터로 옴기거나 파이썬의 버전이 업데이트된 경우 사용이 불가능하므로 코드를 수정해야한다.
ex) #!/usr/bin/env python3(mac os,위닉스 계열만 가능)
env의 프로그램으로 python3 위치를 검색하여 실행하는 기능
- apache/conf/httpd.conf apche의 설정파일 수정
LoadModule cgid_module modules/mod_cgid.so (#제거)
- DocumentRoot의 Directory 수정 (사용자 요청이 있을 때 DocumentRoot 경로에 있는 디렉토리에서 찾아 실행하라는 명령)
<Files *.py> // 실행하는 경로 중에 확장자가 py인 파일은
Options ExecCGI //cgi 기능을 활성 시킨 후
AddHandler cgi-script .py // cgi로써 실행하라- 웹 서버 재 실행
에러 발생시 log/error_log에서 확인
cgi 실행 시 #!/usr/bin/env python3 로는 실행프로그램을 찾을 수 없어
#!/Library/Frameworks/Python.framework/Versions/3.8/bin/python3 이 코드를 상단에 넣어 실행한다.
malformed header from script : Bad header
이 에러코드는 Response header의 content-type이 맞지 않는 경우 발생
print("content-type:text/html; charset=utf-8\n") 코드를 상단 밑에 작성하여 content-type을 나타내 준다.
drwxr-xr-x 실행권한이 있는 코드
-rw-r--r-- 실행권한이 없는 코드
만약 실행권한이 없는 경우에 웹서버 전송 시 Permission denied 오류 발생
실행권한 코드 확인 필수.