这两天因为项目需要在Linux系统下安装SVN,由于很少使用Centos环境,直接百度贴代码,但安装过程中还是遇到不少问题,记录下来。
1.安装subversion
yum install subversion -y
使用 -y 命令安装过程中无需任何操作,直接安装完成
2.查看安装目录
which svnserve
我的系统为Centos 7.2 默认安装路径 /var/bin/svn
3.创建版本库,svn默认版本库的存放位置在 /var/svn
我们可以通过
vim /etc/sysconfig/svnserve
来修改默认版本库的位置
4.创建自己的版本库 repo
svnadmin create /var/svn/repo #repo是我们的仓库位置
5 创建完成之后在repo下面会生成很多文件,修改配置文件
首先修改svnserve.conf 文件
anon-access = none # 使非授权用户无法访问
auth-access = write # 使授权用户有写权限
password-db = password
authz-db = authz # 访问控制文件
realm = /opt/svn/repos # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
采用默认配置. 以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
6修改passwd文件,这里面存放的是我们的svn用户信息
vim /var/svn/repo/conf/passwd
admin = admin
test = test
同样,行头不要有空格
7.修改authz文件
在groups下面添加用户组信息
[groups]
admin = admin
user = test,test2
#上面即表示创建一个用户组admin和user
admin用户组里面包含账号 admin,同时你可以任意添加账号
# /表示从系统仓库启动位置开始 比如我们的仓库是repo 那么就是/var/svn/repo repo仓库下的所有项目的配置
[/]
@admin = rw
#用户组admin 有读写权限
@user = r
#用户组user只有 读权限
test = r
#用户test 有读权限,此处可以添加用户组 也可以添加用户,如上配置
到这里我们差不多完成了所有的配置,启动SVN就可以了
systemctl start svnserve
远程访问 使用 Tortoise svn://x.x.x.x/repo 默认使用3690
8 很多时候我们发现启动的时候我们会提示启动失败,
systemctl status -l svnserve
查看 日志会发现端口被绑定失败
这时候我们的解决办法是杀死所有 svnserve进程
killall svnserve
然后重新启动
svnserve -d -r /var/svn/repo --listen-port 3690
指定端口和资源库位置
9.如果我们在不能杀死进程的情况下怎么做呢?只需要重新指定一个端口就行了
svnserve -d -r /var/svn/repo --listen-port 3699 #确保端口未被占用
10.如果我们是初次安装又提示端口被占用,直接杀死进程之后可以了
11.直接杀死进程之后我们使用
svnserve -d -r /var/svn/repo --listen-port 3699 #确保端口未被占用
启动之后使用
systemctl status svnserve -l
发现状态不对,怎么解决呢?找到3699端口的进程,结束掉之后使用 systemctl 命令启动
#查看被占用端口
lsof -i tcp:3690
#列出所有端口
netstat -ntlp
#查看所有运行中的服务的详细信息
netstat -tulpn