quinta-feira, 9 de junho de 2011

Acessando o Subversion via Apache autenticado com o MySQL

A internet está repleta de artigos ensinando como fazer para visualizar seu repostório SVN. Alguns deles que utilizei recentemente para colocar este recurso para funcionar foi o do howtoforge. Também foi de grande ajuda a documentação do mod_dav_svn.

Mas para autenticar via MySQL, foi necessário utilizar o mod_auth_mysql. As criptografias suportadas são Texto puro (none), unix crypt (crypt), MySQL Password, MD5, AES e SHA1.

Agora vamos à cereja do bolo:

<Location /repos>
        DAV svn
        SVNPath /svn/repos
        AuthType Basic
        AuthName "Repositorio"

        AuthMySQLEnable on
        AuthMySQLAuthoritative on
        AuthMySQLHost "127.0.0.1"
        AuthMySQLDB "MyDB"
        AuthMySQLUser "SVN"
        AuthMySQLPassword "Minha Senha para a conta SVN"
        AuthMySQLUserTable "Usuarios"
        AuthMySQLUserCondition " qualquer condição que você deseje "
        AuthMySQLNameField "<campo contendo o nome do usuário>"
        AuthMySQLPasswordField "<campo contendo a senha>"
        AuthMySQLNoPasswd off
        AuthMySQLPwEncryption MD5
       AuthzSVNAccessFile /etc/httpd/conf.d/svn-acl-conf.txt

        Require valid-user

</Location>
 No meu caso as senhas estão gravadas em MD5.