安装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
安装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
确定一下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
//看看是不是多了些文件,如果是则说明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
posted on 2010-04-08 13:37
Derek.Guo 阅读(489)
评论(0) 编辑 收藏 所属分类:
Linux/Unix