You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Balazs Wellisch <ba...@neusolutions.com> on 2004/04/21 23:45:57 UTC

Multiple repositories and Apache

Hello,

I'm brand new to Subversion so please excuse my ignorance if the answer to
this question is trivial, but I haven't been able to find it in either the
book or the mailing lists.

I would like to set up Apache so that my clients can access their
repositories through my website. I want to make sure that users can browse
their own repositories only. They should have absolutely no access to any
other client's project.

For example, I have three users who can access their own client areas on my
server through their username.

Directories:
/home/user1/public_html
/home/user2/public_html
/home/user3/public_html

Sites:
http://www.domain.com/~user1/
http://www.domain.com/~user2/
http://www.domain.com/~user3/

Now, I created a repository for each of them outside their home directory
like so: 
/home/svnroot/user1
/home/svnroot/user2
/home/svnroot/user3

So far so good. But, how do I configure Apache so each of these users can
access their repositories? I'd like to give them access like so:

http://www.domain.com/~user1/svn  - map to -  /home/svnroot/user1
http://www.domain.com/~user2/svn  - map to -  /home/svnroot/user2
http://www.domain.com/~user3/svn  - map to -  /home/svnroot/user3

How do I make sure that the repositories are password protected and only the
actual owner can access their own repository?

Using the Apache <Location> directive I could only configure Apache to
access the directories like this:

http://www.domain.com/svnroot/user1
http://www.domain.com/svnroot/user2
http://www.domain.com/svnroot/user3

My config file looks like this:

<Location /svnroot>
   DAV svn
   SVNParentPath /home/svnroot

   # Limit write permission to list of valid users.
   <LimitExcept GET PROPFIND OPTIONS REPORT>
      # Require SSL connection for password protection.
      # SSLRequireSSL

      AuthType Basic
      AuthName "Neu Solutions Repository"
      AuthUserFile /var/www/data/htusers
      Require valid-user
   </LimitExcept>
</Location>

I could live with those URLs but the authentication is global, not
repository specific! Do I have to add a specific <Location> tag for each
repo?

What am I missing here? Please help!

Thank You,
Balazs




---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

RE: Multiple repositories and Apache

Posted by Balazs Wellisch <ba...@neusolutions.com>.
Geoff,

Thanks for the tip! I guess I just didn't read far enough. Now I have an
access file set up which takes care of the authentication, I just need to
figure out if I can rewrite the URLs they way I want them. 

Thanks again,

Balazs




-----Original Message-----
From: Geoff Leyland [mailto:gley001@ec.auckland.ac.nz] 
Sent: Wednesday, April 21, 2004 5:01 PM
To: <us...@subversion.tigris.org> <us...@subversion.tigris.org>
Cc: Balazs Wellisch
Subject: Re: Multiple repositories and Apache

 From my limited understanding, don't you need mod_authz_svn?
It's described in detail in chapter 6 (Per-Directory Access Control) of 
the book http://svnbook.red-bean.com/

cheers,
Geoff

On 22/04/2004, at 11:45 AM, Balazs Wellisch wrote:

