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 文件夹内。
主要是对文件的权限设置不太会,我将配置文件中指定的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服务器及自动更新项目文件到web发布目录(wwwroot)的方法
linux系统下搭建svn(apache2.2.24,svn1.6.21),权限和密码文件配置好后,服务器本机访问,无验证框。