svnWebUI

SVN 图形化配置工具
授权协议 Mulan
开发语言 Java JavaScript HTML/CSS
所属分类 服务器软件、 版本控制系统
软件类型 开源软件
地区 不详
投 递 者 太叔马鲁
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

svnWebUI

介绍

Subversion的web管理界面, 搭建svn服务器的神器.

功能说明

svnWebUI是一款图形化管理Subversion的配置得工具, 虽说现在已进入git的时代, 但svn依然有不少使用场景, 比如公司内的文档管理与共享, svn的概念比git的少很多, 非常适合非程序员使用.

但众所周知svn的Linux服务端软件即Subversion的用户和权限配置全部依靠手写配置文件完成, 非常繁琐且不便, 已有的几款图像界面软件已经非常古老, 安装麻烦而且依赖环境非常古老, 比如csvn还使用python2作为运行环境.

Windows上倒是有不错的svn服务端软件即VisualSVN, 但一来Windows服务器少之又少, 第二VisualSVN没有web界面, 每次配置需要开启远程桌面, 安全性不高.

经历几次失败的图形界面配置后, 萌生了写一个现代svn服务端管理软件, 让svn的服务端管理有gitea的轻松体验的想法.

技术说明

本项目是基于springBoot的web系统, 数据库使用sqlite, 因此服务器上不需要安装任何数据库

项目启动时会释放一个.sqlite.db到系统用户文件夹中, 注意进行备份

使用本软件前请先安装Subversion

演示地址: http://svn.nginxwebui.cn:6060
用户名: admin
密码: admin
 

安装说明

以Ubuntu操作系统为例,

1.安装java运行环境和Subversion

Ubuntu:

apt update
apt install openjdk-11-jdk
apt install subversion
 

Centos:

yum install java-11-openjdk
yum install subversion
 

Windows:

下载JDK安装包 https://www.oracle.com/java/technologies/downloads/
下载VisualSVN https://www.visualsvn.com/server/download
配置JAVA运行环境 
JAVA_HOME : JDK安装目录
Path : JDK安装目录\bin
重启电脑
 

2.下载最新版发行包jar

Linux: wget -O /home/svnWebUI/svnWebUI.jar http://file.nginxwebui.cn/svnWebUI-1.0.2.jar

Windows: 直接使用浏览器下载 http://file.nginxwebui.cn/svnWebUI-1.0.2.jar
 

有新版本只需要修改路径中的版本即可

3.启动程序

Linux: nohup java -jar -Xmx64m /home/svnWebUI/svnWebUI.jar --server.port=6060 --project.home=/home/svnWebUI/ > /dev/null &

Windows: java -jar -Xmx64m D:/home/svnWebUI/svnWebUI.jar --server.port=6060 --project.home=D:/home/svnWebUI/
 

参数说明(都是非必填)

-Xmx64m 最大分配内存数

--server.port 占用端口, 默认以6060端口启动

--project.home 项目配置文件目录,存放数据库文件,证书文件,日志等, 默认为/home/nginxWebUI/

注意命令最后加一个&号, 表示项目后台运行

docker安装说明

本项目制作了docker镜像, 支持 x86_64/arm64/arm v7 平台,同时包含Subversion和svnWebUI在内, 一体化管理与运行Subversion.

1.安装docker容器环境

Ubuntu:

apt install docker.io
 

Centos:

yum install docker
 

2.拉取镜像:

docker pull cym1102/svnwebui:latest
 

3.启动容器:

docker run -itd -v /home/svnWebUI:/home/svnWebUI -e BOOT_OPTIONS="--server.port=6060" --privileged=true -p 6060:6060 -p 3690:3690 cym1102/svnwebui:latest
 

注意:

  1. 需要映射6060端口与3690端口, 6060为web网页端口, 3690为svn默认端口.

  2. 容器需要映射路径/home/svnWebUI:/home/svnWebUI, 此路径下存放项目所有数据文件, 包括数据库, 配置文件, 日志等, 升级镜像时, 此目录可保证项目数据不丢失. 请注意备份.

  3. -e BOOT_OPTIONS 参数可填充java启动参数, 可以靠此项参数修改端口号

--server.port 占用端口, 不填默认以6060端口启动

  1. 日志默认存放在/home/svnWebUI/log/svnWebUI.log

编译说明

使用maven编译打包

mvn clean package
 

使用docker构建镜像

docker build -t svnwebui:latest .
 

添加开机启动

  1. 编辑service配置
vim /etc/systemd/system/svnwebui.service
 
[Unit]
Description=SvnWebUI
After=syslog.target
After=network.target
 
