幸福是把温暖的枪

在linux下安装svn(摘录+自己的总结)

1.下载subversion和apache的最新src包
2. 新建一个用户:svnroot ,以下操作非特别说明皆为root用户操作
#groupadd svn
#useradd svnroot -g svn
#passwd svn
3. 编译安装httpd:
//解压apache2安装包
# tar xvzf httpd-2.2.3.tar.tar
//进入解压后的目录
# cd httpd-2.2.3
//配置apache安装
# ./configure --enable-dav --enable-so --prefix=/usr/local/apache2/
# make
//安装
# make install
//启动apache服务
# /usr/local/apache2/bin/apachectl start
//打开浏览器http://localhost/如果有测试页"It works!"出现则证明已经安装成功。
  
4. 安装Subversion
//解压SubVersion安装包
 # tar xvzf Subversion-1.4.0.tar.gz
//进入解压后的目录
# cd Subversion-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
//安装
# make install
//创建库文件所在的目录 (svnroot用户进行下面的操作)
# mkdir /home/svnroot/repository
//创建仓库"test"
# /usr/local/subversion/bin/svnadmin create /home/svnroot/repository/test
//查看svn是否安装成功
#  /usr/local/subversion/bin/svnadmin --version
//不让其他人有该目录的权限
# chmod 700 /home/svnroot/repository
 (svnroot用户操作结束)
 
5. 修改Apache配置文件
# vi /usr/local/apache2/conf/httpd.conf
   //找到下列语句,如果没有则自行添加
   LoadModule dav_svn_module modules/mod_dav_svn.so
   LoadModule authz_svn_module modules/mod_authz_svn.so 
  //在后面添加 
   <Location /svn>
   DAV svn
   SVNParentPath /home/svnroot/repository/ //svn父目录
   AuthzSVNAccessFile /home/svnroot/repository/authz.conf //权限配置文件
   AuthType Basic //连接类型设置
   AuthName "Subversion.zoneyump" //连接框提示
   AuthUserFile /home/svnroot/repository/authfile //用户配置文件
   Require valid-user //采用何种认证
   </Location>
 
//重启apache
 # /usr/local/apache2/bin/apachectl restart
//打开浏览器访问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 文件中配置,找到文件中的这两行:
User daemon
Group daemon
 // 将daemon改为svnroot,组也做相应更改,让apache进程以svnroot的身份运行
//改完后是这个样子
User svnroot
Group svn
//重启apache
  # /usr/local/apache2/bin/apachectl restart
访问http://localhost/svn/test ,现在需要身份验证,且通过验证后应该可以看到信息
 补充:在xp的环境下,如果你运行着卡巴斯基,可能会导致无法访问svn,通常会报400 Bad Request错误
解决办法是:进入卡巴斯基的设置-->网络设置--->端口设置,然后从端口列表中去掉80端口即可
再次补充:eclipse有svn的插件,subclipse,安装路径为:http://subclipse.tigris.org/update

posted on 2006-09-28 10:18 幸福是把温暖的枪 阅读(9247) 评论(3)  编辑  收藏 所属分类: linux

评论

# re: 在linux下安装svn(摘录+自己的总结) 2006-11-08 00:26 小雨不打伞

谢谢~
从你这里找到我用apche访问svn的原因了~~  回复  更多评论   

# re: 在linux下安装svn(摘录+自己的总结) 2008-07-16 15:31 xiaogui

#./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
这句无法运行  回复  更多评论   

# re: 在linux下安装svn(摘录+自己的总结) 2013-04-16 16:52 re: 在linux下安装svn(摘录+自己的总结)

re: 在linux下安装svn(摘录+自己的总结)  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航: