设为首页 收藏本站
查看: 1117|回复: 0

[经验分享] SVN Server安装&配置

[复制链接]

尚未签到

发表于 2018-10-23 10:28:48 | 显示全部楼层 |阅读模式
SVN SERVER配置
  引用:http://www.ha97.com/4467.html
  http://8474832.blog.51cto.com/8464832/1555531
  http://blog.sina.com.cn/s/blog_64d015c10100syjg.html
  http://blog.csdn.net/yuansicau/article/details/2845465
  SVN SERVER配置1
  一、安装svn:2
  二、 svn配置过程如下4
  三、Subversion使用钩子脚本实现自动更新7
  四、常见错误8

一、安装svn:

  1.先卸载老版本的svn
  如果rpm -e subversion 不能卸载的话,用以下命令:
  rpm -e --allmatches subversion
网页支持模块安装
  1)安装Apache Apr
  wget http://apache.mirror.phpchina.com/apr/apr-1.3.3.tar.gz
  tar -zxvf apr-1.3.3.tar.gz
  cd apr-1.3.3
  ./configure --prefix=/usr/local/apr
  make
  make install
  2) 安装Apache Apr Util
  wget http://apache.mirror.phpchina.com/apr/apr-util-1.3.4.tar.gz
  tar -zxvf apr-util-1.3.4.tar.gz
  cd apr-util-1.3.4
  ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
  make
  make install
  3)安装Apache Httpd
  wget http://labs.xiaonei.com/apache-mirror/httpd/httpd-2.2.11.tar.gz
  tar -zxvf httpd-2.2.11.tar.gz
  cd httpd-2.2.11
  ./configure --prefix=/usr/local/apache2.2 --with-apr=/usr/local/apr --with-apr-  util=/usr/local/apr-util --enable-dav
  make
  make install
