[经验总结]源代码管理=Ubuntu+Apache+SVN
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相关推荐
- 源代码管理-SVN自动更新
在多个项目组协同开发的工程中,使用SVN做源代码管理,会是我们的选择之一.它解决了微软VSS独占式编辑模式,SVN真正做到了协同开发. 但是,在服务端我们有多个SVN源,而且这些源和我们本职开发没有直 ...
- git与svn, tfs等源代码管理器的协同
简单地说,这三个都是业界知名的源代码管理器.他们是有区别的,根本的区别在于git是分布式源代码管理器(每个本地都有完整的代码,及历史),而svn和tfs是集中式源代码管理器(只有服务器才有完整的历史, ...
- Redmine+Apache+SVN+Postfix完整配置指南
2019独角兽企业重金招聘Python工程师标准>>> Redmine+Apache+SVN+Postfix完整配置指南 Edition Author State Date Desc ...
- linux安装trac+svn+apache+wike,apache+svn+trac安装及配置2
安装配置Trac 要预先安装的软件包在trac-0.11.2的INSTALL文件里有列出,如下: * Python, version >= 2.3. + Please keep in mind, ...
- svn服务器安装位置,ubuntu下svn服务器安装配置--经过本人测试(非wwj)
一.SVN安装 1.安装包 $ sudo apt-get install subversion 查看版本命令 svnserve --version(更多命令直接键入svnserve --help可查看 ...
- 迷路在现代软件工程中的羔羊——略读邹欣老师《构建之法》及讲义有感(附上源代码管理软件以及CI/CD调研Demo)
迷路在现代软件工程中的羔羊--略读邹欣老师<构建之法>及讲义有感(附上源代码管理软件以及CI/CD调研Demo) 项目 内容 这个作业属于哪个课程 北京航空航天大学2022春季软件工程(罗 ...
- Linux (Ubuntu)安装SVN服务端详细篇
1 先查看是否已经安装了svn: 如果没有安装svn则: root@houwp:~# svn --version The program 'svn' is currently not installe ...
- 20180320作业1:源代码管理工具调查
任务说明: 一.找出并了解当前较为流行的几种源代码管理工具(至少三种): 二.建立表格对这些源代码管理工具的优缺点进行比较分析. 工具 优点 缺点 SVN 开源,有独立大的安全管理机制代码一致性高 ...
- SVN-项目 XXX 受源代码管理。向源代码管理注册此项目时出错。建议不要对此项目进行任何修改...
错误描述: 项目 XXX 受源代码管理.向源代码管理注册此项目时出错.建议不要对此项目进行任何修改 解决办法: 使用记事本打开,项目csproj文件删除图中几行,重新打开解决方案就可以了 原因分析: ...
最新文章
- OpenStack计算节点AMQP5672报错
- Linux下查看磁盘挂载的三种方法
- linux ubi 分区,Linux最新UBI文件系统介绍
- Jenkins真正地完整迁移流程(亲测有效)
- Java培训分享5个常用Java代码混淆器
- c++面向对象高级编程 学习十四 引用
- 生成模型和判别模型直接的区别
- 【重点BFS】LeetCode 127. Word Ladder
- PCL visualizer
- 编译hadoop,spark遇到的问题总结
- ArcGIS 10.3 AddIN编译旧版本项目问题
- java求方程的解_给定一个 n 元一次方程组,求方程组的解。(java8)
- 如何提高团队管理能力10
- 华为云服务器如何使用
- AdaBoost 算法解析
- 老板们这些股权结构需要优化了
- 51Nod——T 1631 小鲨鱼在51nod小学
- 怎样判断c语言编程错误,C语言编程出错
- 软件生命周期之软件计划阶段
- 深圳周末好去处|深圳一日游推荐攻略
热门文章
- python装饰器实例-Python装饰器实用例子
- python如何编程-终于发现怎么自学python编程
- python是用什么语言开发的-python是什么语言?哪些人适合学习Python?
- python中数据分析的流程为-利用python进行数据分析——histogram
- python画二维散点图-基于python 二维数组及画图的实例详解
- python装饰器原理-python装饰器的原理和使用
- 学python推荐书籍-零基础学python推荐几本python学习的书籍
- python进阶免费-【Python进阶,一学就会】系列1(文末免费送10本书)
- python培训深圳-深圳哪家python培训班比较靠谱
- python开发需要掌握哪些知识-Python的8个基础知识点,新手必须背下来!