如何用腾讯云服务器搭建svn服务器 腾讯云服务器ssh

如何配置svn服务器

方法/步骤 一、准备工作 1、SVN服务器:解压缩包,可以从官方网站下载最新版本。 2、SVN客户端:TortoiseSVN,即常说的小乌龟,是一个客户端程序,用来与服务器端通讯。 二、安装服务器和客户端程序 1、SVN服务器:直接解压缩到某个文件夹下即可。示例路径:c:\svn\ 备注:如果下载的是msi程序,直接运行按提示安装即可。 2、SVN客户端:直接运行按提示安装即可。示例路径:C:\Program Files\Subversion 三、建立版本库(Repository):示例路径:e:\svnroot。建立版本库有两种方法: 方法一,建立空目录e:\svnroot\repos1,进入repos1文件夹,在空白处点击右键,选择“TortoiseSVN-Create Repositoryhere...”, 方法二,建立空目录e:\svnroot\repos2,进入DOS命令行,输入如下命令: svnadmincreate e:\svnroot\repos2 四、运行SVN服务器,启动服务。启动服务有两种方法: 方法一,临时启动服务,在DOS下输入如下命令: svnserve -d -r e:\svnroot\repos1 --listen-host ip地址 --listen-port=端口号 说明:“listen-host”和“listen-port”可选。默认端口是3690,如果端口已经被占用,可以通过选项listen-port指定端口号。 注意:请不要关闭命令行窗口,关闭窗口会把 svn服务就停止了。 方法二,启动SVN服务为后台运行程序: sc create svnserve binPath= "c:\svn\bin\svnserve.exe --service -r e:\svnroot\repos1" displayname= "Subversion" depend=Tcpip start= auto 说明一: (1)sc是windows自带的服务配置程序。svnserve是服务的名称,可根据需求取名。 (2)参数binPath表示svnserve可执行文件的安装路径。 (3)--service表示以windows服务的形式运行,--r指明svnrepository的位置,service参数与r参数都作为binPath的一部分,因此与svnserve.exe的路径一起被包含在一对双引号当中。 (4)displayname表示在windows服务列表中显示的名字,depend=Tcpip表示svnserve服务的运行需要tcpip服务,start=auto表示开机后自动运行。安装服务后,svnserve要等下次开机时才会自动运行。 说明二: (1)binPath的等号前面无空格,等号后面有空格。displayname、depend、start也一样,service前面是--,不是- ,而r前面是-。 (2)若要卸载svn服务,则执行 sc delete svnserve 即可。 (3)从“sc”到“auto”是在同一个命令sc,必须写在同一行。 (4)启动服务命令:netstart svnserve,停止服务命令:net start svnserve,也可以进入Windows提供的界面操作SVNService服务了,即控制面板—服务。 (5)如果路径中包括空格,一定要用“\”处理“"”号,例如上面的例子中如果svnserve.exe在“c:\programfiles\svn\”中,则命令应该写为“binpath="\"c:\programfiles\svn\bin\svnserve.exe\" 五、配置用户和权限 (1)修改svnserve.conf,在e:\svn\repos1\conf目录下,用文本编辑器打开svnserve.conf: 将: # anon-access = read # auth-access = write # password-db = passwd 改为 anon-access = read auth-access = write password-db = passwd 注意说明: anon-access等列前面是没有空格的。 anon-access = read表示没通过用户名密码登录的访问只有读的权限,如果改为none则没有用户名密码不能访问 auth-access = write表示通过用户名密码登录的有写的权限(当然读的权限也就有了) password-db = passwd表示可以通过 用户名 = 密码 的方式在passwd文件中添加用户 (2)修改同目录的passwd文件,增加用户帐号: 将: [users] # harry = harryssecret # sally = sallyssecret 添加帐号: [users] # harry = harryssecret # sally = sallyssecret admin = admin 添加一个admin账户,密码是admin。 六、初始化SVN,导入数据 选中要上传SVN的文件夹,“右键 -TortoiseSVN - Import...” ,在弹出对话框的“URL of repository”输入“svn://localhost/project1/”。在“Importmessage”输入注释,点击OK,要求输入帐号,输入账户admin和密码admin。 七,测试SVN 本地测试:新建一空文件夹test1,单击右键,选择“SVN Checkout”,在“URL of repository”中输入“svn://localhost/project1”。 其他机器测试:如果运行svnserve的主机IP地址是1.2.3.4,则URL输入的内容就是“svn://1.2.3.4/project1”。

创新互联建站主要从事成都做网站、成都网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务康马,十年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108

如何搭建svn本地服务器,管理本地的代码

搭建SVN服务器端:

1. 解压缩svn到一个目录, 例如c:\svn

