Centos7 基于SVN+Apache+IF.svnadmin实现web管理

摘要:
它基于PHP5.3,需要安装Web服务器。该应用程序不需要数据库后端或任何类似的东西,它完全基于Subversion授权和用户身份验证文件。“#不允许匿名访问Requirevalid用户4.创建SVNServer仓库:#创建存储仓库的目录[root@localhost~]#Mkdir/var/www/svn#文件夹授权[root@localhost~]#chown Ra

1、简单介绍:

iF.SVNAdmin应用程序是您的Subversion授权文件的基于Web的GUI。它基于PHP 5.3,需要安装一个Web服务器(Apache)。该应用程序不需要数据库后端或任何类似的,它完全基于Subversion授权和用户认证文件。(+包含用户和组的LDAP支持)
2、软件准备:

[root@localhost ~]#yum install wget unzip php httpd mod_dav_svn subversion mod_ldap mode_ssl -y

查看是否安装成功:

[root@localhost ~]#httpd -version
[root@localhost ~]#svnserve --version
[root@localhost ~]#ls /etc/httpd/modules/ | grep svn

3、配置apache:

  3.1 如果你要使用svn内部认证,请参考下面的配置文件

 [root@localhost ~]# vim /etc/httpd/conf.d/subversion.conf

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
#vn的根目录SSLRequireSSL SSL访问权限
SVNParentPath /var/www/svn
#Basic认证方式
AuthType Basic
 #认证时显示的信息             
AuthName "Authorization SVN" 
#用户文件&密码
AuthUserFile /var/www/svn/passwd
#访问权限控制文件
AuthzSVNAccessFile /var/www/svn/authz
#要求真实用户,不能匿名
Require valid-user            
</Location>

  3.2 如果你要集成微软活动目录或者其它LDAP服务,请参考以下配置:

    [root@localhost ~]# vim /etc/httpd/conf.d/subversion.conf    

LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authn_anon_module modules/mod_authn_anon.so
LoadModule authn_dbd_module modules/mod_authn_dbd.so
LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule authz_dbm_module modules/mod_authn_dbm.so
LoadModule authz_owner_module modules/mod_authz_owner.so
LoadModule authz_dbd_module modules/mod_authz_dbd.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule access_compat_module modules/mod_access_compat.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule reqtimeout_module modules/mod_reqtimeout.so
LoadModule filter_module modules/mod_filter.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule mime_module modules/mod_mime.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule env_module modules/mod_env.so
LoadModule headers_module modules/mod_headers.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule version_module modules/mod_version.so
LoadModule ssl_module modules/mod_ssl.so
LoadModule unixd_module modules/mod_unixd.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dir_module modules/mod_dir.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so
#装入SVN模块
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
#装LDAP模块
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
LoadModule ldap_module modules/mod_ldap.so
<Location /svn>
DAV svn
SVNParentPath /var/www/svn
SVNListParentPath On
AuthzSVNAccessFile /var/www/svn/authz
AuthType Basic
AuthName "Authorization SVN"
Authbasicprovider ldap

#用于与AD建立链接的用户名

AuthLDAPBindDN "CN=test01,CN=Users,DC=mcse,DC=club"

#用于与AD建立链接的密码

AuthLDAPBindPassword "*************"

#绑定用户

AuthLDAPURL "ldap://172.17.224.105:389/DC=****,DC=****?sAMAccountName?sub?(objectClass=*)"

#不允许匿名访问

Require valid-user
</Location>

4、建立SVN Server仓库:

#创建存储仓库的目录
[root@localhost ~]# mkdir /var/www/svn
#文件夹授权
[root@localhost ~]# chown -R apache.apache /var/www/svn
#创建用户文件passwd和权限控制文件authz
[root@localhost ~]# touch /var/www/svn/passwd
[root@localhost ~]# touch /var/www/svn/authz
#启动服务:
svnserve -d -r /var/www/svn

5. 配置安装PHP&IF.SVNadmin

