`
aone
  • 浏览: 73702 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

svn,apache,mysql实现版本控制和身份验证

    博客分类:
  • svn
阅读更多
一.相关下载
  svn-1.4.0
  apache_2.0.55-win32-x86-no_ssl
  mod_auth_mysql-2.0.49-w32.zip

  site-1.0.4.zip(subclipse用于eclipse3.1.*)
  site-1.2.2.zip(subclipse用于eclipse3.2.*)
  TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi

二.安装配置
  首先安装apache,安装过程中会提示填写ServerName等,有的话就填,没有的话就写上IP,我填的是localhost.
  安装完apache,如果没有出错的话ApacheMonitor会出现在系统任务栏,并显示已运行状态.
 
  安装svn-1.4.0,安装过程中svn会检测到系统中已经运行apache,apache会在期间自动重新启动,
  ApacheMonitor的状态栏也会自动改为"Apache/2.0.55(Win32) SVN/1.4.0 DAV/2",说明svn安装成功.
 
  如果apache和svn没有自动集成成功,也可以手动修改apache httpd.conf文件如下3步:
    1.找到以下两行:
      #LoadModule dav_module modules/mod_dav.so
      #LoadModule dav_fs_module modules/mod_dav_fs.so
      改为:
      LoadModule dav_module modules/mod_dav.so
      #LoadModule dav_fs_module modules/mod_dav_fs.so(网上很多说法是把这一行也去掉#注释,但好像并非必须去掉.)
    2.添加以下两行:
      LoadModule dav_svn_module "C:/Program Files/Subversion/bin/mod_dav_svn.so"
      LoadModule authz_svn_module "C:/Program Files/Subversion/bin/mod_authz_svn.so"
      # "C:/Program Files/Subversion"是Subversion的安装目录
    3.在httpd.conf的最后添加如下内容:
      <Location /svn>
        DAV svn
        SVNParentPath "E:/svndemo"
        # SVNParentPath指向svn资源库的上一级目录
        # SVNPath "E:/svndemo/repository"
        # SVNPath指向svn资源库目录
        # 使用SVNParentPath或SVNPath根据相应需求
        # 关于如何创建svn资源库目录在本文最后有补充
      </Location>
    现在已经可以通过http://localhost:8080/svn/repository/来访问资源库了.
三.使用apache身份验证
  使用apache身份验证就要使用apache的htpasswd.exe命令生成密码文件,示例如下:
    命令行下执行:htpasswd –c E:\svndemo\svn_auth_passwd plmm
    参数-c创建密码文件svn_auth_passwd并添加用户plmm,然后会提示输入密码.
    继续添加用户:htpasswd -m E:\svndemo\svn_auth_passwd klmm
    参数-m在已有的密码文件中添加新用户klmm,并用MD5加密密码.
    这样就创建了一个密码文件添加了两个用户.
  修改apache httpd.conf文件,添加如下内容:
    <Location /svn>
      DAV svn
      SVNParentPath "E:/svndemo"
   
      AuthType Basic
      AuthName "Subversion repository"
      Require valid-user
      AuthUserFile "E:/svndemo/svn_auth_passwd"
      # AuthUserFile指向密码文件
    </Location>
  现在通过http://localhost:8080/svn/repository/访问资源库需要输入用户名密码.
四.结合mysql实现身份验证
  1.解压上面下载的mod_auth_mysql-2.0.49-w32.zip文件,拷贝mod_auth_mysql.so文件至apache下modules目录.
  2.修改apache httpd.conf文件,添加如下内容:
      使apache加载mysql身份验证模块:
        LoadModule mysql_auth_module modules/mod_auth_mysql.so
      配置apache用来验证用户名密码的数据库表:
      <Location /svn>
        DAV svn
        SVNParentPath "E:/svndemo"
   
        AuthType Basic
        AuthName "Subversion repository"
        #AuthUserFile "E:/svndemo/svn_auth_passwd"
        Require valid-user
   
        AuthMySQLHost localhost
        AuthMySQLUser root
        # AuthMySQLUser 数据库登陆用户名
        # AuthMySQLPassword 1234
        AuthMySQLDB svn
        # AuthMySQLDB 数据库名
        AuthMySQLUserTable users
        # AuthMySQLUserTable 数据库表名
        AuthMySQLNameField user_name
        # AuthMySQLNameField 用户名字段
        AuthMySQLPasswordField user_passwd
        # AuthMySQLPasswordField 密码字段
        # AuthMySQLMD5Passwords On
        AuthMySQLCryptedPasswords Off
      </Location>
  3.重启apache,现在通过http://localhost:8080/svn/repository/访问资源库需要输入mysql表中的用户名密码.
五.相关命令
  安装apache服务:apache -k install
  卸载apache服务:apache -k uninstall
  启动apache服务:apache -k start或net start Apache2
  停止apache服务:apache -k stop 或net stop Apache2
 
  svn创建资源库:svnadmin create E:\svndemo\repository
  启动资源库服务:svnserve -d -r E:\svndemo\repository
 
  拷贝my.ini到c:\winnt
  安装MySQL服务:mysqld-nt -install
  启动MySQL服务:net start mysql
  停止MySQL服务:net stop mysql
  卸载MySQL服务:mysqld-nt -remove
分享到:
评论
1 楼 longxj 2007-12-23  
请问你mysql数据库了的用户密码存的是什么?是用apache生成的密码,还是没有加密的密码?我认证的时候老是失败

相关推荐

    Apache+MySQL+SVN+SSL(最终文档)

    此外,mod_auth_mysql模块使得Apache能够与MySQL进行交互,实现基于数据库的身份验证。 ### Subversion (SVN) Subversion,通常简称为SVN,是一种集中式版本控制系统,用于管理代码库的版本历史。文档中提供的...

    SVN 服务器环境搭建

    SVN(Subversion)是一种广泛使用的版本控制系统,用于管理和跟踪代码库的变化。在这个"SVN 服务器环境搭建"的压缩包中,包含了搭建SVN服务器和客户端所需的所有资源,使得你可以方便地进行下载和安装。下面我们将...

    Trac0.12+SVN1.6+Apache2.2在windows下的配置说明

    创建Apache的htpasswd文件,用于用户身份验证。例如,使用`htpasswd -c F:/install/Apache2.2/conf/passwd admin`来创建管理员用户。 完成以上步骤后,你就可以通过浏览器访问Trac了,例如`...

    install-svn-for-linux-.rar_unix部署svn

    这将配置Apache以访问 `/var/svn/myrepo` 仓库,并设置基本的身份验证。 然后启用新配置并重启Apache: ```bash sudo a2ensite svn.conf sudo systemctl restart apache2 ``` ### 四、创建用户和权限 为了限制对...

    rdhat-linux5下的SVN安装

    为了增强安全性,你可以进一步配置Apache进行身份验证和授权,例如使用htpasswd工具创建用户密码文件,并在httpd.conf中设置访问控制。这将确保只有经过验证的用户才能访问SVN仓库。 总之,安装和配置基于Apache的...

    Debian6.0下svn+trac详细安装说明(包装上)

    Subversion是一种版本控制系统,而Trac则是一个集成的项目管理工具,它提供了问题跟踪、文档管理和源代码浏览等功能,并与Subversion紧密集成。 首先,确保在安装Debian时选择了OpenSSH和LAMP(Linux、Apache、...

    linux下搭建SVN服务器完全手册借鉴.pdf

    6. 修改`svnserve.conf`文件,启用身份验证和访问控制,指定密码和授权文件路径。 7. 启动SVN服务器:`svnserve -d -r /home/svn` 8. 测试服务器:通过`svn co`命令进行连接和身份验证。 在示例中,当尝试访问不同...

    CollabNet Subversion1.5安装配置.pdf

    - **用户验证**:Subversion 支持多种身份验证机制,包括基本的身份验证、摘要式身份验证、SSL/TLS 认证以及集成 Windows 身份验证 (SSPI) 等。这些机制可以通过 Apache 的配置文件进行设置。 - **安全性**:...

    Redmine-mod-perl-auth:mod_perl模块的增强版本,用于为Apache提供Redmine身份验证和授权(主要用于Subversion HTTP访问)

    Apache :: Authn :: Redmine ... 对不起,ruby用户,但是您需要一些perl模块,至少需要mod_perl2,DBI和DBD :: mysql(或者您数据库的DBD驱动程序,因为它应该在所有所有数据库上都可以工作)。 在debian /

    致远互联-2023笔试.docx

    SVN(Apache Subversion)和 Git 是两种常用的版本控制系统。以下是它们的优缺点: SVN 优点: * 易于使用:SVN 的使用很简单,易于学习和掌握。 * 高性能:SVN 的性能很高,支持大型项目和团队协作。 SVN 缺点:...

    Trac安装与配置指南

    - **编写目的**:本文档旨在介绍如何安装和配置Apache2.0X+SVN1.4.X+Trac0.10.X,以满足团队软件开发过程中对bug追踪、版本控制以及文档共享的需求。同时,该文档还希望能帮助读者理解Trac的功能及其与其他工具(如...

    基于Java的外委员工后台管理系统的设计与实现模版.docx

    - 用户模块:使用Spring Security进行身份验证和授权,JWT token实现会话管理。 - 项目模块:设计RESTful API,使用Spring Boot的Controller实现增删改查操作。 - 任务模块:结合Quartz或Spring Task实现定时任务...

    PHP源码PHP基于Web的subversion用户管理系统(源代码+论文)

    Subversion(SVN)作为一款开源版本控制系统,被广泛应用于软件项目的版本管理之中。然而,在实际使用过程中,团队成员往往需要频繁地进行权限配置、用户管理等操作,这对项目的高效管理和协同工作提出了挑战。为了...

    【计算机专业php毕业设计】基于PHP基于Web的subversion用户管理系统(源代码+)-附源码.zip

    Subversion,通常简称SVN,是一种版本控制系统,用于跟踪文件和目录的修改,以便团队协作和管理代码库。这个系统是用PHP编程语言实现的,PHP是一种广泛用于web开发的服务器端脚本语言。 首先,我们要理解PHP的基础...

    java财务管理系统.rar

    4. **安全性**:考虑到财务信息的敏感性,系统需要实现用户身份验证和授权,通常使用Spring Security或Apache Shiro等框架来实现。同时,数据传输应使用HTTPS协议确保通信安全。 5. **报表与图表**:为了便于数据...

    JavaEE求职简历-姓名-JAVA开发工程师.docx

    8. **版本控制**:使用SVN和Git进行代码版本控制,保证团队协作的效率。 9. **自动化构建工具**:熟练使用Maven进行项目的自动构建,简化项目管理。 10. **权限管理**:通过Apache Shiro实现用户权限管理,控制...

    redmine 安装手册

    包括对多个项目的管理、灵活的角色访问控制、问题跟踪系统、甘特图、日历、新闻、文件管理、电子邮件通知、wiki、论坛、实时跟踪、自定义字段,以及与多种版本控制系统(如 SVN, CVS, Git, Mercurial, Bazaar 和 ...

    5款新闻发布系统(JSP+JAVA源代码)

    9. **版本控制与部署**:开发过程中,Git或SVN等版本控制系统用于协同开发和代码管理。而Tomcat、Jetty等应用服务器用于部署运行这些JSP和JAVA应用。 10. **单元测试与集成测试**:JUnit和Mockito等工具可以用于...

    NEST研发管理系统-Presentation

    采用先进的版本控制系统如Subversion(SVN)和Git,确保代码变更可追溯,便于团队成员协同工作,同时维护代码库的完整性和稳定性。 #### 问题追踪 NEST提供强大的问题追踪工具,使项目管理者能够实时监控项目进展,...

    学生课绩管理系统 - Java源码

    4. **用户身份验证与授权**:为了确保数据安全,系统会包含用户登录和权限控制功能。Spring Security或Apache Shiro等框架可以用于实现这些功能。 5. **成绩录入与查询**:系统应提供界面供教师录入和修改成绩,...

Global site tag (gtag.js) - Google Analytics