Subversion
De Gtmsl
- format wiki
- language en
Conteúdo |
Configurando Servidor Subversion
- Documento ainda em produção, se quiser alterar fique a vontade.
Muitas modificações passará este documento, portanto, não use para ambiente em produção.
Documentação para instalar um servidor _subversion_ com webdav e ssh.
Toda a configuração foi feita com usuário root.
1. Instalar o pacote do subversion
#aptitude install subversion subversion-tools #aptitude install websvn #aptitude install libapache2-svn
Na tela de configuração do debconf, digite o repositório svn. No nosso caso o repositório svn está localizado em "/var/lib/svn"
2. Altere a permissão e dono para www-data
#chown -R www-data:www-data /var/lib/svn
3. Adicione a entrada do svn no inetd
Adicione a entrada abaixo no final do arquivo /etc/inetd.conf :
svn stream tcp nowait subversion /usr/bin/svnserve svnserve -i
4. Crie o repositório svn
#su - subversion #svnadmin create /var/lib/svn
5. Altere as permissoes na pasta
#chown -R www-data:grupo /var/lib/svn/projeto__ #chmod -R 0764 /var/lib/svn/projeto__ #ln -s /var/lib/svn /svn__
OBS: O www-data é para o apache ler o diretório e grupo é o grupo que trabalhará no projeto.
6. Criar script do svn
Criar um script localizado no /usr/local/sbin/svnserver com as linhas abaixo:
umask 002 /usr/bin/svn "$@"
7. Configurar o subversion
Editar o arquivo /etc/subversion/config:
Descomentar a linha
#store-auth-creds = no
da seção [auth]
#ssh = $SVN_SSH ssh
da seção [tunnels]
Configuração do apache
1. Configurar as portas que o apacha escuta
edite o arquivo em /etc/apache2/ports.conf
Listen 80 Listen 443
2. Gerar o certificado para o servidor Apache2
#apache2-ssl-certificate
3. Configurar o sitio disponivel
= 3.1. Copie o arquivo /etc/apache2/sites-available/default para /etc/apache2/sites-available/ssl
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl
Edite o /etc/apache2/sites-available/ssl e acrescente
NameVirtualHost *:443
<VirtualHost *:443>
LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so
SSLENgine On
SSLCertificateFile /etc/apache2/ssl/apache.pem
</VirtualHost>
4. Habilite o ssl
#a2ensite ssl
5. Reinicie o Apache2
#invoke-rc.d apache2
Configurando LDAP para autenticação
1. Instalando LDAP
#aptitude install slapd migration-tools
2. Configuração do ldap cliente
Edite o /etc/ldap/ldap.conf
e configure conforme abaixo:
host 127.0.0.1 base dc=svn,dc=diadema,dc=sp,dc=gov,dc=br rootbinddn cn=admin,dc=svn,dc=diadema,dc=sp,dc=gov,dc=br pam_filter objectclass=posixaccount pam_login_attribute uid pam_member_attribute gid pam_password shadow
3. Migrando a estrutura para LDAP
#cd /usr/share/migrationtools #./migrate_base.pl > /tmp/base.ldif #./migrate_group.pl /etc/group > /tmp/group.ldif #./migrate_passwd.pl /etc/passwd > /tmp/passwd.ldif #ldapadd -x -D "cn=admin,dc=svn,dc=diadema,dc=sp,dc=gov,dc=br" -f base.ldif -W #ldapadd -x -D "cn=admin,dc=svn,dc=diadema,dc=sp,dc=gov,dc=br" -f group.ldif -W #ldapadd -x -D "cn=admin,dc=svn,dc=diadema,dc=sp,dc=gov,dc=br" -f passwd.ldif -W
4. Instalando o phpldapadmin
#aptitude install phpldapadmin
4.1 Configurar o /etc/phpldapadmin/config.php
Altera as linhas abaixos para ficar assim:
$servers[$i]['name'] = 'Servidor Exemplo'; $servers[$i]['default_hash'] = 'md5'; $servers[$i]['login_string'] = 'uid=<username>,ou=People,dc=svn,dc=diadema,dc=sp,dc=gov,dc=br'; $servers[$i]['enable_auto_uid_numbers'] = true; $servers[$i]['auto_uid_number_search_base'] = 'ou=People,dc=svn,dc=diadema,dc=sp,dc=gov,dc=br'; $servers[$i]['auto_uid_number_uid_pool_dn'] = 'cn=uidPool,dc=svn,dc=diadema,dc=sp,dc=gov,dc=br';
5. Configurando a extensão Ldap no apache
- Edite e acrescente no /etc/php4/apache2/php.ini a extensão
extension=ldap.so
- habilitar os módulos
#a2enmod auth_ldap dav_fs dav ldap ldap_userdir
- Reinicie o Apache2
#invoke-rc.d apache2 restart
Autoria
Fernando Ike (fike) <fernando.ike@gmail.com>
Publicação no Wiki
Leonardo Mello <leonardo.mello@planejamento.gov.br>

