You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Seb <sp...@gmail.com> on 2008/01/05 18:07:18 UTC

set up repository in user public directory

Hi,

I'm trying to set up a repository for a user in a Debian unstable
system.  Apache 2.2.6 already serves users' public directories, with the
following in /etc/apache2/mods-enabled/userdir.conf:

---<---------------cut here---------------start-------------->---
<IfModule mod_userdir.c>
UserDir disabled root
UserDir "WWW"

<Directory "/home/*/WWW">
                AllowOverride FileInfo AuthConfig Limit
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
</Directory>
</IfModule>
---<---------------cut here---------------end---------------->---

The server also has the dav and dav_svn modules loaded.  I would like to
make the repository inaccessible for anything other than subversion
clients.  Does this sound like a reasonable thing to do, any gotchas?
Or would it be better to put the repository under another directory (but
inside the user's directory), and create a virtual host for it?  Any
suggestions welcome.


Cheers,

-- 
Seb

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

Re: set up repository in user public directory

Posted by "Sebastian P. Luque" <sp...@gmail.com>.
Thank you both for the feedback!


On Sat, 5 Jan 2008 13:29:17 -0600,
Ryan Schmidt <su...@ryandesign.com> wrote:

[...]

> The repository would not be in the user's home directory in this
> scenario. Maybe that's ok: why did you want it in the user's home
> directory?

The reason is that I keep /home in a separate partition and would like
to keep each user's data there (and in their own directories), so as to
protect them from system maintenance problems (mostly of my own
making!).  Otherwise what you suggest sounds good.  Anyway, I now see
that the repositories should not be in the users' public directories.


-- 
Seb

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

Re: set up repository in user public directory

Posted by "Sebastian P. Luque" <sp...@gmail.com>.
On Sat, 5 Jan 2008 13:31:43 -0600,
"Matt Sickler" <cr...@gmail.com> wrote:

> AFAIK, mod_dav_svn requires configuration that is not compatible with
> mod_userdir.  My suggestion would be to put the repo in
> /home/<user>/svnrepo and then have symlinks to gather them all in a
> single place, then use SVNParentPath to serve them, and mod_authz_svn
> to limit users to their own repo.  its more work, but its somewhat
> required

Yes, this sounds like what I need to do, although I don't understand how
the symlinking should be done.  Do you know of any source I can consult
as a guide?  Thanks!


-- 
Seb

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

Re: set up repository in user public directory

Posted by Matt Sickler <cr...@gmail.com>.
AFAIK, mod_dav_svn requires configuration that is not compatible with
mod_userdir.
My suggestion would be to put the repo in /home/<user>/svnrepo and then have
symlinks to gather them all in a single place, then use SVNParentPath to
serve them, and mod_authz_svn to limit users to their own repo.
its more work, but its somewhat required

On Jan 5, 2008 12:07 PM, Seb <sp...@gmail.com> wrote:

> Hi,
>
> I'm trying to set up a repository for a user in a Debian unstable
> system.  Apache 2.2.6 already serves users' public directories, with the
> following in /etc/apache2/mods-enabled/userdir.conf:
>
> ---<---------------cut here---------------start-------------->---
> <IfModule mod_userdir.c>
> UserDir disabled root
> UserDir "WWW"
>
> <Directory "/home/*/WWW">
>                AllowOverride FileInfo AuthConfig Limit
>                Options MultiViews Indexes SymLinksIfOwnerMatch
> IncludesNoExec
> </Directory>
> </IfModule>
> ---<---------------cut here---------------end---------------->---
>
> The server also has the dav and dav_svn modules loaded.  I would like to
> make the repository inaccessible for anything other than subversion
> clients.  Does this sound like a reasonable thing to do, any gotchas?
> Or would it be better to put the repository under another directory (but
> inside the user's directory), and create a virtual host for it?  Any
> suggestions welcome.
>
>
> Cheers,
>
> --
> Seb
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>
>

Re: set up repository in user public directory

Posted by Ryan Schmidt <su...@ryandesign.com>.
On Jan 5, 2008, at 12:07, Seb wrote:

> I'm trying to set up a repository for a user in a Debian unstable
> system.  Apache 2.2.6 already serves users' public directories,  
> with the
> following in /etc/apache2/mods-enabled/userdir.conf:
>
> ---<---------------cut here---------------start-------------->---
> <IfModule mod_userdir.c>
> UserDir disabled root
> UserDir "WWW"
>
> <Directory "/home/*/WWW">
>                 AllowOverride FileInfo AuthConfig Limit
>                 Options MultiViews Indexes SymLinksIfOwnerMatch  
> IncludesNoExec
> </Directory>
> </IfModule>
> ---<---------------cut here---------------end---------------->---
>
> The server also has the dav and dav_svn modules loaded.  I would  
> like to
> make the repository inaccessible for anything other than subversion
> clients.  Does this sound like a reasonable thing to do, any gotchas?
> Or would it be better to put the repository under another directory  
> (but
> inside the user's directory), and create a virtual host for it?  Any
> suggestions welcome.

A repository should not be stored on disk in a directory that Apache  
serves up to the web directly. So, putting a repository in a user's  
WWW directory would be a bad idea.

You may be able to put the repository in a different directory in  
their home directory, but alias it in to their web space with an  
Alias directive or similar. Not sure if that will work. You would  
have to do this for each user who wanted a repository.

If you have many users and each user wants one repository, it would  
be easy to make a new base URL, like http://www.example.com/usersvn/,  
and have under that one repository for each user, accessed with their  
username. That would just take a single <Location> directive.

<Location /usersvn>
	DAV svn
	SVNParentPath /path/to/usersvn
</Location>

The repository would not be in the user's home directory in this  
scenario. Maybe that's ok: why did you want it in the user's home  
directory?


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