1、 須要的軟件包:
apache
apr:apr-1.3.18 apr-util-1.3.19瀏覽器
apache:httpd-2.2.14服務器
svn:subversion-1.6.17.tar.gz subversion-deps-1.6.17.tar.gzsvn
2、 安裝和配置步驟:ui
1、安裝httpd-2.2.14url
tar –zvxf httpd-2.2.14.tar.gz
cd httpd-2.2.14
./configure
--prefix=/usr/local/apache
--enable-sospa
--enable-davrest
--enable-modules=mostip
Makeci
Make install
/usr/local/apache/bin/apachectl –k start
驗證apache :Curl 127.0.0.1
2、安裝apr-1.3.18
tar –zxvf apr-1.3.18
cd apr-1.3.18
./configure –prefix=/usr/local/apr
Make
Make install
3、安裝apr-util-1.3.19
tar –zxvf apr-util-1.3.19
cd apr-util-1.3.19
./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr
Make
Make install
4、安裝subversion
tar –zvxf subversion-1.6.17.tar.gz
tar –zvxf subversion-deps-1.6.17.tar.gz /*這兩個自動解壓成一個包 subversion-1.6.17
cd subversion-1.6.17
rm –rf apr
rm -rf apr-util
cd subversion-1.6.17
./configure --prefix=/usr/local/svn --with-apxs2=/usr/local/apache/bin/apxs --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
Make
Make install
提示:注意包的安裝順序,apache中本身有apr、apr-util包,先安裝apr、apr-util,apache會報錯
驗證svn是否安裝成功:
/usr/local/svn/bin/svnserve –version
查看apache的相關模塊是否加載以下
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
3、 配置apache支持svn
Vi /usr/local/apache/conf/httpd.conf
在文件末尾添加
<Location /svn/>
DAV svn
Satisfy Any
SVNListParentPath on
SVNParentPath /svndata/svn (此處配置你的版本庫根目錄) --注意這裏不要是svnpath
AuthType Basic (鏈接類型設置 基本驗證)
AuthName "Hello welcome to here" (此處字符串內容修改成提示對話框標題)
AuthUserFile /svndata/userpasswd (此處修改成訪問版本庫用戶的文件, 用apache 的htpasswd命令生成)
AuthzSVNAccessFile /svndata/authz (此處修改成訪問版本庫權限的文件)
Require valid-user ("Require valid-user"告訴apache在authfile中全部的用戶均可以訪問。)
保存文件退出!
從新啓動apache
# /usr/local/apache/bin/apachectl –k restart
先使用瀏覽器檢測一下
打開瀏覽器訪問http://192.168.0.111/svn/document 會提示輸入用戶名密碼
等到完成下面步驟就能夠進去訪問了,進去後若是有東西顯示就說明成功
4、 配置svn權限管理
1 . 添加用戶:
# /usr/local/apache/bin/htpasswd –c /svndata/userpasswd user1
第一次設置用戶時使用-c表示新建一個用戶文件。回車後輸入用戶密碼,完成對用戶的增長
第二次添加用戶不須要帶 –c 參數 如:
# /usr/local/apache/bin/htpasswd /data/svn/passwd user2
2 . 權限分配:
#vi /svn/auth.conf
[groups] 這個表示羣組設置
Admin=usr1,user2 表示admin羣組裏的成員 user1,user2
Develop=u1, u2 /表示Develop羣組裏的成員 u1,u2
[www:/] 表示倉庫www的根目錄下的訪問權限
[www:/aaa] 表示對www下的aaa目錄的訪問權限
user1 = rw www倉庫user1用戶具備讀和寫權限
user2 = r www倉庫userl用戶具只有讀權限
@develop=rw 表示羣組develop的成員都具備讀寫權限
[/] 表示在全部倉庫的根目錄下
* = r 表示對全部的用戶都具備讀權限
注意:在編輯authz.conf文件時,全部行都必需要頂頭寫,不能有縮行出現,不然會報錯:"Access denied: ''user1'' ",裏面的內容能夠根據本身的須要自行添加,沒必要與我上面寫的相同
5、 重啓apache服務和svn服務
/usr/local/apache/bin/apachectl restart
啓動svn
/usr/local/svn/bin/svnserve -d -r /svndata/svn
-d 表示以 daemon 方式(後臺運行)運行
-r /svn/project 指定根目錄是/svndata/svn
檢查服務器是否啓動正常:
#ps –aux | grep svnserve
root 22975 0.0 0.0 7132 780 ? Ss Mar22 0:00 /usr/local/svn/bin/svnserve -d -r /svndata/svn
若是顯示以下,即爲啓動成功
建立版本庫是svnadmin create /svndata/svn/project
就能夠經過 http://ip/svn/project這個URL來訪問倉庫了
OK.到此 APACHE+SVN服務器的架設已經完成