導航:首頁 > 配伺服器 > linux本機svn伺服器地址

linux本機svn伺服器地址

發布時間:2023-03-03 05:34:54

A. linux 伺服器下將文件上傳到svn伺服器

原文:【https://www.cnblogs.com/LiuYanYGZ/p/11029552.html】

1.首先將svn的所指定的目錄checkout到本地目錄下:

使用svn co +伺服器的地址(path),輸入伺服器的密碼即可,此時會自動在本地目錄下同步伺服器你所指定的目錄及裡面所有的文件(其中co 即是 checkout的簡寫)

例如:svn co http://svn.xxx.com/path

此時在本地目錄下就會出現名為path的文件夾

2.往版本庫中添加新的文件(夾)

將所要上傳的文件(夾)復制到svn伺服器的指定文件結構目錄下,跳轉到該目錄下然後執行:

svn add +文件名

如,svn add map.py

svn ci -m 「 xx」  map.py  (「」號內加的是文件夾的注釋)  或

svn commit -m 'xx' map.py

3.上傳完成之後,在svn伺服器刷新即可看到上傳的文件(夾)

B. 怎麼在linux伺服器上部署svn

1. 安裝SVN伺服器:
檢查是否已安裝
# rpm -qa subversion

安裝SVN伺服器
# yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql

驗證安裝
# cd /etc/httpd/moles
# ls | grep svn
mod_authz_svn.so
mod_dav_svn.so

查看版本
# svnserve --version

2. 代碼庫創建:
安裝完成後要建立SVN庫
# mkdir -p /opt/svn/repositories
# svnadmin create /opt/svn/repositories

執行後,自動建立repositories庫,查看/opt/svn/repositories文件夾包含了conf,db,format,hooks,locks,README.txt等文件,說明一個SVN庫已經建立。

3. 配置版本庫:
進入上面conf文件夾下,進行配置:
a. 用戶密碼passwd配置:
# vi + passwd //+表示游標放在文件最低端

修改passwd為一下內容:
[users]
# harry = harryssecret
# sally = sallyssecret
zhoulf=123456

b. 許可權控制authz配置:
# vi + authz

設置哪些用戶可以訪問哪些目錄,向authz文件追加以下內容:
[/]
zhoulf=rw //給該用戶訪問所有庫的許可權

[repositories:/project] //repository庫的根目錄許可權
zhoulf=rw
/ 表示根目錄及以下,根目錄是svnserve啟動時指定的,我們指定的是/opt/svn;/ 就是指對全部版本庫都具有許可權
repositories:/ 表示對庫repositories的根目錄設置許可權
PS:
* 許可權配置文件中出現的用戶名必須已在用戶配置文件中定義。
* 對許可權配置文件的修改立即生效,不必重啟svn。

c. 服務svnserve.con配置:
# vi + svnserve.conf

添加一下內容:

[general]
#匿名訪問的許可權,可以是read,write,none,默認為read
anon-access=none
#使授權用戶有寫許可權
auth-access=write
#密碼資料庫的路徑
password-db=passwd
#訪問控制文件
authz-db=authz
#認證命名空間,subversion會在認證提示里顯示,並且作為憑證緩存的關鍵字
realm=/opt/svn/repositories

這里注意各標簽不能錯,也不能有重復,不然無法連接。

d. 配置防火牆埠(如果需要):
不一定每個人都需要設置,可以先測試後再看是否需要打開埠
# vi /etc/sysconfig/iptables

添加一下內容:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT

保存後重啟防火牆
# service iptables restart

4. 查看:
a. 啟動SVN
# svnserve -d -r /opt/svn/repositories

b. 查看SVN進程
# ps -ef|grep svn|grep -v grep
root 12538 1 0 14:40 ? 00:00:00 svnserve -d -r /opt/svn/repositories

c. 檢測SVN埠
# netstat -ln |grep 3690
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN

5. 停止重啟SVN:
# killall svnserve //停止
# svnserve -d -r /opt/svn/repositories // 啟動

6. 測試連接:
使用TortoiseSVN進行測試:
1. SVN服務啟動後,需要使用客戶端測試連接:
客戶端連接地址:svn://192.168.15.231;然後,輸入用戶名密碼;
2. 新建一個文件夾,即本地的庫文件夾,右鍵checkout,將會得到一個隱藏文件夾.svn;
3. 在此文件夾中放入項目內容,然後右鍵點擊commit,就可以上傳本地項目了。

C. 如何配置自己的Linux svnserver伺服器

通常,很多Linux發行版已經自帶了svn軟體,安裝系統時候選擇即可。因此,本文並不講解如何安裝svn相關軟體,而是重點總結一下如果使用svnserve伺服器來構建自己的代碼倉庫,並且允許別人遠程訪問。

