Submin+apache+svn 图形化管理

摘要

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#
###########################
安装之前请将系统升级,否则可能会出现一些依赖包无法安装的问题

  1. 安装apache
  2. apt-get -y install apache2
  3. 记住安装的版本号
  4. apache2 (2.4.18-2ubuntu3.1)
  5. 查看apache2状态
  6. systemctl start apache2
  7. netstat -tulnp | grep apache2
  8. systemctl status apache2
  9. 开启apache2模块
  10. a2enmod rewrite
  11. a2enmod authn_dbd
  12. 加载CGI模块
  13. cd /etc/apache2/mods-enabled/
  14. ln -s ../mods-available/cgi.load cgi.load
  15. systemctl restart apache2
  16. 安装apache2svn的支持模块
  17. apt-get -y install libapache2-svn

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

  1. authz_svn.load
  2. dav_svn.load
  3. 安装pysvn的支持模块
  4. apt-get -y install python-subversion

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

方法1:在线安装

1、添加存储仓库

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

2、更新apt仓库

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

3、安装submin

  1. apt-get install submin2-full

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

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

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

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

3、安装

  1. cd submin
  2. python setup.py install

4、验证安装

  1. submin2-admin 成功显示当前版本

5、配置submin

  1. root@Ubuntu-demo-node1:/usr/local/submin# submin2-admin /opt/submin/ initenv 123@qq.com
  2. Submin can enable features for you automatically. Please answer which features
  3. you want to enable. You can choose to enable: 'svn', 'git', 'trac', 'apache'
  4. and 'nginx'.
  5. Which features do you want to enable? [svn, git, apache, nginx]> svn,apache #选择使用哪种功能
  6. Please provide a location for the Subversion repositories. For new Subversion
  7. repositories, the default setting is ok. If the path is not absolute, it will
  8. be relative to the submin environment. If you want to use an existing
  9. repository, please provide the full pathname to the Subversion parent
  10. directory (ie. /var/lib/svn).
  11. Path to the repository? [svn]> /opt/svn #SVN路径
  12. Please provide a hostname that can be used to reach the web interface. This
  13. hostname will be used in communication to the user (a link in email, links
  14. in the web interface). The hostname should be a FQDN, so instead of 'foo' it
  15. should be 'foo.example.com'. Please correct if the default is incorrect.
  16. Hostname? [bogon]> Ubuntu-demo-node1.com #主机名,也可以写IP地址。这个就是你用浏览器访问的地址
  17. The HTTP path tells Submin where the website is located relative to the root.
  18. This is needed for proper working of the website. Submin will be accesible
  19. from <http base>/submin, Subversion will be accessible from <http base>/svn.
  20. If you use Trac, it will be accessible from <http base>/trac.
  21. HTTP base? [/]> #直接回车
  22. Submin will send emails for password resets and for commit message (if
  23. enabled). You can set the sender email address that Submin will use. The
  24. default might work in some places, but not all.
  25. Email from envelope? [Submin <root@bogon>]> 123@qq.com #发件箱地址
  26. 邮箱很重要, submin会将管理员设置初始口令的链接发到这邮箱中
  27. /opt/submin这个目录不要提前建,安装命令的向导一步步设置就可以了,说明很清楚.
  28. 这一步需要注意
  29. svn仓库apache一定要有访问权限,否则submin后期将会报错,无法创建仓库
  30. 如果服务器不能发邮件 也可以配置sendmail发邮件,sendmail配置如下:
  31. apt-get -y install sendmail apt-get install sendmail-cf
  32. apt-get -y install sendmail sendmail-cf
  33. ps aux |grep sendmail
  34. cd /etc/mail
  35. mv sendmail.cf sendmail.cf.bak
  36. m4 sendmail.mc > sendmail.cf
  37. echo "dsadsadsa" |mail -s Test 123@qq.com

6、配置apache
生成配置文件

  1. submin2-admin /opt/submin/ apacheconf create all
  2. apache2.conf文件最下面添加如下三行,注意Apache版本
  3. IncludeOptional /opt/submin/conf/apache-2.4-webui-cgi.conf
  4. IncludeOptional /opt/submin/conf/apache-2.4-svn.conf
  5. ServerName 192.168.56.129:80
  6. submin2-admin /opt/submin config set vcs_plugins svn #设置仓库类型,若不设置,则默认为git 如果不禁用git,以后的操作都会报git没有设置的错误

7、重启apache2

  1. systemctl restart apache2

8、诊断submin

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

邮箱设置

  1. 优先使用stmp发邮件。 异常时使用本地的sendmail,配置smtp
  2. submin2-admin /opt/submin config set smtp_hostname smtp.exmail.qq.com
  3. submin2-admin /opt/submin config set smtp_port 25
  4. submin2-admin /opt/submin config set smtp_username 123@qq.com
  5. submin2-admin /opt/submin config set smtp_password *****
  6. submin2-admin /opt/submin config set smtp_from "svn <123@qq.com>"
  7. 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、重置密码

  1. 点击 Forgot your password
  2. 输入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. 2017:  npm && node 环境搭建(0)
    A+
发布日期:2016年12月06日  所属分类:Linux
标签:
新闻联播老司机

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:1   其中:访客  1   博主  0

  1. avatar shi 0
    照上面的步骤把svn apache submin 都安装好,登入系统后发现svn创建仓库页面提示添加成功,但是实际上不展示仓库~求解 急!