linux下搭建svn服务器(doc 8页)

linux下搭建svn服务器(doc 8页)
linux下搭建svn服务器(doc 8页)

linux下搭建svn服务器(doc 8页)

Linux下搭建SVN服务器环境(svnserve方式)

环境:redhat5(apr.apr-util.zlib.subversion的压缩文件都是放在/usr/linuxsvn目录下,下面的解压命令tar zvxf解压出来的文件就直接是放在这个目录下,文件名跟压缩文件的名字是一样的)

一、安装apr、apr-util跟zlib

1、下载apr、apr-util与zlib

apr-1.3.3.tar.gz

apr-util-1.3.4.tar.gz

zlib-1.2.3.tar.gz

openssl-0.9.8k.tar.gz

httpd-2.2.9.tar.bz2

libxml2-2.7.3.tar.gz

2、解压

tar zvxf apr-1.3.3.tar.gz

打开浏览器输入http://服务器ip 如果出现

It Works! Apache安装成功

如果出现这个错误Invalid command 'AuthDigestProvider', perhaps misspelled or defined by a module not included in the server configuration

/usr/local/apache2/conf/extra/httpd-dav.conf 提示这个文件31行有问题,那么你就

Vi /usr/local/apache2/conf/extra/httpd-dav.conf 找到31行,把这个注释掉# AuthDigestProvider file

这样就ok了!

cd openssl-0.9.8k

./config --prefix=/usr/local/ssl/

make

make install

cd libxml2-2.7.3

vi INSTALL

./configure --help

./configure

make

make install

cd openssl-0.9.8k

./config

./config -t

make depend

make

make test

make install

cd zlib-1.2.3

./configure --prefix=/usr/local/zlib //装在/usr/local/zlib目录下

make && make install

cd /usr/local/src/zlib-1.2.3

cat INDEX (看看而已)

cd /usr/local/src/

ln -s zlib-1.2.3

cd /usr/local/

cd

mkdir -p /home/svnadmin/access/users

mkdir -p /home/svnadmin/access/control

mkdir -p /home/svnadmin/repos

cd /home/svnadmin/

cd /usr/local/apache2/bin/

cd /home/svnadmin/access/

rm -rf control

rm -rf users/

touch control

touch users

vi users (建立了就有用户)

cd ..

svnadmin create /home/svnadmin/repos/networks (建立新库)

cd repos/

ls

cd /usr/local/apache2/conf/

cp httpd.conf httpd.conf.0818

vi httpd.conf(在最后加入以下东西):

order allow,deny

allow from all

DA V svn

SVNParentPath /home/svnadmin/repos/ //此处配置你的版本库根目录

Satisfy Any

AuthType Basic

AuthName "96333 Subversion Server" //提示对话框标题

AuthUserFile /home/svnadmin/access/users /访问版本库用户的文件,须用apache 的 htpasswd命令生成AuthzSVNAccessFile /home/svnadmin/access/control

//用户权限配置文件

Require valid-user

跟备份之前的对比,看看53行有没有这两行

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

Include conf/extra/httpd-dav.conf //将这行的注释去掉.

二、安装subversion

1、下载subversion-1.5.2.tar.bz2

subversion-1.5.0.tar.gz, subversion-deps-1.5.2.tar.bz2 2、安装

tar -jvxf subversion-1.5.2.tar.bz2

tar -jxvf subversion-deps-1.5.2.tar.bz2

cd subversion-1.5.2

rm -rf apr

rm -rf apr-util/

./configure --prefix=/usr/local/svn --with-apxs=/usr/local/apache2/bin/apxs

--with-apr=/usr/local/apr/bin/apr-1-config

--with-apr-util=/usr/local/apr/bin/apu-1-config

--with-openssl=/usr/local/ssl --enable-maintainer-mode make clean

make

make install

svnserve –version 测试是否安装成功, 出现以下,就证明成功了

svnserve,版本1.3.2 (r19776)

编译于Jul 13 2006,04:22:38

Copyright (C) 2000-2006 CollabNet.

Subversion is open source software, see https://www.360docs.net/doc/017281194.html,/

The following repository back-end (FS) modules are available:

* fs_base : 模块与伯克利数据库(Berkeley DB)档案库一起工作。

* fs_fs : 模块与纯文本文件(FSFS)档案库一起工作。

3、建立用户测试

cd /usr/local/apache2/bin/

./htpasswd -b /home/svnadmin/access/users test 123456 建立用户

cd /home/svnadmin/access/

ls

vi users

cp /usr/local/apache2/conf/httpd.conf /home/

/usr/local/svn/bin/svn –d

cd /usr/local/apache2/bin/

./htpasswd -b /home/svnadmin/access/users huangyucai 96333 再次建立用户

