CentOs7.7+apache+svn+jsvnadmin 搭建HTTP版本SVN(最全,个人摘录)

我的环境

Centos7.7+mysql5.6.40(mysql版本不限制)
开始安装前先把操作系统的防火墙关闭

# systemctl stop firewalld.service

以及selinux设置为disabled

# vi /etc/selinux/config
SELINUX=disabled
改完后重启机器

话不多说,直接开始,跟着一步一步往下操作,绝对ojbk!

一、开始安装apache

# yum install httpd

开启apache服务(Centos7 开启服务换成了systemctl 命令)

# systemctl start httpd

查看apache是否启动

# systemctl status httpd 
[root@localhost Aitsvn]# systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2020-04-30 18:04:54 CST; 36min ago
     Docs: man:httpd(8)
           man:apachectl(8)
  Process: 2814 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS)
 Main PID: 2820 (httpd)
   Status: "Total requests: 0; Current requests/sec: 0; Current traffic:   0 B/sec"
   CGroup: /system.slice/httpd.service
           ├─2820 /usr/sbin/httpd -DFOREGROUND
           ├─2821 /usr/sbin/httpd -DFOREGROUND
           ├─2822 /usr/sbin/httpd -DFOREGROUND
           ├─2823 /usr/sbin/httpd -DFOREGROUND
           ├─2824 /usr/sbin/httpd -DFOREGROUND
           └─2825 /usr/sbin/httpd -DFOREGROUND

