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

服务端安装SVN记录及httpd、nginx实现端口转发域名访问(CentOS7)

目录一、SVN介绍二、SVN安装流程三、详细配置文件1、visvnserve.conf2、viauthz3、vipasswd4、vietcsysconfigsvnse

目录

一、SVN介绍

二、SVN安装流程

三、详细配置文件

1、vi svnserve.conf 

2、vi authz

3、vi passwd   

4、vi /etc/sysconfig/svnserve

四、客户端测试

1、服务端登录验证

2、端口转发及客户端验证

1)配置httpd转发

2)配置nginx转发

 3、客户端访问




一、SVN介绍

SVN的全称是Subversion,即版本控制系统。作为一个开源的版本控制系统,Subversion管理着随时间改变的数据。这些数据放置在一个中央资料档案库(Repository)中。这个档案库很像一个普通的文件服务器,不过它会记住每一次文件的变动。这样就可以把档案恢复到旧的版本,或是浏览文件的变动历史。Subversion是一个通用的系统,可用来管理任何类型的文件,其中包括程序源码。


二、SVN安装流程

//安装SVN服务端
[root@yang ~]# yum install subversion
[root@yang ~]# cd /opt/
//创建svn版本仓库
[root@yang opt]# mkdir -p svn/repos
[root@yang opt]# cd svn/
[root@yang svn]# chmod -R 777 repos
[root@yang svn]# cd repos/
[root@yang svn]# svnadmin create /opt/svn/repos
[root@yang svn]# cd /opt/svn/repos/
[root@yang repos]# cd conf/
[root@yang conf]# ls
authz  passwd  svnserve.conf
//配置版本库信息,用户文件和用户密码文件的路径,版本库路径
[root@yang conf]# vi svnserve.conf
[root@yang conf]#
[root@yang conf]# vi authz
[root@yang conf]# vi passwd
//设置svn自启动
[root@yang conf]# cat /lib/systemd/system/svnserve.service
[Unit]
Description=Subversion protocol daemon
After=syslog.target network.target[Service]
Type=forking
EnvirOnmentFile=/etc/sysconfig/svnserve
ExecStart=/usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid $OPTIONS[Install]
WantedBy=multi-user.target
[root@yang conf]#
[root@yang conf]# vi /etc/sysconfig/svnserve
[root@yang conf]#
[root@yang conf]# setenforce 0
setenforce: SELinux is disabled
[root@yang conf]# systemctl enable svnserve.service
Created symlink from /etc/systemd/system/multi-user.target.wants/svnserve.service to /usr/lib/sy stemd/system/svnserve.service.
//启动SVN
[root@yang conf]# systemctl start svnserve.service
//启动SVN后测试
[root@yang conf]# netstat -ntlp|grep 3690
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 5027/svnserve

三、详细配置文件


1、vi svnserve.conf 


//配置版本库信息
//这四行,前面的#号和空格去掉
//anon-access改成none,匿名访问的权限,可以是read,write,none,默认为read
anon-access = none
auth-access = write  //使授权用户有写权限
password-db = passwd //密码数据库的路径
//认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm = /opt/svn/repos
//保存退出


2、vi authz


//创建svn组和组用户的权限 
[groups]
 //创建一个组,并制定两个用户
admin = root,yang
//制定根目录下的权限
[/]
//first组用户权限为读写
@admin = rw
//其他用户只有读权限
* = r
//保存退出


3、vi passwd   


//创建或修改用户密码 
[users]
root = 123456
yang = 123456
//保存退出


4、vi /etc/sysconfig/svnserve


//修改svn的service配置文件
OPTIOnS="-r /opt/svn/repos"


四、客户端测试


1、服务端登录验证

[root@yang conf]# svn checkout svn://XXX.XXX.XXX.XXX:3690/
Authentication realm: svncode
Password for 'root':-----------------------------------------------------------------------
ATTENTION! Your password for authentication realm: /opt/svn/reposcan only be stored to disk unencrypted! You are advised to configure
your system so that Subversion can store passwords encrypted, if
possible. See the documentation for details.You can avoid future appearances of this warning by setting the value
of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
'/root/.subversion/servers'.
-----------------------------------------------------------------------
Store password unencrypted (yes/no)? yes
Checked out revision 0.


2、端口转发及客户端验证


1)配置httpd转发

安装httpd,mod_dav_svn


yum install -y httpd mod_dav_svn


 检查Apache,mod_dav_svn是否安装成功

安装成功后,会有mod_dav_svn.so和mod_authz_svn.so两个文件。

