linux上搭建svn服務

最近幫朋友搞了一個項目,爲了維護方便一點就在服務器上搭了一個svn服務,之前從沒搭過,因此作個記錄。vim

首先,svn的安裝windows

查看下是否安裝了svn服務器

# rpm -qa  subversion

若是出現了安裝過的svn信息,那麼就不用再安裝了,若是沒有安裝,就用yum安裝一下吧。app

# yum install subversion

新建版本庫svn

先建一個文件夾存放倉庫數據,而後用svnadmin建立版本庫。舉個例子this

# mkdir /home/svn

# svnadmin create /home/svn/project

建立完以後在project下應該有如下文件編碼

conf db format hooks locks README.txtcode

修改配置文件orm

conf 文件夾下有三個文件須要配置,首先修改 svnserve.conf 文件server

# vim conf/sevserve.conf

找到如下配置,去掉配置前面的註釋(#)

#anon-access = read
#auth-access = write
#password-db = passwd
#authz-db = authz

每一個配置項都有它的做用,好比anon-access = read 就是全部人都有讀取的權限,不用認證。若是不容許這樣,能夠改成 anon-access = none,其餘做用能夠自行百度,並不難理解

注意:這裏刪掉#號以後前面不要留空格,會報錯的。而且配置項和值之間的 = 號兩端須要有一個空格,後面的passwd 和 authz 文件也是同樣


修改passwd文件,這是管理用戶帳號密碼的文件

# vim conf/passwd    

### This file is an example password file for svnserve.
### Its format is similar to that of svnserve.conf. As shown in the
### example below it contains one section labelled [users].
### The name and password for each user follow, one account per line.

[users]
# harry = harryssecret
# sally = sallyssecret
admin = 123456

很簡單,我新增了一個用戶admin 密碼是 123456。


修改authz 文件,這個文件是管理用戶權限的

# vim conf/authz

首先建一個用戶組

[group]
admin = admin #第一個admin是用戶組名稱,第二個是咱們剛纔新建的用戶

而後分配權限

[/]         # 做用的範圍 / 應該表示當前版本庫的全部目錄
@admin = rw #@後面是組的名稱, rw 讀寫的權限。就是賦予admin組全部成員讀寫的權限
* =         #除了以上配置過的用戶以外全部用戶都沒有任何權限

先簡單的作這些配置,保存

啓動svn服務

# svnserve -d -r /home/svn

ok,到此爲止就搞定啦,成功建立了版本庫。你能夠找個目錄運行一下 svn checkout svn://localhost/project 查看是否正常。首次運行的時候會有以下信息:

Authentication realm: <svn://localhost:3690> 3f7faa7c-c914-4840-bc5e-1ed0def587ce
Password for 'root': 
Authentication realm: <svn://localhost:3690> 3f7faa7c-c914-4840-bc5e-1ed0def587ce
Username: admin
Password for 'admin': 

-----------------------------------------------------------------------
ATTENTION!  Your password for authentication realm:

   <svn://localhost:3690> 3f7faa7c-c914-4840-bc5e-1ed0def587ce

can only be stored to disk unencrypted!  You are advised to configure
your system so that Subversion can store passwords encrypted, if
possible.  See the documentation for details.

You can avoid future appearances of this warning by setting the value
of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
'/root/.subversion/servers'.
-----------------------------------------------------------------------
Store password unencrypted (yes/no)?

這裏這個root密碼設置了應該是保存在硬盤裏的,我也沒去研究,設置一個,本身記住,萬一之後要用。

導入文件

剛建立的版本庫是沒有文件的,若是你想把服務器上的某些文件加到版本庫,那麼能夠用import命令,好比個人/home/myporject/ 下的全部文件須要添加進版本庫,而且作爲一個主要分支,那麼能夠這麼作

# cd /home/myproject/
# svn import . file:///usr/local/svn/project/trunk  -m "Initial import"

注意:若是須要添加進版本庫的文件有中文名的可能會報編碼錯誤,這時候須要進一步處理了

固然,也能夠直接將剛纔建好版本庫在windows電腦上checkout出來,直接把須要的文件放進去而後commit一下也是同樣的。

作完以上步驟,基本就搞定啦,來愉快的玩耍吧!

相關文章
相關標籤/搜索