Linux安装svn服务器和权限配置_亲测成功

SVN简介

SVN是Subversion的简称,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理, 相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。适合中小公司的开发人员不多的项目使用,相比git管理工具更简单。

官方地址: https://tortoisesvn.net/

安装svn服务器

首先检查操作系统上面是否安装了subversion,一般centos操作系统都默认安装了此软件

服务器: 192.168.1.50安装svn服务为例

yum list | grep subversion 查看安装包rpm -qa subversion 查看是否安装yum install subversion -y 安装rpm -ql subversion 查看安装位置
rpm -ql subversion | more 查看安装查看版本
svnserve --version
svn --version创建svn仓库目录
mkdir -pv /data/svn/svnrepos设置为svn仓库目录
svnadmin create /data/svn/svnrepos执行命令后会在该目录生成几个文件
ls /data/svn/svnrepos
authz    是权限控制文件
passwd    是帐号密码文件
svnserve.conf    是SVN服务配置文件启动svn服务
svnserve -d -r /data/svn/svnrepos客户端连接:svn://192.168.1.50:3690
输入用户名和密码就能访问了 默认端口 3690服务器默认使用 3690 端口号 , 要使用非默认端口 , 可以在启动命令后面加一个 --listen-port xxxx
svnserve -d -r /data/svn/svnrepos --listen-port 3695 指定端口启动同时还可以为同一个服务器上不同的 SVN 项目设定不同的端口号 , 比如还建有另一个项目那么可以启动
svnserve -d -r /data/svn/svnrepos2 --listen-port 3696svnserve -d -r /data/svn/svnrepos --config-file /data/svn/svnrepos/conf/svnserve.conf --listen-port 3690
#--config-file后面跟全局配置参数文件killall svnserve 停止svn

配置用户名和密码还有权限

vim /data/svn/svnrepos/conf/passwd 添加用户名和密码
abc=abc123
lxd=lxd
fh=fh123456
ft=ft123456vim /data/svn/svnrepos/conf/authz 设置权限
[/]  主目录下所有路径
abc = rw 读写
lxd = rw
fh = rw
ft = rw
* =  其他用户没有权限vim /data/svn/svnrepos/conf/svnserve.conf 服务配置
anon-access = none 匿名用户不允许访问
auth-access = write 有权限用户可读可写
password-db = passwd 指定用户名口令文件名
authz-db = authz 指定权限配置文件名
realm = liang svn Repository #每个SVN项目的认证命名空间,会在认证提示里显示,建议写项目名称。

使用http协议连接svn

上面使用的是svn://协议,下面使用http协议连接svn

安装Apache
yum install -y httpd mod_dav_svn 安装httpd和svn模块httpd -versionls /etc/httpd/modules/   查看是否有mod_dav_svn.so和mod_authz_svn.so模块,如果有,说明mod_dav_svn安装成功!vim /etc/httpd/conf.d/subversion.conf 修改配置文件(没有则新建),內容为:
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so<Location /svn>DAV svnSVNListParentPath onSVNParentPath /data/svnAuthType BasicSatisfy AnyAuthName "Subversion repos"AuthUserFile /data/svn/svnrepos/conf/http_passwdAuthzSVNAccessFile /data/svn/svnrepos/conf/authzRequire valid-user
</Location>SVNParentPath:支持多个相同父目录的SVN版本库。
SVNPath:只支持一个主目录的SVN版本库,如果在主目录下面建新项目,则提示无权访问。设置权限
chown apache:apache /data/svn/svnrepos -R设置Apache http访问用户名,按提示输入两次相同密码
注意:这里的用户名密码要和svn里配置的一样。passwd和http_passwd文件中,账号密码必须设置相同。 ######################################
htpasswd -cm /data/svn/svnrepos/conf/http_passwd abc
htpasswd -m /data/svn/svnrepos/conf/http_passwd lxd
htpasswd -m /data/svn/svnrepos/conf/http_passwd ft
htpasswd -m /data/svn/svnrepos/conf/http_passwd fhhtpasswd命令是Apache的Web服务器内置工具,用于创建和更新储存用户名、域和用户基本认证的密码文件。
-c:创建一个加密文件;
-m:默认采用MD5算法对密码进行加密;
-D:删除指定的用户。
-b:在命令行中一并输入用户名和密码而不是根据提示输入密码;
htpasswd -bc /data/svn/svnrepos/conf/http_passwd admin 123456service httpd start 启动Apache查看端口
netstat -tpnlservice httpd restart
service httpd status
service httpd stop查看日志
vim /var/log/httpd/error_log提示没有权限打开文件
Permission denied: Could not open password file: /data/svn/svnrepos/conf/http_passwd对于这个问题有人说关掉SElinux,个人没试过,不过肯定不好,影响主机安全性。
执行如下命令即可:
chcon -R -h -t httpd_sys_content_t /data/svn使用svn协议提交文件没有问题,但使用http提交文件时报错
Can't open file '/data/svn/svnrepos/db/txn-current-lock': Permission denied 执行下面命令后 可以了
chcon -R -t httpd_sys_content_t /data/svn/svnrepos
chcon -R -t httpd_sys_rw_content_t /data/svn/svnreposservice httpd restart
浏览器访问输入用户名和密码:http://192.168.1.50:80/svn/svnrepos/chkconfig --list httpd 查看开机启动项chkconfig httpd on  #设置开机启动vim /etc/httpd/conf/httpd.conf  修改Apache端口,默认是80
Listen 3691修改端口后重启报错了  http://192.168.1.50:3691/svn/svnrepos/yum provides semanage 安装工具,可能提示没有插件包,用下面的命令yum  install policycoreutils-python 安装semanage port -l|grep http 查看可以用的http端口
semanage port -a -t http_port_t -p tcp 3691 增加一个端口
semanage port -l|grep http

