Terminei de instalar o servidor, dos meus freelances, com o Subversion. E para ter certeza de que não vou esquecer como fazer isso, estou escrevendo o que eu fiz dos dois tutoriais que eu segui.
- Instalar o Ubuntu Server sem selecionar as opções de LAMP ou DNS Server
- No meu caso, que tem um HD de 40GB, dividi as partições da seguinte forma:
- 255MB, swap
- 05GB, /
- 04GB, /usr
- 10GB, /srv
- 20GB, /home
A primeira informação é o tamanho da partição e a segunda o ponto de montagem. Tirando a partição swap, estou usando o sistema de arquivos EXT3 em todas elas.
- Instalar o Apache e o SVN:
- sudo apt-get install apache2 subversion libapache2-svn
- Criar o diretório onde ficarão os repositórios do SVN:
- sudo mkdir /srv/svn
- Criar o repositório. Aqui seria um bom momento para restaurar o backup, quando for o caso:
- sudo svnadmin create /srv/svn/{repositorio}
- Dar acesso ao Apache para esses diretórios:
- sudo chown -R www-data:www-data /srv/svn
- Configurar o módulo webdav do subversion
- sudo vim /etc/apache2/mods-enabled/dav_svn.conf
- Descomentar a tag <Location /svn>. No início e no fim do arquivo.
- Descomentar a opção DAV svn
- Descomentar a opção SVNParentPath /var/lib/svn e mudar o caminho para a localização do repositório: /srv/svn. Foi escolhido essa ao invés da SVNPath para termos mais de um repositório nesta mesma pasta.
- Descomentar a opção AuthzSVNAccessFile /etc/apache2/dav_svn.authz. Para habilitar o controle de acesso aos projetos usando o arquivo informado. Mais informação sobre como criar o arquivo podem ser vistas no livro vermelho do Subversion, na seção Per-Directory Access Control. Infelizmente, na versão em português este capítulo ainda não foi traduzido.
- Descomentar, para habilitar a autenticação, as três linhas:
- AuthType Basic
- AuthName “Subversion Repository”
- AuthUserFile /etc/apache2/dav_svn.passwd
- Adicione a linha: Require valid-user
- Salve o arquivo. Para isso, aperte a tecla ESC digite “:wq” sem as aspas e pressione enter
- Crie um usuário para acessr o SVN:
- sudo htpasswd -cm /etc/apache2/dav_svn.passwd <username>
- O parâmetro -c só é necessário para o primeiro usuário, pois é usado para criar o arquivo. Para os seguintes apenas o -m resolve, que é usado para criptografar a senha com o MD5.
- Reiniciar o apache
- sudo /etc/init.d/apache2 restart
Estou querendo fazer melhorias como:
- Adicionar o suporte ao SSL;
- Colocar o controle de autorização Usar um servidor LDAP para controlar as permissões de acesso aos projetos do Subversion;
- Fazer um script que execute tudo isso.
Alguém teria alguma sugestão ou correção para esse tutorial ou para o script?
Fontes:
- [1] http://www.lostechies.com/blogs/jason_meridth/archive/2007/05/01/installing-subversion-on-ubuntu-7-04-feisty-fawn-server.aspx
- [2] http://ariejan.net/2006/12/01/how-to-setup-a-ubuntu-development-server-part-1/
- [3] http://trac.edgewall.org/wiki/TracOnUbuntu
- http://alephzarro.com/blog/2007/01/07/installation-of-subversion-on-ubuntu-with-apache-ssl-and-basicauth/
Escrito por ACdeSouza
Escrito por ACdeSouza