Apache2+SVN+MYSQL认证 配置项详细步骤
2024-08-27 18:30:07
供稿:网友
######## 本配置放在 httpd.conf 或其他 .conf 文件中都可以
######## APACHE2 支持多种认证/验证方式,本文只涉及 MYSQL 认证/验证方式
#/svn 即在 浏览器或SVN客户端中访问的 版本库的地址,如:
<Location /svn>
DAV svn
#/var/svn/test 即服务器上的版本库位置
SVNPath /var/svn/test
#版本库说明,在通过版本库地址访问版本库时认证窗口所出现的“title”
AuthName "Subversion Repository"
#此项目前只能是 Basic,不支持其他参数值
AuthType Basic
#如果使用 MYSQL 进行认证,则此处必须为 /dev/null,否则会报:(9)Bad file descriptor: Could not open password file: (null)
AuthUserFile /dev/null
#关闭基本认证,经测试,此项似乎可省略,建议保留
AuthBasicAuthoritative off
#打开 MYSQL 认证
AuthMYSQL on
#只用 MYSQL 进行认证,也即只要 MYSQL 认证通过了,就认为具有访问权限,若设为 off,则如果还有其他认证方式,会继续进行其他认证( 类似 AND 逻辑 )
AuthMySQL_Authoritative on
###### MYSQL 认证所用的 MYSQL 数据库访问相关配置项 ######
#MYSQL数据库 所在IP
AuthMySQL_Host 127.0.0.1
#MYSQL数据库 访问端口,可省略,默认3306
#Auth_MySQL_Port
#MYSQL数据库 访问用户名
AuthMySQL_User user_name
#MYSQL数据库 访问密码
AuthMySQL_Password password
###### MYSQL 认证所用的 具体数据相关配置项 ######
#存放认证信息的数据库名称
AuthMySQL_DB svn_auth_db
#存放认证信息的表名称
AuthMySQL_Password_Table users_test
#存放认证用户名的字段名称
AuthMySQL_Username_Field user
#存放认证密码的字段名称
AuthMySQL_Password_Field pass
#密码加密方式,有如下选项: Plaintext:明文;Crypt_DES:DES对称加密;Crypt_MD5:Crypt_MD5加密;Crypt:Unix crypt()加密;PHP_MD5:PHP_MD5加密;SHA1Sum:sha1加密;MySQL:MySQL PASSWORD()函数加密; PHP_MD5 与 Crypt_MD5 的区别未作考证
AuthMySQL_Encryption_Types SHA1Sum
#是否允许空密码访问,也即只输入用户名访问
AuthMySQL_Empty_Passwords off
#有三个可用值:user, group, valid-user,一般只用 valid-user
Require valid-user
</Location>