1. 程式人生 > >Linux svn http 訪問配置

Linux svn http 訪問配置

svn的服務形式應該是有兩種: 

1 通過svnserve建立的 通過svn://ip:port 埠預設是3690,這種形式;

2 通過apache httpd或者其他的web伺服器的擴充套件模組,進行svn管理

前提是:已裝好svn 和 apche 

第一步:建立使用者和密碼認證檔案

輸入如下命令,命令格式

htpasswd [-cmdpsD] passwordfile username

htpasswd -cm /home/svn/conf/http_passwd lisi  (若第一次建立使用者,我們必須使用引數“-c”來同時建立使用者密碼檔案)

htpasswd -m /home/svn/conf/http_passwd zhangsan  (建立第二或之後的使用者時,一定不能用引數“ c ”,否則之前的使用者就會被刪除。)

根據提示輸入2次密碼即可設定。

注意:(不能用svn自己生成的passd檔案中的使用者和密碼,被坑了很久,只能用命令)

/home/svn/conf/目錄下面passwd檔案是svnserve獨立伺服器使用的認證檔案,密碼沒有加密,明文顯示。

/home/svn/conf/目錄下面http_passwd檔案是Apache的http模式使用的認證檔案,密碼使用MD5加密。

passwd和http_passwd檔案中,賬號密碼必須設定相同。

刪除使用者命令:

 htpasswd -D passwd robert

第二步:設定Apache配置檔案

命令=> vi /etc/httpd/conf.d/subversion.conf 

<Location /svn>
DAV svn
SVNParentPath /home/svn/repository/
AuthzSVNAccessFile /home/svn/conf/authz
AuthType Basic
AuthName "Subversion.zoneyump"
AuthUserFile /home/svn/conf/passwd
Require valid-user
</Location>

<Location /svn>
DAV svn
#SVNPath /home/svn
SVNParentPath /home/svn

# # Limit write permission to list of valid users.
# <LimitExcept GET PROPFIND OPTIONS REPORT>
# # Require SSL connection for password protection.
# # SSLRequireSSL
#
AuthType Basic
AuthName "Authorization SVN"
AuthzSVNAccessFile /home/svn/conf/authz
AuthUserFile /home/svn/conf/http_passwd
Require valid-user
# </LimitExcept>

</Location>

第三步:設定目錄許可權

chown apache:apache /home/svn -R   #設定svn目錄所有者為Apache服務執行賬號apache

第四步:重啟Apache服務

service httpd restart 

最後就是訪問了!