设为首页 收藏本站
查看: 749|回复: 0

[经验分享] CentOS6.5 安装SVN 及http访问

[复制链接]

尚未签到

发表于 2018-4-28 12:13:03 | 显示全部楼层 |阅读模式
  安装:
[root@moshi ~]# yum -y install mod_dav_svn

  #会自动安装mod_dav_svn及其依赖包:mod_dav_svn-1.6.11-9,neon-0.29.3-2,pakchois-0.4-3.2,subversion-1.6.11-9
  直接安装这个就能把svn服务器直接KO了。
  2.安装httpd
[root@moshi ~]# yum -y install httpd

  一般情况下,linux服务器是有httpd服务的,你可以检查下,如果没有则安装。
  检查方法:
[root@moshi ~]# vi /etc/httpd/conf.d/subversion.conf

  安装完svn后看是否有该目录&文件,如果存在则不需要安装httpd了。
  3.安装完SVN,接下来就是配置了。
  配置:
  1、配置svn仓库
  #创建svn目录
[root@moshi ~]# mkdir -p /home/svn/repos1  #仓库1

[root@moshi ~]# mkdir -p /home/svn/repos2  #仓库2

  #可以任意配置,任意指定你喜欢的目录
  #建立svn版本库
[root@moshi ~]# svnadmin create /home/svn/repos1

[root@moshi ~]# svnadmin create /home/svn/repos2

  #有多少个仓库就执行多少次该命令,只需要换最后的名字即可
  2、修改SVN版本库配置文件
[root@moshi ~]# vi /home/svn/repos1/conf/svnserve.conf

  修改文件结果如下:
[general]

  anon-access = none
  auth-access = write
  password-db = /home/svn/conf/pwd.conf    #指向用户配置文件
  authz-db = /home/svn/conf/authz.conf     #指向权限配置文件
  realm = repos1                           #指向svn仓库地址
  备注:其他仓库配置和该配置相同,只需要修改仓库路径。
  3.配置svn用户和权限
[root@moshi ~]# vim /home/svn/conf/pwd.cof

[root@moshi ~]# vim /home/svn/conf/authz.conf

  #这是2个步骤,我这里为更好的阅读,写在一起
  1.配置用户
  由于这个配置是我自定义的,所以要先vim创建该文件,也可以用其他方式创建。
[root@moshi ~]# vim /home/svn/conf/pwd.conf

  #保存退出
[root@moshi ~]# htpasswd -c /home/svn/conf/pwd.conf admin

  #根据提示输入密码,第一个用户才需要加-c,后面的用户不需要-c
[root@moshi ~]# htpasswd /home/svn/conf/pwd.conf test

[root@moshi ~]# vi /home/svn/conf/pwd.conf

  在用户最上方加上[users]
  加上[users]这一步是很重要的,因为用htpasswd的方式加用户会覆盖掉[users],所以每次加完用户需要回去补一下该节点
  2.配置权限
[root@moshi ~]# vim /home/svn/conf/authz.conf

  文件内容如下:
[groups]

  admin=user1,user2
  test=user3
[/]

  @admin=rw
[repos1:/]

  user3=r
  解释:[groups]为组定义,可以在该组下加很多用户,以,分割,
  但是该用户数据必须在/homd/svn/conf/pwd.conf中定义好,
[/]表示根目录以下的权限定义

[repos1:/]表示仓库下的权限定义

  如果要分项目,则以此规则类推:
  如:[repos1:/aaa]则表示仓库下的aaa项目的权限定义。
  @admin 表示admin这个组下的用户权限。
  user1=r 表示user1这个用户的权限。
  权限类型:r,w,rw 分别表示只读,只写,读写。如果是user1= 这种空情况则表示没有。
  OK,到此svn配置完成。我们可以把默认的配置文件删除。
[root@moshi ~]# rm -rf /home/svn/repos1/conf/passwd

