centos7+apache+svn配置 踩坑,注意权限问题。apache应用目录checkout应用 必须用这个命令:svn co file:///home/svn/test/ test ,通过svn add * &&commit 及任意修改都是不行的
- 阅读帮助
命令提示符
[root@server-002 ~]#
表示当前服务root用户执行的命令
[svn@server-002 ~]$
表示普通用户svn执行的命令
[root@localhost ~]#
表示其它服务器的root用户
系统配置
CPU: 2核
内存: 8G
硬盘: 1T
服务器OS: CentOS7
服务器IP: 192.168.1.2
服务简介
SVN 版本库 server
服务管理
管理用户 | 命令 | 说明 |
---|---|---|
svn | sudo systemctl start httpd | 启动服务 |
svn | sudo systemctl stop httpd | 停止服务 |
root | systemctl start httpd | 启动服务 |
root | systemctl stop httpd | 启动服务 |
服务安装和配置
安装SVN服务
- 创建svn用户
[root@server-002 ~]# useradd svn
[root@server-002 ~]# passwd svn - 查看是否已经安装svn
[root@server-002 ~]# rpm -qa subversion - 如果没有,直接第4步,如果有,先卸载
[root@server-002 ~]# rpm remove subversion -y - 创建svn.repo文件
[root@server-002 ~]# vi /etc/yum.repos.d/svn.repo
[SVN]
name=SVN Repo
baseurl=http://opensource.wandisco.com/centos/7/svn-1.9/RPMS/$basearch/
enabled=1
gpgcheck=0
- 1
- 2
- 3
- 4
- 5
- 执行yum安装svn
[root@server-002 ~]# yum install subversion -y
- 防火墙打开svn默认的3690端口
[root@server-002 ~]# firewall-cmd –zone=public –add-port=3690/tcp –permanent
[root@server-002 ~]# firewall-cmd –reload
迁移SVN数据
- ssh到原SVN服务器备份旧SVN数据仓库
[root@localhost ~]# svnadmin dump /var/www/svn/latRepo > /svndump/latRepo.dump
- 将备份copy到新的SVN服务器
[root@localhost ~]# scp /svndump/*.dump svn@192.168.1.2:~/dump - 回到新的SVN服务器,登陆svn用户,创建版本库
[svn@server-002 ~]$ svnadmin create latRepo - 恢复版本库
[svn@server-002 ~]$ svnadmin load latRepo < dump/latRepo.dump - 创建日志目录
/home/svn/logs
[svn@server-002 ~]$ mkdir logs - 创建配置目录
/home/svn/conf
[svn@server-002 ~]$ mkdir conf - 创建配置文件
/home/svn/conf/svnserve.conf
(示例)
[svn@server-002 ~]$ vim conf/svnserve.conf
[general]
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
[sasl]
- 1
- 2
- 3
- 4
- 5
- 6
- 创建用户文件
/home/svn/conf/passwd
(示例)[svn@server-002 ~]$ vim conf/passwd.conf
[users]
hezhigang=hezhigang
shenfu=shenfu
yangshuaifei=yangshuaifei
- 1
- 2
- 3
- 4
- 创建认证文件
/home/svn/conf/authz
(示例)[svn@server-002 ~]$ vim conf/authz
[groups]
lse = hezhigang, shenfu, yangshuaifei
[/]
spancer = rw
[latRepo:/]
@lse = rw
* =
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
配置服务管理脚本
- 启动脚本start.sh
[svn@server-002 ~]$ vim start.sh
#!/bin/bash
svnserve -d -r /home/svn --config-file=/home/svn/conf/svnserve.conf --log-file=/home/svn/logs/svn.log
- 1
- 2
- 停止脚本stop.sh
[svn@server-002 ~]$ vim start.sh
#!/bin/bash
PID=$(ps -ef | grep svnserve | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
echo Application is already stopped
else
echo kill $PID
kill $PID
fi
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
配置开机启动
- 创建svn.service文件
[root@server-002 ~]# vim /etc/systemd/system/svn.service
[Unit]
Description=svn service
After=syslog.target
[Service]
Type=forking
ExecStart=/usr/bin/svnserve -d -r /home/svn --config-file=/home/svn/conf/svnserve.conf --log-file=/home/svn/logs/svn.log
User=svn
Group=svn
[Install]
WantedBy=multi-user.target
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 激活开机启动svn服务
[root@server-002 ~]# systemctl daemon-reload
[root@server-002 ~]# systemctl enable svn
添加http访问支持
- 检查是否已经安装了apache服务
[root@server-002 ~]# rpm -qa httpd
- 如果没有该服务,则安装,否则跳过
[root@server-002 ~]# yum install httpd -y - 安装mod_dav_svn组件
[root@server-002 ~]# yum install mod_dav_svn -y - 修改apache启动用户和组为svn
[root@server-002 ~]# vim /etc/httpd/conf/httpd.conf
User svn
Group svn
- 1
- 2
- 修改subversion.conf配置
[root@server-002 ~]# vim /etc/httpd/conf.d/subversion.conf
<Location /svn>
DAV svn
SVNListParentPath on
SVNParentPath /home/svn # 如果想在一个目录下面创建多个版本库的话,则使用SVNParentPath,否则SVNPath。
AuthType Basic
AuthName "svn Repo"
AuthUserFile /home/svn/conf/httpdpasswd
AuthzSVNAccessFile /home/svn/conf/authz
Require valid-user
</Location>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 切换svn用户,创建密码文件并添加用户
[svn@server-002 ~]$ htpasswd -c -m /home/svn/conf/httpdpasswd admin
后续添加用户只需执行htpasswd /home/svn/conf/httpdpasswd <username>
开放80端口
[root@server-002 ~]# firewall-cmd –add-port=80/tcp –permanent
[root@server-002 ~]# firewall-cmd –reload启动apache
[root@server-002 ~]# systemctl start httpd
[root@server-002 ~]# systemctl enable httpd
添加apache支持后,如果不需要通过svn://192.168.1.2的形式访问,可以不用启动svn,直接启动httpd服务即可。如果二者都要支持,则httpd.service和svn.service都启动,但二者使用的密码文件不相同
centos7+apache+svn配置 踩坑,注意权限问题。apache应用目录checkout应用 必须用这个命令:svn co file:///home/svn/test/ test ,通过svn add * &&commit 及任意修改都是不行的的更多相关文章
- CentOS7.4安装MySQL踩坑记录
CentOS7.4安装MySQL踩坑记录 time: 2018.3.19 CentOS7.4安装MySQL时网上的文档虽然多但是不靠谱的也多, 可能因为版本与时间的问题, 所以记录下自己踩坑的过程, ...
- 记一次 Spring 事务配置踩坑记
记一次 Spring 事务配置踩坑记 问题描述:(SpringBoot + MyBatisPlus) 业务逻辑伪代码如下.理论上,插入数据 t1 后,xxService.getXxx() 方法的查询条 ...
- mybatis-generator:generate 生成代码配置踩坑详解
mybatis-generator:generate 生成代码配置踩坑不少,在此留下笔记以便后续填坑 一.mysql返回时间问题 错误信息: [ERROR] Failed to execute goa ...
- svn配置多仓库与权限控制
telnet: connect to address 47.106.115.228: Connection refused svn执行上下文错误由于目标计算机积极拒绝无法连接 标签: svn 2017 ...
- SVN配置以及自己主动部署到apache虚拟文件夹
SVN配置以及自己主动部署到apache虚拟文件夹 一.VisualSVN server 服务端和TortoiseSVNclient下载 VisualSVN下载:http://subversion.a ...
- Kafka SASL ACL配置踩坑总结
源起:工程现阶段中间件采用的是kafka.满足了大数据的高吞吐,项目间的解耦合,也增强了工程的容错率与扩展性.但是在安全这一块还有漏洞,kafka集群中,只要网站内的任何人知道kafka集群的ip与t ...
- Windows+Apache+Python+Django 踩坑记录
摘要 使用Python进行Web项目开发:相对于主流三大Web端解决方案(Java/.NET/PHP) Python在某些方面具有一定的优势,相对 Java/.NET 有更轻量级的部署方案,相对PHP ...
- XXLJOB2.1.0数据源配置踩坑记录
最近在看XXLJOB,因为截至到发文时间最新的版本是2.1.0而且需要建立的数据库与Quartz解耦了,所以就用了最新的版本. 首先说一下踩坑过程: 代码开发完成之后,在定时跑的时候第一次跑的多数失败 ...
- 在mac版virtual box中安装ubuntu虚拟机的NAT/Host-Only网络配置踩坑记录
之前用惯了vmware和parallels desktop,网络配置十分智能,基本不用自己配置.由于版权原因,工作电脑上换了免费的virtual box用,四五年都完全在虚拟机里干活的本菜鸡居然在虚拟 ...
随机推荐
- mongodb千万级写入怎么优化
从mysql数据库通过java程序导入单表1300w到mongodb,花了大概50分钟,前1000w条数据中每100w条大概要3分钟,之后的300多w条就差不多每100w条要5到6分钟,之后再从其他的 ...
- controller层,service层,dao层(main函数,子函数,子的子函数)
controller层相当于main函数————————————————————————————————————————————————————@RequestMapping("/query ...
- 几个OOD概念
Composition vs. Aggregation Composition和Aggregation都是”包含”的关系 (part of, made up of) ,不同的是生命周期.对于Compo ...
- 无线模块 RXB12-315m TXB12-315M 应用
近期有个产品用到这对模块,因为没有什么技术支持,就直接上机调试.測试结果为带障碍发射距离60米. 下面是应用的几个知识点: 1:编程操作.事实上比較简单,调制信号315M是模块自带的,不须要调制和解调 ...
- Jenkins发布后自动通知【钉钉】
阅读目录 一.前言 二.使用钉钉推送的优势 三.配置 一.前言 最近使用Jenkins进行自动化部署,但是发布署后,并没有相应的通知,虽然有邮件发送通知,但是发现邮件会受限于大家接受的设置,导致不能及 ...
- Java面向对象 第1节 类和对象
一.Java 对象和类 面向对象语言三大特性:封装.继承.多态: 对象:描述客观事物的一个实体: 类:类是封装对象的属性和方法的载体,反过来说具有相同属性和行为的一类实体被称为类:类行为:方法:属性: ...
- 不同eclipse版本的git库使用
在eclipse 4.4.2 -win32版本下编译好后上传版本: 1.在eclipse 4.4.0 -win64 版本下,编译报 缺少 sevlet.http...库,解决方法 project - ...
- MOSSE(DSST)类和KCF类中滤波器推导结果不一致的解释
首先要说明,DSST//BMVC2014类的CF是从MOSSE//CVPR2010模型得到的,是从信号的角度考虑问题,该类CF直接认为信号和滤波器之间存在相关的关系 而KCF//TPAMI2015类C ...
- Linux VMware安装VMTools工具
安装VMTools工具 2)先启动CentOS并成功登录如下图,发现底部提示且窗口中等大小,准备安装 3)选择虚拟机菜单栏--安装VMware tools 4)光驱自动挂载VMTools 5)右键解压 ...
- MySQL触发器详解
MySQL触发器 触发器是特殊的存储过程.不同的是,触发器不需要手动调用.只要当预定义的事件发生时,会被MySQL自动调用.主要用于满足复杂业务的规则和需求. 一.创建触发器 1.创建只有一个执行语句 ...