Configurando o repositório Subversion (SVN) via Apache no servidor Bluehost VPS

1

Estou tentando configurar o Subversion (SVN) em nosso servidor Bluehost VPS que possui CentOS v6.5 . Até agora, a instalação correu bem, seguindo este guia - > link

No entanto, agora estou preso em seu 4.2 passo [configurações do Apache do Subversion] .

Ok, então aqui vai a história.

Principalmente na web os guias para instalar o Subversion (svn) no bluehost são para o servidor compartilhado para quem os passos na página wiki oficial do CentOS de Subversion (vamos chamá-lo A ) não funciona, portanto, eles seguem este guia (vamos chamá-lo B ).

O módulo mod_dav_svn permite que a subversão seja servida via Apache, porque sua instalação não é permitida em servidor compartilhado isso é o que eu aprendi. Por isso, muitas pessoas se apegam ao guia B , o que pode funcionar para nós estabelecendo conexão svn através de ssh (svn + ssh), mas estou tentando dobrar a colher para ver se a conexão svn pode ser estabelecida através do apache.

Seguinte guia A

Eu tenho um url svn.domain.com apontando para /home/username/public_html/svn.domain.com/ em que eu configurei os repositórios chamados repos1

e tem o arquivo setup subversion.conf em /etc/httpd/conf.d/subversion.conf da seguinte forma

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

<Location /repos1>
        DAV svn
        SVNPath /home/username/public_html/svn.domain.com/repos1
        AuthType Basic
        AuthName "Subversion repos"
        AuthUserFile /etc/svn-auth-conf
        Require valid-user
</Location>

e abrindo o link , ele exibe o conteúdo simples do diretório localizado em /home/username/public_html/svn.domain.com/repos1 .

Onde eu suponho que deve pedir senha e exibir Revisão 0 ou pelo menos tronco , filial e pastas tag .

Qualquer ajuda ou direção seria apreciada.

  • 1: a pasta repos1 é criada pelo comando svnadmin create repos1 .
  • 2: Essa configuração funcionou para nós em diferentes servidores, mas eles têm um espaço muito limitado.
por Abhishek Madhani 13.08.2014 / 19:42

2 respostas

1

Instalando e configurando o Subversion (SVN) no servidor BlueHost VPS (CentOS)

Meus passos são apenas o acompanhamento deste belo artigo wiki no link . O artigo tem 8 etapas gerais, no entanto, para instalação no BlueHost VPS, é necessária uma expansão para o passo 3 e o passo 4.2

Etapa 3 - Ao instalar o yum install mod_dav_svn subversion , ocorrerá um erro

Error: Missing Dependency: httpd-mmn = 20051115 is needed by package mod_dav_svn

Para resolver isso, siga as etapas abaixo

[$] find / -name "yum.conf"                 --- Note the path
[$] vim /path/yum.conf                          --- Edit the file

Remova o httpd* da seguinte linha

exclude=apache* bind-chroot courier* dovecot* exim* filesystem httpd* mod_ssl* mydns* mysql* nsd* perl* php* proftpd* pure-ftpd* ruby* spamassassin* squirrelmail*

Salve e saia do arquivo :wq!

[$] yum install mod_dav_svn subversion      --- If Success, then you can revert back yum.conf file to its original.

Etapa 4 - Antes de prosseguir para esta etapa, crie um domínio ou subdomínio (svn.domain.com) de preferência,     e atribuí-lo a qualquer pasta (principalmente /home/username/public_html/svn.domain.com)

/home/username/public_html/svn.domain.com     --- will be main folder under which I will have many repositories (not just one, but many)

Passo 4.1 - Ignore este passo do artigo, uma vez que a BlueHost terá os seus cuidados

Step 4.2 - Por padrão, o Subversion criará um arquivo .conf chamado subversion.conf in /etc/httpd/conf.d/subversion.conf

Para o BlueHost, quaisquer arquivos nesse caminho são ineficientes (levei quatro horas para descobrir)     porque ele usa o C-Panel, que tem seu próprio requisito para seguir - > link

