Hi all --
I don't have the strongest UNIX background, so I'm a little concerned about getting SVN set up correctly and securely for remote access by multiple shell users. I've done a whole bunch of reading and googling, and this is what I came up with... Is this list of steps that one needs to take (after simply getting the software installed) correct and complete?
1) Create an "svn" group for all SVN users:
2) Create an "svn" user for svnserve to run as:
$ sudo groupadd svn
3) Create wrappers for svnserve, svnadmin, and svnlook that apply a umask:
$ sudo useradd -g svn svn
$ passwd svn
(This doesn't have to be done for the svn command? this seems to imply that it doesn't, but I don't understand why not.)
a) move binaries to another location:
b) create shell scripts:
$ sudo mv /usr/bin/svnserve /usr/bin/svnserve.real
$ sudo mv /usr/bin/svnadmin /usr/bin/svnadmin.real
$ sudo mv /usr/bin/svnlook /usr/bin/svnlook.real
c) assign permissions to shell scripts:
4) Create the repository:
$ sudo chmod +x /usr/bin/svnserve /usr/bin/svnadmin /usr/bin/svnlook
(/var/svn is just one possible place to put it, right? what's a recommended location?)
5) Assign ownership of the repository to a user in the "svn" group:
$ sudo svnadmin create /var/svn
(Presumably if you create the repository in an area that isn't owned by root, you can just run svnadmin as the svn user instead of using sudo and reassigning ownership, right?)
6) Add users who should be able to use SVN to the svn group:
$ sudo chown -R svn:svn /var/svn
$ sudo pico /etc/group
7) Create SSH keys for all users who should be able to use SVN:
ummm.... ask your friendly neighborhood sysadmin?
8) Log in...:
How do I get SVN to recognize the hostname? Can I just use any host whose A record resolves to any IP assigned to the box?
From remote machine:
So... is anything here wrong? Is anything missing? (BTW, this is on a Centos VPS running cPanel, if that affects anything.) Suggestions are very very much welcomed!
$ svn list svn+ssh://HOSTNAME/var/svn/projectname
(Once I get this worked out, maybe I'll write it up as a "for dummies" -- would anyone find that useful?.)