Apache Subversion (conhecido comumente como SVN) é um sistema de controle de versão de código aberto muito popular. Um sistema de controle de versão permite gravar alterações em um arquivo ou conjunto de arquivos durante um período de tempo para que você possa recuperar versões específicas quando houver necessidade.
Para ter controle de versão para o seu projeto, você primeiro precisa instale o servidor SVN em seu Ubuntu máquina.
Instalação do servidor SVN no Ubuntu 18.04 LTS
Aqui vamos instalar e configurar o Apache subversion no Ubuntu 18.04 LTS.
Passo 1. Instale o Apache
Antes de prosseguirmos com a instalação, vamos primeiro atualizar o repositório.
sudo apt-get update
sudo apt-get install apache2
Verifique o status do Apache.
sudo systemctl status apache2
Se o serviço ainda não foi iniciado, então .inicie o Apache.
sudo systemctl start apache2
Habilitar Apache na inicialização do sistema.
sudo systemctl enable apache2
Verifique a instalação do Apache. Basta abrir seu navegador da web e digitar o IP do servidor da web ou nome de host. Se você pode ver a página padrão do Apache, a instalação do Apache foi bem-sucedida.
Passo 2. Instale o Apache Subversion
Instale o subversion e os pacotes necessários
sudo apt-get install subversion libapache2-mod-svn
Após a instalação, ele habilita automaticamente os módulos SVN necessários (dav_module, dav_svn_module, authz_svn_module).
Liste os módulos habilitados
sudo apachectl -M
Se os módulos svn não estiverem habilitados. execute os comandos abaixo e habilite-os
sudo a2enmod dav
sudo a2enmod dav_svn
sudo a2enmod authz_svn
Depois de habilitar esses módulos, precisamos reiniciar o serviço Apache.
sudo service apache2 restart
etapa 3. Configurar Apache Subversion
Agora vamos criar o repositório SVN. Aqui usamos o diretório “/ opt” para criar nosso repositório.
Criar diretório svn.
sudo mkdir -p / opt / svn
Criar repositório svn. Aqui, criamos um repositório chamado “fosslinuxrepo”
sudo svnadmin create / opt / svn / fosslinuxrepo
Alterar a propriedade do repositório.
sudo chown -R www-data: www-data / opt / svn / fosslinuxrepo /
Alterando as permissões do repositório.
sudo chmod -R 775 / opt / svn / fosslinuxrepo
Adicionar usuários Subversion. Aqui, criamos um arquivo de senha no diretório “/ etc”.
sudo htpasswd -cm / etc / svn-auth-users fosslinux
Crie o segundo usuário.
sudo htpasswd -m / etc / svn-auth-users fosslinux2
Crie um arquivo de host virtual Apache para SVN- para fazer isso, primeiro precisamos mudar o diretório para “/ etc / apache2 / sites-available /”
cd / etc / apache2 / sites-available /
Crie um arquivo host virtual e aqui criamos um arquivo chamado “fosslinuxsvn.conf ”.
sudo vim fosslinuxsvn.conf
Adicionar as seguintes linhas ao arquivo.
Nome do servidor svn.fosslinux.com ServerAlias svn.fosslinux.com DAV svn SVNParentPath / opt / svn AuthType Basic AuthName "Subversion Repository" AuthUserFile / etc / svn-auth-users Requer usuário válido ErrorLog $ APACHE_LOG_DIR / svn.fosslinux.com-erro.log CustomLog $ APACHE_LOG_DIR / svn.fosslinux.com-acesso.log combinado
Alterar “svn.fosslinux.com ”para o seu nome de host.
Salve e saia do arquivo.
Desativar arquivo host virtual padrão.
sudo a2dissite 000-default.conf
Habilitar arquivo host virtual recém-criado.
sudo a2ensite fosslinuxsvn.conf
Verifique a sintaxe do apache.
sudo apachectl -t
Em seguida, reinicie o Apache.
sudo systemctl restart apache2
Passo 4. Teste o Apache Subversion configurado
Abra o navegador da web e digite repo URL e pressione Enter.
http: // svn.fosslinux.com / svn / fosslinuxrepo /
Substitua sv.fosslinux.com com seu nome de host.
Quando você obter a tela pop-up de autenticação, digite o nome de usuário e a senha já criados para acessar o repositório svn.
Agora você pode ver o repositório criado.
Vamos agora criar um projeto chamado “RnD_works” dentro do repositório.
arquivo svn mkdir: /// opt / svn / fosslinuxrepo / RnD_works -m "repositório RnD_works adicionado"
arquivo svn mkdir: /// opt / svn / fosslinuxrepo / RnD_works / trunk -m "adicionado repositório de tronco RnD_works"
svn mkdir file: /// opt / svn / fosslinuxrepo / RnD_works / branches -m "adicionado repositório de branches RnD_works"
arquivo svn mkdir: /// opt / svn / fosslinuxrepo / RnD_works / tags -m "repositório de tags RnD_works adicionado"
Vamos verificar se este novo projeto pode ser visualizado dentro do repositório.
Clique e abra “RnD_works”
Se você deseja deletar um projeto criado você pode usar o comando abaixo para deletá-lo.
svn delete file: /// opt / svn / fosslinuxrepo / RnD_works -m "delete RnD_works repository"
Etapa 5. Agendar backup do repositório
Crie uma pasta de backup.
sudo mkdir -p / etc / backcups
Mudar usuário para usuário root.
sudo su -
Editar crontab.
crontab -e
No comando a seguir, agendamos svn backup midnight todos os dias.
0 0 * * * svnadmin dump / opt / svn / fosslinuxrepo> / etc / backcups / svnbackups - $ (data +% Y% m% d).jogar fora
Em seguida, salve e saia.
Etapa 6. Restaurar Repositório
Se você precisa restaurar o repositório svn do arquivo de backup, use os comandos abaixo.
Crie um novo repositório.
svnadmin create / opt / svn / restorerepo
Restaurar backup:
svnadmin load / opt / svn / restorerepo < /etc/backups/svnbackups-20190204.dump
Isso é tudo. Esperamos que este artigo tenha ajudado você a configurar o subversion com sucesso. Se você tiver dúvidas ou comentários, visite a seção de comentários abaixo.