Linux下SVN+Apache+iF.svnadmin搭建 linuxsvn服务器搭建

   2023-02-10 学习力0
核心提示:SVN:集中式版本控制工具iF.svnadmin:版本控制SVN可视化管理工具,用来管理SVN用户、用户组以及权限分配。环境:centos6.6IP:192.168.31.10首先:yum -y update  #更新全部软件包yum -y install httpd   # 安装Apacheapachectl -v #查看Apache版本yum -y

SVN:集中式版本控制工具

iF.svnadmin:版本控制SVN可视化管理工具,用来管理SVN用户、用户组以及权限分配。

环境:centos6.6

IP:192.168.31.10

首先:yum -y update  #更新全部软件包

yum -y install httpd   # 安装Apache

apachectl -v #查看Apache版本

yum -y install mod_dav_svn subversion   #安装SVN加载模块以及SVN

svn --version       #查看SVN版本

yum -y install php  # 安装PHP(iF.svnadmin是用PHP编写开发的工具)

php -v         #查看PHP版本

wget https://sourceforge.net/projects/ifsvnadmin/files/svnadmin-1.6.2.zip/download   #下载 iF.svnadmin压缩包

unzip download #解压压缩包

cp -r  iF.svnadmin.1.6.2/ /var/www/html/svnadmin  #把压缩包复制到http默认路径下

vi /etc/httpd/conf.d/subversion   #修改SVN模块配置文件

LoadModule dav_svn_module     modules/mod_dav_svn.so  

 LoadModule authz_svn_module   modules/mod_authz_svn.so    #这两行判断Apache是否加载了SVN模块

<Location /svn>        #标签

        DAV svn           #DAV加载SVN

        SVNParentPath /var/www/svn    #这是版本库的根目录,用户不允许访问

        AuthType Basic                        #访问方式为basic

        AuthName "please login"         #登录时的提示信息

        AuthUserFile /var/www/svn/passwd      #用户以及口令的配置文件

        AuthzSVNAcessFile /var/www/svn/authz  #保存用户权限的文件    

        Require valid-user                #允许用户访问

</Location>

#保存退出

vi /etc/httpd/conf/httpd.con

ServerName 192.168.31.10 #保存退出

iptables -I INPUT -p tcp --dport 80 -j ACCEPT   #设置防火墙

通过网页访问服务器Apache:http://192.168.31.10查看是否出现Apache页面

mkdir  /var/www/svn

touch /var/www/svn/authz

touch /var/www/svn/passwd

chown -R apache:apache /var/www/html/svnadmin/

chmod -R 777 /var/www/html/svnadmin/data

chown -R apache:apache /var/www/svn

cp /var/www/html/svnadmin/data/config.tpl.ini /var/www/html/svnadmin/data/config.ini        #将样例文件复制为配置文件

vi /var/www/html/svnadmin/data/config.ini

[Common]

FirstStart=1

BackupFolder=./data/backup/

[Translation]

Directory=./translations/

[Engine:Providers]

AuthenticationStatus=basic
UserViewProviderType=passwd

UserEditProviderType=passwd

GroupViewProviderType=svnauthfile

GroupEditProviderType=svnauthfile

AccessPathViewProviderType=svnauthfile

AccessPathEditProviderType=svnauthfile

RepositoryViewProviderType=svnclient

RepositoryEditProviderType=svnclient

[ACLManager]   #管理员用户配置文件

UserRoleAssignmentFile=./data/userroleassignments.ini   #配置文件路径

[Subversion]

SVNAuthFile=/var/www/svn/authz     #subversion用户权限文件路径

[Repositories:svnclient]

SVNParentPath=/var/www/svn     #版本库根目录,后面没有/符号

SvnExecutable=/usr/bin/svn      #SVN执行命令变量路径,可以在命令行通过whereis svn查看

SvnAdminExecutable=/usr/bin/svnadmin    #SVNadmin命令变量路径,同上

[Users:passwd]

SVNUserFile=/var/www/svn/passwd       #用户口令配置文件

[Users:digest]

SVNUserDigestFile=
SVNDigestRealm=SVN Privat

[Ldap]

HostAddress=ldap://192.168.136.130:389/

ProtocolVersion=3

BindDN=CN=Manuel Freiholz,CN=Users,DC=insanefactory,DC=com
BindPassword=root

