如何在CentOS 7中安装Subversion

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在CentOS 7中安装Subversion相关的知识,希望对你有一定的参考价值。

SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。SVN是一个安全虚拟网络系统,它将系统整体的信息安全功能均衡合理地分布在不同的子系统中,使各子系统的功能得到最大限度的发挥,子系统之间互相补充,系统整体性能大于各子系统功能之和,用均衡互补的原则解决了"木桶原理"的问题。使用root帐户登录服务器,安装SVN服务:#yum install subversionk //安装svn#svnserve --version //查看SVN版本#mkdir svn //创建目录#mkdir project #svnadmin create /home/svn/rep/3.cdconf 在passwd文件中添加用户4.修改配置文件修改authz文件,添加用户目录权限。修改文件svnserve.confanon-access = read #匿名用户可读 none 无权限auth-access = write #授权用户可写password-db = /home/svn/rep/conf/passwd #使用哪个文件作为账号文件authz-db = /home/svn/rep/conf/authz #使用哪个文件作为权限文件realm = /home/svn/rep # 认证空间名,版本库所在目录5. 访问svn路径svn://192.168.0.110如果访问不到,可以试试关闭防火墙:systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall开机启动svnserve -d --listen-port 3690 -r /home/svn/rep原文来自: 参考技术A 1、开始在CentOS 7中安装Subversion

yum install mod_dav_svn subversion

示例输出:

=====================================================
Package Arch Version Repository Size
=====================================================
Installing:
mod_dav_svn x86_64 1.7.14-6.el7 base 101 k
subversion x86_64 1.7.14-6.el7 base 1.0 M
Installing for dependencies:
apr x86_64 1.4.8-3.el7 base 103 k
apr-util x86_64 1.5.2-6.el7 base 92 k
httpd x86_64 2.4.6-18.el7.centos updates 2.7 M
httpd-tools x86_64 2.4.6-18.el7.centos updates 77 k
mailcap noarch 2.1.41-2.el7 base 31 k
neon x86_64 0.30.0-3.el7 base 165 k
pakchois x86_64 0.4-10.el7 base 14 k
subversion-libs x86_64 1.7.14-6.el7 base 921 k

Transaction Summary
=====================================================

2、加配置文件到Apache

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

<Location /svn>
DAV svn
SVNParentPath /var/www/linuxidcsvn
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile /etc/svn-auth-users
Require valid-user
</Location>

3、创建SVN用户

[root@linuxidc-centos7 ~]# htpasswd -cm /etc/svn-auth-users testuser1
New password:
Re-type new password:
Adding password for user testuser1
[root@linuxidc-centos7 ~]#

4、创建和配置SVN仓库

mkdir /var/www/linuxidcsvn
cd /var/www/linuxidcsvn
svnadmin create repo
chown -R apache.apache repo

# If you still have issues with SELinux Security please apply this:
chcon -R -t httpd_sys_content_t /var/www/linuxidcsvn/repo
chcon -R -t httpd_sys_rw_content_t /var/www/linuxidcsvn/repo

5、你可以用这种方式–HTTP和HTTPS

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

6、启用并启动HTTP服务

systemctl enable httpd.service
systemctl restart httpd.service

启动时候失败,

#journalctl -xn

Jun 01 10:41:57 iZ9 httpd[26217]: httpd: Syntax error on line 56 of /etc/httpd/conf/httpd.conf: Cannot load /usr/lib64/httpd/modules/mod_dav_svn.so into server: /usr/lib64/httpd/modules/mod_dav_svn.so: undefined symbol: dav_do_find_liveprop
Jun 01 10:41:57 iZ9 systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
Jun 01 10:41:57 iZ9 kill[26218]: kill: cannot find process ""
Jun 01 10:41:57 iZ9 systemd[1]: httpd.service: control process exited, code=exited status=1
Jun 01 10:41:57 iZ9 systemd[1]: Failed to start The Apache HTTP Server.

是由于缺少apache的 mod_dav.so

添加:LoadModule dav_module modules/mod_dav.so

重启后,http://****/svn/repo/为svn根目录地址

