- blogs:
- cles::blog
2010/11/02

shスクリプトをCGIとして呼び出せるようにする

ちょっとした運用向けのshスクリプトをCGIとしてHTTP経由で起動できるようにすると便利なことがあります。
しかしながら、単純に下記のように .htaccess などで.shをCGIとして実行できるように設定しただけでは Internal Server Error になってしまいます。
Options +ExecCGI
AddHandler cgi-script .cgi .sh
そこで、下記のようにHTTPヘッダを吐くようにすると、CGIとして正常実行できるようになります。
また、環境変数を上手く使うことで、Apache以外から起動されたときには普通のshスクリプトとすることができます。
#!/bin/bash
if [ -n "$HTTP_HOST" ] ; then
echo -e "Content-Type: text/html; charset=UTF-8\r\nPragma: no-cache\r\nCache-Control: no-cache, must-revalidate\r\nExpires: Thu, 01 Dec 1994 16:00:00 GMT\r\n\r\n"
fi
# ここに処理を書く
上記の環境変数の応用で引数を取るようにすることもできますが、セキュリティ的な問題を引き起こしやすいので、あくまで誰が起動しても問題がない機能を簡易的に実装することに留めるべきかなと思います。
トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/3889
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
サイト内検索
検索ワードランキング
へぇが多いエントリ
閲覧数が多いエントリ
1 . アーロンチェアのポスチャーフィットを修理(114459)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(112974)
3 . 年次の人間ドックへ(112398)
4 . 2023 年分の確定申告完了!(1つめ)(111965)
5 . 三菱鉛筆がラミーを買収(111838)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(112974)
3 . 年次の人間ドックへ(112398)
4 . 2023 年分の確定申告完了!(1つめ)(111965)
5 . 三菱鉛筆がラミーを買収(111838)
cles::blogについて
Referrers