日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
CentOS7中安裝Subversion版本控制系統(tǒng)

Subversion 就是一個(gè)自由/開(kāi)源版本控制的軟件,它記錄你每次對(duì)數(shù)據(jù)倉(cāng)庫(kù)的修改,并能使你找回某一個(gè)時(shí)刻修改的版本文件。它的核心就是數(shù)據(jù)倉(cāng)庫(kù),你需要把你的文件提交到數(shù)據(jù)倉(cāng)庫(kù),并更新數(shù)據(jù)倉(cāng)庫(kù)的文件,及根據(jù)需要能通過(guò)版本找到當(dāng)時(shí)的數(shù)據(jù)。

因?yàn)轫?xiàng)目需要在CentOS 7.4環(huán)境下搭建一個(gè)SVN服務(wù)器,但是CentOS里自帶的subversion版本只到1.7.14

與Subversion官網(wǎng)8月10日發(fā)布的SVN 1.8.19, SVN 1.9.7相去甚遠(yuǎn),會(huì)嚴(yán)重影響SVN客戶端的使用,因此我們需要卸載掉自帶的Subversion,使用yum方式重新安裝Subversion最新版本

我們執(zhí)行命令

yum remove subversion*

yum clean all

直接卸載subversion和相關(guān)庫(kù)包

但是當(dāng)我們使用yum命令再安裝subversion時(shí),發(fā)現(xiàn)CentOS自帶源的Subversion版本仍然是1.7.14

說(shuō)明從CentOS自帶源安裝Subversion最新版本此路不通,我們需要另行添加Repo源

參考https://tecadmin.net/install-subversion-1-8-on-centos-rhel/#一文,我們?cè)?/p>

/etc/yum.repos.d目錄下添加subversion.repo文件,內(nèi)容如下

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

由于我們這里安裝的是SVN1.9,在repo文件里配置的是svn-1.9,如果要安裝SVN1.8,可以改為svn-1.8

執(zhí)行yum install -y subversion命令安裝Subversion

下列步驟參考了https://www.cnblogs.com/fuyuanming/p/6123395.html一文,

有部分有所修改

1)創(chuàng)建運(yùn)行SVN服務(wù)器所需的用戶svn

groupadd svn
useradd -g svn svn

這里之所以要?jiǎng)?chuàng)建svn用戶啟動(dòng)SVN服務(wù)器,而不使用root用戶啟動(dòng)SVN服務(wù)器,是因?yàn)槿绻褂胷oot用戶啟動(dòng)SVN服務(wù)器,通過(guò)SVN客戶端使用非root賬戶訪問(wèn)SVN服務(wù)器時(shí),會(huì)出現(xiàn)

“xxxxxxxx db/txn-current-lock:permission denied”錯(cuò)誤。

將svn用戶加入sudoers用戶中

2)執(zhí)行rpm -ql subversion命令了解SVN安裝的位置

3)創(chuàng)建SVN版本庫(kù)文件夾

mkdir -p /opt/svnRepos

切換到svn用戶,為svn用戶添加這個(gè)文件夾的訪問(wèn)權(quán)限

sudo chmod -R o+rw /opt/svnRepos

4)創(chuàng)建SVN版本庫(kù)

svnadmin create /opt/svnRepos

執(zhí)行命令后/opt/svnRepos文件夾下新增了一些文件夾

5)添加用戶密碼和訪問(wèn)權(quán)限

進(jìn)入conf目錄,可以看到以下文件

authz文件是權(quán)限控制文件

passwd是帳號(hào)密碼文件

svnserve.conf是SVN服務(wù)配置文件

修改passwd文件,在[users]段添加用戶svnuser1和訪問(wèn)密碼

修改authz文件,在文件最后為svnuser1用戶添加svn根目錄訪問(wèn)權(quán)限

這里[/]表示是svn根目錄,svnuser1=rw說(shuō)明svnuser1用戶對(duì)根目錄有讀寫權(quán)限。如果要限制某些用戶對(duì)某些文件夾的

讀寫權(quán)限, 這里的[/]可以改為具體的文件夾目錄,再添加具體的用戶權(quán)限,這里不再贅述。

6) 修改svn配置文件

修改svnserve.conf文件

打開(kāi)以下幾項(xiàng)的注釋(圖中以白色字體標(biāo)注)

anon-access = read #匿名用戶可讀

auth-access = write #授權(quán)用戶可寫

password-db = passwd #使用哪個(gè)文件作為賬號(hào)文件

authz-db = authz #使用哪個(gè)文件作為權(quán)限文件

realm = /opt/svnRepos # 認(rèn)證空間名,版本庫(kù)所在目錄

7)啟動(dòng)SVN服務(wù)器

執(zhí)行以下命令

svnserve -d -r /opt/svnRepos --config-file=/opt/svnRepos/conf/svnserve.conf

