Linux+Svn+apache2安装与配置
Linux+Svn+apache2安装与配置
今天要在linux上配置svn,以apache来访问svn。现将过程记录下来。
一、理解:Svn
subversion(简称svn)是近年来崛起的版本管理工具,是cvs的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。
svn服务器有2种运行方式:独立服务器和借助apache。2种方式各有利弊。
svn存储版本数据也有2种方式:BDB和FSFS。因为BDB方式在服务器中断时,有可能锁住数据(我在搞ldap时就深受其害,没法根治),所以还是FSFS方式更安全一点。
Svn是版本控制系统,他可以借助svn客户端来访问,也可以借助apache2来访问,默认配置下是FSFS访问形式。
二、接下来进行安装。
1.
环境,安装了rpm的httpd ,版本有点早。卸载后重新编译安装。卸载使用强制卸载,如:rpm –e –nodeps httpd**.rpm
2.
下载安装包,注意个安装包版本之间要适应。我系统为redhat AS4、AS5,用以下版本,不保证其他版本适用。
必要支持包:apr-<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />1.3.8.tar.gz
apr-util-1.3.9.tar.gz
apache和svn包
httpd-2.2.14.tar.gz
subversion-1.6.2.tar.gz
subversion-deps-1.6.2.tar.gz
3.
安装
一次安装上述包
apr-1.3.8.tar.gz
tar zxvf apr-1.3.8.tar.gz
cd apr-1.3.8
./configure
make $ make install
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
apr-util-1.3.9.tar.gz
tar zxvf apr-util-1.3.9.tar.gz
cd apr-util-1.3.9
./configure –with-apr=/usr/loca/apr/
make $make install
安装apache
tar zxvf httpd-2.2.14.tar.gz
cd httpd-2.2.14
./configure --prefix=/opt/apache
--enable-dav
--enable-so
--enable-maintainer-mode
--enable-ssl
--with-apr=/usr/local/apr/bin/apr-1-config
--with-apr-util=/usr/local/apr/bin/apu-1-config
make $ make install
安装subversion-1.6.2.tar.gz
注意将subversion-deps-1.6.2.tar.gz解压到当前目录,subversion-1.6.2.tar.gz会和subversion-1.6.2.tar.gz解压在一个目录。
tar zxvf subversion-1.6.2.tar.gz
tar zxvf subversion-deps-1.6.2.tar.gz
cd subversion-1.6.2
./configure
--with-apxs=/opt/apache/bin/apxs
--with-apr=/usr/local/apr
--with-apr-util=/usr/local/apr
make $make install
三、配置
此时apache的配置文件中应该有了两个模块的信息:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
在httpd.conf最后添加以下内容
1.
建立svn存储仓库
mkdir –p /data/svn/repos //将仓库路径建在此目录
svnadmin create /data/svn/repos/123 //(根据路径运行)创建用户数据库,名为123
2.
创建apache认证用户,用来对123仓库进行存储操作。
/opt/apache/bin/htpasswd -c /data/svn/passwd bob //这里起名为bob
会提示输入密码,为bob输入密码
3.
建立控制文件auth
touch /data/svn/auth
在auth中记录如下内容,简单记录。
[groups]
[123:/] //路径
bob = rw //bob的权限为读写
4.
在httpd.conf中最后添加如下信息:
<Location /svn> //路径
DAV svn //命名
SVNParentPath /data/svn/repos //指向路径
AuthType Basic //基本验证方式
AuthName "Subversion repository" //欢迎界面命名
AuthUserFile /data/svn/passwd //密码验证路径
AuthzSVNAccessFile /data/svn/auth //控制文件路径
Require valid-user //验证有效用户才能登陆
</Location>
修改httpd.conf中user和group的内容如下:
User apache
Group apache
5.
修改权限
将仓库目录权限修改所属权,让apache组用户登录,给与最多权限。
Chown –R apache.apache repos
经过验证,此处最好将repos的权限设置为700
chmod -R 700 repos
6.
将httpd加到系统服务中
cp /opt/apache/bin/apachectl /etc/rc.d/init.d/httpd
vi httpd //在/etc/rc.d/int.d/目录下编辑复制过去的httpd程序
找到:#!/bin/sh //一般在第一行
另起一行,增加:
# chkconfig: 2345 70 30
# description: Apache
然后注册服务:chkconfig --add httpd
启动:service httpd start
停止:service httpd stop
重新启动:service httpd restart
重启apache
此时便可以在浏览器中输入http://ip/svn/123来用bob登录访问你的svn了。
转载于:https://blog.51cto.com/moo1985/222055