Existem muitas configurações para o svn, aqui algumas instruções breves para obter um repositório svn básico disponível em http.
- Instalar os pacotes necessários:
apt-get install subversion apache2 libapache2-svn
- Crie uma estrutura de diretórios:
mkdir -p /var/svn/repos/
- Crie um repositório:
-
cd /var/svn/repos/
-
svnadmin create --fs-type fsfs <your-repository>
-
- Agora crie seu Project-Struckture para importar no repositório:
-
mkdir -p /tmp/myproject/trunk /tmp/myproject/tags /tmp/myproject/branches
-
- Importe o projeto para o repositório:
-
svn import /tmp/myproject file:///var/svn/repos/<your-repository> -m "initial import"
-
- Tornar acessível por http:
-
cd /etc/apache2/sites-available
-
touch subversion.conf
-
vim subversion.conf
-
Agora edite o arquivo vazio com esta configuração:
NameVirtualHost *:80
<VirtualHost *:80>
<Location /svn>
ErrorDocument 404 default
DAV svn
SVNParentPath /var/svn/repos
SVNListParentPath off
Require valid-user
AuthType Basic
AuthName "subversion access"
AuthUserFile /var/svn/.htpasswd
AuthzSVNAccessFile /var/svn/authz
</Location>
</VirtualHost>
- ative o módulo dav_svn para o apache:
a2enmod dav_svn
- ative o módulo authz_svn para o apache:
a2enmod authz_svn
- ativar a configuração do VHost:
a2ensite subversion.conf
- agora reinicie o servidor da Web:
/etc/init.d/apache2 restart
- Crie um htpasswd:
htpasswd -c /var/svn/.htpasswd user
- Crie o arquivo de controle de acesso para o repositório:
touch /var/svn/authz
- edite o arquivo authz vazio:
vim /var/svn/authz
- Conceder direitos de leitura / gravação para o usuário:
[seu-repositório: /]
user = rw
Vamos tentar verificar o repo em http: svn checkout http://your-server/svn/your-repository