热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Centos7SVN+Apache模式部署

服务器端一、SVN配置1、IP地址[root@svn~]#catetcedhat-releaseCentOSLinuxrelease7.6.1810(Core)[root@svn~


服务器端

一、SVN配置

1、IP地址

[root@svn ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
[root@svn ~]# ip add
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:a8:2a:50 brd ff:ff:ff:ff:ff:ff
inet 192.168.75.129/24 brd 192.168.75.255 scope global noprefixroute dynamic ens33
valid_lft 1777sec preferred_lft 1777sec
inet6 fe80::8e71:d2d2:6dc1:5f9d/64 scope link noprefixroute
valid_lft forever preferred_lft forever

2、临时关闭防火墙和selinux,根据需求可以永久关闭

[root@svn ~]# systemctl stop firewalld
[root@svn ~]# setenforce 0

3、安装subversion

[root@svn ~]# yum install -y subversion

4、查看svn版本

[root@svn ~]# svnserve --version
svnserve, version 1.7.14 (r1542130)
compiled Sep 30 2020, 17:44:04
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.

5、创建SVN版本库(项目仓库)

1、创建所有项目的根目录
[root@svn ~]# mkdir -p /data/svn
2、在根目录创建相关子项目目录XPH
[root@svn ~]# mkdir -p /data/svn/XPH
3、在子目录XPH创建三个所属版本库
[root@svn ~]# svnadmin create /data/svn/XPH/xph-art
[root@svn ~]# svnadmin create /data/svn/XPH/xph-backend
[root@svn ~]# svnadmin create /data/svn/XPH/xph-docs
4、在子目录XPH创建统一管理的用户密码和权限目录
[root@svn ~]# mkdir -p /data/svn/XPH/auth
5、查看结果
[root@svn ~]# ll /data/svn/XPH/
total 0
drwxr-xr-x. 2 root root 6 Dec 28 05:12 auth
drwxr-xr-x. 6 root root 86 Dec 28 05:08 xph-art
drwxr-xr-x. 6 root root 86 Dec 28 05:09 xph-backend
drwxr-xr-x. 6 root root 86 Dec 28 05:09 xph-docs

6、拷贝用户权限文件进行修改,名字对应项目版本库

1、拷贝文件(目前文件内容都一样)
[root@svn ~]# cd /data/svn/XPH/
[root@svn XPH]# cp xph-art/conf/authz auth/xph-art-auth
[root@svn XPH]# cp xph-backend/conf/authz auth/xph-backend-auth
[root@svn XPH]# cp xph-docs/conf/authz auth/xph-docs-auth
2、编辑xph-art-auth文件
[root@svn XPH]# vin /data/svn/XPH/auth/xph-art-auth
[aliases]
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
admin = admin
Producter = art
[/]
@admin = rw
@Producter = rw
3、编辑xph-backend-auth文件
[root@svn XPH]# vi /data/svn/XPH/auth/xph-backend-auth
[aliases]
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
admin = admin
Producter = backend
[/]
@admin = rw
@Producter = rw
4、编辑xph-docs-auth文件
[root@svn XPH]# vi /data/svn/XPH/auth/xph-docs-auth
[aliases]
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
admin = admin
Producter = docs
[/]
@admin = rw
@Producter = rw

二、Apache配置

1、安装httpd、mod_dav_svn

[root@svn ~]# yum install -y httpd mod_dav_svn

2、检查apache、mod_dav_svn,安装成功会有两个文件mod_dav_svn.so和mod_authz_svn.so

[root@svn ~]# httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built: Nov 10 2021 14:26:31
[root@svn ~]# find / -name mod_dav_svn.so
/usr/lib64/httpd/modules/mod_dav_svn.so
[root@svn ~]# find / -name mod_authz_svn.so
/usr/lib64/httpd/modules/mod_authz_svn.so

3、修改配置文件/etc/httpd/conf.d/subversion.conf(如果没有可以自己增加)

[root@svn ~]# vi /etc/httpd/conf.d/subversion.conf
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

DAV svn
SVNPath /data/svn/XPH/xph-art
AuthType Basic
AuthName "Authorization SVN"
AuthzSVNAccessFile /data/svn/XPH/auth/xph-art-auth
AuthUserFile /data/svn/XPH/auth/passwd
Require valid-user


DAV svn
SVNPath /data/svn/XPH/xph-backend
AuthType Basic
AuthName "Authorization SVN"
AuthzSVNAccessFile /data/svn/XPH/auth/xph-backend-auth
AuthUserFile /data/svn/XPH/auth/passwd
Require valid-user


DAV svn
SVNPath /data/svn/XPH/xph-docs
AuthType Basic
AuthName "Authorization SVN"
AuthzSVNAccessFile /data/svn/XPH/auth/xph-docs-auth
AuthUserFile /data/svn/XPH/auth/passwd
Require valid-user

4、使用htpasswd 创建用户和密码文件

[root@svn ~]# htpasswd -cm /data/svn/XPH/auth/passwd admin
[root@svn ~]# htpasswd -m /data/svn/XPH/auth/passwd art
[root@svn ~]# htpasswd -m /data/svn/XPH/auth/passwd backend
[root@svn ~]# htpasswd -m /data/svn/XPH/auth/passwd docs
[root@svn ~]#
[root@svn ~]# cat /data/svn/XPH/auth/passwd
admin:$apr1$BS1WwAOC$1Tn0dsO6CuJBcZeKYggRO1
art:$apr1$EN6ZlZFo$V8jDvwrM7EdPUSxlg7.LQ0
backend:$apr1$reYSu9TX$20JBLanjsW7k1kh1nDwwJ.
docs:$apr1$y7gnpj3n$FKbgEf8ibF4GV7vlEhq2a/

 

 htpasswd命令是Apache的Web服务器内置工具,用于创建和更新储存用户名、域和用户基本认证的密码文件。
语法
htpasswd  (选项)  (参数)

选项
-c:创建一个加密文件;
-n:不更新加密文件,只将加密后的用户名密码显示在屏幕上;
-m:默认采用MD5算法对密码进行加密;
-d:采用CRYPT算法对密码进行加密;
-p:不对密码进行进行加密,即明文密码;
-s:采用SHA算法对密码进行加密;
-b:在命令行中一并输入用户名和密码而不是根据提示输入密码;
-D:删除指定的用户。

参数
用户:要创建或者更新密码的用户名;
5、配置apache对SVN目录权限

[root@svn ~]# chown -R apache:apache /data/svn
[root@svn ~]# chmod 755 -R /data/svn

6、修改httpd配置文件

7、启动apache

[root@svn ~]# systemctl start httpd

8、查看端口

[root@svn ~]# systemctl status httpd
[root@svn ~]#
[root@svn ~]# ss -ntlp |grep 80
LISTEN 0 128 :::80 :::* users:(("httpd",pid=21026,fd=4),("httpd",pid=21024,fd=4),("httpd",pid=21023,fd=4),("httpd",pid=21022,fd=4),("httpd",pid=21021,fd=4),("httpd",pid=20987,fd=4))


客户端

一、访问测试

1、浏览器输入IP+项目名称

 

2、显示Revision 0即表示成功

3、使用svn客户端

4、输入用户和密码

 5、

 6、客户端提交

 7、浏览器查看同步数据


二、用户权限

1、admin管理员用户可以登录所有的项目

 

2、其他项目只有自己授权的用户才能登录



推荐阅读
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
author-avatar
mobiledu2502894753
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有