linux的svn服务器搭建--Subversion Edge
linux下的collabnetsubversionedge的安装:
安装条件(运行环境)
jdk + python + httpd
1、root用户下建立svnroot用户,及设定密码
useradd svn
passwd svn
2. 安装JDK及环境变量:如果java -version 说明安装成功
3. 安装python,yum install python
4. svn用户下解压缩CollabNetSubversionEdge包,并修改csvn/data/conf/csvn.conf文件的RUN_AS_USER和JAVA_HOME
su - svnroot
tar zxvf CollabNetSubversionEdge-1.3.2_linux-x86.tar.gz
cd csvn/data/conf/
cp csvn.conf.dist csvn.conf
vi csvn.conf
修改
RUN_AS_USER=svn
JAVA_HOME=/usr/local/java/jdk1.6.0_21
5.切换到root用户,运行CollabNetSubversionEdge包的安装
cd /usr/local/csvn/
sudo -E bin/csvn install
注:下面两行在设定访问路径是80端口和443端口时候要使用到
chown root:svnroot /home/svnroot/csvn/lib/httpd_bind/httpd_bind
chmod u+s /home/svnroot/csvn/lib/httpd_bind/httpd_bind
6.切换到svn用户,启动
su - svn
cd /usr/local/csvn
bin/csvn start
7. 启动httpd(不然subversion服务器跑不了,它是基于apache服务器来运行的)
:/usr/local/csvn/bin/httpd -f /usr/local/csvn/data/conf/httpd.conf -k start -----Subversion Edge自带了httpd服务
8. 然后访问http://ip:3343/csvn 进行一些配置,包括版本库父文件夹/usr/local/csvn/data/repositories(可以设置的)和备份文件存储目录/usr/local/csvn/data/dumps
配置文件:
版本库规则文件:/usr/local/csvn/data/conf/svn_access_file
#设置组
#组名称 = 成员(多个成员,分割)
[groups]
vip = zhangsan,lisi
#设置跟目录权限
#r读、w写
#*代表所有人
[/]
* = rw
[test:/]
* =
zhangsan = rw
[bbc:/Trunk/bbc]
* =
@vip = rw
用户数据文件:/usr/local/csvn/data/conf/svn_auth_file
svn代码数据:usr/local/csvn/data/repositories/
svn代码数据备份:/usr/local/csvn/data/dumps/
svn的使用考虑三个问题:
数据的备份与恢复
数据的迁移:
1、 把相应的repository从旧服务器复制到新服务器
2、 在”版本库”页面选择”发现版本库”或者discover
用户数据的迁移
1、从原机器中拷贝{安装路径} \data\conf下的svn_auth_file文件到新机器。
2、修改{安装路径}\data\csvn-production-hsqldb.script文件。复制类似INSERT INTO USER VALUES(1,2,'admin user','admin@example.com',TRUE,'f52c7457507a292a11bf8d274d720ee4','Super Administrator','admin')的语句
到新服务器的对应文件。
3、重新启动服务