svn安裝2

來源:互聯網
上載者:User

1.需要兩個檔案,httpd和subversion.
httpd是web伺服器,用來通過web訪問subversion,httpd可以在apache官方網站上下載到
最新為:
httpd:
http://httpd.apache.org/download.cgi?Preferred=http%3A%2F%2Fwww.apache.org%2Fdist

subversion:
http://subversion.tigris.org/downloads/subversion-1.4.0.tar.gz

2.建立一個使用者:svnroot
最好不要讓root使用者參與到svn的許可權管理和日常的運行和維護工作中來,但是下面的一些安裝和配置
操作還是 需要root使用者來完成的,因為有些操作只有root才能做。許可權問題很重要。曾經因為許可權問題折騰了一天。

3.編譯安裝httpd (root使用者操作):
//解壓apache2安裝包
# tar xvzf
httpd-2.2.2.tar.gz
//進入解壓後的目錄
# cd httpd-2.2.2
//配置apache安裝,前兩個
參數是必須要加的,你還可以根據您的需要添加其他的參數。
//後面的參數制定你要把apache安裝哪裡
# ./configure
--enable-dav --enable-so --prefix=/usr/local/apache2/
# make
//安裝
#
make install
# cd /usr/local/apache2/bin
//啟動apache服務
#
./apachectl start
//開啟瀏覽器http://localhost/

果有測試頁"It works!"出現則證明已經安裝成功。

4.
安裝Subversion
//解壓SubVersion安裝包 (root使用者進行下面的操作)
# tar xvzf
Subversion-1.3.1.tar.gz
//進入解壓後的目錄
# cd Subversion-1.3.1
//配置
subversion安裝
#./configure --with-apxs=/usr/local/apache2/bin/apxs
--prefix=/usr/local/subversion
--with-apr=/usr/local/apache2
--with-apr-util=/usr/local/apache2 --with-ssl --with-zlib
--enable-maintainer-mode
#
make
//安裝
# make install
//建立庫檔案所在的目錄 (svnroot使用者進行下面的操作)
#
mkdir /home/svnroot/repository
//進入subversion的bin目錄
# cd
/usr/local/subversion/bin
//建立倉庫"test"
# ./svnadmin create
/home/svnroot/repository/test
# cd /home/svnroot/repository/test
//
看看是不是多了些檔案,如果是則說明Subversion安裝成功了
# ls –l
# cd
/usr/local/subversion/bin
//這條語句將把路徑/home/user/import下找到的檔案匯入到你建立的
Subversion 倉庫中去,
//提交後的修訂版為1。
# ./svn import /home/user/import file:///home/svnroot/repository/test
–m "注釋"
//不讓其他人有該目錄的許可權
# chmod 700 /home/svnroot/repository

5.修改Apache設定檔
# cd /usr/local/apadche2/bin
//啟動Apache
#
./apachect1 start
# vi /usr/local/apache2/conf/httpd.conf
   
//在最下面添加
    LoadModule dav_module modules/mod_dav.so
   
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>
   
//其中authfile是通過"htpasswd [–c] /home/svnroot/repository/authfile username
password"來建立的
    //"Require
valid-user"告訴apache在authfile中所有的使用者都可以訪問。如果沒有它,
    //則只能第一個使用者可以訪問建立庫
   
//順便把你的連接埠號碼也改一下,要不然可能&你以前的Apache的連接埠衝突

 

 

6.重啟apache # ./usr/local/apache2/bin/apachectl restart
//開啟瀏覽器訪問http://localhost/svn/test/
,如果有東西顯示
就說明成功。

7.許可權管理
1)增加使用者
# htpasswd [-c]
/home/svnroot/repository/authfile wooin
//第一次設定使用者時使用-c表示建立一個使用者檔案。斷行符號後輸
入使用者密碼,完成對使用者的增加
# htpasswd authfile 使用者名稱(加入新的使用者)

2)許可權分配
# vi /home/svnroot/repository/authz.conf
    [test:/]
//這表示,倉庫test的根目錄下的存取權限
    wooin = rw //test倉庫wooin使用者具有讀和寫入權限
   
bao = r //test倉庫bao使用者具有讀許可權
    [test2:/] //test2倉庫根目錄下的存取權限
   
wooin = r //wooin使用者在test2倉庫根目錄下只有讀許可權
    bao = //bao使用者在
test2倉庫根目錄下無任何許可權
    [/] //這個表示在所有倉庫的根目錄下
    * = r
//這個表示對所有的使用者都具有讀許可權
    #[groups] //這個表示群組設定
    #svn1-developers
= wooin, bao //這個表示某群組裡的成員
    #svn2-developers = wooin
   
#[svn1:/]
   #@svn1-developers
= rw //如果在前面加上@符號,則表示這是個群組使用權限設定

將這個設定完成後。重啟Apache,就可以通過
http://localhost/svn/test

這個URL來訪問倉庫了,當然,受許可權的限制,必須是合法使用者才能訪問且具有相應的許可權

 

備忘:

1。apache進程的許可權:因為所有跟倉庫傳輸的操作都是通過apache進程進行的,所以即使你給svn使用者佈建了很大的許可權,但是
apache進程沒有訪問倉庫或者相關檔案的許可權也沒有用,apache進程的使用權限設定在
/usr/local/apache2/conf/httpd.conf 檔案中配置,找到檔案中的這兩行:
User daemon #
將daemon改為svnroot,讓apache進程以svnroot的身份運行
Group daemon

2。

在/etc/profile的結尾設定一些svn啟動時要做的工作 # start apache server for svn
/usr/sbin/apachectl
start
export SVN_EDITOR=vi  

3。/home/respository/svnroot下的檔案操作許可權有給svnroot.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.