Apache搭建SVN的一些說明
本文運行的環境是64位CentOS7
直接安裝Apache和Subversion
yum -y install httpd
yum -y install subverion
如果/usr/lib64/httpd/modules下面沒有mod_dav_svn.so和mod_authz_svn.so需要進行安裝
yum -y install mod_dav_svn
配置Apache:/etc/httpd/conf/httpd.conf
# 監聽端口
Listen 80
其他配置請參考Apache相關說明
在/etc/httpd/conf.d下創建subversion.conf (註:名字不重要.conf),內容如下:
LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so <Location /svn> DAV svn SVNParentPath "/opt/svn/" # SVNPath /opt/svn/repos/ AuthType Basic AuthName "SVN Repo" AuthUserFile "/opt/svn/htpasswd" AuthzSVNAccessFile "/opt/svn/authz" Require valid-user </Location>
LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so <Location /svn> DAV svn SVNParentPath "/opt/svn/" # SVNPath /opt/svn/repos/ AuthType Basic AuthName "SVN Repo" AuthUserFile "/opt/svn/htpasswd" AuthzSVNAccessFile "/opt/svn/authz" Require valid-user </Location>
其中Location /svn 為訪問路徑,如果寫成Location / 將覆蓋Apache默認首頁
SVNParentPath可以設置多個版本庫的父目錄,可以同時訪問多個版本庫。例如在/opt/svn下有兩個版本庫分別為dev和release那麽就可以通過URL:<URL>/svn/dev和<URL>/svn/release分別訪問
也可以單獨設置SVNPath到具體的一個版本庫,那<URL>/svn就訪問指定的這個版本庫
在/opt/svn下創建2個文件分別為:htpasswd和authz
其中authz可以從版本庫中的conf目錄下復制出來,具體的配置跟SVN原生配置相同就不再多做說明
單獨說一下用戶文件htpasswd,具體命令可以查詢htpasswd命令的用法,這裏只介紹幾個用到的語句
htpasswd -c htpasswd user1
創建一個用戶文件並添件用戶user1
第一個htpasswd是命令,第二個是文件名,可以使用別的名字,當然配置文件裏也要設置成對應的文件名
htpasswd htpasswd user2
添加用戶user2
添加兩個用戶都需要在單獨行輸入密碼兩次進行確認,也可以一行命令執行
htpasswd -b htpasswd user3 123456
刪除用戶
htpasswd -D htpasswd user3
創建版本庫
svnadmin create repos
創建了以後通過<URL>/svn/repos訪問
這時候有可能出現db/txn-current-lock: Permission denied
執行
setsebool -P httpd_unified=1 chcon -R -t httpd_sys_content_rw_t /opt/svn/repos
其中第一行只需要執行一次,第二行需要在每個版本庫執行,具體代碼的作用請查詢SELinux
這時候重新訪問有可能出現Could not open the requested SVN filesystem
執行
chmod -R 755 /opt/svn/repos
再訪問就沒有問題了
如果要批量創建版本庫,寫個小腳本處理
if [ "$1" = "" ]; then echo ‘please input repo name‘ else svnadmin create $1 chcon -R -t httpd_sys_content_rw_t $1 chmod -R 755 $1 chown -R apache $1 fi
本文出自 “MMX的沙羅雙樹園” 博客,請務必保留此出處http://ohmmx.blog.51cto.com/12884864/1924660
Apache搭建SVN的一些說明