LoginSignup
0
0

More than 5 years have passed since last update.

lighttpdを起動するときに渡した環境変数をCGIから利用する

Last updated at Posted at 2018-12-11

シェルスクリプトでWebアプリケーションいけますよっていっても、実際にこんな感じで開発するといいみたいなプラクティスが古いまま(ローカルにApacheいれたりとか、まあ別にそれでもいいんだけど)なので、試してみたことを書き残しておこうと思います。

タイトルなんのこっちゃって感じですが、

HOGE=aaaa lighttpd -D -f lighttpd.conf

みたいな感じで渡した環境変数HOGEを、CGIスクリプト内で使用するためのlighttpdの設定についてです。
API_KEY=xxxxxxxx rails s みたいな感じの、現代的なWeb開発環境だとだいたいあるアレです。(語彙)

サンプルコードはこちら: https://github.com/miminashi/lighttpd_env_example

lighttpd.conf の設定

  • mod_setenvを有効化する
  • setenv.add-environmentに、CGIに渡したい環境変数を追加する
lighttpd.conf
server.modules += ( "mod_setenv" )
setenv.add-environment = ( "HOGE" => env.HOGE )

CGIのスクリプトの例

  • 普通に環境変数HOGEを使用できるようになっています
#!/bin/sh

printf 'Content-Type: text/plain; charset=UTF-8\r\n\r\n'
printf 'HOGE: %s\r\n' ${HOGE}

実行

$ brew install lighttpd
$ HOGE=helloworld lighttpd -D -f lighttpd.conf

動作確認

  • 当然ですが別のTerminalを開きます
  • 当然ですがブラウザから確認してもOK
$ curl http://localhost:3000/cgi-bin/hello.cgi
HOGE: helloworld

まとめ

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0