linux下搭建svn服务器(doc 8页)Linux下搭建SVN服务器环境(svnserve方式)环境:redhat5(apr.apr-util.zlib.subversion的压缩文件都是放在/usr/linuxsvn目录下,下面的解压命令tar zvxf解压出来的文件就直接是放在这个目录下,文件名跟压缩文件的名字是一样的)一、安装apr、apr-util跟zlib1、下载apr、apr-util与zlibapr-1.3.3.tar.gzapr-util-1.3.4.tar.gzzlib-1.2.3.tar.gzopenssl-0.9.8k.tar.gzhttpd-2.2.9.tar.bz2libxml2-2.7.3.tar.gz2、解压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/makemake installcd libxml2-2.7.3vi INSTALL./configure --help./configuremakemake installcd openssl-0.9.8k./config./config -tmake dependmakemake testmake installcd zlib-1.2.3./configure --prefix=/usr/local/zlib //装在/usr/local/zlib目录下make && make installcd /usr/local/src/zlib-1.2.3cat INDEX (看看而已)cd /usr/local/src/ln -s zlib-1.2.3cd /usr/local/cdmkdir -p /home/svnadmin/access/usersmkdir -p /home/svnadmin/access/controlmkdir -p /home/svnadmin/reposcd /home/svnadmin/cd /usr/local/apache2/bin/cd /home/svnadmin/access/rm -rf controlrm -rf users/touch controltouch usersvi users (建立了就有用户)cd ..svnadmin create /home/svnadmin/repos/networks (建立新库)cd repos/lscd /usr/local/apache2/conf/cp httpd.conf httpd.conf.0818vi httpd.conf(在最后加入以下东西):<Directory "/home/svnadmin">order allow,denyallow from all</Directory><Location /svn>DA V svnSVNParentPath /home/svnadmin/repos/ //此处配置你的版本库根目录Satisfy AnyAuthType BasicAuthName "96333 Subversion Server" //提示对话框标题AuthUserFile /home/svnadmin/access/users /访问版本库用户的文件,须用apache 的 htpasswd命令生成AuthzSVNAccessFile /home/svnadmin/access/control//用户权限配置文件Require valid-user</Location>跟备份之前的对比,看看53行有没有这两行LoadModule dav_svn_module modules/mod_dav_svn.soLoadModule authz_svn_module modules/mod_authz_svn.soInclude conf/extra/httpd-dav.conf //将这行的注释去掉.二、安装subversion1、下载subversion-1.5.2.tar.bz2subversion-1.5.0.tar.gz, subversion-deps-1.5.2.tar.bz2 2、安装tar -jvxf subversion-1.5.2.tar.bz2tar -jxvf subversion-deps-1.5.2.tar.bz2cd subversion-1.5.2rm -rf aprrm -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 cleanmakemake installsvnserve –version 测试是否安装成功, 出现以下,就证明成功了svnserve,版本1.3.2 (r19776)编译于Jul 13 2006,04:22:38Copyright (C) 2000-2006 CollabNet.Subversion is open source software, see /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/lsvi userscp /usr/local/apache2/conf/httpd.conf /home//usr/local/svn/bin/svn –dcd /usr/local/apache2/bin/./htpasswd -b /home/svnadmin/access/users huangyucai 96333 再次建立用户cd /home/svnadmin/access/lsvi 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* = r4、收尾工作vi /etc/sysconfig/i18n (看看是否支持中文显示)source /etc/sysconfig/i18nuseradd svnadmingroupadd svnadmincd /usr/local/apache2/conf/vim httpd.conf 看看是否正常/usr/local/apache2/bin/apachectl stopcd /usr/local/svn/lib/setenforcesestatusvi /etc/selinux/restorecond.conf 添加/etc/localtime/etc/lvm/.cache/var/log/faillog/var/log/tallylog/var/log/wtmpvi /etc/selinux/semanage.confvi /etc/selinux/targeted/seusers 有下面就okroot:root:s0-s0:c0.c1023__default__:user_u:s0vi /etc/selinux/configsetenforce 0cd /usr/local/apache2/bin/./htpasswd -b /home/svnadmin/access/users youcai youcai/usr/local/apache2/bin/apachectl stop/usr/local/apache2/bin/apachectl startvi /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 -antlgetenforcevi /etc/sysconfig/selinux/usr/bin/setstatus -vsetstatus -vsetenforce 0/usr/local/apache2/bin/apachectl startvi /etc/rc.d/rc.local (添加)/usr/local/apache2/bin/apachectl startdatentpdate 211.100.37.140datecrontab –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下看是不是多了文件,多了说明创建成功了。