如何在CentOS 7中安装Subversion

7、加入下面这个到conf/svnserve.conf

anon-access = none
auth-access = authz

8、branches&tags&trunk模式下建svn库

mkdir -p /tmp/svn-structure-template/trunk,branches,tags

svn import -m "Initial repository" /tmp/svn-structure-template file:///var/www/linuxidcsvn/repo/
Adding /tmp/svn-structure-template/branches
Adding /tmp/svn-structure-template/tags
Adding /tmp/svn-structure-template/trunk

Committed revision 1.

如何在CentOS 7中安装Subversion

OK。

CentOS 6 编译安装Subversion-1.8.10+Apache2.4 http://www.linuxidc.com/Linux/2015-02/113177.htm

linux中Subversion配置实例 http://www.linuxidc.com/Linux/2012-02/53109.htm

CentOS 6.2 SVN搭建 (YUM安装) http://www.linuxidc.com/Linux/2013-10/91903.htm

Apache+SVN搭建SVN服务器 http://www.linuxidc.com/Linux/2013-03/81379.htm

Windows下SVN服务器搭建和使用 + 客户端重新设置密码 http://www.linuxidc.com/Linux/2013-05/85189p5.htm

Ubuntu Server 12.04 安装 SVN 并迁移 Virtual SVN数据 http://www.linuxidc.com/Linux/2013-05/84695.htm

Ubuntu Server搭建svn服务以及迁移方法 http://www.linuxidc.com/Linux/2013-05/84693.htm
参考技术B 1.环境
centos5.5
2.安装svn
yum -y install subversion
3.配置
建立版本库目录
mkdir /www/svndata
svnserve -d -r /www/svndata
4.建立版本库
创建一个新的Subversion项目
svnadmin create /www/svndata/oplinux
配置允许用户rsync访问
cd /www/svndata/oplinux/conf
vi svnserve.conf
anon-access=none
auth-access=write
password-db=passwd
注:修改的文件前面不能有空格,否则启动svn server出错
vi passwd
[users]
#<用户1> = <密码1>
#<用户2> = <密码2>
david=123456
5.客户端连接
svn co svn://ip/oplinux
用户名密码:123456
===============================================================
6.实现SVN与WEB同步,可以CO一个出来,也可以直接配在仓库中
1)设置WEB服务器根目录为/www/webroot
2)checkout一份SVN
svn co svn://localhost/oplinux /www/webroot
修改权限为WEB用户
chown -R apache:apache /www/webroot/oplinux
3)建立同步脚本
cd /www/svndata/oplinux/hooks/
cp post-commit.tmpl post-commit
编辑post-commit,在文件最后添加以下内容
export LANG=en_US.UTF-8
SVN=/usr/bin/svn
WEB=/www/webroot/
$SVN update $WEB –username rsync –password rsync
chown -R apache:apache $WEB
增加脚本执行权限
chmod +x post-commit
参考技术C 不知细叶谁裁出,二月春风似剪刀.

如何在 CentOS 7 上安装 Docker

1. 为centos配置yum源, 可以使用网易、aliyun或sohu的

2. 配置epel源

/etc/yum.repos.d/epel.repo

[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
baseurl=http://centos.ustc.edu.cn/epel/6/$basearch
failovermethod=priority
enabled=1
gpgcheck=0

注: 选择其他的epel源也可以

3. 使配置生效

yum clean all
yum makecache

三 安装docker并启动

A)安装

Yum install docker-io

B)启动
Service dokcer start

C)检查
Ps aux |grep docker ,查看是否有 "/usr/bin/docker -d"进程存在
执行Docker images 没有报错
D) 把dokcer的数据目录转移到大的磁盘分区上, 不是必须的,视自己的机器分区而定
Service docker stop
Mkdir /data/dockerData/
Mv /var/lib/docker /data/dockerData/
ln -s /data/dockerData/docker /var/lib/dockerService docker start
Service docker start

四 搭建docker私有仓库并制作centos镜像

1. 搭建docker私有仓库

安装并启动

Yum install docker-registry

