发新话题
打印

phpSvnMan 0.1版,实现Web管理SVN用户注册、注销、审核、修改密码

phpSvnMan 0.1版,实现Web管理SVN用户注册、注销、审核、修改密码

使用Linux+Apache+Mysql+Php5进行Svn版本库管理的一套小系统
已实现功能:
    1、用户注册。
    2、用户信息修改,包括密码、姓名等。
    3、用户审核。

相当简单的一个小东西,大概是8月份的时候写的,当时由于病毒泛滥,我们架在WINDOWS平台下面的CVSNT服务器频繁Over,就更换版本管理平台到了SVN
由于人员较多,所以写了这个小东西方便管理。在我们这里已经用了一段时间了,还蛮方便。
希望能对大家有所帮助:)

这一段忙完后会对这个系统进行完善和扩充,目前想到的要扩充以下几个功能:
1、自动安装数据库。
2、远程权限管理
3、BUG跟踪
4、项目管理
5、项目浏览,文档版本管理,包括WEB文档上传等。
6、对多级子目录Repos浏览的支持。
朋友们有好的建议可以多提一些:)

先把文件和图传上来:)
安装说明见楼下
附件: 您所在的用户组无法下载或查看附件

TOP

安装说明

前提:
    我的环境如下:
        Ubuntu Linux 6.10
        Apache 2.5.xx
        php 5.xx
        mysql xx
        Subversion 1.4.2

理论上在Windows上也能运行,我还没有测试。

安装方法:
    1、安装LAMP服务器(Linux,Apache,Mysql,php):
        如果是Ubuntu,在安装系统有选项,可以直接装好。
        以下操作以Ubuntu为例,在不同发行版的Linux中有些配置文件可能不一致,但大体如此了:)
    2、配置Apache服务器,建议使用端口8080或者8888等,因为当使用80端口时,Webdav模块和喀吧斯基杀病毒软件冲突,总是访问不到,折腾我了好几天。
            Ubuntu方法是修改/etc/apache2/port.conf配置文件,然后 sudo /etc/init.d/apache2 restart 重启
    3、安装Mysql授权模块:
            apt-get install libapache-mod-auth-mysql
                我直接使用更新,也可以自行编译:)

    4、安装Subversion。
            我是用源码直接编译的,当然也可以使用自动更新下载,但目前只有1.3.X版本。
            标准做法:
            源码编译:
                ./configure
                 make
                sudo make install
                直接更新:
                    sudo apt-get install subversion
      5、安装phpMyadmin,使用Web界面的Mysql数据库管理模块可以到这里下载
                http://www.phpmyadmin.net
                创建数据库apache_user
              然后执行压缩包内的Sql.txt文件创建授权表

      6、配置Apace 支持WebDav,支持Mysql授权
                配置文件在压缩包内,大家可以参考。
               说明:
               主要是修改 /etc/apache2/mod-enabled/dav_svn.conf
                    <Location /svn/>
   DAV svn

   SVNParentPath /var/svn_repos/
    SVNListParentPath On
    Options Indexes MultiViews
    Order allow,deny
    allow from all
    AllowOverride None

        AuthMySQL on
        AuthMySQL_Authoritative on
        AuthMySQL_DB apache_user
        AuthMySQL_Password_Table user
        AuthMySQL_Group_Table user
        AuthMySQL_Empty_Passwords off
        AuthMySQL_Encryption_Types Plaintext
        
        AuthName "R&D CENTER SVN REPOSITORY"
        AuthType Basic

        Require valid-user
    AuthzSVNAccessFile /etc/apache2/dav_svn.authz
</Location>

    7、创建管理员帐户:
           使用phpMyadmin 在user表中添加一条记录,然后设置groups字段为admin,自己设置密码和用户名等信息。
    8、安装phpsvnman
            很简单:)从压缩包里把目录拷贝到Web目录下就行了
            缺省目录是/var/www
            具体位置请看/etc/apache2/site-enableed/下的配置文件

目前权限控制还是需要手动修改下面的文件
    dav_svn.authz

现在直接访问就应该可以访问到了

祝大家新年愉快。
本帖最近评分记录
  • rocksun 威望 +30 精品文章 2006-12-26 15:11

TOP

支持~~~!

楼主所说的需要增加的很多功能在TRAC利用插件实现了,包括用户注册,管理,BUG追踪,项目进度管理等等,只是不太完善,而且对中文不太友好.但是是用PYTHON写的,可扩展性极强. 楼主可以参考一下.
本帖最近评分记录
  • rocksun 威望 +5 2006-12-26 23:16

TOP

我用过trac,总感觉有些不爽:)和我目前的需求差别较大
所以想根据实际情况搞一个,不想太全,实用就行
本帖最近评分记录
  • rocksun 威望 +30 2006-12-26 23:17

TOP

好东东,谢谢了
期待楼主所说的完善与扩充

TOP

不错的东西!!

我来提一个需求:
密码能否用md5加密后然后再存入mysql,比较plaintext对安全不利。

另外,希望完善后,下一步最好是能跟ldap能结合。

TOP

受教了

TOP

如果是fsfs方式的呢? 楼主能否改一下,或者增加版本

TOP

"如果是fsfs方式的呢?"
具体是什么意思:)

发表于 2007-1-5 22:34  资料 文集 短消息
不错的东西!!

我来提一个需求:
密码能否用md5加密后然后再存入mysql,比较plaintext对安全不利。

呵呵,当初为了图省事,尽快加上

TOP

支持
我的Blog,欢迎友情链接:http://rocksun.cn
支持Subversion中文站,欢迎友情链接我们:http://www.subversion.org.cn/
Twitter Me:http://twitter.com/rocksun,可以加入QQ群15161300、11097243(满)和21860927(满),群策群力。

TOP

发新话题