阿里雲服務器CentOS7.0安裝SVN

一、環境
centos7
二、安裝svnhtml

yum install subversion

查看版本nginx

svnserve --version

圖片描述

三、建立版本庫
先建目錄centos

mkdir /var/svn

建立版本庫svn

cd /var/svn
svnadmin create /var/svn/svnrepos

cd svnrepos

會看到自動生成的版本庫文件:
圖片描述post

subversion目錄說明:
db目錄:就是全部版本控制的數據存放文件。
hooks目錄:放置hook腳本文件的目錄。
locks目錄:用來放置subversion見艱苦鎖定數據的目錄,用來追蹤存取文件庫的客戶端。
format文件:是一個文本文件,裏面只放了一個整數,表示當前文件庫配置的版本號。
conf目錄:是這個倉庫的配置文件(倉庫的用戶訪問帳號、權限等)。
進入conf目錄(該svn版本庫配置文件)cd conf/
authz文件是權限控制文件
passwd是賬號密碼文件
svnserve.conf SVN服務配置文件
設置賬號密碼centos7

vi passwd

在[users]塊中添加用戶和密碼,格式:賬號=密碼,例如:dennis=0454
圖片描述spa

設置權限版本控制

vi authz

在末尾添加以下代碼:code

[/]
dennis=rw

(r:讀,w:寫)
圖片描述orm

修改svnserve.conf文件

vi svnserve.conf

打開下面的幾個註釋:

anon-access = read #匿名用戶可讀
auth-access = write #受權用戶可寫
password-db = passwd #使用哪一個文件做爲帳號文件
authz-db = authz #使用哪一個文件做爲權限文件
realm = /var/svn/svnrepos # 認證空間名,版本庫所在目錄

圖片描述

啓動svn版本庫

svnserve -d -r /var/svn/svnrepos

中止SVN命令

killall svnserve

用ps -ef | grep svn 查看服務是否開啓

圖片描述

重點來了
如今個人nginx運行文件(/usr/local/nginx/html)和svn(/usr/bin/svn)的運行文件不在一塊兒,因此要寫一個鉤子把他們連接起來。在svn所在的hooks文件夾下新建一個 post-commit 文件,而後將文件裏寫入:

#!/bin/sh
export LANG=en_US.UTF-8
SVN=/usr/bin/svn
WEB=/usr/local/nginx/html
$SVN update $WEB --username dennis --password 0454

圖片描述

寫好後執行:

chmod 777 /var/svn/svnrepos/hooks/post-commit

關閉svnserve:

killall svnserve

啓動svnserve:

svnserve -d -r /var/svn/svnrepos

接下來在nginx坐在的運行文件裏(/usr/local/nginx/html)執行

svn checkout  svn://IP/
 svn update
相關文章
相關標籤/搜索