tar xvfz subversion-1.5.3.tar.gz
檢測Subversion所需的軟件是否具備:
cd /server/software/subversion-1.5.1
sh ./autogen.sh
./configure --prefix=/program/subversion --with-apxs=/program/apache/bin/apxs --with-apr=/program/apr --with-apr-util=/program/apr-util
make
make install
運行make tools,在/server/software/subversion-1.5.0中生成tools目錄
make tools
進入tools/server-side目錄,裏面有svn-populate-node-origins-index文件。
mkdir -p /server/repository //創建庫文件所在的目錄
/program/subversion/bin/svnadmin create /server/repository/joton //創建名為joton的倉庫
/program/subversion/bin/svnadmin create /server/repository/sns //創建名為sns的倉庫
去/server/repository/joton看看是不是多了些文件,如果是則說明Subversion安裝成功了
執行以下命令,使apache的用戶nobody對剛才新建立的倉庫擁有權限:
chown -R nobody /server/repository/joton/
註:這兒的 nobody 是apache的用戶,也有可能是daemon
4、修改apache,讓subversion和apache壹起工作
修改"/program/apache/conf/httpd.conf" ,在最下面添加如下幾行:
(
subversion-1.5.3已經自動添加了,如沒有則添上
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
)
單個版本庫
<Location /svn>
DAV svn
SVNPath /server/repository/joton
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /server/repository/auth-svn
AuthzSVNAccessFile /server/repository/auth-svn.conf
Require valid-user
</Location>
多版本庫
<Location /svn>
DAV svn
SVNListParentPath on
SVNParentPath /server/repository
AuthType Basic
AuthName " Subversion repository "
AuthUserFile /server/repository/auth-svn
AuthzSVNAccessFile /server/repository/auth-svn.conf
Require valid-user
</Location>
創建權限文件
touch –p /server/repository/auth-svn.conf
下面,就要寫這個auth-svn.conf文件了,它是用來控制用戶訪問倉庫的權限的,我們把說明寫在後面
[svn1:/] //這表示,倉庫svn1的根目錄下的訪問權限
dl1 = rw // svn1倉庫dl1用戶具有讀和寫權限
dl2 = rw // svn1倉庫dl2用戶具有讀和寫權限
dl3 = r // svn1倉庫dl3用戶具有讀權限
[svn2:/] //svn2倉庫根目錄下的訪問權限
harry = r // harry用戶在svn2倉庫根目錄下只有讀權限
sally = // sally用戶在 svn2倉庫根目錄下無任何權限
#[/] // 這個表示在所有倉庫的根目錄下
#* = r // 這個表示對所有的用戶都具有讀權限
#[groups] // 這個表示群組設置
#svn1-developers = harry, sally // 這個表示某群組裏的成員
#svn2-developers = sally
#[svn1:/]
#@svn1-developers = rw // 如果在前面加上@符號,則表示這是個群組權限設置
下面來創建訪問有權限的subversion帳號:
/program/apache/bin/htpasswd -cm /server/repository/auth-svn chenggang //創建壹個名為chenggang的用戶。
執行這個命令成功以後就會在/program/apache/bin目錄下建立壹個passwd文件,之後如果再加入新的用戶和更改已有用戶的密碼,執行
/program/apache/bin/htpasswd /server/repository/auth-svn <username>即可。
刪除某個帳號:打開/server/svn/auth-svn這個文件,直接刪除相關的行.
/program/apache/bin/apachectl restart
重啟apache,打開瀏覽器訪問http://192.168.1.1/svn/joton/,如果有東西顯示就說明成功。如果不能正確的顯示,妳看看您的"/server/repository"目錄是否對apache的用戶是可寫的就可以了。
到此為止,在Linux上安裝Subversion已經成功!