一 下載工具
**下載地址 自己搜哦,挺難搜的。下載好了再回來看
- 1. subversion-1.6.17.tar.gz
- 2. subversion-deps-1.6.17.tar.gz
二 解壓兩個包:
1.在此之前,我已經創建了一個用戶svnroot專門用來安裝管理svn的,就解壓在/home/root/目錄下
- tar -xzvf subversion-1.6.17.tar.gz
- tar -xzvf subversion-deps-1.6.17.tar.gz
2. 編譯安裝
- ./configure --prefix=/home/svnroot/subversion --without-berkeley-db
- //prefix指定安裝的目錄,without-berkeley-db表明不使用berkeley數據庫
- //在這一步有可能不成功,是因爲有一些依賴的軟件沒裝,具體見下面“遇到的問題”
- make
- make install
3.添加環境變量
- 執行添加環境變量命令
- export PATH=/home/svnroot/subversion/bin:$PATH
- 4.查看是否安裝成功
- /home/svnroot/subversion/bin/svnserve --version
- //如果出現SVN的版本則證明安裝成功
三 建立倉庫
1. 創建目錄
- mkdir -p /home/svnroot/svndata/repos1
- 加上參數P,是如果沒有父目錄則自動創建
- 注意: /home/svnroot/svndata在這裏將是所有倉庫的根目錄,repos1是其中的一個倉庫。
2. 創建倉庫
- svnadmin create /home/svnroot/svndata/repos1
- 這裏使用SVN將repos1建立爲倉庫。則在repos1文件夾裏會生成一系列對於repos1倉庫相應的配置文件
四 配置倉庫
1. 查看創建倉庫後的文件
- 進入/svndata/repos1/conf,會發現有幾個配置文件
2. 修改svnserve.conf
- vi svnserve.conf
- 打開這個配置文件,可以看到很多配置項已經註釋掉了,只需要按下面這幾項修改就可以了
- [general]
- anon-access = none
- auth-access = write
- password-db = passwd
- authz-db=authz
3. 目錄控制文件authz (or叫權限控制文件)
- vi authz
- 默認是沒有配置的,要參照下面示例來配置
- [groups]
- admin = svnadmin
- [repos1:/]
- @admin = rw
- svnadmin = rw
- 上面的配置權限控制文件的配置格式如下:
- [groups]
- <用戶組名> = <用戶1>,<用戶2>, ……
- [<版本庫>:/項目/目錄]
- @<用戶組名> = <權限>
- <用戶名> = <權限>
- 其中,方框號內部分可以有多種寫法:
- /,表示根目錄及以下。根目錄是svnserve啓動時指定的,我們指定爲/home/svnadmin/svndata。這樣,/就是表示對全部版本庫設置權限。
- repos1:/,表示對版本庫1設置權限
- repos2:/occi,表示對版本庫2中的occi項目設置權限
- repos2:/occi/aaa,,表示對版本庫2中的occi項目的aaa目錄設置權限
- 權限主體可以是用戶組、用戶或*,用戶組在前面加@,*表示全部用戶。權限可以是w、r、wr和空,空表示沒有任何權限。
4. 修改用戶密碼文件passwd
- vi passwd
- 默認也是沒有配置任何用戶的,可按下面配置示例配置
- [users]
- svnadmin = 123456
- 用戶密碼的配置格式:
- [users]
- <用戶1> = <密碼1>
- <用戶2> = <密碼2>
- 注意:這裏的配置文件,除了註釋外每行都必須頂行,否則又會報錯了。
- svnserve -d -r /home/svnroot/svndata
- -d表示在後臺運行,-r表示……
- 注意:這裏是/home/svnroot/svndata,並非/home/svnroot/svndata/repos1。這是SVN使所有倉庫根目錄都生效的命令,並非某個倉庫。這裏必須注意。
- svn co svn://192.168.6.74/repos1
- checkout的時候,會要求輸入用戶名密碼,只有配置了的用戶才能驗證通過
問題彙總:
1.configure: error: no XML parser was found: expat or libxml 2.x required
- 錯誤提示需要安裝expat(下載expat2.tar.gz)
- cd /usr/local
- tar -xvzf expat2.tar.gz
- cd expat2
- ./configure
- make
- make install
2.configure: error: We require OpenSSL; try --with-openssl
- 錯誤提示需要安裝openssl,所以我就安裝了一個openssl,安裝方法如下:
- cd /usr/local
- tar -zxvf openssl-1.0.0a.tar.gz
- cd openssl-1.0.0a
- ./config
- ./config -t
- make depend
- make
- make test
- make instal
- 安裝之後會在/usr/local下生成一個ssl目錄,配置SVN時加上openssl路徑
- ./configure --prefix=/home/svnadmin/subversion --without-berkeley-db --with-openssl=/usr/local/ssl
3.configure: error: subversion requires zlib
- 錯誤提示需要安裝zlib
- 下載zlb:http://zlib.net/
- cd /usr/local
- tar -xvzf zlib-1.2.5.tar.gz
- cd zlib-1.2.5
- ./configure
- make
- make install
4.svn checkout https://xxx.xxx.xxx/
- svn: SSL is not supported
- 從網上查了一下,說是在執行./configure 時要加上--with-ssl
- ./configure --with-openssl=/usr/local/ssl --with-zlib=/usr/local/zlib --with-ssl --with-libs=/usr/local/ssl