yum install subversion
svnadmin create /home/myrepos #這裏的文件目錄本身隨便設置
上述版本庫/home/myrepos創建後在文件夾下會生成hooks、locks、format、conf四個文件夾bash
目錄用途說明:tcp
hooks目錄:放置hook腳本文件的目錄svn
locks目錄:用來放置subversion的db鎖文件和db_logs鎖文件的目錄,用來追蹤存取文件庫的客戶端spa
format文件:是一個文本文件,裏面只放了一個整數,表示當前文件庫配置的版本號code
conf目錄:是這個倉庫的配置文件(倉庫的用戶訪問帳號、權限等),包含3個文件:authz、passwd、svnserve.conform
文件用途說明:ip
authz文件:用戶權限配置文件。cmd
passwd:用戶名密碼配置文件。it
svnserve.conf:Svn主配置文件。io
anon-access = none #不容許匿名訪問 auth-access = write #容許寫入 password-db = passwd #指向驗證用戶名密碼的數據文件 passwd authz-db = authz #指向驗證用戶的權限配置文件 authz
[users] chen = 123456 #用戶名 = 密碼, 等號表示關聯關係
[groups] admin = chen #羣組 admin 包含帳號chen [/] @admin = rw #羣組 admin 有讀寫權限 * = #以上沒有定義的用戶都沒有任何權限
格式說明:
版本庫目錄格式:
[<版本庫>:/項目/目錄]
@<用戶組名> = <權限>
<用戶名> = <權限>
/ 表示對根目錄(即/svn/project目錄)下的全部子目錄範圍設置權限;
[/abc] 表示對資料庫中abc項目設置權限;
建立一個admin組,組成員只包括chen
admin組對目錄有讀寫權限;
*=表示除了上面設置的權限用戶組之外,其餘全部用戶都設置空權限,空權限表示禁止訪問本目錄,這很重要必定要加上。
注意:對權限配置文件的修改當即生效,沒必要重啓svn。
CentOS 7 默認沒有使用iptables,因此經過編輯iptables的配置文件來開啓80端口是不能夠的
CentOS 7 採用了 firewalld 防火牆,Svn默認使用3690端口,如要查詢端口是否開啓,使用如下命令:
firewall-cmd --query-port=3690/tcp --permanent
若是端口未開,使用下面的命令開啓端口:
firewall-cmd --add-port=3690/tcp --permanent
開啓端口後,能夠從新加載防火牆:
firewall-cmd --reload
svnserve -d -r /home/myrepos/