1. 程式人生 > 其它 >Centos7 SVN安裝最新版本,Linux安裝svn最新版本

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

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

©Copyright 蕃薯耀2022-01-14

https://www.cnblogs.com/fanshuyao/

一、檢視有沒有安裝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 202214: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

設定開機啟動

sudo 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

wiki文件地址:

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

只下載subclipse-4.3.3.zip安裝後沒有JavaHL,會報錯,建議線上安裝,或者兩個一起下載安裝。

(時間寶貴,分享不易,捐贈回饋,^_^)

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

©Copyright 蕃薯耀2022-01-14

https://www.cnblogs.com/fanshuyao/

今天越懶,明天要做的事越多。