2019独角兽企业重金招聘Python工程师标准>>>

本次集成的SVN版本管理系统由Apache 、Subversion 、Jsvn admin构成,其中,Apache 是应用服务器中间件,Subversion 是SVN软件,Jsvn admin是管理 Svn 服务器的项目用户的 web 应用,即Jsvn admin运行在apache服务器,并对我们的SVN访问权限进行管理。

1. 安装apache

  • 安装服务
yum install httpd httpd-devel# 启动服务
service httpd start
# 设置为开机启动
chkconfig httpd on
  • 配置
 vim /etc/httpd/conf/httpd.conf

找到 ServerName 并修改成 ServerName localhost:80

  • 防火墙中打开 80 端口
# vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
# service iptables restart
  • 测试服务器是否安装成功

浏览器中访问 http://你的IP/

2. 安装SVN

  • 安装服务
#安装SVN相关模块
yum -y install mod_dav_svn subversion
#重启apache
service httpd restart
#查看SVN服务是否安装成功
svn --version
  • 配置SVN

创建svn主库目录

mkdir /svn/

配置密码和权限管理文件所在目录

touch /svn/passwd.http
touch /svn/authz
vim /etc/httpd/conf.d/subversion.conf

添加以下内容,里面有SVN库的目录和多库的父目录

#Include /svn/httpd.conf
<Location /svn/>
DAV svn
SVNListParentPath on
SVNParentPath /svn
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile /svn/passwd.http
AuthzSVNAccessFile /svn/authz
Require valid-user
</Location>
RedirectMatch ^(/svn)$ $1/

3. 安装jsvn admin

翻墙后,到 https://code.google.com/p/jsvnadmin/ 下载最新版。

** 关闭 SELinux( Linux 的访问控制)**

修改/etc/selinux/config 文件

vim /etc/selinux/config

将 SELINUX=enforcing 改为 SELINUX=disabled 后重启机器

  • ** 安装MYSQL**
# 查看该操作系统上是否已经安装了 mysql 数据库,有的话,可以通过 rpm -e 命令 或者 rpm -e --nodeps 命令来卸载掉
rpm -qa | grep mysql #开始安装
yum install mysql-server mysql mysql-devel
service mysqld start
chkconfig mysqld on

防火墙中打开 3306 端口

 vim /etc/sysconfig/iptables

加入以下文本

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

重启防火墙, 使端口配置生效

service iptables restart

设置 MySQL 数据库 root 用户的密码

mysqladmin -u root password '123456'

登录数据库后,授权远程访问

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH
GRANT OPTION;
mysql> FLUSH PRIVILEGES;
  • ** 使用 Tomcat7 部署 svn admin**

上传tomcat7并解压到/usr/local/tomcat/svnadmin-tomcat,修改tomcat的端口为和容器编码为 UTF-8

vim /usr/local/tomcat/svnadmin-tomcat/conf/server.xml

修改为

<Server port="9005" shutdown="SHUTDOWN">
<Connector port="9000" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />

防火墙中打开 9000 端口,重启防火墙

上传svnadmin.war,解压到/usr/local/tomcat/svnadmin-tomcat/webapp下

unzip  svnadmin.war -d /usr/local/tomcat/svnadmin-tomcat/webapps/svnadmin

修改svnadmin的JDBC配置

vim /usr/local/tomcat/svnadmin-tomcat/webapps/svnadmin/WEB-INF/jdbc.properties

配置如下:

#MySQL
db=MySQL#MySQL
MySQL.jdbc.driver=com.mysql.jdbc.Driver
MySQL.jdbc.url=jdbc:mysql://127.0.0.1:3306/svnadmin?characterEncoding=utf-8
MySQL.jdbc.username=root
MySQL.jdbc.password=123456#Oracle
#Oracle.jdbc.driver=oracle.jdbc.driver.OracleDriver
#Oracle.jdbc.url=jdbc:oracle:thin:@127.0.0.1:1521:svnadmin
#Oracle.jdbc.username=root
#Oracle.jdbc.password=123456

利用客户端工具创建一个 svnadmin 数据库实例并导入相应数据,数据库脚本是安装包下的db/mysql5.sql 和 db/lang/en.sql 文件。下图是运行脚本后创建好的表。

启动tomcat,输入网址 http://192.168.88.15:9000/svnadmin/ 登录svn管理后台,看到该页面后即部署成功。第一次登录需要设置账户和密码。

4. 使用svnadmin

假设现在有以下需求:svntest项目组有jack、rick、rose三个成员,其中jack是项目经理,rick是开发人员,rose是测试人员。svntest项目的仓库URL是http://192.168.88.15/svn/svntest,仓库的目录结构如下:

svntest|_____tags|_____trunk|_____branches

jack是属于管理组,对根目录以及所有的子目录拥有读写权限;rick属于开发组,只拥有trunk以及所有的子目录读写权限, rose可以读取tags目录,但不能写。

4.1 创建仓库

为SVN仓库创建一个名为svntest的库

创建完毕后,在SVN库的根目录下将会被创建一个svntest的文件夹

[root@www svn]# ls /svn
authz  httpd.conf  passwd.http  svntest

authz 文件是权限管理文件,通过上面创建了svntest这个库后,这里默认建立了三个角色(组):developer、manager、tester,其中manager给予了读写权限。

[root@www svn]# cat authz
[aliases]
[groups]
svntest_developer=
svntest_manager=
svntest_tester=[svntest:/]
@svntest_manager=rw

** 重要:修改项目仓库目录拥有者和赋予读写权限,每次创建新的仓库都要重新授权**

因为现在项目仓库目录归属为root,但是我们通过svn管理控制平台操作该目录的时候默认是使用apache的账户,所以对该目录没有读写权限。

