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_640: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
設定開機啟動
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/
今天越懶,明天要做的事越多。