########安裝apr#########
#tar zxvf apr-1.3.6.tar.gz
#cd apr-1.3.6
#./configure--prefix=/usr/local/apr
#make&&makeinstall
#cd..
########安裝apr-util########
#tar zxvf apr-util-1.3.8.tar.gz
#cd apr-util-1.3.8
#./configure--with-apr=/usr/local/apr
#make&&makeinstall
#cd..
########若是已經安裝過apache,則須要從新編譯安裝apache########
tarzxvf httpd-2.2.9.tar.gz
cd httpd-2.2.9
# ./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 /* DSO模式安裝apache (或 --enable-so)
--enable-dav
--enable-maintainer-mode
-- enable-rewrite
# make ; make install
安裝好後啓動apache
# /usr/local/apache/bin/apachectl –k start
用瀏覽器查看
http://localhost/,獲得it works,說明apache已經配置成功了。
########安裝subversion,時間稍微有點長,請耐心等候########
#tar zxvf subversion-1.6.3.tar.gz
#tar zxvf subversion-deps-1.6.3.tar.gz
#cd subversion-1.6.3
#./configure--prefix=/usr/local/subversion--with-apxs=/usr/local/apache2/bin/apxs--with-apr=/usr/local/apr/bin/apr-1-config--with-apr-util=/usr/local/apr/bin/apu-1-config
#make&&makeinstall
#cd..
在make的時候,.configure以後,進行make,出現以下問題
# /usr/bin/ld: cannotfind-lexpat
#collect2: ld returned 1exitstatus
#make: *** [subversion/svn/svn] Error 1
應該是缺乏-lexpat庫文件。
解決方法:
# yum install expat expat-devel php
手動配置svn:
1.添加svnroot用戶以及svn用戶組,創建svn版本庫目錄 web
#user add svnroot; /*添加svnroot用戶*/
#group add svn ; /*添加svn用戶組*/
#usermod-a -G svn svnroot; /*將svnroot用戶添加到svn用戶組*/
#mkdir /home/svnroot
#mkdir /data
#chown-R root:svn/home/svnroot/data
#chmod-R g+rws/home/svnroot/data /*給svn組賦予讀寫權限,能夠根據須要更改相應權限*/
#chmod-R o-rwx/home/svnroot/data /*刪除其餘無關人員的讀、寫、執行權限,默認狀況下可能其餘人有讀權限*/
#mkdir-pv/home/svnroot/data
#chown-R daemon /home/svnroot/data /*由於apache在線程用戶沒有權限訪問svn的倉庫,二者分別屬於不一樣的用戶者
本例apache屬於daemon擁有者,而svn倉庫屬於svn擁有者*/
#chmod-R 755/home/svnroot/data apache
2.創建svn版本庫
#/usr/local/subversion/bin/svnadmin create --fs-type fsfs /home/svnroot/data/project1 瀏覽器
3.創建訪問控制文件
#/usr/local/apache2/bin/htpasswd -c /home/svnroot/data/passwd wanghaihan #第一次加用戶名須要帶上-c,而後輸入兩次密碼 svn
#/usr/local/apache2/bin/htpasswd /home/svnroot/data/passwd test1 工具
4.創建本地項目控制文件
#cd /home/svnroot/data
#vi authz
[groups]
admin=wanghaihan,test1
[project1:/]
@admin = rw ui
#cat /usr/local/apache2/conf/httpd.conf | grep svn .net
顯示
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
就代表安裝成功。 線程
#vi /usr/local/apache2/conf/httpd.conf rest
在# If your host doesn't have a registered DNS name, enter its IP address here.
#
#ServerName www.example.com:80 後面加入
ServerName localhost:80
在最後添加
<Location/svn>
DAV svn
SVNParentPath/home/svnroot/data
AuthType Basic
AuthName"Subversion"
AuthUserFile/home/svnroot/data/passwd
AuthzSVNAccessFile/home/svnroot/data/authz
Require valid-user
</Location>
5.重啓apache
#/usr/local/apache2/bin/apachectl restart
訪問你的svn項目(能夠用客戶端工具checkout,或者瀏覽器訪問):
http://localhost/svn/project1
或者http://127.0.0.1/svn/project1
注意:在你上傳文件的時候可能會有以下權限不足的提示
Permission denied
svn: Commit failed (details follow):
svn: Can’t create directory ‘/home/svnroot/data/project1/db/txn-current-lock’: Permission denied
或者:
命令: 提交
錯誤: 提交失敗(細節以下):
錯誤: Can’t open file ‘/home/svnroot/data/project1/db/txn-current-lock’: Permission denied
完成!:
這是由於apache在線程用戶沒有權限訪問svn的倉庫,二者分別屬於不一樣的用戶者
本例apache屬於daemon擁有者,而svn倉庫屬於svn擁有者
解決方法:
#chown -R daemon /home/svnroot/data
#chmod -R 755 /home/svnroot/data
重啓下apache: #/usr/local/apache2/bin/apachectl restart