由于我和朋友在两地,代码管理的问题得不到解决,***由于我们两个局域网段一样,无法连通,而客户这边刚好把服务器买下来,于是我想干脆就在这台公网服务器上搭建一个SVN服务器,以前在windows server搭建过,不过这是第一在linux上搭建,现将过程记录如下。

首先搭建apache 服务器,这个在我们买的云主机上,已经有了所以安装过程我就不累述了,由于apache上默认是监听80端口,服务商是关闭了IP地址直接访问80端口,于是我们需要将监听端口换个位置

文件位置

sudo vi /etc/apache2/ports.conf
NameVirtualHost *:3020
Listen 3020

现在我们重启apache

/etc/init.d/apache2 restart

现在安装SVN

运行下面命令

$ sudo apt-get install subversion
$ sudo apt-get install libapache2-svn

由于我们没有多大安全问题,就用了http方式连接,而现在我们先要让svn在apache服务上,编辑下面的文件

vi /etc/apache2/mods-available/dav_svn.conf
<Location /svn/myproject>
DAV svn
SVNPath /home/svn/myproject
AuthType Basic
AuthName "myproject subversion repository"
AuthUserFile /etc/subversion/passwd
#<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
#</LimitExcept>
</Location>

但是现在不存在这样路径/home/svn/myproject这样的路径,下面我们就要创建这样的文件夹和建立svn版本库

执行下面的命令

$ sudo mkdir /home/svn
$ cd /home/svn
$ sudo mkdir myproject
创建版本库
 sudo svnadmin create /home/svn/myproject

但是我的操作都省略用户权限一步(如果你不是使用root权限 记得给这些文件夹相应用户权限)

现在为连接创建用户和密码

sudo htpasswd -c /etc/subversion/passwd user_name

输入好密码,重启服务器,然后你就可以通过http://的方式访问代码库