Linux搭建、使用SVN服务器,配置HTTP访问 (CentOS和Ubuntu)

目录

搭建SVN服务器:

CentOS安装:

Ubuntu安装:

使用SVN:

客户端连接(示例TortoiseSVN): 

安装配置HTTP访问:

查看是否有安装Apache HTTP服务:

查看httpd是否已经安装的svn模块:

CentOS安装Apache HTTP服务:

Ubuntu安装Apache HTTP服务:


搭建SVN服务器:

CentOS安装:

yum install subversion

Ubuntu安装:

apt-get install subversion

创建SVN仓库: 

mkdir -p /data/svn/project

svnadmin create /data/svn/project

配置passwd:

cd /data/svn/project/conf/
vi passwd

在passwd文件users下面以键值对形式加入用户名密码:

Linux搭建、使用SVN服务器,配置HTTP访问 (CentOS和Ubuntu)_第1张图片

配置authz:

vi authz

配置用户和组对仓库下各目录的访问权限:

Linux搭建、使用SVN服务器,配置HTTP访问 (CentOS和Ubuntu)_第2张图片

配置svnserve.conf:

vi svnserve.conf

打开文件内下面的注释(不要前面留空格):

anon-access = none#匿名用户可读

auth-access = write #授权用户可写

password-db = passwd #使用哪个文件作为账号文件

authz-db = authz #使用哪个文件作为权限文件

realm = /data/svn/project # 认证空间名,版本库所在目录

Linux搭建、使用SVN服务器,配置HTTP访问 (CentOS和Ubuntu)_第3张图片

启动命令:

svnserve -d -r /data/svn/project

停止命令:

killall svnserve

如果提示 killall: command not found:

# CentOS
yum install psmisc

# Ubuntu
apt-get install psmisc

设置为自启动:

systemctl enable svnserve

 


使用SVN:

客户端连接(示例TortoiseSVN): 

桌面---鼠标右键--->TortoiseSVN--->版本库浏览器

Linux搭建、使用SVN服务器,配置HTTP访问 (CentOS和Ubuntu)_第4张图片

创建一个文件夹:

Linux搭建、使用SVN服务器,配置HTTP访问 (CentOS和Ubuntu)_第5张图片

远端文件检出到本地:在本地创建一个文件夹,进入文件夹--->右键--->SVN检出

Linux搭建、使用SVN服务器,配置HTTP访问 (CentOS和Ubuntu)_第6张图片

提交本地文件到远端:右键---SVN提交

Linux搭建、使用SVN服务器,配置HTTP访问 (CentOS和Ubuntu)_第7张图片

SVN简单使用拉取、提交完结。

 


安装配置HTTP访问:

查看是否有安装Apache HTTP服务:

httpd -v

没安装:

 httpd: command not found

已安装:

Server version: Apache/2.4.6 (CentOS)
Server built:   Jul 29 2019 17:18:49

查看httpd是否已经安装的svn模块:

ls /etc/httpd/modules/ | grep svn

没安装:

cannot access /etc/httpd/modules/: No such file or directory

已安装:

mod_authz_svn.so
mod_dav_svn.so


CentOS安装Apache HTTP服务:

yum install httpd

安装SVN模块:

yum install subversion mod_dav_svn

在httpd下创建svn.conf配置文件:

cd /etc/httpd/conf.d/

touch svn.conf

加入如下配置:


   DAV svn
   #SVNParentPath /var/lib/svn
   SVNPath /data/svn/project
   # Limit write permission to list of valid users.
   #
      # Require SSL connection for password protection.
      # SSLRequireSSL

      AuthType Basic
      AuthName "Authorization Realm"
      AuthUserFile /data/svn/project/conf/passwd
      AuthzSVNAccessFile /data/svn/project/conf/authz
      Satisfy all
      Require valid-user
   #

        因为HTTP访问用的是httpd服务储存的密码,而不是SVN的用户密码,所以必须还得创建http访问SVN的用户名密码

-c 是创建新文件,只有第一次创建账户密码时使用

-m 是强制使用MD5加密密码(默认)

httpdPasswd 是创建的文件名。

root 是你要创建的可访问用户的名字

htpasswd -c -m /data/svn/project/conf/httpdPasswd root

然后连续输入两次密码完成创建http访问用户,接着更改httpd下SVN配置文件中的验证密码路径:

vi /etc/httpd/conf.d/svn.conf

更改如下行: AuthUserFile 值为: /data/svn/project/conf/httpdPassw。

重启应用配置,访问(ip+svn):

systemctl restart httpd

Linux搭建、使用SVN服务器,配置HTTP访问 (CentOS和Ubuntu)_第8张图片

至此CentOS配置http访问完成。


Ubuntu安装Apache HTTP服务:

apt-get install apache2
apt-get install libapache2-mod-svn

在/etc/apache2/mods-available/dav_svn.conf文件中配置如下内容:

Linux搭建、使用SVN服务器,配置HTTP访问 (CentOS和Ubuntu)_第9张图片

添加登录用户: 

htpasswd -c -m /etc/apache2/dav_svn.passwd root

 重启Apache服务器访问(ip+svn):

systemctl restart apache2

至此配置http访问完成。

 

 

参考文献:

https://blog.csdn.net/qq_39626154/article/details/85698168

https://blog.csdn.net/crossangles_2017/article/details/78553266

https://blog.csdn.net/weixin_36444883/article/details/95603202#svnhttp_26

你可能感兴趣的:(应用技术,运维,常见问题)