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

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

10.2、查看版本

httpd -version

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

ls /etc/httpd/modules/   

PS:Apache常用命令如下:

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、修改配置文件(没有则新建)

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
    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、设置权限

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

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

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

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

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

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

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

-D:删除指定的用户。

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

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

service httpd start
service httpd status

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

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

10.7、设置开机启动

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 @ 2021-07-23 13:41  云村的王子  阅读(664)  评论(0编辑  收藏  举报