zoukankan      html  css  js  c++  java
  • 应用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   # 查看状态
  • 相关阅读:
    如何下载网络图片资源
    经典排序之快速排序(含红黑树)
    经典排序之归并排序
    node微信公众号开发---自动回复
    koa2的文件上传
    async await的用法
    Generator yield语法和 co模块
    CentOS 7 下安装 Nginx
    windows下nginx的安装及使用方法入门
    linux下nodejs安装以及如何更新到最新的版本
  • 原文地址:https://www.cnblogs.com/CoolSoul/p/4984714.html
Copyright © 2011-2022 走看看