私のドキュメントルートは
/0/
cgi-binディレクトリがありません。
これは私のApache仮想ホストです。
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をWebフレームワークとして使用して時間を無駄にするのはなぜですか?あるいは、Python自体も同様です。これはbashのWebバージョンがより簡単で、したがってより速いからです。 ?
答え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を実行するより効率的な方法です。