linux系统下搭建svn(apache2.2.24,svn1.6.21),权限和密码文件配置好后,服务器本机访问,无验证框。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux系统下搭建svn(apache2.2.24,svn1.6.21),权限和密码文件配置好后,服务器本机访问,无验证框。相关的知识,希望对你有一定的参考价值。

哪位大神方便直接指导下?422128026

参考技术A 把你httpd.conf中svn的那段location,以及你的权限文件都贴出来看看

httpd.conf中svn的那段location中应该指定了2个文件,一个是存放用户名/密码的文件,一个是设定各个文件夹对各用户的权限的文件。
要想成功访问,首先你这个用户名必须在用户名/密码文件中存在,其次必须在权限文件中指定你这个用户有对该文件夹的读取权限。

当然前提是各文件的格式写的正确,所以你得把文件贴出来看看。追问

httpd中的文件:

DAVsvn
SVNListParentPath on
SVNParentPath /usr/svnroot/
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile /usr/svnroot/conf/passwd
AuthzSVNAccessFile /usr/svnroot/conf/authz
Require valid-user

权限文件:
[groups]
admin = zhr
user=test
[/]
* = r
@admin = rw

[test:/]
*=rw
test是建立的子库

追答

从你的权限文件来看,你访问时不提示你输入用户名密码那是正常的,因为你设置了根目录 *=r ,所有人都有了只读权限,那么在checkout的时候肯定就不要密码了,但你可以试试commit,这时肯定问你要密码。
建议你改成这样
[groups]
admin = zhr
user=test
[/]
* =
@admin = rw
@user = r
[test:/]
@user = rw

——————————————————————————————
另外,从你对另一个人的追问来看,你描述的信息很奇怪。从你的httpd.conf 文件来看,passwd文件存放用户名和密码,authz这个文件是你的权限文件,你应该把这两个文件都存放在 /usr/svnroot/conf 文件夹内。

参考技术B 你重启下服务试试追问

主要是对文件的权限设置不太会,我将配置文件中指定的SVN库路径下的svnroot文件拷贝到了apache的Htdocs下,出现上述问题。否则报错 File does not exist: /usr/local/apache2/htdocs/svnroot
现在Permission denied: access to /svnroot/test denied (filesystem path'/usr/local/apache2/htdocs/svnroot/test') because search permissions aremissing on a component of the path
如何解决呢?感谢!!!

Linux下SVN+Apache+iF.svnadmin搭建

SVN:集中式版本控制工具

iF.svnadmin:版本控制SVN可视化管理工具,用来管理SVN用户、用户组以及权限分配。

环境:centos6.6

IP:192.168.31.10

首先:yum -y update  #更新全部软件包

yum -y install httpd   # 安装Apache

apachectl -v #查看Apache版本

yum -y install mod_dav_svn subversion   #安装SVN加载模块以及SVN

svn --version       #查看SVN版本

yum -y install php  # 安装PHP(iF.svnadmin是用PHP编写开发的工具)

php -v         #查看PHP版本

wget https://sourceforge.net/projects/ifsvnadmin/files/svnadmin-1.6.2.zip/download   #下载 iF.svnadmin压缩包

unzip download #解压压缩包

cp -r  iF.svnadmin.1.6.2/ /var/www/html/svnadmin  #把压缩包复制到http默认路径下

vi /etc/httpd/conf.d/subversion   #修改SVN模块配置文件

LoadModule dav_svn_module     modules/mod_dav_svn.so  

 LoadModule authz_svn_module   modules/mod_authz_svn.so    #这两行判断Apache是否加载了SVN模块

<Location /svn>        #标签

        DAV svn           #DAV加载SVN

        SVNParentPath /var/www/svn    #这是版本库的根目录,用户不允许访问

        AuthType Basic                        #访问方式为basic

        AuthName "please login"         #登录时的提示信息

        AuthUserFile /var/www/svn/passwd      #用户以及口令的配置文件

        AuthzSVNAcessFile /var/www/svn/authz  #保存用户权限的文件    

        Require valid-user                #允许用户访问

</Location>

#保存退出

vi /etc/httpd/conf/httpd.con

