O Apache no CentOS pode conter um repositório Subversion localizado fora da árvore de diretórios raiz do documento?

1

Se sim, como?

Isso está relacionado a Pergunta 43805 . Se o repositório estiver corretamente chmod ed, mas fora da árvore de diretórios do documento, o Apache reclama que ele não pode acessar o arquivo format na raiz do repositório. Se o repositório estiver em algum lugar na árvore de diretórios raiz do documento, tudo funciona.

    
por Hank Gay 22.07.2009 / 16:19

2 respostas

4

É certamente possível, eu tenho uma configuração semelhante a David (a minha é a configuração padrão para o Centos):

DocumentRoot /var/www/html/

com o seguinte no meu arquivo /etc/httpd/conf.d/subversion.conf (menos comentários):

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

<Location /svn>
  DAV svn
  SVNParentPath /var/www/svn

  # Limit write permission to list of valid users.
  <LimitExcept GET PROPFIND OPTIONS REPORT>
     # Require SSL connection for password protection.
     # SSLRequireSSL

     AuthType Basic
     AuthName "Subversion Repository"
     AuthUserFile /etc/svn-auth-file
     Require valid-user
  </LimitExcept>
</Location>

Você tem o SELinux em Execução? Pode ser necessário definir corretamente o contexto dos arquivos em sua localização / var / www / svn.

O comando sestatus mostrará se você está no modo Forçando ou não. Você pode (temporariamente) usar setenforce 0 para passar de Impingir para Permissivo e tentar novamente ver se esse é o problema.

Você deseja que o rótulo do arquivo de formato seja system_u:object_r:httpd_sys_content_t:s0 (use ls -Z para ver os rótulos do SELinux para arquivos). Você pode consertá-lo usando restorecon -R /var/www/svn .

Para mais informações sobre o SELinux, eu o encaminho para o Guia do Usuário do Fedora SELinux

    
por 22.07.2009 / 16:41
1

Isso está perfeitamente bem. Você define o caminho usando as opções SVNPath ou SVNParentPath. Você deve ter esses arquivos fora da raiz do documento, pois eles não devem ser acessados dessa maneira.

Temos:

DocumentRoot /var/www/svn/ 

<Location /svn>
    SVNParentPath /var/svn
    DAV svn
</Location>
    
por 22.07.2009 / 16:30