wangbin
  • wangbin
  • 2018-09-22
  • IT

https://协议访问的svn服务搭建(3):svn界面管理工具iF.SVNAdmin

一. 简介

之前的centos6.7安装svn只是搭建了个svn://协议访问的svn服务,这次记录下https://协议访问的svn服务的搭建过程。

计划写4篇,这是第三篇,svn界面管理工具iF.SVNAdmin。

二. 文件目录

介绍安装之前,先说下我的目录划分吧

/var/svn ---- svn数据根目录

  1. conf 配置文件所在目录
  2. repos svn库所在目录

配置和数据区分开来

三. 安装

install-svnadmin.sh

mkdir -p /var/svn
mkdir -p /var/svn/repos
mkdir -p /var/svn/conf

touch /var/svn/conf/authz
touch /var/svn/conf/passwd

cd ~
wget https://nchc.dl.sourceforge.net/project/ifsvnadmin/svnadmin-1.6.2.zip
unzip svnadmin-1.6.2.zip 
mv iF.SVNAdmin-stable-1.6.2 /vps/hosts/svnadmin
chmod -R 777 /vps/hosts/svnadmin/data

四. nginx配置

# svnadmin.wangbin.io
server {

    listen       50443 ssl http2;
    listen       [::]:50443 ssl http2;

    server_name  svnadmin.wangbin.io;

    access_log  logs/wangbin.io/access-svnadmin.wangbin.io.log siyou325;
    error_log   logs/wangbin.io/error.log;

    ssl_certificate             /vps/certificate/acme/*.wangbin.io/fullchain.cer;
    ssl_certificate_key         /vps/certificate/acme/*.wangbin.io/*.wangbin.io.key;
    ssl_trusted_certificate     /vps/certificate/acme/*.wangbin.io/fullchain.cer;

    # Basic HTTP authentication
    auth_basic "nginx basic http authentication";
    auth_basic_user_file /vps/certificate/passwd/htpasswd;

    root         /vps/hosts/svnadmin;
    index        index.html index.htm index.php;

    location ~ \.(jpg|png|gif|js|css|swf|flv|ico)$ {
        expires 12h;
    }

    location / {
        index  index.php index.html index.htm;
    }

    location ~* ^/(conf|app|include|local)/ {
        deny all;
    }

    location ~ .*\.(php|php5)?$ {
        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

    # 禁止访问.svn目录,防止svn信息泄漏,必加项
    location ~ ^(.*)\/\.svn\/ {
        deny all;
    }

}

访问https://svnadmin.wangbin.io

如果提示报错 Wrong PHP version. The minimum required version is: 5.3

执行php-fpm -v确认版本号大于5.3后,注释include/config.inc.php文件如下几行即可

 // Check PHP version.
 if (!checkPHPVersion("5.3")) {
   echo "Wrong PHP version. The minimum required version is: 5.3";
   exit(1);
 }

五.svnadmin配置

svnadmin配置页面

https://svnadmin.wangbin.io/settings.php 

具体的配置

Subversion authorization

  1. Subversion authorization file

    配置为/var/svn/conf/authz

Data providers

  1. User view provider type:

    配置为passwd
  2. User edit provider type:

    配置为passwd
  3. Group view provider type:

    配置为svnauthfile
  4. Group edit provider type:

    配置为svnauthfile
  5. Group edit provider type:

    配置为svnclient
  6. Repository edit provider type:

    配置为svnclient

User authentication

  1. User authentication file (SVNUserFile)

    配置为/var/svn/conf/passwd

Subversion settings

  1. Parent directory of the repositories (SVNParentPath)

    配置为/var/svn/repos
  2. Subversion client executable

    配置为/usr/local/bin/svn
  3. Subversion admin executable

    配置为/usr/bin/svnadmin

其他的页面

Repositories页面可以管理svn库

Users页面管理用户

Groups页面管理用户组

Access-Paths页面管理用户权限

六.数据

data/config.ini

所有的配置数据都被存储在这个文件中,要保存的话,保存这个就可以啦

data/userroleassignments.ini

[admin]
Administrator=

内容一般如上,[admin]配置的登陆账号,Administrator=配置的权限,表示admin账号登陆才有管理员权限,这个也需要保存

如果想更换管理员账号,例如wangbin,则更改如下

[wangbin]
Administrator=

七.结尾

花了1个小时就可以熟悉iF.SVNAdmin,使用起来很方便的。

可以告别手动修改svn配置文件来管理的方式了。

试试吧。