.htaccess não está funcionando com o SVN

1

Eu tenho a configuração do SVN no meu servidor doméstico, estou tentando fazer o htaccess funcionar para que eu possa proteger com senha a pasta / var / www / html / svn / repos onde todo o meu código é mantido.

O arquivo subversion.conf tem esta aparência:

<Location /repos>
   DAV svn
   SVNPath /var/www/html/svn/repos

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

      AuthType Basic
      AuthBasicProvider file
      AuthName "Subversion repos"
      # AuthUserFile /etc/svn-auth-conf
      AuthUserFile /home/myname/passwordfile
      Require valid-user
   </LimitExcept>
</Location>

O arquivo de senha está no lugar e eu adicionei um nome de usuário e senha. Eu confirmei seu funcionamento colocando uma pasta de teste no diretório html (/var/www/html/test/index.html), eu também adicionei o arquivo .htaccess, então quando eu ligar o apache e tentar acessar http://IP_ADDRESS_OF_HOME_SERVER/test/index.html , me pedem um nome de usuário e senha.

Por algum motivo, não é solicitado o nome de usuário e a senha ao tentar acessar http://IP_ADDRESS_OF_HOME_SERVER/repos/

Qualquer ajuda apreciada.

    
por Stephen 18.10.2013 / 11:08

2 respostas

1

Quando você configura o acesso ao SVN dessa forma, o URL http://IP_ADRESS_OF_HOME_SERVER/repos/ aponta para uma pasta virtual. Devido a isso, o servidor da Web não saberá onde procurar o arquivo .htaccess para esse endereço.

Você incluiu um LimitExcept em sua configuração e isso diz ao Apache para não pedir um nome de usuário e senha válidos para simplesmente visualizar o repositório.

Por causa disso, você deve configurar o acesso ao repositório como você já possui, com uma exceção, você faz isso para todas as solicitações, não apenas para gravações. O arquivo .htaccess é para os arquivos hospedados no seu servidor e não é usado neste caso, já que os caminhos SVN são virtuais .

Sua configuração deve ser algo assim:

<Location /repos>
   DAV svn
   SVNPath /var/www/html/svn/repos

   # Require SSL connection for password protection.
   # SSLRequireSSL

   #Require all access to log in
   AuthType Basic
   AuthBasicProvider file
   AuthName "Subversion repos"
   # AuthUserFile /etc/svn-auth-conf
   AuthUserFile /home/myname/passwordfile
   Require valid-user
</Location>
    
por 24.10.2013 / 15:42
0

Oyvind está no caminho certo, ele só perdeu a diretiva NameVirtualHost por deixar o SVN manipular o pedido com base no IP e solicitar um usuário válido.

Aqui está um exemplo: (substitua 127.0.0.1 pelo seu ip e 80 pela sua porta)

NameVirtualHost 127.0.0.1:80
<VirtualHost your.svnhost.tld:80>
    ServerName your.svnhost.tld
    <Location /repos>
    DAV svn
    SVNPath /your/svn/path
    AuthType Basic
    AuthUserFile /your/svn-auth-file
    Require valid-user
    </Location>
</VirtualHost>
    
por 27.10.2013 / 07:01

Tags