liunx下安装Subversion
安装Apache:
# tar –zvxf httpd
-
2.2
.
9
.tar.gz
# cd httpd - 2.2 . 9
# . / configure -- prefix =/ usr / local / apache2 -- with - apr =/ usr / local / apr / bin / apr - 1 - config -- with - apr - util =/ usr / local / apr / bin / apu - 1 - config
-- enable - modules = so /* DSO模式安装apache (或 --enable-so)
--enable-dav --enable-maintainer-mode --enable-rewrite --enable-ssl
# make
# make install
# cd httpd - 2.2 . 9
# . / configure -- prefix =/ usr / local / apache2 -- with - apr =/ usr / local / apr / bin / apr - 1 - config -- with - apr - util =/ usr / local / apr / bin / apu - 1 - config
-- enable - modules = so /* DSO模式安装apache (或 --enable-so)
--enable-dav --enable-maintainer-mode --enable-rewrite --enable-ssl
# make
# make install
安装Subversion:
#tar –zvxf subversion
-
1.5
.
1
.tar.gz
#cd subversion - 1.5 . 1
#. / configure -- prefix =/ usr / local / svn -- with - apxs =/ usr / local / apache / bin / apxs
-- with - apr =/ usr / local / apr / bin / apr - 1 - config
-- with - apr - util =/ usr / local / apr / bin / apu - 1 - config -- enable - maintainer - mode
#make
#make install
#cd subversion - 1.5 . 1
#. / configure -- prefix =/ usr / local / svn -- with - apxs =/ usr / local / apache / bin / apxs
-- with - apr =/ usr / local / apr / bin / apr - 1 - config
-- with - apr - util =/ usr / local / apr / bin / apu - 1 - config -- enable - maintainer - mode
#make
#make install
确定一下svn有没有安装成功
#/usr/local/svn/bin/svnserve --version
会看到相关版本信息!
配置服务器:
(1). 创建一个用户,如:svnroot;
(2). 以svnroot用户登录
$mkdir
/
home
/
svnroot
/
repository
$cd / usr / local / subversion / bin
$. / svnadmin create / home / svnroot / repository
$ / usr / local / apache2 / bin / htpasswd –c / home / svnroot / repository / passwprd.conf username " 来创建的 会再要求输入两次密码
$cd / home / svnroot / repository / test
$ls - ll
$cd / usr / local / subversion / bin
$. / svnadmin create / home / svnroot / repository
$ / usr / local / apache2 / bin / htpasswd –c / home / svnroot / repository / passwprd.conf username " 来创建的 会再要求输入两次密码
$cd / home / svnroot / repository / test
$ls - ll
//看看是不是多了些文件,如果是则说明Subversion安装成功了
//这条语句将把路径/home/user/import下找到的文件导入到你创建的Subversion 仓库中去,
//提交后的修订版为1。
$./svn import 你想要导入的文件位置 file:///home/svnroot/repository –m "注释"
//不让其他人有该目录的权限
$ chmod 700 /home/svnroot/repository
(3). 修改Apache配置文件
# cd /usr/local/apadche2/bin
# vi /usr/local/apache2/conf/httpd.conf
//在最下面添加
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
#SVNParentPath /home/svnroot/repository/ //svn父目录
SVNPath /home/svnroot/repository/test //与svn中bin中svnadmin创建应一样 否则会进不到目录
#AuthzSVNAccessFile /home/svnroot/repository/authz.conf //权限配置文件
AuthType Basic //连接类型设置
AuthName "Subversion.zoneyump" //连接框提示
AuthUserFile /home/svnroot/repository/passwprd.conf //用户配置文件
Require valid-user //采用何种认证
</Location>
//其中authfile是通过"htpasswd来创建的那个密码文件
//"Require valid-user"告诉apache在authfile中所有的用户都可以访问。如果没有它,
//则只能第一个用户可以访问新建库
找到以下内容
User daemon
Group daemon
把上述内容改成:
User svnroot
Group svnroot
保存
(4). 添加svn用户
创建
$htpasswd -c /home/svnroot/repository/authfile username
会要求输两次密码
在/home/svnroot/repository/conf会生成
authz passwd svnserve.conf
$cd /home/svnroot/repository/conf
$vi authz
添加如下
[groups] /*这个表示群组设置
Admin=usr1,user2 /*这个表示admin群组里的成员 user1,user2
Develop=u1, u2 /*这个表示Develop群组里的成员 u1,u2
[www:/] /*这表示,仓库www的根目录下的访问权限
user1 = rw /*www仓库user1用户具有读和写权限
user2 = r /* www仓库userl用户具只有读权限
@develop=rw /*这表示 群 develop的成员都具有读写权限
[/] /*这个表示在所有仓库的根目录下
* = r /*这个表示对所有的用户都具有读权限
注意:在编辑authz文件时,所有行都必须要顶头写,不能有缩行
(5). 重起Apache
#/usr/local/apache2/bin/apachectl –k restart
(6). 启动svn服务
#/usr/local/svn/bin/svnserve -d -r /home/svnroot/repository
-d 表示以 daemon 方式(后台运行)运行
-r /svn/project 指定根目录是/home/svnroot/repository
检查服务器是否启动正常:
#ps –ef|grep svnserve
(7). 后序工作
在/etc/profile的结尾设置一些svn启动时要做的工作
# start apache server for svn
/usr/sbin/apachectl start
export SVN_EDITOR=vi