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.在浏览器中输入

提示以下界面,表示安装成功,用户名为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/。
在浏览器中输入, 测试下如果能正常输出,说明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配置实例

CentOS 6.2 SVN搭建 (YUM安装)

Apache+SVN搭建SVN服务器

Windows下SVN服务器搭建和使用 + 客户端重新设置密码

Ubuntu Server 12.04 安装 SVN 并迁移 Virtual SVN数据

Ubuntu Server搭建svn服务以及迁移方法

借助网盘搭建SVN服务器

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/e58a79e403c65cf73437a9664d824b26.html