官网下载
http://subversion.apache.org/download.cgi 选择合适的版本下载并解压
安装SVN
tar -zxvf svnversion-1.8.16.tar.gz
cd subversion-1.8.16
# 安装subversion前,须安装apr和apr-util才能正常工作,但是我们安装APACHE的时候已经安装了 apr apr-util 如果是单独安装 请先安装好这两个
# 执行编译参数
./configure --prefix=/usr/local/subversion --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/
#如果没有装sqlite 将会提示安装 复制提示里的信息 下载并解压 复制到subversion 目录下
get the sqlite 3.7.15.1 amalgamation from: http://www.sqlite.org/sqlite-amalgamation-3071501.zip
unpack the archive using unzip and rename the resulting
directory to:/var/local/download/subversion-1.8.16/sqlite-amalgamation
#复制过去后 再次执行编译文件
./configure --prefix=/usr/local/subversion --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/
make
make install
完成后注意这句话 chmod 755 /usr/local/subversion/libexec/mod_authz_svn.so
配置SVN
将svn 加入环境变量。 修改/etc/profile文件使其永久性生效,并对所有系统用户生效,在文件末尾加上如下两行代码 PATH=$PATH:/usr/local/subversion/bin 最后执行 命令source /etc/profile或 执行点命令 ./profile使其修改生效
vim /etc/profile
#打开后在文件末尾加入
PATH=$PATH:/usr/local/subversion/bin
#关闭保存
source /etc/profile
svn help 将看到一些的svn命令列表
svn 安装好后在你想要的任何目录执行以下命令
创建SVN仓库
svnadmin create /webserver/svn/repository
# 目录创建好后进入到相应的目录下的 conf 目录 并编译 authz passwd svnserve.conf 三个文件
cd /webserver/svn/repository/conf
# 创建用户组并分配权限
vim /conf/authz
# 找到 [groups] 在下面增加用户组和用户名 用户组=用户名
svn=test,haha #创建svn组 下面包括test用户 haha 用户,多个用户用半角,逗号分开
www=admin
# 权限分配
[/foo/bar] #授权目录
@svn = rw #svn 用户组拥有读写权限
@www = r # www 用户组只有 读权限
@svn = w # svn 用户组只有写权限
[repos:/]
*=r #repos库,所有人都有读取权限
# 帐号密码
vim /xxx/conf/passwd # 编译passwd 文件找到[users] 在下面增加用户名和密码 用户名=密码
test=test # 帐号 test 密码 admin
admin=admin
# 这里的帐号 想要生效必须在authz 用户组里添加哦
#编辑svnserve.cnf
vim ./conf/svnserve.cnf
anon-access = read # 找到这行 并把前面的 #去掉 前面不能有空格哦 并改成 anon-access = none
auth-access = write # 找到这行并把前面的 #去掉 前面不能有空格哦
password-db = passwd # 同上
authz-db = authz # 同上
启动关闭SVN
svnserve -d -r /webservice/svn/repository/ --listen-port=3690 --listen-host=0.0.0.0
#启动svn 后面目录 /webservice/svn/repository/ 是仓库目录哦
ps -aux | grep svn #找到 svn 进程
kill 21052 # 21052 svn 运行进程 杀死进程相当于关闭了svn
客户端测试SVN
# 由于前面绑定了APACHE 我们可以直接在浏览器地址栏中输入 IP/仓库目录 如果提示输入帐号密码 表示SVN 配置成功
# 防火墙开放新端口
vim /etc/sysconfig/iptables
# 新增加下面规则
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT
# 重启防火墙
service iptables restart
# 在svn客户端中输入http://IP/project
# 输入用户名和密码即可访问
这里没有做自动启动。因为我服务器很少启动,启动了也很少更新文件,我自己是每次更新完了我就关闭了服务。如果你们需要自已把这个服务加入吧 svnserve -d -r /webservice/svn/repository/ --listen-port=3690 --listen-host=0.0.0.0