CentOs7.4 搭建 svn HTTP服务器

一、通过yum安装svn

 yum -y  install  mod_dav_svn 
 yum -y  install  subversion

通过如下命令查看svn 的安装位置:

rpm -ql subversion

二、创建版本目录库(此仅为目录,为后面创建版本库提供存放位置)

在 /home/svn 目录下创建两个文件夹, 一个用于存放配置文件,一个用于svn 版本库存放.

进入svnrepo 目录下 ,创建一个document 文件夹,执行如下命令,创建一个版本库.

svnadmin  create /home/svn/svnrepo/document

   生成如下文件:

[root@localhost document]# ll
总用量 8
drwxr-xr-x. 2 root root  54 4月   2 14:59 conf
drwxr-sr-x. 6 root root 233 4月   2 14:59 db
-r--r--r--. 1 root root   2 4月   2 14:59 format
drwxr-xr-x. 2 root root 231 4月   2 14:59 hooks
drwxr-xr-x. 2 root root  41 4月   2 14:59 locks
-rw-r--r--. 1 root root 229 4月   2 14:59 README.txt

 将上面conf 目录下的 authz  、passwd   两个文件移动到   /home/svn/conf   目录下. 

修改/home/svn/svnrepo/document/conf/svnserve.conf 配置文件

anon-access = none
auth-access = write

authz-db = /home/svn/conf/authz

   non-access = none:表示禁止匿名用户访问。

   auth-access = write:表示授权用户拥有读写权限。

   #password-db = passswd:指定用户名口令文件,即 passwd 文件。   因使用http模式,这个放弃配置.

   authz-db = /home/svn/conf/authz

  关闭SELINX

  如果你开启了Selinux,要么关闭SELinux,要么添加如下SELinux规则:

chcon -R -t httpd_sys_content_t      /home/svn/svnrepo/document
chcon -R -t httpd_sys_rw_content_t   /home/svn/svnrepo/document

/sbin/restorecon -v /home/svn/conf/accesspwd
/sbin/restorecon -v /home/svn/conf/authz

三、创建svn 用户

[root@localhost home]# htpasswd   -cm    /home/svn/conf/accesspwd  tom

     -c 选项创建 一个accesspwd 文件,     创建第二个用户是,   取消-c 选项.

四、修改Apache httpd 配置

进入 /etc/httpd/conf.d/  目录下 ,创建svn.conf 文件,并添加如下配置

<Location /svn>
        DAV svn
        SVNParentPath  /home/svn/svnrepo/
        # Limit write permission to list of valid users.
        #<LimitExcept GET PROPFIND OPTIONS REPORT>
        # Require SSL connection for password protection.
        # SSLRequireSSL

        AuthType Basic
        AuthName  "Authorization Realm"
        AuthUserFile   /home/svn/conf/accesspwd
        AuthzSVNAccessFile  /home/svn/conf/authz
        Satisfy all
        Require valid-user
        #</LimitExcept>
</Location>

五、修改目录权限

[root@localhost ~]# chown -R  apache:apache   /home/svn

  不修改的话,操作会报  could not begin a transaction 的一个错误.

六、启动服务

启动svn 服务,

svnserve -d -r /home/svn/svnrepo

确认服务是否启动

[root@localhost document]# netstat -anop | grep 3690
tcp        0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN      23374/svnserve       off (0.00/0/0)
unix  3      [ ]         STREAM     CONNECTED     8963690  51859/gnome-shell 

svn  启动默认端口是3690 ,说明启动成功.

启动Apache Httpd 服务

systemctl restart httpd.service

确认服务是否启动

[root@localhost document]# systemctl status httpd.service 
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since 二 2019-04-02 15:35:39 CST; 2min 28s ago
     Docs: man:httpd(8)
           man:apachectl(8)
  Process: 34303 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS)
 Main PID: 34315 (httpd)

出现 绿色标准的runnning ,表示启动成功.

七、访问

发布了192 篇原创文章 · 获赞 254 · 访问量 76万+

猜你喜欢

转载自blog.csdn.net/yulei_qq/article/details/88972110