CentOS7:安装SVN+http访问
# 1. 安装httpd
安装httpd服务:
$ sudo yum install httpd
1
检查httpd是否安装成功:
$ httpd -version
Server version: Apache/2.4.6 (CentOS)
Server built: Jul 18 2016 15:30:14
1
2
3
2
3
# 2. 安装svnserve
安装svnserve服务:
$ sudo yum install subversion
1
检查svnserve是否安装成功:
$ svnserve --version
svnserve, version 1.7.14 (r1542130)
compiled Nov 20 2015, 19:25:09
1
2
3
2
3
# 3. 按住mod_dav_svn
mod_dav_svn是apache (opens new window)服务器访问svn的一个模块。通过yum安装:
$ sudo yum install mod_dav_svn
1
安装成功后,会有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
1
2
3
4
5
2
3
4
5
# 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 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
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# 5. 配置权限
修改svn仓库的用户组为apache:
$ sudo chown -R apache:apache /var/svn/Project/
1
创建用户文件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$tnDk2rgZoiaURPzO2e57t0
guest:$apr1$vX1RIUq6$OKS1bqKZSptzsPDYUOJ5x.
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
创建权限文件authz:
$ sudo cp /var/svn/Project/conf/authz /var/svn/authz
$ cat /var/svn/authz
[/]
admin = rw
guest = r
1
2
3
4
5
6
2
3
4
5
6
# 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>
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# 7. 启动httpd服务
$ sudo systemctl start httpd.service
1
客户端使用http://IP/svn/Project就可以访问刚才建立的svn仓库了。 如果返回403错误,可能是防火墙问题。增加防火墙规则:
$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https
$ sudo firewall-cmd --reload
1
2
3
2
3
上次更新: 2023/05/23, 17:06:35