參考內容如下。
一、新建並初始化版本庫
1.新建代碼倉庫
# svnadmin create /home/myrepos
這樣,我們就在/home目錄下新建了版本庫myrepos。

2.初始化代碼倉庫
#mkdir -p code/{branches,tags,trunk}
按照svn手冊上的建議,我們版本庫的布局採用branches/tags/trunk這樣的三個目錄。然後可以將代碼直接拷貝的trunk目錄,也可以隨後採用svn add的方式添加。

#svn import code file: ///home/myrepos
將我們構造好的版本庫布局(以及代碼,如果已經拷貝到trunk下的話)提交到版本庫。由於這里我們是在本地操作,因此可以直接使用file協議方式提交。格式為:file:// + 版本庫絕對的路徑

OK,到這里我們已經構建了一個本地版本庫,可以再本地使用svn ci的方法得到版本庫的副本了。如果前面只是提交了版本庫布局,而沒有提交代碼的話,則可以通過如下命令,提交版本代碼:
#svn co file: ///home/myrepos/trunk repos
通常只從主線目錄trunk下取出源碼,放在了新建的repos目錄。然後可以將源碼拷貝到repos目錄。
執行以下兩條命令將代碼添加的版本庫。
#svn add *
#svn ci * -m "Committed codes"
首先需要將拷貝的代碼加入到當前的副本中,然後將代碼提交到版本庫。

二、配置並啟動svnserve
1. 配置svnserve
這一步主要完成遠程用戶訪問版本的許可權。
在版本庫目錄下有個conf目錄:home/myrepos/conf,該目錄包含三個文件:authz,passwd,svnserve.conf。
(1)svnserve.conf

此文件重點的設置內容如下:
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
其中,anon-acces s和auth-access分別代表設置匿名用戶和授權用戶的訪問許可權。read代表只讀,write代表可讀可寫,還有一個none,代表禁止訪問。如果不想讓匿名用戶訪問的話,可以設置anon-access = none。
password-db為保存版本庫的用戶名和密碼,通常為conf目錄下的passwd文件。
authz-db指向的文件,主要用於將用戶進行分組,並賦予不同的組不同的許可權。譬如有多個目錄時,設置某個組的用戶只可以訪問其中的那些目錄。
(2)passwd
如前面介紹,這個文件的主要內容如下
[users]
harry = harrysecret
sally = sallyssecret
以上兩行就是可以訪問版本庫的用戶名和密碼。格式為:user = passwd。
(3)authz
[groups]
# harry_and_sally = harry,sally

# [/foo/bar]
# harry = rw
# * =

# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
以上就是authz文件的格式。先給用戶分組,然後分別設置每個組的工作目錄以及許可權等。
本文的講解並未用到authz的配置。

2. 啟動svnserve
#svnserve -d -r /home/
svnserve將以守護進程的方式運行。同時,通過-r選項指定了版本庫的目錄。這個目錄可以是版本庫的上級目錄(/home),也可以是版本庫的目錄(/home/myrepos)。具體的區別會在後面講到。當然,也可以不用-r指定。

三、遠程訪問svnserve。
假設版本伺服器的地址為10.1.1.1,那麼用戶可以在遠程linux端輸入命令:
#svn checkout svn://10.1.1.1/myrepos myrepos
這樣版本庫的所有內容都被check出來,存放在當前目錄myrepos下。這里相當於使用svn協議,不用搭建http伺服器。

如果啟動svnserve的時候,-r選項指定的是版本庫的目錄,譬如/home/myrepos,那麼檢出版本的時候,執行的命令為:
#svn checkout svn://10.1.1.1/ myrepos

如果啟動svnserve是沒有指定-r選項,則要輸入版本庫的絕對路徑:
#svn checkout svn://10.1.1.1/home/myrepos myrepos

四、容易出現的問題
在訪問svnserve時,遇到了不少的問題,大致總結一下:
1. 這一步最容易避免,一定要記得啟動svnserve。
2. 記得要正確的修改配置文件svnserve.conf和passwd。
3. 保證版本庫伺服器沒有配置限制遠程訪問svnserve的規則。有時在訪問svn伺服器的時候,會提示伺服器積極拒絕鏈接。簡單起見,可以看看iptables -L INPUT和iptables -L OUTPUT有沒有限制訪問的規則。
4. 要保證輸入版本庫的URL正確。

後記:

