在CentOS上架設(shè)Nginx+Apache+Subversion
本文來自塵緣的博客,原文標(biāo)題為《CentOS下的Nginx+Apache+Subversion Server安裝筆記》。
我的Linux服務(wù)器均為CentOS,這兩天剛剛折騰完LNMP的配置,接下來繼續(xù)折騰SVN的環(huán)境配置。
在編譯SVN時,發(fā)現(xiàn)Nginx尚不支持Subversion,查了相關(guān)資料,發(fā)現(xiàn)只有Apache可以支持SVN,無可奈何,看來只能做一個Apache與Nginx共存的服務(wù)器,用Nginx proxy把發(fā)向Nginx的SVN請求轉(zhuǎn)到Apache上去。
如何安裝Nginx,可以去參考張宴的Nginx教程,這應(yīng)該是國內(nèi)最早最全最詳細(xì)的Nginx教程了,至于如何安裝Apache,估計也挺簡單的,我這里已經(jīng)配置好了一個Nginx+Apache的服務(wù)器了。
按買醉的說法,nginx處理靜態(tài)頁的效率是apache的N倍,但在動態(tài)程序,特別是Java和PHP的處理上,Apache具有相當(dāng)?shù)膬?yōu)勢。
這按Nginx官方的說法,短期內(nèi)不會有可能支持SVN,至于兩者之間的權(quán)衡,各位看官可得留意了。
說一下,Subversion Server并沒有專門針對CentOS的版本,下載編譯的話,用RHEL的即可。
我剛剛也找到了下載地址:http://www.collab.net/downloads/subversion/redhat.html
現(xiàn)在開始CentOS的安裝過程。
除了下載軟件包以外,還可以使用YUM安裝:
- $ sudo yum install httpd subversion mod_dav_svn
建立版本庫(Repository):
- $ sudo mkdir -p /var/lib/subversion/repositories
- $ sudo chown -R apache:apache /var/lib/subversion
如果版本庫的增改次數(shù)很頻繁,可以寫一個簡單的腳本來實現(xiàn)快速調(diào)用:
- #!/bin/sh
- if [ $# -ne 1 ]; then
- echo 1>&2 Usage: $0 repository_name
- exit 127
- fi
- echo "Sudoing...";
- sudo svnadmin create --fs-type fsfs /var/lib/subversion/repositories/${1}
- sudo chown -R apache:apache /var/lib/subversion/repositories/${1}
- sudo chmod -R g+w /var/lib/subversion/repositories/${1}
- sudo chmod g+s /var/lib/subversion/repositories/${1}/db
接下來就是apache的配置了,這里要保證兩個模塊都已經(jīng)正確放到模塊目錄中:
- LoadModule dav_svn_module modules/mod_dav_svn.so
- LoadModule authz_svn_module modules/mod_authz_svn.so
- DAV svn
- SVNParentPath /var/lib/subversion/repositories
- SVNListParentPath on
- SVNPathAuthz off
- AuthType Basic
- AuthName "subversion@tokyo"
- AuthUserFile /var/lib/subversion/passwords
- Require valid-user
然后要配置SVN的密碼:
- $ sudo htpasswd -c /var/lib/subversion/passwords new-user-name
最后重啟HTTPD服務(wù):
- $ sudo /etc/init.d/httpd restart
下面要做的就是Apache和Nginx配置,然后實現(xiàn)Nginx的代理過程,就有待下次介紹了。
【編輯推薦】