0%

搭建SVN+Apache

安装 httpd 服务

1
yum install httpd -y

检查 httpd 是否安装成功

1
httpd -version

安装 svnserve 服务

1
yum install subversion -y

检查 svnserve 是否安装成功

1
svnserve --version

安装 mod_dav_svn

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

1
yum install mod_dav_svn

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

1
2
find / -name mod_dav_svn.so
find / -name mod_authz_svn.so

创建 svn 仓库

1
2
3
mkdir /home/svn
svnadmin create /data/svn/repo
ll /data/svn/project/
1
2
3
4
5
6
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

配置权限

创建用户文件和passwd

1
2
3
4
5
6
#创建用户文件
touch /data/svn/passwd
#创建用户admin
htpasswd /data/svn/passwd admin
#创建用户guest
htpasswd /data/svn/passwd guest
1
cat /data/svn/passwd
1
2
admin:$apr1$UCkPzZ2x$tnDk2rgZoiaURPzO2e57t0
guest:$apr1$vX1RIUq6$OKS1bqKZSptzsPDYUOJ5x.

创建权限文件authz

1
2
cp /data/svn/project/conf/authz /data/svn/authz
cat /data/svn/authz
1
2
3
[/]
admin = rw
guest = r

配置 httpd

1
2
touch /etc/httpd/conf.d/subversion.conf
cat /etc/httpd/conf.d/subversion.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

<Location />
DAV svn
SVNListParentPath on
SVNParentPath /data/svn
AuthType Basic
Satisfy Any
AuthName "Subversion repos"
AuthUserFile /data/svn/accesspwd
AuthzSVNAccessFile /data/svn/authz
Require valid-user
</Location>
<Location /project>
DAV svn
SVNListParentPath on
SVNParentPath /data/svn/repo
AuthType Basic
Satisfy Any
AuthName "Subversion repos"
AuthUserFile /data/svn/accesspwd
AuthzSVNAccessFile /data/svn/authz
Require valid-user
</Location>

启动 httpd 服务

1
systemctl start httpd.service

客户端使用 http://ip/repo 就可以访问刚才建立的svn仓库了。

启动 svnserver

1
svnserve -d -r /data/svn

修改 svn 根路径

1
vi /etc/sysconfig/svnserve
-------------    本文结束  感谢您的阅读    -------------
请作者一杯咖啡。