Submin+apache+svn 图形化管理

2023年 5月 4日 60.6k 0

Submin提供一个基于Web的界面来管理Subversion仓库。 它的功能包括:用户/组管理 路径权限管理 创建SVN库 它使用htpasswd/svn authz来进行身份验证,所以可以使用与apache2/svn (和trac)相同的登录信息。
Submin+apache+svn 图形化管理
自动化运维
时间:2016年12月6日
本文由刘康提供,有更好的文章欢迎来稿!

Submin简介

Submin提供一个基于Web的界面来管理Subversion仓库。
它的功能包括:用户/组管理 路径权限管理 创建SVN库 它使用htpasswd/svn authz来进行身份验证,所以可以使用与apache2/svn (和trac)相同的登录信息。
image_1b392e3nh10s6194q1uiq18j11lnr9.png-101kB
项目主页:http://www.open-open.com/lib/view/home/1356422894041

环境准备

###########################
#需要事先安装好SVN和apache#
###########################
安装之前请将系统升级,否则可能会出现一些依赖包无法安装的问题

安装apache
apt-get -y install apache2

记住安装的版本号
apache2 (2.4.18-2ubuntu3.1)

查看apache2状态
systemctl start apache2
netstat -tulnp | grep apache2
systemctl status apache2

开启apache2模块
a2enmod rewrite
a2enmod authn_dbd

加载CGI模块
cd /etc/apache2/mods-enabled/
ln -s ../mods-available/cgi.load cgi.load
systemctl restart apache2

安装apache2对svn的支持模块
 apt-get -y install libapache2-svn

安装完成之后/etc/apache2/mods-available目录下会出现两个模块

authz_svn.load
dav_svn.load

安装py对svn的支持模块
apt-get -y install python-subversion

submin一般有两种安装方式,本次采用源码安装的方式:
1、apt-get在线安装(不翻墙可能安装会很慢)
2、源码安装
方法1:在线安装
1、添加存储仓库

创建文件/etc/apt/sources.list.d/submin.list,并只添加以下一行:
对于稳定版本:deb http://debian.supermind.nl/ current main
对于最新的版本:deb http://debian.supermind.nl/ nightly main
echo "deb http://debian.supermind.nl/ current main " >> /etc/apt/sources.list.d/submin.list

2、更新apt仓库

wget -q -O - https://supermind.nl/debian.key | apt-key add -
apt-get update

3、安装submin

apt-get install submin2-full

方法2:源码安装
1、下载源码

wget https://supermind.nl/submin/current/submin-2.2.2-1.tar.gz

2、解压源码到/usr/local下

tar zxf submin-2.2.2-1.tar.gz -C /usr/local/
cd /usr/local
ln -sv submin-2.2.2-1 submin

3、安装

cd submin
python setup.py install

4、验证安装

submin2-admin 成功显示当前版本

5、配置submin

root@Ubuntu-demo-node1:/usr/local/submin# submin2-admin /opt/submin/ initenv 123@qq.com

Submin can enable features for you automatically. Please answer which features
you want to enable. You can choose to enable: 'svn', 'git', 'trac', 'apache'
and 'nginx'.

Which features do you want to enable? [svn, git, apache, nginx]> svn,apache    #选择使用哪种功能

Please provide a location for the Subversion repositories. For new Subversion
repositories, the default setting is ok. If the path is not absolute, it will
be relative to the submin environment. If you want to use an existing
repository, please provide the full pathname to the Subversion parent
directory (ie. /var/lib/svn).

Path to the repository? [svn]> /opt/svn                                 #SVN路径

Please provide a hostname that can be used to reach the web interface. This
hostname will be used in communication to the user (a link in email, links
in the web interface). The hostname should be a FQDN, so instead of 'foo' it
should be 'foo.example.com'. Please correct if the default is incorrect.

Hostname? [bogon]> Ubuntu-demo-node1.com                                 #主机名,也可以写IP地址。这个就是你用浏览器访问的地址

The HTTP path tells Submin where the website is located relative to the root.
This is needed for proper working of the website. Submin will be accesible
from <http base>/submin, Subversion will be accessible from /svn.
If you use Trac, it will be accessible from <http base>/trac.

HTTP base? [/]>                                                          #直接回车

Submin will send emails for password resets and for commit message (if
enabled). You can set the sender email address that Submin will use. The
default might work in some places, but not all.