CacheEnabled=false
CacheFile=./data/ldap.cache.json

[Users:ldap]

BaseDN=DC=insanefactory,DC=com
SearchFilter=(&(objectClass=person)(objectClass=user))
Attributes=sAMAccountName
[Groups:ldap]
BaseDN=DC=insanefactory,DC=com
SearchFilter=(objectClass=group)
Attributes=sAMAccountName

GroupsToUserAttribute=member

GroupsToUserAttributeValue=distinguishedName

[Update:ldap]
AutoRemoveUsers=true
AutoRemoveGroups=true

[GUI]
RepositoryDeleteEnabled=false          #可以通过网页删除版本库,默认是禁止,如果允许,修改成true 即可
RepositoryDumpEnabled=false         #默认即可
AllowUpdateByGui=true                  #默认即可
#保存退出

 

 

 启动Apache:service httpd start

访问页面:http://192.168.31.10/svnadmin

点击左下角save configuration提交,之前在配置文件 /var/www/html/svnadmin/data/config.ini 设置过,默认即可

Linux下SVN+Apache+iF.svnadmin搭建

 

初始用户密码为admin,admin,登录进行操作即可

Linux下SVN+Apache+iF.svnadmin搭建

 

 可以选择中文语言,admin是初始系统管理员,修改密码,然后进行用户、用户组以及权限分配操作。

Linux下SVN+Apache+iF.svnadmin搭建

svn 访问路径需要管理员指定,才能进行登录访问。

此文章仅做个人笔记使用

 

 

将http协议改成HTTPS协议:

yum –y install mod_ssl openssl

cd /etc/pki/tls/private

openssl genrsa –out ca.key 1024

openssl req –new –key ca.key –out ca.csr

cd /etc/pki/tls/certs/

openssl x509 -req -days 365 -in /etc/pki/tls/private/ca.csr -signkey /etc/pki/tls/private/ca.key –out\ ca.crt

vi /etc/httpd/conf.d/ssl.conf

SSLCertificateFile /etc/pki/tls/certs/ca.crt

SSLCertificateKeyFile /etc/pki/tls/private/ca.key

#保存退出

 

vi /etc/httpd/conf/httpd.conf

Listen 80

<VirtualHost _default_:80>

SSLEngine on

SSLCertificateFile /etc/pki/tls/certs/ca.crt

SSLCertificateKeyFile /etc/pki/tls/private/ca.key

SSLCertificateChainFile /etc/pki/tls/certs/ca.crt

</VirtualHost>

#保存退出

 

service httpd restart

通过https://192.168.31.20:80访问成功

 

当想要为服务器创建多个版本库的根路径时,需要在Apache的配置文件/etc/htttpd/conf.d/subversion.conf中添加多个location标签,其格式与第一个相同,

<Location /repo1>        #标签

        DAV svn           #DAV加载SVN

        SVNParentPath /var/www/svn/repo1    #这是版本库的根目录,用户不允许访问

        AuthType Basic                        #访问方式为basic

        AuthName "please login"         #登录时的提示信息

        AuthUserFile /var/www/svn/passwd      #用户以及口令的配置文件

        AuthzSVNAcessFile /var/www/svn/authz  #保存用户权限的文件    

        Require valid-user                #允许用户访问

</Location>

添加第二个根路径就可以在这之后添加代码:

<Location /repo2>        #标签

        DAV svn           #DAV加载SVN

        SVNParentPath /var/www/svn/repo2    #这是版本库的根目录,用户不允许访问

        AuthType Basic                        #访问方式为basic

        AuthName "please login"         #登录时的提示信息

        AuthUserFile /var/www/svn/passwd      #用户以及口令的配置文件

        AuthzSVNAcessFile /var/www/svn/authz  #保存用户权限的文件    

        Require valid-user                #允许用户访问

</Location>

保存退出,只是标红地方不同,其他不用更改。

还要修改iF.svnadmin管理里工具的配置文件,此文章中是在/var/www/html/svnadmin/data/conf.ini中

[Repositories:svnclient]

SVNParentPath=/var/www/svn/repo1     #版本库根目录,后面没有/符号

SvnExecutable=/usr/bin/svn      #SVN执行命令变量路径,可以在命令行通过whereis svn查看

SvnAdminExecutable=/usr/bin/svnadmin    #SVNadmin命令变量路径,同上

之后添加:

