Linux系统下搭建svnadmin服务详细步骤讲解

作者:yoodb来源:https://blog.yoodb.com/yoodb/article/detail/1518 svnadmin是一个JAVA开发的管理svn服务器的项目用户的web应用。安装好svn服务器端把svnadmin.war部署至Tomcat,就可以通过web浏览器管理

作者:yoodb
来源:https://blog.yoodb.com/yoodb/article/detail/1518

svnadmin是一个JAVA开发的管理svn服务器的项目用户的web应用。安装好svn服务器端把svnadmin.war部署至Tomcat,就可以通过web浏览器管理svn的项目,用户以及目录权限,使得管理配置svn简便,之后不需要每次都到服务器上手工修改配置文件。面具体讲述一下如何在Linux系统搭建svnadmin服务,借助于Nginx,tomcat等服务。

安装MySQL,JDK,Tomcat,Nginx

安装Mysql — https://blog.yoodb.com/yoodb/article/detail/1517

安装JDK — https://blog.yoodb.com/yoodb/article/detail/209

安装Tomcat,Nginx — https://blog.yoodb.com/nikolatesla/article/detail/1439

1、安装httpd服务

1)安装Apache命令yum install httpd -y

2)安装完成后可以通过如下命令查看是否安装成功,命令httpd -version

[root@ecs-5a8d-0001 /]# httpd -version
Server version: Apache/2.4.6 (CentOS)
Server built: Nov 5 2018 01:47:09

3)修改httpd服务端口号

...
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 83
#
# Dynamic Shared Object (DSO) Support
...

4)httpd服务启动命令

[root@ecs-5a8d-0001 svn]# /bin/systemctl start httpd.service

5)查看是否启动成功(访问) http://ip:port/

能打开页面显示“Testing 123…”,表示httpd服务启动成功了。

2、安装svn模型

1)在安装svn模型之前先关掉httpd服务:

[root@ecs-5a8d-0001 svn]# /bin/systemctl stop httpd.service

2)安装svn模型命令yum install mod_dav_svn subversion -y

3)查看svn模型是否安装命令svnserve –version

[root@ecs-5a8d-0001 /]# svnserve --version
svnserve, 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 back-end (FS) modules are available:
* fs_base : Module for working with a Berkeley DB repository.
* fs_fs : Module for working with a plain file (FSFS) repository.
Cyrus SASL authentication is available.

4)查看是否多出两个模型文件命令ls /etc/httpd/modules/ | grep svn

[root@ecs-5a8d-0001 /]# ls /etc/httpd/modules/ | grep svn
mod_authz_svn.so
mod_dav_svn.so

5)创建svn仓库主目录,并建根目录软连接

[root@ecs-5a8d-0001 svn]# mkdir -p /home/yoodb/svn
[root@ecs-5a8d-0001 svn]# ln -s /home/yoodb/svn /

6)创建subversion.conf

[root@ecs-5a8d-0001 svn]# 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/

3、安装svnadmin

svnadmin下载地址 — https://jsvnadmin.googlecode.com/files/svnadmin-3.0.5.zip ,解压后有svnadmin.war和db数据库文件

1)修改tomcat端口号和字符编码(否则svn页面操作无法输入中文),命令vi /home/yoodb/svnadmin/conf/server.xml, URIEncoding=”UTF-8″

[root@ecs-5a8d-0001 svn]# vi /home/yoodb/svnadmin/conf/server.xml
...
 Java AJP Connector: /docs/config/ajp.html
 APR (HTTP/AJP) Connector: /docs/apr.html
 Define a non-SSL/TLS HTTP/1.1 Connector on port 8080
 -->
 <Connector port="82" protocol="HTTP/1.1"
 connectionTimeout="20000"
 redirectPort="8443" URIEncoding="UTF-8"/>
 <!-- A "Connector" using the shared thread pool-->
 <!--
 <Connector executor="tomcatThreadPool"
...

2)解压svnadmin-3.0.5.zip,将svnadmin.war包中jdbc.properties,提取到桌面,修改svnadmin的数据库信息。

3)创建数据并导入数据mysql5.sql,en.sql

create database svnadmin default charset utf8 collate utf8_general_ci;

4、配置nginx

server {
 listen 81;
 server_name localhost;
 location /svnadmin {
 proxy_pass http://127.0.0.1:82;
 proxy_read_timeout 150;
 }
 location /svn {
 proxy_pass http://127.0.0.1:83;
 proxy_read_timeout 150;
 }
}

5、分别启动httpd服务,tomcat服务和nginx服务

1)启动服务

[root@ecs-5a8d-0001 svn]# /bin/systemctl start httpd.service
[root@ecs-5a8d-0001 svn]# /home/yoodb/svnadmin/bin/startup.sh
[root@ecs-5a8d-0001 svn]# /usr/local/nginx/sbin/nginx/sbin/nginx

2)访问地址

http://ip:port/svnadmin,如:http://192.168.0.1:81/svnadmin

第一次需要设置管理员账号和密码:自定义管理员账号和密码。

3)创建仓库

项目:库名自定义

类型:类型为http协议多库

路径:路径相对于linux系统的目录信息

URL:http协议访问svn所在主机,后续为库地址,模拟web寻址方式

描述:描述自定义

打开项目连接可能认证失败,需要添加用户至管理组,添加后就有权限了。

如果当前用户还是没有权限是因为/svn/blog目录的权限属于root用户,而apache用户组管理的apache用户没有操作这个目录的权限,我们只需要将该目录权限赋值给apache如果以后创建新库,需要对新建的库目录执行相同操作即可。

[root@ecs-5a8d-0001 svn]# chown -R apache.apache blog

除了权限问题,还需要关闭SELinux(Linux的访问控制,一定要在局域网里关闭此权限,否则非常危险,相当于裸奔),否则会和svn的目录访问有冲突。

[root@ecs-5a8d-0001 svn]# vim /etc/selinux/config

修改内容:SELINUX=disabled

重启系统以及重启httpd服务和tomcat服务,这时就有权限了。

版权声明:(Linux系统下搭建svnadmin服务详细步骤讲解)由互联网用户自发贡献,该文观点仅代表作者本人,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件标题或链接至 service#hao123w.com ,本站将立刻删除。
(0)
上一篇 2020年11月14日 上午7:20
下一篇 2020年11月14日 上午7:33
hao123w, hao123生活号 - 让生活更简单!,更多信息请访问 http://www.hao123w.com/