1.查看linux版本 cat /etc/redhat-release 查看CentOS版本 cat /proc/version
可以看出centos是7.4的,linux为64位的
2. 检查是否已安装 如果没有显示内容,说明没有安装。
# rpm -qa subversion
3.安装svn服务器:
4.subversion默认安装在/bin/目录下,如下查看命令
# which svnserve
5.再次检查是否安装 # rpm -qa subversion
6.安装完成后要建立版本库,使用命令: mkdir -p svn/version_repository
7. 执行命令 svnadmin create svn/version_repository/,出现如下错误
8. 找不到libaprutil-1.so.0,于是
9.将apr依赖包添加到共享库
查看共享库配置文件
more /etc/ld.so.conf
10. 创建apr共享库配置文件
cd /etc/ld.so.conf.d/
vi httpd-apr.conf 编辑添加/www/server/apache/lib/ 上面命令查到的一部分
11.再次执行命令 svnadmin create svn/version_repository/
执行后,自动建立version_repository库,查看/data/svn/version_repository/文件夹包含了conf,db,format,hooks,locks,README.txt等文件,说明一个SVN库已经建立。
12.检查subversion是否安装成功,如下命令 svnserve --version
显示 以上信息,说明subversion已安装完成,版本号是1.7.14
12.配置版本库
a.对服务svnserve.conf配置
cd svn/version_repository/conf目录,编辑svnserve.conf,命令为:vim svnerve.conf
添加内容:
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限
auth-access=write
#密码数据库的路径
password-db=passwd
#访问控制文件
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm=/version_repository
编辑完,按Esc,然后输入:wq!进行内容保存
注意:这里各标签不能错,并且每行要顶格写,前面不能有空格(以上内容可以不添加,原文件就有,只要放开注释)
b.用户密码配置
cd svn/version_repository/conf,编辑passwd,
添加内容:
[users]
# harry = harryssecret
# sally = sallyssecret
#用户名=密码
lhl=lhl
编辑完,按Esc,然后输入:wq!进行内容保存
c.权限控制authz配置
添加内容:
[/]
lhl=rw //给该用户访问所有库的权限
或
[version_repository:/] //version_repository库的根目录权限
lhl=rw
/ 表示根目录及以下,根目录是svnserve启动时指定的,我们指定的是/data/svn
/ 就是指对全部版本库都具有权限
version_repository:/ 表示对库version_repository的根目录设置权限
PS:
* 权限配置文件中出现的用户名必须已在用户配置文件中定义。
* 对权限配置文件的修改立即生效,不必重启svn。
注意:下图中[/]就可以了,不用写/www/server/
d.配置防火墙端口(如果需要)
不一定每个人都需要设置,可以先测试后再看是否需要打开端口
# vi /etc/sysconfig/iptables
Centos7以上会提示没有iptables文件或者需要文件重启防火墙服务
service iptables restart
会提示没有iptables服务,百度后发现操作系统Centos7以上没有iptables,改为firewall服务,用firewall试了几次之后发现不好使,然后装了iptables服务,下面介绍在Centos7下面怎么使用iptables服务。
1.关闭firewall
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
2.安装iptables防火墙
yum install iptables-services
编辑iptables文件,vi /etc/sysconfig/iptables
将需要防火墙放开的端口加入:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT
按Esc,输入:wq!保存退出
systemctl restart iptables.service #最后重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动
13.查看
a.启动SVN
cd svn/version_repository/bin
使用命令:./svnserve -d -r /www/server/svn(只能到这一层),不然重启不成功
发现没有bin目录
安装后svn相关的命令如:svnserve svnadmin 等等命令默认在/usr/bin目录下,为了方便可以将这些svn命令复制到自定义的一个文件夹下面,在这里我的目录是svn/version_repository/bin.在/usr/bin目录下使用命令 cp svnserve svnadmin -d /www/server/svn/version_repository/bin将多个文件(命令)复制到对应的目录。
进入svn的bin目录
b.查看svn进程 ps -ef|grep svn
c.检测svn端口 netstat -ln|grep 3690
LISIEN表示正常
d.停止重启svn
kill -9 svn进程号,如:kill -9 31835
然后使用命令:./svnserve -d -r /www/server/svn
配置完以上信息后,用svn客户端访问svn服务还是报错
,这是由于你所购买的服务器并没有开通3690端口,我当时买的是阿里云服务器,不过不同类型的云服务器配置大致相同,以下就介绍一下阿里云服务器开通3690端口的过程:
5. 配置服务器端口
登录阿里云账号,进入服务器的安全组,
点击配置规则:
配置完后发现svn服务可以访问了 这块坑了好久
访问路径:svn://116.255.154.204/version_repository
参考 https://blog.csdn.net/cb_lcl/article/details/80403723