https://协议访问的svn服务搭建(3):svn界面管理工具iF.SVNAdmin
一. 简介
之前的centos6.7安装svn只是搭建了个svn://协议访问的svn服务,这次记录下https://协议访问的svn服务的搭建过程。
计划写4篇,这是第三篇,svn界面管理工具iF.SVNAdmin。
二. 文件目录
介绍安装之前,先说下我的目录划分吧
/var/svn ---- svn数据根目录
- conf 配置文件所在目录
- 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
-
Subversion authorization file
配置为/var/svn/conf/authz
Data providers
-
User view provider type:
配置为passwd
-
User edit provider type:
配置为passwd
-
Group view provider type:
配置为svnauthfile
-
Group edit provider type:
配置为svnauthfile
-
Group edit provider type:
配置为svnclient
-
Repository edit provider type:
配置为svnclient
User authentication
-
User authentication file (SVNUserFile)
配置为/var/svn/conf/passwd
Subversion settings
-
Parent directory of the repositories (SVNParentPath)
配置为/var/svn/repos
-
Subversion client executable
配置为/usr/local/bin/svn
-
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配置文件来管理的方式了。
试试吧。