初学者 熟悉基本centos6.5命令 以及 如何搭建SVN+http访问

邮差的信 提交于 2019-12-03 08:02:37

1、安裝SVN

yum install subversion

2、svnserve --version

[root@121 ~]# svn -version
svn: invalid option character: e
Type 'svn help' for usage.

表示安裝成功

3、创建SVN版本库也就是SVN文件存放地址跟目录

cd /mnt
mkdir data_10G 
cd data_10G
mkdir svn

4、创建版本库

svnadmin create /mnt/data_10G/svn

5、当执行这个命令的时候 会出现提示 y/n  是否下载。你写上y就可以了。 然后当出现 complete! 这个就安装成功了!(这个截图我就不拿了。)

6、创建了版本库之后 你的SVN 这个库目录下 会有一下的目录结构

这个目录应该很熟悉了

conf-----svn的启动配置文件参数

db------这个是你的SVN 上传的文件存储位置。这个是看不到原文件的 ,

因为SVN服务器端不是简单将上传的文件一个一个存放起来的;
SVN服务器端默认采用的FSFS格式是将每次commit的内容增量方式存放的,每个增量包存成1个文件,这个增量包中包括了这次commit的全部数据。
也就是说你不可能在服务器端存放该版本库的文件夹下找到你上传的某个文件。

其他目录请参考下面参数详情:

路径 类型 作用
conf 目录 存放版本库所用配置文件的目录
dav 目录 供mod_dav_svn使用
db 目录 版本数据存储目录
db/fs-type 文件 版本库数据真实存储格式,SVN有fsfs和bdb两种存储格式
db/revprops 目录 记录版本属性
db/revs 目录 版本库数据存储真实目录
db/uuid 文件 存储版本库唯一标识号,参考《svn版本库标识uuid简述》
db/txn-current 文件 记录当前事务
format 文件 存储一个整数的文件,此整数代表库层次结构版本
hooks 目录 存放版本库勾子目录
locks 目录 存储库锁目录,用来跟踪库的访问者

目录参考资料:https://www.zhihu.com/question/46768239/answer/124160836

7、下面就是帐号密码 ,权限配置了。。再conf文件目录下面

authz---这个是我们的权限

passwd--帐号密码

svnserve.conf --svn服务启动读取的参数

1) 首先设置帐号:

vi系统默认但是不好用

vim 编辑更强大  也可以用xftp 直接修改 如果没有vim编辑就去安装一个 安装步骤:

  首先:检查是否安装vim rpm -qa|grep vim

正确结果

  然后后:安装vim yum -y install vim-minimal vim-common vim-enhanced  

缺少什么就安装什么:比如上面 缺少 vim-minimal vim-common vim-enhanced 这三个。

进入这个窗口 按一下 I 键  进入编辑模式

然后数据用户名=密码:jason=123 

注意:名字前面不能有空格,等于号也不能有空格

修改完成后 要保存:按下 esc  键 然后 shift+ ;(L 旁边那个键)

然后按下 wq 意思是 写入并退出(保存并且退出)

那么这个帐号就创建好了。

下面给这些帐号设置权限:

重复上面的操作进入编辑模式

然后写上

[/]
lixi=rw
pa=rw
*=

对账户设置rw 这是读写权限 *= 这个是其他账户不能访问

另外关于这个分组权限,什么的 可以参考其他资料。这里不细节描述

同样的保存好了之后下面就配置 svnserve.conf

同样的打开我们的svnserve.conf

把上图的这些打开,就是把前面的注释#号删除

保存就好了

下面就是配置httpd

安装httpd

yum install httpd -y  

  然后启动

/etc/rc.d/init.d/httpd start  

参考资料:https://blog.csdn.net/ixiaoyou/article/details/79160622

 

然后为SVN 配置我们的路径

#vim /etc/httpd/conf/httpd.conf

      在文件最后添加一下代码:

  • <Location /svn>  
  • DAV svn  
  • SVNPath /svn/project/repos/  
  • AuthType Basic  
  • AuthName "svn for project"  
  • AuthUserFile /svn/project/repos/conf/webpasswd  
  • AuthzSVNAccessFile /svn/project/repos/conf/authz  
  • Satisfy all  
  • Require valid-user  
  • </Location> 

      启动http     

      #/etc/init.d/httpd restart

     结果报如下错误

     

    这是因为,系统没有安装mod_dav_svn,安装一下就可以了

   #yum  install  mod_dav_svn

   #yum  install  mod_authz_svn

   #chmod -R o+rw  /svn  

  //加下权限  不然用http访问会报   SVN Can’t open file ‘/XXX/xxx/db/txn-current-lock’错误

  再启动下就可以了

然后再启动我们的SVN

  1. 启动svn     #svnserve -d -r /svn
  2. 查看服务  #ps -ef|grep svn
  3. 关闭svn服务  #kill -9 pid

  访问http://IP/svn/   就可以了,输入账号密码就OK了,客户端可以下在小乌龟。。。。

 参考资料:https://my.oschina.net/aiweiqing/blog/778326

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!