linuxsvn伺服器搭建和配置
A. linux上的svn配置文件在哪裡
你說的svn配置文件是什麼配置文件呢?如果只是需要使用svn相關命令的話,因為svn是版本控制工具,所以它應該是在檢出的工作目錄下使用,其他目錄不可以使用的;
B. 如何配置自己的Linux svnserver伺服器
一、新建並初始化版本庫
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正確。
C. linux 搭建的svn伺服器怎麼訪問
舉個例子,命令執行創建:svnadmin create /svn 需要修改配置文件,設置賬號密碼
啟動svn服務:svnserve -d -r /svn
svn://IP/svn 就是你的訪問路徑
pc安裝svn客戶端,通過檢出或者版本庫瀏覽器訪問地址即可
D. 在linux伺服器上搭建svn服務端有什麼用
當然可以連接的了。
客戶端操作流程一般是:
用戶A: checkout (提取) -> add (添加新文件) -> commit (提交)
用戶B: SVN log(查看更新) -> update(更新版本)
1,SVN的安裝
yun –y install subversion
2,Linux svn的常用命令
()內為命令簡寫.
checkout (co) 提取
commit (ci) 提交
update (up) 更新
list (ls) 列表
3, checkout (co) 提取 svn伺服器上的文件
(user1)操作流程
[root@TEST ~]# svn co svn://192.168.103.26/winne
Authentication realm: My First Repository
Password for 'root':
Authentication realm: My First Repository
Username: user1 /輸入用戶名
Password for 'user1': /輸入密碼
A winne/Cosmic Ride - BeFour.lrc
A winne/20070716171657126.pdf
A winne/svnbook.pdf
revision 1. / checkout (co) 提取成功,看到Checked out版本為1
注:可以使用帶用戶名和密碼的訪問:
svn co --username user1 --password user1 svn://192.168.103.26/winne
[root@TEST ~]# ll
drwxr-xr-x 3 root root 4096 Sep 23 09:02 winne /winne目錄是SVN自動生成的
drwxr-xr-x 2 root root 4096 Jul 30 02:06 tasks
[root@TEST ~]# cd winne
[root@TEST winne]# ll
total 2868
-rw-r--r-- 1 root root 1566968 Sep 23 08:53 20070716171657126.pdf
-rw-r--r-- 1 root root 2397 Sep 23 08:53 Cosmic Ride - BeFour.lrc
-rw-r--r-- 1 root root 1354300 Sep 23 08:53 svnbook.pdf
E. 如何配置svn伺服器
我這里是使用linux+centos+nginx。
1、安裝svn伺服器
yum install subversion 中間會提示是否ok,輸入y,確認。安裝完成會提示:complete!
2、可以查看svn的版本信息。
svnserve --version3、新建SVN目錄
mkdir -p /alidata/www/svndata/first4、給svn目錄許可權
chmod -R 777 /alidata/www/svndata/5、修改配置文件。
文件地址:/alidata/www/svndata/first/conf/ 目錄裡面會有3個文件:authz、passwd、svnserve.conf
下面我們逐個的修改配置文件:
1)、authz文件的修改。
1)、設置用戶組
[groups] harry_and_sally = aa,xiaoming 2)、設置用戶組的許可權
# [repository:/baz/fuz] [/] @harry_and_sally = rw // harry_and_sally和上面的是對應的,名字隨便起,保持一致就行。 * = r 3)、:wq 保存退出。
2)、passwd文件的修改。
1)、添加用戶。
[users] gaomeng = aa xiaoming = xiaoming2)、:wq 保存退出。
3)、svnserve.conf文件的修改。
1)、注意:去除前面的#號的同時,也要把空格去掉,頂行。
anon-access = none // 將read 改為 none auth-access = write password-db = passwd authz-db = authz realm = first // first是我的版本控制庫的文件夾名
2)、:wq 保存退出。
6、重新啟動svn服務。
svnserve -d -r /alidata/www/svndata/first/
7、這個時候我們去本地檢出svn版本控制,可能會出現這樣的錯誤。
invalid authz configuration svn 為什麼呢?
因為我們在上面加入了aa和xiaoming的兩個用戶。但是,這兩個用戶之前並沒有創建。
解決方法:
我們在系統中新建aa和xiaoming這兩個用戶即可。
新建代碼實例:
[root@iZ23r95x9p9 first]# adser xiaoming [root@iZ23r95x9p9 first]# passwd xiaoming查看是否新建成功:
[root@iZ23r95x9p9 first]# groups xiaoming xiaoming : xiaoming8、新建完畢之後,再重新的啟動一下,看看本地是不是可以檢出了。這里就大功告成。
F. linux nginx下搭建了SVN伺服器,本地要如何配置了
客戶端首先是要checkout,這個操作沒錯,但url怎麼寫要看你的SVN伺服器是怎麼搭建了,有用svn協議的(url以svn打頭+://),有用http或https協議的(url以http或https打頭+://),後面的地址通常是:伺服器主機地址+冒號+版本庫路徑,這個具體要看你的SVN配置文件才好確定
G. 如何在linux伺服器上搭建svn
linux下SVN伺服器如何搭建和使用?說到SVN伺服器,想必大家都知道,可以是在LINUX下如何搭建SVN伺服器呢?那麼今天給大家分享一下LINUX下搭建SVN伺服器的思路!
1,首先安裝好LINUX系統,然後YUM安裝:
#yum -y install svnversion
2,安全完成之後我們來配置:
創建版本庫目錄:
#mkdir -p /banbenku/svn/
3,然後啟用:
#svnserve -d -r /banbenku/svn
然後查看是否啟動了!
ps -ef|grep svn;
[root@207 conf]# lsof -i:3690
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
svnserve 8454 root 3u IPv4 1346200 0t0 TCP *:svn (LISTEN)
4,然後我們來新建版本:
mkdir -p /banbenku/svn/zhoujie/
cd /banbenku/svn/zhoujie/conf
在這里有三個文件:authz passwd svnserve.conf
svnserve.conf是主要配置文件;
vi svnserve.conf
修改如下:
anon-access = read
auth-access = write
password-db = /banbenku/svn/zhoujie/conf/passwd
authz-db = /banbenku/svn/zhoujie/conf/authz
wq!
保存退出:
然後修改passwd:
建立用戶名與密碼內容如下:
zhoujie = 123456
wq
保有存退出:
然後修改:authz:
內容如下:
[groups]
admin = zhoujie
[zhoujie:/]
@admin =rw
wq
保存退出!
這樣我們便配置好了;要使用啟生效,重啟SVN:
ps -ef|grep svn
kill -9 PID
svnserve -d -r /banbenku/svn
然後再檢測:
[root@207 conf]# lsof -i:3690
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
svnserve 8454 root 3u IPv4 1346200 0t0 TCP *:svn (LISTEN)
如果如上所示,那便沒有問題了;
H. 求SVN伺服器配置
SVN伺服器對性能要求不是很高,但是80個客戶端的數量也不少了,所以至少得雙路四核的伺服器才可以滿足。
你可以看看國產品牌正睿的這款雙路四核伺服器。標配一顆至強E5620四核八線程處理器(2.4GHz/5.86GT/12M緩存),英特爾5500伺服器晶元組主板,4G DDR3 REG ECC 1333MHz內存,SAS 300G 15000轉高速企業級硬碟,8個熱插拔盤位,允許用戶在不關閉伺服器的情況下增加或減少硬碟,便於維護,雙千兆網卡,性能可以說是非常不錯。如果以後隨著業務量的增長,覺得性能不夠用了,還可以擴展到兩顆處理器,達成8顆處理核心,16條處理線程(在任務管理器處能看到16個處理核心的格子- -~很NB),最大支持48GB DDR3 REG ECC高速容錯校驗內存。
產品型號:I2496288S-H
產品類型:雙路四核機架式伺服器
處 理 器:Xeon E5620
內 存:4G DDR3 REG ECC
硬 盤:SAS 300G
機 構:2U機架式
操作系統:Linux免費版 / VMware ESXi
價 格:¥12990
按照你的要求,建議你升級到4個2TB硬碟,做RAID5陣列,總計有6TB存儲容量可用。總價也就在15000左右搞定。如果以後你覺得容量不夠用了,還可以增加4個2TB硬碟,有豐富的擴容餘地。
I. 怎麼在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,就可以上傳本地項目了。