這條指令的參數(shù)-d表示以守護(hù)進(jìn)程形式運(yùn)行Svn服務(wù)器,-r表示Svn服務(wù)器的根目錄,后接SVN的根目錄。

–config-file是Svn服務(wù)器啟動(dòng)所引用的配置文件,后接配置文件路徑。

svnserve指令的更多參數(shù)可以參考此文

https://linux.die.net/man/8/svnserve

啟動(dòng)后可以查看到svnserve進(jìn)程已經(jīng)啟動(dòng)

8)在防火墻上開(kāi)放SVN服務(wù)器端口

SVN服務(wù)器默認(rèn)端口是3690,如果要修改默認(rèn)端口,可以在運(yùn)行svnserve命令時(shí)添加–listen-port參數(shù),后接需要指定的端口號(hào)。

執(zhí)行以下命令在CentOS7系統(tǒng)防火墻上開(kāi)放SVN服務(wù)器端口

firewall-cmd --permanent --add-port=3690/tcp

systemctl restart firewalld.service

在客戶端安裝Tortoise SVN 1.9.7,安裝完成后新建一個(gè)文件夾,在文件夾中右擊,在彈出右鍵菜單中選擇[Repo-brower]菜單,在彈出的地址對(duì)話框中輸入SVN://IP(我們這里是SVN://192.168.56.102),再在驗(yàn)證對(duì)話框中輸入用戶名rick和密碼,即可以訪問(wèn)SVN根目錄,我們使用svnuser1用戶登錄SVN,如下圖所示

我們使用svnuser1用戶在根目錄下新建trunk,tags和branches三個(gè)文件夾

9)將SVN服務(wù)器設(shè)置為開(kāi)機(jī)啟動(dòng)服務(wù)

網(wǎng)上有相關(guān)文件通過(guò)修改/etc/rc.local文件設(shè)置SVN服務(wù)器開(kāi)機(jī)啟動(dòng),這種做法在CentOS 7環(huán)境下已經(jīng)過(guò)時(shí),我們使用CentOS 7正常添加服務(wù)的方式。

我們切換到/usr/lib/systemd/system目錄下,創(chuàng)建名為svnserver.service的文件,添加以下內(nèi)容

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

[Service]
Type=forking
ExecStart= /usr/bin/svnserve -d -r /opt/svnRepos --config-file=/opt/svnRepos/conf/svnserve.conf
ExecStop=  /home/svn/stopSVN.sh
User=svn
Restart=on-abort

[Install]
WantedBy=multi-user.target

這里啟動(dòng)SVN服務(wù)器直接使用命令,我試過(guò)寫一個(gè).sh文件替換,但啟動(dòng)后出現(xiàn)code=exited,status=203/EXEC錯(cuò)誤,改用現(xiàn)在這種形式。

stopSVN.sh是用于關(guān)閉SVN服務(wù)的腳本文件,內(nèi)容如下:

#!/bin/sh
#查找是否有svnserve對(duì)應(yīng)的進(jìn)程,有的話關(guān)閉進(jìn)程
ps -ef|grep svnserve |grep -v grep
if [ $? -ne 0 ]
then
  echo "the svn server does not start"
else
  killall -9 sh svnserve
fi
#####

保存svnserver.service文件后,執(zhí)行以下命令

systemctl daemon-reload
systemctl enable svnserver.service
systemctl start svnserver.service

如果shell窗口沒(méi)有出現(xiàn)錯(cuò)誤信息,表示啟動(dòng)已成功,我們可以執(zhí)行以下命令檢查啟動(dòng)狀態(tài)

systemctl status svnserver.service

運(yùn)行以下命令停止服務(wù)

systemctl stop svnserver.service

我們這時(shí)再運(yùn)行systemctl stop svnserver.service,可以看到服務(wù)已經(jīng)被停掉

至此SVN服務(wù)器在Linux服務(wù)器安裝成功,再次啟動(dòng)CentOS系統(tǒng)后SVN服務(wù)器會(huì)開(kāi)機(jī)啟動(dòng)。

補(bǔ)充一點(diǎn),CentOS自帶的SELinux默認(rèn)是Enforcing,處于打開(kāi)狀態(tài),對(duì)于自啟動(dòng)的SVN服務(wù),會(huì)導(dǎo)致客戶端訪問(wèn)SVN服務(wù)器時(shí)出現(xiàn)Permisson Denied的錯(cuò)誤,我們需要手動(dòng)關(guān)閉它,修改/etc/selinux/config文件

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

把SELINUX從enforcing改為disabled,重啟系統(tǒng),SVN服務(wù)自啟動(dòng)后,從客戶端訪問(wèn)不再出現(xiàn)Permssion Denied錯(cuò)誤。


網(wǎng)站標(biāo)題:CentOS7中安裝Subversion版本控制系統(tǒng)
網(wǎng)頁(yè)URL:http://www.dlmjj.cn/article/dhcjedh.html