http://blog.csdn.net/thinkhy/article/details/4598630

最近公司的Windows服务器中毒了,同事决定改用Linux。听说我以前弄过Linux,且还比较闲,于是被拉过去装服务器。

以前实验室的SVN服务器是加老板配的,这次只能自己硬着头皮上了。

Google搜到下面这篇文章http://writeblog.csdn.net/PostEditPlain.aspx) :

=========================================

一、安装Apache2.2服务器(如果你安装了这个步骤就可以省略了)

#sudo apt-get install apache2

#sudo apt-get install apache2-common

#sudo apt-get install apache2-mpm-prefork

#sudo apt-get install apache2-utils

#sudo apt-get install libapache2-svn

#sudo apt-get install libapache2-mod-auth-pam(可选,用于PAM)

#sudo apt-get install libapache2-mod-auth-sys-group(可选,用于PAM)

#sudo apt-get install subversion

#sudo apt-get install subversion-tools
二 SVN配置

1.创建SVN的版本仓库(将定我把我的库名字叫svn,项目名称叫myproject 我的用户名石tokyo2006)
#sudo mkdir /home/svn
#sudo mkdir /home/svn/myproject
2.创建一个用户组来拥有文件仓库所在的目录   (如果你不想通过组来分配权限,也可以单独用用户分配权限)
#sudo vi /etc/group
# cat /etc/group|grep subversion subversion:x:1001:www-data,tokyo2006

创建组的权限

#/home/svn# sudo chown -R root:subversion myproject

#/home/svn# sudo chmod -R g+rws myproject
单独给用户创建权限
# sudo chown -R www-data:www-data /home/svn/myproject
创建文件仓库
#sudo svnadmin create /home/svn/myproject
三 Apache配置
#sudo gedit /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>
添加好上述内容后保存退出,然后重启Apache
#sudo /etc/init.d/apache2 restart
接下来,创建 /etc/subversion/passwd 文件,该文件包含了用户授权的详细信息。
#sudo htpasswd -c /etc/subversion/passwd 要创建的用户名
它会提示您输入密码,当您输入了密码,该用户就建立了。
在浏览器里面输入 http://localhost/svn/myproject 你就可以看见你的版本了
我们来提交一个文件做测试,在/home/tokyo2006/truck里面有文件我们提交,用如下命令
#svn -import -m “操作注释” /home/tokyo2006/truck http://localhost/svn/myproject
在浏览器中浏览一下是不是发现变成版本一了,好了,我们来checkout一下,呵呵
#svn checkout http://localhost/svn/myproject /home/tokyo2006/test
看看test文件夹里面是不是有文件了?
就这么多了,笔记MARK

在网上找了个更详细的MRAK   http://www.ibm.com/developerworks/cn/java/j-lo-apache-subversion/

=================================================

上面的步骤比较清晰,但还有以下三点值得注意 :

1.  新建组和为用户添加组时,需要重新登录Shell才能生效,感谢水木社区LinuxApp版的网友提示。

2.  一个新的版本库就被创建出来之后,用svn import 命令导入代码的过程中,出现了Permission denied的错误,这时需要在库目录下sudo chmod -R o+wxr添加其他用户的全部权限,这样可能不安全,但还没找到解决办法。

3. 有关Ubuntu的,apache2-common和 apache2-utils改名了,不需要单独安装; libapache2-mod-auth-pam和libapache2-mod-auth-sys-group这两个包在新立德源里找不到。

4 一般要用SVN管理 多个项目,所以配置文件要加上以下两行:

SVNListParentPath   on   # 访问父目录

SVNParent   /svn             # 父目录指向位置

           注意Windows和Unix平台中配置文件不同:                      windows    配置文件:  apache/conf/httpd.conf           Unix/Linux 配置文件:/etc/apache2/mods-available/dav_svn.conf
=================================================
最后秀一下我的配置文件:

-----------------------------------------------------------

Windows 下 apache/conf/httpd.conf:

<IfModule ssl_module>

SSLRandomSeed startup builtin

SSLRandomSeed connect builtin

</IfModule>

#http://localhost:8086/svn/

<Location /svn/>

DAV svn

SVNListParentPath on

SVNParentPath E:/Apache_Svn/_svn_root

AuthName "PAM's SVN"

# 基本验证模式

AuthType Basic

AuthUserFile E:/Apache_Svn/Apache2.2/conf/svn-passwd

AuthzSVNAccessFile E:/Apache_Svn/Apache2.2/conf/svn-access

Require valid-user

</Location>

--------------------------------------------------------

--------------------------------------------------------

Linux 下 /etc/apache2/mods-available/dav_svn.conf  :

<Location /svn/>

DAV svn

SVNListParentPath on

SVNParentPath /svn

AuthType Basic

#Satisfy Any

Require valid-user

#Require valid-group

Options Indexes MultiViews

AuthName "PAM subversion repository"

