Centos7 SVN安装最新版本,Linux安装svn最新版本

 ================================

©Copyright 蕃薯耀 2022-01-14

​​蕃薯耀的博客_CSDN博客

一、查看有没有安装svn

rpm -qa subversion


二、yum安装svn服务端(非最新版本)

Svn yum命令直接安装

直接安装不是最新版本的svn,只是:1.7.14版本的,当前最新版本是:svn-1.14

最新版本安装请直接看下面

yum -y install subversion
已安装:
  subversion.x86_64 0:1.7.14-16.el7                                                                                                           
作为依赖被安装:
  apr.x86_64 0:1.4.8-7.el7                apr-util.x86_64 0:1.5.2-6.el7                subversion-libs.x86_64 0:1.7.14-16.el7               

完毕!

三、svn安装最新版本

 1、查看Centos系统适合的版本

http://opensource.wandisco.com/centos/

如果是Centos7,则是:

http://opensource.wandisco.com/centos/7/
适合的版本如下:
Name↓		    Last Modified:		    Size:	Type:
svn-1.7/		2014-Aug-07 08:16:37	-  	    Directory
svn-1.8/		2014-Aug-07 08:16:37	-  	    Directory
svn-1.9/		2014-Aug-07 08:16:37	-  	    Directory
svn-1.10/		2018-Apr-25 12:31:52	-  	    Directory
svn-1.11/		2018-Nov-22 09:45:38	-  	    Directory
svn-1.12/		2019-Mar-04 09:24:57	-  	    Directory
svn-1.13/		2019-Dec-09 08:20:28	-  	    Directory
svn-1.14/		2021-Feb-24 06:00:18	-  	    Directory

2、新增svn的最新版本库

vi /etc/yum.repos.d/wandisco-svn.repo

wandisco-svn.repo 文件添加的内容:

此处使用svn-1.14,即当前最新版本

[WandiscoSVN]
name=Wandisco SVN Repo
baseurl=http://opensource.wandisco.com/centos/$releasever/svn-1.14/RPMS/$basearch/
enabled=1
gpgcheck=0

3、卸载svn旧版本


如果安装有旧版本,先卸载

yum remove subversion

删除执行结果:

删除:
  subversion.x86_64 0:1.7.14-16.el7 

接着,清理安装缓存

yum clean all

4、安装最新版本的svn

yum -y install subversion

执行结果:

已安装:
  subversion.x86_64 0:1.14.1-1                                                                                                                
作为依赖被安装:
  libserf.x86_64 0:1.3.9-1.el7                                                                                                                

替代:
  subversion-libs.x86_64 0:1.7.14-16.el7  

5、查看svn版本
 

svnserve --version

执行结果:

[root@host-100 ~]# svnserve --version
svnserve,版本 1.14.1 (r1886195)
   编译于 Jan  6 2022,14:30:34 在 x86_64-redhat-linux-gnu

svn当前最新版本:1.14.1

四、查看svn安装位置

which svnserve

执行结果:

/usr/bin/svnserve

五、创建svn 项目仓库目录

svnRepos为自定义目录

cd /

mkdir -p /var/svnRepos

也可以多增加一层文件夹:

mkdir -p /var/svnRepos/项目名称

六、svn项目初始化

如果不是root用户,命令前面要使用sudo

#修改目录拥有者
sudo chown -R java:java /var/svnRepos

#svn初始化
svnadmin create /var/svnRepos

执行结果:


[java@host-100 var]$ svnadmin create /var/svnRepos
[java@host-100 conf]$ cd /var/svnRepos
[java@host-100 svnRepos]$ ll
总用量 8
drwxrwxr-x. 2 	java java          76 	1月   	7 10:17 	conf
drwxrwsr-x. 6	java java 	    233 	1月   	7 10:17 	db
-r--r--r--. 1 	java java           2 	1月   	7 10:17 	format
drwxrwxr-x. 2 	java java 	    231 	1月   	7 10:17 	hooks
drwxrwxr-x. 2 	java java          41 	1月   	7 10:17 	locks
-rw-rw-r--. 1 	java java 	    246 	1月   	7 10:17 	README.txt

conf 文件夹,存放配置文件

conf 文件夹下的三个重要文件:

authz:权限控制文件
passwd:帐号密码文件
svnserve.conf:SVN服务配置文件,配置账号和权限文件

七、svn配置用户和密码

编辑passwd文件:

cd /var/svnRepos/conf

vi passwd

配置格式是:用户名=密码


如:
[users]
# harry = harryssecret
# sally = sallyssecret
readUser=123456
appUser=123456

八、svn配置权限


编辑authz文件:

vi authz

在文件最下面增加用户和权限
格式是:用户名=权限

权限:
r:表示读权限
w:表示写权限
rw:表示可读可写权限
[/]:表示是svn根目录,[/]可以改为具体的文件夹目录,限制某些用户对某些文件夹的读写权限

示例:

[/]
appUser=rw
*=

[/aa]
readUser=r
appUser=rw
*=

最后一行*=表示其他用户无任何权限

另外一种配置方法,是使用用户分组(未测试验证)

[groups]
appGroup=appUser
readGroup= readUser

[/]
@appGroup=rw
@readGroup=r
*=

九、svn配置服务文件

vi svnserve.conf