Então edite o arquivo /etc/httpd/conf/httpd.conf na sua edição favorita

[$] vim /etc/httpd/conf/httpd.conf'         --- Edit the main Apache config file
[Editor] /svn.domain.com                        --- Hit Enter and search for your domain configurations, scroll through up or down keys or n for next hit

Logo acima do svn.domain.com, você encontrará algo semelhante às linhas abaixo

# To customize this VirtualHost use an include file at the following location
#Include "/usr/local/apache/conf/userdata/std/2/username/svn.domain.com/*.conf"

Remova o comentário da inclusão removendo o hash (#) no início e Copie o caminho entre o Include até * .conf (remove * .conf) e cole como abaixo no comando mkdir

[$] mkdir -p /usr/local/apache/conf/userdata/std/2/username/svn.domain.com/             --- Creates all parents directory as well if they don't exist
[$] vim /usr/local/apache/conf/userdata/std/2/username/svn.domain.com/subversion.conf   --- Create subversion configuration file

No arquivo subversion.conf no modo de edição (pressione i) cole abaixo e gentilmente alterar o caminho de SVNParentPath e AuthUserFile conforme necessário

Por favor note que DocumentRoot nas configurações do VirtualHost e SVNParentPath no subversion.conf não pode ter o mesmo caminho de diretório. O SVNParentPath deve substituir ou estar localizado em um diretório diferente, não pode estar sob o caminho DocumentRoot.

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

<Location />
    DAV svn
    SVNParentPath /home/username/public_html/svn.domain.com/
    SVNListParentPath ON
    AuthType Basic
    AuthName "DFR Visualization Images Repository"
    AuthUserFile /home/username/public_html/svn.domain.com/svn-auth-conf
    Require valid-user
</Location>'

Agora, :wq! , salve e saia do arquivo.

Agora execute os comandos abaixo para criar o arquivo de autenticação no caminho mencionado na variável AuthUserFile no arquivo subversion.conf

No comando htpasswd use o argumento -cm para a primeira criação de usuários e para usuários subseqüentes apenas use -m, senão os dados dos usuários anteriores serão perdidos

[$] htpasswd -cm /home/username/public_html/svn.domain.com/svn-auth-conf username       --- Press enter and input password

Mais um último passo. Por padrão, o Subversion instala os módulos necessários para carregar o SVN para funcionar corretamente no diretório apropriado, mas como o BlueHost usa o C-Panel, ele possui um diretório diferente para o mesmo propósito, o qual o Subversion não perceberá.

Portanto, precisamos copiar manualmente os módulos do Subversion instalados no diretório do módulo padrão para o diretório de módulos do C-Panel.

Primeiro encontre onde o Subversion foi instalado após dois módulos que especificamos no arquivo subversion.conf

[$] find / -name "mod_dav_svn.so"           --- Find and note subversion installation path
[$] find / -name "mod_authz_svn.so"         --- Find and note subversion installation path

Copie-os para a pasta de módulos do C-Panel (geralmente /usr/local/apache/modules/ ), gentilmente verifique o caminho antes de copiar.

[$] cp /subversion_modules_path/mod_dav_svn.so /usr/local/apache/modules/
[$] cp /subversion_modules_path/mod_authz_svn.so /usr/local/apache/modules/

Agora entre no seu C-Panel de bluehost e reinicie o serviço Apache localizado em      C-Panel -> WHM -> Restart Services -> HTTP Server (Apache)

Siga os passos restantes, como no artigo.

    
por 14.08.2014 / 01:48
1

Tente isso

<Location "/"> AuthType Basic AuthName "Subversion repos" AuthUserFile /etc/svn-auth-conf Require valid-user </Location> <Location /repos1> DAV svn SVNPath /home/username/public_html/svn.domain.com/repos1 </Location>

Não se esqueça de recarregar o Apache.

    
por 13.08.2014 / 21:55