最近我们需要把老的Subversion的svn协议改成http协议,所以需要整合apache
然后用户在svn客户端提交代码,我们可以根据apache的访问日志来查询
最终通过ELK分析日志即可
本文介绍 Subversion 安装和 apache 的一些细节问题
一、Subversion安装
版本需要1.8.8,下载 Setup-Subversion-1.8.8.msi
然后直接安装就行
安装完毕后,在 cmd 里输入 svn --version 检查版本是不是1.8.8,如果之前安装了其他版本,请修改环境变量,确保版本一致。
安装完后,随便在一个目录新建一个 repository 文件夹,作为仓库的根目录
新建 htpasswd 文件,内容如下
admin:$apr1$e4g8WXxc$0sKXzIs3VrRHSK5Nb3c8f1
二、创建SVN仓库
然后新建一个仓库,在repository目录打开cmd,输入 svnadmin create repo1 创建 repo1仓库
然后在 repo1/authz 里添加
[/]
admin=rw
三、安装apache
安装apache2.2 下载 httpd-2.2.21-win32-x86-no_ssl.msi
随便安装到哪个目录
1、拷贝subversion\bin下的 mod_authz_svn.so 和 mod_dav_svn.so 到apache安装目录下的modules里面
2、修改apache里的 httpd.conf
里面代码如下
ThreadsPerChild 128
MaxMemFree 64
MaxRequestsPerChild 0
MaxKeepAliveRequests 2000
KeepAliveTimeout 5
Win32DisableAcceptEx
LimitXMLRequestBody 0
LimitRequestFieldSize 12392
ServerRoot "F:/soft/Apache2.2"
ServerName "10.1.5.203:8080"
ServerSignature Off
ServerTokens Prod
DocumentRoot "htdocs"
FileETag MTime Size
PidFile "${TEMP}\VisualSVNServer.pid"
Listen "8080"
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule authn_file_module modules/mod_authn_file.so
# LoadModule authn_visualsvn_module modules/mod_authn_visualsvn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
LoadModule alias_module modules/mod_alias.so
LoadModule dir_module modules/mod_dir.so
LoadModule mime_module modules/mod_mime.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule expires_module modules/mod_expires.so
LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so
# LoadModule ssl_module modules/mod_ssl.so
<Directory />
Options FollowSymLinks
AllowOverride None
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/svn$
RewriteRule ^(.*/svn)$ %1/ [R=301,L]
</Directory>
SVNInMemoryCacheSize 16384
<Location /svn/>
DAV svn
SVNListParentPath on
SVNParentPath "F:/soft/Subversion/repository"
SVNIndexXSLT "/svnindex.xsl"
SVNPathAuthz short_circuit
SVNCacheTextDeltas off
SVNCacheFullTexts off
AuthName "VisualSVN Server"
AuthType Basic
AuthBasicProvider file
AuthUserFile "F:/soft/Subversion/repository/htpasswd"
AuthzSVNReposRelativeAccessFile authz
require valid-user
# Add Expires/Cache-Control header explictly
ExpiresActive on
ExpiresDefault access
</Location>
Alias /web-ui-static htdocs/web-ui-static
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
ErrorLog nul
LogLevel error
TraceEnable off
DefaultType text/plain
<IfModule mime_module>
TypesConfig conf/mime.types
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
</IfModule>
<IfModule ssl_module>
SSLEngine on
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
SSLPassPhraseDialog builtin
SSLSessionCache "shm:F:/soft/Subversion/repository/ssl_scache"
SSLSessionCacheTimeout 300
SSLMutex default
SSLCertificateFile certs/server.pem
SSLCertificateKeyFile certs/server.pem
SSLProtocol -ALL +SSLv3 +TLSv1
SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM
SetEnvIf User-Agent ".*MSIE.*" ssl-unclean-shutdown
</IfModule>
# Include conf/httpd-custom.conf
注意修改apache安装目录,svn仓库地址等
3、安装apache2.2服务
在apache下的bin目录执行命令
httpd.exe -k install
4、启动apache
在apache下的bin目录,双击httpd.exe
然后用小乌龟svn客户端,checkout下 http://localhost:8080/svn/repo1 接口,账号密码为htpasswd里的,密码为123456的md5加盐加密
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