[root@yang conf]# httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built: Nov 16 2020 16:18:20
[root@yang conf]# find / -name mod_dav_svn.so
/usr/lib64/httpd/modules/mod_dav_svn.so
[root@yang conf]# find / -name mod_authz_svn.so
/usr/lib64/httpd/modules/mod_authz_svn.so

 增加配置文件/etc/httpd/conf.d/subversion.conf

[root@yang conf]# vim /etc/httpd/conf.d/subversion.conf
[root@yang conf]# cat /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 svnSVNParentPath /opt/svn/SVNListParentPath OnAuthType BasicAuthName "Authorization SVN"AuthzSVNAccessFile /opt/svn/authzAuthUserFile /opt/svn/passwdRequire valid-user

 创建用户文件passwd

[root@yang conf]# touch /opt/svn/passwd
[root@yang conf]# htpasswd /home/data/svn/passwd root
New password: 123456
Re-type new password: 123456
Adding password for user root
[root@yang conf]#
[root@yang conf]# cat /opt/svn/passwd
root:$apr1$gQ3qKK9Q$ZYFb.DVPf4vLGzTsU3L0f1

创建权限文件authz

[root@yang conf]# cp /opt/svn/repos/conf/authz /opt/svn/authz
[root@yang conf]# cat /opt/svn/authz

 配置apache对SVN库目录权限

[root@yang conf]# chown -R apache:apache /opt/svn/repos
[root@yang conf]# ll /opt/svn
total 12
-rwxr--r-- 1 root root 1127 Jul 16 21:04 authz
-rw-r--r-- 1 root root 43 Jul 16 21:02 passwd
drwxrwxrwx 6 apache apache 4096 Jul 18 04:33 repos

 配置httpd

[root@yang conf]# vim /etc/httpd/conf/httpd.conf

修改 AllowOverride None改为AllowOverride All

启动Apache

[root@yang httpd]# service httpd start

常见httpd命令:


httpd -v          #查看已经安装的httpd的版本
rpm -qa | grep httpd  #查看是否已经安装了httpd
ps -ef | grep httpd   #查看httpd的进程
service httpd status  #查看httpd的运行状态
service httpd stop    #停止httpd
service httpd start   #启动httpd 
service httpd start   #重新启动httpd 


httpd日志路径:  /var/log/httpd/

[root@yang ~]# cd /var/log/httpd/
[root@yang httpd]# ls
access_log error_log

http登录验证

[root@yang conf]# svn checkout http://xxx.xxx.xxx.xxx/svn/repos/
Authentication realm: Authorization SVN
Password for 'root':-----------------------------------------------------------------------
ATTENTION! Your password for authentication realm: Authorization SVNcan only be stored to disk unencrypted! You are advised to configure
your system so that Subversion can store passwords encrypted, if
possible. See the documentation for details.You can avoid future appearances of this warning by setting the value
of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
'/root/.subversion/servers'.
-----------------------------------------------------------------------
Store password unencrypted (yes/no)? yes
Checked out revision 0.

2)配置nginx转发

Nginx之前安装部署过,这里不再重复,只看下配置文件

[root@test conf.d]# cat test.svn.com.conf
server
{listen 80;listen [::]:80;server_name test.svn.com;include safe.conf;access_log /web/nginx/logs/test.svn.com_access.log main;location / {include proxy_params;proxy_pass http://xxx.xxx.xxx.xxx:80;}
}

浏览器访问

输入用户名密码


 3、客户端访问

客户端下载地址:下载 · TortoiseSVN(https://tortoisesvn.net/downloads.zh.html)

输入用户名密码即可访问


 


推荐阅读
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 第四讲ApacheLAMP服务器基本配置Apache的编译安装从Apache的官方网站下载源码包:http:httpd.apache.orgdownload.cgi今 ... [详细]
  • Hadoop2.6.0 + 云centos +伪分布式只谈部署
    3.0.3玩不好,现将2.6.0tar.gz上传到usr,chmod-Rhadoop:hadophadoop-2.6.0,rm掉3.0.32.在etcp ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • 本文讨论了如何使用Web.Config进行自定义配置节的配置转换。作者提到,他将msbuild设置为详细模式,但转换却忽略了带有替换转换的自定义部分的存在。 ... [详细]
  • 基于Socket的多个客户端之间的聊天功能实现方法
    本文介绍了基于Socket的多个客户端之间实现聊天功能的方法,包括服务器端的实现和客户端的实现。服务器端通过每个用户的输出流向特定用户发送消息,而客户端通过输入流接收消息。同时,还介绍了相关的实体类和Socket的基本概念。 ... [详细]
  • Linux防火墙配置—允许转发
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 三、查看Linux版本查看系统版本信息的命令:lsb_release-a[root@localhost~]#lsb_release-aLSBVersion::co ... [详细]
  • centos6.8 下nginx1.10 安装 ... [详细]
author-avatar
伏染善
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有