Nginx反向代理配置

最后用nginx做反向代理,使用外网访问vim /data/apps/nginx-main/conf/nginx.conflocation /svn {proxy_pass http://127.0.0.1:3691/svn;}/data/apps/nginx-main/sbin/nginx -s reload

外网访问svn:http://222.240.x.x:8088/svn/svnrepos/

参考链接:
https://blog.csdn.net/yanggd1987/article/details/38293843
https://www.cnblogs.com/taomylife/p/8026886.html
https://blog.csdn.net/tojohnonly/article/details/79765583
https://blog.csdn.net/iw1210/article/details/59543544
https://blog.csdn.net/u011781521/article/details/80200583
https://www.osyunwei.com/archives/9145.html

Linux安装svn服务器和权限配置_亲测成功相关推荐

  1. grafana graphite statsd搭建安装部署 实时监控_亲测成功

    grafana graphite statsd搭建安装部署 实时监控_亲测成功 docker部署grafana graphite stastd实时监控告警配置_亲测成功 下载软件 # 下载carbon ...

  2. Linux挂载磁盘和磁盘分区及设置开机自动挂载_亲测成功

    Linux挂载磁盘和磁盘分区及设置开机自动挂载_亲测成功 Linux下磁盘分区命令主要由两个: fdisk :最大支持不超过2T,MBR分区: parted :支持GPT,适用于大容量分区: 如果挂载 ...

  3. linux 安装svn服务端并配置

    我的系统环境是centOS7.这里使用yum安装方式.优点:简单,一键安装,不用手动配置环境变量等.缺点:安装位置为yum默认. 一.yum安装subversion     1. 安装subversi ...

  4. typora+picgo+smms图床配置(亲测成功)

    PicGo(app)设置smms图床(亲测成功) 文章目录 PicGo(app)设置smms图床(==亲测成功==) 1.PicGo软件下载安装 2.smms图床注册设置 1.PicGo软件下载安装 ...

  5. linux安装svn服务器 cvs,Linux 环境安装配置Subversion

    序言: svn(subversion)是近年来崛起的版本管理工具,是cvs的接班人.目前,绝大多数开源软件都使用svn作为代码版本管理软件. 测试环境: CentOS 6.3 + subversion ...

  6. Linux 安装SVN服务器 图解教程

    前言: 现在主流企业常见的代码管理就是SVN,GIT,此文是在自己服务器上搭建仓库,其实远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改.如GitHub就是一个免费托管开源代 ...

  7. MySql安装出现3306端口!解决方法亲测成功

    #MySql安装出现3306端口! 分析原因1:其他程序占用了此端口 分析原因2:之前装了MySql没卸载,或没卸载干净,导致占用端口 亲测解决方法1: 第一步先打开任务管理器看有没有MySql的进程 ...

  8. MySQL流浪记(三)—— Linux安装MySQL数据库5.7.30(亲测有效3分钟即可)

    下载 下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads 解压 tar -xf mysql-5.7.30-linux-glibc ...

  9. MySQL之——CentOS下my.cnf 配置 日志类型及文件配置详解(我本人服务器上的配置,亲测可用)

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/50827148 mysql有以下几种日志: 错误日志:    log-err 查询日 ...

最新文章

  1. [导入][转]跨越域的Cookie
  2. 面向未来的智能硬件:研究通用高端智能控制器开发智能体系结构
  3. 光流数据集FlyingChairs下载连接
  4. python dpkt 解析 pcap 文件
  5. java 查询线程池_[代码全屏查看]-我的 Java 线程池测试类
  6. 前端学习(1325):await关键字
  7. 深度学习笔记(37) 交并比
  8. 荣耀20 Pro正面渲染图曝光:开孔全面屏设计+后置四摄
  9. es6 嵌套数组循环_ES6 常用数组循环
  10. edite not the main type
  11. system.js 替换 require.js
  12. zemax输出ies_基于ZEMAX的光学设计教程(第2版)
  13. MDM主数据管理平台开发精要
  14. You need to prove you’re evil cheap nike air max
  15. RFID固定资产条码标签管理系统,使资产更易盘点
  16. Java代码控制UI界面
  17. 难受难受,真它吗的难受... ...
  18. 雷军成功踏上移动互联网游轮
  19. 2022年国赛B题(处女作---河南省级三等奖)
  20. 诚之和:EDG夺冠,年轻人为何狂欢?

热门文章

  1. python生成器和迭代器详解
  2. 安装完Office(2016专业加强版)后,再安装Visio(2016专业版),右键新建没有Visio选项
  3. ios掩藏导航栏下面的线
  4. 汇编 统计字符串大小写字母,数字,其他字符个数(全debug实现)
  5. 元宇宙的构建可更多地依靠人们自主的意识和观念的创造
  6. 一部公共的电梯安装了门禁,两家公司的行政部需要独立控制这个公共电梯的门禁来给自己的员工发卡,怎么办?
  7. HTTP headers 之 host, referer, origin
  8. ElasticSearch 入门教程笔记
  9. 110款有趣的开源游戏和应用
  10. 【苹果推信】苹果推imessage群发开发真实机器调试的测试证书