自己买的阿里云服务器。可是我老感觉没有SVN上传代码下载代码太不方便!决定配置个SVN服务器!

1.安装Subversion

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

2创建 Subversion 仓库(Respository)

许多位置都可以放置 Subversion 仓库,其中两个最常用的是:/usr/local/svn 以及 /home/svn。我们选择把 Subversion 仓库放在 /home/svn/repos,

并且假设我们需要建立两个仓库 project1 和 project2。

通常的情况下,首先创建一个名为 “Subversion” 的用户组,该组是 Subversion 仓库所在的目录的拥有者。

使用如下命令增加组,并且把用户加到组里:

$ sudo addgroup subversion
$ sudo usermod -G subversion -a www-data

查看上面两个命令的执行结果:

$ cat /etc/group | grep subversion
subversion:x::www-data

执行如下命令创建仓库目录:

$ sudo mkdir -p /home/svn/repos/project1
$ sudo mkdir -p /home/svn/repos/project2

下面命令用于创建 Subversion 仓库:

$ sudo svnadmin create /home/svn/repos/project1
$ sudo svnadmin create /home/svn/repos/project2

赋予组成员对所有新加入文件仓库的文件拥有相应的权限:

$ sudo chown -R www-data:subversion /home/svn/repos/project1
$ sudo chown -R www-data:subversion /home/svn/repos/project2

3.直接访问

$ svn co file:///home/svn/myproject

如果访问成功,那么这个时候就证明已经配置好了。

接下来,我们使用最常用的的方式访问,无论是在远程的windows还是在ubunto里面都可以的。

使用其自身的协议访问(svn://)

4.访问控制

当您创建了 SVN 文件仓库,您可以修改 /home/svn/myproject/conf/svnserve.conf 来配置其访问控制。

例如,您可以取消下面的注释符号来设置授权机制:

# [general]
# password-db = passwd

现在,您可以在“passwd”文件中维护用户清单。编辑同一目录下“passwd”文件,添加新用户。语法如下:

username = password
#(注意行开始不要有多余空格)

5.远程访问

$ sudo svnserve -d -T -r /home/svn

可以在本地或者远程通过 svn://访问 SVN 了,您可以使用“svnserve”来运行 svnserver。语法如上:

6.注意:

①现在可以通过svn://来访问

②虽然可以正常check,update,commit.可是在服务端找不到提交的代码!

#注意这里设置成自己想要更新的目录,已经用户名和密码
sudo svn update /wwwroot/myproject --username username-- password password

7.还有很多 不明白!不过凑合着能用了。只不过我的网站被搞挂蓝!

参考博客:http://my.oschina.net/experience/blog/130137

http://my.oschina.net/luoly/blog/95446

http://stackoverflow.com/questions/10160339/starting-apache-fails-could-not-bind-to-address-0-0-0-080

最新文章

  1. java util 下的concurrent包
  2. c语言第一章第一节 认识变量
  3. 在Linux中查看所有正在运行的进程
  4. Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
  5. linux服务器如何设置目录权限,让开发只能在测试目录下开发,不在线上目录上开发
  6. hdu 4576 概率dp **
  7. java 锁讲解
  8. Windows服务中用Timer和线程两种方式来执行定时任务
  9. Android上成功实现了蓝牙的一些Profile
  10. ES2015 类中的静态方法
  11. 报错【org.springframework.validation.BeanPropertyBindingResult】
  12. 如何在 Linux 中查看进程占用的端口号【转】
  13. 图解Metrics, tracing, and logging
  14. 前端利器Emmet
  15. Mysql报错:Packet for query is too large (1121604 > 1048576).You can change this value on the server by setting the max_allowed_packet variable
  16. UVA1428 Ping pong
  17. apk MIME类型
  18. java工程师基础笔试题(一)-参考答案
  19. python Gevent – 高性能的Python并发框架
  20. bitmap运算

热门文章

  1. Shell Script-读取配置文件
  2. magento csv导入
  3. Selenium2学习-026-WebUI自动化实战实例-024-获取页面元素
  4. 判断远程图片是否存在【适用于windows服务器】
  5. 还原SQLServer2008数据库报用户无法登录 .
  6. 面向对象编程(九)——面向对象三大特性之继承以及重写、Object类的介绍
  7. VI设置及用法
  8. RFS_oracle的操作
  9. Hibernte继承映射
  10. 使用Fiddler对android应用抓包