一、安裝前的準備工作
1.下載下傳 subversion-1.6.0.tar.gz: http://subversion.tigris.org/downloads/subversion-1.6.1.tar.gz
subversion-deps-1.6.0.tar.gz: http://subversion.tigris.org/downloads/subversion-deps-1.6.1.tar.gz
httpd-2.2.11.tar.gz: http://apache.freelamp.com/httpd/httpd-2.2.11.tar.gz
apr-1.3.3.tar,gz: http://apache.freelamp.com/apr/apr-1.3.3.tar.gz
apr-util-1.3.4.tar.gz: http://apache.freelamp.com/apr/apr-util-1.3.4.tar.gz
zlib-1.2.3.tar.gz: http://www.zlib.net/zlib-1.2.3.tar.gz
Berkeley DB 4.7.25.tar.gz
2.rpm -qa|grep httpd apr subversion ,如果有的話,全部解除安裝.
二、開始安裝
1.安裝apr
cd apr
./configure --prefix=/usr/local/apr
make
make install
2.安裝apr-util
cd apr-util
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
make
make install
3.安裝zlib
cd zlib
./configure
make
make install
4.安裝httpd
tar zxvf httpd-2.2.11.tar.gz
cd httpd-2.2.11
./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr-util/bin/apu-1-config --enable-so --enable-dav --enable-maintainer-mode --enable-rewrite
make
make install
5.解壓subversion
tar zxvf subversion-1.6.1.tar.gz
tar zxvf subversion-deps-1.6.1.tar.gz (這個解壓後會自動放到前面一個解壓的目錄裡的)
安裝serf
cd subversion-1.6.1/serf
./configure --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/
make
make install
安裝 neon
cd subversion-1.6.1/neon
./configure --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/
make
make install
安裝 sqlite
cd subversion-1.6.1/sqlite-amalgamation
./configure --prefix=/usr/local/sqlite3
make
make install
6.安裝subversion
cd subversion-1.6.1
./configure --prefix=/usr/local/svn --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr-util/bin/apu-1-config --with-sqlite=/usr/local/sqlite3 --with-ssl --with-zlib=/usr/lib --enable-maintainer-mode
make
make install
注意:configure時會警告要DBD的支援,可以忽略,但我們還是把它裝上
7.安裝db-4.7.25.tar.gz
tar -zxvf db-4.7.25.tar.gz
cd db-4.7.25/dist
./configure(我執行這一步的時候 報錯說該檔案目錄下不可以 然後建議我換到../build_unix下重新執行,然後照做 OK)
make
make install
vi /etc/ld.so.conf 加入下面一行
/usr/local/BerkeleyDB.4.7/lib #儲存
ldconfig
(一下兩個指令提示我要覆寫某些檔案麼 然後我執行覆寫)
cp /usr/local/BerkeleyDB.4.7/include/* /usr/include
cp /usr/local/BerkeleyDB.4.7/lib/* /usr/lib
重新執行安裝 (沒搞明白這裡的重新執行安裝是指的安裝什麼 然後隻是安裝了這個db-4.7.25.tar.gz)
三、配置
1.vi /usr/local/apache/conf/httpd.conf 檢視是否有如下2行,有就對了
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
2.建立版本庫
mkdir /code (代碼的根目錄,根據自己情況)
/usr/local/svn/bin/svnadmin create /code/test (建一個test項目)
ls /code/test 裡面多了些檔案就對了(剛剛執行到這裡的時候 檔案裡面沒有dav 當時以為做錯了什麼然後硬着頭皮到最後 完全搞定的時候 再次檢視 就有了dav檔案夾了)
//這條語句将把路徑/home/wordspace下找到的檔案導入到你建立的Subversion 倉庫中去,
//送出後的修訂版為1。(随便找一個檔案目錄 就可以的)
# ./svn import /home/wordspace file:///code/test –m "注釋"
//不讓其他人有該目錄的權限
# chmod 700 /code/test //這句話(也許不是)有時導緻用戶端不能通路:
svn: 送出失敗(細節如下):
svn: Can't create directory '/code/test/db/transactions/1-2.txn': Permission denied
這樣就可以了:
chown -R daemon /code/test
chmod -R 755 /code/test
3.配置Apache來支援SVN
vi /usr/local/apache/conf/httpd.conf
在末尾加上如下内容:
<Location /svn>
DAV svn
SVNParentPath /code #svn父目錄
AuthzSVNAccessFile /code/test/conf/authz #權限配置檔案
AuthType Basic #連接配接類型設定
AuthName "Subversion" #連接配接框提示
AuthUserFile /code/test/conf/passwd #使用者配置檔案
Require valid-user #采用何種認證
</Location>
儲存退出
4.啟動 apache
cd /usr/local/apache2/bin
./apachectl start
打開IE,輸入:http://IP/svn/test 或 http://localhost/svn/test
會彈出一個輸使用者和密碼的框就對了
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
#vi /usr/local/apache2/conf/httpd.conf
找到#ServerName www.example.com:80 把#去掉,再重新開機apache即可沒事了。
5.建立使用者配置檔案
htpasswd -c /code/test/conf/passwd user1 //必須要這樣建立.
回車輸入密碼 (-c是第一次要建立檔案)
htpasswd /code/test/conf/passwd user2
回車輸入密碼
.
.等
6.建立權限配置檔案
vi /code/test/conf/authz
[test:/]
user1 = rw
user2 = r
儲存退出
注:
[test:/] //這表示,倉庫test的根目錄下的通路權限
user1 = rw //test倉庫user1使用者具有讀和寫權限
user2 = r //test倉庫user2使用者具有讀權限
[test2:/] //test2倉庫根目錄下的通路權限
user1 = r //user1使用者在test2倉庫根目錄下隻有讀權限
user2 = //user2使用者在 test2倉庫根目錄下無任何權限
[/] //這個表示在所有倉庫的根目錄下
* = r //這個表示對所有的使用者都具有讀權限
#[groups] //這個表示群組設定
#svn1-developers = user1, user2 //這個表示某群組裡的成員
#svn2-developers = user1
#[svn1:/]
#@svn1-developers = rw //如果在前面加上@符号,則表示這是個群組權限設定
7.重新開機Apache
cd /usr/local/apache2/bin
./apachectl restart
打開IE,輸入:http://IP/svn/test 或 http://localhost/svn/test
會彈出一個輸使用者和密碼的框
輸入你的添加的使用者和密碼就ok了