1 cd /tmp
2 wget http://sourceforge.net/projects/ifsvnadmin/files/svnadmin-1.6.2.zip/download
3 unzip download
4 mkdir -p /var/www/html/svnadmin
5 cp -r iF.SVNAdmin-stable-1.6.2/* /var/www/html/svnadmin
6 chown -R apache.apache /var/www/html/svnadmin
7 chmod -R 777 /var/www/svn/passwd
8 chmod -R 777 /var/www/svn/authz
9 chmod -R 777 /var/www/html/svnadmin/data
#修改svnserve文件
vim /etc/sysconfig/svnserve
OPTIONS="-r /var/svn"
======> OPTIONS="-r /var/www/svn" 

6.关闭防火墙,启动服务

1 firewall-cmd --permanent --add-service=http
2 firewall-cmd --permanent --add-service=https
3 firewall-cmd --reload 
4 systemctl start httpd
5 systemctl enable httpd

7.配置:
浏览器地址输入http://ip/svnadmin出现配置界面,输入下图中配置信息,输入每个配置信息可以点击旁边的Test测试是否输入正确,最后保存配置

Centos7 基于SVN+Apache+IF.svnadmin实现web管理第1张

Centos7 基于SVN+Apache+IF.svnadmin实现web管理第2张

 Centos7 基于SVN+Apache+IF.svnadmin实现web管理第3张

Centos7 基于SVN+Apache+IF.svnadmin实现web管理第4张

Centos7 基于SVN+Apache+IF.svnadmin实现web管理第5张

Centos7 基于SVN+Apache+IF.svnadmin实现web管理第6张

8.如果需要使用https,建议你使用公网证书,对配置做如下配置:

[root@localhost ~]#vim /etc/httpd/conf.d/ssl.conf

Listen 443 https
SSLPassPhraseDialog exec:/usr/libexec/httpd-ssl-pass-dialog
SSLRandomSeed startup file:/dev/urandom 256
SSLRandomSeed connect builtin
SSLCryptoDevice builtin
<VirtualHost _default_:443>
ServerName svn.mcse.club:443
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:3DES:!aNULL:!MD5:!SEED:!IDEA
#下面是两行是证书路径
SSLCertificateFile /etc/httpd/cert/svn.mcse.club.crt
SSLCertificateKeyFile /etc/httpd/cert/svn.mcse.club.key
<Files ~ ".(cgi|shtml|phtml|php3?)$">
SSLOptions +StdEnvVars
</Files>
<Directory "/var/www/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-5]"
nokeepalive ssl-unclean-shutdown
downgrade-1.0 force-response-1.0
CustomLog logs/ssl_request_log
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x "%r" %b"
</VirtualHost>

9.配置HTTP强制跳转到HTTPS

 vim /etc/httpd/conf/httpd.conf

RewriteEngine on
RewriteCond  %{HTTPS} !=on
RewriteRule  ^(.*) https://%{SERVER_NAME}$1 [L,R]

Centos7 基于SVN+Apache+IF.svnadmin实现web管理第7张

另外一场景,只安装服务器核心,通过命令行来管理

1、yum 安装subversion

[root@localhost /] yum install subversion

2、创建仓库

[root@localhost /]# cd /home
[root@localhost home]# mkdir svn
[root@localhost home]# svnadmin create /home/svn

3.配置passwd

[root@localhost conf]# vi passwd 
[users]
test1=123456
test2=123456
			

4、配置authz

[root@localhost conf]# vi authz 
[/]
liuxianan=rw
test1=r
test2=r
*=

5、使用用户分组

格式说明:
版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>

[root@localhost conf]# vi authz
[groups]
group1 = liuxianan
group2 = test1,test2
[/]
@group1 = rw
@group2 = r
* =

6、配置svnserve.conf

[root@localhost conf]# vi svnserve.conf 
 #匿名用户可读
anon-access = read
 #授权用户可写
auth-access = write
 #使用哪个文件作为账号文件
password-db = passwd
#使用哪个文件作为权限文件
authz-db = authz
# 认证空间名,版本库所在目录
realm = /home/svn 

7、启动与停止

[root@localhost conf]# svnserve -d -r /home/svn(启动)
[root@localhost conf]#kill all svnserve(停止)
			

 客户端安装

https://www.cnblogs.com/ygj0930/p/6623148.html

其它参考链接

https://www.runoob.com/svn/svn-tutorial.html

  

免责声明:文章转载自《Centos7 基于SVN+Apache+IF.svnadmin实现web管理》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇sysbench的安装及使用gdb常用命令下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

TFS(Team Foundation Server)简介和新手入门

在两部分的文章。我会介绍Team Foundation Server一些核心功能,着重于产品的日常应用是如何将这些功能结合使用。 作为一个软件开发。在我的职业生涯,。我常常用于支持软件开发过程中大量的开发工具,版本控制工具如、包、生成脚本语言、单元測试框架和需求分析工具等等。在.NET平台上,大量的支持工具可以非常好地独立工作,可是。为了使得各种工具之间...

彻底去除2345好压的广告方法

1.到好压软件的安装目录下。 2.将Protect文件夹选中属性=> 安全=>设置此目录的访问权限为拒绝,最后确定关闭,就可以了。 把Users的用户也设置成为拒绝 最后应用=>确定。以后2345好压以后再没有任何什么弹窗广告了,也不会更新任何广告,因为没有Protect文件夹的访问权限,不能更新,不能替换,也不能删除这个目录。...

pywinauto客户端自动化---pywinauto初始

目前流行的自动化就是web,app,接口算是目前最主流的测试内容了,那么如果让做安装windows上的客户端自动化呢?是不是一脸懵?今天安静给大家介绍python的第三方库,可以帮助我们做客户端的自动化 pywinauto pywinauto是一组用于自动化Microsoft Windows GUI的python模块。 最简单的是,它允许您将鼠标和键盘操作...

Atlassian JIRA服务器模板注入漏洞复现(CVE-2019-11581)

0x00 漏洞描述 Atlassian Jira是澳大利亚Atlassian公司的一套缺陷跟踪管理系统。该系统主要用于对工作中各类问题、缺陷进行跟踪管理。 Atlassian Jira Server和Jira Data Center存在服务端模板注入漏洞,成功利用此漏洞的攻击者可对运行受影响版本的Jira Server或Jira Data Center的...

uniapp-小程序开发中遇到的问题:

ps:约1月 || 单个项目完成时 问题1:小程序 v-show class切换失效? uniapp写的自定义组件。v-show 绑定 一个状态值 切换显示。 chrome 调试没问题。 运行在小程序开发程序上,直接展开了。未隐藏,且v-show没生效。 看参考得知,是v-show在自定义组件上不会生效(微信小程序) 最快解决方案,将 v-show 换为...

如何理解“产品”、“迭代”、“版本”

产品 「产品」在软件中通常指的是一个有形的具体的有交互能力的实质体。泛义上指的是一个完整的软件系统,狭义上指的是某个系统中的模块或工具。比如 QQ、微信、天猫App 等,又或者营销工具/产品、投资理财的具体活动性产品等等。 项目 「项目」按规模大小划分: 微型项目(通常 3 人以内可以完成) 小型项目(通常 3~10 人可以完成) 中型项目(通常 10~...