Pesquisa de site

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.