Submin+apache+svn 图形化管理
自动化运维
时间:2016年12月6日
本文由刘康提供,有更好的文章欢迎来稿!
Submin简介
Submin
提供一个基于Web
的界面来管理Subversion仓库
。
它的功能包括:用户/组管理
路径权限管理
创建SVN库
它使用htpasswd/svn authz来进行身份验证,所以可以使用与apache2/svn (和trac)相同的登录信息。
项目主页: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
10、重置密码
点击 Forgot your password 输入admin,点击Reset,邮箱将会受到密码重置邮件
稍后,该邮箱即会收到重置右键,点击链接重置即可
点击重置邮件进入系统,点击admin
菜单进入用户设置界面,修改密码
注意: Password一栏 密码要输入两次,第一次是设置,第二次才是确认
11、新建仓库
点击左侧菜单右下角的新建仓库按钮 ,输入名称,选择svn创建仓库
12、授权
点击左侧菜单最下面中间两个人的按钮,新建组
点击左侧菜单最下面的左侧一个人的按钮,新建用户
新建完成用户后,用户会收到密码重置邮件,同时系统进入修改用户信息页面,可以将用户添加到demogroups
组
设置权限,点击左侧需要授权的仓库按钮
这个地址可以使用浏览器访问。认证的账户密码就是SVN账户密码
13、svn客户端测试
submin
是基于http
协议对SVN仓库进行管理的,所以SVN仓库地址也是使用HTTP协议而不在使用 svn协议。
所以SVN仓库应该是http:/localhost/svndir
而不再是svn://localhost/svndir
14、分支管理
submin本身并不不能在控制台创建分支,但是可以对SVN仓库的代码目录进行管理。精细到对文件夹进行权限管理。
照上面的步骤把svn apache submin 都安装好,登入系统后发现svn创建仓库页面提示添加成功,但是实际上不展示仓库~求解 急!