AuthUserFile /etc/subversion/passwd

AuthzSVNAccessFile /etc/apache2/dav_svn.authz

#Require valid-user

#Satisfy Any

#</LimitExcept>

</Location>

===============================================================

[经验总结]源代码管理=Ubuntu+Apache+SVN相关推荐

  1. 源代码管理-SVN自动更新

    在多个项目组协同开发的工程中,使用SVN做源代码管理,会是我们的选择之一.它解决了微软VSS独占式编辑模式,SVN真正做到了协同开发. 但是,在服务端我们有多个SVN源,而且这些源和我们本职开发没有直 ...

  2. git与svn, tfs等源代码管理器的协同

    简单地说,这三个都是业界知名的源代码管理器.他们是有区别的,根本的区别在于git是分布式源代码管理器(每个本地都有完整的代码,及历史),而svn和tfs是集中式源代码管理器(只有服务器才有完整的历史, ...

  3. Redmine+Apache+SVN+Postfix完整配置指南

    2019独角兽企业重金招聘Python工程师标准>>> Redmine+Apache+SVN+Postfix完整配置指南 Edition Author State Date Desc ...

  4. linux安装trac+svn+apache+wike,apache+svn+trac安装及配置2

    安装配置Trac 要预先安装的软件包在trac-0.11.2的INSTALL文件里有列出,如下: * Python, version >= 2.3. + Please keep in mind, ...

  5. svn服务器安装位置,ubuntu下svn服务器安装配置--经过本人测试(非wwj)

    一.SVN安装 1.安装包 $ sudo apt-get install subversion 查看版本命令 svnserve --version(更多命令直接键入svnserve --help可查看 ...

  6. 迷路在现代软件工程中的羔羊——略读邹欣老师《构建之法》及讲义有感(附上源代码管理软件以及CI/CD调研Demo)

    迷路在现代软件工程中的羔羊--略读邹欣老师<构建之法>及讲义有感(附上源代码管理软件以及CI/CD调研Demo) 项目 内容 这个作业属于哪个课程 北京航空航天大学2022春季软件工程(罗 ...

  7. Linux (Ubuntu)安装SVN服务端详细篇

    1 先查看是否已经安装了svn: 如果没有安装svn则: root@houwp:~# svn --version The program 'svn' is currently not installe ...

  8. 20180320作业1:源代码管理工具调查

    任务说明: 一.找出并了解当前较为流行的几种源代码管理工具(至少三种): 二.建立表格对这些源代码管理工具的优缺点进行比较分析. 工具 优点 缺点 SVN  开源,有独立大的安全管理机制代码一致性高 ...

  9. SVN-项目 XXX 受源代码管理。向源代码管理注册此项目时出错。建议不要对此项目进行任何修改...

    错误描述:  项目 XXX 受源代码管理.向源代码管理注册此项目时出错.建议不要对此项目进行任何修改 解决办法: 使用记事本打开,项目csproj文件删除图中几行,重新打开解决方案就可以了 原因分析: ...

最新文章

  1. OpenStack计算节点AMQP5672报错
  2. Linux下查看磁盘挂载的三种方法
  3. linux ubi 分区,Linux最新UBI文件系统介绍
  4. Jenkins真正地完整迁移流程(亲测有效)
  5. Java培训分享5个常用Java代码混淆器
  6. c++面向对象高级编程 学习十四 引用
  7. 生成模型和判别模型直接的区别
  8. 【重点BFS】LeetCode 127. Word Ladder
  9. PCL visualizer
  10. 编译hadoop,spark遇到的问题总结
  11. ArcGIS 10.3 AddIN编译旧版本项目问题
  12. java求方程的解_给定一个 n 元一次方程组,求方程组的解。(java8)
  13. 如何提高团队管理能力10
  14. 华为云服务器如何使用
  15. AdaBoost 算法解析
  16. 老板们这些股权结构需要优化了
  17. 51Nod——T 1631 小鲨鱼在51nod小学
  18. 怎样判断c语言编程错误,C语言编程出错
  19. 软件生命周期之软件计划阶段
  20. 深圳周末好去处|深圳一日游推荐攻略

热门文章

  1. python装饰器实例-Python装饰器实用例子
  2. python如何编程-终于发现怎么自学python编程
  3. python是用什么语言开发的-python是什么语言?哪些人适合学习Python?
  4. python中数据分析的流程为-利用python进行数据分析——histogram
  5. python画二维散点图-基于python 二维数组及画图的实例详解
  6. python装饰器原理-python装饰器的原理和使用
  7. 学python推荐书籍-零基础学python推荐几本python学习的书籍
  8. python进阶免费-【Python进阶,一学就会】系列1(文末免费送10本书)
  9. python培训深圳-深圳哪家python培训班比较靠谱
  10. python开发需要掌握哪些知识-Python的8个基础知识点,新手必须背下来!