CentOS7下 SVN版本控制的安装(包括yum与非yum)的步骤记录。
一、yum安装
rpm -qa subversion //检查是否安装了低版本的SVN
yum remove subversion //如果存储旧版本,卸载旧版本SVN
开始安装
yum -y install subversion
svnserve --version //查看版本
root@ding jvm]# svnserve --version
svnserve, version 1.7.14 (r1542130)
compiled Apr 11 2018, 02:40:28
Copyright (C) 2013 The Apache Software Foundation.
This software consists of contributions made by many people; see the NOTICE
file for more information.
Subversion is open source software, see http://subversion.apache.org/
The following repository back-end (FS) modules are available:
* fs_base : Module for working with a Berkeley DB repository.
* fs_fs : Module for working with a plain file (FSFS) repository.
Cyrus SASL authentication is available.
创建版本仓库:
[root@ding /]# mkdir -p /data/svn/project/
[root@ding /]# svnadmin create /data/svn/project/
查看/data/svn/project 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。
[root@ding /]# cd data/
[root@ding data]# ls -l
total 0
drwxr-xr-x. 3 root root 21 Feb 17 10:48 svn
[root@ding data]# cd svn/
[root@ding svn]# ls -l
total 0
drwxr-xr-x. 6 root root 86 Feb 17 10:49 project
[root@ding svn]# cd project/
[root@ding project]# ls -l
total 8
drwxr-xr-x. 2 root root 54 Feb 17 10:49 conf
drwxr-sr-x. 6 root root 233 Feb 17 10:49 db
-r--r--r--. 1 root root 2 Feb 17 10:49 format
drwxr-xr-x. 2 root root 231 Feb 17 10:49 hooks
drwxr-xr-x. 2 root root 41 Feb 17 10:49 locks
-rw-r--r--. 1 root root 229 Feb 17 10:49 README.txt
[root@ding project]#
配置权限:
cd /data/svn/project/conf/ //进入配置目录
vim svnserve.conf //编辑配置文件
vim passwd //编辑密码文件
vim authz
举例:
[groups]
project_p = pm
project_s = server1,server2,server3
project_c = client1,client2,client3
project_t = test1,test1,test1
[project:/]
@project_p = rw
* =
[project:/server]
@project_p = rw
@project_s = rw
* =
[project:/client]
@project_p = rw
@project_c = rw
* =
[project:/doc]
@project_p = rw
@project_s = r
@project_c = r
@project_t = r
* =
说明:以上信息表示,只有project_p用户组有根目录的读写权。r表示对该目录有读权限,w表示对该目录有写权限,
rw表示对该目录有读写权限。最后一行的* =表示,除了上面设置了权限的用户组之外,其他任何人都被禁止访问本目录。
这个很重要,一定要加上!
配置防火墙
【
cenetos7 采用systemd来管理服务
centos7 没有采用传统的iptables服务, 而是采用的firewalld 服务, 以及firewall-cmd 命令;
也可以采用传统的 iptables.service服务来管理防火墙, 但是要安装 iptables-service 程序软件.
如果没有安装iptabes-service "软件/程序" , 将没有iptables命令, 自然就会提示 没有...文件或目录了....
yum install iptables-service;
systemctl start|stop|restart|save|status iptalbes.service
原始的firewalld管理是:
service firewalld start.
centos7 系统默认的防火墙服务叫 firewalld 或: firewalld.service.
】
vi /etc/sysconfig/iptables //配置防火墙
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -dport 3690 -j ACCEPT //加入此行代码
service iptables restart //重启防火墙
另,有开启3690端口的命令,在终端输入以下命令:
1>iptables -I INPUT -i eth0 -p tcp --dport 3690 -j ACCEPT
2>iptables -I OUTPUT -o eth0 -p tcp --sport 3690 -j ACCEPT
然后保存:/etc/rc.d/init.d/iptables save
在看看是否已经有了3690端口的开放权限:/etc/init.d/iptables status
启动SVN:
svnserve -d -r /data/svn/ //启动SVN
netstat -ln | grep 3690 //查看端口状态
打开本地Windows客户端检出
客户端提交文件测试
然后新创建一个WEB目录,实现修改WEB程序文件。 在这里把/data/www/作为指定WEB目录
svn co svn://127.0.0.1/project /data/www/
客户端提交了版本修改之后,在之前的公司每次都是需要执行svn update命令,而且不小心会出现开发冲突。
下面来配置SVN钩子,来实现自动更新服务器WEB目录文件
cd /data/svn/project/hooks/
vim post-commit
#!/bin/sh
export LANG=zh_CN.UTF-8
SVN=/usr/bin/svn #这里填写你的svn程序目录
WEB=/data/www/ #这里填写你的web程序目录
$SVN update $WEB --username user1 --password password123456 #客户端的用户名和密码,在svn配置文件里配置的信息
chmod 777 post-commit
最后重启svn!客户端提交测试,查看WEB目录文件自动更新成功!
二、非yum安装
wget http://subversion.tigris.org/downloads/subversion-1.6.9.tar.gz
wget http://subversion.tigris.org/downloads/subversion-deps-1.6.9.tar.gz
#解压
tar zxvf subversion-1.6.9.tar.gz
tar zxvf subversion-deps-1.6.9.tar.gz
#编译
cd subversion-1.6.9
./configure --prefix=/usr/local/svn --without-berkeley-db
make
make install
安装过程中可能遇到的问题:
1、提示OpenSSL缺失
configure: error: We require OpenSSL; try --with-openssl
解决方法:编译前先安装了一个openssl即可
cd /usr/local/src
wget http://www.openssl.org/source/openssl-1.0.0a.tar.gz
tar -zxvf openssl-1.0.0a.tar.gz
cd openssl-1.0.0a
./config
./config -t
make depend
make
make test
make install
make test 的时候本人出现过以下错误,本人没有去理会,继续make install。
yum -y install openssl #为了放心,抱着试一试的态度,执行了yum安装命令
安装之后会在/usr/local下生成一个ssl目录,编译SVN时加上openssl路径即可
./configure --prefix=/usr/local/svn --without-berkely-db --with-openssl=/usr/local/ssl/
2、 zlib依赖缺失
configure配置SVN时可能提示如下错误信息:
configure: error: subversion requires zlib
解决办法:安装zlib
------------------------------------------分割线------------------------------------------
免费下载地址在 http://linux.linuxidc.com/
用户名与密码都是www.linuxidc.com
具体下载目录在 /2017年资料/10月/21日/CentOS下 SVN版本控制的安装(包括yum与非yum)/
下载方法见 http://www.linuxidc.com/Linux/2013-07/87684.htm
------------------------------------------分割线------------------------------------------
cd /usr/local/src
这里我上传Linux公社了 。也可以直接Google下 zlib-1.2.8.tar.gz ,下载上传至指定目录即可
tar -xvzf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure
make
make install
3、expat依赖缺失
configure: error: no XML parser was found: expat or libxml 2.x required
解决办法:安装expat
cd /usr/local/src
wget http://nchc.dl.sourceforge.net/project/expat/expat/2.1.0/expat-2.1.0.tar.gz
tar -zxvf expat-2.1.0.tar.gz
cd expat-2.1.0
./configure
make
make install
再次执行
./configure --prefix=/usr/local/svn --without-berkely-db --with-openssl=/usr/local/ssl/
4、在make && make install 时出现报错
make[1]: Leaving directory `/usr/local/src/subversion-1.6.9/serf'
解决办法:添加 --without-serf 参数重新编译subversion即可:
./configure --prefix=/usr/local/svn --without-berkely-db --with-openssl=/usr/local/ssl/ --without-serf
make && make install
安装完毕之后查看一下SVN版本
/usr/local/svn/bin/svnserve --version
OK!咱的SVN都可以看到版本了,证明没问题,可以创建仓库之类的操作了。和yum配置的方式差不多,只不过有时候命令行要有所改动了,
比如yum安装之后是这样创建仓库:svnadmin create /data/svn/project/
但是在编译安装的需要指定目录了:/usr/local/svn/bin/svnadmin create /data/svn/project/
mkdir -p /data/svn/project
/usr/local/svn/bin/svnadmin create /data/svn/project/
cd /data/svn/project/
接下来的配置步骤就略了,可以参考上面yum安装的配置方式,最后启动SVN服务还是需要注意的
/usr/local/svn/bin/svnserve -d -r /data/svn/
完毕~!
三、 centos开机自动启动SVN服务的方法
1. 在/usr/lib/systemd/system/添加svnserve.service文件,文件内容如下:
[Unit]
Description=Subversion protocol daemon
After=syslog.target network.target
[Service]
Type=forking
EnvironmentFile=/etc/sysconfig/svnserve
ExecStart=/usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid -d -r /home/svn #一定要写svnserve命令的绝对路径
[Install]
WantedBy=multi-user.target
2. 执行systemctl enable svnserve.service
3. 其它
[Unit]:服务的说明
Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
启动svnserve服务
systemctl start svnserve.service
设置开机自启动
systemctl enable svnserve.service
停止开机自启动
systemctl disable svnserve.service
查看服务当前状态
systemctl status svnserve.service
重新启动服务
systemctl restart svnserve.service
查看所有已启动的服务
systemctl list-units --type=service
分类: CentOS
通过svn客户端连接报错Permission denied
如果报这样的错:svn: E204900: Can't open file '/var/svn/wangwa/format': Permission denied的错误。那就是与SELinux有关系,目前我还不太会用SELinux,那就先把SELinux关闭吧,后面学会了,回过头来再改这一段!!!!:
临时关闭:
$ sudo setenforce 0
永久关闭:
$ sudo vim /etc/sysconfig/selinux
修改:
SELINUX = disable #值修改为disable.
CentOS7下 SVN版本控制的安装(包括yum与非yum)的步骤记录。相关推荐
- 第一篇:centos7下svn的安装与卸载
2019独角兽企业重金招聘Python工程师标准>>> 第一篇:centos7下svn的安装与卸载 2017年11月29日 00:10:53 独家记忆ly 阅读数:6108 这是我的 ...
- 多人开发SVN版本控制工具安装
SVN版本控制工具安装 1. Beyond Compare 这是一个方便进行文件之间差异对比的工具,可以方便的对文件中的内容进行合并,甚至是文件夹中的内容也可以进行差异对比 直接点击安装即可,除了选择 ...
- CentOS7下源码编译安装MySQL5.6.4
CentOS7下源码编译安装MySQL5.6.4 写这篇博客的主要原因是:请看上一篇博客:CentOS7下更改MySQL5.6.4默认的数据存储位置.对,当初通过rpm安装的mysql5.6.4,一切 ...
- Centos7下使用rpm包安装mysql5.6数据库
Centos7下使用rpm包安装mysql5.6数据库 环境 [root@mysql01 ~]# uname -r 3.10.0-514.el7.x86_64 [root@mysql01 ~]# ca ...
- Centos7.9上利用cephadm安装Ceph Octopus 15.2的采坑记录,附带K8S挂载方法
Centos7.9上利用cephadm安装Ceph Octopus 15.2的采坑记录,附带K8S挂载方法 0.亮点 1 准备 1.1 修改历史记录 1.2 升级系统内核 1.3 配置免密登录 问题1 ...
- Linux centos7 下 svn 服务器搭建
摘自:https://www.cnblogs.com/mymelon/p/5483215.html 鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在 ...
- centos7 访问php页面显示源码_运维干货分享:centos7下源码编译安装php-7.1.5(脚本)...
PHP简介: PHP是一种创建动态交互性站点的强有力的服务器端脚本语言.PHP是目前动态网页开发中使用最为广泛的语言之一.PHP能运行在包括Windows.Linux等在内的绝大多数操作系统环境中. ...
- 7.1 pdo 宝塔面板php_运维干货分享:centos7下源码编译安装php-7.1.5(脚本)
PHP简介: PHP是一种创建动态交互性站点的强有力的服务器端脚本语言.PHP是目前动态网页开发中使用最为广泛的语言之一.PHP能运行在包括Windows.Linux等在内的绝大多数操作系统环境中. ...
- Centos7下关于memcached的安装和简单使用
前言:memcached的介绍 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱 ...
- centos7下没有iptables进行安装或更新
从centos7开始使用linux,之前版本的没有深入了解过,今天要开放个端口,需要有防火墙的相关操作,从网上查资料都是编辑/etc/sysconfig目录下面的iptables文件,可我进入这个文件 ...
最新文章
- GPU端到端目标检测YOLOV3全过程(下)
- 梯度累加策略对准确率的影响
- python处理teradata数据库_Teradata数据库——你需要了解的基础知识
- javaScript基本功001
- Jmeter+ant+Jenkins构建接口自动化测试时构建失败 提示:Fatal Error! 字符引用 #原因...
- 常用ms-dos命令
- cat查看tomcat日志 linux_方法篇:tomcat日志切割和定期删除
- [专栏精选]Unity中编码Encoding脱坑指南
- 通用sqlserver分页存储过程
- 只能上qq不能开网页_真实记录女友和我开工作室之旅4:7.1~7.5日志记录和总结...
- 18. 树的子结构(C++版本)
- 操作系统实验报告 实验3存储管理实验(答案全)
- MOSSE相关滤波跟踪算法(二)
- 产品周报第26期|富文本编辑器新增预览功能;博客首页增加上次阅读频道记录……
- 笔记 | 人工智能导论 语义网络表示
- 无人机编程模拟仿真软件下载
- IOS 后台运行 播放音乐
- [转载]軟件測試方法
- Unity制作简单拦截近防炮——如何预测打击目标
- 用PHPnow快速在自己的电脑上搭建PHP虚拟主机
热门文章
- 【最佳实践】瀚高数据库安全版v4.5.8非root用户运行的安装配置
- Android P wakeup 亮屏流程
- 脱壳总结之 - upx,aspack, FSG,PECompact2.X,WinUpack脱壳
- SpringCloud--鸿鹄Cloud分布式微服务云系统
- 一线城市高薪IT人和老家公务员,你觉得选哪个会更「香」?
- vmware14下安装win7x64
- 小满 前端埋点SDK 带你 从0 开发 并且发布npm
- 作业帮联手北师大、中国教育电视台以科技推进普惠教育发展
- 日志报错:kernel: blk_update_request: I/O error, dev fd0, sector 0
- 著名互联网公司薪酬最全分析!