现在的位置: 首页 > 综合 > 正文

linux svn安装

2012年04月28日 综合 ⁄ 共 3231字 ⁄ 字号 暂无评论

安装包获取:
下载:http://subversion.tigris.org/downloads/subversion-1.4.0.tar.gz

1、安装APR-1.2.7和APR-util-1.2.7
下载地址:http://apr.apache.org/

tar zxvf apr-1.2.7.tar.gz
./configure
make
make install

tar zxvf apr-util-1.2.7.tar.gz

./configure --with-apr=/usr/local/apr/
make
make install

2、编译安装APACHE。

tar zxvf httpd-2.2.3.tar.gz
cd httpd-2.2.3
./configure \
--prefix=/usr/local/apache-2.2.3 \
--enable-dav \
--enable-so \
--enable-maintainer-mode \

--with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config

make
install

3、安装subversion-1.4.0

tar zxvf subversion-1.4.0.tar.gz
./configure \

--with-apxs=/opt/apache/bin/apxs --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr

make
出错:

/usr/bin/ld: cannot find -lexpat

collect2: ld returned 1 exit status

make: *** [subversion/svn/svn] Error 1
处理:(来源:http://blog.sina.com.cn/s/blog_4156950c0100sfzz.html)

[root@localhost lib64]# ln -s /lib64/libexpat.so.0.5.0 /usr/bin/libexpat.so

再次make,出错:

/usr/lib/libexpat.so: could not read symbols: File in wrong format

collect2: ld returned 1 exit status

make: *** [subversion/svn/svn] Error 1
处理(来源:http://wuliangxx.iteye.com/blog/656856)
./configure \
--bindir=/usr/bin/ \

LDFLAGS="-L/usr/lib64 \
-L/lib64" \

--with-apxs=/usr/local/apache-2.2.3/bin/apxs \

--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr

make
make install

4、查看subversion两个动态库有没有安装成功
vi /usr/local/apache-2.2.3/conf/httpd.conf
看到下面两个模块说明安装成功

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

5、配置apache的主配置文件httpd.conf
在最后面增加:

DAV svn

SVNParentPath /home/svnroot/repository/

AuthzSVNAccessFile /home/svnroot/repository/authz.conf

AuthType Basic

AuthName "Subversion.zoneyump"

AuthUserFile /home/svnroot/repository/authfile

Require valid-user

#说明:

DAV svn

SVNParentPath /home/svnroot/repository/ #svn父目录

AuthzSVNAccessFile /home/svnroot/repository/authz.conf #权限配置文件

AuthType Basic #连接类型设置

AuthName "Subversion.zoneyump" #连接框提示

AuthUserFile /home/svnroot/repository/authfile #用户配置文件

Require valid-user #采用何种认证

6、新建一个用户:svnroot ,以下操作非特别说明皆为root用户操作
#groupadd svn

#useradd svnroot -g svn
#passwd svnroot
jinguang

7、改apache启动用户

#在 /usr/local/apache-2.2.3/conf/httpd.conf 文件中配置,找到文件中的这两行:

User daemon

Group daemon
#将daemon改为svnroot,组也做相应更改,让apache进程以svnroot的身份运行
#改完后是这个样子

User svnroot

Group svn

8、创建库文件所在的目录 (svnroot用户进行下面的操作)

$ mkdir /home/svnroot/repository

#创建仓库"test"

$ svnadmin create /home/svnroot/repository/test

#查看svn是否安装成功

$ svnadmin --version

#不让其他人有该目录的权限

$ chmod 700 /home/svnroot/repository

(svnroot用户操作结束)

#删除一个项目

$ svnadmin dump pjweb

导出项目(来源:

https://i18n-zh.googlecode.com/svn/www/svnbook-1.4/svn.reposadmin.maint.html#svn.reposadmin.maint.migrate)

(http://www.diybl.com/course/3_program/gcs/2008911/141990.html)(http://hi.baidu.com/willor/blog/item/49492539a43fe723b8998f3d.html)

svnadmin dump test > testsvn

导入项目

svnadmin load test < testsvn

9、权限管理

1)增加用户

# /usr/local/apache-2.2.3/bin/htpasswd /home/svnroot/repository/authfile #用户名(加入新的用户,就不用-c了),更改用户密码也用这个

# /usr/local/apache-2.2.3/bin/htpasswd -c /home/svnroot/repository/authfile user-name

#第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加

New password:psbsa2f1fxxx

2)权限分配

# vi /home/svnroot/repository/authz.conf

[groups]

admin=useradmin

devteamcs = useradmin,user1,user2//这里定义了一个用户组

[/]//对所有的项目,所有的用户都有读权限,admin用户有读写权限

@admin = rw

* = r

[test:/]//对test项目,

@devteamcs = rw

//重启apache

# /usr/local/apache2/bin/apachectl restart
访问http://localhost/svn/test ,现在需要身份验证,且通过验证后应该可以看到信息

作者:刘投稿

【上篇】
【下篇】

给我留言

留言无头像?