fcgid, suexec e userdir

2

Estou tentando configurar instâncias trac por usuário, usando fcgid. O problema é que o trac requer acesso rw à instância trac, então eu preciso que o processo fcgi seja executado sob o respectivo usuário.

Eu tenho os módulos suexec, fcgid e userdir do Apache instalados (no Debian). Eu coloquei a diretiva vhost

ScriptAliasMatch /~(.*)/trac /home/$1/public_html/trac.fcgi

Isso funciona na medida em que trac.fcgi é executado, mas infelizmente, sob o usuário www-data. Como posso fazer o fcgid lançá-lo sob o usuário $ 1?

    
por Martin v. Löwis 10.01.2011 / 08:59

3 respostas

2

Estou usando os RPMs IUS da Rackspace e o suexec veio compilado e configurado por padrão.

Aqui estão as partes pertinentes da minha configuração do mod_fcgid:

LoadModule fcgid_module modules/mod_fcgid.so 
AddHandler fcgid-script fcg fcgi fpl php 
DefaultInitEnv PHPRC  "/etc/"
FCGIWrapper /usr/bin/php-cgi .php

Sugiro remover a diretiva "ScriptAliasMatch" e usar a diretiva AddHandler globalmente ou na seção UserDir. Sob minha configuração, qualquer pasta UserDir (ou seja, ~ / public_html) usaria automaticamente o suexec para o usuário em questão.

    
por 17.01.2011 / 16:08
2

O Trac é escrito em Python e suporta rodar em mod_wsgi (por um item no FAQ), então eu derrubaria várias dessas partes móveis e mudaria para o fantástico mod_wsgi, que suporta a especificação de um usuário para que um script seja executado como . Eu uso essa funcionalidade para outro projeto e funciona bem.

Checando os documentos oficiais do mod_wsgi, para mostrar como isso é feito, vejo que os documentos incluem uma página sobre a integração do Trac, que tem muitos exemplos, incluindo a especificação de usuários específicos para serem executados. Então, sua melhor aposta é apenas para ler:

link

    
por 12.01.2011 / 10:03
0

Com o mod_fastcgi, você pode usar o seguinte para ativar a execução do script FastCGI no Suexec:

FastCgiSuexec '/usr/lib/apache2/suexec'

O caminho para o suexec pode precisar ser modificado, este exemplo vem de um sistema Debian.

    
por 13.01.2011 / 02:40