天天看點

linux下安裝svn

下面是通過網上的資源與自己遇到的些問題合并而成的安裝步驟:

1.下載下傳subversion和apache的最新src包

2. 建立一個使用者:svnroot ,以下操作非特别說明皆為root使用者操作

#groupadd svn

#useradd svnroot -g svn

#passwd svn

3. 編譯安裝httpd:

//解壓apache2安裝包

# tar xvzf httpd-2.2.3.tar.tar

//進入解壓後的目錄

# cd httpd-2.2.3

//配置apache安裝

# ./configure --enable-dav --enable-so --prefix=/usr/local/apache2/

# make

//安裝

# make install

//啟動apache服務

# /usr/local/apache2/bin/apachectl start

//打開浏覽器http://localhost/如果有測試頁"It works!"出現則證明已經安裝成功。

4. 安裝Subversion 

#注:如果安裝的是subversion1.6.x 需要先安裝sqlite,下載下傳sqlite解壓後将sqlite3.c檔案拷貝至subversion下的sqlite-amalgamation檔案夾下,若sqlite-amalgamation檔案夾不存在,手動建一個即可。

//解壓SubVersion安裝包

 # tar -xvzf Subversion-1.4.0.tar.gz

//進入解壓後的目錄

# cd Subversion-1.4.0

//配置subversion安裝

#./configure --prefix=/usr/local/subversion --with-ssl --enable-maintainer-mode --with-apxs=/usr/local/apache2/bin/apxs  --with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2 --with-zlib=/usr/local/zlib

#./configure --prefix=/usr/local/subversion --with-ssl --enable-maintainer-mode --with-apxs=/usr/local/apache2.2.6/bin/apxs  --with-apr=/usr/local/apache2.2.6 --with-apr-util=/usr/local/apache2.2.6

如果提示:configure: error: subversion requires zlib

需要下載下傳wget http://mirror.centos.org/centos/5/os/x86_64/CentOS/zlib-devel-1.2.3-4.el5.x86_64.rpm

安裝rpm -i zlib-devel-1.2.3-4.el5.x86_64.rpm 則可

如果/usr/local/apache2/bin/目錄下的apxs子產品不存在則去年這個子產品即可:

#./configure --prefix=/usr/local/subversion --with-ssl --enable-maintainer-mode   --with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2 --with-zlib=/usr/local/zlib

# make

//安裝

# make install

//建立庫檔案所在的目錄 (svnroot使用者進行下面的操作)

# mkdir /home/svnroot/repository

//建立倉庫"test"

# /usr/local/subversion/bin/svnadmin create /home/svnroot/repository/test

//檢視svn是否安裝成功

#  /usr/local/subversion/bin/svnadmin --version

//不讓其他人有該目錄的權限

# chmod 700 /home/svnroot/repository

 (svnroot使用者操作結束)

5. 修改Apache配置檔案

# vi /usr/local/apache2/conf/httpd.conf

   //找到下列語句,如果沒有則自行添加

   LoadModule dav_svn_module modules/mod_dav_svn.so

   LoadModule authz_svn_module modules/mod_authz_svn.so

  //在後面添加

   <Location /svn>

   DAV svn

   SVNParentPath /home/svnroot/repository/ //svn父目錄

   AuthzSVNAccessFile /home/svnroot/repository/authz.conf //權限配置檔案

   AuthType Basic //連接配接類型設定

   AuthName "Subversion.zoneyump" //連接配接框提示

   AuthUserFile /home/svnroot/repository/authfile //使用者配置檔案

   Require valid-user //采用何種認證

   </Location>

6. 權限管理

1)增加使用者

# /usr/local/apache2/bin/htpasswd  /home/svnroot/repository/authfile 使用者名(加入新的使用者,就不用-c了),更改使用者密碼也用這個

# /usr/local/apache2/bin/htpasswd -c /home/svnroot/repository/authfile 使用者名

//第一次設定使用者時使用-c表示建立一個使用者檔案。回車後輸入使用者密碼,完成對使用者的增加

New password:psbsa2f1fxxx

2)權限配置設定

# vi /home/svnroot/repository/authz.conf

 [groups]

admin=useradmin

devteamcs = useradmin,user1,user2//這裡定義了一個使用者組。

//admin與devteamcs是自定義的兩個使用者組

[/]//對所有的項目,所有的使用者都有讀權限,admin使用者有讀寫權限

@admin = rw

* = r

[test:/]//對test項目,

@devteamcs = rw

// 在 /usr/local/apache2/conf/httpd.conf 檔案中配置,找到檔案中的這兩行:

User daemon

Group daemon

 // 将daemon改為svnroot,組也做相應更改,讓apache程序以svnroot的身份運作

//改完後是這個樣子

User svnroot

Group svn

//重新開機apache

  # /usr/local/apache2/bin/apachectl restart

通路http://localhost/svn/test ,現在需要身份驗證,且通過驗證後應該可以看到資訊

繼續閱讀