1. 程式人生 > >CentOS7:安裝SVN+httpd訪問(解決老是登入不上,許可權不夠的問題)

CentOS7:安裝SVN+httpd訪問(解決老是登入不上,許可權不夠的問題)

1. 安裝svnserve

安裝svnserve服務:

$ sudo yum install subversion

2. 安裝httpd

安裝httpd服務:

$ sudo yum install httpd

3. 安裝mod_dav_svn

mod_dav_svn是apache伺服器訪問svn的一個模組。通過yum安裝:

$ sudo yum install mod_dav_svn

4. 建立svn倉庫

$ sudo mkdir /var/svn
$ sudo svnadmin create /var/svn/you_projectName

$ ll 
/var/svn/ drwxr-xr-x. 6 root root 80 Nov 10 14:42 you_projectName

  

$ ll /var/svn/you_projectName/
drwxr-xr-x. 2 root root   51 Nov 10 14:42 conf
drwxr-sr-x. 6 root root 4096 Nov 10 14:42 db
-r--r--r--. 1 root root    2 Nov 10 14:42 format
drwxr-xr-x. 2 root root 4096 Nov 10 14:42 hooks
drwxr-xr-x. 2 root root   39
Nov 10 14:42 locks -rw-r--r--. 1 root root 229 Nov 10 14:42 README.txt

5. 配置許可權

修改svn倉庫的使用者組為apache:

$ sudo chown -R apache:apache /var/svn/you_projectName/

建立使用者檔案passwd:

$ sudo touch /var/svn/passwd  #建立使用者檔案

$ sudo htpasswd /var/svn/passwd admin  #建立使用者admin

$ cat /var/svn/passwd 
admin:$apr1$UCkPzZ2x$tnDk2rgZoiaURPzO2e57t0

建立許可權檔案authz:

$ sudo cp /var/svn/Project/conf/authz /var/svn/authz

$ cat /var/svn/authz 
[/]
admin = rw

6. 配置httpd

$ sudo touch /etc/httpd/conf.d/subversion.conf

$ cat /etc/httpd/conf.d/subversion.conf 
<Location /svn>
    DAV svn
    SVNParentPath /var/svn

    AuthType Basic
    AuthName "Authorization SVN"
    AuthzSVNAccessFile /var/svn/authz
    AuthUserFile /var/svn/passwd
    Require valid-user
</Location>

7. 啟動httpd服務

$ sudo systemctl start httpd.service

*********************************前面為轉載,總結是自己寫的******************************************************

總結: 

       1.我遇到的問題是通過http老是登入不上,返回當前登入頁面,後臺日誌顯示,是密碼檔案不對。解決方式為密碼不支援明碼檔案得建立一個密碼檔案,然後增加賬號    htpasswd 建立密碼檔案所在位置 使用者名稱

        2.這個修改後如果還遇到說  /var/svn/passwd密碼檔案讀取失敗,許可權不夠。試試這個命令:

            chcon -R -h -t httpd_sys_content_t  /var/svn/you_projectName

最後祝你在Centos7安裝SVN順利!!!