Email from envelope? [Submin <root@bogon>]> 123@qq.com          #发件箱地址

邮箱很重要, submin会将管理员设置初始口令的链接发到这邮箱中
/opt/submin这个目录不要提前建,安装命令的向导一步步设置就可以了,说明很清楚.
这一步需要注意
svn仓库apache一定要有访问权限,否则submin后期将会报错,无法创建仓库
如果服务器不能发邮件 也可以配置sendmail发邮件,sendmail配置如下:

apt-get -y install sendmail   apt-get install sendmail-cf
apt-get -y install sendmail  sendmail-cf
ps aux |grep sendmail
cd /etc/mail
mv sendmail.cf sendmail.cf.bak
m4 sendmail.mc > sendmail.cf
echo "dsadsadsa" |mail -s Test 123@qq.com

6、配置apache
生成配置文件

submin2-admin /opt/submin/ apacheconf create all

在apache2.conf文件最下面添加如下三行,注意Apache版本
IncludeOptional /opt/submin/conf/apache-2.4-webui-cgi.conf
IncludeOptional /opt/submin/conf/apache-2.4-svn.conf
ServerName 192.168.56.129:80


 submin2-admin /opt/submin config set vcs_plugins svn #设置仓库类型,若不设置,则默认为git  如果不禁用git,以后的操作都会报git没有设置的错误

7、重启apache2

systemctl restart apache2

8、诊断submin

执行以下命令
submin2-admin /opt/submin/ diagnostics
如果有问题参照说明修改对应错误

邮箱设置

优先使用stmp发邮件。 异常时使用本地的sendmail,配置smtp
submin2-admin /opt/submin  config set smtp_hostname  smtp.exmail.qq.com
submin2-admin /opt/submin  config set smtp_port 25
submin2-admin /opt/submin  config set smtp_username 123@qq.com
submin2-admin /opt/submin  config set smtp_password  *****
submin2-admin /opt/submin  config set smtp_from "svn <123@qq.com>"
submin2-admin /opt/submin  config set commit_email_from "svn<123@qq.com>"

9、访问192.168.56.129/submin
image_1b392mtrbnfnkj9e7oo9sfrkm.png-15.8kB
10、重置密码

点击 Forgot your password
输入admin,点击Reset,邮箱将会受到密码重置邮件

image_1b392nlpsa7l1jtm3ro1bll150613.png-11.7kB
稍后,该邮箱即会收到重置右键,点击链接重置即可
点击重置邮件进入系统,点击admin菜单进入用户设置界面,修改密码
image_1b392o6o01ut410591gup18521jfa1g.png-20kB
注意: Password一栏 密码要输入两次,第一次是设置,第二次才是确认
image_1b393ik7dg7p81p102u1pa0qpu9.png-38.2kB
11、新建仓库
点击左侧菜单右下角的新建仓库按钮 ,输入名称,选择svn创建仓库
image_1b392p9cf2e1cogk7l1u48lp32a.png-29kB
12、授权
点击左侧菜单最下面中间两个人的按钮,新建组
image_1b392pp5915751l7md8n16n71hut2n.png-50.1kB
点击左侧菜单最下面的左侧一个人的按钮,新建用户
image_1b393je1plrh198fp7e17tc1gqm.png-77.9kB
新建完成用户后,用户会收到密码重置邮件,同时系统进入修改用户信息页面,可以将用户添加到demogroups组
image_1b393jvi51f2613dhuup1ul6vuj13.png-42.5kB
设置权限,点击左侧需要授权的仓库按钮
image_1b392qn331a3h1hgm15hpm7s15093u.png-41kB
这个地址可以使用浏览器访问。认证的账户密码就是SVN账户密码
image_1b392qvdnda8195s11etplm2o84b.png-33.8kB
13、svn客户端测试
submin是基于http协议对SVN仓库进行管理的,所以SVN仓库地址也是使用HTTP协议而不在使用 svn协议。
所以SVN仓库应该是http:/localhost/svndir 而不再是svn://localhost/svndir
14、分支管理
submin本身并不不能在控制台创建分支,但是可以对SVN仓库的代码目录进行管理。精细到对文件夹进行权限管理。

相关文章:

  1. Kubernetes 1.14 二进制集群安装
  2. Kubenetes 1.13.5 集群二进制安装
  3. Kuerbernetes 1.11 集群二进制安装
  4. VisualSVN 迁移至Linux SVN+Apache+ssl集成LDAP

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论