linux配置svn

1、安装

yum install subversion

2、测试安装是否成功:

svnserve --version

3、创建目录并配置

建立版本库目录

mkdir -pv /data/svn/svnrepos

配置

svnadmin create  /data/svn/svnrepos

执行上面的命令后,自动建立repo测试库,查看/data/svn/svnrepos文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。

4、配置用户密码

 vim /data/svn/svnrepos/conf/passwd 

 建立用户attendre,密码123456

5、权限配置

设置哪些用户可以访问哪些目录

vim /data/svn/svnrepos/conf/authz

6、服务svnserve.conf配置

vim /data/svn/svnrepos/conf/svnserve.conf

在[general]下追加以下内容

复制代码
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
##使授权用户有写权限 
auth-access=write
##密码数据库的路径 
password-db=passwd
##访问控制文件 
authz-db=authz
##认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字 
realm=/data/svn/svnrepos
复制代码

7、启动服务

查看svn的服务是否启动

ps -ef|grep svn

如果没有启动执行 下面命令即可:

svnserve -d -r /data/svn/svnrepos  --listen-port=3690 

8、开启端口

#防火墙中开启3690端口
firewall-cmd --permanent --zone=public --add-port=3690/tcp 
#重新加载防火墙配置
firewall-cmd --reload 
#查看是否生效
firewall-cmd --zone=public --query-port=3690/tcp 

9、访问

svn://ip地址

输入配置好的用户名和密码即可。

 

上面步骤配置的是svn协议,下面配置http协议。

 

10、使用http协议连接svn

10.1、安装Apache

1
yum install -y httpd mod_dav_svn 安装httpd和svn模块

10.2、查看版本

1
httpd -version

查看是否有mod_dav_svn.so和mod_authz_svn.so模块,如果有,说明mod_dav_svn安装成功!

1
ls /etc/httpd/modules/

PS:Apache常用命令如下:

1
2
3
4
5
6
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

10.3、修改配置文件(没有则新建)

1
vim /etc/httpd/conf.d/subversion.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
 
<Location /svn>
    DAV svn
    SVNListParentPath on
    SVNParentPath /data/svn
    AuthType Basic
    Satisfy Any
    AuthName "Subversion repos"
    AuthUserFile /data/svn/svnrepos/conf/http_passwd
    AuthzSVNAccessFile /data/svn/svnrepos/conf/authz
    Require valid-user
</Location>

10.4、设置权限

1
chown apache:apache /data/svn/svnrepos -R

10.5、设置Apache http访问用户名,按提示输入两次相同密码

注意:这里的用户名密码要和svn里配置的一样。passwd和http_passwd文件中,账号密码必须设置相同。

1
htpasswd -cm /data/svn/svnrepos/conf/http_passwd attendre

PS:htpasswd命令是Apache的Web服务器内置工具,用于创建和更新储存用户名、域和用户基本认证的密码文件。

-c:创建一个加密文件;

-m:默认采用MD5算法对密码进行加密;

-D:删除指定的用户。

-b:在命令行中一并输入用户名和密码而不是根据提示输入密码;

10.6、启动Apache,查看httpd状态是否成功运行

1
2
service httpd start
service httpd status

如果启动失败 ,查看对应的报错信息。

这里记录一种我启动时候遇到的报错问题。https://www.cnblogs.com/qq1445496485/p/16382687.html

10.7、设置开机启动

1
chkconfig httpd on  #设置开机启动

10.8、nginx反向代理配置,也在刚才问题的链接中。

番外:配置svn开机自启

1、在目录/usr/local 下面创建一个svn.sh文件

cd /usr/local
vi svn.sh

2、添加以下内容

#!/bin/bash
/usr/bin/svnserve -d -r  /data/svn/svnrepos

备注 :这里的svnserve路径保险起见,最好写绝对路径,因为启动的时候,环境变量也许没加载。

# 绝对路径查询命令
 which svnserve

3、改该脚本的执行权限

chmod 777 svn.sh

4、加入自动运行

vi /etc/rc.d/rc.local

# 在末尾添加脚本的路径

/usr/local/svn.sh

5、重启Linux服务器,重启后查看svn服务器是否已经开启

reboot
ps -ef|grep svnserve

 



 

 

 

 

 

posted @   云村的王子  阅读(716)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示