1. 版本庫的初次導入可以採用多種方式:
(1)直接構建好版本庫目錄,並將源碼拷貝的對應的位置,然後svn import即可;
(2)先用svn checkout取出版本,然後構建目錄和源碼,執行svn add 並且svn commit即可。
2. 導入或者提交文件類型的控制
svn客戶端是可以配置忽略哪些些文件,比如說我們不想提交*.o之類的文件。那麼可以通過設置svn:ignore或者global-ignore來進行過濾相關的文件。通常默認的情況就會過濾掉*.o, *.so,*.a等被svn認為是中間生成的文件。我本人使用的客服端不管是WIN的還是Linux的都是這種默認情況。
但是,如果有時基於某種需要,或者是導入一個別人之前維護的工程,裡面有些*.so,*.a文件必須保留,那麼如果在第一次import的時候全部導入呢?曾經問過有些朋友說,svn add或者svn import是可以直接把這種文件導入到版本庫的。但是我個人進行測試的時候,確實導入不進去,除非你直接svn add這個文件,然後提交應該就可以了。
如果這樣的文件比較多,而且比較分散,那麼如何解決呢?看一下svn import和svn add這兩個命令的幫助,都有--no-ignore選項。這個選項的功能就是執行相應動作的時候,不忽略任何文件。那麼執行以下兩條命令:
svn import [source] [repository] --no-ignore

svn add [source] --no-ignore
會自動將source目錄下所有的內容全部import或者add。

因此,通過--no-ignore選項,可以滿足提交一些特殊文件的需求。

3. 用一個舊版本的svnadmin創建的版本庫,直接拷貝到另外一台svn版本比較高的PC上使用時,發現提示資料庫版本不匹配。解決的方法:
(1)導出舊的版本庫內容,包含版本信息
具體使用的命令為svnadmin mp, 詳細使用方法參考手冊。該命令的格式為:
svnadmin mp REPOS_PATH [-r LOWER[:UPPER]] [--incremental]
如果我將版本庫完整的信息都倒出來的話,執行如下命令:
# svnadmin mp old_repos > repos.mp

默認版本庫mp的時候是輸出在終端的,通過重定下輸出到repos.mp文件裡面。該文件實際是文本文件。
(2)導入舊版本庫的內容
在需要導入的位置,新建一個版本庫
# svnadmin create new_repos
然後將repos.mp文件導入到新的版本庫:
# svnadmin load new_repos < repos.mp
該命令成功執行完畢之後,新的版本庫中已經包含了old_repos版本庫中的所有版本內容。
svnadmin mp和svnadmin load命令都支持導入/導出某個指定revsion或者某個指定范圍的所有revision。

D. 如何修改SVN的地址

1、打開項目所在位置並選中

E. linux下怎麼由本地路徑得到svn伺服器地址呢 比如本地路徑是/home/xx/svn/xx 怎麼知道對應的伺服器上的地址

如果你已經update過
cd 到該目錄下
cat .svn/entries
就可以看到了

F. linux 搭建的svn伺服器怎麼訪問

舉個例子,命令執行創建:svnadmin create /svn 需要修改配置文件,設置賬號密碼
啟動svn服務:svnserve -d -r /svn
svn://IP/svn 就是你的訪問路徑
pc安裝svn客戶端,通過檢出或者版本庫瀏覽器訪問地址即可

G. linux nginx下搭建了SVN伺服器,本地要如何配置了

