내 문서 루트는
/0/
cgi-bin 디렉토리가 없습니다.
이것은 내 아파치 가상 호스트입니다.
Listen *:80
DirectoryIndex 1
<VirtualHost *:80>
DocumentRoot /0
ServerName domain.tld
ServerAlias www.domain.tld
</VirtualHost>
내가 원하는 것은 이 디렉토리에 bash 스크립트를 배치하는 것입니다.
문서 루트는...
그 안에 나는 .. (test.sh)를 가질 것입니다
#!/bin/bash
echo "Content-type: text/html"
echo ""
echo "test"
그게 다야.
이 줄을 추가해야 할 것 같아요
/etc/sudoers
문서..
apache ALL=NOPASSWD:/0/test.sh
이 모든 것이 bash 스크립트와 python 스크립트를 통해 실제로 내 웹사이트를 실행할 수 있다는 것을 보장하기에 충분합니까?
이게 효과가 있다면..그런 건 무슨 소용이 있겠어요?
mod_wsgi and python for the web ?
test.sh도 실행 가능하게 만들어야 할 것 같아요
chmod +x test.sh
이것이 작동하고 문서 루트를 다음으로 설정하면
index.sh
Python을 웹 프레임워크로 사용하여 시간을 낭비하는 이유는 무엇입니까? 또는 Python 자체도 마찬가지입니다. bash의 웹 버전이 더 간단하고 따라서 더 빠르기 때문입니다. ?
답변1
<Directory "/0" >
파일 의 항목을 편집 httpd.conf
하고 다음을 추가합니다.
Options +ExecCGI
AddHandler cgi-script .sh
다음과 비슷한 내용이 나타나야 합니다.
<Directory "/0" >
...
Options +ExecCGI
AddHandler cgi-script .sh
...
</Directory>
서버를 다시 시작하세요.
# service httpd restart
모든 CGI 파일은 실행 가능해야 합니다( chmod +x <cgi file>
). 이 파일은 apache
사용자 및 그룹으로 실행 됩니다 apache
.
브라우저에서 다음을 가리킵니다.http://<name or IP>/test.sh
CGI는 각 요청이 새로운 프로세스(이 경우 Python 또는 bash)를 시작하므로 스크립트를 실행하는 가장 효율적인 방법은 아니지만 스크립트 구현을 더 쉽게 만듭니다. WSGI
기본 CGI 스크립트보다 Python을 실행하는 더 효율적인 방법입니다.