修改配置
把/var/lib/docker-registry 软连接到
大的磁盘分区, 不是必须的,视自己的机器分区而定
修改配置/etc/sysconfig/docker-registry, 只监听内网的5000端口
修改配置/etc/docker-registry.yml 中search_backend和
sqlalchemy_index_database,修改目的是可以通过 curl
"x.x.x.x:5000/v1/search?q=xxx" 查询仓库镜像。
#search_backend: _env:SEARCH_BACKEND
search_backend: sqlalchemy
#sqlalchemy_index_database: _env:SQLALCHEMY_INDEX_DATABASE:sqlite:////tmp/docker-registry.db
sqlalchemy_index_database: sqlite:////tmp/docker-registry.db

启动
Service docker-registry restart

检查下端口5000是否启动起来 netstat -ntlp

2. 制作centos镜像

这一步不是必须的,可用如下方案替换:

1)从docker的官方镜像库拉取contos的镜像,
然后再import到自己搭建的私有仓库。但docker的官方镜像库被墙了,需要自备梯子。

2)Docker官方镜像的临时解决方案
使用 index.dockboard.org 下载 Docker 官方镜像的临时解决方案
https://gist.github.com/genedna/6e552ab4c117f7ba8af4

除了上述两种方案, 这里讲如何定制自己centos镜像,仅供测试docker使用。

A) 安装软件

yum -y install febootstrap

B)下载镜像
febootstrap -i bash -i wget -i yum -i iputils -i iproute -i man -i vim-minimal -i openssh-server -i openssh-clients centos6 centos6-image http://mirrors.aliyun.com/centos/6/os/x86_64/

C) 生成镜像
cd centos6-image && tar -c . |docker import - xxx/centos-base

查看镜像是否已经有xxx/centos-base

docker images

D) 运行测试

测试镜像是否正常

docker run -i -t xx/centos-base /bin/bash

E) 把制作的镜像添加到私有的docker仓库
Docker image 获取IMAGE ID

使用私有的docker仓库的ip:端口给该镜像打tag

docker tag 1920ceab1c8b xx.xx.xx.xx:5000/xxx/centos-base

推送该镜像到仓库
docker push xx.xx.xx.xx:5000/xxx/centos-base

F) 在另一台机器上可以拉取该镜像并运行 docker pull
xx.xx.xx.xx:5000/xxx/centos-base
docker images

docker run -t -i xx.xx.xx.xx:5000/xxx/centos-base /bin/bash
五 简单测试

1. 从私有仓库拉取镜像

Docker pull xx.xx.xx.xx:5000/xxx/centos-base

查看镜像ID
docker images

根据ID给该镜像起一个简短名字
Docker tag 1920ceab1c8b xxx/centos-base

运行一个简单的container, 并把container ID传给变量JOB, 后续操作都依赖于该container ID
JOB=$(docker run -d xxx/centos-base /bin/bash -c "while true; do /bin/echo Hello world; /bin/sleep 1; done")

查看container 是否正常启动
Docker ps

查看运行日志
Docker logs $JOB

停止进程
Docker stop $JOB

查看container 是否已停止
Docker ps
参考技术A 1. 为centos配置yum源, 可以使用网易、aliyun或sohu的

2. 配置epel源

/etc/yum.repos.d/epel.repo

[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
failovermethod=priority
enabled=1
gpgcheck=0

注: 选择其他的epel源也可以

3. 使配置生效

yum clean all
yum makecache

三 安装docker并启动

A)安装

Yum install docker-io

B)启动
Service dokcer start

C)检查
Ps aux |grep docker ,查看是否有 "/usr/bin/docker -d"进程存在
执行Docker images 没有报错
D) 把dokcer的数据目录转移到大的磁盘分区上, 不是必须的,视自己的机器分区而定
Service docker stop
Mkdir /data/dockerData/
Mv /var/lib/docker /data/dockerData/
ln -s /data/dockerData/docker /var/lib/dockerService docker start
Service docker start

四 搭建docker私有仓库并制作centos镜像

1. 搭建docker私有仓库

安装并启动

