linux安装Subversion版本控制工具(Subversion + Apache + jsvnadmin)
操作系统:Centos 6.7
集成环境服务器:10.0.210.112
操作用户:root
建议安装前更新操作系统
# yum update
更新完成后重启
# reboot
1: 安装 Apache
# yum install httpd httpd-devel
# service httpd start
# chkconfig httpd on
2: 修改httpd.conf 配置文件:
# vi /etc/httpd/conf/httpd.conf
找到 ServiceName 并修改成:
ServiceName localhost:80
3: 防火墙中配置80端口:
# vi /etc/sysconfig/iptables
增加: -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
4: 重启防火墙:
# service iptables restart
5: 访问 Apache : http://10.0.210.112 :
6: 安装 SVN 服务:
# yum install mod_dav_svn subversion (必须安装mod_dav_svn模块)
# cd /etc/httpd/conf.d
# ls
此时你可以看到一个subversion.conf配置文件,svn安装完成后重启 Apache
# service httpd restart
7:查看模块是否安装成功:
# ls /etc/httpd/modules/ | grep svn
mod_authz_svn.so
mod_dav_svn.so
8: 创建Svn库主目录(多库模式,一份配置文件管理多个库)
# mkdir /svn/
9:修改subversion.conf 配置文件:
# vi /etc/httpd/conf.d/subversion.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/
10:创建 /svn/passwd.http 和 /svn/authz
# touch /svn/passwd.http
# touch /svn/authz
11: 重启 Apache
# service httpd restart
12: 下载 jsvnadmin (需要FQ),第步需要用到 :
https://code.google.com/p/jsvnadmin/
https://jsvnadmin.googlecode.com/files/svnadmin-3.0.5.zip
13: 安装 Mysql (单独安装,与业务系统的数据库分开)
# rpm -qa | grep mysql (查看该操作系统上是否已经安装了mysql数据库)
有的话,可以通过 rpm -e 命令或者 rpm -e --nodeps 命令来卸掉
# yum install mysql-server mysql mysql-devel
# service mysqld start
14: 用chkconfig --list | grep mysqld 查看Mysql是否开机启动
# chkconfig --list | grep mysqld
# mysqld 0:off 1:off 2:off 3:off 4:off 5:off 6:off
# chkconfig mysqld on
方便远程管理,防火墙打开3306端口
# vi /etc/sysconfig/iptables 增加以下内容:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
# service iptables restart
15: 设置 Mysql数据库root用户的密码:
# mysqladmin -u root password 'wangfajun'
16:登录数据库:
mysql -u root -p
17: Mysql授权远程访问(先用root登录Mysql)
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'wangfajun' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;
18: 使用Tomcat7部署svnadmin(我的Tomcat放置在/root下):
# cd /root
# tar -zxvf apache-tomcat-7.0.61.tar.gz (解压)
# mv apache-tomcat-7.0.61 svnadmin-tomcat (重命名)
19: 修改Tomcat 的端口为9000,容器编码为UTF-8:
# vi /root/svnadmin-tomcat/conf/server.xml 修改以下内容:
<Server port="" shutdown="SHUTDOWN">
<Connector port="" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"/>
20:防火墙配置9000端口:
# vi /etc/sysconfig/iptables
增加以下内容:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9000-j ACCEPT
#service iptables restart
21: 上传svnadmin.war 到 /root/svnadmin-tomcat/webapps 目录:
# cd /root/svnadmin-tomcat/webapps
解压
# unzip svnadmin.war -d svnadmin
# cd svnadmin/WEB-INF
# vi jdbc.properties
db=MySQL
#MySQL
MySQL.jdbc.driver=com.mysql.jdbc.Driver
MySQL.jdbc.url=jdbc:mysql://127.0.0.1:3306/svnadmin?characterEncoding=utf-8 注:127.0.0.1也可以是你的主机地址:10.0.210.112
MySQL.jdbc.username=root
MySQL.jdbc.password=wangfajun
22:创建数据库svnadmin并导入响应数据(utf-8编码)
执行:db/mysql5.sql和db/lang/en.sql
23:启动svnadmin-tomcat:
# /root/svnadmin-tomcat/bin/startup.sh
浏览器中打开: http://10.0.210.112:9000/svnadmin
输入:admin wangfajun
24: 配置库目录权限:
# cd /svn
# chown -R apache.apache meeting_study
# chmod -R 777 meeting_study
(如果创建了新的库,都要执行上面两步授权 )
原因:当前http访问的发起者是Apache(/etc/httpd/conf/httpd.conf 中配置了),而访问的目录(/svn/meeting_study)拥有者为root)
25: 关闭SELinux(Linux的访问控制):
点击URL链接进去,会显示认证失败,原因是当前登录用户admin没有所属的一个用户组,并且linux自带的selinux访问控制跟svn目录访问有冲突
将SELINUX=enforcing 改为 SELINUX=disabled
重启生效:
# reboot
linux安装Subversion版本控制工具(Subversion + Apache + jsvnadmin)的更多相关文章
- linux安装安卓开发工具android studio
http://www.android-studio.org/ http://android-studio.org/index.php/docs/guide 最近要接触android编程,本来想装ecl ...
- 解决Linux安装 VMware tools 工具的方法
一:启动linux服务器,并用远程登录工具访问linux服务器 1:启动系统 2:用服务器控制台 :查看点ip地址 3:用客户端 连接服务器 二:挂起 vm虚拟机的 tools 安装光盘 三:开始 ...
- Linux 安装Jdk、mysql、apache、php、tomcat、nginx
Jdk 安装分三步:第一步,上传跟 linux 位数相同的 jdk tar 包,解压:第二步:解压 tar 包,配置环境变量,且 source 一下 /etc/profile:第三步:检查版本 第一步 ...
- Linux安装 微信开发者工具(deepin linux ubt)
一.环境:: deepin linux15.4.1 二.安装过程: 2.1 安装wine sudo apt-get install wine 2.2 安装nwjs-sdk 2.2.1 下载linux版 ...
- Kali linux安装漏洞扫描工具Nessus指南
引子:Nessus是著名信息安全服务公司tenable推出的一款漏洞扫描与分析软件,号称是"世界上最流行的漏洞扫描程序,全世界超过75,000个组织在使用它".虽然这个扫描程序能够 ...
- linux 安装vbox增强工具
首先在虚拟机控制台点设备--------安装增强功能,这样会用虚拟光驱加载增强功能镜象. 然后打开终端,先转到root身份:=================su================= f ...
- Linux安装Sqlmap等工具
简单记录一下安装过程,都是小白教程,省的哪天又忘了要去百度. 1.下载sqlmap 源码进行安装 wget https://github.com/sqlmapproject/sqlmap/tarbal ...
- linux安装mysql可视化工具MySQL-workbench 连接数据库 执行sql
Step1:建立数据库连接 点击新建连接的按钮,符号是“+”的按钮,出现下图,在“Connection name”输入连接名称. 填写连接信息 输入数据库连接密码 测试连接: 再次点击连接时会要求输入 ...
- linux安装python串口工具pyserial遇到不能成功导入的问题
常规方法:pip install pyserial导入serial后提示: 解决方法:apt install python3-serial 参考:https://stackoverflow.com/q ...
随机推荐
- Data truncation: Data too long for column 'content' at row 1
项目运行报错: Data truncation: Data too long for column 'content' at row 1 是由于字段长度太小导致的 搜索mysql 中text 字段长度 ...
- HDOJ 5667 Sequence//费马小定理 矩阵快速幂
题目:http://acm.hdu.edu.cn/showproblem.php?pid=5667 题意:如题给了一个函数式,给你a,b,c,n,p的值,叫你求f(n)%p的值 思路:先对函数取以a为 ...
- Gitbash如何支持交互式命令?如何让gitbash的命令不乱码?winpty是什么鬼?干嘛用的?
winpty 是一个 Windows 软件包,提供了类似 Unix pty-master 一样的接口,用于实现控制台程序之间的通讯.该软件包包括一个开发库 (libwinpty) 和一个用于 ygwi ...
- P3723 [AH2017/HNOI2017]礼物
题目链接:[AH2017/HNOI2017]礼物 题意: 两个环x, y 长度都为n k可取 0 ~ n - 1 c可取任意值 求 ∑ ( x[i] - y[(i + k) % n + 1] ...
- 洛谷P4155 [SCOI2015]国旗计划(贪心,树形结构,基数排序)
洛谷题目传送门 \(O(n)\)算法来啦! 复杂度优化的思路是建立在倍增思路的基础上的,看看楼上几位巨佬的描述吧. 首先数组倍长是一样的.倍增法对于快速找到\(j\)满足\(l_j+m\le r_i\ ...
- 参考RPC
普遍RPC在客户端需要提供接口,如果不提供则无法进行调用.同时,因为客户端也依赖提供的接口,服务端的升级.优化所带来的更新,客户端也要及时的更新API,否则会带来影响.这样,就带来了依赖接口,常常更新 ...
- 0-1背包 VIOJ1025
P1025小飞侠的游园方案 请 登录 后递交 标签:[显示标签] 描述 菜虫:你的题目是--我们的情报组织探听到敌人的重要将领--小飞侠星期天会邀他的灵儿妹妹到公园去玩.公园里有很多娱乐项目,可并不是 ...
- A.01.02—模块的输入—高端输入
高端输入即一个高电平信号输入到模块,模块采样时最典型的是采用下拉电阻采样,当然,还有限流电阻和分压电阻,具体可以参见实际电路. 高端输入在汽车上用得不多,这种类型的输入既可以是开关提供的也可以是模块提 ...
- hdu 1978 How many ways(记忆化搜索)
这是一个简单的生存游戏,你控制一个机器人从一个棋盘的起始点(1,1)走到棋盘的终点(n,m).游戏的规则描述如下:1.机器人一开始在棋盘的起始点并有起始点所标有的能量.2.机器人只能向右或者向下走,并 ...
- Nio再学习之NIO的buffer缓冲区
1. 缓冲区(Buffer): 介绍 我们知道在BIO(Block IO)中其是使用的流的形式进行读取,可以将数据直接写入或者将数据直接读取到Stream对象中,但是在NIO中所有的数据都是使用的换冲 ...