`
SavageGarden
  • 浏览: 215643 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

搭建版本服务器--SubVersion

阅读更多
1. 安装apache
# tar -xvf httpd-2.2.13.tar.gz –C /opt/apache2/
# cd /opt/apache2/httpd-2.2.13
# ./configure --enable-dav --enable-so --enable-nonportable-atomics --prefix=/usr/local/apache2/
# make
# make install
2. 安装subversion
# tar -xvf subversion-1.6.5.tar.bz2 -C /opt/subversion/
# tar -xvf subversion-deps-1.6.5.tar.bz2 -C /opt/subversion/
# cd /opt/subversion/subversion-1.6.5/
# ./configure
--with-apxs=/usr/local/apache2/bin/apxs
--with-apr=/usr/local/apache2
--with-apr-util=/usr/local/apache2/
--prefix=/usr/local/subversion
  # make
# make install
将bin目录添加到PATH
# vi /etc/profile
export PATH=$PATH:$JAVA_HOME/bin:/usr/local/subversion/bin
# source /etc/profile
3. 创建repository
创建用户组和用户
# groupadd svn
# useradd –g svn –p svnroot svnroot
# cd /home/svnroot/
# mkdir repository
# svnadmin create repository/test
创建了名为test的版本库
4. 权限设置
(1) 创建用户,生成身份认证文件
# htpasswd –mc /home/svnroot/repository/pwdfile svnroot
New password: *******
Re-type new password: *******
# htpasswd –mc /home/svnroot/repository/pwdfile svntest
New password: *******
Re-type new password: *******
(2) 创建授权文件
将test版本库中的授权文件拷贝至repostitory目录下
# cp /home/svnroot/repostitory/test/conf/authz /home/svnroot/repostitory/authz.conf
修改此文件,为test下各目录设置权限
[groups]                                                     //群组设置
   g_pm = svnroot                                         //某群组里的成员
   g_dev = svntest

   [test:/]                                                      //仓库test的根目录的访问权限
   @g_pm = r                                               //g_pm组用户具有读和写权限,’@’开头的表示群组设置
   @g_dev = r                                              //g_dev用户具有读写权限

   [test:/trunk]                                              //仓库test的trunk目录的访问权限
  @g_pm = rw                                               //g_pm组用户具有读和写权限,’@’开头的表示群组设置
   @g_dev = rw                                              //g_dev用户具有读写权限

   [test:/branches]                                        //仓库test的branches目录下的访问权限
   @g_pm = rw                                               //g_pm组用户具有读和写权限,’@’开头的表示群组设置
   @g_dev = rw                                              //g_dev用户具有读写权限

   [test:/tags]                                                //仓库test的tags目录下的访问权限
   @g_pm = rw                                               //g_pm组用户具有读和写权限,’@’开头的表示群组设置
   @g_dev = rw                                              //g_dev用户具有读写权限
(3) 设置版本库所有者
# chown -R svnroot:svn /home/svnroot/
# chmod 700 /home/svnroot/repostitory/
5. 配置apache
配置以svnroot用户运行apache
首先,打开apache配置文件/usr/local/apache2/conf/httpd.conf,确保将User和Group 设置为
User svnroot
Group svnroot
接着,在httpd.conf的最后添加以下内容(不包括后面的注释)
<Location /svn>
   DAV svn
   SVNParentPath /home/svnroot/repository/                           //svn父目录

   AuthType Basic                                                                       //客户端认证机制
   AuthName "Subversion Repository"                                        //认证域名称
   AuthUserFile /home/svnroot/repository/pwdfile                   //身份认证文件 

   AuthzSVNAccessFile /home/svnroot/repository/authz.conf         //权限配置文件
   Satisfy Any                                                                             //先尝试匿名访问
   Require valid-user                                                                   //仅通过验证的用户可访问版本库
</Location>
6. 导入源代码
创建目录
# cd /home/svnroot
# mkdir –p import/{trunk,branches,tags}
将源代码拷贝到truck目录下,比如我将本地的eclipse项目jco_sap上传到该目录,

导入到版本库
# svn import /home/svnroot/import file:///home/svnroot/repository/test –m "Init repository"
7. 启动服务
按照以上的配置,启动apache后可以通过http访问到版本库,如果不想这样做,也可以启动svnserver来提供服务
8. eclipse导入项目
安装subclipse(subversion的eclipse插件)后导入项目时多出了一项

如果是apache提供的服务,在创建资源库位置时为http://ip/svn/test,如果是svnserver提供的服务:svn://ip/svn/test

  • 大小: 48.3 KB
  • 大小: 42.9 KB
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics