Ubuntu下Apache+SVN+submin实现WEB管理SVN
为什么需要submin管理SVN?
原来在Ubuntu下,都是直接通过命令行创建SVN仓库并分配权限,但是这有一些问题:
- 每创建一个SVN仓库,都需要修改httpd.conf
- 每创建一个帐户,都需要手动输入htpasswd并指定文件
- 每修改权限,都要求登陆到服务器编辑authz
- 授权管理员权限困难,且必须提供登陆Linux的帐号;
这些不便在创建submin后都可以解决。
submin的安装与配置
1.下载submin源码包,我使用的是submin-2.1.2-0.tar.gz。
2.解压,进入源码根目录,执行以下命令将submin安装到系统:
$sudo python setup.py install
3.创建submin的环境,执行以下命令
$sudo submin2-admin /var/lib/submin initenv yourname@email.address
4.执行以下命令
$sudo ln -s /var/lib/submin/conf/apache-webui-cgi.conf /etc/apache2/conf.d/
$sudo ln -s /var/lib/submin/conf/apache-svn.conf /etc/apache2/conf.d/
$sudo apache restart
5.在浏览器中输入http://localhost/submin/
提示以下界面,表示安装成功,用户名为admin,密码会发送到前面配置环境时设置的邮箱。

登陆成功后,应该出现如下界面,菜单栏USERS下面应有admin用户 :

如果没有正常显示,说明submin可能哪里还没配置成功。运行
$sudo submin2-admin /var/lib/submin diagnostics
检查下,最后会输出一段总结,确认下Subversion是ok的。
(...省略部分输出)
Summary:
* Email settings: fail
* Git: ok
* Subversion: ok #这边一定要为ok
* Trac: disabled
如果不为ok,请根据具体的出错现象排查,下面一节是我在配置过程中遇到的问题。
配置中遇到的问题
没有启用CGI的错误
如果出现以下错误,说明没有启用CGI:

