一 SVN 的安裝
1 需求軟件(組件)的安裝:
tar zxvfapr-1.4.5.tar.gz -C ../software/
tar zxvfapr-util-1.3.12.tar.gz -C ../software/
cd ../software/
cd apr-1.4.5/
./configure--prefix=/usr/local/apr/ && make && make install
cd../apr-util-1.3.12/
./configure --prefix=/usr/local/apr-util/--with-apr=/usr/local/apr/ && make && make install
tar zxvfsqlite-autoconf-3070900.tar.gz -C ../software/
cd../software/sqlite-autoconf-3070900/
./configure--prefix=/usr/local/sqlite && make && make install
tar zxvfneon-0.30.0.tar.gz
cd neon-0.30.0
./configure
make &&make install
tar –zvxfhttpd-2.2.25.tar.gz
cd httpd-2.2.25
./configure--prefix=/usr/local/apache --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr-util/bin/apu-1-config--enable-dav --enable-maintainer-mod --enable-rewrite --enable-so--with-sqlite=/usr/local/sqlite
make &&make install
2 SVN的編譯安裝
tar zxvfsubversion-1.7.2.tar.gz -C ../software/
cd../software/subversion-1.7.2/
./configure --prefix=/usr/local/subversion--with-apxs=/usr/local/apache/bin/apxs --with-apr=/usr/local/apr/--with-apr-util=/usr/local/apr-util/ --with-sqlite=/usr/local/sqlite--with-neon
make &&make install
3 驗證安裝
[root@localhostapache]# /usr/local/subversion/bin/svnversion --version
svnversion,version 1.7.2 (r1207936)
compiled Sep 2 2014, 17:56:45
Copyright (C) 2011The Apache Software Foundation.
This softwareconsists of contributions made by many people; see the NOTICE
file for moreinformation.
Subversion is opensource software, see http://subversion.apache.org/
查看安裝後的版本信息。
二 svn的維護
Svn項目的創建
架設svn的根目錄爲/home/svn/project
Mkdir/home/svn/project
以創建項目 ym 爲例
a mkdir/home/svn/project/ym
b svnadmincreate /home/svn/project/ym
這樣就將svn項目ym創建好了,同時,會在/home/svn/project/ym生成
[root@localhost icann]# ll
總用量 24
drwxr-xr-x. 2 root root 4096 9月 5 10:53 conf
drwxr-sr-x. 6 root root 4096 9月 5 11:27 db
-r--r--r--. 1 root root 2 9月 5 10:53 format
drwxr-xr-x. 2 root root 4096 9月 5 10:53 hooks
drwxr-xr-x. 2 root root 4096 9月 5 10:53 locks
-rw-r--r--. 1 root root 229 9月 5 10:53 README.txt
對應的文件夾。
db:存放具體數據;
hooks:鉤子程序存放地,比如我們要實現同步更新的操作,在這裏實現;
conf:配置文件存放地
權限的配置
權限的配置文件在文件夾conf下,該文件夾下有三個文件
-rw-r--r--. 1 root root 1120 8月 30 18:06 authz (詳細權限配置文件authz)
-rw-r--r--. 1 root root 342 9月 5 12:01 passwd (用戶密碼)
-rw-r--r--. 1 root root 2339 8月 30 18:05 svnserve.conf (匿名用戶的權限配置,配置使用哪種授權登錄方式)
1 編譯svnserver.conf
anon-access = none
auth-access = write
password-db = passwd
表示:對於匿名用戶,無訪問權限;對於授權用戶,有寫權限;
配置使用password授權登錄方式,就是用戶名和密碼都是明文存放在同級目錄下的passwd文件中
2 編輯passwd帳號密碼
[root@localhost conf]# cat passwd
### This file is an example password filefor svnserve.
### Its format is similar to that ofsvnserve.conf. As shown in the
### example below it contains one sectionlabelled [users].
### The name and password for each userfollow, one account per line.
[users]
# harry = harryssecret
# sally = sallyssecret
ym = ym142536
nawang = nwkj!@#
用ym 的密碼是ym142536
3 編譯authz
[root@localhost conf]# cat authz
[groups]
admin = lsb
[repos:/]
@admin = rw
* = r
用戶組admin有讀寫的權限,admin組有lsb用戶。
針對所有用戶有讀的權限。
SVN 的啓動
svnserve -d -r /home/svn/project
三 客戶端的操作
1、通過軟件客戶端,檢出的地址爲svn://192.168.1.7/nabla
2、linux檢出和提交的操作
1、首先先新建一個空白的文件夾,然後檢出
svn cosvn://192.168.1.123/production/wap.ym.cn/ /var/www/html/wap.ym.cn
輸入用戶名和密碼,檢出這個庫。
2、再數據移到這個文件夾下面去,然後添加文件版本號
svn status|grep ? |awk '{print $2}'|xargssvn add
3、提交到庫
svn commit -m "1" (-)
四 針對目前內部svn服務的說明
目前我們內部的svn服務(數據)都遷移到192.168.1.7 上面。
在192.168.1.7 上面,svn的根目錄是/home/svn/project
下面分位兩個大項目
development
production
development針對開發庫(之前192.168.1.2上面的svn數據)
production 針對線上庫(之前192.168.1.29 上面的svn數據)
production下面的項目的權限配置和帳號密碼在各自的項目的conf文件夾下的配置文件配置。要增加修改用戶的權限在各自的項目下修改
development由於帳號比較多,帳號密碼統一到一個文件進行管理。權限的配置還是在各自的項目下的conf下的auth配置。以北龍的項目爲例,
cd /home/svn/project/development/knet/conf
svnserve.conf 的配置文件爲
anon-access = none
auth-access = write
password-db = /home/svn/project/development/passwd
authz-db = authz
密碼統一讀取/home/svn/project/development/passwd文件。
權限的控制讀取/home/svn/project/development/knet/conf/下的auth文件
[development/knet:/]
baowenjie=rw
[development/knet:/web]
chenchengdi=rw
也就是說,
針對development項目新創建的項目,用戶的增加在/home/svn/project/development/passwd文件增加,用戶的權限還是在新創建的項目下編輯配置。
針對production項目新創建的項目,用戶的增加和權限的配置都是在新創建的項目下編輯配置。