如何在CentOS 7中安装Subversion
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在CentOS 7中安装Subversion相关的知识,希望对你有一定的参考价值。
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。SVN是一个安全虚拟网络系统,它将系统整体的信息安全功能均衡合理地分布在不同的子系统中,使各子系统的功能得到最大限度的发挥,子系统之间互相补充,系统整体性能大于各子系统功能之和,用均衡互补的原则解决了"木桶原理"的问题。
使用 root 帐户登录服务器,安装SVN服务:
#svnserve --version //查看SVN版本
#mkdir svn //创建目录
#mkdir project
#svnadmin create /home/svn/rep/
3. cd conf 在passwd文件中添加用户
4.修改配置文件
修改authz文件,添加用户目录权限。
修改文件svnserve.conf
anon-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 2、加配置文件到Apache 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-... 参考技术B #检查是否安装了低版本的SVN原文来自:http://www.linuxprobe.com/centos7-installation-svn.html
[root@Linux /]# rpm -qa subversion
#如果存储旧版本,卸载旧版本SVN
[root@Linux modules]# yum remove subversion
安装SVN
[root@Linux modules]# yum install subversion
验证安装
检验已经安装的SVN版本信息
[root@Linux modules]# svnserve –version
svnserve,版本 1.6.11 (r934486)
编译于 Jun 23 2012,00:44:03
版权所有 (C) 2000-2009 CollabNet。
Subversion 是开放源代码软件,请参阅 http://subversion.tigris.org/ 站点。
此产品包含由 CollabNet(http://www.Collab.Net/) 开发的软件。
下列版本库后端(FS) 模块可用:
* fs_base : 模块只能操作BDB版本库。
* fs_fs : 模块与文本文件(FSFS)版本库一起工作。
Cyrus SASL 认证可用。
代码库创建
SVN软件安装完成后还需要建立SVN库
[root@Linux modules]# mkdir -p /opt/svn/repo
[root@Linux modules]# svnadmin create /opt/svn/repo
执行上面的命令后,自动建立repo测试库,查看/opt/svn/repo 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。
配置SVN代码库
进入上面生成的文件夹conf下,进行配置
[root@Linux modules]# cd /opt/svn/repo/conf
用户密码passwd配置
[root@Linux password]# cd /opt/svn/repos/conf
[root@Linux conf]# vim passwd
修改passwd为以下内容:
[users]
# harry = harryssecret
# sally = sallyssecret
root=raykaeso
用户名=密码
这样我们就建立了root用户, raykaeso密码
以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
权限控制authz配置
[root@Linux conf]# vi + authz
目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容:
#设置[/]代表根目录下所有的资源
[/] 或者写成[repl:/]
root= rw
意思是root用户对repo测试库下所有的目录有读写权限,当然也可以限定。
如果是自己用,就直接是读写吧。
以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
服务svnserve.conf配置
[root@Linux conf]# vim svnserve.conf
追加以下内容:
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限
auth-access=write
#密码数据库的路径
password-db=passwd
#访问控制文件
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm=/opt/svn/repositories
以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
配置防火墙,SVN端口为3690
[root@Linux conf]# vi /etc/sysconfig/iptables
添加以下内容:
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3690 -j ACCEPT
保存后重启防火墙
[root@Linux conf]# service iptables restart
启动SVN
svnserve -d -r /opt/svn/repo
启动SVN服务
svnserve -d -r /opt/svn/
注意:如果在一台服务器上同时启动多个版本管理,那么启动路径必须是所有项目仓库的根路径:比如
/opt/svn/project1 /opt/svn/project2 ——————-> /opt/svn/
查看SVN进程
[root@Linux conf]# ps -ef|grep svn|grep -v grep
root 12538 1 0 14:40 ? 00:00:00 svnserve -d -r /opt/svn/repo
检测SVN 端口
[root@Linux conf]# netstat -ln |grep 3690
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN
停止重启SVN
[root@Linux password]# killall svnserve //停止
[root@Linux password]# svnserve -d -r /opt/svn/repo // 启动
如果已经有SVN在运行,可以换一个端口运行
svnserve -d -r /opt/svn/ –listen-port 3391
SVN服务已经启动,使用客户端测试连接。
客户端连接地址:svn://192.168.15.231
用户名/密码: root/raykaeso
测试创建文件夹等操作。
创建SVN版本库:
终端输入:svnadmin create [路径]
该路径可以是相对路径,例如,当前在home/user/svn/目录下,输入svnadmin create myproject,则该版本库会被创建在home/user/svn/目录下,新建一个文件夹名为myproject,其中便是版本库的文件了。
将文件导入SVN版本库:
终端输入:svn import [源路径] [目标版本库路径] -m [日志信息]
源路径可以是相对路径,导入时会递归导入源路径下的所有文件和文件夹,目标版本库路径需要绝对目录(反正我试验是这样的),例如版本库的目录是:home/user/svn/myproject/。则应该这样写:file:///home/user/svn/myproject/
例如将当前目录导入版本库myproject:
svn import . file:///home/user/svn/myproject -m”导入文件”
从SVN版本库导出:
导入后原文件并未被纳入版本管理,若想获得受版本控制的文件,就需要从版本库导出
终端输入:svn co [版本库路径] [导出目标路径]
例如将myproject库中的文件导出到当前目录:svn cofile:///home/user/svn/myproject
如何在centos安装python
centos一般自带了python2.7,如果你想安装python3的话,可以按照以下步骤安装,以python3.6.2为例:1. 安装Python依赖包:
#yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
2. 下载Python源码包:
#cd /usr/local/src
#wget
3. 编译、安装:
[root@Python /]# tar -xzvf /usr/local/src/Python-3.6.2.tgz -C /usr/local/src/
[root@Python /]# cd /usr/local/src/Python-3.6.2
[root@Python Python-3.6.2]# ./configure --prefix=/usr/local/python --enable-shared
[root@Python Python-3.6.2]# make
[root@Python Python-3.6.2]# make install
4. 如果在安装Python时使用了--enable-share命令后启动时会出错误:
ImportError:libpython3.6m.so.1.0:cannot open shared object file: No such file or directory
解决办法是在运行configure和make之前运行:
export LD_LIBRARY_PATH=prefix/lib/
prefix is what you passed to --prefix.
例如:#export LD_LIBRARY_PATH=/usr/local/python/lib/
#vim ~/.bash_profile
添加一行:
export LD_LIBRARY_PATH=/usr/local/python/lib:$LD_LIBRARY_PATH
5. 添加Python命令到环境变量:
[root@Python /]# vim ~/.bash_profile
PATH=$PATH:$HOME/bin
改为:
PATH=$PATH:$HOME/bin:/usr/local/python/bin
6. 使环境变量生效:
[root@Python /]# source ~/.bash_profile
7. 查看Python版本:
[root@Python /]# python3 -V
Python 3.6.2
8. 更改系统默认python版本为Python3.6
[root@Python /]# mv /usr/bin/python /usr/bin/python2.7.5
[root@Python /]# ln -s /usr/local/python/bin/python3.6 /usr/bin/python
9. 核对Python版本:
[root@Python /]# python -V
Python 3.6.2
10. 解决python升级后,YUM不能正常工作的问题:
#vi /usr/bin/yum
将文件头部的#!/usr/bin/python
改成 #!/usr/bin/python2.7 参考技术A 建议 直接在centos上执行
yum install python3 python3-devel python3-pip
希望可以帮助你,请采纳,谢谢
以上是关于如何在CentOS 7中安装Subversion的主要内容,如果未能解决你的问题,请参考以下文章
如何在VMware虚拟机中安装CentOS6.7系统(上篇)
如何在 Apache 服务 CentOS 7 中安装模块 libphp5.so