最近和朋友合作一个小项目,于是在VPS(Ubuntu 10.04 LTS 64bit)上搭建了一个Apache+SVN服务便于管理代码,记录如下。
1. 安装
sudo apt-get install subversion sudo apt-get install libapache2-svn
2. 创建subversion用户组,并把apache运行用户www-data加入到subversion用户组中
sudo addgroup subversion sudo usermod -G subversion -a www-data
3. 创建SVN仓库(假设文件存放在/data/svn目录下)
sudo mkdir /data/svn cd /data/svn sudo mkdir myproject sudo chown -R root:subversion myproject # 让目录属于subversion组 sudo svnadmin create /home/svn/myproject # 创建SVN仓库 sudo chmod -R g+rws myproject # 赋予subversion组权限
4. 配置apache服务,加入下面的配置/etc/apache2/mods-available/dav_svn.conf中
<Location /svn/myproject> DAV svn SVNPath /data/svn/myproject AuthType Basic AuthName "myproject subversion repository" AuthUserFile /etc/subversion/passwd Require valid-user </Location>
5. 创建/etc/subversion/passwd文件
sudo htpasswd -c /etc/subversion/passwd user_name sudo htpasswd /etc/subversion/passwd other_user_name
系统会提示输入密码,-c选项表示创建新的/etc/subversion/passwd文件,没有-c选项表示加入新用户到已有的/etc/subversion/passwd文件
6. 重启apache,通过http://hostname/svn/myproject就可以访问SVN了
sudo /etc/init.d/apache2 restart
7. 给apache配置SSL,请参考
http://www.tc.umn.edu/~brams006/selfsign.html
http://www.tc.umn.edu/~brams006/selfsign_ubuntu.html