1.安裝svnyum install subversion 2.創建版本庫fengyu(版本庫的名字取來和你web項目的名字相同,否則你在伺服器檢出後會變成web項目里還有一層版本庫的目錄,裡面才是項目,名字相同的話就不用創建web項目目錄,直接在www下麵進行檢出就OK。)mkdir -p /va ...
1.安裝svn
yum install subversion
2.創建版本庫fengyu
(版本庫的名字取來和你web項目的名字相同,否則你在伺服器檢出後會變成web項目里還有一層版本庫的目錄,裡面才是項目,名字相同的話就不用創建web項目目錄,直接在www下麵進行檢出就OK。)
mkdir -p /var/svndata/fengyu
svnadmin create /var/svndata/fengyu
4.進入conf目錄
cd /var/svndata/fengyu/conf
5.添加一個用戶為zhangsan密碼123456
vi passwd
添加zhangsan=123456
6.設置許可權
vi authz
添加如下信息
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
admin=zhangsan
[/]
@admin=rw
*=r
將zhangsan設置為admin用戶組
在本庫中,用戶組為admin的用戶有讀寫許可權,其他用戶只有讀許可權
7.全局配置
vi svnserve.conf
在最底下添加如下信息
[general]
anon-access = read #匿名用戶可讀
auth-access = write #授權用戶可寫
password-db = passwd #使用哪個文件作為賬號文件
authz-db = authz #使用哪個文件作為許可權文件
realm = fengyu # 認證空間名,版本庫所在目錄
8.啟動svn版本庫:
svnserve -d -r /var/svndata/fengyu
註意 如果要配置多個版本庫 那麼就啟動版本庫的上一級目錄
如:我要搭建一個fengyu2和fengyu3與fengyu同級 那麼就啟動svndata這個目錄 這樣就可以在客戶端鏈接svn://ip/fengyu2
9.伺服器檢出
cd /var/www 進入你的www目錄
svn co svn://localhost/fengyu
先輸入伺服器root密碼再輸入svn的賬號密碼然後再選擇yes
10.自動更新
cd /var/svndata/fengyu/hooks
cp post-commit.tmpl post-commit
chmod 755 post-commit
vi post-commit
將最下麵三行註釋掉 添加如下內容 請註意路徑填實際路徑
export LANG=zh_CN.UTF-8
REPOS="$1"
REV="$2"
WEB_PATH=/var/www/fengyu
LOG_PATH=/var/log/svn_commit.log
CURDATE="date"
/usr/bin/svn update $WEB_PATH --username zhaobl --password Z5201314 >> $LOG_PATH
11.強制添加註釋
cp pre-commit.tmpl pre-commit
chmod 755 pre-commit
vi pre-commit把文件下麵的全部註釋 然後添加如下內容
REPOS="$1"
TXN="$2"
# Make sure that the log message contains some text.
SVNLOOK=/usr/bin/svnlook
LOGMSG=$($SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c)
if [ "$LOGMSG" -lt 10 ]; then
echo -e "\n 提交文件時請添加註釋,提交中止."1>&2
exit 1
fi
PS:這個限制字數,如果是數字英文會嚴格計算字元,但如果是中文就不管用了,如果有哪位兄弟懂的話請告知一二,感謝。