Yum install docker-registry

修改配置
把/var/lib/docker-registry 软连接到
大的磁盘分区, 不是必须的,视自己的机器分区而定
修改配置/etc/sysconfig/docker-registry, 只监听内网的5000端口
修改配置/etc/docker-registry.yml 中search_backend和
sqlalchemy_index_database,修改目的是可以通过 curl
"x.x.x.x:5000/v1/search?q=xxx" 查询仓库镜像。
#search_backend: _env:SEARCH_BACKEND
search_backend: sqlalchemy
#sqlalchemy_index_database: _env:SQLALCHEMY_INDEX_DATABASE:sqlite:////tmp/docker-registry.db
sqlalchemy_index_database: sqlite:////tmp/docker-registry.db

启动
Service docker-registry restart

检查下端口5000是否启动起来 netstat -ntlp

2. 制作centos镜像

这一步不是必须的,可用如下方案替换:

1)从docker的官方镜像库拉取contos的镜像,
然后再import到自己搭建的私有仓库。但docker的官方镜像库被墙了,需要自备梯子。

2)Docker官方镜像的临时解决方案
使用 index.dockboard.org 下载 Docker 官方镜像的临时解决方案

除了上述两种方案, 这里讲如何定制自己centos镜像,仅供测试docker使用。

A) 安装软件

yum -y install febootstrap

B)下载镜像
febootstrap -i bash -i wget -i yum -i iputils -i iproute -i man -i vim-minimal -i openssh-server -i openssh-clients centos6 centos6-image

C) 生成镜像
cd centos6-image && tar -c . |docker import - xxx/centos-base

查看镜像是否已经有xxx/centos-base

docker images

D) 运行测试

测试镜像是否正常

docker run -i -t xx/centos-base /bin/bash

E) 把制作的镜像添加到私有的docker仓库
Docker image 获取IMAGE ID

使用私有的docker仓库的ip:端口给该镜像打tag

docker tag 1920ceab1c8b xx.xx.xx.xx:5000/xxx/centos-base

推送该镜像到仓库
docker push xx.xx.xx.xx:5000/xxx/centos-base

F) 在另一台机器上可以拉取该镜像并运行 docker pull
xx.xx.xx.xx:5000/xxx/centos-base
docker images

docker run -t -i xx.xx.xx.xx:5000/xxx/centos-base /bin/bash
五 简单测试

1. 从私有仓库拉取镜像

Docker pull xx.xx.xx.xx:5000/xxx/centos-base

查看镜像ID
docker images

根据ID给该镜像起一个简短名字
Docker tag 1920ceab1c8b xxx/centos-base

运行一个简单的container, 并把container ID传给变量JOB, 后续操作都依赖于该container ID
JOB=$(docker run -d xxx/centos-base /bin/bash -c "while true; do /bin/echo Hello world; /bin/sleep 1; done")

查看container 是否正常启动
Docker ps

查看运行日志
Docker logs $JOB

停止进程
Docker stop $JOB

查看container 是否已停止
Docker ps
参考技术B Docker 是一个开源工具,它可以让创建和管理 Linux 容器变得简单。容器就像是轻量级的虚拟机,并且可以以毫秒级的速度来启动或停止。Docker 帮助系统管理员和程序员在容器中开发应用程序,并且可以扩展到成千上万的节点。
容器和 VM(虚拟机)的主要区别是,容器提供了基于进程的隔离,而虚拟机提供了资源的完全隔离。虚拟机可能需要一分钟来启动,而容器只需要一秒钟或更短。容器使用宿主操作系统的内核,而虚拟机使用独立的内核。

以上是关于如何在CentOS 7中安装Subversion的主要内容,如果未能解决你的问题,请参考以下文章

如何在 CentOS 7 中安装 pip?

如何在VMware虚拟机中安装CentOS6.7系统(上篇)

如何在CentOS 7中安装最新Git

如何在 Apache 服务 CentOS 7 中安装模块 libphp5.so

如何在 centos 7 perl v5.34.0 中安装 DBD-SQLite

在CentOS 7中安装nginx服务器