linux 搭建svn服務(wù)器的方法步驟
一:安裝svn
yum install -y subversion
二:創(chuàng)建倉(cāng)庫(kù)
1:創(chuàng)建倉(cāng)庫(kù)目錄
mkdir -p /var/project/test
2:創(chuàng)建倉(cāng)庫(kù)
svnadmin create /var/project/test
創(chuàng)建成功后,在/var/project/test目錄下如下目錄:
drwxr-xr-x. 2 root root 51 1月 30 13:26 conf drwxr-sr-x. 6 root root 4096 1月 30 13:26 db -r--r--r--. 1 root root 2 1月 30 13:26 format drwxr-xr-x. 2 root root 4096 1月 30 13:26 hooks drwxr-xr-x. 2 root root 39 1月 30 13:26 locks -rw-r--r--. 1 root root 229 1月 30 13:26 README.txt
conf目錄下是svn的配置目錄,其中包括:
-rw-r--r--. 1 root root 1080 1月 30 13:26 authz #權(quán)限控制 -rw-r--r--. 1 root root 309 1月 30 13:26 passwd #密碼管理 -rw-r--r--. 1 root root 3090 1月 30 13:26 svnserve.conf #SVN服務(wù)進(jìn)程配置
三:svn配置
1:權(quán)限配置(/var/project/test/conf/authz)
#用戶分組(admin->管理員,development ->開發(fā) other->其他) [groups] admin = test1 #管理員用戶test1 development = test2,test3 #開發(fā)用戶test2,test3 other = test4,test5,test6 #其他用戶test4,,test5,test6 #權(quán)限配置 [/] @admin = rw #管理員讀寫權(quán)限 @development = rw #開發(fā)讀寫權(quán)限 @other = r #其他讀權(quán)限 test7 = rw #test7用戶讀寫權(quán)限
2:密碼配置(/var/project/test/conf/passwd)
#密碼配置,格式為用戶名=密碼,密碼為明文 [users] test1 = test1 test2 = test2 test3 = test3 test4 = test4 test5 = test5 test6 = test6 test7 = test7
3:SVN服務(wù)進(jìn)程配置(/var/project/test/conf/svnserve.conf)
[general] anon-access = none #匿名用戶無(wú)權(quán)訪問 auth-access = write #認(rèn)證用戶可讀寫 password-db = passwd #指定用戶認(rèn)證密碼文件 authz-db = authz #指定權(quán)限配置文件
四:?jiǎn)?dòng)svn服務(wù)(默認(rèn)端口號(hào)3690)
指定端口啟動(dòng)svn
svnserve -d -r /var/project --listen-port 3691
五:關(guān)閉防火墻,或開啟指定端口號(hào)
1:關(guān)閉防火墻
systemctl stop firewalld
2:開啟指定防火墻
#開啟3690端口 firewall-cmd --zone=public --add-port=3690/tcp --permanent #刷新配置 firewall-cmd --reload
六:客戶端連接并上傳文件
windows上連接svn
1:新建一個(gè)目錄,右擊選擇svn 檢出
2:在版本庫(kù)上填寫linux的svn地址 svn://ip:3690/倉(cāng)庫(kù)名 (這里的倉(cāng)庫(kù)名不是/var/project/test而是/test)
2:填寫用戶名密碼
這時(shí)候我們可以看到此目錄下生成了一個(gè).svn文件,說明我們已經(jīng)連接上了linux上的svn服務(wù)器
3:上傳文件
現(xiàn)在我們新建一個(gè)test.txt文件,在里面隨便填一些信息
(1)右擊選擇add
然后選擇test.txt文件,點(diǎn)擊確定,這時(shí)候我們會(huì)看到test.txt文件上會(huì)多了一個(gè)加號(hào)
(2):上傳
右擊選擇提交
填寫備注選擇要上傳的文件后點(diǎn)擊確定
這時(shí)候我們可以看到test.txt文件上的加號(hào)會(huì)變成綠色的對(duì)號(hào),表示上傳成功
但是這時(shí)候我們發(fā)現(xiàn)我們?cè)?var/project/test目錄下根本就沒有找到我們上傳的文件,這是為什么呢?難道我們沒有上傳成功,
這是由于把文件上傳到SVN版本庫(kù)后,上傳的文件不再以文件原來(lái)的格式存儲(chǔ),而是被svn以它自定義的格式壓縮成版本庫(kù)數(shù)據(jù),存放在版本庫(kù)中,svn服務(wù)器版本庫(kù)有兩種格式,一種為FSFS,一種為BDB
這時(shí)候我們就需要在linux中實(shí)現(xiàn)檢出
4:檢出
svn checkout svn://192.168.11.201/test /data/test #svn://192.168.11.201/test表示需要檢出的倉(cāng)庫(kù)地址 /data/test表示需要檢出到哪個(gè)目錄下
這是我們可以在/data/test目錄下看到我們之前在客戶端上傳的文件,但是現(xiàn)在問題又來(lái)了,我們?cè)诳蛻舳松蟼魑募螅豢赡苊看味荚诜?wù)器進(jìn)行檢出操作吧,那么如何進(jìn)行自動(dòng)檢出呢?
5:自動(dòng)檢出配置
在/var/project/test/hooks目錄下新建一個(gè)post-commit文件,post-commit文件添加內(nèi)容為:
#!/bin/sh REPOS="$1" #倉(cāng)庫(kù) REV="$2" #版本號(hào) export.UTF-8 #編碼 SVN=/usr/bin/svn #svn地址 WEB=/data/test #要更新的項(xiàng)目目錄 $SVN update $WEB --username test1 --password test1 #--username test1表示設(shè)置用戶名 --password test1表示設(shè)置密碼
將post-commit設(shè)置為可執(zhí)行
chmod +x /var/project/test/hooks/post-commit
到此自動(dòng)檢出配置完成,不過注意,第一次的時(shí)候需要手動(dòng)檢出,之后就不需要了,到此linux搭建svn服務(wù)器完成
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
淺談Linux下修改/設(shè)置環(huán)境變量JAVA_HOME的方法
這篇文章主要介紹了淺談Linux下修改/設(shè)置環(huán)境變量JAVA_HOME的方法,環(huán)境變量一般是指在操作系統(tǒng)中用來(lái)指定操作系統(tǒng)運(yùn)行環(huán)境的一些參數(shù)。環(huán)境變量是在操作系統(tǒng)中一個(gè)具有特定名字的對(duì)象,它包含了一個(gè)或者多個(gè)應(yīng)用程序所將使用到的信息。感興趣的可以了解一下2020-07-07在Linux服務(wù)器下查看公網(wǎng)IP地址的方法
在接口對(duì)接的時(shí)候,很多公司需要對(duì)方提供公網(wǎng)ip地址來(lái)配置對(duì)應(yīng)的IP白名單,那么在Linux環(huán)境下怎么查看對(duì)應(yīng)服務(wù)器的公網(wǎng)IP呢,所以本文給大家介紹了在Linux服務(wù)器下查看公網(wǎng)IP地址的方法,需要的朋友可以參考下2023-12-12關(guān)于CentOs系統(tǒng)自帶python和yum卸載后的解決辦法
前幾天因項(xiàng)目需要,在服務(wù)器上搭建python-mysql模塊,結(jié)果沒安裝好,于是乎想卸載重裝,遂在網(wǎng)上查詢卸載python的方法,結(jié)果一不小心直接把系統(tǒng)的python刪了個(gè)干凈,怎么處理呢,看看小編給大家?guī)?lái)的本篇教程吧2018-11-11Linux基礎(chǔ)學(xué)習(xí)之利用tcpdump抓包實(shí)例代碼
tcpdump是Linux下面的一個(gè)開源的抓包工具,和Windows下面的wireshark抓包工具一樣, 支持抓取指定網(wǎng)口、指定目的地址、指定源地址、指定端口、指定協(xié)議的數(shù)據(jù)。下面這篇文章主要給大家介紹了關(guān)于Linux基礎(chǔ)學(xué)習(xí)之利用tcpdump抓包的相關(guān)資料,需要的朋友可以參考下。2017-12-12利用VSCode進(jìn)行遠(yuǎn)程Linux服務(wù)器、容器開發(fā),達(dá)到ide開發(fā)項(xiàng)目的效果(最新推薦)
最方便、最開始的開發(fā)方式當(dāng)然是在本地ide中,比如初學(xué)者在Windows電腦上使用pycharm來(lái)學(xué)習(xí)python、深度學(xué)習(xí),或者使用devc++、visual?studio等來(lái)編寫c++項(xiàng)目,在本地ide中,可以瀏覽文件夾、查看文本和圖片等,進(jìn)一步還可以運(yùn)行調(diào)試python、C++等項(xiàng)目2022-12-12詳解CentOS5.5 下搭建 PHP 環(huán)境(最佳的LAMP環(huán)境)
本篇文章詳細(xì)介紹了詳解CentOS5.5 下搭建 PHP 環(huán)境(最佳的LAMP環(huán)境),有需要的小伙伴可以參考下。2016-10-10