应用SVN(CentOS中搭建SVN服务器)
简单介绍如何在虚拟机 CentOS 中,搭建 SVN 服务器。
软件版本信息
Vmware 10.0.0 build-1295980
CentOS 7.0-1406-x64
Java 1.7.0_67_x64
Suberverson 1.7.14
GNU Wget 1.14
软件安装
subversion
yum install subversion
需要选择时,选第一个选项
Wget
用于下载 Java
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F;
oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/7u67-b01/jdk-7u67-linux-x64.rpm"
整个命令是一行,复制粘贴时要注意
其中,最后的双引号中是,自己所需 jdk 的下载地址(本文下载的是 rpm 格式的 jdk 1.7.0_67 版本)
附:进一步的内容见 oracle官网下载老版本jdk + 如何命令行下wget下载jdk,作者 lovelace521
java
1、安装oracle Java前,先确保当前系统中,无内置 jdk(即 OpenJDK)
java -version
若未输出 java 版本,则说明当前系统无内置 jdk
2、若有,则先卸载
[root@localhost ~]# rpm -qa | grep java
tzdata-java-2012c-1.el6.noarch
java-1.7.0-openjdk-1.7.0.45-1.45.1.11.1.el6.x86_64
卸载OpenJDK,执行以下操作:
[root@localhost ~]# rpm -e --nodeps tzdata-java-2012c-1.el6.noarch
[root@localhost ~]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-1.45.1.11.1.el6.x86_64
3、安装 oracle java
用于运行编辑的 java 文件
若未指定参数,wget 下载的文件位于当前文件夹
将 jdk 移动到适当目录
执行以下命令:
rpm -ivh jdk-7-linux-i586.rpm
JDK默认安装在/usr/java中
验证安装
java -version
配置
subversion
1、建立 SVN 的根目录
[root@vm-moodle ~]# mkdir -p /opt/svn/
2、建立一个数据仓库:
[root@vm-moodle ~]# mkdir -p /opt/svn/edu/
[root@vm-moodle ~]# svnadmin create opt/svn/edu/
3、修改配置文件
查看数据仓库文件目录
[root@vm-moodle ~]# cd /opt/svn/edu/conf/
[root@vm-moodle conf]# ll
总计 24
-rw-r--r-- 1 root root 710 10-25 09:40 authz
-rw-r--r-- 1 root root 325 10-25 09:38 passwd
-rw-r--r-- 1 root root 1449 10-25 09:36 svnserve.conf
修改服务配置
[root@vm-moodle conf]# vi svnserve.conf
[general]
anon-access = none #不允许匿名访问
auth-access = write #认证用户可写
password-db = passwd #密码文件
authz-db = authz #用户验证文件
[root@vm-moodle conf]# vi authz
[edu:/]
hansy = rw
给edu仓库添加一个用户,权限为可写
[root@vm-moodle conf]# vi passwd
hansy = 87827192
密码可以是加密密码,也可以是明文,根据前面的配置来决定
注意,配置内容前不能有空格
java
修改系统环境变量文件
vi + /etc/profile
向文件里面追加以下内容:
JAVA_HOME=/usr/java/jdk1.7.0_67
JRE_HOME=/usr/java/jdk1.7.0_67/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
使修改生效
[root@localhost ~]# source /etc/profile //使修改立即生效
查看系统环境状态
[root@localhost ~]# echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/java/jdk1.7.0_45/bin:
/usr/java/jdk1.7.0_45/jre/bin:/home/ckb/bin
使用
虚拟机 CentOS
1、 启动SVN 服务,并指定 SVN 的根目录
[root@vm-moodle ~]# svnserve -d -r /opt/svn/
默认 svn 服务使用端口 3690,若需指定,在命令后追加 “ —listen-port 指定端口”
2、查看服务是否正常起来
[root@vm-moodle ~]# netstat -tunlp | grep svn
tcp 0 0 0.0.0.0:3690 0.0.0.0:*
EN 3970/svnserve
3、导入数据到svn仓库
[root@vm-moodle ~]# svn import Hello file:///opt/svn/edu/project -m "Initial import"
其中,Hello为当前目录下的一个文件夹
客户端
1、在客户端或虚拟机外的主机上,安装 TortoiSVN
2、TortoiseSVN — Repo-browser,输入 svn://虚拟机 CentOS 的 IP 地址
常见问题
CentOS 7 中命令找不到
CentOS 7 系统摒弃部分指令,有
netstat, 改为 ss
ifconfig, 改为 ip
iptables, 改为 systemctl
其中,若想继续使用 iptables,按以下步骤操作
1、Disable Firewalld Service.
[root@rhel-centos7-tejas-barot-linux ~]# systemctl mask firewalld
2、Stop Firewalld Service.
[root@rhel-centos7-tejas-barot-linux ~]# systemctl stop firewalld
3、Install iptables service related packages.
[root@rhel-centos7-tejas-barot-linux ~]# yum -y install iptables-services
4、Make sure service starts at boot:
[root@rhel-centos7-tejas-barot-linux ~]# systemctl enable iptables
If you do not want ip6tables, You can skip following command
[root@rhel-centos7-tejas-barot-linux ~]# systemctl enable ip6tables
5、Now, Finally Let’s start the iptables services.
[root@rhel-centos7-tejas-barot-linux ~]# systemctl start iptables
6、If you do not want ip6tables, You can skip following command.
[root@rhel-centos7-tejas-barot-linux ~]# systemctl start ip6tables
附:详见RHEL 7 / CentOS 7 : Disable Firewalld and use iptables
访问 svn 服务器,无应答
1、SVN 配置文件错误
仔细检查,排错
2、SVN 服务端口未开放
查看 svnserve 服务是否启动
[root@vm-moodle ~]# ss -ntlp
若已启动,设置防火墙,开放服务相应端口
[root@vm-moodle ~]# iptables -I INPUT -p tcp --dport 3690 -j ACCEPT #开放3690端口
[root@vm-moodle ~]# service iptables save #保存配置,非常重要
[root@vm-moodle ~]# service iptables restart # 重启防火墙服务
[root@vm-moodle ~]# service iptables status # 查看状态
应用SVN(CentOS中搭建SVN服务器)的更多相关文章
- CentOs上搭建git服务器
CentOs上搭建git服务器 首先安装setuptools wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0 ...
- Centos 6 搭建邮箱服务器教程
Centos 6 搭建邮箱服务器主要是是包括了Postfix, Dovecot和 MySQL了,下文我们详细的为各位介绍Centos 6 搭建邮箱服务器教程(Postfix, Dovecot和 MyS ...
- 基于 CentOS 8 搭建 openLDAP 服务器
转载请注明原文地址:基于 CentOS 8 搭建 openLDAP 服务器 环境 OS: CentOS 8.4.2105 PHP: 7.4.21 注意 CentOS 7 中可能默认提供了 openLD ...
- 在Ubuntu中搭建KMS服务器
介绍 基于vlmcsd搭建的KMS服务器. 根据github上的说明,这个工具是用C写的,没有任何依赖,可以直接运行.而且它横跨几乎现在所有的系统平台,如Android, FreeBSD, Solar ...
- CentOS中搭建Redis伪分布式集群【转】
解压redis 先到官网https://redis.io/下载redis安装包,然后在CentOS操作系统中解压该安装包: tar -zxvf redis-3.2.9.tar.gz 编译redis c ...
- Windows中搭建ftp服务器
使用工具Quick Easy FTP Server Windows中搭建FTP服务器有什么用呢? 确实没有用,直到有一次,我在VM中安装了Linux虚拟机,但是文件怎么也上传不到这个虚拟机中. 然后用 ...
- CentOS 7搭建SVN服务器
安装步骤如下: 1.yum install subversion 2.查看安装版本 svnserve --version 3.创建SVN版本库目录 mkdir -p /var/svn/svnrepos ...
- CentOS Linux搭建SVN服务器
Linux系统:CentOS 安装步骤如下: 1.yum install subversion 2.输入rpm -ql subversion查看安装位置,如下图: 可以看到 svn在bin目录下生成了 ...
- 【Centos】搭建 SVN 服务器
1.如果仅仅只是搭建 svn 服务器: (a).先检查 svn 是否已经安装了 rpm -qa subversion #输入这个命令后,会出现 subversion 版本号 (b).如果没有安装, ...
随机推荐
- Android自己定义控件而且使其能够在xml中自己定义属性
为什么要自己定义View android开发中自己定义View的优点是显而易见的.比方说以下的这个顶部导航,它被设计出如今应用的每一个界面,但每次的内容却不尽同样.我们不能在每一个layout资源中都 ...
- 数据存储(一)--SharedPreferences之你不知道的事
一.SharedPreferences将数据文件保存在指定路径上 SharedPreferences原则上是仅仅能保存在当前应用程序私有的shared_prefs文件夹中,只是也不是绝对的,我们能够用 ...
- Qt 学习之路:QML 基本元素
QML 基本元素可以分为可视元素和不可视元素两类.可视元素(例如前面提到过的Rectangle)具有几何坐标,会在屏幕上占据一块显示区域.不可视元素(例如Timer)通常提供一种功能,这些功能可以作用 ...
- hadoop2.2 伪分布式环境
在安装JDK之前,请确认系统是32还是64,根据系统版本,选择JDK版本.Hadoop版本 下面是以在CentOS-6.5-x86_64系统上安装为例 安装前准备 在"/usr"下 ...
- 关于javascript dom扩展:Selector API
众多javascript库中最常用的一项功能,就是根据css选择符选择与某个模式匹配的DOM元素.之前由于对javascript的认识较低,对javascript对DOM操作还停留在getElemen ...
- Markdown写接口文档,自动添加TOC
上回说到,用Impress.js代替PPT来做项目展示.这回换Markdown来做接口文档好了.(不敢说代替Word,只能说个人感觉更为方便)当然,还要辅之以Git,来方便版本管理. Markdown ...
- PL/SQL 记录集合IS TABLE OF的使用
在PL/SQL代码块中使用select into 赋值的话,有可能返回的是一个结果集.此时,如果使用基本类型或自定义的记录类型,将会报错. 因此,需要定义一个变量,是某种类型的集合.下面以一个基于表的 ...
- [转帖]SD卡&FLASH&USB
来源:http://www.cypress.com Cypress官网,了解任何芯片都应该从它的官网入手,资料一定是最多最原始的,像Ronnie学习. Cypress’s EZ-USB® FX2LP™ ...
- Swift 中 Selector 方法的访问权限控制问题
今天用Swift写了个视图,在视图上加个手势,如下所示: panGestureRecognizer = UIPanGestureRecognizer(target: self, action: &qu ...
- MVC5+EF6 入门完整教程一
第0课 从0开始 ASP.NET MVC开发模式和传统的WebForm开发模式相比,增加了很多"约定". 直接讲这些 "约定" 会让人困惑,而且东西太多容易忘记 ...