2. 解压缩svnservice的压缩包, 将svnservice.exe放入c:\svn\bin

3. 安装TortoiseSVN, 安装完毕时会提示重新启动计算机, 重启完毕后安装简体中文语言包, 然后在随便一个目录右击, 就会发现多出了一些SVN相关菜单, 选择其中的TortoiseSVN, 再选择子菜单"Settings", 设置Language为"中文(简体)"

4. 打开"我的电脑", 建立一个存放svn信息的目录, 例如c:\svnhome, 然后返回在c盘, 右击这个svnhome目录, 在出现的菜单中选择TortoiseSVN, 再选择子菜单"在此创建文件库", 选择fsfs方式即可 (注: 这里选择创建文件库实际上就相当于让TortoiseSVN代替你进行了svnadmin create c:\svnhome的操作)

5. 在dos控制台状态下cd c:\svn\bin 然后svnservice -install -d -r c:\svnhome 再net start svnservice来将其作为服务运行, 建议你再到控制面板-管理工具-服务中找到SVNService, 右击选择"属性", 再将其启动类型设置为"自动"

6. 打开c:\svnhome, 你会发现已经多了一些目录和文件, 打开conf子目录, 打开svnserve.conf文件, 这里行前凡是有#的都等于是被注释忽略了, 你可以把#去掉让那一行生效, 或者自己新添加行. 里面的英文注释已经详细说明了各种设置的含义, 最后你设置[general]小节中行前没有#号的内容为:

anon-access = none

auth-access = write

password-db = passwd

含义是:

未验证用户无任何权限 (如果把none修改为read就是给予读权限)

已验证用户给予写权限 (当然也能读)

密码数据存放到passwd文件中

然后打开同目录的passwd文件来设置帐户:

同样, 设置[users]小节中行前没有#号的内容, 例如:

snowman=abc123

含义是:

用户snowman的密码为abc123

6. 打开"我的电脑", 在你需要进行版本控制的目录上右击, 选择TortoiseSVN, 再选择子菜单"导入...", 设置"文件库url"为svn://localhost 点确定后就会提示文件正在导入. (注: 这里是svn文件库与svn服务是同一台计算机的情况, 所以可用localhost, 其它机器如果要访问svn服务, 应该用svn://svn服务器的IP地址, 例如svn://10.0.0.52)

至此, SVN服务器配置完成

客户端配置:

1. 没安装TortoiseSVN的计算机先安装它并重启计算机. (注: 具体步骤参照前面搭建服务器端的第3步)

2. 创建一个准备用来存放版本控制工程的目录, 例如d:\project, 然后在"我的电脑"中右击这个目录, 选择"SVN取出...", 设置"文件库url"为svn://svn服务器的IP地址, 接下来会问你用户名和帐号, 你就填写前面搭建服务器端所设置的用户snowman密码abc123

(文件库url可参照前面搭建服务器端第6步的注解)

点确定后就会提示文件正在取出到d:\project

至此, SVN客户端配置完成, 你会看到d:\project及其下面的文件都被标记了绿色对勾

客户端的简单日常使用:

1. 要取得工程的当前的最新版本, 右击d:\project, 选择"SVN更新"

2. 你更改工程后, 要将你的修改更新到SVN, 右击d:\project, 选择"SVN提交" (谨慎的话请先更新到SVN最新版本后再提交)

如何用腾讯云服务器搭建svn服务器

Subversion 是一个受欢迎的开源的版本控制工具。他在互联网免费提供并且开源。大多数 GNU/Linux 发行版系统自带,所以它很有可能已经安装在你的系统上了。可以使用下面命令检查是否安装了。

[jerry@CentOS ~]$ svn --version

如果 Subversion 客户端没有安装,命令将报告错误,否则它将出现安装的软件版本

[jerry@CentOS ~]$ svn --version

-bash: svn: command not found

如果你使用基于 RPM 的 GNU/Linux,可以使用 yum 命令进行安装,安装成功之后,执行 svn --version 命令。

[jerry@CentOS ~]$ su -

Password:

[root@CentOS ~]# yum install subversion

[jerry@CentOS ~]$ svn --version

svn, version 1.6.11 (r934486)

compiled Jun 23 2012, 00:44:03

如果你使用基于 Debian 的 GNU/Linux,使用 apt 命令进行安装。

[jerry@Ubuntu]$ sudo apt-get update

[sudo] password for jerry:

[jerry@Ubuntu]$ sudo apt-get install subversion

[jerry@Ubuntu]$ svn --version

svn, version 1.7.5 (r1336830)

compiled Jun 21 2013, 22:11:49

Apache 安装

