linux下搭建svn服务器.docx
《linux下搭建svn服务器.docx》由会员分享,可在线阅读,更多相关《linux下搭建svn服务器.docx(11页珍藏版)》请在冰点文库上搜索。
linux下搭建svn服务器
linux下搭建svn服务器
Linux下搭建SVN服务器环境(svnserve方式)
环境:
redhat5(apr.apr-util.zlib.subversion的压缩文件都是放在/usr/linuxsvn目录下,下面的解压命令tarzvxf解压出来的文件就直接是放在这个目录下,文件名跟压缩文件的名字是一样的)
一、安装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、解压
tarzvxfapr-1.3.3.tar.gz
tarzvxfapr-util-1.3.4.tar.gz
tarzvxfzlib-1.2.3.tar.gz
tar-jxvfhttpd-2.2.9.tar.bz2
tar–zvxfopenssl-0.9.8k.tar.gz
tar-zxvflibxml2-2.7.3.tar.gz
3、安装
cdapr-1.3.3
./configure--prefix=/usr/local/apr//装在/usr/local/apr目录下
make&& makeinstall
cdapr-util-1.3.4
./configure--with-apr=/usr/local/apr//装在/usr/local/apr目录下
Make&& makeinstall
cdhttpd-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&&makeinstall
/usr/local/apache2/bin/apachectlstart(启动apache)
ps-ef|grepapache查看有没有启动
测试
打开浏览器输入http:
//服务器ip如果出现
ItWorks!
Apache安装成功
如果出现这个错误Invalidcommand'AuthDigestProvider',perhapsmisspelledordefinedbyamodulenotincludedintheserverconfiguration
/usr/local/apache2/conf/extra/httpd-dav.conf提示这个文件31行有问题,那么你就
Vi/usr/local/apache2/conf/extra/httpd-dav.conf找到31行,把这个注释掉#AuthDigestProviderfile
这样就ok了!
cdopenssl-0.9.8k
./config--prefix=/usr/local/ssl/
make
makeinstall
cdlibxml2-2.7.3
viINSTALL
./configure--help
./configure
make
makeinstall
cdopenssl-0.9.8k
./config
./config-t
makedepend
make
maketest
makeinstall
cdzlib-1.2.3
./configure--prefix=/usr/local/zlib//装在/usr/local/zlib目录下
make&&makeinstall
cd/usr/local/src/zlib-1.2.3
catINDEX(看看而已)
cd/usr/local/src/
ln-szlib-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-rfcontrol
rm-rfusers/
touchcontrol
touchusers
viusers(建立了就有用户)
cd..
svnadmincreate/home/svnadmin/repos/networks(建立新库)
cdrepos/
ls
cd/usr/local/apache2/conf/
cphttpd.confhttpd.conf.0818
vihttpd.conf(在最后加入以下东西):
orderallow,deny
allowfromall
DAVsvn
SVNParentPath/home/svnadmin/repos///此处配置你的版本库根目录
SatisfyAny
AuthTypeBasic
AuthName"96333SubversionServer" //提示对话框标题
AuthUserFile/home/svnadmin/access/users/访问版本库用户的文件,须用apache 的 htpasswd命令生成
AuthzSVNAccessFile/home/svnadmin/access/control//用户权限配置文件
Requirevalid-user
跟备份之前的对比,看看53行有没有这两行
LoadModuledav_svn_modulemodules/mod_dav_svn.so
LoadModuleauthz_svn_modulemodules/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-jvxfsubversion-1.5.2.tar.bz2
tar-jxvfsubversion-deps-1.5.2.tar.bz2
cdsubversion-1.5.2
rm-rfapr
rm-rfapr-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
makeclean
make
makeinstall
svnserve–version测试是否安装成功,出现以下,就证明成功了
svnserve,版本1.3.2(r19776)
编译于Jul132006,04:
22:
38
Copyright(C)2000-2006CollabNet.
Subversionisopensourcesoftware,seehttp:
//subversion.tigris.org/
ThisproductincludessoftwaredevelopedbyCollabNet(http:
//www.Collab.Net/).
Thefollowingrepositoryback-end(FS)modulesareavailable:
*fs_base:
模块与伯克利数据库(BerkeleyDB)档案库一起工作。
*fs_fs:
模块与纯文本文件(FSFS)档案库一起工作。
3、建立用户测试
cd/usr/local/apache2/bin/
./htpasswd-b/home/svnadmin/access/userstest123456建立用户
cd/home/svnadmin/access/
ls
viusers
cp/usr/local/apache2/conf/httpd.conf/home/
/usr/local/svn/bin/svn–d
cd/usr/local/apache2/bin/
./htpasswd-b/home/svnadmin/access/usershuangyucai96333再次建立用户
cd/home/svnadmin/access/
ls
viusers(查看是否有用户)
vicontrol(建立权限,加入以下内容)
###userdefine
[groups]
admin=admin,huangyucai,test(添加用户要在这里添加)
a=huangyucai,a组的人
c=chanpinc组的人
###groupdefine
[/](目录)
admin=rw(根目录只有admin有RW权限)
[networks:
/]
@admin=rw(networkadmin组跟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
useraddsvnadmin
groupaddsvnadmin
cd/usr/local/apache2/conf/
vimhttpd.conf看看是否正常
/usr/local/apache2/bin/apachectlstop
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
setenforce0
cd/usr/local/apache2/bin/
./htpasswd-b/home/svnadmin/access/usersyoucaiyoucai
/usr/local/apache2/bin/apachectlstop
/usr/local/apache2/bin/apachectlstart
vi/home/svnadmin/access/control(添加youcai这个用户)
cd/home/
chown-Rsvnadmin:
svnadminsvnadmin(给svnadmin文件加组别权限)
(如果你要再创建库,新建一个文件,那么要再一次付给svnadmin权限,例如:
svnadmincreate/home/svnadmin/repos/travel新建一个库
然后chown -R svnadmin:
svnadmin travel/给权限)
cdsvnadmin/
chmod-R777repos/(给所有人对repos具有777的权限)
netstat-antl
getenforce
vi/etc/sysconfig/selinux
/usr/bin/setstatus-v
setstatus-v
setenforce0
/usr/local/apache2/bin/apachectlstart
vi/etc/rc.d/rc.local(添加)
/usr/local/apache2/bin/apachectlstart
date
ntpdate211.100.37.140
date
crontab–e(添加)
*/30****/usr/sbin/ntpdate211.100.37.140>/dev/null2>&1
完成
下面是网上的参考
三、svn配置
1、创建资料库
首先要创建一个资料库,使用svnadmin增加资料库(首先在/usr/data/svn下建个空repository的父资料库,设目录的权限为755)
cd/usr/local/subversion/bin
./svnadmincreate/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-port3690-r/usr/data/svn/repository//启动版本库
5、检查是否启动成功
ps–ef//查看有哪几个进程在工作
如果显示如下,即为启动成功:
root 6941 1 015:
07?
00:
00:
00svnserve-d--listen-port3690-r/usr/data/svn/repository
6、用客户端checkout内容到本地
先在本地建个空的文件夹,文件名自定义,checkout的时候
在url下输入svn:
//装svn的服务器ip地址/版本库名
因为3690是svn的默认端口,所以在本地我检出内容的时候,直接在url下输入这个链接即可
svn:
//222.73.49.160/test,点击OK后,提示输入用户名和密码,在用户名和密码那分别输入apache,123456(这个是在版本库test的conf下的passwd里做的设置),这样就可以把版本库test的内容下载到需要的地方了
上传按常规的做法(省略不讲了)
7、如果提示错误,有可能是因为端口没有能通过防火墙,要在/etc/sysconfig目录下,找到iptables加上这句
-ARH-Firewall-1-INPUT-ptcp-mstate-mtcp--dport3690--stateNEW-jACCEPT
打开3690端口
重新启动防火墙
/etc/rc.d/init.d/iptablesrestart
使用iptables-L-n查看现在的防火墙设置,果然发现成功了。
到此,svn服务器就算安装完成了