应用SVN(CentOS中搭建SVN服务器)

时间:2022-04-17 22:38:03

  简单介绍如何在虚拟机 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服务器)的更多相关文章

  1. CentOs上搭建git服务器

    CentOs上搭建git服务器 首先安装setuptools wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0 ...

  2. Centos 6 搭建邮箱服务器教程

    Centos 6 搭建邮箱服务器主要是是包括了Postfix, Dovecot和 MySQL了,下文我们详细的为各位介绍Centos 6 搭建邮箱服务器教程(Postfix, Dovecot和 MyS ...

  3. 基于 CentOS 8 搭建 openLDAP 服务器

    转载请注明原文地址:基于 CentOS 8 搭建 openLDAP 服务器 环境 OS: CentOS 8.4.2105 PHP: 7.4.21 注意 CentOS 7 中可能默认提供了 openLD ...

  4. 在Ubuntu中搭建KMS服务器

    介绍 基于vlmcsd搭建的KMS服务器. 根据github上的说明,这个工具是用C写的,没有任何依赖,可以直接运行.而且它横跨几乎现在所有的系统平台,如Android, FreeBSD, Solar ...

  5. CentOS中搭建Redis伪分布式集群【转】

    解压redis 先到官网https://redis.io/下载redis安装包,然后在CentOS操作系统中解压该安装包: tar -zxvf redis-3.2.9.tar.gz 编译redis c ...

  6. Windows中搭建ftp服务器

    使用工具Quick Easy FTP Server Windows中搭建FTP服务器有什么用呢? 确实没有用,直到有一次,我在VM中安装了Linux虚拟机,但是文件怎么也上传不到这个虚拟机中. 然后用 ...

  7. CentOS 7搭建SVN服务器

    安装步骤如下: 1.yum install subversion 2.查看安装版本 svnserve --version 3.创建SVN版本库目录 mkdir -p /var/svn/svnrepos ...

  8. CentOS Linux搭建SVN服务器

    Linux系统:CentOS 安装步骤如下: 1.yum install subversion 2.输入rpm -ql subversion查看安装位置,如下图: 可以看到 svn在bin目录下生成了 ...

  9. 【Centos】搭建 SVN 服务器

    1.如果仅仅只是搭建 svn 服务器: (a).先检查 svn 是否已经安装了 rpm -qa subversion #输入这个命令后,会出现 subversion 版本号   (b).如果没有安装, ...

随机推荐

  1. 报错:emulator: WARNING: ./android/metrics/metrics_reporter_toolbar.cpp:167: Can't upload usage metrics: Error

  2. hdu 4044 2011北京赛区网络赛E 树形dp ****

    专题训练 #include<stdio.h> #include<iostream> #include<string.h> #include<algorithm ...

  3. destoon短信接口修改方法

    destoon是很优秀的B2B行业站程序.程序模块化开发契合度很高,二次开发起来也很顺畅.数据缓存,权限分配,SEO功能方面都不错. 但是在使用这套程序的时候,常常要用到发送短信的功能,而destoo ...

  4. 整理:sql语句优化之SQL Server

    . 增加服务器CPU个数;但是必须明白并行处理串行处理更需要资源例如内存.使用并行还是串行程是MsSQL自动评估选择的.单个任务分解成多个任务,就可 以在处理器上运行.例如耽搁查询的排序.连接.扫描和 ...

  5. C&num;RichTextBox种跳转到指定行

    用这个方法,iCodeRowsID是要跳转的行号,rtb是RiCHTextBox控件名. 其中rtb.Lines.Length可获得最大行数 private void TrunRowsId(int i ...

  6. uva1629&comma;Cake Slicing&comma;记忆化搜索

    同上个题一样,代码相似度极高,或者说可以直接用一个模板吧 dp[i,j,p,q]表示一块长为j-i+1,宽为q-p+1,左上角在位置(i,j)上的蛋糕,dp[]表示当前状态下的最优值,然后对该块蛋糕枚 ...

  7. python-函数参数

    1.Python的函数定义非常简单,但灵活度却非常大.除了正常定义的必选参数外,还可以使用默认参数.可变参数和关键字参数,使得函数定义出来的接口,不但能处理复杂的参数,还可以简化调用者的代码 1).位 ...

  8. &lbrack;转&rsqb;JAVA 在main中访问内部类、方法等

    1.使用静态的属性.方法.内部类 class A { static int i = 1; // A 类的静态属性 static void outPut() // A 类的静态方法 { System.o ...

  9. 【PAT】1015 德才论 &lpar;25&rpar;(25 分)

    1015 德才论 (25)(25 分) 宋代史学家司马光在<资治通鉴>中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人.凡取人之术,苟不得 ...

  10. shell 判断变量是否为空

    一句话判断 [ ! $a ] && echo "a is null" 1.判断变量 read -p "input a word :" word ...