我们已经看到如何将 SVN 客户端安装到 GNU/Linux 上,让我们看看如何创建一个新的版本库让使用者们访问。

我们必须必须在服务器上安装 Apache httpd 模块和 svnadmin 工具。subversion 从 /etc/httpd/conf.d/subversion.conf 读取配置文件, subversion.conf 看起来像这个样子

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

Location /svn

DAV svn

SVNParentPath /var/www/svn

AuthType Basic

AuthName "Authorization Realm"

AuthUserFile /etc/svn-users

Require valid-user

/Location

让我们创建 Subversion 用户,授权他们访问版本库,htpasswd 命令用于创建和更新用来保存用户名和密码的纯文本文件给 HTTP 用户提供基本身份认证。-c 选项创建一个密码文件,如果密码文件已经存在了,它将会被覆盖。这就是为什么 -c 只在第一次使用。-m 选项用于设置是否启用 MD5 加密密码。

用户安装

让我们创建 tom

[root@CentOS ~]# htpasswd -cm /etc/svn-users tom

New password:

Re-type new password:

Adding password for user tom

让我们创建 jerry

[root@CentOS ~]# htpasswd -m /etc/svn-users jerry

New password:

Re-type new password:

Adding password for user jerry

[root@CentOS ~]#

创建一个 Subversion 父目录保存所有的工作,(/etc/httpd/conf.d/subversion.conf)。

[root@CentOS ~]# mkdir /var/www/svn

[root@CentOS ~]# cd /var/www/svn/

版本库安装

创建一个名为 project_repo 的版本库。svnadmin 命令用于创建一个新的版本库和一些其他目录保存数据。

[root@CentOS svn]# svnadmin create project_repo

[root@CentOS svn]# ls -l project_repo

total 24

drwxr-xr-x. 2 root root 4096 Aug 4 22:30 conf

drwxr-sr-x. 6 root root 4096 Aug 4 22:30 db

-r--r--r--. 1 root root 2 Aug 4 22:30 format

drwxr-xr-x. 2 root root 4096 Aug 4 22:30 hooks

drwxr-xr-x. 2 root root 4096 Aug 4 22:30 locks

-rw-r--r--. 1 root root 229 Aug 4 22:30 README.txt

让我们更改版本库的用户和组所有权。

[root@CentOS svn]# chown -R apache.apache project_repo/

检查是否启用SELinux或没有使用SELinux状态工具

[root@CentOS svn]# sestatus

SELinux status: enabled

SELinuxfs mount: /selinux

Current mode: enforcing

Mode from config file: enforcing

Policy version: 24

Policy from config file: targeted

如果SELinux启用了,我们必须更改安全的上下文。

[root@CentOS svn]# chcon -R -t httpd_sys_content_t /var/www/svn/project_repo/

如果允许通过 HTTP 进行提交,执行下面命令。

[root@CentOS svn]# chcon -R -t httpd_sys_rw_content_t /var/www/svn/project_repo/

更改这些配置后,我们重启 Apache 服务器。

[root@CentOS svn]# service httpd restart

Stopping httpd: [FAILED]

Starting httpd: httpd: apr_sockaddr_info_get() failed for CentOS

httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

[ OK ]

[root@CentOS svn]# service httpd status

httpd (pid 1372) is running...

[root@CentOS svn]#

我们已经成功配置好了 Apache 服务器,现在我们将配置版本库,使用默认的授权文件给可信的用户访问,添加下列几行到 roject_repo/conf/svnserve.conf 文件。

anon-access = none

authz-db = authz

照惯例,每个 SVN 项目都有主干,标签,分支在项目的 root 目录。

主干是主要开发和经常被开发者们查看的目录。

分支目录用于追求不同的开发方向。

让我们在项目版本库底下创建主干,标签,分支结构。

[root@CentOS svn]# mkdir /tmp/svn-template

[root@CentOS svn]# mkdir /tmp/svn-template/trunk

[root@CentOS svn]# mkdir /tmp/svn-template/branches

[root@CentOS svn]# mkdir /tmp/svn-template/tags

现在从 /tmp/svn-template 导入这些文件目录。

[root@CentOS svn]# svn import -m 'Create trunk, branches, tags directory structure' /tmp/svn-template/

Adding /tmp/svn-template/trunk

Adding /tmp/svn-template/branches

Adding /tmp/svn-template/tags

Committed revision 1.

[root@CentOS svn]#

完成了!我们已经成功创建版本库并允许 Tom 和 Jerry 访问,从现在开始他们可以所有版本库支持的操作了。


分享文章:如何用腾讯云服务器搭建svn服务器 腾讯云服务器ssh
文章来源:http://myzitong.com/article/ddiosco.html