cd /home/svnadmin/access/

ls

vi users (查看是否有用户)

vi control (建立权限,加入以下内容)

###user define

[groups]

admin = admin,huangyucai,test (添加用户要在这里添加)

a = huangyucai, a组的人

c = chanpin c组的人

###group define

[/] (目录)

admin = rw (根目录只有admin有RW权限) [networks:/]

@admin = rw (network admin组跟a组有RW 权限)

@a = rw

[networks:/chanpin]

@c = rw

* = r (所有人都有R权限)

huangyucai = rw

[networks:/trunk/ri_zu_ui]

@c = rw

* = r

4、收尾工作

vi /etc/sysconfig/i18n (看看是否支持中文显示)

source /etc/sysconfig/i18n

useradd svnadmin

groupadd svnadmin

cd /usr/local/apache2/conf/

vim httpd.conf 看看是否正常

/usr/local/apache2/bin/apachectl stop

cd /usr/local/svn/lib/

setenforce

sestatus

vi /etc/selinux/restorecond.conf 添加

/etc/localtime

/etc/lvm/.cache

/var/log/faillog

/var/log/tallylog

/var/log/wtmp

vi /etc/selinux/semanage.conf

vi /etc/selinux/targeted/seusers 有下面就ok

root:root:s0-s0:c0.c1023

__default__:user_u:s0

vi /etc/selinux/config

setenforce 0

cd /usr/local/apache2/bin/

./htpasswd -b /home/svnadmin/access/users youcai youcai

/usr/local/apache2/bin/apachectl stop

/usr/local/apache2/bin/apachectl start

vi /home/svnadmin/access/control (添加youcai这个用户)

cd /home/

chown -R svnadmin:svnadmin svnadmin (给svnadmin文件加组别权限)

(如果你要再创建库,新建一个文件,那么要再一次付给svnadmin权限,例如:

svnadmin create /home/svnadmin/repos/travel 新建一个库

然后chown -R svnadmin:svnadmin travel/ 给权限)

cd svnadmin/

chmod -R 777 repos/ (给所有人对repos具有777的权限)

netstat -antl

getenforce

vi /etc/sysconfig/selinux

/usr/bin/setstatus -v

setstatus -v

setenforce 0

/usr/local/apache2/bin/apachectl start

vi /etc/rc.d/rc.local (添加)

/usr/local/apache2/bin/apachectl start

date

ntpdate 211.100.37.140

date

crontab –e (添加)

*/30 * * * * /usr/sbin/ntpdate 211.100.37.140 >/dev/null 2>&1

完成

下面是网上的参考

三、s vn配置

1、创建资料库

首先要创建一个资料库,使用svnadmin增加资料库(首先在/usr/data/svn下建个空repository的父资料库,设目录的权限为755)

cd /usr/local/subversion/bin

./svnadmin create /usr/data/svn/ repository/test

到test下看是不是多了文件,多了说明创建成功了。2、修改版本库的配置文件

到/usr/data/svn/ repository/test的conf目录下,找到svnserve.conf

把内容修改为

[general]

anon-access = none

auth-access = write

password-db = password

realm = test

3、配置允许访问的用户:

到test的conf目录下,找到passwd文件,在(可设多个用户名密码)

[users]

apache = 123456 //apache是用户名,123456是密码4、启动svn服务器

到subversion的安装目录下(/usr/local/subversion)的

bin目录,使用

svnserve -d --listen-port 3690 -r /usr/data/svn/ repository //启动版本库

5、检查是否启动成功

ps –ef //查看有哪几个进程在工作

如果显示如下,即为启动成功:

root694110 15:07 ?00:00:00 svnserve -d --listen-port 3690 -r /usr/data/svn/ repository

6、用客户端check out内容到本地

先在本地建个空的文件夹,文件名自定义,check out的时候

在url下输入svn://装svn的服务器ip地址/版本库名

因为3690是svn的默认端口,所以在本地我检出内容的时候,直接在url下输入这个链接即可

svn://222.73.49.160/test,点击OK后,提示输入用户名和密码,在用户名和密码那分别输入apache,123456(这个是在版本库test的conf下的passwd里做的设置),这样就可以把版本库test的内容下载到需要的地方了

上传按常规的做法(省略不讲了)

7、如果提示错误,有可能是因为端口没有能通过防火墙,要在/etc/sysconfig目录下,找到iptables加上这句-A RH-Firewall-1-INPUT -p tcp -m state -m tcp --dport 3690 --state NEW -j ACCEPT

打开3690端口

重新启动防火墙

/etc/rc.d/init.d/iptables restart

使用iptables -L -n 查看现在的防火墙设置,果然发现成功了。到此,svn服务器就算安装完成了

相关主题
相关文档
最新文档