客戶端首先是要checkout,這個操作沒錯,但url怎麼寫要看你的SVN伺服器是怎麼搭建了,有用svn協議的(url以svn打頭+://),有用http或https協議的(url以http或https打頭+://),後面的地址通常是:伺服器主機地址+冒號+版本庫路徑,這個具體要看你的SVN配置文件才好確定

H. 怎麼查看linux伺服器的svn地址

SVN地址就是伺服器內網IP的地址SVN://IP地址

I. Linux中svn伺服器安裝與使用

直接開放svnserve的埠就可以了,默認埠是3690

如果selinux開啟了,它會阻止文件的寫入,從倉庫中拉去正常,但上傳的時候會出現 不能打開文件"***/db/txn-current-lock"許可權不夠

如果出現semanage未定義,可以參考 CentOS7 中安裝semanage來設置selinux

倉庫目錄為 /home/svn/test ,如果要刪除版本倉庫直接刪除目錄就可以了 rm -rf /home/svn/test

在倉庫目錄 /home/svn/test 的 conf 目錄中會有三個文件

修改配置

修改配置添加賬號密碼,以 賬號=密碼 的格式配置, = 號二邊盡量不要存在空格

許可權管理分為組管理和目錄許可權管理

多個創建可以共用一套賬號和密碼許可權管理。也可以用不同的賬號密碼管理,如果用不同的配置少單倉庫類似,修改每個倉庫conf下的賬號和許可權文件就可以了。下面說一下共用賬號許可權文件的情況。

在倉庫目錄 /home/svn 目錄中創建authz文件和passwd文件。

修改配置各倉庫下conf/svnserve.conf。將password-db和authz-db指向/home/svn/目錄下的文件

修改/home/svn/passwd配置添加賬號密碼,以 賬號=密碼 的格式配置, = 號二邊盡量不要存在空格

修改/home/svn/authz許可權管理分為組管理和目錄許可權管理

如果單倉庫以/home/svn啟動,此時訪問的地址會有倉庫名。 svn://ip/test

訪問地址分別為:

編輯 /etc/sysconfig/svnserve 文件,修改 OPTIONS="-r /var/svn" 參數改為svn倉庫目錄 OPTIONS="-r /home/svn"

設置開機啟動

修改後也可以用systemctl來啟動、停止、重啟

svnserve啟動後,修改authz和passwd文件是時實生效的,並不需要重啟服務

有時隨著倉庫越來越多,許可權配置也越來越多時,會出現一些配置錯誤,導致訪問時出現無法載入許可權驗證之前的錯誤,這個時候我們可以將svn伺服器的日誌列印出來,看些配置出錯了。

停止svn伺服器,重新附加log-file參數輸入日誌到指定文件

J. linux怎麼配置svn伺服器

1.檢查是否已安裝

rpm -qa subversion
如果要卸載舊版本:

yum remove subversion

2.安裝

yum install subversion
PS:yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql(這是安裝配合Apache的模塊,我暫時還沒做,做了再補上,你可以只裝subversion,多裝了也無所謂)
3.檢查是否安裝成功

svnserve --version
如果成功會輸出版本號

4.創建倉庫目錄
例如:

mkdir /home/svn/game

5.創建項目

svnadmin create /home/svn/game

6.檢查是否創建成功

cd /home/svn/game
ll
如果成功,game目錄下會多出幾個文件夾

7.進入conf目錄會看到3個配置文件,生成的文件中都有英文注釋說明
示例需求:

策劃組:開策劃、美術讀寫
後端組:開後端讀寫,策劃只讀
前端組:開前端讀寫,策劃、美術只讀
美術組:開美術讀寫,策劃只讀
管理員組:所有的讀寫
authz:用戶許可權配置
示例:

[groups]
#管理組
manager = boss
#服務端用戶組
server = server1,server2
#客戶端用戶組
client = client1,client2
#美術組
art = art1,art2
#策劃組
design=design1,design2
[game:/]
@manager=rw
[game:/server]
@server=rw
[game:/client]
@client=rw
@design=r
@art=r
[game:/art]
@design=rw
@art=rw
@client=r
[game:/design]
@design=rw
@server=r
@client=r
@art=r
passwd:用戶密碼

[users]
boss=123456
server1=123456
server2=123456
client1=123456
client2=123456
art1=123456
art2=123456
design1=123456
design2=123456
svnserve.conf:

#匿名訪問者許可權
anon-access = none
#驗證用戶許可權
auth-access = write
#密碼文件地址
password-db = /home/svn/game/passwd
#許可權文件地址
authz-db = /home/svn/game/authz
#項目名稱(UUID)
realm =game

8.開放svn埠
默認是3690埠,你也可以用別的。已開啟的跳過這一步

修改
iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
保存
/etc/rc.d/init.d/iptables save
重啟
service iptables restart
查看
/etc/init.d/iptables status

9.啟動SVN服務

svnserve -d -r /home/svn
-d:守護進程
-r:svn根目錄
假設服務端IP為192.168.1.100,那麼如下設置後game的訪問目錄就為:

svn://192.168.1.100/game

閱讀全文

與linux本機svn伺服器地址相關的資料

熱點內容
陳龍跟外國孩子演過的電影 瀏覽:886
韓國唯美愛情電影 女主角絕症 瀏覽:414
python經典庫 瀏覽:840
善良小夷子女演員 瀏覽:973
大奶女電影版 瀏覽:653
汽車遙控編程器 瀏覽:784
方舟在伺服器如何發全體文字 瀏覽:346
一部很多女子格鬥的電影 瀏覽:770
外國大胸美女電影推薦 瀏覽:208
大尺很色床戲電影 瀏覽:432
鄭州阿里程序員 瀏覽:131
韓國愛情推理片全部復制 瀏覽:462
台灣影視國語 瀏覽:571
穿越之我那三千個兄弟訓誡 瀏覽:486
連母親都收的小說 瀏覽:839
葉子媚演過尺較大的電影在線觀看 瀏覽:832
app反感怎麼解決 瀏覽:332
極光設置app是什麼 瀏覽:79
app廣告怎麼賺錢 瀏覽:917
男主被系統控制的小說下載 瀏覽:951