在[general]下面增加下面的配置(也可以在配置上打开相应的选项,但# 后面的空格要删除):

#在[general]模块最下面增加的内容
#匿名访问的权限,可以是read,write,none,设置为none表示不能读写
anon-access=none
#授权用户可写
auth-access=write
#密码数据库配置
password-db=passwd
#访问控制数据库配置
authz-db=authz
#存储库的身份验证域。
#如果两个存储库具有相同的身份验证域,则它们应该
#拥有相同的密码数据库,反之亦然。默认领域是存储库的uuid。
#此处填写路径,这样就不会有相同的
#就是连接时提示的名称,如/var/svnRepos可修改为:我的svn仓库
realm=/var/svnRepos

#强制用户名大小写,默认是否
#lower,则全部变成小写;upper则全部变成大写;none则比较大小写。
# force-username-case = none

十、svn启动

查看svn是否启动:

ps -ef | grep svnserve

启动svn(端口默认为3690)

svnserve -d -r /var/svnRepos

修改端口启动:

svnserve -d -r /var/svnRepos  --listen-port=9369

指定配置文件启动:

svnserve -d -r /var/svnRepos  --listen-port=9369 --config-file=/var/svnRepos/conf/svnserve.conf

-d:表示守护进程
-r:svn根目录
--listen-port=9369:指定端口
--config-file:指定配置文件

查看svn进程

ps -ef | grep svnserve

杀掉svn进程

kill -9 [pid]

十一、打开svn防火墙端口

svn默认是3690端口

打开telnet服务:

firewall-cmd --permanent --add-service=telnet

开放端口:

默认的端口
firewall-cmd --permanent --zone=public --add-port=3690/tcp

自定义的端口
firewall-cmd --permanent --zone=public --add-port=9369/tcp

让端口生效:

firewall-cmd --reload

查看防火墙所有开放的端口

firewall-cmd --zone=public --list-ports


其它命令:

查看防火墙状态:
firewall-cmd --state

关闭防火墙
systemctl stop firewalld.service

禁止防火墙开机启动
systemctl disable firewalld.service

十二、svn设置开机启动

增加svnserve.service配置文件

vi /lib/systemd/system/svnserve.service

文件增加的内容:

[Unit]
Description=SVN Server service  
After=network.target

[Service]
Type=forking
ExecStart= /usr/bin/svnserve -d -r /var/svnRepos --listen-port=9369 --config-file=/var/svnRepos/conf/svnserve.conf
Restart=on-abort

[Install]
WantedBy=multi-user.target

设置开机启动

systemctl enable svnserve.service

执行结果:

[java@host-100 system]$ sudo systemctl enable svnserve.service
Created symlink from /etc/systemd/system/multi-user.target.wants/svnserve.service to /usr/lib/systemd/system/svnserve.service.

其它命令

启动svn
systemctl start svnserve.service

停止svn
systemctl stop svnserve.service

重启svn
systemctl restart svnserve.service

十三、svn启动时权限不够解决方案

查看svn服务状态:

systemctl status svnserve.service

svnserve[166290]: svnserve: E000013: 不能打开文件“/var/svnRepos/conf/svns…限不够

[root@host-100 /]# systemctl status svnserve.service
● svnserve.service - SVN Server service
   Loaded: loaded (/usr/lib/systemd/system/svnserve.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since 五 2022-01-07 11:07:11 CST; 11s ago
  Process: 166290 ExecStart=/usr/bin/svnserve -d -r /var/svnRepos --listen-port=9369 --config-file=/var/svnRepos/conf/svnserve.conf (code=exited, status=1/FAILURE)

1月 07 11:07:11 host-100 systemd[1]: Starting SVN Server service...
1月 07 11:07:11 host-100 svnserve[166290]: svnserve: E000013: 不能打开文件“/var/svnRepos/conf/svns…限不够
1月 07 11:07:11 host-100 systemd[1]: svnserve.service: control process exited, code=exited status=1
1月 07 11:07:11 host-100 systemd[1]: Failed to start SVN Server service.
1月 07 11:07:11 host-100 systemd[1]: Unit svnserve.service entered failed state.
1月 07 11:07:11 host-100 systemd[1]: svnserve.service failed.
Hint: Some lines were ellipsized, use -l to show in full.

svn启动权限不够解决方案

文件/etc/selinux/config先要添加可写权限

chmod -v u+w /etc/selinux/config

编辑文件:

vi /etc/selinux/config

修改(需要重启服务器)

SELINUX=enforcing

为:

SELINUX=disabled

收回文件/etc/selinux/config可写权限

chmod -v u-w /etc/selinux/config

chmod -R 777 svnserve.conf

重启服务器

reboot -f

十四、svn客户端tortoisesvn下载和svn检出

下载windows svn客户端

tortoisesvn下载地址

https://tortoisesvn.net/downloads.html

下载地址再下面一点,有中文语言安装包

安装完成后,新建一个文件夹,在文件夹中,【鼠标】右键,有一个【SVN 检出】命令,可检出项目。

输入svn地址:

端口默认为3690,我修改成了9369,记得修改成自己的端口

svn://ip地址:端口

示例:
svn://192.168.1.10:9369/

十五、Eclise svn subclipse插件下载和安装

Eclise svn插件 subclipse 要求:

Requirements - current master

Eclipse 4.2 (Juno) or later
Java 8 or later
Subversion 1.10 - 1.14 JavaHL client libraries

subclipse下载地址:

https://github.com/subclipse/subclipse/releases

说明地址:

​https://github.com/subclipse/subclipse/wiki

只下载subclipse-4.3.3.zip安装后没有JavaHL,会报错,建议在线安装,或者两个一起下载安装。

(时间宝贵,分享不易,捐赠回馈,^_^)

================================

©Copyright 蕃薯耀 2022-01-14

​​蕃薯耀的博客_CSDN博客

猜你喜欢

转载自blog.csdn.net/w995223851/article/details/122489118