PC では Becky! のようなスキンの Larry を
iPhone では RainLoop のような Elastic が使いたい。
使い分けたいよ。

同じユーザーで切替えれるような仕組みを見付けられなかったので、dovecot側で。
skin だけではなく、設定全部が分かれちゃうけど。

# pwd
/usr/local/etc/dovecot

# ack auth-passwdfile conf.d/10-auth.conf
!include auth-passwdfile.conf.ext

# cat users
user1:$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:1001:1001::/home/user1:/usr/local/bin/zsh:        <-- こっちはPC用
user1-mobile:$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:1001:1001::/home/user1:/usr/local/bin/zsh: <-- こっちはモバイル用

CentOS7 ベースの BlueOnyx 5209R の共用 apache 下で SpeedyCGI を使って PSGI を動かしたい。

# yum install --enablerepo=epel perl-CGI-SpeedyCG perl-Plack

# cat app.psgi
my $app = sub { [ 200, ["content-type", "text/plain"], [ "Hello @{[ rand ]}" ] ] };

# cat index.psgi
#!/usr/bin/speedy

use Plack::Handler::CGI;
use Plack::Loader;
my $app = Plack::Util::load_psgi("app.psgi");
Plack::Handler::CGI->new->run($app);

BlueOnyx は cgiwrap の仕組みがあるので、cgiであれば EUID 実行ユーザー がウェブ管理者のファイル所有者で実行される。
FastCGI も .htaccess で使えるのだけれど、apache ユーザーになってしまう。
PHP も mod_php DSO は同様に apache ユーザーになる。
PHP に関しては suPHP と FPM/FastCGI が選べるので、これだとウェブ管理者のユーザーで実行できる。
という訳で PHP 以外はウェブ管理者のユーザーで実行するには cgi しかないのだが、Perlに関しては SpeedyCGI なるものが存在して、EPEL から今でも入れられ、PSGIも高速に捌ける。。。

SpeedyCGI は root でなくともよいので、使いたい環境のバイナリを用意できれば使えるはず。

perl adv
perl adv