Para esse artigo usei
Oracle Linux, porém ele pode ser seguido para diversas distribuições com as devidas adaptações (nome de pacote, localização de arquivos e diretórios podem ser diferentes).
Primeiro de tudo, vamos aos pacotes necessários.
- Subversion server (subversion.x86_64) - servidor do SVN
- Apache2 (httpd.x86_64) - servidor web que será necessário para configurar o acesso remoto ao SVN
- Mod_dav (mod_dav_svn.x86_64) - módulo do Apache para uso com o Subversion server
- Mod_authz_ldap (mod_authz_ldap.x86_64) - módulo para permitir autenticação no Apache através do LDAP
- If.SVNAdmin 1.6.2 - ferramenta web para administrar o Subversion (download em http://svnadmin.insanefactory.com/)
- PHP - necessário para o uso do iF.SVNAdmin - necessária no mínimo a versão 5.3 do PHP
- LDAP PHP (php-ldap.x86_64) - módulo para o uso de LDAP no PHP (necessário para o iF.SVNAdmin)
Todos os pacotes - com exceção do iF.SVNAdmin - podem ser obtidos e instalados através do gerenciador de pacotes do Oracle Linux (yum) ou através do gerenciador de pacotes que preferir, por isso apenas irei falar nesse artigo sobre a instalação do iF.SVNAdmin.
Instalação do iF.SVNAdmin
Antes de instalar o
iF.SVNAdmin, o ambiente precisa ser preparado.
Crie a pasta /opt/repositorio (ou outra de sua preferência), esta pasta irá conter todos os repositórios do Subversion (SVN) que forem criados.
Crie dois arquivos dentro da pasta /opt/repositorio com o comando touch.
- authz - guardará as permissões de cada usuário e grupo do SVN
- authz_users - irá conter todos os usuários e senhas de quem deverá ter acesso ao SVN (senhas codificadas)
Coloque o usuário do Apache como dono e grupo desta pasta e todos os seus arquivos:
# chown apache:apache /opt/repositorio/ -R
Ou:
# chown wwwrun:www /opt/repositorio/ -R # dependendo da distro
Faça download do pacote do iF.SVNAdmin no site:
Descompacte o pacote em /opt (ou outro local de sua preferência) com o comando:
# unzip -x iF.SVNAdmin-stable-1.6.2.zip
Para facilitar a configuração, crie um link simbólico:
# ln -s iF.SVNAdmin-stable-1.6.2/ svnadmin
Coloque o usuário do Apache como dono e grupo desta pasta e todos os seus arquivos:
# chown apache:apache /opt/svnadmin/ -R
Agora o Apache precisa ser configurado para acessar o iF.SVNAdmin via browser.
Crie um arquivo .conf em /etc/httpd/conf.d com o seguinte conteúdo:
Alias /ifsvnadmin "/opt/svnadmin/"
<Directory "/opt/svnadmin">
Options Indexes
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Agora basta iniciar ou reiniciar o Apache.
Obs.: certifique-se que o Apache carregou os módulos do PHP e do ldap ("
apachectl -M" ou "
a2enmod -l").