Install Subversion

$ sudo apt-get install subversion

Add subversion group

$ sudo groupadd subversion

Add your SSH users to the new subversion group

Edit /etc/group - something similar to,

subversion:x:1003:joe,sally,sue,bob,larry

Create the main svn directory

$ sudo mkdir /var/lib/svn

Create projects repository

$ svnadmin create /var/lib/svn/projects

Edit /var/lib/svn/projects/conf/svnserve.conf

sudo vi /var/lib/svn/projects/conf/svnserve.conf

Uncomment [general] if it isn't already as below it's not,

# [general]

No white space at the front or end of lines in svnserve.conf

Uncomment the line starting with password-db as below,

# password-db = passwd

and change passwd to password-db = /var/lib/svn/security/svn_passwd as below,

password-db = /var/lib/svn/security/svn_passwd

Edit the password file /var/lib/svn/security/svn_passwd

$ sudo mkdir /var/lib/svn/security/svn_passwd
$ sudo vi /var/lib/svn/security/svn_passwd

Add the following content for an anonymous login,

[users]
anonymous = anonymous

Again, no white space at the front or end of the password file too.

Fire up the server

$ svnserve -d  -r /var/lib/svn/projects

Set permissions on the repository

$ sudo chown -R root:subversion /var/lib/svn
$ sudo chmod -R g+rws /var/lib/svn

Create a new project repository in the main projects repository

I'm going to do this from another host so you can see what that looks like using SSH. You will have to have a running SSH server and an account.

$ svn mkdir svn+ssh://www.example.com/var/lib/svn/projects/myprogram -m "created myprogram repository"
$ svn mkdir svn+ssh://192.168.1.2/var/lib/svn/projects/wsimage/tags -m "created tags"
$ svn import myprogram svn+ssh://www.example.com/var/lib/svn/projects/myprogram/trunk -m "first import"

On the local machine, you don't need the +ssh part.

The commands I ran

711  apt-get install subversion
  712  mkdir /var/lib/svn
  713  addgroup subversion
  714  mkdir /var/lib/svn
       715  svnadmin create /var/lib/svn/wsimage
  716  ls /var/lib/svn
  717  ls /var/lib/svnwsi
       718  ls /var/lib/svn/wsimage/
  719  chown -R www-data:subversion /var/lib/svn/
  720  chmod -R g+rws /var/lib/svn
  721  ll /var/lib/svn
  722  ls -a /var/lib/svn
       723  vi /var/lib/svn/wsimage/conf/svnserve.conf
  724  svnadmin create /var/lib/svn/projects
  725  vi /var/lib/svn/projects/conf/svnserve.conf
  726  vi /var/lib/svn/projects/conf/svnserve.conf
  727  vi /var/www/security/svn_passwd
  728  ls
  729  svnserve -d --foreground -r /home/svn
  730  svnserve --help
  731  svnserve -d --foreground -r /var/lib/svn/projects


  606  svn list svn://192.168.1.2/
  607  vi /var/www/security/svn_passwd
  608  svn list svn://192.168.1.2/
  609  ls /var/lib/svn
  610  ls /var/lib/svn/projects/
  611  svn mkdir svn://192.168.1.2/wsimage
  612  vi /var/www/security/svn_passwd
  613  svn mkdir svn://192.168.1.2/wsimage
  614  vi /var/lib/svn/projects/conf/svnserve.conf
  615  vi /var/www/security/svn_passwd
  616  svn mkdir svn://192.168.1.2/wsimage
  617  vi /var/www/security/svn_passwd
  618  svn mkdir svn://192.168.1.2/wsimage
  619  cd /var/www/svn/
  620  ll
  621  ls /var/lib/svn
  622  ls /var/www/svn
  623  ls
  624  cd ..
  625  rm -Rf svn
  626  ls
  627  ll security/
  628  cd security/
  629  ll
  630  chmod 755 svn_passwd
  631  ll
  632  chmod 777 svn_passwd
  633  ll
  634  chown www-data:subversion svn_passwd
  635  ll
  636  ls
  637  ls /var/lib/svn
  638  mkdir /var/lib/svn/security
  639  cp svn_passwd /var/lib/svn/security/
  640  cd /var/lib/svn
  641  ll
  642  cd ..
  643  chown -R root:subversion svn
  644  chmod -R 775 svn
  645  ll
  646  cd svn
  647  ll
  648  vi projects/conf/svnserve.conf
  649  ls
  650  ls /var/lib/svn/projects/

On another computer I ran,

$ svn list svn+ssh://192.168.1.2/var/lib/svn/projects/

and I could see the wsimage directory.

Reference

Page Comments (Click to edit)






[Click to add or edit comments])

Please prepend comments below including a date

Design by N.Design Studio, adapted by solidGone.org (version 1.0.0)
Have a nice day.