Linux下Apache2.2.17+Subversion1.6.12 安裝與配置

一 、首先準備好相關的安裝包,可以直接WGET,也可以去網站下載
Apr: apr-1.4.2.tar.gz 和 apr-util-1.3.9.tar.gz
Apache:httpd-2.2.17.tar.gz
Subversion: subversion-1.6.12.tar.gz 和 subversion-deps-1.6.12.tar.gz


二、安裝和配置步驟:

1、安裝apr-1.4.2
tar –zvxf apr-1.4.2.tar.gz
cd apr-1.4.2
./configure  [安裝不指定路徑時 默認安裝到/usr/local/apr]
make ; make install

2、安裝 apr-util-1.3.9

tar –zvxf apr-util-1.3.9.tar.gz
cd apr-util-1.3.9
./configure --with-apr=/usr/local/apr
make;make install

3、安裝 httpd-2.2.17.tar.gz

tar –zvxf httpd-2.2.17.tar.gz
cd httpd-2.2.17
./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --enable-modules=so --enable-dav --enable-maintainer-mode --enable-rewrite
make;make install
安裝好後啓動apache
/usr/local/apache/bin/apachectl –k start
用瀏覽器查看http://localhost/,得到it works,說明apache已經配置成功了。

4、安裝和配置 subversion
tar –zvxf subversion-1.6.12.tar.gz
tar –zvxf subversion-deps-1.6.12.tar.gz /*這兩個自動解壓成一個包 subversion-1.6.12
cd subversion-1.6.12
rm –rf apr
rm -rf apr-util

注意:刪除原因自己google一下吧

./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
--with-ssl
--with-zlib
--enable-maintainer-mode

make
make install

確定一下svn有沒有安裝成功
/usr/local/svn/bin/svnserve --version

會看到相關版本信息!
svnserve, version 1.6.12 (r955767) compiled Apr  1 2011, 20:37:20.....
完了再看看apache的相關模塊有沒有加載!如下!

vi /usr/local/apache/conf/httpd.conf
如果有下面內容,說明加載成功
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

到此如果一直都順利的話就基本沒什麼問題!繼續往下!

開始建立版本庫

/usr/local/svn/bin/svnadmin create /svn/project/www /*創建倉庫"www"*/
ls /svn/project/www /*查看有沒有創建好,如果多了一些文件則說明版本庫已經創建好*/

 conf
 dav
 db
 format
 hooks
 locks
 README.txt
會在/svn/project/www目錄下有上面的的文件


配置訪問權限,首先看一下apache配置文件中指定的用戶,我的是顯示是
User daemon
Group daemon

修改svn倉庫的所有者
#chown -R daemon:daemon /svn/project/www
如果安裝apache時候創建或使用了其他用戶,此處需要作相應的修改

 


5、配置apache支持svn
#vi /usr/local/apache/conf/httpd.conf

在文件末尾添加

<Location /www>   (www爲倉庫名稱)
DAV svn
SVNPath /svn/project/www (此處配置你的版本庫目錄)
AuthType Basic連接類型設置 基本驗證)
AuthName "welcome"
AuthUserFile /svn/project/www/conf/passwd  (此處修改爲訪問版本庫用戶的文件,用apache的htpasswd命令增加或刪除用戶)
AuthzSVNAccessFile /svn/project/www/conf/authz  (此處修改爲訪問版本庫權限的文件)
Require valid-user ("Require valid-user"告訴apache在authfile中所有的用戶都可以訪問。如果沒有它,則只能第一個用戶可以訪問新建庫)
</Location>


保存文件退出!

重新啓動apache

/usr/local/apache/bin/apachectl –k restart

先使用瀏覽器檢測一下
打開瀏覽器訪問http://localhost/www 會提示輸入用戶名密碼
等到完成下面步驟就可以進去訪問了,進去後如果有東西顯示就說明成功。下面就是對svn的用戶和權限配置管理

 

6、配置svn權限管理(即authz.conf的配置)

1 . 添加用戶:
/usr/local/apache/bin/htpasswd –c /svn/project/www/conf/passwd admin
第一次設置用戶時使用-c表示新建一個用戶文件。回車後輸入用戶密碼,完成對用戶的增加
第二次添加用戶不需要帶 –c 參數 如:
/usr/local/apache/bin/htpasswd /svn/project/www/conf/passwd user

2 . 權限分配:

vi /svn/project/www/conf/authz
下面是配置完後的內容,user和admin是在上面加好的用戶
[groups]
everyone = user,admin
groupA=user,admin
[www:/]
@groupA = rw
@everyone=rw

[groups] /*這個表示羣組設置
everyone = user,admin /*這個表示everyone羣組裏的成員 user,admin
groupA=user,admin /*這個表示groupA羣組裏的成員 user,admin

[www:/] /*這表示,倉庫www的根目錄下的訪問權限
@groupA = rw /*這表示羣groupA的成員都具有讀寫權限

注意:在編輯authz.conf文件時,所有行都必須要頂頭寫,不能有縮行出現,否則會報錯:"Access denied: 'user1' ",裏面的內容可以根據自己的需要自行添加,不必與我上面所寫的相同!

完成上面配置,重啓apache
/usr/local/apache/bin/apachectl –k restart
然後在瀏覽器中輸入
http://localhost/www
輸入用戶名密碼,此時頁面會顯示
www - Revision 1: /
恭喜你,配置成功了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章