Linux下SVN服务器的搭建与配置

来源:互联网 发布:mac上可以玩的网游 编辑:程序博客网 时间:2024/05/16 17:30

下载最新的svn压缩包

 

http://subversion.tigris.org/servlets/ProjectDocumentList?expandFolder=260&folderID=260

 

Linux环境下配置同步更新的SVN服务器

 

先搭建环境

Linux版本选择Centos5.0

#yum update

#yum -y install gcc

#yum -y install httpd

#yum install mod_dav_svn subversionDependencies Resolved

 

初期配置 我选择的是以HTTP方式实现SVN功能

cd /etc/httpd/conf.d/

vi subversion.conf

添加以下内容

 

# Make sure you uncomment the following if they are commented outLoadModule dav_svn_module

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

# Add the following to allow a basic authentication and point Apache to where the actual# repository resides.

<Location /txlt> #访问域名,设置后可以直接用http://127.0.0.1/txlt来访问了

DAV svn

SVNPath /svn/txlt #SVN建立的版本数据库位置

#SVNParentPath /svn/repository 版本数据库所在目录

#AuthzSVNAccessFile /svn/repository/authz.conf   访问授权文件

AuthType Basic

AuthName “Subversion txlt”

AuthUserFile /etc/svn-auth-conf

Require valid-user

</Location>

 

建立SVN的用户和访问权限设置

建立第一个用户

htpasswd -cm /etc/svn-auth-conf woody

然后根据提示输入密码并且确认密码,以后再建立用户就不需要再加上参数-c

htpasswd -m /etc/svn-auth-conf keen

htpasswd -m /etc/svn-auth-conf harry

 

创建授权文件

vi authz.conf

[groups]

admin = yj

project1 = yujun, yemao

project2 = maoju, like

 

# 为所有库指定默认访问规则

# 所有人可以读,管理员可以写,危险分子没有任何权限

[/]

* = r

@admin = rw

dangerman =

 

# 允许开发人员可以完全访问他们的项目版本库

[project2:/]

@project1 = rw

[project2:/]

@project2 = rw

 

 

建立版本数据库

cd /

mkdir svn

cd svn

svnadmin create txlt

chown -R apache.apache txlt

 

设置APACHE发布信息

DocumentRoot “/www”

 

<Directory “/www”>

Options FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

</Directory>

 

service httpd start

 

建立导入目录

cd /

mkdir www

chmod 755 www

chown apache.apache /www

 

配置钩子程序

[root@www /]# cd /svn/txlt/hooks/

[root@www hooks]# cp post-commit.tmpl post-commit

[root@www hooks]# chmod 755 post-commit

[root@www hooks]# chown apache.apache post-commit

[root@www hooks]# vi post-commit

将里面的所有代码全部注释

添加以下这行代码

svn update –username=woody –password=woody http://127.0.0.1/txlt /www

然后保存退出

 

导出版本version:0的数据库内容

svn checkout –username=woody –password=woody http://127.0.0.1/txlt /www

 

配置完毕,重启一下APACHE服务器试试看

service httpd restart

 

 

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

 

编译 apache 的时候记得加上

 

--enable-dav --enable-so --enable-maintainer-mode

 

否则tmd的还是整合不了~~

 

典型错误:

 

httpd: Syntax error on line 58 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/mod_dav_svn.so into server: /usr/local/apache2/modules/mod_dav_svn.so: undefined symbol: dav_register_provider

 

 

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/kouzl/archive/2009/06/01/4233574.aspx

原创粉丝点击