现在的/svn所属

[root@www svn]# ll /svn
drwxr-xr-x 6 root   root   4096 Mar  2 14:54 svntest
[root@www svn]# vim /etc/httpd/conf/httpd.conf#文件的内容里面有以下字段
User apache
Group apache

修改所属组和权限

chown -R apache.apache /svn/svntest
chmod -R 777  /svn/svntest

4.2 创建用户和添加为组员

点击右上角的用户分别创建jack/rick/rose三个用户。

把admin和jack用户设置为管理组,rick设置为开发组,rose设置为测试组。** admin添加到管理组才能为相应的组给予相应的权限。**

4.3 建立项目的目录

利用乌龟SVN使用管理组的账号jack检出项目,并在根目录下建立相应的子目录,最后上传代码库。

4.4 权限控制

登录SVN管理平台,点击相应的项目进行权限授予。

转载于:https://my.oschina.net/thinwonton/blog/848746

持续集成-SVN版本管理系统的安装相关推荐

  1. SVN版本管理系统的安装 CentOS + Subversion + Apache + Jsvnadmin

    CI服务器:192.168.4.221 root用户操作 建议安装前更新操作系统 yum update 更新完成后重启 reboot 安装apache yum install httpd httpd- ...

  2. Jenkins——持续集成及Jenkins介绍和安装配置(插件,用户权限,凭据,Maven安装打包,配置tomcat用户权限)

    持续集成及Jenkins介绍和安装配置 持续集成及Jenkins介绍 软件开发生命周期 持续集成 持续集成的组成要素 持续集成的好处 Jenkins介绍 Jenkins安装和持续集成环境配置 Gitl ...

  3. sonarqube连mysql_.net持续集成sonarqube篇之sonarqube安装与基本配置

    原标题:.net持续集成sonarqube篇之sonarqube安装与基本配置 Sonarqube下载与安装 Sonarqube下载地址是:https://www.sonarqube.org/down ...

  4. 持续集成服务器(CruiseControl)安装和配置

    1.下载安装 我使用的是CruiseControl-2.8.4 CruiseControl:http://cruisecontrol.sourceforge.net/ SVN:http://subve ...

  5. Jenkins持续集成环境之Maven的安装和配置

    在Jenkins集成服务器上,我们需要安装Maven来编译和打包项目. 1)安装Maven tar -xzf apache-maven-3.6.2-bin.tar.gz 解压 2)配置环境变量 vi ...

  6. .net持续集成sonarqube篇之sonarqube安装与基本配置

    Sonarqube下载与安装 Sonarqube下载地址是:https://www.sonarqube.org/downloads/下载版本有两个,一个是长期支持版,另一个是最新版,此处安装的是最新版 ...

  7. SVN版本管理系统的使用(CentOS+Subversion+Apache+Jsvnadmin+TortoiseSVN)

    1.服务器: 192.168.4.221 root 用 户操作 安装 装 apache # yum install httpd httpd-devel # service httpd start # ...

  8. 持续集成之jenkins下载及安装

    个人推荐rpm方式安装-- 一.yum方式安装: jenkins官方下载地址 https://www.jenkins.io/zh/download/https://www.jenkins.io/zh/ ...

  9. Jenkins持续集成环境之tomcat的安装和配置

    1)安装tomcat 把Tomcat压缩包上传到服务器 tar -xzf apache-tomcat-8.5.47.tar.gz 解压 bin/startup.sh 启动tomcat 注意:服务器已经 ...

最新文章

  1. MFC文件操作大全,打开,保存,复制,删除,查找等
  2. SetConsoleCtrlHandler 处理控制台消息
  3. 【代码笔记】iOS-performSelectorOnMainThread
  4. php屏蔽ip时间段,php中限制ip段访问、禁止ip提交表单的代码分享/用PHP打印出前一天的时间格式:...
  5. 粒子群算法的惩罚函数的c语言实现,粒子群算法结合惩罚函数用于桥式起重机主梁优化.pdf...
  6. 原核DNA甲基化简述
  7. 第三方定量定性检测质谱实验
  8. 私域运营电商平台和传统电商平台有什么不同?
  9. background简写属性
  10. css绘制星星闪烁,CSS3 闪烁的星星
  11. MIPI DSI转LVDS东芝TC358775XBG视频解码芯片,RK3399点LVDS屏必备
  12. 信号电缆与计算机电缆区别,控制电缆与计算机电缆有什么区别
  13. linux tty字体,ArchLinux TTY 中文字体渲染
  14. 剑网3手游怎么在电脑上玩 剑网3手游电脑版玩法教程
  15. Kafka是如何实现高性能的?
  16. linux opengl es,在Linux上,如何开发OpenGL ES(GLES)2.0应用程序?
  17. 【魔改练习题】五只小猪称体重
  18. Debian下安装3322动态域名更新程序
  19. metric--路由度量值
  20. 疑难杂症:导航装置的高可用

热门文章

  1. rdworksv8教学说明书_操作说明书-深圳睿达科技有限公司.PDF
  2. 托管C++中函数调用的双重转换(Double Thunking)
  3. 双击下载当日bing壁纸
  4. Mac安装鸿蒙系统,搭建MAC系统下的Wi-Fi loT Hi3861鸿蒙开发环境
  5. Ubuntu系统中wineHQ的卸载
  6. java 布尔值的判断
  7. Wi-Fi的 8-stream sounding 和 8x8 MU-MIMO之间有什么关系?
  8. Anaconda+tensorflow+opencv安装+pycharm设置(win10系统)
  9. 2018,金融机构的下一个发力点在哪?
  10. selenium 如何解决网页信任证书的问题