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 アプリケーションのパス

関連情報