SVN搭建CentOS + Subversion + Apache + Jsvnadmin

Linux平台搭建SVN服务器管理项目代码。开发环境分别为:

  1. CentOS7.2操作系统。
    1. 注CentOS7.2默认firewall作为防火墙,本文改为使用iptables防火墙。
  2. Apache 的httpd服务器的主程序。
  3. Apache Subversion管理代码服务程序。
  4. Jsvnadmin3.0.5浏览器管理SVN系统才用Java开发。

首先先安装Apache httpd服务器:

  • 详细安装步骤
--安装 apache 
# yum install httpd httpd-devel 
--启动 httpd 服务
# service httpd start 
--设定httpd 等级为on
# chkconfig httpd on

# vi /etc/httpd/conf/httpd.conf 
--找到 ServerName 并修改成 
--让Apache监听本机80端口响应客户端请求 
ServerName localhost:80

--防火墙中打开 80 端口(注:如果是云服务器则需要打开安全组80端口): 
# vi /etc/sysconfig/iptables 
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT 
--重新启动防火墙
# service iptables restart 
  • 步骤完成 访问 http://IP/ 如下图则安装成功!
    SVN搭建CentOS + Subversion + Apache + Jsvnadmin_第1张图片 -

安装SVN服务

  • 详细安装步骤
--安装 SVN 服务 和  mod_dav_svn 模块  
# yum install mod_dav_svn subversion 
--安装完 svn 后要重启 apache 
# service httpd restart
--查看测试是否安装 svn 模块 
# ls /etc/httpd/modules/ | grep svn 
mod_authz_svn.so 
mod_dav_svn.so 
--查看SVN版本
# svn --version 
--创建 svn 库主目录(多库模式,一份配置文件管理多个库) 
# mkdir /svn/  
# cd /etc/httpd/conf.d # ls  
--此时可以看到一个 subversion.conf 配置文件(是在安装 mod_dav_svn 模块时生成的,如果没有生成,则需要手动创建一个文件)
# vi subversion.conf 
--添加以下内容 
#Include 
/svn/httpd.conf 
 
DAV svn 
SVNListParentPath on 
SVNParentPath /svn 
AuthType Basic AuthName "Subversion repositories" AuthUserFile /svn/passwd.http 
AuthzSVNAccessFile /svn/authz 
Require valid-user 
 RedirectMatch ^(/svn)$ $1/


--创建/svn/passwd.http(验证文件) 和/svn/authz (授权文件)
# touch /svn/passwd.http 
# touch /svn/authz

-- 重启 apache 
# service httpd restart 

安装 jsvnadmin 客户端管理程序,这个程序是Java开发的WEB程序,所以需要安装Tomcat和Mysql数据。

安装数据库才用Mysql5.6数据库

  • 详细步骤
--1. 下载mysql的repo源
# wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

--2.安装mysql-community-release-el7-5.noarch.rpm包
# sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm

--安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。

--安装mysql
# sudo yum install mysql-server

--设置 MySQL 数据库 root 用户的密码:
 # mysqladmin -u root password 'root' 
--登录数据库: 
# mysql -u root -p

--MySQL 授权ROOT用户远程访问(先用 root 登录 mysql) ,本文仅做示例,不建议 ROOT用户对外开放访问,可以指定用户对面开放!
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'wusc.321' WITH GRANT OPTION; mysql> FLUSH PRIVILEGES; 

--查看到 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 

发布Jsvnadin程序到Tomcat里面,需要先准备好Java1.7点击下载环境。
svnadmin-3.0.5.zip 点击下载

  • 详细发布步骤
-- 进入root目录
# cd /root 
--使用 wget 下载最新版的 tomcat7 的 tar.gz 包 
--用户可以自己到网上面下载Tomcat(http://pan.baidu.com/s/1jIntO2a)
--解压
# tar -zxvf apache-tomcat-7.0.xx.tar.gz 
--
# mv apache-tomcat-7.0.xx svnadmin-tomcat 

--修改 Tomcat 的端口为 9000 和容器编码为 UTF-8 
# vi /root/svnadmin-tomcat/conf/server.xml 
"9005" shutdown="SHUTDOWN">
--修改Tomcat端口并修改编码为UTF-8
"9000" protocol="HTTP/1.1"                connectionTimeout="20000"                redirectPort="8443" URIEncoding="UTF-8" />


--防火墙中打开 9000 端口 
# vi /etc/sysconfig/iptables 
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9000 -j ACCEPT 
--重启防火墙,使端口配置生效 
# service iptables restart  
--删除Webapps目录下面所有文件
# cd /root/svnadmin-tomcat/webapps 
# rm -rf * 
--上传 svnadmin.war 到/root/svnadmin-tomcat/webapps 目录 
# cd /root/svnadmin-tomcat/webapps 
--解压 War包
# unzip svnadmin.war -d svnadmin 
--进入svnadmin/WEB-INF
# cd svnadmin/WEB-INF 
# vi jdbc.properties 
#内容改为如下 本文采用 Mysql数据库,修改建立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=root  
--创建 svnadmin 数据库并导入相应数据(UTF-8 编码) 执行 db/mysql5.sql 和 db/lang/en.sql  
--启动 svnadmin-tomcat 
# /root/svnadmin-tomcat/bin/startup.sh

浏览器中打开:http://ip:9000/svnadmin/ ,首次需要指定Admin管理员密码里面。

SVN搭建CentOS + Subversion + Apache + Jsvnadmin_第2张图片

SVN搭建CentOS + Subversion + Apache + Jsvnadmin_第3张图片
SVN搭建CentOS + Subversion + Apache + Jsvnadmin_第4张图片
SVN搭建CentOS + Subversion + Apache + Jsvnadmin_第5张图片

此时: /svn/目录下会创建一个 svntest 的 SVN 库目录。 同 时 也 会 多 出 一 个 httpd.conf 文 件 , 内 容 与 subversion.conf 一 样 , 在 /etc/httpd/conf.d/subversion.conf 中已配置。
/svn/authz 授权文件中会多出如下内容:
[aliases]
[groups]
wusc_edu_developer=
wusc_edu_manager=
wusc_edu_tester=
[wusc_edu:/]
@wusc_edu_manager=rw
以上过程其实是调用了 svn 对应的命令做了相应的操作

配置库目录权限:
用户通过Web浏览器访问apache httpd服务器,apache通过 用户 apache访问SVN服务器所以需要修改SVN库权限为 apache可以访问,否则用户下载下来项目无法对项目仓库进行文件修改。
vim /etc/httpd/conf/httpd.conf
SVN搭建CentOS + Subversion + Apache + Jsvnadmin_第6张图片

-- 创建新库,需要对新建的库目录执行以上两步授权操作。
 # cd /svn 
 # chown -R apache.apache svntest 
 # chmod -R 777 svntest
-- 关闭 SELinux(Linux 的访问控制),修改/etc/selinux/config 文件 
# vi /etc/selinux/config 
--将 SELINUX=enforcing 改为 SELINUX=disabled
SELINUX=disabled 
--重启机器即可 
# reboot   

注:如果需要重新启动服务器,需要检查 httpd服务器是否启动

--查看状态
# service httpd status
--启动httpd
# service httpd start

其次检查 Tomcat和Mysql是否启动,本文没有将Tomcat配置自启动。

你可能感兴趣的:(Dubbo学习,linux)