安裝Apache:
# tar –zvxf httpd-2.2.9.tar.gz
# cd httpd-2.2.9
# ./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config
--enable-modules=so /* DSO模式安裝apache (或 --enable-so)
--enable-dav --enable-maintainer-mode --enable-rewrite --enable-ssl
# make
# make install
安裝Subversion:
#tar –zvxf subversion-1.5.1.tar.gz
#cd subversion-1.5.1
#./configure --prefix=/usr/local/svn --with-apxs=/usr/local/apache/bin/apxs
--with-apr=/usr/local/apr/bin/apr-1-config
--with-apr-util=/usr/local/apr/bin/apu-1-config --enable-maintainer-mode
#make
#make install
確定一下svn有沒有安裝成功
#/usr/local/svn/bin/svnserve --version
會看到相關版本信息!
配置服務器:
(1). 創建一個用戶,如:svnroot;
(2). 以svnroot用戶登錄
$mkdir /home/svnroot/repository
$cd /usr/local/subversion/bin
$./svnadmin create /home/svnroot/repository
$ /usr/local/apache2/bin/htpasswd –c /home/svnroot/repository/passwprd.conf username "來創建的 會再要求輸入兩次密碼
$cd /home/svnroot/repository/test
$ls -ll

//看看是不是多了些文件,如果是則說明Subversion安裝成功了
//這條語句將把路徑/home/user/import下找到的文件導入到你創建的Subversion 倉庫中去,
//提交后的修訂版為1。
$./svn import 你想要導入的文件位置 file:///home/svnroot/repository –m "注釋"
//不讓其他人有該目錄的權限
$ chmod 700 /home/svnroot/repository
(3). 修改Apache配置文件
# cd /usr/local/apadche2/bin
# 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父目錄
SVNPath /home/svnroot/repository/test //與svn中bin中svnadmin創建應一樣 否則會進不到目錄
#AuthzSVNAccessFile /home/svnroot/repository/authz.conf //權限配置文件
AuthType Basic //連接類型設置
AuthName "Subversion.zoneyump" //連接框提示
AuthUserFile /home/svnroot/repository/passwprd.conf //用戶配置文件
Require valid-user //采用何種認證
</Location>
//其中authfile是通過"htpasswd來創建的那個密碼文件
//"Require valid-user"告訴apache在authfile中所有的用戶都可以訪問。如果沒有它,
//則只能第一個用戶可以訪問新建庫
找到以下內容
User daemon
Group daemon
把上述內容改成:
User svnroot
Group svnroot
保存
(4). 添加svn用戶
創建
$htpasswd -c /home/svnroot/repository/authfile username
會要求輸兩次密碼
在/home/svnroot/repository/conf會生成
authz passwd svnserve.conf
$cd /home/svnroot/repository/conf
$vi authz
添加如下
[groups] /*這個表示群組設置
Admin=usr1,user2 /*這個表示admin群組里的成員 user1,user2
Develop=u1, u2 /*這個表示Develop群組里的成員 u1,u2
[www:/] /*這表示,倉庫www的根目錄下的訪問權限
user1 = rw /*www倉庫user1用戶具有讀和寫權限
user2 = r /* www倉庫userl用戶具只有讀權限
@develop=rw /*這表示 群 develop的成員都具有讀寫權限
[/] /*這個表示在所有倉庫的根目錄下
* = r /*這個表示對所有的用戶都具有讀權限
注意:在編輯authz文件時,所有行都必須要頂頭寫,不能有縮行
(5). 重起Apache
#/usr/local/apache2/bin/apachectl –k restart
(6). 啟動svn服務
#/usr/local/svn/bin/svnserve -d -r /home/svnroot/repository
-d 表示以 daemon 方式(后臺運行)運行
-r /svn/project 指定根目錄是/home/svnroot/repository
檢查服務器是否啟動正常:
#ps –ef|grep svnserve
(7). 后序工作
在/etc/profile的結尾設置一些svn啟動時要做的工作
# start apache server for svn
/usr/sbin/apachectl start
export SVN_EDITOR=vi
posted on 2010-04-08 13:37
Derek.Guo 閱讀(499)
評論(0) 編輯 收藏 所屬分類:
Linux/Unix