Subversion经过长时间的发展,很多用户应该有所了解,这里我发表一下个人理解,和大家讨论讨论Subversion源代码安装
步骤:
1.下载subversion和apache的最新src包
2.新建一个用户:svnroot,以下操作非特别说明皆为root用户操作
#groupaddsvn
#useraddsvnroot-gsvn
#passwdsvn
3.编译安装httpd:
//解压apache2安装包
#tarxvzfhttpd-2.2.3.tar.tar
//进入解压后的目录
#cdhttpd-2.2.3
//配置apache安装
#./configure--enable-dav--enable-so--prefix=/usr/local/apache2/
#make
//安装
#makeinstall
//启动apache服务
#/usr/local/apache2/bin/apachectlstart
//打开浏览器http://localhost/如果有测试页"Itworks!"出现则证明已经安装成功。
4.安装Subversion源代码
//解压SubVersion安装包
#tarxvzfSubversion-1.4.0.tar.gz
//进入解压后的目录
#cdSubversion-1.4.0
//配置subversion安装
#./configure--with-apxs=/usr/local/apache2/bin/apxs--prefix=/usr/local/subversion--with-apr=/usr/local/apache2--with-apr-util=/usr/local/apache2--with-ssl--with-zlib--enable-maintainer-mode
#make
//安装
#makeinstall
//创建库文件所在的目录(svnroot用户进行下面的操作)
#mkdir/home/svnroot/repository
//创建仓库"test"
#/usr/local/subversion/bin/svnadmincreate/home/svnroot/repository/test
//查看svn是否安装成功
#/usr/local/subversion/bin/svnadmin--version
//不让其他人有该目录的权限
#chmod700/home/svnroot/repository
(svnroot用户操作结束)
5.修改Apache配置文件
#vi/usr/local/apache2/conf/httpd.conf
//找到下列语句,如果没有则自行添加
LoadModuledav_svn_modulemodules/mod_dav_svn.so
LoadModuleauthz_svn_modulemodules/mod_authz_svn.so
//在后面添加#p#
DAVsvn
SVNParentPath/home/svnroot/repository///svn父目录
AuthzSVNAccessFile/home/svnroot/repository/authz.conf//权限配置文件
AuthTypeBasic//连接类型设置
AuthName"Subversion.zoneyump"//连接框提示
AuthUserFile/home/svnroot/repository/authfile//用户配置文件
Requirevalid-user//采用何种认证
//重启apache
#/usr/local/apache2/bin/apachectlrestart
//打开浏览器访问http://localhost/svn/test/,如果有东西显示就说明成功。
6.权限管理
1)增加用户
#htpasswd-c/home/svnroot/repository/authfile用户名
//第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加
#htpasswd/home/svnroot/repository/authfile用户名(加入新的用户,就不用-c了)
2)权限分配
#vi/home/svnroot/repository/authz.conf
[groups]
admin=useradmin
devteamcs=useradmin,user1,user2//这里定义了一个用户组
[/]//对所有的项目,所有的用户都有读权限,admin用户有读写权限
@admin=rw
*=r
[test:/]//对test项目,
@devteamcs=rw
//在/usr/local/apache2/conf/httpd.conf文件中配置,找到文件中的这两行:
Userdaemon
Groupdaemon
//将daemon改为svnroot,组也做相应更改,让apache进程以svnroot的身份运行
//改完后是这个样子
Usersvnroot
Groupsvn
//重启apache
#/usr/local/apache2/bin/apachectlrestart
访问http://localhost/svn/test,现在需要身份验证,且通过验证后应该可以看到信息
补充:在xp的环境下,如果你运行着卡巴斯基,可能会导致无法访问svn,通常会报400BadRequest错误
解决办法是:进入卡巴斯基的设置-->网络设置--->端口设置,然后从端口列表中去掉80端口即可,再次补充:eclipse有svn的插件,subclipse,安装路径为:http://subclipse.tigris.org/update其中svnpasswd.file是通过
#htpasswd-cb/path/to/svnpasswd.fileusernamepassword//来创建的subversion源代码安装目录的bin目录下的svn就是linux下的命令行客户端linux下图形界面的客户端似乎没看到fedora本来就有的..这是可以的,在windows下安装好SVN服务端然后在LINUX下svncosvn://xxx.xxx.xxx.xxx/filename就可以了xxx为windows服务器地址后面为svn路径,也可以安装rapidsvn
【编辑推荐】
- 学习笔记:在Debian下如何进行Subversion配置
- 全面剖析:CentOS下如何安装Subversion
- Subversion1.4.5和Apache2.2.6的完美结合
- 学习笔记:剖析Collabnet Subversion集成
- 新手指南:Subversion服务器安装行之有效的方法