快捷搜索:   nginx

Linux svn与apache整合

1. svn配置
2. svn整合apache:
3. svn使用mysql登陆
4. svn: Can't create directory

1. svn配置

1.1 创建svn项目svnadmin create /svn/projects/test

1.2 赋予测试用户权限vi /svn/conf/authz
[groups]
Tester=test,admin
Developer=admin
[test:/]
@Tester = rw
*=r

2. svn整合apache:

vi httpd.conf:
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

<Location /svn>
   DAV svn
        SVNParentPath /subversion/project (此处配置你的版本库根目录)
        AuthType Basic
        AuthName "Subversion repository" (此处字符串内容修改为提示对话框标题)
      AuthUserFile /subversion/passwd     (此处修改为版本库用户的文件,用apache 的 htpasswd命令生成)
        AuthzSVNAccessFile /subversion/auth (此处修改为访问版本库权限的文件)
        Require valid-user
</Location>

添加用户验证:
# /usr/local/apache2/bin/htpasswd –cm /subversion/passwd dyf (第一次添加用户需先创建文件,所以有参数-c,以后添加用户可以不用添加参数)

3. svn使用mysql用户登陆
httpd.conf
LoadModule mysql_auth_module modules/mod_auth_mysql.so

vi httpd.conf:
<Location /svn>
DAV svn
SVNParentPath /repository       #这个就是SVN的父级目录,如果你只有一个库可以写成SVNPath /path
AuthzSVNAccessFile /repository/auth/authz     #权限验证文件
AuthName "Please Login.."
AuthType Basic
AuthMYSQLEnable on
AuthMySQLUser authuser               #访问mysql的用户名
AuthMySQLPassword "Your Password Here"    #访问mysql的密码
AuthMySQLDB auth
AuthMySQLUserTable users                   #用户验证的数据库
AuthMySQLNameField user_name           #用户验证数据库的用户名字段
AuthMySQLPasswordField user_passwd    #用户验证数据库的密码字段
                     AuthMySQLPwEncryption none #加密

require valid-user
</Location>

4. svn: Can't create directory '/svn/projects/test/db/transactions/0-1.txn': Permission denied
4.1 SELinux的东西在捣鬼,运行“setenforce 0”停止它,问题解决。修改/etc/sysconfig/selinux,把SELINUX设定为disable,下次启动系统后将不会自动启动SElinux。
4.2 权限问题:chown -R apache:apache /home/svn/repos

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论