linux下搭建svn服务器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

linux下搭建svn服务器
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
tar zvxf apr-util-1.3.4.tar.gz
tar zvxf zlib-1.2.3.tar.gz
tar -jxvf httpd-2.2.9.tar.bz2
tar –zvxf openssl-0.9.8k.tar.gz
tar -zxvf libxml2-2.7.3.tar.gz
3、安装
cd apr-1.3.3
./configure --prefix=/usr/local/apr //装在/usr/local/apr目录下
make &&make install
cd apr-util-1.3.4
./configure --with-apr=/usr/local/apr //装在/usr/local/apr目录下
Make &&make install
cd httpd-2.2.9
./configure --prefix=/usr/local/apache2 --enable-so --enable-dav --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config
make && make install
/usr/local/apache2/bin/apachectl start (启动apache)
ps -ef |grep apache 查看有没有启动
测试
打开浏览器输入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 /doc/099964588.html
/
This product includes software developed by CollabNet (/doc/099964588.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
完成
下面是网上的参考
三、svn配置
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服务器就算安装完成了。

相关文档
最新文档