In order to keep a version control of my home projects, I decided to set up a subversion server in my B3 Server.
I will be using subversion an Apache.
B3 Server Installation
- Become root
su
- Install subversion and support for Apache
apt-get install subversion libapache2-svn
- Create a base directory for your subversion projects
mkdir /var/svn
- Give permissions for Apache
chown -R www-data:www-data /var/svn
- Configure Apache svn module
vi /etc/apache2/mods-available/dav_svn.conf
- Here’s my dav_svn.conf. Be sure to alter SVNParentPath to your subversion projects base directory.
<Location /svn>
# Uncomment this to enable the repository
DAV svn
SVNParentPath /var/svn
SVNListParentPath on
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
# The following three lines allow anonymous read, but make
# committers authenticate themselves. It requires the 'authz_user'
# module (enable it with 'a2enmod').
#<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
SSLRequireSSL
#</LimitExcept>
</Location>
- Restart Apache
/etc/init.d/apache2 restart
- Create users for subversion
htpasswd -cm /etc/apache2/dav_svn.passwd *yourusername*
- Create your projects with the right permissions
svnadmin create /var/svn/yourproject
chown -R www-data:www-data /var/svn/yourproject
- To remove projects
cd /var/svn
rm yourproject -R
Client Installation
- Install subversion
sudo apt-get install subversion
- Connect and sync your projects. This will create a new directory yourproject in your home folder.
svn co https://b3server/svn/yourproject
- Optionally you can install a graphical tool like rabbitvcs, with nautilus integration
sudo add-apt-repository ppa:rabbitvcs/ppa
sudo apt-get update
sudo apt-get install rabbitvcs-nautilus3
killall nautilus
You can check out the excito wiki for further details.