一、安裝前的準備工作
1.下載 subversion-1.6.0.tar.gz,subversion-deps-1.6.0.tar.gz httpd-2.2.11.tar.gz,apr-1.3.3.tar,gz,
apr-util-1.3.4.tar.gz,zlib-1.2.3.tar.gz.
2.rpm -qa|grep httpd apr subversion ,如果有的話,全部卸載.
1.安裝apr
cd apr
./configure
make
make install
cd apr-util
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
make
make install
cd zlib
./configure
make
make install
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
tar zxvf subversion-1.6.0.tar.gz
tar zxvf subversion-deps-1.6.0.tar.gz (這個解壓後會放到前面一個解壓的目錄裏的)
安裝serf
cd subversion-1.6.0/serf
./configure --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/
make
make install
./configure --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/
make
make install
./configure --prefix=/usr/local/sqlite3
make
make install
cd subversion-1.6.0
./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的支持,可以忽略,但我們還是把它裝上
tar -zxvf db-4.7.25.tar.gz
cd db-4.7.25/dist
./configure
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
三、配置
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 裏面多了些文件就對了
3.配置Apache來支持SVN
vi /usr/local/apache/conf/httpd.conf
在末尾加上如下內容:
<Location /svn>
DAV svn
SVNParentPath /code #svn父目錄
AuthzSVNAccessFile /code/authz.conf #權限配置文件
AuthType Basic #連接類型設置
AuthName "Subversion" #連接框提示
AuthUserFile /code/authfile #用戶配置文件
Require valid-user #採用何種認證
</Location>
保存退出
./usr/local/apache2/bin/apachectl start
打開IE,輸入:http://IP/svn/test 或 http://localhost/svn/test
會彈出一個輸用戶和密碼的框就對了
htpasswd -c /code/authfile user1
回車輸入密碼 (-c是第一次要創建文件)
htpasswd /code/authfile user2
回車輸入密碼
.
.等
vi /code/authz.conf
[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 //如果在前面加上@符號,則表示這是個羣組權限設置
./usr/local/apache2/bin/apachectl restart
打開IE,輸入:http://IP/svn/test 或 http://localhost/svn/test
會彈出一個輸用戶和密碼的框
輸入你的添加的用戶和密碼就ok了
PATH=$PATH:/usr/local/svn/bin
export PATH
svnserve -d
前兩句的目的是爲了實現svn的命令在任何目錄上都可以使用。
其中:/usr/local/svn/bin是svn的安裝路徑。
1. 在/etc/rc.d/rc.local中增加啓動apache的命令,例如:/usr/local/httpd/bin/apachectl start
2. 將apache註冊爲系統服務
首先將apachectl命令拷貝至/etc/rc.d/init.d目錄下,改名爲httpd
使用編輯器打開httpd文件,並在第一行#!/bin/sh下增加兩行文字如下
# chkconfig: 35 70 30
# description: Apache
接着註冊該服務
chkconfig –-add httpd
一切OK了,啓動服務
service httpd start
其中所增加的第二行中三個數字第一個表示在運行級別3和5下啓動apache,第二、三是關於啓動和停止的優先級配置,無關緊要。