[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/home/svnWebUI
ExecStart=/usr/bin/java -jar /home/svnWebUI/svnWebUI.jar
Restart=always
 
[Install]
WantedBy=multi-user.target
 

之后执行

systemctl daemon-reload
systemctl enable svnwebui.service
systemctl start svnwebui.service
 

使用说明

打开 http://ip:6060 进入主页

输入图片说明

首次打开页面, 需要注册管理员账户

输入图片说明

注册完毕后, 进入登录页面进行登录

输入图片说明

服务管理, 可在这个页面查看Subversion服务的开启情况, 并进行停止和重启.

输入图片说明

仓库管理, 可添加仓库及修改仓库, 添加仓库后即可获得仓库的svn地址, 十分方便

输入图片说明

选择对应的用户对仓库进行授权

输入图片说明

选择对应的小组对仓库进行授权

输入图片说明

用户管理, 可添加和编辑用户

输入图片说明

小组管理, 可添加和编辑小组

找回密码

如果忘记了登录密码,可按如下教程找回密码

  1. 安装sqlite3命令(Docker镜像已经安装好了)
apt install sqlite3
 
  1. 读取sqlite.db文件
sqlite3 /home/svnWebUI/sqlite.db
 
  1. 查找user表
select * from user;
 
  1. 退出sqlite3
.quit
  • 参考文章: 推荐两款好用的svn服务端web图形化管理工具https://segmentfault.com/a/1190000041713426 搭建svnWebUI 本地服务器 docker run -itd \ -v /home/svnWebUI:/home/svnWebUI \ --restart=on-failure:10 \ --privileged=true -p 6060

 相关资料
  • MySQL 服务器正确安装以后,可以通过命令行管理工具或者图形化的管理工具来操作 MySQL 数据库。 MySQL 图形化管理工具极大地方便了数据库的操作与管理,除了系统自带的命令行管理工具之外,常用的图形化管理工具还有 MySQL Workbench、phpMyAdmin、Navicat、MySQLDumper、SQLyog、MySQL ODBC Connector。 其中 phpMyAdmin

  • 本文向大家介绍Java zookeeper图形化工具ZooInspector用法详解,包括了Java zookeeper图形化工具ZooInspector用法详解的使用技巧和注意事项,需要的朋友参考一下 一、在window,使用我们先打开Zookeeper,目录bin下的zkServer.cmd,把Zookeeper运行起来 二、可以使用目录bin下的zkCli.cmd,查询Zookeeper数据

  • 图形放置这款游戏是关于多项式增长和图形的增量游戏。

  • Git有不少图形化界面工具用于读取和维护仓库. 捆绑的GUI Git自带了两个使用Tcl/Tk写成的GUI程序. Gitk是一个仓库浏览器, 也是一个历史信息可视化工具. gitk git gui是一个帮助你可视化索引操作的工具, 它支持add, remove和commit. 它不能取代命令行, 但是对于基本使用是足够的. git gui 第三方项目 Mac用户可以参考 GitX and GitN

  • 本文向大家介绍Navicat for MySQL(mysql图形化管理工具)是什么?,包括了Navicat for MySQL(mysql图形化管理工具)是什么?的使用技巧和注意事项,需要的朋友参考一下 MySQL现已经成为大多数中小企业及个人站长建站的首选数据库,其自带了简单web图形管理phpmyadmin工具,但是管理、操作能力有限,这就使得人们常需要寻找一个更为专业,管理功能更为强大的管理

  • 问题内容: 我正在为特定实验构建一类绘图工具。我目前有两种绘图方法,一种使用imshow()的静态绘图,一种也使用imshow()的“电影”格式。 这两种方法以及任何将来的方法都将获得与我可能编写的任何特定绘图方法相同的参数。使用plot类时,我在配置对象中具有所有这些参数。 我不想在每种绘图方法中都重写代码。我想初始化一个将设置以下args的对象(我认为是AxesImage):vmin,vmax

  • 有几种特征不能通过运行测试程序而自动猜测出来。例如,目标文件格式的细节,或者需要传递给编译器或连接器的特殊选项。 你可以使用同类手段(ad—hoc means)来检查这类特征,比如说让configure检查uname程序的 输出,或者寻找仅仅在特定系统中出现的库。然 而,Autoconf为处理不可猜测的特征提供了统一的手段。 指定系统的类型 类似与其它GNU configure脚本,Autocon

  • 用于配置工单的流程。 工单主要分为审批工单和技术支持工单。 审批工单:审批工单主要用于控制资源分配,包括主机申请、主机调整配置、主机删除、加入项目申请、项目配额申请、域配额申请。 主机申请:支持多级审批,该类型工单启用后,用户创建虚拟机时将会发起主机申请工单,待每个流程中的审批用户审批通过后,自动部署虚拟机。 主机调整配置:仅支持一级审批,该类型工单启用后,用户调整虚拟机配置时将会发起主机调整配置