O Guia Ultimate para configurar o Apache Subversão SVN e Tortoisesvn para Controle de Versão
- 1180
- 13
- Enrique Crist
Se o seu trabalho exigir documentos de manuseio, páginas da web e outros tipos de arquivos que são atualizados regularmente, convém usar um mecanismo de controle de versão se ainda não estiver fazendo isso.
Entre outras coisas, isso permite que você (e um grupo de colaboradores em potencial) rastreie as alterações feitas em um determinado arquivo e permite voltar a uma versão anterior se um problema for encontrado ou quando uma atualização não produzir o resultado esperado.
No ecossistema de software livre, o sistema de controle de versão mais usado é chamado Subversão Apache (ou Svn abreviado). Com a ajuda de mod_dav_svn (Módulo da Apache para Subversão), você pode acessar um repositório de subversão usando HTTP e um servidor da Web.
Dito isto, vamos enrolar nossas mangas e instalar essas ferramentas em um RHEL / CENTOS 7, Fedora 22-24, Debian 8/7 e Ubuntu 16.04-15.04 servidor. Para nossos testes, usaremos um CENTOS 7 servidor com IP 192.168.0.100.
No lado do cliente (um Windows 7 máquina), vamos instalar e usar Tortoisesvn (que é baseado na subversão Apache) como uma interface para SVN.
Nosso ambiente de teste
Servidor - CENTOS 7 Endereço de IP - 192.168.0.100 Cliente - Windows 7
Etapa 1 - Instalando e configurando o SVN no Linux
Como acabamos de mencionar, confiaremos no Apache para acessar o repositório SVN usando uma interface da web. Se ainda não estiver instalado, adicione -o à lista de pacotes como mostrado abaixo:
------------------ No CentOS / Rhel / Fedora ------------------ # yum update && yum install mod_dav_svn subversão httpd -y ------------------ No Debian / Ubuntu ------------------ # atualização apt-get && install install libapache2-svn subversão apache2 -y
Durante a instalação em CENTOS 7, Um arquivo de configuração do Apache para SVN será criado como /etc/httpd/conf.módulos.d/10 subversão.conf. Abra o arquivo e adicione o seguinte bloco de configuração:
/etc/httpd/conf.módulos.d/10 subversão.confDav Svn SvnparentPath/WebSRV/SVN Authtype Basic Authname "Welcome to SVN" AuthUserfile/etc/httpd/subversão-autores requer válido-usuárioConfigurar o módulo Apache SVN
Observação: Sobre Debian / Ubuntu você precisa adicionar linhas abaixo a /etc/apache2/mods-inabled/Dav_svn.conf
arquivo.
Dav Svn SvnparentPath/WebSRV/SVN Authtype Basic Authname "Welcome to SVN" AuthUserFile/etc/apache2/subversão-Auth reque
Sobre Debian / Ubuntu, você precisa ativar DAV_SVN APACHE módulo:
# a2enmod Dav_svn
Alguns esclarecimentos:
- O Svnparentpath Diretiva indica o diretório onde nossos repositórios serão criados posteriormente. Se este diretório não existir (o que provavelmente é o caso), crie -o com:
# mkdir -p /websrv /svn
É importante observar que este diretório não deve estar localizado dentro ou sobreposição, o Documentroot de um host virtual atualmente sendo servido por Apache. Este é um showstopper!
- O AuthUserfile A diretiva indica o arquivo onde as credenciais de um usuário válido serão armazenadas. Se você deseja permitir que todos acessem o SVN sem autenticação, remova as quatro últimas linhas no bloco de localização. Se for esse o caso, pule Passo 2 e vá diretamente para etapa 3.
- Embora você possa ser tentado a reiniciar o Apache para aplicar essas mudanças recentes, não faça isso ainda, pois ainda precisamos criar o arquivo de autenticação com usuários válidos para SVN, e o próprio repositório.
Etapa 2 - Adicione os usuários permitidos que acessem SVN
Nós agora usaremos htpasswd Para criar uma senha para contas que poderão acessar SVN. Somente para o primeiro usuário, precisaremos do -c
opção.
Contas permitidas e senhas criptografadas de BCRYPT (-B
) será armazenado em /etc/httpd/subversão-auth em pares de valor-chave. Observe que, pelos padrões de hoje, a criptografia padrão MD5 ou SHA usada por HTPasswd é considerada insegura.
------------------ No CentOS / Rhel / Fedora ------------------ # htpasswd -cb/etc/httpd/subversão -auth tecmint ------------------ No Debian / Ubuntu ------------------ # htpasswd -cb/etc/apache2/subversão -auth tecmint
Não se esqueça de definir a propriedade e as permissões corretas para o arquivo de autenticação:
------------------ No CentOS / Rhel / Fedora ------------------ # chgrp apache/etc/httpd/subversion-auth # chmod 660/etc/httpd/subversão ------------------ No Debian / Ubuntu ------------------ # CHGRP www-data/etc/apache2/subversão-auth # chmod 660/etc/apache2/subversão--
Etapa 3 - Adicione a segurança e crie o repositório SVN
Como você estará acessando o SVN por meio de uma interface da web, você precisará permitir Http (e opcionalmente Https) Tráfego através do seu firewall.
------------------ No CentOS / Rhel / Fedora ------------------ # firewall-cmd --add-service = http --permanent # firewall-cmd --add-service = https --permanent # firewall-cmd--reload
Recarregando a configuração do firewall com --recarregar
, As configurações permanentes são colocadas em vigor imediatamente.
Crie um repositório SVN inicial chamado Tecmint:
# svnadmin create/websrv/svn/tecmint
Altere o proprietário e o proprietário do grupo para apache recursivamente:
------------------ No CentOS / Rhel / Fedora ------------------ # CHOW ------------------ No Debian / Ubuntu ------------------ # CHOW
Finalmente, você precisará alterar o contexto de segurança de /websrv/svn/tecmint
(Observe que você terá que repetir esta etapa se decidir criar outros repositórios posteriormente):
------------------ No CentOS / Rhel / Fedora ------------------ # chcon -r -t httpd_sys_content_t/websrv/svn/tecmint/ # chcon -r -t httpd_sys_rw_content_t/websrv/svn/tecmint/
Observação: Os dois últimos comandos podem não se aplicar se você estiver instalando o SVN em um VPS com o Selinux desativado.
Leia sugerida: Aprenda a desativar o Selinux temporariamente ou permanentemente no Linux
Reiniciar Apache e verifique se o repositório está disponível.
------------------ No CentOS / Rhel / Fedora ------------------ # SystemCtl Reiniciar httpd ------------------ No Debian / Ubuntu ------------------ # SystemCtl Reiniciar Apache2
Em seguida, inicie um navegador da web e aponte para http: // 192.168.0.100/svn/tecmint
. Depois de inserir as credenciais para o usuário válido em que criamos Passo 1, A saída deve ser semelhante a:
Neste ponto, não adicionamos nenhum código ao nosso repositório. Mas faremos isso em um minuto.
Etapa 4 - Instale o TortoiseSVN no cliente Windows 7
Como mencionamos na introdução, Tortoisesvn é uma interface amigável para a subversão Apache. É um software livre licenciado sob a GPL e pode ser baixado de https: // Tortoisesvn.rede/downloads.html.
Escolha a arquitetura (32 ou 64 bits) que corresponde à sua máquina e instale o programa antes de prosseguir.
Etapa 5 - Configurar o repositório SVN na máquina cliente
Nesta etapa, usaremos uma pasta chamada aplicativo web
dentro Documentos. Esta pasta contém um arquivo html e duas pastas denominadas scripts e estilos com um JavaScript e um arquivo CSS (roteiro.JS e estilos.CSS, respectivamente) que queremos adicionar ao controle de versão.
Clique com o botão direito do mouse aplicativo web e escolha o checkout do SVN. Isso criará uma cópia local do repositório remoto (que está vazio no momento) e inicializará a pasta para controle da versão:
Configurar SVN no diretório do clienteEm URL do repositório, tipo http: // 192.168.0.100/svn/tecmint
E verifique se o diretório de check -out local permanece o mesmo e clique OK:
Digite o nome de usuário e a senha (consulte Passo 2) e clique OK:
Digite credenciais do usuário do SVNVocê será perguntado se deseja fazer o checkout em um diretório não vazio. confirme Para prosseguir com o checkout. Uma vez concluído, uma marca de seleção verde aparecerá ao lado do nome da pasta:
Confira o diretório SVNEtapa 6 - Confirmar alterações e implantar arquivos no repositório SVN remoto
Clique com o botão direito do mouse aplicativo web
novamente e escolha Comprometer-se desta vez. Em seguida, escreva um comentário descritivo para identificar posteriormente esse compromisso e verifique os arquivos e pastas que deseja implantar para o repositório. Finalmente, clique OK:
Dependendo do tamanho dos arquivos, a confirmação não deve levar mais de um minuto. Quando estiver completo, você verá que agora estamos ligados Revisão 1, que corresponde à versão e arquivos listados na interface da web:
Confirmar revisão do repositório SVNSe houver várias pessoas trabalhando nos mesmos arquivos, você deseja Atualizar sua cópia local para ter a versão mais recente disponível para trabalhar. Você pode fazer isso clicando com o botão direito do mouse aplicativo web
e escolhendo Atualizar Do menu de contexto.
Parabéns! Você configurou com sucesso um servidor SVN e cometeu / atualizou um projeto simples em controle de versão.
Resumo
Neste artigo, explicamos como instalar e configurar um Subversão Apache Servidor de repositório em um CENTOS 7 servidor e como cometer alterações nesse repositório usando Tortoisesvn.
Observe que há muito mais para Svn e Tortoisesvn do que o que podemos cobrir adequadamente aqui (especialmente como retornar às revisões anteriores); portanto, você pode querer consultar os documentos oficiais (svn e tartoisesvn) para obter mais informações e casos de configuração.
Como sempre, não hesite em nos informar se você tiver alguma dúvida! Sinta -se à vontade para usar o formulário de comentário abaixo para chegar a nós a qualquer hora.
- « DSTAT - Uma ferramenta engenhosa para monitorar o desempenho do servidor Linux em tempo real
- 10 Ferramentas de inteligência artificial de código aberto de código aberto para Linux »