部门文档服务器安装部署说明
李敏捷 2012/11/4
1 综述:
部门维护文档存在版本更新速度快(甚至跟不上各系统的更新),没有集中存储问题。Subversion是简单、有效的一种版本控制软件,可以利用其版本控制功能来管理部门的维护文档。
CollabNet Subversion(即CollabNetSubversionEdge)是一种企业就绪的 Subversion 分发版,它包含经过认证的二进制文件、特定于平台的安装程序、针对其他工具的经过认证的插件以及企业就绪的加载项。其支持在Web上管理用户、自动备份等功能,可利用其对部门维护文档进行有效的管理。
本文档说明CollabNetSubversionEdge等软件在Linux下的部署过程。
Svnwebclient是基于web的Subversion客户端软件,其支持在web端查看、下载、更新文档,并有完整的日志功能,是比较实用的SVNweb客户端。
2 安装准备
操作系统: CentOS 5.5,JAVA 1.6+,Python 2.4+ 安装软环:
CollabNetSubversionEdge-3.0.1_linux-x86.tar.gz Tomcat 7 部署软件包:
svnwebclient-2.5.1.zip (已修正此软件版本中上传文件中文文件名问题)
svn-web-admin-1.0.war
3 环境准备
1、 安装JAVA #cd /opt #./jdk-6u25-linux-i586-rpm.bin 设置环境变量: #vi /etc/profile 文件最后添加如下内容: JAVA_HOME=/opt/jdk1.6.0_25 JAVA_BIN=$JAVAHOME/bin 1
PATH=$PATH:$JAVA_HOME/bin CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME JAVA_BIN PATH CLASSPATH 最后使用配置生效:source /etc/profile 2、 安装Python 2.4
操作系统自带,过程略。
4 安装CollabNetSubversionEdge
1、 创建用户和组 #groupadd gsvn #useradd -G gsvn svn #passwd svn svn用户必须对/tmp目录具有读写权限(默认就有),否则无法修改修改库权限配置文件。
2、 把svn群组下的用户加入到sudo组,打开/etc/sudoers文件,找到root ALL=(ALL) ALL,
在下一行加入svnuser ALL=(ALL) ALL,强制保存退出。
3、 安装CollabNetSubversionEdge(安装到/local目录) #mkdir /local #cp CollabNetSubversionEdge-3.0.1_linux-x86.tar.gz /local #chown svn.gsvn /local #su - svn $cd /local $tar -zxf CollabNetSubversionEdge-3.0.1_linux-x86.tar.gz $chown -R svn:gsvn csvn $cd csvn $sudo -E bin/csvn install 4、 修改运行csvn的用户为svn 修改data/conf/csvn.conf文件中的“JAVA_HOME”和“RUN_AS_USER” 。注意运行CollabNet subversion的用户不能为root用户,应该为svn,即csvn.cof中RUN_AS_USER=svn 5、 启动服务,必须以svn用户运行 $ bin/csvn start
6、 其他功能 1. 可以把/opt/csvn/bin目录下csvn和csvn-httpd备份至启动项,自动启动。 chconfig –level 345 csvn on chconfig –level 345 csvn-httpd on 2. Configure the Apache Subversion server to start automatically when the system boots. 2
$ cd csvn $ sudo bin/csvn-httpd install 7、 Web登录 地址:http://localhost:3343/csvn 用户名:admin 密码:admin 8、 建议对svn web服务器各项配置根据自己需要进行配置
9、 增加自动备份策略
3
10、 Svn权限配置样例: [groups] gpadmin = admin gpxxb = liminjie [/] * = @gpadmin = rw @gpxxb = r [svntest:/程序管理] #设置对svntest版本库中程序管理目录的访问权限 * = #未授权用户没有任何权限 @group_user2 = rw @group_user3 = rw
5 安装Tomcat、部署程序包
1、 安装Tomcat 7 #cp apache-tomcat-7.0.32.tar.gz /local 4
#tar –xvf apache-tomcat-7.0.32.tar.gz #chown –R svn.gsvn apache-tomcat-7.0.32 (可以以svn身份运行Tomcat) 2、 修改配置文件(支持中文URL) 修改tomcat的url编码:编辑tomcat/conf/server.xml中
3、 部署svnwebclient-2.5.1.zip #cp svnwebclient-2.5.1.zip /local/apache-tomcat-7.0.32/webapps
4、 配置svnwebclient指向SVN。
编辑svnwebclient/WEB-INF/web.xml,SVN账号只要能登录即可。
6、 其他 svn-web-admin-1.0.war是web的用户、群组管理工具,但由于没有认证功能,存在严重安全隐患,故暂时不使用。
Username 你svn内存在的帐号
6.1
登陆http://svnserver:3343/csvn进行如下管理:
1) 管理员登陆:版本库创建、备份、版本库模板等管理。
2) 管理员登陆:用户、用户组、版本库访问规则。 3) 管理员登陆:配置apache服务器(如8080端口),使用客户端是通过apache服务器与svn server通信。
4) 普通用户登陆:只能修改密码。 6.2
登陆http://svnserver:8080/svn:查看有权限的版本库。
5
6.3 6.4
使用客户端检出目录等使用“http://svnserver:8080/svn/版本库名字”。 登陆http://svnserver:8081/svnwebclient,以web方式操作版本库。
右上角分别为:版本记录、增加文件夹、增加文件、删除选中,点击各按年即可对版本库实现上传、更新、删除等功能。
7 可能出现的问题:
1、 Console启动正常,但报“WARNING: CSVN Console timed-out waiting for http://localhost:3343/csvn”,
现象:csvn/data/logs/console***.log日志显示到如下内容就不再更新:
2012-11-22 09:04:52.676:INFO:/csvn:newClient: com.collabnet.svnedge.admin.PackagesUpdateService_1ub34omuf19j9 2012-11-22 09:04:52.678:INFO:/csvn:newChannel: /csvn-updates 2012-11-22 09:04:52.678:INFO:/csvn:newChannel: /csvn-updates/status 2012-11-22 09:04:52.678:INFO:/csvn:newChannel: /csvn-updates/percentages 解决办法:有可能是网络中DNS有问题,可以尝试去掉主机的DNS解析试试。
2、
8 相关数据包:
1、 CollabNetSubversionEdge:web下载。 2、 SVNWebClient,SVNwebadmin
6