论坛首页 Java企业应用论坛

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

浏览 9460 次
精华帖 (0) :: 良好帖 (3) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-07-03  
一.相关下载
  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
   发表时间:2007-12-23  
请问你mysql数据库了的用户密码存的是什么?是用apache生成的密码,还是没有加密的密码?我认证的时候老是失败
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics