如何使用svnWebUI圖形化工具搭建svn服務器

功能說明

svnWebUI是一款圖形化管理Subversion的配置得工具, 雖說現在已進入git的時代, 但svn依然有不少使用場景, 比如公司內的文檔管理與共享, svn的概念比git的少很多, 非常適合非程序員使用.

但衆所周知svn的Linux服務端軟件即Subversion的用戶和權限配置全部依靠手寫配置文件完成, 非常繁瑣且不便, 已有的幾款圖像界面軟件已經非常古老, 安裝麻煩而且依賴環境非常古老, 比如csvn還使用python2作爲運行環境.

Windows上倒是有不錯的svn服務端軟件即VisualSVN, 但一來Windows服務器少之又少, 第二VisualSVN沒有web界面, 每次配置需要開啓遠程桌面, 安全性不高.

經歷幾次失敗的圖形界面配置後, 萌生了寫一個現代svn服務端管理軟件, 讓svn的服務端管理有gitea的輕鬆體驗的想法.

技術說明

本項目是基於springBoot的web系統, 數據庫使用sqlite, 因此服務器上不需要安裝任何數據庫

使用本軟件前請先安裝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.1.0.jar

Windows: 直接使用瀏覽器下載 http://file.nginxwebui.cn/svnWebUI-1.1.0.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地址, 在Subversion服務開啓的情況下可直接checkout, 十分方便

輸入圖片說明

選擇對應的用戶對倉庫進行授權, 可以授權到某個目錄

輸入圖片說明

選擇對應的小組對倉庫進行授權, 可以授權到某個目錄

輸入圖片說明

用戶管理, 可添加和編輯用戶, 用戶分兩種, 管理員和普通用戶, 普通用戶只能看到自己的信息, 管理員可管理整個平臺的信息

輸入圖片說明

小組管理, 可添加和編輯小組

找回密碼

如果忘記了登錄密碼,可按如下教程找回密碼

安裝sqlite3命令(Docker鏡像已經安裝好了)

apt install sqlite3
 

讀取sqlite.db文件

sqlite3 /home/svnWebUI/sqlite.db
 

查找user表

select * from user;
 

退出sqlite3

.quit
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章