ServerName 192.168.31.10 #保存退出

iptables -I INPUT -p tcp --dport 80 -j ACCEPT   #设置防火墙

通过网页访问服务器Apache:http://192.168.31.10查看是否出现Apache页面

mkdir  /var/www/svn

touch /var/www/svn/authz

touch /var/www/svn/passwd

chown -R apache:apache /var/www/html/svnadmin/

chmod -R 777 /var/www/html/svnadmin/data

chown -R apache:apache /var/www/svn

cp /var/www/html/svnadmin/data/config.tpl.ini /var/www/html/svnadmin/data/config.ini        #将样例文件复制为配置文件

vi /var/www/html/svnadmin/data/config.ini

[Common]

FirstStart=1

BackupFolder=./data/backup/

[Translation]

Directory=./translations/

[Engine:Providers]

AuthenticationStatus=basic
UserViewProviderType=passwd

UserEditProviderType=passwd

GroupViewProviderType=svnauthfile

GroupEditProviderType=svnauthfile

AccessPathViewProviderType=svnauthfile

AccessPathEditProviderType=svnauthfile

RepositoryViewProviderType=svnclient

RepositoryEditProviderType=svnclient

[ACLManager]   #管理员用户配置文件

UserRoleAssignmentFile=./data/userroleassignments.ini   #配置文件路径

[Subversion]

SVNAuthFile=/var/www/svn/authz     #subversion用户权限文件路径

[Repositories:svnclient]

SVNParentPath=/var/www/svn     #版本库根目录,后面没有/符号

SvnExecutable=/usr/bin/svn      #SVN执行命令变量路径,可以在命令行通过whereis svn查看

SvnAdminExecutable=/usr/bin/svnadmin    #SVNadmin命令变量路径,同上

[Users:passwd]

SVNUserFile=/var/www/svn/passwd       #用户口令配置文件

[Users:digest]

SVNUserDigestFile=
SVNDigestRealm=SVN Privat

[Ldap]

HostAddress=ldap://192.168.136.130:389/

ProtocolVersion=3

BindDN=CN=Manuel Freiholz,CN=Users,DC=insanefactory,DC=com
BindPassword=root

CacheEnabled=false
CacheFile=./data/ldap.cache.json

[Users:ldap]

BaseDN=DC=insanefactory,DC=com
SearchFilter=(&(objectClass=person)(objectClass=user))
Attributes=sAMAccountName
[Groups:ldap]
BaseDN=DC=insanefactory,DC=com
SearchFilter=(objectClass=group)
Attributes=sAMAccountName

GroupsToUserAttribute=member

GroupsToUserAttributeValue=distinguishedName

[Update:ldap]
AutoRemoveUsers=true
AutoRemoveGroups=true

[GUI]
RepositoryDeleteEnabled=false          #可以通过网页删除版本库,默认是禁止,如果允许,修改成true 即可
RepositoryDumpEnabled=false         #默认即可
AllowUpdateByGui=true                  #默认即可
#保存退出

 

 

 启动Apache:service httpd start

访问页面:http://192.168.31.10/svnadmin

点击左下角save configuration提交,之前在配置文件 /var/www/html/svnadmin/data/config.ini 设置过,默认即可

技术分享

 

初始用户密码为admin,admin,登录进行操作即可

技术分享

 

 可以选择中文语言,admin是初始系统管理员,修改密码,然后进行用户、用户组以及权限分配操作。

技术分享

svn 访问路径需要管理员指定,才能进行登录访问。

此文章仅做个人笔记使用

























以上是关于linux系统下搭建svn(apache2.2.24,svn1.6.21),权限和密码文件配置好后,服务器本机访问,无验证框。的主要内容,如果未能解决你的问题,请参考以下文章

linux下安装svn

Linux开发环境下搭建SVN

SVN服务端的安装搭建(Linux)

Linux下搭建SVN服务器及自动更新项目文件到web发布目录(wwwroot)的方法

Linux下的SVN服务器搭建

linux系统下搭建svn(apache2.2.24,svn1.6.21),权限和密码文件配置好后,服务器本机访问,无验证框。