[Repositories:svnclient:1]

SVNParentPath=/var/www/svn/repo2     #版本库根目录,后面没有/符号

SvnExecutable=/usr/bin/svn      #SVN执行命令变量路径,可以在命令行通过whereis svn查看

SvnAdminExecutable=/usr/bin/svnadmin    #SVNadmin命令变量路径,同上

只是标红的地方不同,添加修改,保存退出。

重启Apache。

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • Apache80端口被占用解决办法
    Apache80端口被占用解决办法
    1. win+R,输入 cmd,打开命令行窗口2. 命令行输入netstat -ano3. 找到80端口及对应进程 4. 在任务管理器中的进程处查看与上述80端口对应的PID相同的进程,并关闭。如果没有PID,选择“查看”--"选择列"--勾选“PID”。4. 关闭进程。如果进程为上述系统服务,
    03-08
  • Hadoop中mapreduce运行WordCount程序报错Error:
    这个问题是因为map的方法参数与继承mapper定义的参数类型不一致导致的,应该将Mapper的key参数类型设置成Object,就可以解决这个问题 
    03-08
  • 使用 Apache Hudi 实现 SCD-2(渐变维度)
    使用 Apache Hudi 实现 SCD-2(渐变维度)
    数据是当今分析世界的宝贵资产。 在向最终用户提供数据时,跟踪数据在一段时间内的变化非常重要。 渐变维度 (SCD) 是随时间推移存储和管理当前和历史数据的维度。 在 SCD 的类型中,我们将特别关注类型 2(SCD 2),它保留了值的完整历史。 每条记录都包含有
    03-08
  • 一个用 Python 分析 Apache 日志的故事
    一个用 Python 分析 Apache 日志的故事
    介绍不久前,公司里有人告诉我“我想知道 Apache 的访问日志是否可以用来做一些事情”。数据分析,Apache,发文章,我是初学者,写的不好请见谅。访问日志分析导入模块我正在使用以下模块。# データの処理import pandas as pdimport numpy as np# グラフ表示i
    03-08
  • [转]用apache反向代理解决单外网ip对应内网多个
    用apache反向代理解决单外网ip对应内网多个web主机的问题  转载一个有独立外网IP,需内网服务器对外发布的例子,是应用apache虚拟主机的。来源地址:http://www.itshantou.com/Servers/web/06/10/44219.html    几年前开始在学校的服务器上建网站,那时
    02-10
  • Apache service named reported the following
    apache启动失败报错:The Apache service named reported the following error: AH00451: no listening sockets available, shutting down . The Apache service named reported the following error: (OS 10055)由于系统缓冲区空间不足或队列已满,不能执行
    02-10
  • struts布局管理---SiteMesh一个优于Apache Tile
    1. SiteMesh的基本原理       一个请求到服务器后,如果该请求需要sitemesh装饰,服务器先解释被请求的资源,然后根据配置文件 获得用于该请求的装饰器,最后用装饰器装饰被请求资源,将结果一同返回给客户端浏览器。 2. 如何使用SiteMesh    这里以st
    02-10
  • linux 安装 apache2.2.31
     Linux下安装和配置Apache 概要:本文介绍在CentOS5.4 Linux中安装和配置Apache2.2.14,并且实现Apache和Tomcat6的整合。文章分为三部分,分别是删除系统自带的Apache、安装Apache2.2.14和配置Apache2.2.14。 文章中介绍的知识也可以在其它版本的Linux中
    02-10
  • Apache CXF使用Jetty发布WebService
    Apache CXF使用Jetty发布WebService
    一、概述Apache CXF提供了用于方便地构建和开发WebService的可靠基础架构。它允许创建高性能和可扩展的服务,可以部署在Tomcat和基于Spring的轻量级容器中,也可以部署在更高级的服务器上,例如Jboss、WebSphere或WebLogic。 CXF提供了以下功能:WebService
    02-10
  • apache下ab.exe使用方法。。 apache ab工具
    自己在cmd中写了半天的路径也没有写对。。最后网上的一个哥们告诉我说没有共同语言了。。。毛线啊 差距确实很大!大能猫死panda早晚干掉你,叫你丫整天嘲讽我!比如我的ab.exe在D盘的wamp文件夹下apache文件夹下bin文件夹下。那么在cmd中可以这么写:"D:\wamp
    02-10
点击排行