阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Ubuntu下Apache+SVN+submin实现WEB管理SVN

150次阅读
没有评论

共计 2299 个字符,预计需要花费 6 分钟才能阅读完成。

为什么需要 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,密码会发送到前面配置环境时设置的邮箱。
Ubuntu 下 Apache+SVN+submin 实现 WEB 管理 SVN

登陆成功后,应该出现如下界面, 菜单栏 USERS 下面应有 admin 用户:
Ubuntu 下 Apache+SVN+submin 实现 WEB 管理 SVN

如果没有正常显示,说明 submin 可能哪里还没配置成功。运行

$sudo submin2-admin /var/lib/submin diagnostics

检查下,最后会输出一段总结,确认下 Subversion 是 ok 的。

... 省略部分输出)Summary:

* Email settings: fail
* Git:            ok
* Subversion:     ok # 这边一定要为 ok
* Trac:           disabled

如果不为 ok,请根据具体的出错现象排查,下面一节是我在配置过程中遇到的问题。

配置中遇到的问题

没有启用 CGI 的错误

如果出现以下错误,说明没有启用 CGI:
Ubuntu 下 Apache+SVN+submin 实现 WEB 管理 SVN

配置方法:
修改 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 

Linux 中 Subversion 配置实例 http://www.linuxidc.com/Linux/2012-02/53109.htm

CentOS 6.2 SVN 搭建 (YUM 安装) http://www.linuxidc.com/Linux/2013-10/91903.htm

Apache+SVN 搭建 SVN 服务器 http://www.linuxidc.com/Linux/2013-03/81379.htm

Windows 下 SVN 服务器搭建和使用 + 客户端重新设置密码 http://www.linuxidc.com/Linux/2013-05/85189p5.htm

Ubuntu Server 12.04 安装 SVN 并迁移 Virtual SVN 数据 http://www.linuxidc.com/Linux/2013-05/84695.htm

Ubuntu Server 搭建 svn 服务以及迁移方法 http://www.linuxidc.com/Linux/2013-05/84693.htm

借助网盘搭建 SVN 服务器 http://www.linuxidc.com/Linux/2013-10/91271.htm

Subversion (SVN) 的详细介绍 :请点这里
Subversion (SVN) 的下载地址 :请点这里

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-07/133457.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2299字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中