Perl入門ゼミ

テキスト処理、Linuxサーバー管理、Web開発ならPerl
  1. Perl
  2. Mojolicious

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 アプリケーションのパス
  • Perlとはテキスト処理の記述性とパフォーマンスに優れ、正規表現が言語に組み込まれているプログラミング言語です。
  • Linuxサーバーでのフィルタリングプログラム、複数行の文字列を処理、ファイル内容の検索・置換などが得意
  • Perlはgitopensslなど広く普及したUnix/Linuxミドルウェアの補助ツールとして採用実績あり。後方互換性とポータビリティの高さがひとつの理由と推測。
  • 大量のテキストを扱うWeb開発も得意。ロングテールSEOを意識したWebサイト、アドテクやソーシャルゲームでの50ms以内のJSONの生成など。