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 
    参考:
  • http://www.abcdocker.com/abcdocker/1950

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值