ubuntu 使用apache2 架设 subversion

本文详细介绍如何在Linux环境下安装配置Subversion (SVN) 服务器,并通过Apache2提供远程访问支持。主要内容包括安装SVN及依赖组件、创建版本库、配置Apache2以实现对SVN的访问、设置用户认证及权限、导入项目文件以及基本的操作如创建项目和检出等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1)安装svn

sudo apt-get install subversion libapache2-svn


2)产生repos
svnadmin create /path/to/repos

3)修改apache2 配置
为了从apache2访问svn
需在/etc/apache2/apache2.conf中加入


接下来需要产生/etc/subversion/passwd
sudo htpasswd -c /etc/subversion/passwd user_name

 

4)重启apache2

sudo /etc/init.d/apache2 restart

 

访问http://127.0.0.1/svn试下



5)如何开始项目


5.1)手工从零开始创建

如果从头开始项目,可手工创建目录
比如你要创建一个toy的项目,
执行命令
svn mkdir -m "create a new project" http://127.0.0.1/svn/toy

出现错误
svn: Can't open file '/home/pwlazy/repos/db/txn-current-lock': Permission denied
这个错误的原因是apache子进程 没有写权限
于是
找到机器上apache子进程的用户是www-data
然后sudo chown -R www-data /home/pwlazy/repos/

再次
svn mkdir -m "create a new project" http://127.0.0.1/svn/toy
然后
svn mkdir -m "create a new project" http://127.0.0.1/svn/toy/trunk

ok

5.2)导入
如果你手头有些文件,可采用svn import
比如你通过maven 产生了一个项目骨架可以导到svn repo,
cd /path/to/project-root
svn import -m "import code auto created by maven" http://127.0.0.1/svn/toy/trunk


目录创建完毕,

 

6)checkout

创建工作目录
mkdir /path/to/work

cd /path/to/work

svn checkout http://127.0.0.1/svn/toy/trunk toy

 

### SVN服务器安装与使用教程 #### 一. SVN是什么 SVN全名Subversion,是一种版本控制系统,用于跟踪文件和目录随时间的变化。它支持大多数常见的操作系统,并提供了一种有效的方式来进行团队协作开发项目[^2]。 #### 二. SVN服务器的安装 ##### 1. 下载SVN服务端软件 为了搭建SVN服务器环境,首先需要获取适用于目标操作系统的Subversion服务端程序包。可以从官方网站或其他可信源下载最新稳定版的服务端安装文件[^3]。 ##### 2. 安装过程 完成下载之后按照提示执行安装向导,在此过程中可以选择安装路径以及配置基本选项。对于Windows系统来说,通常会自动创建必要的注册表项和服务;而对于Linux,则可能涉及到通过命令行工具如`yum`或`apt-get`来安装相应的依赖库并启动守护进程。 ```bash sudo apt-get install subversion libapache2-svn apache2-utils ``` 上述代码展示了在基于Debian/Ubuntu Linux发行版上安装SVN及相关组件的方法。 ##### 3. 配置仓库位置 安装完成后需指定存储版本历史记录的数据仓库的位置。这可以通过编辑Apache HTTP Server中的配置文件实现,或者利用svnserve独立运行模式下的配置指令设置。例如: ```bash mkdir /var/lib/svn/repositories/myrepo svnadmin create /var/lib/svn/repositories/myrepo ``` 这两条命令分别用来建立一个新的数据仓库目录结构及其初始化工作。 #### 三. SVN服务器的基本使用方法 ##### 1. 创建用户账号权限管理 可以借助htpasswd工具为WebDAV/SVN访问添加认证机制,从而控制不同用户的读写权限。具体做法如下所示: ```bash htpasswd -cm /etc/apache2/dav_svn.passwd username ``` 这条语句将创建一个新密码文件并将首个用户名加入其中。 ##### 2. 启动SVN服务 根据所选部署方式的不同,有两种主要途径开启SVN服务供客户端连接: - 对于采用HTTP(S)协议的情况,重启Apache Web服务器即可; - 若是选择了svnserve直连模式,则可通过下面这种方式手动激活监听状态。 ```bash svnserve -d -r /path/to/repository/root ``` 此处假设已经指定了正确的根目录作为参数传递给svnserve命令。 ##### 3. 远程接入测试 最后一步就是验证外部能否正常访问到刚架设好的SVN服务器了。可尝试运用TortoiseSVN这样的图形界面客户端或是命令行形式发起checkout请求,确认一切运作良好后再正式投入使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值