Ubuntu12.04 + subversion + apache2 +权限管理

发一个以前配置过得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

 

 svn的仓库所在的根目录

    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

 

然后去用浏览器浏览版本库,看看发生什么变化了。


你可能感兴趣的:(Linux系统管理)