Linux (Ubuntu) 安装 SVN-新来的老主管发起用 SVN!

1 先查看是否已经安装了svn

如果没有安装svn则:

ubuntu@ip-172-31-29-46:~$ svn --version
The program 'svn' is currently not installed. You can install it by typing: sudo apt-get install subversion

如果已经安装svn则提示svn版本号:

cfj@cfj-virtual-machine:~$ svn --version
svn,版本 1.9.7 (r1800392)
   编译于 Mar 28 2018,08:49:13 在 x86_64-pc-linux-gnu

Copyright (C) 2017 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/

2 ubuntu安装svn:

先更新一下(可选)

sudo apt-get update

在线安装命令:

sudo apt-get install subversion

3 创建版本库

在/opt/下面用mkdir命令创建目录svn以及子目录repository。目录结构: /opt/svn/repository

更改更改repository文件夹的权限 改为777

sudo chmod -R 777 /opt/svn/repository

将刚刚创建的目录利用svn命令指定为版本库:

sudo svnadmin create /opt/svn/repository

设置完成之后在repository下面会生产几个文件夹和文件

主要的配置文件在conf文件夹下面:svnserve.conf,passwd,authz 

 # 4 修改repository文件夹下面的内容,完善配置

  • 首先修改db文件夹的权限,改为777。db文件夹是存储svn文件的地方

sudo chmod -R 777 /opt/svn/repository/db

  • 其次修改con文件夹下面的svnserve.conf文件
ubuntu@ip-172-31-29-46:/opt/svn/repository$ cd conf
ubuntu@ip-172-31-29-46:/opt/svn/repository/conf$ sudo vi svnserve.conf

 #匿名用户可读

*anon-access = read(可改成none,即不可读)*

**#权限用户可写
auth-access = write
#密码文件为passwd
password-db = passwd
#权限文件为authz
authz-db = authz**

(去掉前面的#,并且顶格,不然可能会报错)

  • 再者修改con文件夹下面的passwd文件,增加用户和用户密码

格式:用户名=密码(明文)

sudo vi passwd

以上设置用户为admin密码为admin

  • 最后修改con文件夹下面的authz文件,增加用户组,目录认证,组权限

sudo vi authz

如果组内有多个人可以逗号分隔如:组名owner,组员user1,user2则:owner=user1,user2

对组的访问权限设置:rw,r,w。组名前面加@

@owner=rw

如果单用户设置则一个用户一行:

user1=rw

 单库模式则设置为:[/] 本例子为单库模式

5 启动svn版本库

svnserve -d -r /opt/svn/repository

-d:表示在后台运行 ,-r:指定服务器的根目录

启动之后可以查看进程:

ubuntu@ip-172-31-29-46:/opt/svn/repository/conf$ ps -ef|grep svnserve
ubuntu 12593     1  0 13:37 ?        00:00:00 svnserve -d -r /opt/svn/repository
ubuntu 12595 11736  0 13:37 pts/0    00:00:00 grep --color=auto svnserve

如果需要停止,则kill -9 进程号

查看端口号,默认端口3690

sudo netstat -ntlp

6 访问:通过svn://服务器ip/文件夹名字 从svn客户端访问服务器。默认svn协议。如果要配置http或者https则需要安装apache。

本例因为是设置的[/],则svn://ip地址/

就可以访问

注意:如果是阿里云或者亚马逊的服务器,可能svn端口号没有对外开通,需要在控制台中配置。

参考:
https://blog.csdn.net/sm_wang/article/deta...
http://www.runoob.com/svn/svn-start-mode.h...
https://blog.csdn.net/u011781521/article/d...
http://wiki.ubuntu.org.cn/SubVersion#.E7.9...

本作品采用《CC 协议》,转载必须注明作者和本文链接
嗨,我是波波。曾经创业,有收获也有损失。我积累了丰富教学与编程经验,期待和你互动和进步! 公众号:上海PHP自学中心 付费知识星球:破解面试:程序员的求职导师
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 7

SVN老掉牙了 生态跟git没法比

4年前 评论
hldh214 4年前
Shuyi

其实,想要设置本地Repo,可以用Mercurial,自动生成服务器什么的,跟git差不了多少

4年前 评论

放着 git 不用,用 svn ,果然思想是最大的阻力

4年前 评论
Dennis_Ritchie 4年前
tumobi 4年前
wangchunbo

@钟森龙 公司要求的,项目代码,文档等,不可以放网上。

4年前 评论
it书童 4年前
wangchunbo (作者) (楼主) 4年前
wangchunbo

@Shuyi 是呀

4年前 评论
Shuyi 4年前

用svn倒无所谓,PHP不让用5.6就行

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
司机 @ 欣昊玉
文章
273
粉丝
339
喜欢
558
收藏
1106
排名:64
访问:12.2 万
私信
所有博文
社区赞助商