[root@moshi ~]# rm -rf /home/svn/repos2/conf/authz

  ##多个仓库则删除多个仓库对应的文件即可
  4.建立启动svn的用户
[root@moshi ~]# useradd svn                    #如果提示svn账户已存在,则执行以下命令

[root@moshi ~]# passwd svn                     ##根据提示修改下密码,不能过于简单,可使用常用密码

[root@moshi ~]# chown -R svn:svn /home/svn/    ##允许用户svn访问版本库

[root@moshi ~]# chmod –R o+rw /home/svn        ##解决windows检出提交提示/home/svn/db/txn-current-lock’错误

  5.配置svn的端口
[root@moshi ~]# vi /etc/httpd/conf/httpd.conf

  找到
  #Listen 12.34.56.78:80这一行,
  Listen 9999  ##9999就是svn的端口,默认是80,你可以修改成你自己想要的。不建议使用默认80端口
  5.配置httpd
[root@moshi ~]# vi /etc/httpd/conf.d/subversion.conf

  修改文件内容为:
  <Location /svn/>  #注意是 /svn/ 而不是 /svn  否则不能访问根目录
  DAV svn
  SVNListParentPath on
  SVNParentPath /home/svn
  AuthType Basic
  AuthName "Authorization"
  AuthUserFile /home/svn/conf/pwd.conf                    ##对应你的用户配置文件
  AuthzSVNAccessFile /home/svn/conf/authz.conf      ##对应你的权限配置文件
  Require valid-user
  </Location>
  保存退出!
  重启httpd服务。
[root@moshi ~]# service httpd restart

  停止 httpd:                                               [确定]
  正在启动 httpd:                                           [确定]
  出现以上字样,表名httpd的配置已经成功启动成功。
  6.启动svn
[root@moshi ~]# svnserve -d -r /home/svn/

  7.查看svn服务是否正常
[root@moshi ~]# ps aux|grep svn

  ##出现以下内容说明svn服务已经成功启动
  root      8610  0.0  0.0 152864   740 ?        Ss   11:25   0:00 svnserve -d -r /home/svn/repos1/
  root     13128  0.0  0.0 103252   876 pts/0    S+   14:00   0:00 grep svn
  8.进入浏览器访问。
  在浏览器中输入:服务器Ip+端口+httpd配置中的<Location /svn>。
  如:http://192.168.1.1:9999/svn
  会提示你输入用户名密码。
  ===================!!!!!!!!!!!!错误解答!!!!!!!!!!!=============
  403 Forbidden
  Forbidden
  You don't have permission to access /svn on this server.
  error.log报如下
  The URI does not contain the name of a repository. 403 230
  搞的好辛苦,最后才发现新版本的apache+svn需要做如下处理:
  一、首先,Subversion1.3及以后版本支持SVNListParentPath on,之前的版本只能使用PHP自己做。
  二、Location 设置中最后要加上/,应该是<Location /svn/>而不是<Location /svn>否则可能不能访问。
  三、通过“http://localhost/svn/” 来访问仓库列表,如果想让“http://localhost/svn”也起作用的话,需要在</Location>的后面增加重定向的设置:RedirectMatch ^(/svn)$ $1/  ,当然也可以采用RewriteEngine之类的办法。(我没有加这个重定向也能用这两个URL来访问。)
  # svn configration
  <Location /tomcat6/>
  DAV svn
  SVNParentPath  E:\svn
  SVNListParentPath on
  AuthType Basic
  AuthName "enter your username & password"
  AuthUserFile E:\svn\apache-tomcat-6.0.18-src\conf\passwd
  AuthzSVNAccessFile E:\svn\apache-tomcat-6.0.18-src\conf\authz
  Require valid-user
  </Location>
  访问地址如下:http://211.154.40.221/tomcat6/
  HTTP错误大全:http://blog.chinaunix.net/u3/104216/showart_2083280.html

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-453147-1-1.html 上篇帖子: CentOS下sshd 限制登陆设置 下篇帖子: centos安装与配置dhcp服务
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表