安装subversion
  (下载subversion1.6.12-deps.tar.gz 和subversion-1.6.12.tar.gz,一部分 (deps)是subversion要依赖的其它项目的包,是编译subversion所必须的代码。安装时分别解压缩这两个包,它们会自动解压到同一个目录)
  wget http://subversion.tigris.org/downloads/subversion-deps-1.6.4.tar.gz
  wget http://subversion.tigris.org/downloads/subversion-1.6.4.tar.gz
  tar -zxvf subversion-deps-1.6.4.tar.gz
  tar -zxvf subversion-1.6.4.tar.gz
  cd subversion-1.6.4
  ./configure --prefix=/usr/local/subversion1.6 --with-openssl --with-apr=/usr/local/apr/ --with-apr-  util=/usr/local/apr-util --with-apxs=/usr/local/apache2.2/bin/apxs
  说明:如果configure无法通过,出现没有找到sqlite3.c没有找到的错误,那么需要下载sqlite-amalgamation,设置如下
  【
  mkdir subversion-1.6.0/sqlite-amalgamation
  wget http://www.sqlite.org/sqlite-amalgamation-3.6.11.tar.gz
  tar -zxvf sqlite-amalgamation-3.6.11.tar.gz
  cp sqlite-3.6.11/* subversion-1.6.0/sqlite-amalgamation/
  然后重新configure即可
  】
  Yum install zlib-devel
  make
  make install
  如果编译成功,那么在/usr/local/apache2.2/modules下会出现mod_dav_svn.so 和 mod_authz_svn.so 模块。安装过程结束。
二、
svn配置过程如下

  基本的SVN服务器配置
  1,新建一个目录用于存储SVN所有文件
  # mkdir /home/svn
  2,新建一个版本仓库
  # svnadmin create /home/svn/project
  3,初始化版本仓库中的目录
  # svn import /tmp/html/ file:///home/svn/project -m “initial import”
  4,添加用户
  要添加SVN用户非常简单,只需在/home/svn/project/conf/passwd文件添加一个形如“username=password”的条目就可以了。为了测试,我添加了如下内容:
  [users]
  # harry = harryssecret
  # sally = sallyssecret
  pm = pm_pw
  server_group = server_pw
  client_group = client_pw
  test_group = test_pw
  5,修改用户访问策略
  /home/svn/project/conf/authz记录用户的访问策略,以下是参考:
  [groups]
  project_p = pm
  project_s = server_group
  project_c = client_group
  project_t = test_group
  [project:/]
  @project_p = rw
  * =
  [project:/server]
  @project_p = rw
  @project_s = rw
  * =
  [project:/client]
  @project_p = rw
  @project_c = rw
  * =
  [project:/doc]
  @project_p = rw
  @project_s = r
  @project_c = r
  @project_t = r
  * =
  说明:以上信息表示,只有project_p用户组有根目录的读写权。r表示对该目录有读权限,w表示对该目录有写权限,rw表示对该目录有读写权限。最后一行的* =表示,除了上面设置了权限的用户组之外,其他任何人都被禁止访问本目录。这个很重要,一定要加上!
  6,修改svnserve.conf文件,让用户和策略配置升效.
  svnserve.conf内容如下:
  [general]
  anon-access = none
  auth-access = write
  password-db = /home/svn/project/conf/passwd
  authz-db = /home/svn/project/conf/authz
  7,启动服务器
  # svnserve -d -r /home/svn
  注意:如果修改了svn配置,需要重启svn服务,步骤如下:
  # ps -aux|grep svnserve
  # kill -9 ID号
  # svnserve -d -r /home/svn
  8,测试服务器
  # svn co svn://192.168.60.10/project /tmp/
  Authentication realm:  92731041-2dae-4c23-97fd-9e1ed7f0d18d
  Password for 'root':
  Authentication realm:  92731041-2dae-4c23-97fd-9e1ed7f0d18d
  Username: server_group
  Password for 'server_group':
  svn: Authorization failed ( server_group没用根目录的访问权 )
  # svn co svn://192.168.60.10/project
  Authentication realm:  92731041-2dae-4c23-97fd-9e1ed7f0d18d
  Password for ‘root’:
  Authentication realm:  92731041-2dae-4c23-97fd-9e1ed7f0d18d
  Username: pm
  Password for ‘pm’:
  A    project/test
  A    project/server
  A    project/client
  Checked out revision 1.  ( 测试提取成功 )
  # cd project/server
  # vim main.c
  # svn add main.c
  # svn commit main.c -m “!!”
  Adding         main.c
  Transmitting file data .
  Committed revision 2.  ( 测试提交成功 )
  1.   /usr/local/subversion/bin/svn checkout svn://192.168.3.221/20141118/ /tmp/tools/html
  2.   svn add main.c
  3.   svn commit main.c -m “!!”



三、Subversion使用钩子脚本实现自动更新

  在 版本仓目录的hooks/ 目录下post-commit 文件,去掉后缀
  脚本内容如下
  ==================================================================
  SVN=/usr/local/subversion/bin/svn
  WEB=/tmp/tools/html/20141118
  $SVN update $WEB --username server_group --password server_pw
  ------------------------------------------
  su - apache -c "$SVN update $WEB --username server_group --password server_pw --no-auth-cache --non-interactive"
  -----------------------------------------
  ------------------------------------------
  $SVN update $WEB --username server_group --password server_pw --no-auth-cache --non-interactive
  ------------------------------------------
  ------------------------------------------
  $SVN update -r 52 $WEB/1/v6/ --username server_group --password server_pw --non-recursive
  ------------------------------------------
  ==================================================================
  让post-commit有执行的权限 chmod 777 post-commit
  

四、常见错误
  1.svn: Failed to add file '/tmp/tools/svn/20141119/index.html': an unversioned file of the same name already exists
  原因如提示,由于本地文件夹未加入版本控制前,已经有与版本控制文件夹有相同文件,当做CHECKOUT时将有此错误。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-625334-1-1.html 上篇帖子: SQL 横竖表转换 下篇帖子: 在Sql Server数据表中使用Guid类型的列及设置Guid类型的默认值
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表