LoginSignup
0
0

More than 5 years have passed since last update.

Mac内蔵のApacheにシステム環境変数を反映する

Last updated at Posted at 2016-08-25

Mac OSXでApacheを使う場合、OS内蔵のApacheを使っていることが多いと思います。
今回はApache起動時に定義した環境変数を反映する方法を紹介します。

apachectrlによるApacheの管理

Mac OSXでApacheを使う場合、大半の方がapachectrlで起動/停止を行っていると思います。
Apacheの設定を変えずに使うのであれば、それでも問題ないのですが、今回のように起動時に環境変数を反映する場合には少し注意が必要です。
apachectrlの起動時に以下のファイルから環境変数を設定しています。

/System/Library/LaunchDaemons/org.apache.httpd.plist

しかしこのファイル見てわかる通り、rootdでしたか編集できないのです。。。

$ ls -lt /System/Library/LaunchDaemons/org.apache.httpd.plist
-rw-r--r--  1 root  wheel  554  8 23  2015 /System/Library/LaunchDaemons/org.apache.httpd.plist

sudoなど色々な権限を駆使しましたが、結局このファイルの変更は難しそうなので、違う方法を模索することに。

自作のシェルでのApacheの管理

そこで自作のシェルで以下を対応することにしました。

  • exportコマンド環境変数を設定
  • httpdコマンド実行

これであれば、割と自由に設定が可能です。

#!/bin/sh
export ACCESS_KEY_ID=*****************
export SECRET_KEY=****************************

HTTPD='/usr/sbin/httpd'
$HTTPD "$@"

ここでは「ACCESS_KEY_ID」と「SECRET_KEY」という二つの環境変数を設定しています。
シェルの実行方法は以下のような感じです。

# 起動
$sh myhttpd -k start
# 停止
$sh myhttpd -k stop

シェルの引数はhttpdの引数の仕様に合わせました。

まとめ

自前のインフラ管理の場合はapachectrlよりもシェルを実装した方が柔軟に対応できそうです。

関連リンク

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