> Hello,
>
> I'm brand new to Subversion so please excuse my ignorance if the 
> answer to
> this question is trivial, but I haven't been able to find it in either 
> the
> book or the mailing lists.
>
> I would like to set up Apache so that my clients can access their
> repositories through my website. I want to make sure that users can 
> browse
> their own repositories only. They should have absolutely no access to 
> any
> other client's project.
>
> For example, I have three users who can access their own client areas 
> on my
> server through their username.
>
> Directories:
> /home/user1/public_html
> /home/user2/public_html
> /home/user3/public_html
>
> Sites:
> http://www.domain.com/~user1/
> http://www.domain.com/~user2/
> http://www.domain.com/~user3/
>
> Now, I created a repository for each of them outside their home 
> directory
> like so:
> /home/svnroot/user1
> /home/svnroot/user2
> /home/svnroot/user3
>
> So far so good. But, how do I configure Apache so each of these users 
> can
> access their repositories? I'd like to give them access like so:
>
> http://www.domain.com/~user1/svn  - map to -  /home/svnroot/user1
> http://www.domain.com/~user2/svn  - map to -  /home/svnroot/user2
> http://www.domain.com/~user3/svn  - map to -  /home/svnroot/user3
>
> How do I make sure that the repositories are password protected and 
> only the
> actual owner can access their own repository?
>
> Using the Apache <Location> directive I could only configure Apache to
> access the directories like this:
>
> http://www.domain.com/svnroot/user1
> http://www.domain.com/svnroot/user2
> http://www.domain.com/svnroot/user3
>
> My config file looks like this:
>
> <Location /svnroot>
>    DAV svn
>    SVNParentPath /home/svnroot
>
>    # Limit write permission to list of valid users.
>    <LimitExcept GET PROPFIND OPTIONS REPORT>
>       # Require SSL connection for password protection.
>       # SSLRequireSSL
>
>       AuthType Basic
>       AuthName "Neu Solutions Repository"
>       AuthUserFile /var/www/data/htusers
>       Require valid-user
>    </LimitExcept>
> </Location>
>
> I could live with those URLs but the authentication is global, not
> repository specific! Do I have to add a specific <Location> tag for 
> each
> repo?
>
> What am I missing here? Please help!
>
> Thank You,
> Balazs
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Multiple repositories and Apache

Posted by Geoff Leyland <gl...@ec.auckland.ac.nz>.
From my limited understanding, don't you need mod_authz_svn?
It's described in detail in chapter 6 (Per-Directory Access Control) of 
the book http://svnbook.red-bean.com/

cheers,
Geoff

On 22/04/2004, at 11:45 AM, Balazs Wellisch wrote:

> Hello,
>
> I'm brand new to Subversion so please excuse my ignorance if the 
> answer to
> this question is trivial, but I haven't been able to find it in either 
> the
> book or the mailing lists.
>
> I would like to set up Apache so that my clients can access their
> repositories through my website. I want to make sure that users can 
> browse
> their own repositories only. They should have absolutely no access to 
> any
> other client's project.
>
> For example, I have three users who can access their own client areas 
> on my
> server through their username.
>
> Directories:
> /home/user1/public_html
> /home/user2/public_html
> /home/user3/public_html
>
> Sites:
> http://www.domain.com/~user1/
> http://www.domain.com/~user2/
> http://www.domain.com/~user3/
>
> Now, I created a repository for each of them outside their home 
> directory
> like so:
> /home/svnroot/user1
> /home/svnroot/user2
> /home/svnroot/user3
>
> So far so good. But, how do I configure Apache so each of these users 
> can
> access their repositories? I'd like to give them access like so:
>
> http://www.domain.com/~user1/svn  - map to -  /home/svnroot/user1
> http://www.domain.com/~user2/svn  - map to -  /home/svnroot/user2
> http://www.domain.com/~user3/svn  - map to -  /home/svnroot/user3
>
> How do I make sure that the repositories are password protected and 
> only the
> actual owner can access their own repository?
>
> Using the Apache <Location> directive I could only configure Apache to
> access the directories like this:
>
> http://www.domain.com/svnroot/user1
> http://www.domain.com/svnroot/user2
> http://www.domain.com/svnroot/user3
>
> My config file looks like this:
>
> <Location /svnroot>
>    DAV svn
>    SVNParentPath /home/svnroot
>
>    # Limit write permission to list of valid users.
>    <LimitExcept GET PROPFIND OPTIONS REPORT>
>       # Require SSL connection for password protection.
>       # SSLRequireSSL
>
>       AuthType Basic
>       AuthName "Neu Solutions Repository"
>       AuthUserFile /var/www/data/htusers
>       Require valid-user
>    </LimitExcept>
> </Location>
>
> I could live with those URLs but the authentication is global, not
> repository specific! Do I have to add a specific <Location> tag for 
> each
> repo?
>
> What am I missing here? Please help!
>
> Thank You,
> Balazs
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org