rootユーザーからMojoliciousアプリケーションを管理する方法
一般的にはMojoliciousのアプリケーションは、一般ユーザーで作成して、hypnotoadコマンドを使ってデプロイすると思います。
つまりhypnotoadコマンドは、通常は、一般ユーザーで実行する必要があるということですね。でもrootから管理したいという要望はでてくるものです。一般ユーザーになってから実行するのだと、自動化ができないということも多いと思います。
またperlbrewを使っている場合などは、rootから実行するとデフォルトのPerlを使ってしまうということも起こりますし、root権限で実行されるという問題も起こります。
設定ファイルでuserとgroupを設定する
root権限で実行したくはないので、hypnotoadの設定ファイルに、userとgroupを設定しましょう。こうすると、hypnotoadで実行される子プロセスが、ユーザー権限で動くことができます。
[hypnotoad]
user=kimoto
group=kimoto
perlbrewを使っている場合はPATHを設定する
perlbrewを使っている場合は、ユーザーのperlがrootからは見えませんのでPATH環境変数を設定する必要があります。ですので、アプリケーションをシェルスクリプトでくるんで実行する必要があります。
#!/bin/sh PATH="perlのパス:$PATH" hypnotoad アプリケーションのパス