Confusão no SUEXEC e no DOCROOT

3

Eu continuo correndo em um problema com o suexec, onde diz que o script cgi não está no docroot.

Eu recebo este erro:

"[2012-05-21 04:53:02]: command not in docroot (/apps/dctools/www/cgi-bin/test.cgi)"

Eu tenho um link simbólico para onde estão os arquivos cgi. Os links simbólicos são um problema com o suexec?

Usando a configuração do host virtual.

apache docroot:  /var/www/html
suexec docroot: /var/www

configuração do host virtual

<VirtualHost 10.1.1.1:80>
     ServerAdmin [email protected]
     DocumentRoot /var/www/html/dctools
     ServerName dctools.nowhere.com
     ErrorLog logs/dctools.nowhere.com-error_log
     CustomLog logs/dctools.nowhere.com-access_log common
     SuexecUserGroup me white
     ScriptAlias /cgi-bin/ "/var/www/cgi-bin/dctools/"
     <Directory "/var/www/dctools/cgi-bin">
       AllowOverride None
       Options None
       Options FollowSymlinks
       Order allow,deny
       Allow from all
     </Directory>
</VirtualHost>

configuração do symlink

-sh-3.2$ pwd
/var/www/html

-sh-3.2$ ls -l
lrwxrwxrwx 1 root root 17 May 14 21:06 dctools -> /apps/dctools/www

-sh-3.2$ pwd
/var/www/cgi-bin

-sh-3.2$ ls -l
lrwxrwxrwx 1 root     root 21 May 14 21:47 dctools -> /apps/dctools/cgi-bin
    
por user770395 21.05.2012 / 07:04

1 resposta

0

A localização real do arquivo, não o symlink, é o que determina se suexec irá executá-lo. Essa configuração é compilada em suexec e, para alterar, seria necessário recompilá-la. Por padrão, seria em /var/www que você já mencionou é sua configuração. Isso significa que você precisaria recompilar suexec para permitir que /app fosse a raiz aceita para suexec ou você precisaria mover / copiar os arquivos reais dentro da raiz suexec configurada.

    
por 25.05.2012 / 08:29