配置方法:
修改httpd.conf(基于Apache 2.4),确保以下CGI和rewrite,alias模块有打开:
LoadModule cgid_module modules/mod_cgid.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule alias_module modules/mod_alias.so
找到以下标签,确保有ScriptAlias指令,没有则添加:
<IfModule alias_module>
ScriptAlias /cgi-bin/ "/usr/cgi-bin/"
</IfModule>
找到以下标签,按以下配置修改
<Directory "/usr/cgi-bin">
AllowOverride None
Options +ExecCGI
</Directory>
AddHandler cgi-script .cgi .pl
然后重启下apache,自己编写下测试程序test.sh
#!/bin/bash
echo '<h1>hello</h1>'
修改权限为755,然后放到/usr/cgi-bin/。
在浏览器中输入http://localhost/cgi-bin/test.sh, 测试下如果能正常输出,说明CGI配置OK了。
不能正常发送邮箱的处理方法
先确保本地mail命令能正常使用,然后删除/var/lib/submin,重新配置submin,邮箱地址配置成当前用户。比如当前登陆的用户名为root,则为
$sudo submin2-admin /var/lib/submin initenv root@localhost
权限问题
apache是以www-data用户运行的,可能对/opt/svn没有写入权限,因此将/opt/svn的所有者改为www-data。
chown www-data:www-data /opt/svn
参考
Invalid command 'Rewrite Engine'解决方法
apache运行CGI程序的配置
SVN的WEB管理接口 Submin安装搭建
ubuntu 14.04安装submin
Ubuntu下Apache+SVN+submin实现WEB管理SVN的更多相关文章
- centos7搭建SVN+Apache+IF.svnadmin实现web管理SVN
阅读目录 1. 介绍 2. 软件准备 3. 建立SVN Server仓库 4. 配置安装PHP&IF.SVNadmin 5. 启动服务 1.介绍 公司最近想把Windows server平台的 ...
- Ubuntu下的RabbitMQ安装与web管理配置
首先在Ubutnu的/etc/apt/sources.list文件中加入一行 deb http://cz.archive.ubuntu.com/ubuntu trusty main 然后执行 sudo ...
- [转]:Ubuntu 下Apache安装和配置
[转]:Ubuntu 下Apache安装和配置_服务器应用_Linux公社-Linux系统门户网站 https://www.linuxidc.com/Linux/2013-06/85827.htm ...
- 分享:linux下apache服务器的配置和管理
linux下apache服务器的配置和管理. 一.两个重要目录: Apache有两个重要的目录:1.配置目录/etc/httpd/conf:2.文档目录/var/www: 二.两种配置模式: Apac ...
- Ubuntu下安装软件提示无法锁定管理目录(/var/lib/dpkg/)的解决办法
Ubuntu下安装软件提示无法锁定管理目录(/var/lib/dpkg/)的解决办法 在安装软件的时候,有时候提示,无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它? 这是 ...
- ubuntu下apache服务器操作方法小结,具有参考借鉴价值
这篇文章主要介绍了ubuntu下apache服务器操作方法小结,非常不错,具有参考借鉴价值,需要的朋友可以参考下(http://www.0831jl.com)Linux系统为Ubuntu 一.Star ...
- centos7搭建SVN+Apache+IF.svnadmin支持https实现web管理SVN
阅读目录 1. 介绍 2. 软件准备 3. 建立SVN Server仓库 4. 配置安装PHP&IF.SVNadmin 5. 启动服务 1.介绍 公司最近想把Windows server平台的 ...
- Centos7 基于SVN+Apache+IF.svnadmin实现web管理
1.简单介绍: iF.SVNAdmin应用程序是您的Subversion授权文件的基于Web的GUI.它基于PHP 5.3,需要安装一个Web服务器(Apache).该应用程序不需要数据库后端或任何类 ...
- Ubuntu下Apache+php+mysql网站架设详解
目录 1 基础 2 安装 2.1 安装LAMP 2.2 图形化管理软件(可选) 2.2.1 安装webmin 2.2.2 安装phpmyadmin 3 配置文件路径 3.1 常用命令 3.2 配置ap ...
随机推荐
- 一步一步开发Game服务器(三)加载脚本和服务器热更新(二)完整版
上一篇文章我介绍了如果动态加载dll文件来更新程序 一步一步开发Game服务器(三)加载脚本和服务器热更新 可是在使用过程中,也许有很多会发现,动态加载dll其实不方便,应为需要预先编译代码为dll文 ...
- CSS魔法堂:重拾Border之——不仅仅是圆角
前言 当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...
- 从零开始,搭建博客系统MVC5+EF6搭建框架(3),添加Nlog日志、缓存机制(MemoryCache、RedisCache)、创建控制器父类BaseController
一.回顾系统进度以及本章概要 目前博客系统已经数据库创建.以及依赖注入Autofac集成,接下来就是日志和缓存集成,这里日志用的是Nlog,其实还有其他的日志框架如log4,这些博客园都有很多介绍,这 ...
- nodejs连接mongodb的方法
一. var express = require('express'); var mongodb = require('mongodb'); var app = express(); app.use( ...
- js正则表达式中test,exec,match方法的区别
test test 返回 Boolean,查找对应的字符串中是否存在模式.var str = "1a1b1c";var reg = new RegExp("1." ...
- 使用block进行界面之间的反向传值
目标:在两个独立的控制器的界面之间进行反向传值 关键技术:block 代码编写及运行环境:Xcode6.4 / 模拟器8.4 语言:Objective-C 注:使用纯代码实现,不使用xib/story ...
- 配置管理工具 Puppet的安装和使用
今天碰到一个linux下的puppet的问题,才发现原来这个是 用ruby语言编写的自动化的管理工具.有兴趣的同学,可以学习下. 这里重点讲述下 mac下 puppet的安装方法: 在Mac下采用Gi ...
- FactoryMethodPattern(工厂方法)
/** * 工厂方法模式 * 分为四部分 * 1.产品接口 * 2.产品实例 * 3.工厂接口 * 4.工厂实例 * 工厂类最好用单例模式,但在这里主要是说明工厂方法,就不用单例了 * @author ...
- jquery实现多级下拉菜单
支持多种浏览器,体验效果:http://keleyi.com/keleyi/phtml/jqmenu/4.htm 多级菜单,理论上支持无限多的层级,文件结构非常简单的,以下是完整代码: <!DO ...
- C#登入例子--第一个程序
第一步:在数据库创建一个存放账号密码的表单 第二步:创建一个登入项目 拆分成三层: CS层: BLL层: DAL层: Common层: Web.config: