Linux架设Subversion(SVN)

Linux架设Subversion(SVN)

一、下载需要安装的软件

wget http://subversion.tigris.org/downloads/subversion-1.6.1.tar.gz
wget http://subversion.tigris.org/downloads/subversion-deps-1.6.1.tar.gz

二、新建一个用户:svnroot

三、编译安装httpd (root用户操作):

//解压apache2安装包
tar xvzf httpd-2.2.2.tar.gz
//进入解压后的目录
cd httpd-2.2.2
//配置apache安装,前两个参数是必须要加的,你还可以根据您的需要添加其他的参数。
//后面的参数制定你要把apache安装哪里
./configure --enable-dav --enable-so --prefix=/usr/local/apache2/
make
//安装
make install
cd /usr/local/apache2/bin
//启动apache服务
./apachectl start
//打开浏览器http://localhost/如果有测试页”It works!”出现则证明已经安装成功。

四、安装svn

tar xvzf Subversion-1.6.17.tar.gz
cd Subversion-1.6.17
./configure --with-apxs=/usr/local/apache2/bin/apxs --prefix=/usr/local/subversion --with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2 --with-ssl --enable-maintainer-mode --enable-dav --enable-so
make
make install
在make的时候,.configure之后,进行make,出现如下问题
/usr/bin/ld: cannot find -lexpat
collect2: ld returned 1 exit status
make: *** [subversion/svn/svn] Error 1
应该是缺少-lexpat库文件。 解决方法:
yum install expat expat-devel
安装了之后,svn的make就过了
#创建库文件所在的目录(svnroot用户进行下面的操作)
mkdir /home/svnroot/repository
//创建仓库"test"
/usr/local/subversion/bin/svnadmin create /home/svnroot/repository/test
//查看svn是否安装成功
/usr/local/subversion/bin/svnadmin --version
//不让其他人有该目录的权限
chmod 700 /home/svnroot/repository
//(svnroot用户操作结束)

五、修改Apache配置文件

  vi /usr/local/apache2/conf/httpd.conf

找到下列语句,如果没有则自行添加

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

#在后面添加
DAV svn
#svn父目录
SVNParentPath /home/svnroot/repository/
#权限配置文件
AuthzSVNAccessFile /home/svnroot/repository/authz.conf
#连接类型设置
AuthType Basic
#连接框提示
AuthName "Subversion.zoneyump"
#用户配置文件
AuthUserFile /home/svnroot/repository/authfile
#采用何种认证
Require valid-user

六、重启apache

/usr/local/apache2/bin/apachectl restart
打开浏览器访问http://localhost/svn/test/,如果有东西显示就说明成功。

七、权限管理

#增加用户
htpasswd -c /home/svnroot/repository/authfile 用户名
#第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加
htpasswd /home/svnroot/repository/authfile 用户名(加入新的用户,就不用-c了)
#权限分配
vi /home/svnroot/repository/authz.conf

[groups]
admin=useradmin
#这里定义了一个用户组
devteamcs = useradmin,user1,user2
#对所有的项目,所有的用户都有读权限,admin用户有读写权限

- [/]
- @admin = rw
- *=r
`
#对test项目
[test:/]
@devteamcs = rw
  //注意:在编辑authz.conf文件时,所有行都必须要顶头写,不能有缩行出现,否则会报错:”"Access denied: ‘user1′ “”。

八、修改配置文件

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

User daemon
Group daemon 将daemon改为svnroot,组也做相应更改,让apache进程以svnroot的身份运行  改完后是这个样子
User svnroot
Group svn
  //重启apache
/usr/local/apache2/bin/apachectl restart

    访问http://localhost/svn/test提示输入用户名密码,输入创建的用户名和密码登录进去看到“Revision 0: /”之类的就表示成功啦!至此apache+svn配置完成。


» 本文链接:https://blog.java-zone.org/archives/67.html
» 转载请注明来源:Java地带  » 《Linux架设Subversion(SVN)》

» 本文章为Java地带整理创作,欢迎转载!转载请注明本文地址,谢谢!
» 部分内容收集整理自网络,如有侵权请联系我删除!

» 订阅本站:https://blog.java-zone.org/feed/

标签: Linux, SVN, Subversion

添加新评论