lunes, 16 de abril de 2012

Redmine repository configuration with subversion + ssh

This tutorial describes how configure an existing Redmine server to work with subversion with ssh protocol and prevent certificate issues.

Prerequisites are:
  • the Redmine is running on Apache + Passenger with the nobody user
  • the Redmine directory is /opt/redmine 
  • the Redmine version is 1.3.2
  • Suvbersion is running with ssh
Create a new folder for the subversion configuration for the nobody user

 sudo mkdir /opt/redmine/config/svn  
 sudo chmod 757 /opt/redmine/config/svn  

Log as nobody user:

 sudo su nobody  
 bash  

Try to access the repository, accept permanently the certificate when asked.

 svn info --config-dir /opt/redmine/config/svn/ https://svn.domain.com/svn/project/trunk/  

The first time will fail, now edit the created servers file.

 nano /opt/redmine/config/svn/servers  

Uncoment and change to yes the following lines. Configure your proxy if needed.

 store-plaintext-passwords = yes  
 store-ssl-client-cert-pp = yes  

Run the subversion info command again:

 svn info --config-dir /opt/redmine/config/svn/ https://svn.domain.com/svn/project/trunk/  

The info command must work without errors.Now exit from the nobody user shell with exit and exit.

Edit the Redmine subversion adapter file to force the use of the configuration directory.

 sudo nano /opt/redmine/lib/redmine/scm/adapters/subversion_adapter.rb  

Change the line:

 str << " --no-auth-cache --non-interactive"  

With

 str << " --trust-server-cert --no-auth-cache --non-interactive --config-dir /opt/redmine/config/svn/"  

Restart your Apache server

 sudo /etc/init.d/apache2 restart  

Configure your Redmine project integration with https and check that all is working.

No hay comentarios:

Publicar un comentario