在Linux中安装配置svn服务-subversion edge
公司最近被并购,从本土公司也转变为国际4A公司了,在大环境下,软件正版化,成了一个必然的趋势。
vs专业版,一人一套,sqlserver不给买呀不给买,express将就着用,adobe也是单件啊,不是套装,dw和ps也不是人手一份。
以至于连个内部的测试服务器都木有了,总算最终只给留了一台版本控制服务器,cpu授权的windows也不给买,这个么,linux+svn好了。
服务器还不是独立主机,是一个vm虚拟化服务器,centos5.8系统,讲究着用吧,硬盘倒算大,200g。
centos默认会安装openoffice带jdk1.6,和java开发环境jdk1.4,建议安装时不要选择,或者使用 update-alternatives --config java选择默认的jdk版本)
一、软件准备
很简单的两个软件:jdk1.7.0_10和subversion edge3.2,其实用jre也可以,不一定非要用jdk。
务必注意,至少截止到目前的subversion edge 4.x版本,在jdk1.8环境下无法安装,会报错。无法启动服务。
二、安装配置jdk
1、安装就不说了,安装于默认位置:/usr/java/jdk1.7.0_10;
2、环境配置的要有,vim /etc/profile,在原有的export 语句后面添加如下:
JAVA_HOME='/usr/java/jdk1.7.0_10'
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME CLASSPATH PATH
保存文件,并退出,运行source /etc/profile使配置立即生效。
接着运行:java -version,配置正确的话,会显示出如下的画面:
三、svn用户的创建
因为subversion启动时,会使用系统账号启动,如果使用root安装,会提示权限限制,建议还是创建一个独立的svn账户用于启动svn服务。
useradd -M svnroot //不需要常规登录,所以没必要创建家目录
passwd svnroot //修改密码,忘了也无所谓了
四、subversion edge的安装
将下载后的文件复制到:/data/csvn目录,csvn目录,为svnroot有完全操作权限。
切换到svnroot用户:
su svnroot
cp csvn.conf.dist csvn.conf
修改csvn.conf,设置如下两行:
RUN_AS_USER=svnroot
JAVA_HOME=/usr/local/jdk1.7.0_10
再切换为root用户,安装svn:
bin/csvn install
再次切换回svnroot用户,启动svn服务:
bin/csvn start
OK,完成工作。
五、特殊配置
默认情况下,不允许使用低于1024的端口作为svn的服务端口,但是在某些前提下我们必须要使用这个端口。可以通过如下设置实现:
chown root:svnroot lib/httpd_bind/httpd_bind
chmod u+s lib/httpd_bind/httpd_bind
再次重启之后,在管理控制台中即可将端口设置为常用端口,例如80。