Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm having some problems getting passenger and svn to work in Redmine.

System

  • Ubuntu 12.04
  • Apache 2.2.22
  • PassengerRuby 1.9.1
  • Passenger 3.0.19

Problem

When I let Passenger do it's normal user switching and run as www-data, svn integration doesn't work. I have made sure to enter an absolute path to svn (/usr/bin/svn) in configuration.yml, but when I go to Administration->Settings->Repositories there is a red exclamation icon next to the command. Also, when I create a new project and try to create a repository I get this error message

SCM command is not available. Please check settings on the administration panel.

Now, if I instead let passenger run as my own user myusername svn works. This is not how it should be run though, as far as I know.

So my thinking is that is's a permission problem somewhere, but I just can't figure out where.

I have made sure that my self signed certificate is not causing problems by accepting it permanently while running svn as www-data like this:

sudo -u www-data -H svn --username mysvnusername info https://svn.mydomain.com/myrepo

This works correctly as far as I can see. It writes into /var/www/.subversion and when I run it again I'm not asked about the certificate.

Here is the relevant output of ps -ef:

UID      PID   PPID   C STIME TTY      TIME     CMD
root     16151     1  0 14:41 ?        00:00:00 /usr/sbin/apache2 -k start
root     16155 16151  0 14:41 ?        00:00:00 PassengerWatchdog
root     16158 16155  0 14:41 ?        00:00:02 PassengerHelperAgent
root     16160 16158  0 14:41 ?        00:00:00 Passenger spawn server
nobody   16165 16155  0 14:41 ?        00:00:00 PassengerLoggingAgent
www-data 16205     1  0 14:41 ?        00:00:04 Rack: /var/www/redmine
www-data 16391 16151  0 14:52 ?        00:00:01 /usr/sbin/apache2 -k start
www-data 16418 16151  0 14:53 ?        00:00:01 /usr/sbin/apache2 -k start
www-data 16427 16151  0 14:53 ?        00:00:01 /usr/sbin/apache2 -k start

To be clear here, the problem doesn't seem to be the actual connection to the svn server, but a problem with www-data running the actual svn command.

Where should I look? What should I do?

share|improve this question
add comment

1 Answer

up vote 0 down vote accepted

I solved this for now by adding a new system user and chown'ing the redmine application dir to the redmine user:

sudo adduser --system redmine  
sudo chown -R redmine:www-data /var/www/redmine  

Now the Redmine application is running as user redmine and svn works. Maybe this is also the best solution with regards to security?

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.