发一个以前配置过得SVN
1.下载安装subversion,apache2
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install apache2
sudo apt-get install subversion
sudo a2enmod ssl
sudo a2ensite default-ssl
sudo apt-get install subversion libapache2-svn
sudo a2enmod dav_svn
2.开启svn服务
sudo mkdir /usr/local/svn/repository/proj-1
sudo mkdir /usr/local/svn/repository/proj-2
sudo mkdir /usr/local/svn/repository/proj-3
......
sudo svnadmin create /usr/local/svn/repository/proj-1
.......
默认的是db版本库你可一创建abcDB版本库
或者
svnadmin create /usr/local/svn/repository/proj-1 --fs-type abcDB
sudo chown -R www-data /usr/local/svn/ #每次创建新仓库都要执行
3.建立密码和权限文件
假设密码和权限文件在/usr/local/svn/permission里面
sudo mkdir /usr/local/svn/permission
sudo touch /usr/local/svn/permission/svn.passwd
sudo touch /usr/local/svn/permission/svn.access
创建用户
sudo htpasswd -c /usr/local/svn/permission/svn.passwd 第一个用户名
sudo htpasswd /usr/local/svn/permission/svn.passwd 第二个用户
.......
设置权限
sudo vim /usr/local/svn/permission/svn.access
[groups]
team1=user1,user2
team2=user3,user4
[proj-1:/]
*=r
@team1=w
4.配置apache2
配置启动项
sudo vim /etc/apache2/mods-available/dav_svn.conf
DAV svn
SVNListParentPath on
SVNParentPath /usr/local/svn/repository
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /usr/local/svn/permission/svn.passwd
AuthzSVNAccessFile /usr/local/svn/permission/svn.access
Require valid-user
AllowOverride None
Options None
Order allow,deny
Allow from all
Satisfy all
配置加载模块
sudo vim /etc/apache2/mods-available/dav_svn.load
# Depends: dav
LoadModule dav_svn_module /usr/lib/apache2/modules/mod_dav_svn.so
LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so
LoadModule dav_module /usr/lib/apache2/modules/mod_dav.so
LoadModule dav_fs_module /usr/lib/apache2/modules/mod_dav_fs.so
5.最后重启apache,并测试
sudo /etc/init.d/apache2 restart
打开浏览器http://yourserver/svn/repository/proj-1
就OK了
下面的基本上是可以忽略的,没有一点实用的东西,只是好看点而已
《二》
优化SVN
构架好svn+apache服务器后,如果要使浏览器浏览仓库时更“漂亮”,请将去掉下行注释
(在文件 /etc/apache2/mod-available/dav_svn.conf)
#SVNIndexXSLT "/svnindex.xsl"
将文件 svnindex.xsl, svnindex.css 和 menucheckout.ico 放到你的文档根目录中, 这个目录在 Apache 配置文件中用 DocumentRoot 指示设置。
现在的关键问题是,这些文件该存在哪里?DocumentRoot在哪里设置。
经过一番努力,发现,在/etc/apache2/site-available/ 下面, 几个文件查看DocumentRoot设置,
就是subversion的设置文件,里面发现了,DocumentRoot的设置,默认为 /var/www
把http://www.reposstyle.com/下载的文件,解压缩之后放在/var/www下,也就是把解压缩后的文
件夹repos-web放在/var/www下,
然后修改配置apache2
sudo vim /etc/apache2/mods-available/dav_svn.conf
添加
SVNIndexXSLT "/repos-web/view/repos.xsl"
保存,
sudo /etc/init.d/apache2 reload
然后去用浏览器浏览版本库,看看发生什么变化了。