CentOS7:安装SVN+http访问

来源:互联网 发布:mysql两阶段提交 编辑:程序博客网 时间:2024/05/21 08:45


1. 安装httpd

安装httpd服务:

$ sudo yum install httpd

检查httpd是否安装成功:

$ httpd -versionServer version: Apache/2.4.6 (CentOS)Server built:   Jul 18 2016 15:30:14

2. 安装svnserve

安装svnserve服务:

$ sudo yum install subversion

检查svnserve是否安装成功:

$ svnserve --versionsvnserve, version 1.7.14 (r1542130)compiled Nov 20 2015, 19:25:09

3. 按住mod_dav_svn

mod_dav_svn是apache服务器访问svn的一个模块。通过yum安装:

$ sudo yum install mod_dav_svn

安装成功后,会有mod_dav_svn.so和mod_authz_svn.so两个文件。

$ sudo find / -name mod_dav_svn.so/usr/lib64/httpd/modules/mod_dav_svn.so$ sudo find / -name mod_authz_svn.so/usr/lib64/httpd/modules/mod_authz_svn.so

4. 创建svn仓库

$ sudo mkdir /var/svn$ sudo svnadmin create /var/svn/spring-hello-world$ ll /var/svn/drwxr-xr-x. 6 root root 80 Nov 10 14:42 spring-hello-world$ ll /var/svn/Project/drwxr-xr-x. 2 root root   51 Nov 10 14:42 confdrwxr-sr-x. 6 root root 4096 Nov 10 14:42 db-r--r--r--. 1 root root    2 Nov 10 14:42 formatdrwxr-xr-x. 2 root root 4096 Nov 10 14:42 hooksdrwxr-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/Project/

创建用户文件passwd:

$ sudo touch /var/svn/passwd  #创建用户文件$ sudo htpasswd /var/svn/passwd admin  #创建用户admin$ sudo htpasswd /var/svn/passwd guest  #创建用户guest$ cat /var/svn/passwd admin:$apr1$UCkPzZ2x$tnDk2rgZoiaURPzO2e57t0guest:$apr1$vX1RIUq6$OKS1bqKZSptzsPDYUOJ5x.

创建权限文件authz:

$ sudo cp /var/svn/Project/conf/authz /var/svn/authz$ cat /var/svn/authz [/]admin = rwguest = r

 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

客户端使用http://IP/svn/Project就可以访问刚才建立的svn仓库了。 如果返回403错误,可能是防火墙问题。增加防火墙规则:

$ sudo firewall-cmd --permanent --add-service=http$ sudo firewall-cmd --permanent --add-service=https$ sudo firewall-cmd --reload
原创粉丝点击