http://www.cublog.cn/u3/103360/showart_2043375
linux svn 配置
2009-08-19 11:02
-------------vi 乱码-----------------------
vi .bashrc
加入下面
export LANG=en_US
----------------安装软件-----------------------------
1.安装apr
cd apr
./configure --prefix=/usr/local/apr
make
make install
2.安装apr-util
cd apr-util
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
make
make install
3.安装zlib
cd zlib
./configure
make
make install
4.安装httpd
tar zxvf httpd-2.2.11.tar.gz
cd httpd-2.2.11
./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr-util/bin/apu-1-config --enable-so --enable-dav --enable-maintainer-mode --enable-rewrite
make
make install
5.解压subversion
tar zxvf subversion-1.6.1.tar.gz
tar zxvf subversion-deps-1.6.1.tar.gz (这个解压后会自动放到前面一个解压的目录里的)
安装serf
cd subversion-1.6.1/serf
./configure --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/
make
make install
安装 neon
cd subversion-1.6.1/neon
./configure --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/
make
make install
安装 sqlite
cd subversion-1.6.1/sqlite-amalgamation
./configure --prefix=/usr/local/sqlite3
make
make install
6.安装subversion
cd subversion-1.6.1
./configure --prefix=/usr/local/svn --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr-util/bin/apu-1-config --with-sqlite=/usr/local/sqlite3 --with-ssl --with-zlib=/usr/lib --enable-maintainer-mode
make
make install
----------------------配置svn----------------------------------------------
1.vi /usr/local/apache2/conf/httpd.conf 查看是否有如下2行,有就对了
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
chmod -R 755 /code/ddd
2.建立版本库
mkdir /code (代码的根目录,根据自己情况)
/usr/local/svn/bin/svnadmin create /code/test (建一个test项目)
ls /code/test 里面多了些文件就对了
----------------------配置apache-----------------------------------------
vi /usr/local/apache/conf/httpd.conf
在末尾加上如下内容:
<Location /svn>
DAV svn
SVNParentPath /code #svn父目录
AuthzSVNAccessFile /code/authz.conf #权限配置文件
AuthType Basic #连接类型设置
AuthName "Subversion" #连接框提示
AuthUserFile /code/authfile #用户配置文件
Require valid-user #采用何种认证
</Location>
例子:
<Location /svn>
DAV svn
SVNParentPath /home/zhz/svnroot
AuthzSVNAccessFile /home/zhz/svnroot/apa_authz.conf
AuthType Basic
AuthName "Subversion"
AuthUserFile /home/zhz/svnroot/apa_pass
Require valid-user
</Location>
-------------------------------------------------------
启动apache
cd /usr/local/apache2/bin
./apachectl start
------创建用户配置文件-----------------------------------------------
htpasswd -c /code/authfile user1 //必须要这样创建.
回车输入密码 (-c是第一次要创建文件)
htpasswd /code/authfile user2
回车输入密码
--------------------配置svn访问控制------------------------------------
使用 SVNParentPath 代替 SVNPath 来指定多个版本库的父目录时,其中所有的版本库都将按照这个策略文件配置。例如上例中 tony 将对所有版本库里的 /tags 目录具有读写权限。如果要对具体每个版本库配置,用如下的语法:
[groups]
project1_committers = paulex richard
project2_committers = jimmy michel spark sean \
steven tony robert
[repos1:/]
* = r
@ project1_committer = rw
[repos2:/]
* = r
@ project2_committer = rw
这样项目1的 committer 组只能对 repos1 版本库下的文件具有写权限而不能修改版本库 repos2,同样项目2的 commiter 也不能修改 repos1 版本库的文件。
例子:
[groups]
cp_admin=zhz,ypf,lzm
cp_2=zhz,ypf
[cp:/]
*=r
@cp_admin=rw