web-dev-qa-db-ja.com

Webサーバーからローカルシェルスクリプトを呼び出すにはどうすればよいですか?

Ubuntu 11を実行していて、GETまたはPOSTパラメーターを使用してローカルスクリプトを呼び出すことにより、httpリクエストに応答する単純なWebサーバーをセットアップしたいと思います。このスクリプト(既に作成されています)はいくつかの処理を実行しますこのファイルはURLで利用できるようにする必要があり、Webサーバーは別のサーバーにhttpリクエストを送信して、作成したファイルをダウンロードするように指示する必要があります。

これを設定するにはどうすればよいですか?私はLinuxの初心者ではありませんが、それをよく知っているとは言えません。

どのWebサーバーを使用する必要がありますか?スクリプトがローカルリソースにアクセスして問題のファイルを作成することを許可するにはどうすればよいですか?私はセキュリティなどにはあまり関心がありません。これは個人的な実験用です(関係するすべてのコンピューターを制御できます)。以前にApacheを使用したことがありますが、設定したことはありません。

どんな助けもいただければ幸いです。

11
Arjun

このチュートリアルは良さそうです ですが、少し簡単です。

Apacheをインストールしました。そうでない場合:Sudo apt-get install Apache2

cd /usr/lib/cgi-bin

# Make a file and let everyone execute it
Sudo touch test.sh && chmod a+x test.sh 

次に、いくつかのコードをファイルに入れます。例えば:

#!/bin/bash
# get today's date
OUTPUT="$(date)"
# You must add following two lines before
# outputting data to the web browser from Shell
# script
 echo "Content-type: text/html"
 echo ""
 echo "<html><head><title>Demo</title></head><body>"
 echo "Today is $OUTPUT <br>"
 echo "Current directory is $(pwd) <br>"
 echo "Shell Script name is $0"
 echo "</body></html>"

最後にブラウザを開いて http://localhost/cgi-bin/test.sh と入力します

すべてがうまくいけば(私にとってはそうだったように)、あなたは見るべきです...

今日は12月4日日曜日です...
現在のディレクトリは/ usr/lib/cgi-binシェルです
シェルスクリプト名は/usr/lib/cgi-bin/test.shです

15
Brigand