Apacheの設定反映後に、再起動するのが面倒だ。
再起動コマンド
sudo apachectl restart
たったこれだけなんだけど、ちょっと面倒だったりする
頻繁に設定を書き換えてrewrite 細かく調整してたり、cgi 設定してたり・・・
launchctl で自動再起動
PathをWatchして、自動再起動を仕込んでおく
plist 作成
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>biz.takuya.apache</string>
<key>ProgramArguments</key>
<array>
<string>/usr/sbin/apachectl</string>
<string>restart</string>
</array>
<key>onDemand</key>
<true/>
<key>StandardErrorPath</key>
<!-- <string>/dev/null</string>-->
<string>/tmp/apachectl.error.log.txt</string>
<key>StandardOutPath</key>
<!-- <string>/dev/null</string> -->
<string>/tmp/apachectl.stdout.log.txt</string>
<key>WatchPaths</key>
<array>
<string>/private/etc/apache2/</string>
<string>/private/etc/apache2/extra/</string>
<string>/private/etc/apache2/original/</string>
<string>/private/etc/apache2/original/extra/</string>
<string>/private/etc/apache2/other/</string>
<string>/private/etc/apache2/users/</string>
</array>
</dict>
</plist>
plist をコピー
rootの launchagents として設定を仕込んでおく
sudo su -l cp my.plist /Library/LaunchAgents/biz.takuya.apache.plist
登録
sudo su -l %cd /Library/LaunchAgents %launchctl load biz.takuya.apache.plist %launchctl list | grep takuya - 0 biz.takuya.apache
登録できたので、あとは設定書き込み後に、再起動するか監視
watch -dc -n pgrep httpd
これで、設定をアレコレ試すのがちょっとだけ楽になった。