Como instalar o SVN em distribuições Linux baseadas em RHEL
Escrito em linguagem de programação C, o Apache Subversion, coloquialmente abreviado como SVN, é um sistema de controle de versão gratuito e de código aberto que mantém registro de históricos versões de arquivos e diretórios.
Simplificando, SVN é simplesmente um rastreador de versão que permite aos usuários enviar alterações feitas em arquivos para um repositório que rastreia quem fez as alterações em cada arquivo. O repositório é semelhante a um servidor de arquivos. A diferença é que ele rastreia as alterações e permite recuperar versões mais antigas do código ou investigar o histórico das alterações do arquivo.
Neste artigo, nos concentramos em como instalar o SVN em distribuições Linux baseadas em RHEL, como CentOS, Fedora, Rocky Linux, e AlmaLinux.
Etapa 1: Instale o Apache Subversion (SVN) no Linux
Começamos instalando primeiro o Subversion e seus pacotes associados conforme mostrado.
sudo dnf install mod_dav_svn subversion
O comando também instala o servidor web Apache HTTP, se não tiver sido instalado anteriormente. Você pode iniciar o Apache e verificar seu status da seguinte maneira.
sudo systemctl start httpd
sudo systemctl status httpd
Etapa 2: Criar e configurar um repositório SVN local
Uma vez instalado o SVN, o próximo passo será criar um repositório para armazenar arquivos e código.
Primeiro, crie o diretório SVN no qual você armazenará o código.
sudo mkdir -p /var/www/svn
Em seguida, navegue até o diretório e crie um repositório usando o comando svadmin create:
cd /var/www/svn/
sudo svadmin create demo_repo
Em seguida, atribua permissões ao diretório SVN.
sudo chown -R apache.apache /var/www/svn
Etapa 3: Crie um arquivo de configuração do Subversion
Precisamos criar um arquivo de configuração do Subversion.
sudo vim /etc/httpd/conf.d/subversion.conf
Adicione as seguintes linhas.
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /var/www/svn
# Limit write permission to list of valid users.
<LimitExcept GET PROPFIND OPTIONS REPORT>
# Require SSL connection for password protection.
# SSLRequireSSL
AuthType Basic
AuthName "Subversion repo"
AuthUserFile /etc/svn-auth-users
Require valid-user
</LimitExcept>
</Location>
Salve as alterações e saia.
Etapa 4: Criar usuários autorizados do Subversion
O próximo passo é criar usuários do Subversion, ou seja, usuários que serão autorizados a acessar o repositório do Subversion. Para criar o primeiro usuário, use o comando htpasswd com a opção -cm
. As senhas são salvas no arquivo /etc/svn-auth-users.
sudo htpasswd -cm /etc/svn-auth-users svnuser1
Para criar usuários subsequentes, omita a opção -c
e use apenas a opção -m
.
sudo htpasswd -m /etc/svn-auth-users svnuser2
sudo htpasswd -m /etc/svn-auth-users svnuser3
Para aplicar as alterações feitas, reinicie o servidor web Apache.
sudo systemctl restart httpd
Etapa 5: Configurar Firewall e SELinux para SVN
Configure o firewall para permitir o tráfego HTTP no firewall da seguinte maneira:
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload
Além disso, aplique as seguintes regras SELinux no repositório.
sudo chcon -R -t httpd_sys_content_t /var/www/svn/demo_repo
sudo chcon -R -t httpd_sys_rw_content_t /var/www/svn/demo_repo
Etapa 6: acessando o SVN de um navegador
Para acessar seu repositório SVN a partir de um navegador, basta acessar a URL.
http://server-ip/svn/demo_repo
Usando o repositório SVN
Para começar a usar o repositório SVN, você precisa criar uma cópia de trabalho do repositório SVN em seu diretório de trabalho atual usando o comando svn checkout.
svn checkout URL
Para adicionar alguns arquivos, navegue até o diretório clonado:
cd demo_repo
Crie alguns arquivos de demonstração:
touch file1.txt file2.txt file3.txt
Adicione os arquivos ao SVN.
svn add file1.txt file2.txt file3.txt
Em seguida, envie os arquivos para o repositório da seguinte forma:
svn commit -m "Adding new files" file1.txt file2.txt file3.txt
Autentique com suas credenciais e os arquivos serão adicionados ao repositório.
Você pode confirmar isso voltando ao navegador.
E isso conclui nosso guia sobre como instalar o SVN no RHEL, CentOS, Fedora, Rocky Linux e < forte>AlmaLinux.