svnWebUISVN 圖形化配置工具
svnWebUI
介紹
Subversion的web管理界面, 搭建svn服務器的神器.
功能說明
svnWebUI是一款圖形化管理Subversion的配置得工具, 雖說現(xiàn)在已進入git的時代, 但svn依然有不少使用場景, 比如公司內(nèi)的文檔管理與共享, svn的概念比git的少很多, 非常適合非程序員使用.
但眾所周知svn的Linux服務端軟件即Subversion的用戶和權限配置全部依靠手寫配置文件完成, 非常繁瑣且不便, 已有的幾款圖像界面軟件已經(jīng)非常古老, 安裝麻煩而且依賴環(huán)境非常古老, 比如csvn還使用python2作為運行環(huán)境.
Windows上倒是有不錯的svn服務端軟件即VisualSVN, 但一來Windows服務器少之又少, 第二VisualSVN沒有web界面, 每次配置需要開啟遠程桌面, 安全性不高.
經(jīng)歷幾次失敗的圖形界面配置后, 萌生了寫一個現(xiàn)代svn服務端管理軟件, 讓svn的服務端管理有gitea的輕松體驗的想法.
技術說明
本項目是基于springBoot的web系統(tǒng), 數(shù)據(jù)庫使用sqlite, 因此服務器上不需要安裝任何數(shù)據(jù)庫
項目啟動時會釋放一個.sqlite.db到系統(tǒng)用戶文件夾中, 注意進行備份
使用本軟件前請先安裝Subversion
演示地址: http://svn.nginxwebui.cn:6060 用戶名: admin 密碼: admin
安裝說明
以Ubuntu操作系統(tǒng)為例,
1.安裝java運行環(huán)境和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運行環(huán)境 JAVA_HOME : JDK安裝目錄 Path : JDK安裝目錄\bin 重啟電腦
2.下載最新版發(fā)行包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/
參數(shù)說明(都是非必填)
-Xmx64m 最大分配內(nèi)存數(shù)
--server.port 占用端口, 默認以6060端口啟動
--project.home 項目配置文件目錄,存放數(shù)據(jù)庫文件,證書文件,日志等, 默認為/home/nginxWebUI/
注意命令最后加一個&號, 表示項目后臺運行
docker安裝說明
本項目制作了docker鏡像, 支持 x86_64/arm64/arm v7 平臺,同時包含Subversion和svnWebUI在內(nèi), 一體化管理與運行Subversion.
1.安裝docker容器環(huán)境
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
注意:
-
需要映射6060端口與3690端口, 6060為web網(wǎng)頁端口, 3690為svn默認端口.
-
容器需要映射路徑/home/svnWebUI:/home/svnWebUI, 此路徑下存放項目所有數(shù)據(jù)文件, 包括數(shù)據(jù)庫, 配置文件, 日志等, 升級鏡像時, 此目錄可保證項目數(shù)據(jù)不丟失. 請注意備份.
-
-e BOOT_OPTIONS 參數(shù)可填充java啟動參數(shù), 可以靠此項參數(shù)修改端口號
--server.port 占用端口, 不填默認以6060端口啟動
- 日志默認存放在/home/svnWebUI/log/svnWebUI.log
編譯說明
使用maven編譯打包
mvn clean package
使用docker構建鏡像
docker build -t svnwebui:latest .
添加開機啟動
- 編輯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
之后執(zhí)行
systemctl daemon-reload systemctl enable svnwebui.service systemctl start svnwebui.service
使用說明
打開 http://ip:6060 進入主頁
首次打開頁面, 需要注冊管理員賬戶
注冊完畢后, 進入登錄頁面進行登錄
服務管理, 可在這個頁面查看Subversion服務的開啟情況, 并進行停止和重啟.
倉庫管理, 可添加倉庫及修改倉庫, 添加倉庫后即可獲得倉庫的svn地址, 十分方便
選擇對應的用戶對倉庫進行授權
選擇對應的小組對倉庫進行授權
用戶管理, 可添加和編輯用戶
小組管理, 可添加和編輯小組
找回密碼
如果忘記了登錄密碼,可按如下教程找回密碼
- 安裝sqlite3命令(Docker鏡像已經(jīng)安裝好了)
apt install sqlite3
- 讀取sqlite.db文件
sqlite3 /home/svnWebUI/sqlite.db
- 查找user表
select * from user;
- 退出sqlite3
.quit