Apr 30 18:04:54 localhost systemd[1]: Starting The Apache HTTP Server...
Apr 30 18:04:54 localhost httpd[2820]: [Thu Apr 30 18:04:54.289490 2020] [s...ng
Apr 30 18:04:54 localhost httpd[2820]: [Thu Apr 30 18:04:54.289591 2020] [s...ng
Apr 30 18:04:54 localhost systemd[1]: Started The Apache HTTP Server.
Hint: Some lines were ellipsized, use -l to show in full.

设置开机自自动apache服务

# systemctl enable httpd   

(取消开机自自动 systemctl disable httpd)
修改 /etc/httpd/conf/httpd.conf 文件

# vim /etc/httpd/conf/httpd.conf

找到ServerName 并修改成

ServerName localhost:80

然后重启下httpd

systemctl restart httpd

完成操作之后可以在浏览器输入你的服务器IP,可以看到Testing 123.. 几个字的状态 说明apache启动成功!

二、开始安装mysql

检查系统是否安装其他版本的MYSQL数据

#yum list installed | grep mysql
#yum -y remove mysql-libs.x86_64

安装及配置

# wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
# rpm -ivh mysql-community-release-el6-5.noarch.rpm
# yum repolist all | grep mysql

安装MYSQL数据库

# yum install mysql-community-server -y
设置为开机启动(2、3、4都是on代表开机自动启动)
# chkconfig --list | grep mysqld
# chkconfig mysqld on

设置远程root,启动mysql

# service mysqld start
# mysql_secure_installation

登陆root账号

# mysql -uroot -p 

建立远程root用户

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你设置的密码' WITH GRANT OPTION;
mysql> flush privileges;

重启mysqld服务:

# service mysqld restart

三、安装SVN服务

# yum install mod_dav_svn subversion

必须安装mod_dav_svn模块
查看测试是否安装svn模块

# ls /etc/httpd/modules/ | grep svn
[root@localhost Aitsvn]# ls /etc/httpd/modules/ | grep svn
mod_authz_svn.so
mod_dav_svn.so

查看svn的版本信息

[root@localhost Aitsvn]# svn --version
svn, version 1.7.14 (r1542130)
   compiled Apr 11 2018, 02:40:28

Copyright (C) 2013 The Apache Software Foundation.
This software consists of contributions made by many people; see the NOTICE
file for more information.
Subversion is open source software, see http://subversion.apache.org/

The following repository access (RA) modules are available:

* ra_neon : Module for accessing a repository via WebDAV protocol using Neon.
  - handles 'http' scheme
  - handles 'https' scheme
* ra_svn : Module for accessing a repository using the svn network protocol.
  - with Cyrus SASL authentication
  - handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' scheme

安装完svn后要重新加载下apache

#systemctl reload httpd

至此SVN 安装完成!
下面是配置创建使用svn:
创建Aitsvn库主目录(多库模式,一份配置文件管理多个库)

# mkdir -p /data/svn/Aitsvn
# chown -R apache:apache /data/svn/Aitsvn
# chmod -R 777 /data/svn/Aitsvn

进入 /etc/httpd/conf.d 目录

#cd /etc/httpd/conf.d
#ls

如果此目录下没有subversion.conf配置文件的话自己添加(我这里是没有的,所以自己创建)

#vim subversion.conf

把以下内容复制进去 (vim操作 按esc键 输入:wq! 保存退出)

#Include /svn/httpd.conf
LoadModule dav_svn_module    modules/mod_dav_svn.so
LoadModule authz_svn_module  modules/mod_authz_svn.so
<Location /data/svn/Aitsvn/>
DAV svn
SVNListParentPath on
SVNParentPath /data/svn/Aitsvn
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile /data/svn/Aitsvn/passwd.http
AuthzSVNAccessFile /data/svn/Aitsvn/authz
Require valid-user
</Location>
RedirectMatch ^(/data/svn/Aitsvn)$ $1/

切换cd到/data/svn/Aitsvn 目录下并创建passwd.http 和authz文件

#touch passwd.http
#touch authz
#chmod -R 777 passwd.http authz

此处两个文件是为了svnadmin后续调用验证的,创建好就行了。
修改svn配置文件

[root@localhost svn]# vi /etc/sysconfig/svnserve
OPTIONS="-r /data/svn/Aitsvn"

四、安装tomcat和jsvnadmin

jsvnadmin就是一个web项目
那么首先要安装tomcat 我用的是apache-tomcat-8.5.54.tar.gz 安装在/usr/local/tools目录下面
windows下下载好之后,使用winscp工具上传到你的系统环境内,解压

#tar -zxvf apache-tomcat-8.5.54.tar.gz

重命名

#mv apache-tomcat-8.5.54 svn-tomcat

再进入svn-tomcat的conf文件夹修改访问端口(我使用的是90端口,避免端口被占用)

[root@localhost conf]# vim server.xml
<Connector port="90" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

改好之后退出,然后切换到webapps且删除webapps下的所有内容

#cd /usr/local/tools/svn-tomcat/webapps
#rm -rf *

下载svnadmin-3.0.5.zip,我用的这个版本,请在前面到我网盘连接下,下载好传到你的环境内放在root目录里。
然后解压查看并把svnadmin.war移到/usr/local/tools/svn-tomcat/webapps/目录内再次解压:

[root@localhost ~]# unzip svnadmin-3.0.5.zip
[root@localhost ~]# ls
db       svnadmin-javadoc.jar       svnadmin-sources.jar
log.log  SvnAdmin_Manual_zh_CN.pdf  svnadmin.war
[root@localhost ~]# cp svnadmin.war /usr/local/tools/svn-tomcat/webapps/
[root@localhost ~]# cd /usr/local/tools/svn-tomcat/webapps/
[root@localhost webapps]#unzip svnadmin.war -d svnadmin

编辑jdbc配置文件:

[root@localhost webapps]# cd svnadmin/WEB-INF
[root@localhost WEB-INF]# vim 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
MySQL.jdbc.username=root
MySQL.jdbc.password=你的数据库密码

jdbc.properties内其它文字删除。
到此步已经配置好svnadmin的相关文件了。

四、安装jdk(tomcat运行需要jdk环境)

jdk软件包:jdk-8u251-linux-x64.rpm(我百度网盘下载然后传到你的root根目录下)
执行:

[root@localhost ~]# rpm -ivh jdk-8u251-linux-x64.rpm

配置环境变量,在最后一行添加以下内容:

[root@localhost ~]# vi /etc/profile
JAVA_HOME=/usr/java/jdk1.8.0_251-amd64
CLASSPATH=%JAVA_HOME%/lib:%JAVA_HOME%/jre/lib
export CLASSPATH JAVA_HOME

保存退出,刷新下环境,查看版本:

[root@localhost ~]# source /etc/profile
[root@localhost ~]# java -version
java version "1.8.0_251"
Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)

到这里jdk环境就安装好了 ,我们启动tomcat

[root@localhost ~]# /usr/local/tools/svn-tomcat/bin/startup.sh
Using CATALINA_BASE:   /usr/local/tools/svn-tomcat
Using CATALINA_HOME:   /usr/local/tools/svn-tomcat
Using CATALINA_TMPDIR: /usr/local/tools/svn-tomcat/temp
Using JRE_HOME:        /usr/java/jdk1.8.0_251-amd64
Using CLASSPATH:       /usr/local/tools/svn-tomcat/bin/bootstrap.jar:/usr/local/tools/svn-tomcat/bin/tomcat-juli.jar
Tomcat started.

至此!tomcat启动完成!

五、jsvnadmin的数据库导入

进入之前 svnadmin-3.0.5.zip解压后的db文件,

[root@localhost Svnadmin]# cd db
[root@localhost db]# ls
lang  mysql5.sql  oracle10g.sql  sqlserver2000.sql  update

我们需要把mysql5.sql和lang/en.sql导入。
创建数据库svnadmin

mysql> CREATE DATABASE `svnadmin` CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> use svnadmin;
mysql> source mysql5.sql;
mysql> source en.sql

注意数据库编码必须为UTF-8,否则会报404错误!
再给svn-tomcat加个开机启动

#vim /etc/rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

touch /var/lock/subsys/local

/usr/local/tools/svn-tomcat/bin/startup.sh

完成工作之后重启tomcat、httpd、mysql、

[root@localhost db]#/usr/local/tools/svn-tomcat/bin/shutdown.sh
[root@localhost db]#/usr/local/tools/svn-tomcat/bin/startup.sh
[root@localhost db]#service httpd restart
[root@localhost db]#service mysqld restart

服务启动OK后,访问:
http://ip地址:90/svnadmin
第一次登录,提示让你输入账号密码!
登录进去后创建项目:ceshi
路径:/data/svn/Aitsvn/ 选择(http多库)
URl:http://ip地址/data/svn/Aitsvn/ceshi
然后提交就可以了
你去查看服务器的目录/data/svn/Aitsvn/下面会多出来一个ceshi文件,这就是你的项目库!
给ceshi项目赋予apache.apache权限

# cd /data/svn/Aitsvn/
# chown -R apache.apache ceshi
# chmod -R 777 ceshi
(如创建新库,需要对新建的库目录执行以上两步授权操作)
posted @ 2020-04-30 11:50  西门妃雪  阅读(170)  评论(0)    收藏  举报