centos7搭建svn服务器(附加 http访问)

  |   0 评论   |   0 浏览

0.防火墙永久开放3690端口

firewall-cmd --zone=public --add-port=3690/tcp --permanent

重启防火墙

firewall-cmd --reload

1.安装svn服务器

yum install subversion

2.创建放置项目project的地方

mkdir /var/svn

3.创建一个test项目

svnadmin create /var/svn/test/

4.配置svn服务的配置文件svnserver.conf文件

vi /var/svn/test/conf/svnserve.conf

[general]

anon-access = read

auth-access = write

password-db = /var/svn/test/conf/passwd #test改为自己相应项目

authz-db = /var/svn/test/conf/authz #test改为自己相应项目

realm = test #这是个提示信息

5.配置用户和密码

vi /var/svn/test/conf/passwd

[users]

pengzai = 123456 #用户名 = 密码

7.配置新用户的授权文件

vi /var/svn/test/conf/authz

[groups]

[/]
pengzai = rw

6.启动svn

svnserve -d -r /var/svn

7.设置开机自启svn
备注:subversion默认以/var/svn作为数据根目录,可以通过/etc/sysconfig/svnserve修改这个默认位置

sudo systemctl enable svnserve.service

sudo systemctl start svnserve.service

8.永久关闭SELinux

sudo vim /etc/sysconfig/selinux

SELINUX = disable #值修改为disab

9.重启服务器

shutdown -r now

10.http访问

(1)安装httpd相关依赖

yum --disableexcludes=all install -y httpd
yum install mod_dav_svn -y

(2)配置权限

chown -R apache:apache /var/svn/test
touch /var/svn/passwd
htpasswd /var/svn/passwd pengzai
cp /var/svn/test/conf/authz /var/svn/authz

(3)配置httpd

vim /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>

(4)修改httpd默认端口80,改为81,避免和nginx冲突

vim /etc/httpd/conf/httpd.conf

Listen 80 改成 81

(5)启动httpd

先关闭svn访问以及开机自启

sudo systemctl stop svnserve.service
sudo systemctl disable svnserve.service

再启动httpd以及开机自启

sudo systemctl enable httpd.service
sudo systemctl start httpd.service

(6)http://ip:81/svn/test 就可以访问了, nginx反向代理 就不介绍了