Instalação do Subversion no Ubuntu 7.04 – Feisty Fawn

Agosto 8, 2007

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.

  1. Instalar o Ubuntu Server sem selecionar as opções de LAMP ou DNS Server
  2. 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.

  3. Instalar o Apache e o SVN:
    • sudo apt-get install apache2 subversion libapache2-svn
  4. Criar o diretório onde ficarão os repositórios do SVN:
    • sudo mkdir /srv/svn
  5. Criar o repositório. Aqui seria um bom momento para restaurar o backup, quando for o caso:
    • sudo svnadmin create /srv/svn/{repositorio}
  6. Dar acesso ao Apache para esses diretórios:
    • sudo chown -R www-data:www-data /srv/svn
  7. Configurar o módulo webdav do subversion
    1. sudo vim /etc/apache2/mods-enabled/dav_svn.conf
    2. Descomentar a tag <Location /svn>. No início e no fim do arquivo.
    3. Descomentar a opção DAV svn
    4. 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.
    5. 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.
    6. Descomentar, para habilitar a autenticação, as três linhas:
      1. AuthType Basic
      2. AuthName “Subversion Repository”
      3. AuthUserFile /etc/apache2/dav_svn.passwd
      4. Adicione a linha: Require valid-user
      5. Salve o arquivo. Para isso, aperte a tecla ESC digite “:wq” sem as aspas e pressione enter
  8. 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.
  9. Reiniciar o apache
    • sudo /etc/init.d/apache2 restart

Estou querendo fazer melhorias como:

Alguém teria alguma sugestão ou correção para esse tutorial ou para o script?

Fontes:


Shell-Script para backup automático dos repositórios do Subversion

Agosto 6, 2007

Fiz um script para backup dos repositórios do Subversion.

Este script está sendo usado no Ubuntu Linux Server versão 6.10 7.04(atualizei o servidor) , mas deve funcionar na maioria das outras distros. Mesmos as que não derivam o Debian.

Para usá-lo siga os seguintes passos:

  1. Copie o script para o servidor;
  2. Configure com os diretórios de sua preferência. Isso é feito modificando as variáveis:
    1. SVN_ROOT_REPOS: diretório onde estão os repositórios do SVN;
    2. BACKUP_PATH: onde será criado os arquivos de backup.
  3. Dê permissão de execução para o scrip:
    1. chmod +x svn_backup.sh

Como melhorias que eu gostaria de adicionar:

  • Leonardo: Apagar os arquivos de dump depois que eles forem compactados. Ok
  • Garantir que somente os arquivos de dump serão gravados no zip. Ok
  • Agendar o script no cron;
  • Copiar o arquivo zipado para outro servidor;
  • Gerar um Hash MD5 para o arquivo de backup e enviar junto do arquivo;
  • Testar o arquivo recebido usando o Hash MD5.

Vocês teriam alguma sugestão? Outra funcionalidade que eu não tenha pensado? Uma forma de fazer as mesmas coisas mais facilmente?

Fontes:

P.S.: Como o WordPress não deixa eu subir arquivos .sh coloquei a extensão “doc”.

UPDATE: Saiu no BR-Linux um post com um script, em Python, para backup do Subversion e Trac.